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 };