Below is a patch that corrects pptp to set the pptp hostname as the system hostname, as per the man page and l2tp:

diff --git a/usr.sbin/npppd/pptp/pptp_ctrl.c b/usr.sbin/npppd/pptp/pptp_ctrl.c
index 1dfdc03..722b2a0 100644
--- a/usr.sbin/npppd/pptp/pptp_ctrl.c
+++ b/usr.sbin/npppd/pptp/pptp_ctrl.c
@@ -721,6 +721,7 @@ pptp_ctrl_send_SCCRP(pptp_ctrl *_this, int result, int error)
        struct pptp_scc *scc;
        char logbuf[512];
        const char *val;
+       char hbuf[NI_MAXHOST + NI_MAXSERV + 16];

        scc = bytebuffer_pointer(_this->send_buf);
        lpkt = bytebuffer_remaining(_this->send_buf);
@@ -749,8 +750,10 @@ pptp_ctrl_send_SCCRP(pptp_ctrl *_this, int result, int error)
         * 63 character */
        /* host name */

-       if ((val = PPTP_CTRL_CONF(_this)->hostname) == NULL)
-               val = "";
+       if ((val = PPTP_CTRL_CONF(_this)->hostname) == NULL) {
+               gethostname(hbuf, sizeof(hbuf));
+               val = hbuf;
+       }
        strlcpy(scc->host_name, val, sizeof(scc->host_name));

        /* vender name */

Reply via email to