X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=pppd%2Fsys-solaris.c;h=93d90332e0d4f2116b17800970e082cf193640dd;hb=733c00a6ce0244ba5003f4f71a014db8200a30fe;hp=add4423bac3cd281b872e07e47bc87d75c8cfd89;hpb=b55be857a3034844d8396798e0dbb37c3f6c2f93;p=ppp.git diff --git a/pppd/sys-solaris.c b/pppd/sys-solaris.c index add4423..93d9033 100644 --- a/pppd/sys-solaris.c +++ b/pppd/sys-solaris.c @@ -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.14 2005/05/04 21:31:20 carlsonj Exp $" +#define RCSID "$Id: sys-solaris.c,v 1.16 2008/01/30 14:26:53 carlsonj Exp $" #include #include @@ -1225,6 +1225,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; @@ -2220,7 +2223,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]; @@ -2465,8 +2468,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 { @@ -2739,7 +2747,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) {