1#if !defined(CLIENT_AUTH_EXTENSION_HXX)
2#define CLIENT_AUTH_EXTENSION_HXX
22class SecurityAttributes;
32 const Auth& challenge,
35 const Data& nonceCountString,
39 const Data& passwordHashA1,
40 const Auth& challenge,
43 const Data& nonceCountString,
48 static void setInstance(std::unique_ptr<ClientAuthExtension> ext)
noexcept;
57 static std::unique_ptr<ClientAuthExtension>
mInstance;
Represents the "credentials" and "challenge" elements in the SIP grammar.
static std::unique_ptr< ClientAuthExtension > mInstance
static ClientAuthExtension & instance()
static void setInstance(std::unique_ptr< ClientAuthExtension > ext) noexcept
virtual void makeChallengeResponseAuthWithA1(const SipMessage &request, const Data &username, const Data &passwordHashA1, const Auth &challenge, const Data &cnonce, const Data &authQop, const Data &nonceCountString, Auth &auth)
virtual void makeChallengeResponseAuth(const SipMessage &request, const Data &username, const Data &password, const Auth &challenge, const Data &cnonce, const Data &authQop, const Data &nonceCountString, Auth &auth)
virtual ~ClientAuthExtension()
virtual bool algorithmAndQopSupported(const Auth &challenge)
An alternative to std::string, encapsulates an arbitrary buffer of bytes.
Represents a SIP message.
dcm! – add UnusedChecking(_enum) below;