#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)
if (!session[s].bundle || bundle[session[s].bundle].num_of_links < 2) // FIXME:
{
// no spoof (do sessionbyip to handled statically routed subnets)
- if (ip != session[s].ip && sessionbyip(htonl(ip)) != s)
+ if (!config->disable_no_spoof && ip != session[s].ip && sessionbyip(htonl(ip)) != s)
{
LOG(4, s, t, "Dropping packet with spoofed IP %s\n", fmtaddr(htonl(ip), 0));
return;