diff -urNb mpd-3.18/src/iface.c mpd-3.18.patched/src/iface.c --- mpd-3.18/src/iface.c Tue May 4 22:12:28 2004 +++ mpd-3.18.patched/src/iface.c Wed Sep 28 11:25:32 2005 @@ -20,6 +20,7 @@ #include "netgraph.h" #include "radius.h" #include "util.h" +#include "pptp.h" #include #include #include @@ -680,11 +681,24 @@ ns2buf[0] = '\0'; snprintf(peerbuf, sizeof(peerbuf), "%s", inet_ntoa(iface->peer_addr)); + + if (lnk->phys->type == &gPptpPhysType) { + char pptp_peer[100]; + + snprintf(pptp_peer, sizeof(pptp_peer), "%s", inet_ntoa(*(PptpGetPeerIp()))); + ExecCmd(LG_IFACE, "%s %s inet %s %s %s %s %s %s", + iface->up_script, iface->ifname, inet_ntoa(iface->self_addr), + peerbuf, + *bund->peer_authname ? bund->peer_authname : bund->conf.authname, + ns1buf, ns2buf, + pptp_peer); + } else { ExecCmd(LG_IFACE, "%s %s inet %s %s %s %s %s", iface->up_script, iface->ifname, inet_ntoa(iface->self_addr), peerbuf, *bund->peer_authname ? bund->peer_authname : bund->conf.authname, ns1buf, ns2buf); + } } /* Done */