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 */