authsrv.c File Reference

Process NuAuth packets. More...

#include "nufw.h"
#include <nubase.h>

Include dependency graph for authsrv.c:

Go to the source code of this file.

Functions

int auth_process_answer (char *dgram, int dgram_size)
static int auth_packet_to_decision (char *dgram, int dgram_size)
void * authsrv (void *data)

Variables

pthread_mutex_t ipq_mutex = PTHREAD_MUTEX_INITIALIZER


Detailed Description

Process NuAuth packets.

authsrv() thread (created by auth_request_send()) wait for new NuAuth packets, and then call auth_packet_to_decision() to process packet.

Definition in file authsrv.c.


Function Documentation

static int auth_packet_to_decision ( char *  dgram,
int  dgram_size 
) [static]

Process authentication server (NuAuth) packet answer. Different answers can be:

Returns:
-1 in case of error

Definition at line 274 of file authsrv.c.

References AUTH_ANSWER, AUTH_CONN_DESTROY, AUTH_CONN_UPDATE, auth_process_answer(), DEBUG_AREA_GW, DEBUG_AREA_MAIN, DEBUG_LEVEL_DEBUG, DEBUG_LEVEL_WARNING, debug_log_printf, log_area_printf(), and PROTO_NUFW_VERSION.

Referenced by authsrv().

Here is the call graph for this function:

int auth_process_answer ( char *  dgram,
int  dgram_size 
)

Process NuAuth message of type AUTH_ANSWER

Definition at line 40 of file authsrv.c.

References DEBUG_AREA_GW, DEBUG_AREA_PACKET, DEBUG_LEVEL_VERBOSE_DEBUG, DEBUG_LEVEL_WARNING, debug_log_printf, nuv4_nuauth_decision_response_t::decision, DECISION_ACCEPT, DECISION_REJECT, IPQ_SET_VERDICT, IPQ_SET_VWMARK, log_area_printf(), packets_list_t::mutex, nufw_set_mark, nuv4_nuauth_decision_response_t::packet_id, packets_list, nuv4_nuauth_decision_response_t::payload_len, pckt_tx, psearch_and_destroy(), send_icmp_unreach(), and nuv4_nuauth_decision_response_t::tcmark.

Referenced by auth_packet_to_decision().

Here is the call graph for this function:

void* authsrv ( void *  data  ) 

Thread waiting to authentication server (NuAuth) answer. Call auth_packet_to_decision() on new packet.

Definition at line 321 of file authsrv.c.

References auth_packet_to_decision(), nuauth_conn::auth_server_mutex, nuauth_conn::auth_server_running, DEBUG_AREA_GW, DEBUG_LEVEL_VERBOSE_DEBUG, log_area_printf(), nuauth_conn::mutex, nussl_get_error(), nussl_read(), NUSSL_SOCK_TIMEOUT, nuauth_conn::session, and tls.

Referenced by create_authserver().

Here is the call graph for this function:


Variable Documentation

pthread_mutex_t ipq_mutex = PTHREAD_MUTEX_INITIALIZER

Definition at line 28 of file authsrv.c.


Generated on Sat Nov 22 04:00:39 2008 for NuFW by  doxygen 1.4.7