try to fix l2tp login issues
This commit is contained in:
parent
f8c84554b5
commit
c6655312f7
2 changed files with 35 additions and 1 deletions
|
|
@ -23,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [ ./patches/ipb-profile-key.patch ./patches/tap-name-no-prefix.patch ./patches/prevent-dmesg-call.patch ];
|
patches = [ ./patches/ipb-profile-key.patch ./patches/tap-name-no-prefix.patch ./patches/prevent-dmesg-call.patch ./patches/simplify_l2tp_auth.patch ];
|
||||||
|
|
||||||
nativeBuildInputs = with pkgs; [
|
nativeBuildInputs = with pkgs; [
|
||||||
cmake
|
cmake
|
||||||
|
|
|
||||||
34
patches/simplify_l2tp_auth.patch
Normal file
34
patches/simplify_l2tp_auth.patch
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
diff --git a/src/Cedar/Proto_PPP.c b/src/Cedar/Proto_PPP.c
|
||||||
|
index e9908e0..411a89e 100644
|
||||||
|
--- a/src/Cedar/Proto_PPP.c
|
||||||
|
+++ b/src/Cedar/Proto_PPP.c
|
||||||
|
@@ -320,12 +320,12 @@ void PPPThread(THREAD *thread, void *param)
|
||||||
|
|
||||||
|
if (p->PPPStatus == PPP_STATUS_CONNECTED && authReqSent == false)
|
||||||
|
{
|
||||||
|
- // EAP code
|
||||||
|
+ // PAP code
|
||||||
|
PPP_LCP *c = NewPPPLCP(PPP_LCP_CODE_REQ, 0);
|
||||||
|
- USHORT eap_code = Endian16(PPP_LCP_AUTH_EAP);
|
||||||
|
+ USHORT pap_code = Endian16(PPP_LCP_AUTH_PAP);
|
||||||
|
|
||||||
|
- Debug("Request EAP\n");
|
||||||
|
- Add(c->OptionList, NewPPPOption(PPP_LCP_OPTION_AUTH, &eap_code, sizeof(eap_code)));
|
||||||
|
+ Debug("Request PAP\n");
|
||||||
|
+ Add(c->OptionList, NewPPPOption(PPP_LCP_OPTION_AUTH, &pap_code, sizeof(pap_code)));
|
||||||
|
if (PPPSendAndRetransmitRequest(p, PPP_PROTOCOL_LCP, c) == false)
|
||||||
|
{
|
||||||
|
PPPSetStatus(p, PPP_STATUS_FAIL);
|
||||||
|
diff --git a/src/Cedar/Proto_PPP.h b/src/Cedar/Proto_PPP.h
|
||||||
|
index 1278fbc..d95d26d 100644
|
||||||
|
--- a/src/Cedar/Proto_PPP.h
|
||||||
|
+++ b/src/Cedar/Proto_PPP.h
|
||||||
|
@@ -32,7 +32,7 @@
|
||||||
|
#define PPP_CODE_IS_REQUEST(protocol, c) ((((protocol) == PPP_PROTOCOL_LCP || (protocol) == PPP_PROTOCOL_IPCP || (protocol) == PPP_PROTOCOL_IPV6CP) && PPP_LCP_CODE_IS_REQUEST(c)) || (((protocol) == PPP_PROTOCOL_PAP) && PPP_PAP_CODE_IS_REQUEST(c)) || (((protocol) == PPP_PROTOCOL_CHAP) && PPP_CHAP_CODE_IS_REQUEST(c)) || (((protocol) == PPP_PROTOCOL_EAP) && PPP_EAP_CODE_IS_REQUEST(c)))
|
||||||
|
#define PPP_CODE_IS_WITH_OPTION_LIST(protocol, c) ((((protocol) == PPP_PROTOCOL_LCP || (protocol) == PPP_PROTOCOL_IPCP || (protocol) == PPP_PROTOCOL_IPV6CP) && PPP_LCP_CODE_IS_WITH_OPTION_LIST(c)) || false)
|
||||||
|
|
||||||
|
-#define PPP_IS_SUPPORTED_PROTOCOL(p) ((p) == PPP_PROTOCOL_LCP || (p) == PPP_PROTOCOL_PAP || (p) == PPP_PROTOCOL_CHAP || (p) == PPP_PROTOCOL_IPCP || (p) == PPP_PROTOCOL_IPV6CP || (p) == PPP_PROTOCOL_IP || (p) == PPP_PROTOCOL_IPV6 || (p) == PPP_PROTOCOL_EAP )
|
||||||
|
+#define PPP_IS_SUPPORTED_PROTOCOL(p) ((p) == PPP_PROTOCOL_LCP || (p) == PPP_PROTOCOL_PAP || (p) == PPP_PROTOCOL_IPCP || (p) == PPP_PROTOCOL_IP)
|
||||||
|
|
||||||
|
#define PPP_STATUS_IS_UNAVAILABLE(c) ((c) == PPP_STATUS_FAIL || (c) == PPP_STATUS_AUTH_FAIL || (c) == PPP_STATUS_CLOSING || (c) == PPP_STATUS_CLOSING_WAIT || (c) == PPP_STATUS_CLOSED)
|
||||||
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue