FreeRDP
ntlm_message.c File Reference
#include "ntlm.h"
#include "../sspi.h"
#include <winpr/crt.h>
#include <winpr/print.h>
#include <winpr/stream.h>
#include <winpr/sysinfo.h>
#include "ntlm_compute.h"
#include "ntlm_message.h"
#include "../log.h"

Macros

#define TAG   WINPR_TAG("sspi.NTLM")
 

Functions

static void ntlm_print_negotiate_flags (UINT32 flags)
 
static int ntlm_read_message_header (wStream *s, NTLM_MESSAGE_HEADER *header)
 
static void ntlm_write_message_header (wStream *s, NTLM_MESSAGE_HEADER *header)
 
static void ntlm_populate_message_header (NTLM_MESSAGE_HEADER *header, UINT32 MessageType)
 
static int ntlm_read_message_fields (wStream *s, NTLM_MESSAGE_FIELDS *fields)
 
static void ntlm_write_message_fields (wStream *s, NTLM_MESSAGE_FIELDS *fields)
 
static int ntlm_read_message_fields_buffer (wStream *s, NTLM_MESSAGE_FIELDS *fields)
 
static void ntlm_write_message_fields_buffer (wStream *s, NTLM_MESSAGE_FIELDS *fields)
 
static void ntlm_free_message_fields_buffer (NTLM_MESSAGE_FIELDS *fields)
 
SECURITY_STATUS ntlm_read_NegotiateMessage (NTLM_CONTEXT *context, PSecBuffer buffer)
 
SECURITY_STATUS ntlm_write_NegotiateMessage (NTLM_CONTEXT *context, PSecBuffer buffer)
 
SECURITY_STATUS ntlm_read_ChallengeMessage (NTLM_CONTEXT *context, PSecBuffer buffer)
 
SECURITY_STATUS ntlm_write_ChallengeMessage (NTLM_CONTEXT *context, PSecBuffer buffer)
 
SECURITY_STATUS ntlm_read_AuthenticateMessage (NTLM_CONTEXT *context, PSecBuffer buffer)
 
SECURITY_STATUS ntlm_write_AuthenticateMessage (NTLM_CONTEXT *context, PSecBuffer buffer)
 
SECURITY_STATUS ntlm_server_AuthenticateComplete (NTLM_CONTEXT *context)
 

Variables

static const char NTLM_SIGNATURE [8] = { 'N', 'T', 'L', 'M', 'S', 'S', 'P', '\0' }
 
static const char *const NTLM_NEGOTIATE_STRINGS []
 

Macro Definition Documentation

#define TAG   WINPR_TAG("sspi.NTLM")

WinPR: Windows Portable Runtime NTLM Security Package (Message)

Copyright 2011-2014 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Function Documentation

static void ntlm_free_message_fields_buffer ( NTLM_MESSAGE_FIELDS *  fields)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static void ntlm_populate_message_header ( NTLM_MESSAGE_HEADER *  header,
UINT32  MessageType 
)
static

Here is the caller graph for this function:

static void ntlm_print_negotiate_flags ( UINT32  flags)
static

Here is the caller graph for this function:

SECURITY_STATUS ntlm_read_AuthenticateMessage ( NTLM_CONTEXT *  context,
PSecBuffer  buffer 
)

Here is the call graph for this function:

Here is the caller graph for this function:

SECURITY_STATUS ntlm_read_ChallengeMessage ( NTLM_CONTEXT *  context,
PSecBuffer  buffer 
)

Here is the call graph for this function:

Here is the caller graph for this function:

static int ntlm_read_message_fields ( wStream *  s,
NTLM_MESSAGE_FIELDS *  fields 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static int ntlm_read_message_fields_buffer ( wStream *  s,
NTLM_MESSAGE_FIELDS *  fields 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static int ntlm_read_message_header ( wStream *  s,
NTLM_MESSAGE_HEADER *  header 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

SECURITY_STATUS ntlm_read_NegotiateMessage ( NTLM_CONTEXT *  context,
PSecBuffer  buffer 
)

WinPR: Windows Portable Runtime NTLM Security Package (Message)

Copyright 2011-2014 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Here is the call graph for this function:

Here is the caller graph for this function:

SECURITY_STATUS ntlm_server_AuthenticateComplete ( NTLM_CONTEXT *  context)

Here is the call graph for this function:

Here is the caller graph for this function:

SECURITY_STATUS ntlm_write_AuthenticateMessage ( NTLM_CONTEXT *  context,
PSecBuffer  buffer 
)

Send NTLMSSP AUTHENTICATE_MESSAGE.
AUTHENTICATE_MESSAGE http://msdn.microsoft.com/en-us/library/cc236643/

Parameters
NTLMcontext
buffer

Here is the call graph for this function:

Here is the caller graph for this function:

SECURITY_STATUS ntlm_write_ChallengeMessage ( NTLM_CONTEXT *  context,
PSecBuffer  buffer 
)

Here is the call graph for this function:

Here is the caller graph for this function:

static void ntlm_write_message_fields ( wStream *  s,
NTLM_MESSAGE_FIELDS *  fields 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static void ntlm_write_message_fields_buffer ( wStream *  s,
NTLM_MESSAGE_FIELDS *  fields 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static void ntlm_write_message_header ( wStream *  s,
NTLM_MESSAGE_HEADER *  header 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

SECURITY_STATUS ntlm_write_NegotiateMessage ( NTLM_CONTEXT *  context,
PSecBuffer  buffer 
)

Here is the call graph for this function:

Here is the caller graph for this function:

Variable Documentation

const char* const NTLM_NEGOTIATE_STRINGS[]
static
const char NTLM_SIGNATURE[8] = { 'N', 'T', 'L', 'M', 'S', 'S', 'P', '\0' }
static