FreeRDP
nla.h File Reference
#include <freerdp/api.h>
#include <freerdp/freerdp.h>
#include <winpr/sspi.h>
#include <winpr/stream.h>
#include <winpr/crypto.h>
#include <freerdp/crypto/ber.h>
#include <freerdp/crypto/der.h>
#include <freerdp/crypto/crypto.h>
#include "transport.h"
This graph shows which files directly or indirectly include this file:

Enumerations

enum  NLA_STATE {
  NLA_STATE_INITIAL , NLA_STATE_NEGO_TOKEN , NLA_STATE_PUB_KEY_AUTH , NLA_STATE_EARLY_USER_AUTH ,
  NLA_STATE_AUTH_INFO , NLA_STATE_POST_NEGO , NLA_STATE_FINAL
}
 

Functions

FREERDP_LOCAL int nla_authenticate (rdpNla *nla)
 
FREERDP_LOCAL int nla_client_begin (rdpNla *nla)
 
FREERDP_LOCAL int nla_recv_pdu (rdpNla *nla, wStream *s)
 
FREERDP_LOCAL SEC_WINNT_AUTH_IDENTITYnla_get_identity (rdpNla *nla)
 
FREERDP_LOCAL NLA_STATE nla_get_state (rdpNla *nla)
 
FREERDP_LOCAL BOOL nla_set_state (rdpNla *nla, NLA_STATE state)
 
FREERDP_LOCAL const char * nla_get_state_str (NLA_STATE state)
 
FREERDP_LOCAL DWORD nla_get_error (rdpNla *nla)
 
FREERDP_LOCAL UINT32 nla_get_sspi_error (rdpNla *nla)
 
FREERDP_LOCAL BOOL nla_set_service_principal (rdpNla *nla, const char *service, const char *hostname)
 
FREERDP_LOCAL BOOL nla_set_sspi_module (rdpNla *nla, const char *sspiModule)
 
FREERDP_LOCAL BOOL nla_sspi_module_init (rdpNla *nla)
 
FREERDP_LOCAL BOOL nla_impersonate (rdpNla *nla)
 
FREERDP_LOCAL BOOL nla_revert_to_self (rdpNla *nla)
 
FREERDP_LOCAL void nla_free (rdpNla *nla)
 
FREERDP_LOCAL rdpNla * nla_new (rdpContext *context, rdpTransport *transport)
 
FREERDP_LOCAL void nla_set_early_user_auth (rdpNla *nla, BOOL earlyUserAuth)
 

Enumeration Type Documentation

◆ NLA_STATE

enum NLA_STATE
Enumerator
NLA_STATE_INITIAL 
NLA_STATE_NEGO_TOKEN 
NLA_STATE_PUB_KEY_AUTH 
NLA_STATE_EARLY_USER_AUTH 
NLA_STATE_AUTH_INFO 
NLA_STATE_POST_NEGO 
NLA_STATE_FINAL 

Function Documentation

◆ nla_authenticate()

FREERDP_LOCAL int nla_authenticate ( rdpNla *  nla)

Authenticate using CredSSP.

Parameters
nlaThe NLA instance to use
Returns
1 if authentication is successful
Here is the call graph for this function:
Here is the caller graph for this function:

◆ nla_client_begin()

FREERDP_LOCAL int nla_client_begin ( rdpNla *  nla)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ nla_free()

FREERDP_LOCAL void nla_free ( rdpNla *  nla)

Free CredSSP state machine.

Parameters
nlaThe NLA instance to free
Here is the call graph for this function:
Here is the caller graph for this function:

◆ nla_get_error()

FREERDP_LOCAL DWORD nla_get_error ( rdpNla *  nla)
Here is the caller graph for this function:

◆ nla_get_identity()

FREERDP_LOCAL SEC_WINNT_AUTH_IDENTITY* nla_get_identity ( rdpNla *  nla)
Here is the caller graph for this function:

◆ nla_get_sspi_error()

FREERDP_LOCAL UINT32 nla_get_sspi_error ( rdpNla *  nla)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ nla_get_state()

FREERDP_LOCAL NLA_STATE nla_get_state ( rdpNla *  nla)
Here is the caller graph for this function:

◆ nla_get_state_str()

FREERDP_LOCAL const char* nla_get_state_str ( NLA_STATE  state)
Here is the caller graph for this function:

◆ nla_impersonate()

FREERDP_LOCAL BOOL nla_impersonate ( rdpNla *  nla)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ nla_new()

FREERDP_LOCAL rdpNla* nla_new ( rdpContext *  context,
rdpTransport *  transport 
)

Create new CredSSP state machine.

Parameters
contextA pointer to the rdp context to use
transportA pointer to the transport to use
Returns
new CredSSP state machine.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ nla_recv_pdu()

FREERDP_LOCAL int nla_recv_pdu ( rdpNla *  nla,
wStream s 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ nla_revert_to_self()

FREERDP_LOCAL BOOL nla_revert_to_self ( rdpNla *  nla)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ nla_set_early_user_auth()

FREERDP_LOCAL void nla_set_early_user_auth ( rdpNla *  nla,
BOOL  earlyUserAuth 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ nla_set_service_principal()

FREERDP_LOCAL BOOL nla_set_service_principal ( rdpNla *  nla,
const char *  service,
const char *  hostname 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ nla_set_sspi_module()

FREERDP_LOCAL BOOL nla_set_sspi_module ( rdpNla *  nla,
const char *  sspiModule 
)

◆ nla_set_state()

FREERDP_LOCAL BOOL nla_set_state ( rdpNla *  nla,
NLA_STATE  state 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ nla_sspi_module_init()

FREERDP_LOCAL BOOL nla_sspi_module_init ( rdpNla *  nla)