Symbian
Symbian OS Library

SYMBIAN OS V9.3

[Index] [Spacer] [Previous] [Next]



Location: siphttpdigest.h
Link against: sipclient.lib

Class CSIPHttpDigest

class CSIPHttpDigest : public CBase;

Description

Class for managing SIP HTTP Digest security settings. Class provides functions for setting/removing HTTP Digest security mechanism related parameters. If the user does not use the class for the providing credentials for the received challenges, an error will be returned to the original request in case it was challenged.

Note that the user will be asked to provide credentials one realm at the time.

sipclient.lib

Derivation

Members

Defined in CSIPHttpDigest:
IgnoreChallenge(), IgnoreChallenge(), IgnoreChallenge(), NewL(), NewL(), NewLC(), NewLC(), RemoveCredentials(), RemoveCredentials(), SetCredentialsL(), SetCredentialsL(), SetCredentialsL(), SetCredentialsL(), SetObserver(), SetObserver(), ~CSIPHttpDigest()

Inherited from CBase:
Delete(), Extension_(), operator new()


Construction and destruction


NewL()

static IMPORT_C CSIPHttpDigest *NewL(CSIP &aSIP, MSIPHttpDigestChallengeObserver &aObserver);

Description

Two-phased constructor.

Parameters

CSIP &aSIP

a handle to SIP server

MSIPHttpDigestChallengeObserver &aObserver

an observer for the received challenges

Return value

CSIPHttpDigest *

New object, ownership is transferred.


NewLC()

static IMPORT_C CSIPHttpDigest *NewLC(CSIP &aSIP, MSIPHttpDigestChallengeObserver &aObserver);

Description

Two-phased constructor.

Parameters

CSIP &aSIP

a handle to SIP server

MSIPHttpDigestChallengeObserver &aObserver

an observer for the received challenges

Return value

CSIPHttpDigest *

New object, ownership is transferred.


NewL()

static IMPORT_C CSIPHttpDigest *NewL(CSIP &aSIP, MSIPHttpDigestChallengeObserver2 &aObserver2);

Description

Two-phased constructor.

Parameters

CSIP &aSIP

a handle to SIP server

MSIPHttpDigestChallengeObserver2 &aObserver2

an observer for the received challenges

Return value

CSIPHttpDigest *

New object, ownership is transferred.


NewLC()

static IMPORT_C CSIPHttpDigest *NewLC(CSIP &aSIP, MSIPHttpDigestChallengeObserver2 &aObserver2);

Description

Two-phased constructor.

Parameters

CSIP &aSIP

a handle to SIP server

MSIPHttpDigestChallengeObserver2 &aObserver2

an observer for the received challenges

Return value

CSIPHttpDigest *

New object, ownership is transferred.


~CSIPHttpDigest()

IMPORT_C ~CSIPHttpDigest();

Description

[Top]


Member functions


SetCredentialsL()

IMPORT_C void SetCredentialsL(const TDesC8 &aOutboundProxy, const TDesC8 &aRealm, const TDesC8 &aUsername, const TDesC8 &aPasswd);

Pre-Condition

aOutboundProxy, aRealm, aUsername and aPasswd must not be empty descriptors.

Description

Sets credentials for the realm of the outbound proxy. Must be used in case the realm is the realm of the outbound proxy and the request for credentials was received from callback MSIPHttpDigestChallengeObserver::ChallengeReceived. The user can set credentials only upon request from the SIP implementation.

Parameters

const TDesC8 &aOutboundProxy

an outbound proxy (FQDN or IP address)

const TDesC8 &aRealm

servers's realm

const TDesC8 &aUsername

user's name

const TDesC8 &aPasswd

user's password for the given server's realm

Leave codes

KErrNoMemory

if out of memory

KErrArgument

if some of the parameters is an empty descriptor

KErrSIPResourceNotAvailable

if a required object has been deleted


SetCredentialsL()

IMPORT_C void SetCredentialsL(const TDesC8 &aRealm, const TDesC8 &aUsername, const TDesC8 &aPasswd);

Pre-Condition

aRealm, aUsername and aPasswd must not be empty descriptors.

Description

Sets parameters for the realm. Should be used in case the realm is not a realm of an outbound proxy and the request for credentials was received from callback MSIPHttpDigestChallengeObserver::ChallengeReceived. The user can set credentials only upon request from the SIP implementation.

Parameters

const TDesC8 &aRealm

servers's realm

const TDesC8 &aUsername

user's name

const TDesC8 &aPasswd

user's password for the given server's realm

Leave codes

KErrNoMemory

if out of memory

KErrArgument

if some of the parameters is an empty descriptor

KErrSIPResourceNotAvailable

if a required object has been deleted


SetCredentialsL()

IMPORT_C void SetCredentialsL(const CSIPClientTransaction &aTransaction, const TDesC8 &aOutboundProxy, const TDesC8 &aRealm, const TDesC8 &aUsername, const TDesC8 &aPasswd);

Pre-Condition

aRealm, aUsername and aPasswd must not be empty descriptors.

Description

Sets credentials for the realm for the specific transaction. Must be used when the request for credentials was received from callback MSIPHttpDigestChallengeObserver2::ChallengeReceived with CSIPClientTransaction as the parameter.

Parameters

const CSIPClientTransaction &aTransaction

the transaction that was passed as a parameter to MSIPHttpDigestChallengeObserver2::ChallengeReceived

const TDesC8 &aOutboundProxy

an outbound proxy (FQDN or IP address) if the challenge received had Proxy-Authenticate-header(s). Otherwise KNullDesC8 should passed.

const TDesC8 &aRealm

servers's realm

const TDesC8 &aUsername

user's name

const TDesC8 &aPasswd

user's password for the given server's realm

Leave codes

KErrNoMemory

if out of memory

KErrArgument

if some of the parameters is an empty descriptor

KErrSIPResourceNotAvailable

if a required object has been deleted


SetCredentialsL()

IMPORT_C void SetCredentialsL(const CSIPRefresh &aRefresh, const TDesC8 &aOutboundProxy, const TDesC8 &aRealm, const TDesC8 &aUsername, const TDesC8 &aPasswd);

Pre-Condition

aRealm, aUsername and aPasswd must not be empty descriptors.

Description

Sets credentials for the realm for the specific refresh. Must be used when the request for credentials was received from callback MSIPHttpDigestChallengeObserver2::ChallengeReceived with CSIPRefresh as the parameter.

Parameters

const CSIPRefresh &aRefresh

the refresh that was passed as a parameter to MSIPHttpDigestChallengeObserver2::ChallengeReceived

const TDesC8 &aOutboundProxy

an outbound proxy (FQDN or IP address) if the challenge received had Proxy-Authenticate-header(s). Otherwise KNullDesC8 should passed.

const TDesC8 &aRealm

servers's realm

const TDesC8 &aUsername

user's name

const TDesC8 &aPasswd

user's password for the given server's realm

Leave codes

KErrNoMemory

if out of memory

KErrArgument

if some of the parameters is an empty descriptor

KErrSIPResourceNotAvailable

if a required object has been deleted


RemoveCredentials()

IMPORT_C TInt RemoveCredentials(const TDesC8 &aRealm);

Pre-Condition

aRealm must not be an empty descriptor

Description

Removes all set credentials for the realm. Must not be used if the user implements MSIPHttpDigestChallengeObserver2.

Parameters

const TDesC8 &aRealm

servers's realm

Return value

TInt

KErrNone if no error KErrArgument if aRealm is an empty descriptor KErrNoMemory if out of memory KErrNotFound if the given realm was not found


RemoveCredentials()

IMPORT_C TInt RemoveCredentials();

Description

Removes all set credentials by the user. Must not be used if the user implements MSIPHttpDigestChallengeObserver2.

Return value

TInt

KErrNone if succesful; KErrNoMemory if out of memory


SetObserver()

IMPORT_C void SetObserver(MSIPHttpDigestChallengeObserver &aObserver);

Description

Sets the observer to listen for the possible received challenges. Replaces the existing MSIPHttpDigestChallengeObserver or MSIPHttpDigestChallengeObserver2.

Parameters

MSIPHttpDigestChallengeObserver &aObserver

an observer for the received challenges.


SetObserver()

IMPORT_C void SetObserver(MSIPHttpDigestChallengeObserver2 &aObserver);

Description

Sets the observer to listen for the possible received challenges. Replaces the existing MSIPHttpDigestChallengeObserver or MSIPHttpDigestChallengeObserver2.

Parameters

MSIPHttpDigestChallengeObserver2 &aObserver

an observer for the received challenges.


IgnoreChallenge()

IMPORT_C TInt IgnoreChallenge(const TDesC8 &aRealm);

Pre-Condition

aRealm must not be an empty descriptor

Description

Ignores the challenge for the realm. As a result the error will be generated to the original SIP request.

Parameters

const TDesC8 &aRealm

a realm for which the challenge was ignored

Return value

TInt

KErrNone if no error KErrNotFound if the given realm was not found KErrArgument if aRealm is an empty descriptor


IgnoreChallenge()

IMPORT_C TInt IgnoreChallenge(const CSIPClientTransaction &aTransaction, const TDesC8 &aRealm);

Pre-Condition

aRealm must not be an empty descriptor

Description

Ignores the challenge for the realm for the specific transaction. As a result KErrForbidden will be generated to the original SIP request.

Parameters

const CSIPClientTransaction &aTransaction

the transaction that was passed as a parameter to MSIPHttpDigestChallengeObserver2::ChallengeReceived

const TDesC8 &aRealm

a realm for which the challenge was ignored

Return value

TInt

KErrNone if no error KErrNotFound if the given realm was not found KErrArgument if aRealm is an empty descriptor


IgnoreChallenge()

IMPORT_C TInt IgnoreChallenge(const CSIPRefresh &aRefresh, const TDesC8 &aRealm);

Pre-Condition

aRealm must not be an empty descriptor

Description

Ignores the challenge for the realm for the specific refresh. As a result the error will be generated to the original SIP request.

Parameters

const CSIPRefresh &aRefresh

the refresh that was passed as a parameter to MSIPHttpDigestChallengeObserver2::ChallengeReceived

const TDesC8 &aRealm

a realm for which the challenge was ignored

Return value

TInt

KErrNone if no error KErrNotFound if the given realm was not found KErrArgument if aRealm is an empty descriptor