diff --git a/libexec/pppoed/pppoed.8 b/libexec/pppoed/pppoed.8 index c54aa4643374..eedaa4a91d8d 100644 --- a/libexec/pppoed/pppoed.8 +++ b/libexec/pppoed/pppoed.8 @@ -110,10 +110,12 @@ data socket .Xr ng_socket 4 ) when started. .Pp -The environment variable +The environment variables .Ev HISMACADDR -is made available to the child process and is set to the MAC address of -the peer. +and +.Ev ACNAME +are made available to the child process and are set to the MAC address of +the peer and the name of the AC respectively. .Pp Upon invocation, .Nm diff --git a/libexec/pppoed/pppoed.c b/libexec/pppoed/pppoed.c index 97d7f37e77f0..63f7325b57e1 100644 --- a/libexec/pppoed/pppoed.c +++ b/libexec/pppoed/pppoed.c @@ -405,6 +405,12 @@ Spawn(const char *prog, const char *acname, const char *provider, case NGM_PPPOE_FAIL: msg = "FAIL"; break; case NGM_PPPOE_CLOSE: msg = "CLOSE"; break; case NGM_PPPOE_GET_STATUS: msg = "GET_STATUS"; break; + case NGM_PPPOE_ACNAME: + msg = "ACNAME"; + if (setenv("ACNAME", sts->hook, 1) != 0) + syslog(LOG_WARNING, "setenv: cannot set ACNAME=%s: %m", + sts->hook); + break; default: snprintf(unknown, sizeof unknown, "<%d>", (int)rep->header.cmd); msg = unknown; diff --git a/usr.sbin/ppp/ether.c b/usr.sbin/ppp/ether.c index be261da06dba..f8a3534639b4 100644 --- a/usr.sbin/ppp/ether.c +++ b/usr.sbin/ppp/ether.c @@ -254,6 +254,11 @@ ether_MessageIn(struct etherdevice *dev) case NGM_PPPOE_FAIL: msg = "FAIL"; break; case NGM_PPPOE_CLOSE: msg = "CLOSE"; break; case NGM_PPPOE_GET_STATUS: msg = "GET_STATUS"; break; + case NGM_PPPOE_ACNAME: + msg = "ACNAME"; + if (setenv("ACNAME", sts->hook, 1) != 0) + log_Printf(LogWARN, "setenv: cannot set ACNAME=%s: %m", sts->hook); + break; default: snprintf(unknown, sizeof unknown, "<%d>", (int)rep->header.cmd); msg = unknown;