diff -urNb mpd-original/src/iface.c mpd/src/iface.c --- mpd-original/src/iface.c 2008-10-24 03:05:10.000000000 +0600 +++ mpd/src/iface.c 2009-03-10 11:18:32.000000000 +0500 @@ -840,6 +840,21 @@ char selfbuf[40],peerbuf[40]; char ns1buf[21], ns2buf[21]; int res; + Link L; + char peeraddr[64]; + int l; + + /* Fill in peeraddr[] */ + + memset(peeraddr, 0, sizeof(peeraddr)); + + for (l=0; l < b->n_links; l++) { + L = b->links[l]; + if (L && (L->state == PHYS_STATE_UP)) { + PhysGetPeerAddr(L, peeraddr, sizeof(peeraddr)); + break; + } + } if(b->ipcp.want_dns[0].s_addr != 0) snprintf(ns1buf, sizeof(ns1buf), "dns1 %s", inet_ntoa(b->ipcp.want_dns[0])); @@ -850,10 +865,11 @@ else ns2buf[0] = '\0'; - res = ExecCmd(LG_IFACE2, b->name, "%s %s inet %s %s '%s' %s %s", + res = ExecCmd(LG_IFACE2, b->name, "%s %s inet %s %s '%s' %s %s %s", iface->up_script, iface->ifname, u_rangetoa(&iface->self_addr,selfbuf, sizeof(selfbuf)), u_addrtoa(&iface->peer_addr, peerbuf, sizeof(peerbuf)), *b->params.authname ? b->params.authname : "-", + peeraddr[0] ? peeraddr : "N/A", ns1buf, ns2buf); if (res != 0) { FsmFailure(&b->ipcp.fsm, FAIL_NEGOT_FAILURE); diff -urNb mpd-original/src/web.c mpd/src/web.c --- mpd-original/src/web.c 2008-09-10 20:26:22.000000000 +0600 +++ mpd/src/web.c 2009-03-06 18:49:30.000000000 +0500 @@ -553,7 +553,8 @@ return (1); } priv = u->priv; - } + } else + priv = 1; if (!(f = http_response_get_output(resp, 1))) { return 0;