X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=pppd%2Fsys-solaris.c;h=633cf5f78cf9fa48958d4a7bbf38b1c294a4ae24;hb=56371803b11c557e07ae968bef34b178b518139d;hp=d134fe9fc4095c3fd4d6e81a7abb35a3d13c8f54;hpb=e5b7cafa28aeba66499fa26b286192529e5fde15;p=ppp.git diff --git a/pppd/sys-solaris.c b/pppd/sys-solaris.c index d134fe9..633cf5f 100644 --- a/pppd/sys-solaris.c +++ b/pppd/sys-solaris.c @@ -27,16 +27,11 @@ * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. The name(s) of the authors of this software must not be used to + * 2. The name(s) of the authors of this software must not be used to * endorse or promote products derived from this software without * prior written permission. * - * 4. Redistributions of any form whatsoever must retain the following + * 3. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by Paul Mackerras * ". @@ -90,7 +85,7 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#define RCSID "$Id: sys-solaris.c,v 1.11 2003/04/07 00:01:46 paulus Exp $" +#define RCSID "$Id: sys-solaris.c,v 1.16 2008/01/30 14:26:53 carlsonj Exp $" #include #include @@ -107,6 +102,7 @@ #endif #include #include +#include #include #include #include @@ -170,7 +166,6 @@ #define UDP6_DEV_NAME "/dev/udp6" #endif /* !defined(UDP6_DEV_NAME) && defined(SOL2) */ -static const char rcsid[] = RCSID; #if defined(SOL2) /* @@ -198,7 +193,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) @@ -1229,6 +1224,9 @@ set_up_tty(fd, local) } #endif + if (stop_bits >= 2) + tios.c_cflag |= CSTOPB; + tios.c_cflag |= CS8 | CREAD | HUPCL; if (local || !modem) tios.c_cflag |= CLOCAL; @@ -2224,7 +2222,7 @@ get_hw_addr_dlpi(name, hwaddr) char *name; struct sockaddr *hwaddr; { - char *p, *q; + char *q; int unit, iffd, adrlen; unsigned char *adrp; char ifdev[24]; @@ -2469,8 +2467,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 { @@ -2743,7 +2746,6 @@ get_pty(master_fdp, slave_fdp, slave_name, uid) { int mfd, sfd; char *pty_name; - struct termios tios; mfd = open("/dev/ptmx", O_RDWR); if (mfd < 0) {