summaryrefslogtreecommitdiff
path: root/accel-pptpd/ctrl/l2tp
diff options
context:
space:
mode:
authorDmitry Kozlov <xeb@mail.ru>2010-11-24 23:46:03 +0300
committerDmitry Kozlov <xeb@mail.ru>2010-11-24 23:46:03 +0300
commit4065e59f0924d4a681b805b0c978e5bfe88fd696 (patch)
tree619f03be01ea60328c110355767a3874edbac2c3 /accel-pptpd/ctrl/l2tp
parent3abd20bf026b1500121969f02af51cfd29ecb47b (diff)
downloadaccel-ppp-xebd-4065e59f0924d4a681b805b0c978e5bfe88fd696.tar.gz
accel-ppp-xebd-4065e59f0924d4a681b805b0c978e5bfe88fd696.zip
l2tp: fixed connection problem on win7 (but still works only if windows firewall is turned off)
Diffstat (limited to 'accel-pptpd/ctrl/l2tp')
-rw-r--r--accel-pptpd/ctrl/l2tp/l2tp.c6
-rw-r--r--accel-pptpd/ctrl/l2tp/packet.c5
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;
}