mod_auth_gssapi  1.6.3
About: mod_auth_gssapi is an Apache2 authentication module meant to superseed the aging mod_auth_kerb. It is not limited to the krb5 mechanism but works also with mechanisms like gss-ntlmssp.
  Fossies Dox: mod_auth_gssapi-1.6.3.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

sessions.c File Reference
Include dependency graph for sessions.c:

Go to the source code of this file.

Macros

#define MAG_BEARER_KEY   "MagBearerToken"
 

Functions

 APLOG_USE_MODULE (auth_gssapi)
 
static APR_OPTIONAL_FN_TYPE (ap_session_load)
 
static apr_status_t mag_session_load (request_rec *req, session_rec **sess)
 
static apr_status_t mag_session_get (request_rec *req, session_rec *sess, const char *key, const char **value)
 
static apr_status_t mag_session_set (request_rec *req, session_rec *sess, const char *key, const char *value)
 
static bool encode_GSSSessionData (apr_pool_t *mempool, GSSSessionData_t *gsessdata, unsigned char **buf, int *len)
 
static GSSSessionData_tdecode_GSSSessionData (void *buf, size_t len)
 
void mag_check_session (struct mag_req_cfg *cfg, struct mag_conn **conn)
 
void mag_attempt_session (struct mag_req_cfg *cfg, struct mag_conn *mc)
 
static int mag_basic_hmac (struct seal_key *key, unsigned char *mac, gss_buffer_desc user, gss_buffer_desc pwd)
 
static int mag_get_mac_size (struct mag_req_cfg *cfg)
 
bool mag_basic_check (struct mag_req_cfg *cfg, struct mag_conn *mc, gss_buffer_desc user, gss_buffer_desc pwd)
 
void mag_basic_cache (struct mag_req_cfg *cfg, struct mag_conn *mc, gss_buffer_desc user, gss_buffer_desc pwd)
 

Macro Definition Documentation

◆ MAG_BEARER_KEY

#define MAG_BEARER_KEY   "MagBearerToken"

Definition at line 87 of file sessions.c.

Function Documentation

◆ APLOG_USE_MODULE()

APLOG_USE_MODULE ( auth_gssapi  )

◆ APR_OPTIONAL_FN_TYPE()

static APR_OPTIONAL_FN_TYPE ( ap_session_load  )
static

Definition at line 8 of file sessions.c.

◆ decode_GSSSessionData()

static GSSSessionData_t* decode_GSSSessionData ( void *  buf,
size_t  len 
)
static

Definition at line 74 of file sessions.c.

References asn_DEF_GSSSessionData, ber_decode(), asn_dec_rval_s::code, and RC_OK.

Referenced by mag_check_session().

◆ encode_GSSSessionData()

static bool encode_GSSSessionData ( apr_pool_t *  mempool,
GSSSessionData_t gsessdata,
unsigned char **  buf,
int *  len 
)
static

◆ mag_attempt_session()

◆ mag_basic_cache()

void mag_basic_cache ( struct mag_req_cfg cfg,
struct mag_conn mc,
gss_buffer_desc  user,
gss_buffer_desc  pwd 
)

◆ mag_basic_check()

bool mag_basic_check ( struct mag_req_cfg cfg,
struct mag_conn mc,
gss_buffer_desc  user,
gss_buffer_desc  pwd 
)

◆ mag_basic_hmac()

static int mag_basic_hmac ( struct seal_key key,
unsigned char *  mac,
gss_buffer_desc  user,
gss_buffer_desc  pwd 
)
static

Definition at line 279 of file sessions.c.

References HMAC_BUFFER(), and databuf::length.

Referenced by mag_basic_cache(), and mag_basic_check().

◆ mag_check_session()

◆ mag_get_mac_size()

static int mag_get_mac_size ( struct mag_req_cfg cfg)
static

Definition at line 294 of file sessions.c.

References mag_req_cfg::cfg, get_mac_size(), mag_req_cfg::mag_skey, and mag_config::pool.

Referenced by mag_basic_cache(), and mag_basic_check().

◆ mag_session_get()

static apr_status_t mag_session_get ( request_rec *  req,
session_rec *  sess,
const char *  key,
const char **  value 
)
static

Definition at line 27 of file sessions.c.

Referenced by mag_check_session().

◆ mag_session_load()

static apr_status_t mag_session_load ( request_rec *  req,
session_rec **  sess 
)
static

Definition at line 19 of file sessions.c.

Referenced by mag_attempt_session(), and mag_check_session().

◆ mag_session_set()

static apr_status_t mag_session_set ( request_rec *  req,
session_rec *  sess,
const char *  key,
const char *  value 
)
static

Definition at line 36 of file sessions.c.

Referenced by mag_attempt_session().