Back to index

lightning-sunbird  0.9+nobinonly
Public Member Functions | Public Attributes | Private Attributes
nsNTLMAuthModule Class Reference

#include <nsNTLMAuthModule.h>

Inheritance diagram for nsNTLMAuthModule:
Inheritance graph
[legend]
Collaboration diagram for nsNTLMAuthModule:
Collaboration graph
[legend]

List of all members.

Public Member Functions

NS_DECL_ISUPPORTS
NS_DECL_NSIAUTHMODULE 
nsNTLMAuthModule ()
virtual ~nsNTLMAuthModule ()
nsresult InitTest ()
void init (in string aServiceName, in unsigned long aServiceFlags, in wstring aDomain, in wstring aUsername, in wstring aPassword)
 Other flags may be defined in the future.
void getNextToken ([const ] in voidPtr aInToken, in unsigned long aInTokenLength, out voidPtr aOutToken, out unsigned long aOutTokenLength)
 Called to get the next token in a sequence of authentication steps.
void wrap ([const ] in voidPtr aInToken, in unsigned long aInTokenLength, in boolean confidential, out voidPtr aOutToken, out unsigned long aOutTokenLength)
 Once a security context has been established through calls to GetNextToken() it may be used to protect data exchanged between client and server.
void unwrap ([const ] in voidPtr aInToken, in unsigned long aInTokenLength, out voidPtr aOutToken, out unsigned long aOutTokenLength)
 Unwrap() is used to unpack, decrypt, and verify the checksums on data returned by a server when security layers are in use.

Public Attributes

const unsigned long REQ_DEFAULT = 0
 Default behavior.
const unsigned long REQ_MUTUAL_AUTH = (1 << 0)
 Client and server will be authenticated.
const unsigned long REQ_DELEGATE = (1 << 1)
 The server is allowed to impersonate the client.

Private Attributes

nsString mDomain
nsString mUsername
nsString mPassword

Detailed Description

Definition at line 44 of file nsNTLMAuthModule.h.


Constructor & Destructor Documentation

NS_DECL_ISUPPORTS NS_DECL_NSIAUTHMODULE nsNTLMAuthModule::nsNTLMAuthModule ( ) [inline]

Definition at line 50 of file nsNTLMAuthModule.h.

{}

Definition at line 767 of file nsNTLMAuthModule.cpp.

Here is the call graph for this function:


Member Function Documentation

void nsIAuthModule::getNextToken ( [const ] in voidPtr  aInToken,
in unsigned long  aInTokenLength,
out voidPtr  aOutToken,
out unsigned long  aOutTokenLength 
) [inherited]

Called to get the next token in a sequence of authentication steps.

Parameters:
aInTokenA buffer containing the input token (e.g., a challenge from a server). This may be null.
aInTokenLengthThe length of the input token.
aOutTokenIf getNextToken succeeds, then aOutToken will point to a buffer to be sent in response to the server challenge. The length of this buffer is given by aOutTokenLength. The buffer at aOutToken must be recycled with a call to nsMemory::Free.
aOutTokenLengthIf getNextToken succeeds, then aOutTokenLength contains the length of the buffer (number of bytes) pointed to by aOutToken.
void nsIAuthModule::init ( in string  aServiceName,
in unsigned long  aServiceFlags,
in wstring  aDomain,
in wstring  aUsername,
in wstring  aPassword 
) [inherited]

Other flags may be defined in the future.

Called to initialize an auth module. The other methods cannot be called unless this method succeeds.

Parameters:
aServiceNamethe service name, which may be null if not applicable (e.g., for NTLM, this parameter should be null).
aServiceFlagsa bitwise-or of the REQ_ flags defined above (pass REQ_DEFAULT for default behavior).
aDomainthe authentication domain, which may be null if not applicable.
aUsernamethe user's login name
aPasswordthe user's password

Definition at line 773 of file nsNTLMAuthModule.cpp.

{
  nsNSSShutDownPreventionLock locker;
  //
  // disable NTLM authentication when FIPS mode is enabled.
  //
  return PK11_IsFIPS() ? NS_ERROR_NOT_AVAILABLE : NS_OK;
}

Here is the call graph for this function:

void nsIAuthModule::unwrap ( [const ] in voidPtr  aInToken,
in unsigned long  aInTokenLength,
out voidPtr  aOutToken,
out unsigned long  aOutTokenLength 
) [inherited]

Unwrap() is used to unpack, decrypt, and verify the checksums on data returned by a server when security layers are in use.

Parameters:
aInTokenA buffer containing the data received from the server
aInTokenLengthThe length of the input token
aOutTokenA buffer containing the plaintext data from the server
aOutTokenLengthThe length of the output token buffer

Unwrap() may return NS_ERROR_NOT_IMPLEMENTED, if the underlying authentication mechanism does not support security layers.

void nsIAuthModule::wrap ( [const ] in voidPtr  aInToken,
in unsigned long  aInTokenLength,
in boolean  confidential,
out voidPtr  aOutToken,
out unsigned long  aOutTokenLength 
) [inherited]

Once a security context has been established through calls to GetNextToken() it may be used to protect data exchanged between client and server.

Calls to Wrap() are used to protect items of data to be sent to the server.

Parameters:
aInTokenA buffer containing the data to be sent to the server
aInTokenLengthThe length of the input token
confidentialIf set to true, Wrap() will encrypt the data, otherwise data will just be integrity protected (checksummed)
aOutTokenA buffer containing the resulting data to be sent to the server
aOutTokenLengthThe length of the output token buffer

Wrap() may return NS_ERROR_NOT_IMPLEMENTED, if the underlying authentication mechanism does not support security layers.


Member Data Documentation

Definition at line 56 of file nsNTLMAuthModule.h.

Definition at line 58 of file nsNTLMAuthModule.h.

Definition at line 57 of file nsNTLMAuthModule.h.

const unsigned long nsIAuthModule::REQ_DEFAULT = 0 [inherited]

Default behavior.

Definition at line 45 of file nsIAuthModule.idl.

const unsigned long nsIAuthModule::REQ_DELEGATE = (1 << 1) [inherited]

The server is allowed to impersonate the client.

The REQ_MUTUAL_AUTH flag may also need to be specified in order for this flag to take effect.

Definition at line 57 of file nsIAuthModule.idl.

const unsigned long nsIAuthModule::REQ_MUTUAL_AUTH = (1 << 0) [inherited]

Client and server will be authenticated.

Definition at line 50 of file nsIAuthModule.idl.


The documentation for this class was generated from the following files: