Disable sending HELLO message for Apple compatibility 2.2.1-2fdn3.4
authorfendo <fendo@bi12info.com>
Tue, 15 Jan 2013 14:22:43 +0000 (15:22 +0100)
committerfendo <fendo@bi12info.com>
Tue, 15 Jan 2013 14:22:43 +0000 (15:22 +0100)
Docs/manual.html
debian/changelog
l2tpns.c
l2tpns.h

index f8f3908..12180ea 100644 (file)
@@ -387,6 +387,12 @@ not clustered (the tunnel can be coming from different source IP)
 (default: no).
 </LI>
 
 (default: no).
 </LI>
 
+<LI><B>disable_sending_hello</B> (boolean)<BR>
+Disable l2tp sending HELLO message for Apple compatibility.
+Some OS X implementation of l2tp no manage the L2TP "HELLO message".
+(default: no).
+</LI>
+
 </UL>
 
 <P><U><B>LAC configuration</B></U></P>
 </UL>
 
 <P><U><B>LAC configuration</B></U></P>
index 8939ffd..82031fe 100644 (file)
@@ -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 <fernando.alves@sameswireless.fr>, 15 Jan 2013 15:17:22 +0100
+
 l2tpns (2.2.1-2fdn3.3) unstable; urgency=low
 
   * pppoe server functionality
 l2tpns (2.2.1-2fdn3.3) unstable; urgency=low
 
   * pppoe server functionality
index a1819f2..784e8cf 100644 (file)
--- 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),
        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[] = {
 };
 
 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)
                {
                // 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
                }
 
                // Check for tunnel changes requested from the CLI
index e690ec6..98e605a 100644 (file)
--- 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
        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 };
 } configt;
 
 enum config_typet { INT, STRING, UNSIGNED_LONG, SHORT, BOOL, IPv4, IPv6 };