summaryrefslogtreecommitdiff
path: root/accel-pppd/ctrl
diff options
context:
space:
mode:
Diffstat (limited to 'accel-pppd/ctrl')
-rw-r--r--accel-pppd/ctrl/l2tp/l2tp.c9
-rw-r--r--accel-pppd/ctrl/pppoe/pppoe.c11
-rw-r--r--accel-pppd/ctrl/pptp/pptp.c9
3 files changed, 28 insertions, 1 deletions
diff --git a/accel-pppd/ctrl/l2tp/l2tp.c b/accel-pppd/ctrl/l2tp/l2tp.c
index fa760487..162c9cb4 100644
--- a/accel-pppd/ctrl/l2tp/l2tp.c
+++ b/accel-pppd/ctrl/l2tp/l2tp.c
@@ -56,6 +56,7 @@ static int conf_dir300_quirk = 0;
static const char *conf_host_name = "accel-ppp";
static const char *conf_secret = NULL;
static int conf_mppe = MPPE_UNSET;
+static char *conf_ip_pool;
static unsigned int stat_active;
static unsigned int stat_starting;
@@ -336,6 +337,7 @@ static int l2tp_tunnel_alloc(struct l2tp_serv_t *serv, struct l2tp_packet_t *pac
conn->ctrl.finished = l2tp_ppp_finished;
conn->ctrl.max_mtu = 1420;
conn->ctrl.mppe = conf_mppe;
+ conn->ctrl.def_pool = conf_ip_pool;
conn->ctrl.calling_station_id = _malloc(17);
conn->ctrl.called_station_id = _malloc(17);
@@ -1232,6 +1234,13 @@ static void load_config(void)
else if (strcmp(opt, "require") == 0)
conf_mppe = MPPE_REQUIRE;
}
+
+ opt = conf_get_opt("l2tp", "ip-pool");
+ if (opt) {
+ if (!conf_ip_pool || strcmp(conf_ip_pool, opt))
+ conf_ip_pool = _strdup(opt);
+ } else
+ conf_ip_pool = NULL;
}
static void l2tp_init(void)
diff --git a/accel-pppd/ctrl/pppoe/pppoe.c b/accel-pppd/ctrl/pppoe/pppoe.c
index 079ef51b..6aef1a9f 100644
--- a/accel-pppd/ctrl/pppoe/pppoe.c
+++ b/accel-pppd/ctrl/pppoe/pppoe.c
@@ -80,7 +80,8 @@ int conf_ifname_in_sid;
char *conf_pado_delay;
int conf_tr101 = 1;
int conf_padi_limit = 0;
-int conf_mppe = MPPE_UNSET;
+static int conf_mppe = MPPE_UNSET;
+static char *conf_ip_pool;
static mempool_t conn_pool;
static mempool_t pado_pool;
@@ -265,6 +266,7 @@ static struct pppoe_conn_t *allocate_channel(struct pppoe_serv_t *serv, const ui
conn->ctrl.type = CTRL_TYPE_PPPOE;
conn->ctrl.name = "pppoe";
conn->ctrl.mppe = conf_mppe;
+ conn->ctrl.def_pool = conf_ip_pool;
conn->ctrl.calling_station_id = _malloc(IFNAMSIZ + 19);
conn->ctrl.called_station_id = _malloc(IFNAMSIZ + 19);
@@ -1424,6 +1426,13 @@ static void load_config(void)
else if (strcmp(opt, "require") == 0)
conf_mppe = MPPE_REQUIRE;
}
+
+ opt = conf_get_opt("pppoe", "ip-pool");
+ if (opt) {
+ if (!conf_ip_pool || strcmp(conf_ip_pool, opt))
+ conf_ip_pool = _strdup(opt);
+ } else
+ conf_ip_pool = NULL;
}
static void pppoe_init(void)
diff --git a/accel-pppd/ctrl/pptp/pptp.c b/accel-pppd/ctrl/pptp/pptp.c
index 2f0c5efd..f2e9d43c 100644
--- a/accel-pppd/ctrl/pptp/pptp.c
+++ b/accel-pppd/ctrl/pptp/pptp.c
@@ -59,6 +59,7 @@ static int conf_echo_interval = 0;
static int conf_echo_failure = 3;
static int conf_verbose = 0;
static int conf_mppe = MPPE_UNSET;
+static char *conf_ip_pool;
static mempool_t conn_pool;
@@ -671,6 +672,7 @@ static int pptp_connect(struct triton_md_handler_t *h)
conn->ctrl.type = CTRL_TYPE_PPTP;
conn->ctrl.name = "pptp";
conn->ctrl.mppe = conf_mppe;
+ conn->ctrl.def_pool = conf_ip_pool;
conn->ctrl.calling_station_id = _malloc(17);
conn->ctrl.called_station_id = _malloc(17);
@@ -755,6 +757,13 @@ static void load_config(void)
else if (strcmp(opt, "require") == 0)
conf_mppe = MPPE_REQUIRE;
}
+
+ opt = conf_get_opt("pptp", "ip-pool");
+ if (opt) {
+ if (!conf_ip_pool || strcmp(conf_ip_pool, opt))
+ conf_ip_pool = _strdup(opt);
+ } else
+ conf_ip_pool = NULL;
}
static void pptp_init(void)