FreeRDP
libfreerdp/core/gateway/ntlm.h File Reference
#include <winpr/wtypes.h>
#include <freerdp/api.h>
#include <winpr/sspi.h>
This graph shows which files directly or indirectly include this file:

Functions

FREERDP_LOCAL rdpNtlm * ntlm_new (void)
 
FREERDP_LOCAL void ntlm_free (rdpNtlm *ntlm)
 
FREERDP_LOCAL BOOL ntlm_authenticate (rdpNtlm *ntlm, BOOL *pbContinueNeeded)
 
FREERDP_LOCAL BOOL ntlm_client_init (rdpNtlm *ntlm, BOOL confidentiality, LPCSTR user, LPCSTR domain, LPCSTR password, SecPkgContext_Bindings *Bindings)
 
FREERDP_LOCAL BOOL ntlm_client_make_spn (rdpNtlm *ntlm, LPCSTR ServiceClass, LPCSTR hostname)
 
FREERDP_LOCAL SSIZE_T ntlm_client_query_auth_size (rdpNtlm *ntlm)
 
FREERDP_LOCAL SSIZE_T ntlm_client_get_context_max_size (rdpNtlm *ntlm)
 
FREERDP_LOCAL BOOL ntlm_client_encrypt (rdpNtlm *ntlm, ULONG fQOP, SecBufferDesc *Message, size_t sequence)
 
FREERDP_LOCAL BOOL ntlm_client_set_input_buffer (rdpNtlm *ntlm, BOOL copy, const void *data, size_t size)
 
const FREERDP_LOCAL SecBufferntlm_client_get_output_buffer (rdpNtlm *ntlm)
 

Function Documentation

◆ ntlm_authenticate()

FREERDP_LOCAL BOOL ntlm_authenticate ( rdpNtlm *  ntlm,
BOOL *  pbContinueNeeded 
)
                                SSPI Client Ceremony

                                   --------------
                                  ( Client Begin )
                                   --------------
                                         |
                                         |
                                        \|/
                              -----------+--------------
                             | AcquireCredentialsHandle |
                              --------------------------
                                         |
                                         |
                                        \|/
                            -------------+--------------
         +---------------> / InitializeSecurityContext /
         |                 ----------------------------
         |                               |
         |                               |
         |                              \|/

------------------------— ------—+----------— -------------------— / Receive blob from server / < Received security blob? > –Yes-> / Send blob to server / ----------—+----------— --------------------— -------------------— /|\ | | | No | Yes |/ | | ---------—+--------— |

+-------------— < Received Continue Needed > <--------------—+

| No |/ ---—+----—

( Client End )

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ntlm_client_encrypt()

FREERDP_LOCAL BOOL ntlm_client_encrypt ( rdpNtlm *  ntlm,
ULONG  fQOP,
SecBufferDesc Message,
size_t  sequence 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ntlm_client_get_context_max_size()

FREERDP_LOCAL SSIZE_T ntlm_client_get_context_max_size ( rdpNtlm *  ntlm)
Here is the caller graph for this function:

◆ ntlm_client_get_output_buffer()

const FREERDP_LOCAL SecBuffer* ntlm_client_get_output_buffer ( rdpNtlm *  ntlm)
Here is the caller graph for this function:

◆ ntlm_client_init()

FREERDP_LOCAL BOOL ntlm_client_init ( rdpNtlm *  ntlm,
BOOL  confidentiality,
LPCSTR  user,
LPCSTR  domain,
LPCSTR  password,
SecPkgContext_Bindings Bindings 
)

flags for RPC authentication: RPC_C_AUTHN_LEVEL_PKT_INTEGRITY: ISC_REQ_USE_DCE_STYLE | ISC_REQ_DELEGATE | ISC_REQ_MUTUAL_AUTH | ISC_REQ_REPLAY_DETECT | ISC_REQ_SEQUENCE_DETECT

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ntlm_client_make_spn()

FREERDP_LOCAL BOOL ntlm_client_make_spn ( rdpNtlm *  ntlm,
LPCSTR  ServiceClass,
LPCSTR  hostname 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ntlm_client_query_auth_size()

FREERDP_LOCAL SSIZE_T ntlm_client_query_auth_size ( rdpNtlm *  ntlm)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ntlm_client_set_input_buffer()

FREERDP_LOCAL BOOL ntlm_client_set_input_buffer ( rdpNtlm *  ntlm,
BOOL  copy,
const void *  data,
size_t  size 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ntlm_free()

FREERDP_LOCAL void ntlm_free ( rdpNtlm *  ntlm)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ntlm_new()

FREERDP_LOCAL rdpNtlm* ntlm_new ( void  )
Here is the caller graph for this function: