#include <unistd.h>
#include <errno.h>
#include <stdlib.h>
+#include <sys/socket.h>
+#include <linux/rtnetlink.h>
+
#include "l2tpns.h"
#include "constants.h"
#include "plugin.h"
#include "tbf.h"
#include "cluster.h"
-#ifdef LAC
#include "l2tplac.h"
-#endif
#include "pppoe.h"
extern tunnelt *tunnel;
LOG(3, s, t, "PAP login %s/%s\n", user, pass);
}
-#ifdef LAC
if ((!config->disable_lac_func) && lac_conf_forwardtoremotelns(s, user))
{
// Creating a tunnel/session has been started
return;
}
-#endif
if (session[s].ip || !(r = radiusnew(s)))
{
packet.username = calloc(l + 1, 1);
memcpy(packet.username, p, l);
-#ifdef LAC
if ((!config->disable_lac_func) && lac_conf_forwardtoremotelns(s, packet.username))
{
free(packet.username);
// Creating a tunnel/session has been started
return;
}
-#endif
run_plugins(PLUGIN_PRE_AUTH, &packet);
if (!packet.continue_auth)
return;
// no spoof
- if (ipv4 != session[s].ip && memcmp(&config->ipv6_prefix, &ip, 8) && sessionbyipv6(ip) != s)
+ if ((ipv4 != session[s].ip || memcmp(&config->ipv6_prefix, &ip, 8)) && sessionbyipv6(ip) != s)
{
char str[INET6_ADDRSTRLEN];
LOG(5, s, t, "Dropping packet with spoofed IP %s\n",