summaryrefslogtreecommitdiff
path: root/accel-pppd/extra/chap-secrets.c
diff options
context:
space:
mode:
Diffstat (limited to 'accel-pppd/extra/chap-secrets.c')
-rw-r--r--accel-pppd/extra/chap-secrets.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/accel-pppd/extra/chap-secrets.c b/accel-pppd/extra/chap-secrets.c
index 3a299cc..61cd2a9 100644
--- a/accel-pppd/extra/chap-secrets.c
+++ b/accel-pppd/extra/chap-secrets.c
@@ -154,11 +154,11 @@ found:
}
pd->ip.addr = conf_gw_ip_address;
- if (n >= 3)
+ if (n >= 3 && ptr[2][0] != '*')
pd->ip.peer_addr = inet_addr(ptr[2]);
pd->ip.owner = &ipdb;
- if (n == 4)
+ if (n >= 4)
pd->rate = _strdup(ptr[3]);
list_add_tail(&pd->pd.entry, &ppp->pd_list);
@@ -224,7 +224,7 @@ static struct ipv4db_item_t *get_ip(struct ppp_t *ppp)
if (!pd)
return NULL;
- if (!pd->ip.addr)
+ if (!pd->ip.peer_addr)
return NULL;
return &pd->ip;
@@ -268,7 +268,7 @@ static void load_config(void)
conf_gw_ip_address = inet_addr(opt);
}
-static void __init init(void)
+static void init(void)
{
load_config();
@@ -280,3 +280,4 @@ static void __init init(void)
triton_event_register_handler(EV_CONFIG_RELOAD, (triton_event_func)load_config);
}
+DEFINE_INIT(100, init);