summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
d305da8)
Remove per-packet plugin hooks (they are slow)
-// $Id: ppp.c,v 1.3 2004/03/05 00:22:06 fred_nerk Exp $
+// $Id: ppp.c,v 1.4 2004/05/24 04:26:01 fred_nerk Exp $
#include <stdio.h>
#include <string.h>
#include <stdio.h>
#include <string.h>
}
else
{ // set up RADIUS request
}
else
{ // set up RADIUS request
- u8 r = session[s].radius;
+ u16 r = session[s].radius;
// Run PRE_AUTH plugins
struct param_pre_auth packet = { &tunnel[t], &session[s], strdup(user), strdup(pass), PPPPAP, 1 };
// Run PRE_AUTH plugins
struct param_pre_auth packet = { &tunnel[t], &session[s], strdup(user), strdup(pass), PPPPAP, 1 };
// Process CHAP messages
void processchap(tunnelidt t, sessionidt s, u8 * p, u16 l)
{
// Process CHAP messages
void processchap(tunnelidt t, sessionidt s, u8 * p, u16 l)
{
u16 len;
#ifdef STAT_CALLS
u16 len;
#ifdef STAT_CALLS
- radiussend(r, RADIUSAUTH);
log(3, 0, s, t, "CHAP login %s\n", session[s].user);
log(3, 0, s, t, "CHAP login %s\n", session[s].user);
+ radiussend(r, RADIUSAUTH);
}
char *ppp_lcp_types[] = {
}
char *ppp_lcp_types[] = {
*p = EchoReply; // reply
*(u32 *) (p + 4) = htonl(session[s].magic); // our magic number
q = makeppp(b, p, l, t, s, PPPLCP);
*p = EchoReply; // reply
*(u32 *) (p + 4) = htonl(session[s].magic); // our magic number
q = makeppp(b, p, l, t, s, PPPLCP);
- log(4, session[s].ip, s, t, "LCP: Received EchoReq. Sending EchoReply\n");
+ log(5, session[s].ip, s, t, "LCP: Received EchoReq. Sending EchoReply\n");
tunnelsend(b, l + (q - b), t); // send it
}
else if (*p == EchoReply)
tunnelsend(b, l + (q - b), t); // send it
}
else if (*p == EchoReply)
}
if (*p == ConfigAck)
{ // happy with our IPCP
}
if (*p == ConfigAck)
{ // happy with our IPCP
- u8 r = session[s].radius;
+ u16 r = session[s].radius;
if ((!r || radius[r].state == RADIUSIPCP) && !session[s].walled_garden)
if (!r)
r = radiusnew(s);
if ((!r || radius[r].state == RADIUSIPCP) && !session[s].walled_garden)
if (!r)
r = radiusnew(s);
*(u32 *)p = htonl(0x00000800);
l += 4;
*(u32 *)p = htonl(0x00000800);
l += 4;
- // Plugin hook
- {
- struct param_packet_rx packet = { &tunnel[t], &session[s], p, l };
- run_plugins(PLUGIN_PACKET_TX, &packet);
- }
-
// send to ethernet
if (write(tapfd, p, l) < 0)
{
// send to ethernet
if (write(tapfd, p, l) < 0)
{
void sendchap(tunnelidt t, sessionidt s)
{
u8 b[MAXCONTROL];
void sendchap(tunnelidt t, sessionidt s)
{
u8 b[MAXCONTROL];
- u8 r = session[s].radius;
+ u16 r = session[s].radius;
u8 *q;
#ifdef STAT_CALLS
STAT(call_sendchap);
u8 *q;
#ifdef STAT_CALLS
STAT(call_sendchap);