# Authentication
[LibTDS API]

Functions for handling authentication. More...

## Classes

struct | tds_answer
struct | tds_ntlm_auth

## Typedefs

typedef tds_answer | TDSANSWER
typedef tds_ntlm_auth | TDSNTLMAUTH

## Functions

static int | tds7_send_auth (TDSSOCKET *tds, const unsigned char *challenge, TDS_UINT flags)
static void | tds_answer_challenge (const char *passwd, const unsigned char *challenge, TDS_UINT *flags, TDSANSWER *answer)
| Crypt a given password using schema required for NTLMv1 or NTLM2 authentication.
static void | tds_convert_key (const unsigned char *key_56, DES_KEY *ks)
static void | tds_encrypt_answer (const unsigned char *hash, const unsigned char *challenge, unsigned char *answer)
static int | tds_ntlm_free (TDSSOCKET *tds, TDSAUTHENTICATION *tds_auth)
TDSAUTHENTICATION * | tds_ntlm_get_auth (TDSSOCKET *tds)
| Build a NTLMSPP packet to send to server.
static int | tds_ntlm_handle_next (TDSSOCKET *tds, struct tds_authentication *auth, size_t len)

## Variables

static const unsigned char | ntlm_id [] = "NTLMSSP"

## Detailed Description

Functions for handling authentication.

## Function Documentation

static void tds_answer_challenge | ( | const char * | passwd,
|  | const unsigned char * | challenge,
|  | TDS_UINT * | flags,
|  | TDSANSWER * | answer
| ) | `[static]`

Crypt a given password using schema required for NTLMv1 or NTLM2 authentication.

Parameters:

  | passwd | clear text domain password
  | challenge | challenge data given by server
  | flags | NTLM flags from server side
  | answer | buffer where to store crypted password

TDSAUTHENTICATION* tds_ntlm_get_auth | ( | TDSSOCKET * | tds | ) |

Build a NTLMSPP packet to send to server.

Parameters:

  | tds | A pointer to the TDSSOCKET structure managing a client/server operation.

Returns:
  authentication info