120 |
#define PORT_ACCT 1 |
#define PORT_ACCT 1 |
121 |
#define PORT_MAX 2 |
#define PORT_MAX 2 |
122 |
|
|
123 |
|
typedef struct { |
124 |
|
UINT4 addr; /* Server IP address */ |
125 |
|
u_char id; /* Current id */ |
126 |
|
} SERVER_ID; |
127 |
|
|
128 |
typedef struct radius_server RADIUS_SERVER; |
typedef struct radius_server RADIUS_SERVER; |
129 |
struct radius_server { |
struct radius_server { |
130 |
RADIUS_SERVER *next; /* Next server in queue */ |
RADIUS_SERVER *next; /* Next server in queue */ |
132 |
UINT4 addr; /* IP address of it */ |
UINT4 addr; /* IP address of it */ |
133 |
int port[PORT_MAX]; /* Ports to use */ |
int port[PORT_MAX]; /* Ports to use */ |
134 |
char *secret; /* Shared secret */ |
char *secret; /* Shared secret */ |
135 |
|
off_t id_offset; /* Offset of the SERVER_ID in the id file */ |
136 |
}; |
}; |
137 |
|
|
138 |
typedef struct { |
typedef struct { |
140 |
unsigned timeout; /* Amount of time to wait for the response */ |
unsigned timeout; /* Amount of time to wait for the response */ |
141 |
unsigned retries; /* Number of re-sends to each server before |
unsigned retries; /* Number of re-sends to each server before |
142 |
giving up */ |
giving up */ |
|
unsigned messg_id; /* Current message identifier */ |
|
143 |
size_t buffer_size; /* Size of the recv buffer */ |
size_t buffer_size; /* Size of the recv buffer */ |
144 |
RADIUS_SERVER *first_server; /* List of servers */ |
RADIUS_SERVER *first_server; /* List of servers */ |
145 |
} RADIUS_SERVER_QUEUE; |
} RADIUS_SERVER_QUEUE; |
261 |
extern char *radutmp_path; |
extern char *radutmp_path; |
262 |
extern char *radwtmp_path; |
extern char *radwtmp_path; |
263 |
extern char *radstat_path; |
extern char *radstat_path; |
264 |
|
extern char *radmsgid_path; |
265 |
extern char *radpid_dir; |
extern char *radpid_dir; |
266 |
extern char *bug_report_address; |
extern char *bug_report_address; |
267 |
|
|
417 |
void rad_clt_clear_server_list(RADIUS_SERVER *list); |
void rad_clt_clear_server_list(RADIUS_SERVER *list); |
418 |
RADIUS_SERVER *rad_clt_find_server(RADIUS_SERVER *list, char *name); |
RADIUS_SERVER *rad_clt_find_server(RADIUS_SERVER *list, char *name); |
419 |
void rad_clt_random_vector(char *vector); |
void rad_clt_random_vector(char *vector); |
420 |
|
unsigned rad_clt_message_id(RADIUS_SERVER *server); |
421 |
|
|
422 |
/* log.c */ |
/* log.c */ |
423 |
char *rad_print_request(RADIUS_REQ *req, char *outbuf, size_t size); |
char *rad_print_request(RADIUS_REQ *req, char *outbuf, size_t size); |