From 4065e59f0924d4a681b805b0c978e5bfe88fd696 Mon Sep 17 00:00:00 2001 From: Dmitry Kozlov Date: Wed, 24 Nov 2010 23:46:03 +0300 Subject: l2tp: fixed connection problem on win7 (but still works only if windows firewall is turned off) --- accel-pptpd/ctrl/l2tp/l2tp.c | 6 +++--- accel-pptpd/ctrl/l2tp/packet.c | 5 ++++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/accel-pptpd/ctrl/l2tp/l2tp.c b/accel-pptpd/ctrl/l2tp/l2tp.c index b860f57..44db1af 100644 --- a/accel-pptpd/ctrl/l2tp/l2tp.c +++ b/accel-pptpd/ctrl/l2tp/l2tp.c @@ -225,7 +225,7 @@ static int l2tp_tunnel_alloc(struct l2tp_serv_t *serv, struct l2tp_packet_t *pac struct l2tp_conn_t *conn; struct sockaddr_in addr; uint16_t tid; - char *opt; + //char *opt; conn = mempool_alloc(l2tp_conn_pool); if (!conn) { @@ -247,7 +247,7 @@ static int l2tp_tunnel_alloc(struct l2tp_serv_t *serv, struct l2tp_packet_t *pac addr.sin_family = AF_INET; addr.sin_port = 0; - opt = conf_get_opt("l2tp", "bind"); + /*opt = conf_get_opt("l2tp", "bind"); if (opt) addr.sin_addr.s_addr = inet_addr(opt); else @@ -256,7 +256,7 @@ static int l2tp_tunnel_alloc(struct l2tp_serv_t *serv, struct l2tp_packet_t *pac if (bind(conn->hnd.fd, (struct sockaddr *)&addr, sizeof(addr))) { log_error("l2tp: bind: %s\n", strerror(errno)); goto out_err; - } + }*/ if (connect(conn->hnd.fd, (struct sockaddr *)&pack->addr, sizeof(addr))) { log_error("l2tp: connect: %s\n", strerror(errno)); diff --git a/accel-pptpd/ctrl/l2tp/packet.c b/accel-pptpd/ctrl/l2tp/packet.c index 2f1b60f..40e6759 100644 --- a/accel-pptpd/ctrl/l2tp/packet.c +++ b/accel-pptpd/ctrl/l2tp/packet.c @@ -187,6 +187,9 @@ int l2tp_recv(int fd, struct l2tp_packet_t **p) goto out_err; } + if (avp->vendor) + goto skip; + da = l2tp_dict_find_attr_by_id(ntohs(avp->type)); if (!da) { if (conf_verbose) @@ -260,7 +263,7 @@ int l2tp_recv(int fd, struct l2tp_packet_t **p) break; } } - +skip: ptr += avp->length; length -= avp->length; } -- cgit v1.2.3