summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKozlov Dmitry <dima@server>2010-12-29 12:59:29 +0300
committerKozlov Dmitry <dima@server>2010-12-29 12:59:29 +0300
commit13db830a1d802bec8c240abae6e1c431ac4299b5 (patch)
tree140fbb5e36de9c6852c28852da7d1458d0361a0f
parent0835edba54937da10897a7541daefc4a674f01a2 (diff)
downloadaccel-ppp-13db830a1d802bec8c240abae6e1c431ac4299b5.tar.gz
accel-ppp-13db830a1d802bec8c240abae6e1c431ac4299b5.zip
:Revert "ppp: check if requested IP is already assigned if check-ip option is specified"
This reverts commit f3d14bf97387aa2a528a2d70defa44c1a118ffaf.
-rw-r--r--accel-pptpd/accel-pptp.conf1
-rw-r--r--accel-pptpd/accel-pptp.conf.55
-rw-r--r--accel-pptpd/ppp/ipcp_opt_ipaddr.c35
3 files changed, 1 insertions, 40 deletions
diff --git a/accel-pptpd/accel-pptp.conf b/accel-pptpd/accel-pptp.conf
index 0050cea..2ec31e7 100644
--- a/accel-pptpd/accel-pptp.conf
+++ b/accel-pptpd/accel-pptp.conf
@@ -28,7 +28,6 @@ mtu=1400
mru=1400
#ccp=0
#sid-case=upper
-#check-ip=0
[lcp]
echo-interval=30
diff --git a/accel-pptpd/accel-pptp.conf.5 b/accel-pptpd/accel-pptp.conf.5
index b786bef..f7d190a 100644
--- a/accel-pptpd/accel-pptp.conf.5
+++ b/accel-pptpd/accel-pptp.conf.5
@@ -98,12 +98,9 @@ Prefered MRU.
Disable CCP negotiation if this parameter is zero.
.TP
.TP
-.BI "sid-case=" upper|lower
+.BI "sid-case=" [upper|lower]
Specifies in which case generate session identifier (default lower).
.TP
-.BI "check-ip=" 0|1
-Specifies whether accel-pptp should check if IP already assigned to other ppp interface (default 0).
-.TP
.SH [lcp]
.br
PPP LCP module configuration
diff --git a/accel-pptpd/ppp/ipcp_opt_ipaddr.c b/accel-pptpd/ppp/ipcp_opt_ipaddr.c
index 05120eb..93ddb10 100644
--- a/accel-pptpd/ppp/ipcp_opt_ipaddr.c
+++ b/accel-pptpd/ppp/ipcp_opt_ipaddr.c
@@ -16,8 +16,6 @@
#include "memdebug.h"
-static int conf_check_exists;
-
static struct ipcp_option_t *ipaddr_init(struct ppp_ipcp_t *ipcp);
static void ipaddr_free(struct ppp_ipcp_t *ipcp, struct ipcp_option_t *opt);
static int ipaddr_send_conf_req(struct ppp_ipcp_t *ipcp, struct ipcp_option_t *opt, uint8_t *ptr);
@@ -63,24 +61,6 @@ static void ipaddr_free(struct ppp_ipcp_t *ipcp, struct ipcp_option_t *opt)
_free(ipaddr_opt);
}
-static int check_exists(in_addr_t addr)
-{
- struct ppp_t *ppp;
- int r = 0;
-
- pthread_rwlock_rdlock(&ppp_lock);
- list_for_each_entry(ppp, &ppp_list, entry) {
- if (!ppp->terminating && ppp->peer_ipaddr == addr) {
- log_ppp_warn("ppp:ipcp: requested IP already assigned to %s\n", ppp->ifname);
- r = 1;
- break;
- }
- }
- pthread_rwlock_unlock(&ppp_lock);
-
- return r;
-}
-
static int ipaddr_send_conf_req(struct ppp_ipcp_t *ipcp, struct ipcp_option_t *opt, uint8_t *ptr)
{
struct ipaddr_option_t *ipaddr_opt=container_of(opt,typeof(*ipaddr_opt),opt);
@@ -93,7 +73,6 @@ static int ipaddr_send_conf_req(struct ppp_ipcp_t *ipcp, struct ipcp_option_t *o
return -1;
}
}
-
if (iprange_tunnel_check(ipaddr_opt->ip->peer_addr)) {
log_ppp_warn("ppp:ipcp: to avoid kernel soft lockup requested IP cannot be assigned (%i.%i.%i.%i)\n",
ipaddr_opt->ip->peer_addr&0xff,
@@ -103,9 +82,6 @@ static int ipaddr_send_conf_req(struct ppp_ipcp_t *ipcp, struct ipcp_option_t *o
return -1;
}
- if (conf_check_exists && check_exists(ipaddr_opt->ip->peer_addr))
- return -1;
-
opt32->hdr.id=CI_ADDR;
opt32->hdr.len=6;
opt32->val=ipaddr_opt->ip->addr;
@@ -209,19 +185,8 @@ static void ipaddr_print(void (*print)(const char *fmt,...),struct ipcp_option_t
print("<addr %s>",inet_ntoa(in));
}
-static void load_config(void)
-{
- const char *opt;
-
- opt = conf_get_opt("ppp", "check-ip");
- if (opt && atoi(opt) > 0)
- conf_check_exists = 1;
-}
-
static void __init ipaddr_opt_init()
{
ipcp_option_register(&ipaddr_opt_hnd);
- load_config();
- triton_event_register_handler(EV_CONFIG_RELOAD, (triton_event_func)load_config);
}