As a result, update 'session_zap' to take an fd as an argument.
Update radutmp to use 'request->packet->fd', instead of the global
acctfd
extern int log_auth_detail;
extern int auth_port;
extern int acct_port;
-extern int acctfd;
extern int proxy_port;
extern int proxyfd;
extern int proxy_retry_count;
/* session.c */
int rad_check_ts(uint32_t nasaddr, int port, const char *user,
const char *sessionid);
-int session_zap(uint32_t nasaddr, int port, const char *user,
+int session_zap(int fd, uint32_t nasaddr, int port, const char *user,
const char *sessionid, uint32_t cliaddr,
char proto, time_t t);
#include "modules.h"
/* End a session by faking a Stop packet to all accounting modules */
-int session_zap(uint32_t nasaddr, int port, const char *user,
+int session_zap(int sockfd, uint32_t nasaddr, int port, const char *user,
const char *sessionid, uint32_t cliaddr, char proto, time_t t)
{
static unsigned char id = 0;
stoppkt = rad_malloc(sizeof *stoppkt);
memset(stoppkt, 0, sizeof stoppkt);
stoppkt->data = NULL;
- stoppkt->sockfd = acctfd;
+ stoppkt->sockfd = sockfd;
stoppkt->code = PW_ACCOUNTING_REQUEST;
stoppkt->id = id++;
stoppkt->timestamp = t?t:time(0);
/*
* False record - zap it.
*/
-
- session_zap(u.nas_address, u.nas_port, login,
+ session_zap(request->packet->sockfd,
+ u.nas_address, u.nas_port, login,
session_id, u.framed_address,
u.proto, 0);
}