Skip to content

Commit 0f518df

Browse files
Merge pull request #87 from Leone25/master
fix missing authentication header in SETUP request by caching and reusing the Digest Authentication. Roger has tested with Panasonic, HikVision, Avigilon, Axis, Bosch, Hanwha, TP-Link Tapo
2 parents 4dd0ec2 + e65128d commit 0f518df

5 files changed

Lines changed: 120 additions & 78 deletions

File tree

dist/RTSPClient.d.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,12 @@ declare enum ReadStates {
1717
READING_RAW_PACKET = 4
1818
}
1919
type Connection = "udp" | "tcp";
20+
type AuthOptions = {
21+
type: "Digest" | "Basic";
22+
realm?: string;
23+
nonce?: string;
24+
algorithm?: "MD5" | "SHA-256";
25+
};
2026
type Headers = {
2127
[key: string]: string | number | undefined;
2228
Session?: string;
@@ -54,6 +60,7 @@ export default class RTSPClient extends EventEmitter {
5460
_client?: SocketUnion;
5561
_cSeq: number;
5662
_unsupportedExtensions?: string[];
63+
_authOpions?: AuthOptions;
5764
_session?: string;
5865
_keepAliveID?: NodeJS.Timeout;
5966
_nextFreeInterleavedChannel: number;
@@ -92,6 +99,7 @@ export default class RTSPClient extends EventEmitter {
9299
_sendUDPData(host: string, port: number, buffer: Buffer): void;
93100
_emptyReceiverReport(): Buffer;
94101
_socketWrite(socket: SocketUnion, data: Buffer): Promise<any>;
102+
private _generateAuthString;
95103
ntpBaseDate_ms: number;
96104
GetWallClockTime(packet: util.RTPPacket, detail: Detail): Date | undefined;
97105
}

dist/RTSPClient.js

Lines changed: 46 additions & 33 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/RTSPClient.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)