summaryrefslogtreecommitdiff
path: root/accel-pppd/ctrl
diff options
context:
space:
mode:
authorxebd <xeb@mail.ru>2021-05-24 15:50:07 +0300
committerGitHub <noreply@github.com>2021-05-24 15:50:07 +0300
commit84f66a4db569e6b6ae0a7e1092d4dde4e664d5ff (patch)
tree34f1d1aa306ce35e597baf885275971ddd6b61d9 /accel-pppd/ctrl
parent277ad4c3c7af01b266136c5068b282d43d774949 (diff)
parentfc19705d6198ffea39e31306c9d92c7180a2af43 (diff)
downloadaccel-ppp-84f66a4db569e6b6ae0a7e1092d4dde4e664d5ff.tar.gz
accel-ppp-84f66a4db569e6b6ae0a7e1092d4dde4e664d5ff.zip
Merge pull request #14 from DmitriyEshenko/accept-blank-service
Add accept-blank-service option
Diffstat (limited to 'accel-pppd/ctrl')
-rw-r--r--accel-pppd/ctrl/pppoe/pppoe.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/accel-pppd/ctrl/pppoe/pppoe.c b/accel-pppd/ctrl/pppoe/pppoe.c
index 18aac8bd..415dd7c0 100644
--- a/accel-pppd/ctrl/pppoe/pppoe.c
+++ b/accel-pppd/ctrl/pppoe/pppoe.c
@@ -90,6 +90,7 @@ struct iplink_arg {
int conf_verbose;
char *conf_service_name[255];
int conf_accept_any_service;
+int conf_accept_blank_service;
char *conf_ac_name;
int conf_ifname_in_sid;
char *conf_pado_delay;
@@ -1003,7 +1004,11 @@ static void pppoe_recv_PADI(struct pppoe_serv_t *serv, uint8_t *pack, int size)
case TAG_END_OF_LIST:
break;
case TAG_SERVICE_NAME:
- if (conf_service_name[0]) {
+ if (tag->tag_len == 0 && conf_accept_blank_service) {
+ service_match = 1;
+ break;
+ }
+ else if (conf_service_name[0]) {
int svc_index = 0;
do {
if (ntohs(tag->tag_len) == strlen(conf_service_name[svc_index]) &&
@@ -1949,6 +1954,10 @@ static void load_config(void)
if (opt)
conf_accept_any_service = atoi(opt);
+ opt = conf_get_opt("pppoe", "accept-blank-service");
+ if (opt)
+ conf_accept_blank_service = atoi(opt);
+
opt = conf_get_opt("pppoe", "ac-name");
if (!opt)
opt = conf_get_opt("pppoe", "AC-Name");