diff options
author | Roland McGrath <roland@gnu.org> | 1996-05-22 02:11:55 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 1996-05-22 02:11:55 +0000 |
commit | b8fe19fa809ac786b7d3dbb464cb1b3f887dc69d (patch) | |
tree | 0758f3dea04af210777ee864f4fa99e7f107b29e /misc | |
parent | 1b82a4a8cacdca3d02e98c1799b206da043d940c (diff) | |
download | glibc-b8fe19fa809ac786b7d3dbb464cb1b3f887dc69d.zip glibc-b8fe19fa809ac786b7d3dbb464cb1b3f887dc69d.tar.gz glibc-b8fe19fa809ac786b7d3dbb464cb1b3f887dc69d.tar.bz2 |
Wed May 22 01:48:54 1996 Ulrich Drepper <drepper@cygnus.com>
* stdlib/strtol.c [!QUAD] (ULONG_MAX, LONG_MAX): Define these
macros if they are not available.
(WEAKNAME): New macro to declare argument as weak.
Define function with __ prefix and add normal name as weak alias.
* sysdeps/posix/euidaccess.c (S_IROTH, S_IWOTH, S_IXOTH): Defines
these macros if not already available based on R_OK, W_OK, and
X_OK.
Tue May 21 18:48:46 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* misc/sys/syslog.h (__need___va_list): Define this instead of
__need_va_list before including <stdarg.h>.
* Makerules (o-iterator): Use $(object-suffixes-left) instead
of $(object-suffixes) to produce repetitions; this is used for other
lists than just that one.
[versioned]: Use $(o-iterator) properly.
* sysdeps/unix/sysv/linux/Implies: Include `gnu'.
* sysdeps/mach/hurd/Implies: Likewise.
Sat May 18 02:57:46 1996 Ulrich Drepper <drepper@cygnus.com>
* login/Makefile: New file. This directory contains functions
for user administration.
* Makefile (subdirs): Add login.
* misc/Makefile (headers): Remove utmp.h. Now in login/utmp.h.
(extra-libs, libutil-routines): Ditto.
* misc/login.c, misc/login_tty.c, misc/logout.c, misc/logwtmp.c,
misc/utmp.h: Moved to misc/.
* login/login.c, login/login_tty.c, login/logout.c,
login/logwtmp.c, login/utmp.h: Moved to here from misc/.
* login/utmp.h: Split file. Definitions of data structures
and constants are now in the system dependent utmpbits.h file.
* login/setutent_r.c, login/setutent.c, login/endutent_r.c,
login/endutent.c, login/getutent_r.c, login/getutent.c,
login/getutid_r.c, login/getutid.c, login/getutline_r.c,
login/getutline.c, login/pututline_r.c, login/pututline.c:
New files. Routines to handle utmp-style files.
* sysdeps/gnu/utmpbits.h: New file. Contains GNU/Linux
specific definitions of utmp data structures and constants.
* sysdeps/unix/sysv/utmpbits.h: Renamed from sysdeps/unix/sysv/utmp.h.
* sysdeps/generic/utmpbits.h: New file. Generic (BSDish) version of
definitions of utmp data structures and constants.
Fri May 17 00:01:31 1996 Ulrich Drepper <drepper@cygnus.com>
* locale/C-monetary.c: Default value for mon_decimal_point should be
'.'.
* stdio-common/printf.h: Remove Linux libc compatibility stuff.
Add `extra' flag. Currently used in __printf_fp.
* stdio-common/printf_fp.c (__guess_grouping): Renamed from
`guess_grouping' and extend visibility to extern. This function
is now used in `strfmon'.
(__printf_fp): Recognize new bit flag in info struct. This
triggers to use the grouping information and decimal point from
the LC_MONETARY category instead of the LC_NUMERIC category.
* stdio-common/vfprintf.c (process_arg): Correct major bug. In
`complicated' loop we must not use the varargs because the args
are already available in the ARGS_VALUE array.
* stdlib/Makefile (headers): Add monetary.h.
(routines): Add strfmon.
* stdlib/monetary.h: New file. Header for strfmon function.
* stdlib/strfmon.c: New file. Implement strfmon function to print
monetary amounts according to current locale's rules.
* sysdeps/unix/sysv/linux/i386/sys/vm86.h: The kernel header is
now (>= Linux-1.3.100) called <asm/vm86.h>.
Diffstat (limited to 'misc')
-rw-r--r-- | misc/Makefile | 8 | ||||
-rw-r--r-- | misc/login.c | 63 | ||||
-rw-r--r-- | misc/login_tty.c | 75 | ||||
-rw-r--r-- | misc/logout.c | 72 | ||||
-rw-r--r-- | misc/logwtmp.c | 67 | ||||
-rw-r--r-- | misc/utmp.h | 82 |
6 files changed, 2 insertions, 365 deletions
diff --git a/misc/Makefile b/misc/Makefile index db08014..b36e46f 100644 --- a/misc/Makefile +++ b/misc/Makefile @@ -25,8 +25,8 @@ subdir := misc headers := sys/uio.h iovec.h sys/ioctl.h sys/ptrace.h ioctls.h sys/file.h\ a.out.h nlist.h stab.h stab.def sgtty.h sys/dir.h sys/cdefs.h \ ttyent.h syscall.h syslog.h sys/syslog.h paths.h sys/reboot.h \ - sys/mman.h sys/param.h fstab.h mntent.h search.h utmp.h \ - err.h error.h sys/queue.h sysexits.h + sys/mman.h sys/param.h fstab.h mntent.h search.h err.h error.h\ + sys/queue.h sysexits.h routines := brk sbrk sstk ioctl \ readv writev \ @@ -60,10 +60,6 @@ install-lib := libbsd-compat.a libg.a non-lib.a := libbsd-compat.a gpl2lgpl := error.c error.h -# Build the -lutil library with these extra functions. -extra-libs := libutil -libutil-routines:= login login_tty logout logwtmp pty - include ../Rules diff --git a/misc/login.c b/misc/login.c deleted file mode 100644 index 5b71082..0000000 --- a/misc/login.c +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (c) 1988, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 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. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)login.c 8.1 (Berkeley) 6/4/93"; -#endif /* LIBC_SCCS and not lint */ - -#include <sys/types.h> - -#include <fcntl.h> -#include <unistd.h> -#include <stdlib.h> -#include <utmp.h> -#include <stdio.h> - -void -login(ut) - const struct utmp *ut; -{ - register int fd; - int tty; - - tty = ttyslot(); - if (tty > 0 && (fd = open(_PATH_UTMP, O_WRONLY|O_CREAT, 0644)) >= 0) { - (void)lseek(fd, (off_t)(tty * sizeof(struct utmp)), L_SET); - (void)write(fd, ut, sizeof(struct utmp)); - (void)close(fd); - } - if ((fd = open(_PATH_WTMP, O_WRONLY|O_APPEND, 0)) >= 0) { - (void)write(fd, ut, sizeof(struct utmp)); - (void)close(fd); - } -} diff --git a/misc/login_tty.c b/misc/login_tty.c deleted file mode 100644 index e4e075c..0000000 --- a/misc/login_tty.c +++ /dev/null @@ -1,75 +0,0 @@ -/*- - * Copyright (c) 1990, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 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. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)login_tty.c 8.1 (Berkeley) 6/4/93"; -#endif /* LIBC_SCCS and not lint */ - -#include <sys/param.h> -#include <sys/ioctl.h> -#include <unistd.h> -#include <fcntl.h> - -int -login_tty(fd) - int fd; -{ - (void) setsid(); -#ifdef TIOCSCTTY - if (ioctl(fd, TIOCSCTTY, (char *)NULL) == -1) - return (-1); -#else - { - /* This might work. */ - char *fdname = ttyname (fd); - int newfd; - if (fdname) - { - if (fd != 0) - (void) close (0); - if (fd != 1) - (void) close (1); - if (fd != 2) - (void) close (2); - newfd = open (fdname, O_RDWR); - (void) close (newfd); - } - } -#endif - (void) dup2(fd, 0); - (void) dup2(fd, 1); - (void) dup2(fd, 2); - if (fd > 2) - (void) close(fd); - return (0); -} diff --git a/misc/logout.c b/misc/logout.c deleted file mode 100644 index 40ae254..0000000 --- a/misc/logout.c +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright (c) 1988, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 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. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)logout.c 8.1 (Berkeley) 6/4/93"; -#endif /* LIBC_SCCS and not lint */ - -#include <sys/types.h> -#include <sys/time.h> - -#include <fcntl.h> -#include <utmp.h> -#include <unistd.h> -#include <stdlib.h> -#include <string.h> - -typedef struct utmp UTMP; - -int -logout(line) - register const char *line; -{ - register int fd; - UTMP ut; - int rval; - - if ((fd = open(_PATH_UTMP, O_RDWR, 0)) < 0) - return(0); - rval = 0; - while (read(fd, &ut, sizeof(UTMP)) == sizeof(UTMP)) { - if (!ut.ut_name[0] || strncmp(ut.ut_line, line, UT_LINESIZE)) - continue; - bzero(ut.ut_name, UT_NAMESIZE); - bzero(ut.ut_host, UT_HOSTSIZE); - (void)time(&ut.ut_time); - (void)lseek(fd, -(off_t)sizeof(UTMP), L_INCR); - (void)write(fd, &ut, sizeof(UTMP)); - rval = 1; - } - (void)close(fd); - return(rval); -} diff --git a/misc/logwtmp.c b/misc/logwtmp.c deleted file mode 100644 index 7734ca9..0000000 --- a/misc/logwtmp.c +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright (c) 1988, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 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. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)logwtmp.c 8.1 (Berkeley) 6/4/93"; -#endif /* LIBC_SCCS and not lint */ - -#include <sys/types.h> -#include <sys/file.h> -#include <sys/stat.h> -#include <time.h> -#include <string.h> - -#include <unistd.h> -#include <utmp.h> - -void -logwtmp(line, name, host) - const char *line, *name, *host; -{ - struct utmp ut; - struct stat buf; - int fd; - - if ((fd = open(_PATH_WTMP, O_WRONLY|O_APPEND, 0)) < 0) - return; - if (fstat(fd, &buf) == 0) { - (void) strncpy(ut.ut_line, line, sizeof(ut.ut_line)); - (void) strncpy(ut.ut_name, name, sizeof(ut.ut_name)); - (void) strncpy(ut.ut_host, host, sizeof(ut.ut_host)); - (void) time(&ut.ut_time); - if (write(fd, (char *)&ut, sizeof(struct utmp)) != - sizeof(struct utmp)) - (void) ftruncate(fd, buf.st_size); - } - (void) close(fd); -} diff --git a/misc/utmp.h b/misc/utmp.h deleted file mode 100644 index cfd9438..0000000 --- a/misc/utmp.h +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright (c) 1988, 1993 - * The Regents of the University of California. All rights reserved. - * (c) UNIX System Laboratories, Inc. - * All or some portions of this file are derived from material licensed - * to the University of California by American Telephone and Telegraph - * Co. or Unix System Laboratories, Inc. and are reproduced herein with - * the permission of UNIX System Laboratories, Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 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. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)utmp.h 8.2 (Berkeley) 1/21/94 - */ - -#ifndef _UTMP_H_ -#define _UTMP_H_ - -#include <sys/cdefs.h> - -#define _PATH_UTMP "/var/run/utmp" -#define _PATH_WTMP "/var/log/wtmp" -#define _PATH_LASTLOG "/var/log/lastlog" - -#define UT_NAMESIZE 8 -#define UT_LINESIZE 8 -#define UT_HOSTSIZE 16 - -__BEGIN_DECLS - -struct lastlog { - time_t ll_time; - char ll_line[UT_LINESIZE]; - char ll_host[UT_HOSTSIZE]; -}; - -struct utmp { - char ut_line[UT_LINESIZE]; - char ut_name[UT_NAMESIZE]; - char ut_host[UT_HOSTSIZE]; - long ut_time; -}; - - -/* Write the given entry into utmp and wtmp. */ -extern void login __P ((const struct utmp *)); - -/* Write the utmp entry to say the user on UT_LINE has logged out. */ -extern int logout __P ((const char *ut_line)); - -/* Append to wtmp an entry for the current time and the given info. */ -extern void logwtmp __P ((const char *ut_line, const char *ut_name, - const char *ut_host)); - -__END_DECLS - -#endif /* !_UTMP_H_ */ |