]> git.ozlabs.org Git - ppp.git/blobdiff - pppd/sys-solaris.c
Added new "enable-session" option to enable session accounting and
[ppp.git] / pppd / sys-solaris.c
index fb8f0fd0e0ab4cb54e4badf2e1eadfc4ca8ea075..06e8f733a9c52447ef2de5ee8b2493de2450ed28 100644 (file)
@@ -85,7 +85,7 @@
  * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-#define RCSID  "$Id: sys-solaris.c,v 1.13 2004/11/04 10:02:26 paulus Exp $"
+#define RCSID  "$Id: sys-solaris.c,v 1.15 2007/06/19 02:08:35 carlsonj Exp $"
 
 #include <limits.h>
 #include <stdio.h>
@@ -194,7 +194,7 @@ static int  if6_is_up = 0;  /* IPv6 interface has been marked up */
        eui64_copy(eui64, s->sin6_addr.s6_addr32[2]);   \
        s->sin6_family = AF_INET6;              \
        l.lifr_addr.ss_family = AF_INET6;       \
-       l.lifr_addrlen = 10;                    \
+       l.lifr_addrlen = 64;                    \
        l.lifr_addr = laddr;                    \
        } while (0)
 
@@ -2465,8 +2465,13 @@ logwtmp(line, name, host)
     if (name[0] != 0) {
        /* logging in */
        strncpy(utmpx.ut_user, name, sizeof(utmpx.ut_user));
-       strncpy(utmpx.ut_id, ifname, sizeof(utmpx.ut_id));
        strncpy(utmpx.ut_line, line, sizeof(utmpx.ut_line));
+       strncpy(utmpx.ut_host, host, sizeof(utmpx.ut_host));
+       if (*host != '\0') {
+           utmpx.ut_syslen = strlen(host) + 1;
+           if (utmpx.ut_syslen > sizeof(utmpx.ut_host))
+               utmpx.ut_syslen = sizeof(utmpx.ut_host);
+       }
        utmpx.ut_pid = getpid();
        utmpx.ut_type = USER_PROCESS;
     } else {