From 9fb78ffe6ae137125521a5810149e2adde5e63c6 Mon Sep 17 00:00:00 2001 From: fendo Date: Tue, 15 Jan 2013 15:22:43 +0100 Subject: [PATCH] Disable sending HELLO message for Apple compatibility --- Docs/manual.html | 6 ++++++ debian/changelog | 6 ++++++ l2tpns.c | 14 +++++++++----- l2tpns.h | 1 + 4 files changed, 22 insertions(+), 5 deletions(-) diff --git a/Docs/manual.html b/Docs/manual.html index f8f3908..12180ea 100644 --- a/Docs/manual.html +++ b/Docs/manual.html @@ -387,6 +387,12 @@ not clustered (the tunnel can be coming from different source IP) (default: no). +
  • disable_sending_hello (boolean)
    +Disable l2tp sending HELLO message for Apple compatibility. +Some OS X implementation of l2tp no manage the L2TP "HELLO message". +(default: no). +
  • +

    LAC configuration

    diff --git a/debian/changelog b/debian/changelog index 8939ffd..82031fe 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +l2tpns (2.2.1-2fdn3.4) unstable; urgency=low + + * Add parameter to disable the send of the L2TP HELLO message (Apple compatibility). + + -- Fernando Alves , 15 Jan 2013 15:17:22 +0100 + l2tpns (2.2.1-2fdn3.3) unstable; urgency=low * pppoe server functionality diff --git a/l2tpns.c b/l2tpns.c index a1819f2..784e8cf 100644 --- a/l2tpns.c +++ b/l2tpns.c @@ -190,7 +190,8 @@ config_descriptt config_values[] = { CONFIG("pppoe_if_to_bind", pppoe_if_to_bind, STRING), CONFIG("pppoe_service_name", pppoe_service_name, STRING), CONFIG("pppoe_ac_name", pppoe_ac_name, STRING), - { NULL, 0, 0, 0 }, + CONFIG("disable_sending_hello", disable_sending_hello, BOOL), + { NULL, 0, 0, 0 } }; static char *plugin_functions[] = { @@ -3502,10 +3503,13 @@ static void regular_cleanups(double period) // Send hello if (tunnel[t].state == TUNNELOPEN && !tunnel[t].controlc && (time_now - tunnel[t].lastrec) > 60) { - controlt *c = controlnew(6); // sending HELLO - controladd(c, 0, t); // send the message - LOG(3, 0, t, "Sending HELLO message\n"); - t_actions++; + if (!config->disable_sending_hello) + { + controlt *c = controlnew(6); // sending HELLO + controladd(c, 0, t); // send the message + LOG(3, 0, t, "Sending HELLO message\n"); + t_actions++; + } } // Check for tunnel changes requested from the CLI diff --git a/l2tpns.h b/l2tpns.h index e690ec6..98e605a 100644 --- a/l2tpns.h +++ b/l2tpns.h @@ -779,6 +779,7 @@ typedef struct char pppoe_service_name[64]; // pppoe service name char pppoe_ac_name[64]; uint8_t pppoe_hwaddr[ETH_ALEN]; // MAC addr of interface pppoe to bind + int disable_sending_hello; // Disable l2tp sending HELLO message for Apple compatibility. } configt; enum config_typet { INT, STRING, UNSIGNED_LONG, SHORT, BOOL, IPv4, IPv6 }; -- 2.20.1