Petter Reinholdtsen
ca4561271e
Check exit code from dup() in spawn() and log error if it fail.
...
Patch from Michał Kulling.
2014-02-10 22:47:27 +00:00
Petter Reinholdtsen
d53cccb542
Use narrowly scoped file descriptor for handling opened TTY in
...
spawn(). Patch from Michał Kulling.
2014-02-10 22:44:15 +00:00
Petter Reinholdtsen
da988bb28e
Make it possible to specify the initctl path as a compile time define INIT_FIFO.
2014-02-07 23:27:39 +00:00
Petter Reinholdtsen
303f3465f6
Port ifdown.c to FreeBSD. Patch from Guillem Jover and Debian.
2014-02-07 17:55:37 +00:00
Petter Reinholdtsen
a05987e281
Document length limit for the process field in the inittab. Patch
...
from Johannes Truschnigg and Debian.
2014-02-07 17:41:58 +00:00
Petter Reinholdtsen
1b91c378b9
Adapt bootlogd TIOCCONS call to kfreebsd. Patch from Mats Erik
...
Andersson and Debian.
2014-02-07 17:03:04 +00:00
Petter Reinholdtsen
3f08c42b06
Make sure to report an error if chdir(/) fail.
2014-02-07 13:45:06 +00:00
Petter Reinholdtsen
de1344feb8
Rewrite findtty() in bootlogd.c to not chance working directory, to
...
reduce the amount of failure that can happin in that function.
2014-02-07 11:06:57 +00:00
Petter Reinholdtsen
cc3a4e2f9e
Avoid reusing open file descriptor to make it easier to pinpoint Coverity CID 1164479 resource leak.
2014-02-07 09:50:14 +00:00
Petter Reinholdtsen
6ba8311144
Get more help from gcc, add -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 and -fstack-protector.
2014-02-07 08:00:58 +00:00
Petter Reinholdtsen
a7bf0bf7e9
Remove unused variable realuid from main().
2014-02-07 06:57:11 +00:00
Petter Reinholdtsen
fb143cdcb9
Remove unused variable serial from tcfinal().
2014-02-07 06:55:53 +00:00
Petter Reinholdtsen
b547736c2c
Avoid setting unused value and trick scan-build from clang into not warn about apparenly unused value.
2014-02-05 13:24:18 +00:00
Petter Reinholdtsen
b8e970ca10
Explain why maxsymlinks() exist.
2014-02-05 13:23:08 +00:00
Petter Reinholdtsen
992c7a70d7
No use checkinf if env is true in the branch where it is false (Coverity CID 1164462).
2014-01-28 22:29:30 +00:00
Petter Reinholdtsen
8478327498
Adjust makefile to make it easier to link all binaries statically.
...
Patch from Matias A. Fonzo and Dragora.
2014-01-28 22:11:34 +00:00
Petter Reinholdtsen
5421d713ae
Adjust more included headers to be compatible with the musl C
...
library. Patch from Matias A. Fonzo and Dragora.
2014-01-28 22:07:30 +00:00
Petter Reinholdtsen
834bcebcaf
Use sysconf(_SC_SYMLOOP_MAX) instead of MAXSYMLINKS. If sysconf
...
returns an error, fall back to MAXSYMLINKS on platforms that
define it. Fixes build on Hurd. Patch from Justus Winter and
Debian.
2014-01-28 10:13:10 +00:00
Petter Reinholdtsen
c26aaa4410
Define _XOPEN_SOURCE when building to get crypt() from <unistd.h> instead of using <crypt.h> in sulogin.c, to get the source building with the musl C library.
2014-01-27 22:05:54 +00:00
Petter Reinholdtsen
52b92185de
Move dovoid() macro from #ifdef__GLIBC__ to #ifdef __linux__, to match the condutions of the place where it is used. Thanks to Matias A. Fonzo for noticing.
2014-01-27 21:55:57 +00:00
Petter Reinholdtsen
f11cdf9554
Adjust included headers to be compatible with the musl C library. Patch from Matias A. Fonzo and Dragora.
2014-01-26 22:00:42 +00:00
Petter Reinholdtsen
2d0b513b8a
Make sure FILE pointer returned by hdopen() is not leaked even if the
...
pointer returned can be casted to a negative long value (Coverity CIDs
1164478 and 1164477).
2014-01-26 16:40:03 +00:00
Petter Reinholdtsen
7d6e3683b0
Make sure logintime string can never overflow (Coverity CID 1164485).
2014-01-26 13:38:51 +00:00
Petter Reinholdtsen
ae7c73ec7f
Make sure cmdline string always is null terminated, even if it is very long (Coverity CID 1164484).
2014-01-26 13:29:43 +00:00
Petter Reinholdtsen
1c9808ec42
Close open file descriptor if the version is wrong (Coverity CID 1164481).
2014-01-26 09:58:04 +00:00
Petter Reinholdtsen
568c01bbb5
Document a fall through case block (Coverity CID 1164467).
2014-01-26 09:41:51 +00:00
Petter Reinholdtsen
d2f82534cf
Try harder to find libcrypt.*, even if there is no static library
...
available. Also look in /usr/lib/*/ for the library, to handle
Debian multiarch systems. Based on patch from Andrew Gregory.
2014-01-25 21:57:25 +00:00
Petter Reinholdtsen
45660f6ee6
Rename internal functions warn() and shutdown() in the shutdown
...
binary to avoid surprising dynamic library name resolution
conflict with NSS modules. Patch from Richard Tollerton.
2014-01-25 21:50:09 +00:00
Petter Reinholdtsen
571c45f3e6
Improve message printed when signaling processes to stop. Patch from Matias A. Fonzo at the dragora project.
2014-01-25 21:20:22 +00:00
Werner Fink
1017641f3e
Shutdown: use PATH_DEFAULT as suggested by Paul Arthur in local bug #36101
...
Killall5/pidof: handle strange names of executables (local bug #36252 )
Sulogin: be aware the crypt(3) may fail (local bug #36313 )
2012-10-11 13:10:40 +00:00
Werner Fink
ec06765756
* Do not forget room for last NULL of new environment (was local bug 35866)
2012-03-19 12:50:36 +00:00
Werner Fink
99a0a2583f
* Handle deleted binaries in pidof (was local bug #34992 )
2012-03-16 16:46:06 +00:00
Werner Fink
d1a0609ab0
* Allow init to delte extra environment variables (was local bug
...
#35858 )
* Avoid that init double environment variables for its childs
(was local bug #35855 )
2012-03-16 15:58:21 +00:00
Werner Fink
2f904f7848
fix minor typo
2011-11-14 08:53:05 +00:00
Werner Fink
6fe3edd48c
Add some code to be able to detect programs even as user with
...
kernel 3.0 and above
2011-10-17 12:53:27 +00:00
Werner Fink
4860983f8b
Sulogin: respect byte order that is do not mix chars and ints
2011-07-27 10:49:05 +00:00
Werner Fink
09aa81cdbb
Sulogin: if zero is read at reading the passwd guess it's done.
2011-07-26 12:03:13 +00:00
Werner Fink
eddea371ca
Sulogin: enforce reconnection of stdin/stdout/stderr if a device
...
was specified.
2011-07-26 10:21:13 +00:00
Werner Fink
3cb95c8371
Handle if the mountpoint(1) command is from util-linux 2.20+
2011-07-01 13:56:45 +00:00
Werner Fink
bfca7da0f5
* Remove man-db tag for encoding for canonical man
2011-04-27 13:41:04 +00:00
Werner Fink
4301a57e89
Sulogin: try to detect the real device(s) used for the system console
...
/dev/console if but only if /dev/console is used. On Linux this can
be more than one device, e.g. a serial line as well as a virtual
console as well as a simple printer.
2011-04-04 13:57:54 +00:00
Werner Fink
4201d1d42f
Respect the device an the command line of sulogin
...
as well as the standard input.
2011-04-01 12:45:26 +00:00
Werner Fink
43bc53af8d
Enhance src/consoles.c and src/consoles.h to reflect latest
...
linux kernel possiblities to detect the devices used for
the system console /dev/console
2011-03-31 12:25:34 +00:00
Werner Fink
d9122565a0
* Fix counting message lines in wall. Patch from Petr Lautrbach.
...
* Fix bad printf conversion specifier in wall. Patch from Sébastien Luttringer.
* Add patches from Openwall project. Thanks goes to Solar Designer.
2011-03-15 13:16:55 +00:00
Werner Fink
1ef9e7736c
* Add code to detect the system consoles with the help of the
...
new /proc/consoles files of linux kernel 2.6.38+
2011-03-11 17:29:36 +00:00
Werner Fink
6dacdb9ad0
* Try to make utmpdump IPv6 valid, change based on suggestion from
...
Navdeep Bhatia (see local bug #32429 )
2011-03-11 16:51:07 +00:00
Werner Fink
84e86ebbcd
* Fix signal and alarm handling based on the patch from Florent Viard.
...
(was local bug #32304 )
* Add fix for Redhat bug #573346 : last incorrectly displays IPv6
addresses (was local bug #29497 )
2011-03-11 16:10:42 +00:00
Werner Fink
e1a1f90204
Correct position of string pointer in NFS struct used in killall5/pidof
2010-10-21 09:47:16 +00:00
Werner Fink
5114500187
Add fix for Debian bug #580272
2010-05-17 09:44:34 +00:00
Werner Fink
ba54bb9ac4
Fix sysvinit bug #29758
2010-05-04 07:50:12 +00:00
Werner Fink
27821f3c1b
* Include limits.h in killall.c to enforce definition of PATH_MAX
2010-04-28 08:31:17 +00:00
Petter Reinholdtsen
cdb70c3a56
Only set the VSWTC field for termios in init if it is available, to get the source building on FreeBSD.
2010-04-27 19:51:01 +00:00
Petter Reinholdtsen
608673d2e3
Add #ifdef in bootlogd.c to avoid gcc warnings about unused variable on non-linux platforms.
2010-04-27 19:43:17 +00:00
Petter Reinholdtsen
9abf8cc828
The next release will be 2.89.
2010-04-27 14:33:32 +00:00
Werner Fink
d886c94c9f
* Correct fix for Debian bug #547073 : use IUTF8 flag if defined
...
and if already set to make sure the utf-8 flag is not cleared
from the tty. Patch from Samuel Thibault.
2010-04-27 12:32:52 +00:00
Werner Fink
080abb9f99
* Set version in init.c : 2.88
2010-04-12 08:34:38 +00:00
Petter Reinholdtsen
d32b28e44e
Do not strip binaries before installing them, to make it easier to get binaries with debug information installed.
2010-04-11 08:50:10 +00:00
Petter Reinholdtsen
b6ecd1eadc
Incude definition for MNT_DETACH which is missing in older GNU libc headers.
2010-04-11 07:42:27 +00:00
Petter Reinholdtsen
66299c783d
Add compatibility code to handle old path /etc/powerstatus for a while.
2010-04-11 07:41:25 +00:00
Werner Fink
1ef67cb310
* sulogin picking the SELinux context was broken. Patch by Daniel Walsh
2010-04-08 09:07:36 +00:00
Werner Fink
5e919cc4ca
* ditto
2010-04-01 09:06:35 +00:00
Werner Fink
a6140d9d92
* ditto
2010-04-01 08:42:05 +00:00
Werner Fink
8d4557c16b
* Remove PAM session start part from init as sulogin do not use
...
and will not use a PAM conv() function. The current sulogin
is able to handle DES as well as MD5, SHA, and Blowfish encrypted
passwords due using getpwnam(3).
* Enable the sulogin fallback password check to handle MD5, SHA, and
Blowfish encrypted passwords in case of getpwnam(3) fails.
2010-04-01 08:34:05 +00:00
Werner Fink
c49baa492c
* ditto
2010-03-30 17:39:19 +00:00
Werner Fink
f8887767cb
* Avoid SUSE specific sulogin prompt
2010-03-30 17:38:27 +00:00
Werner Fink
0c8868b54f
* Extend sulogin to support additional encryption algorithms
2010-03-30 15:22:00 +00:00
Werner Fink
b2fec03199
* Test out PAM support, extend PAM support by providing environment
...
is specified by /etc/pam.d/init
* Move utmp/wtmp before the execvp() in spawn() to be sure to
use the correct pid even on a controlling tty
* Remaining problem is that the pid of the second fork() for
getting a controlling tty isn't that reported by spawn()
* Re-enable writting utmp/wtmp for boot scripts
* Provide a simply /etc/pam.d/init as without it will not work (sigh!)
2010-03-26 16:31:05 +00:00
Werner Fink
f69ea1f550
* Add fix for Debian bug #536574 -- Can be enabled by -DACCTON_OFF
...
* Add helper program fstab-decode to make it easier to handle
/etc/mtab content. Patch by Miloslav Trmac and Fedora.
* Add fix for Debian bug #335023 - Make sure TERM is set on FreeBSD.
* Add fix for Debian bug #374038 - Make it clear that shutdown -c can
only cancel a waiting shutdown, not an active one.
* Add not to pidof manual page about the use of readlink(2). Patch by
Bill Nottingham and Fedora.
* Add changes for Debian bug #68621 - Add PAM support for programs spawned
by init on the console like sulogin. Based on patch by Topi Miettinen.
2010-03-23 14:37:01 +00:00
Werner Fink
210e6a26a6
* Fix some minor problems
...
* init - enable is_selinux_enabled() to detect selinuxfs
2010-03-19 16:53:57 +00:00
Werner Fink
2950c304a1
* Increase buffer size for path checking to normal limit PATH_MAX+1
2010-03-19 14:10:55 +00:00
Werner Fink
94a203f9e1
remove empty blanks from empty lines
2010-03-19 14:09:15 +00:00
Werner Fink
b98dd2505c
* sulogin - add the possibility to reset the terminal io
2010-03-12 18:18:28 +00:00
Werner Fink
d80bb06fec
* init - avoid compiler warnings
...
* init - initialize console by using the macros from ttydefaults.h
* init - add the possiblity to ignore further interrupts from keyboard
* init - add the possiblity to set sane terminal line settings
2010-02-26 13:45:49 +00:00
Werner Fink
1107f3ba7d
* pidof - shorten list check a bit for network based processes
2010-02-23 17:12:12 +00:00
Werner Fink
9e449b3f6d
* pidof/killall5 - make omit pid list a dynamic one.
...
* pidof - provide '-n' to skip stat(2) syscall on network based FS.
2010-02-23 16:51:18 +00:00
Werner Fink
746d8c46a1
* remove left over
2010-02-23 13:23:08 +00:00
Werner Fink
009d7247e4
* Set SHELL to /bin/sh in the environmant of shutdown.
...
* Retry to write out shutdown messages if interrupted.
2010-02-23 12:26:26 +00:00
Werner Fink
2c2d31cb4c
* Detected also removable block devices at halt/reboot to be able
...
to flush data and send them the ATA standby command. This should
avoid data loss on USB sticks and other removable block devices.
* Flush block devices on halt/reboot if not done by the kernel.
2010-02-22 14:59:58 +00:00
Werner Fink
1874af5c9c
* Add option -w to the last command to display the full user and
...
domain names in the output. Patch from Petr Lautrbach.
* Add a manual page for utmpdump as this tool is sometimes
very useful even if not intended for normal use.
* Use paths.h macros for wall
* Change path "/etc/powerstatus" to "/var/run/powerstatus"
2010-02-19 15:51:36 +00:00
Werner Fink
13de2e9e05
Add the comment from Andrea Arcangeli about the correct
...
place of setting the default childhandler within spawn().
Make sure that newline is printed out for last(1) even
if an utmp record entry is truncated.
Check if utmp not only exists but is writable and delay
writing out of the utmp runlevel record if utmp is not writable.
Be able to find libcrypt also on 64 bit based architectures.
2009-11-24 10:03:19 +00:00
Petter Reinholdtsen
10a85c1427
Get rid of signed/unsigned warning.
2009-11-22 22:36:29 +00:00
Petter Reinholdtsen
ecb32a254f
Leftover.
2009-11-22 22:32:54 +00:00
Petter Reinholdtsen
5da772c28f
Make sure bootlogd fflush() every line, even if asked not to flush
...
to disk using fdatasync(). Patch from Scott Gifford via Debian.
2009-11-22 22:23:14 +00:00
Petter Reinholdtsen
8debc401f8
Make sure bootlogd findpty() returns an error value when it fails to
...
find a usable pty. Patch from Rob Leslie via Debian.
2009-11-22 22:22:09 +00:00
Petter Reinholdtsen
5b95f110af
Rewrite findtty() in bootlogd to recursively search /dev/ for the
...
correct device, to handle terminal devices for example in /dev/pty/.
Patch from Debian.
2009-11-22 22:21:02 +00:00
Petter Reinholdtsen
f8801cbcf1
Get rid of warning about unused argument fromshutdown, and make sure the wall string isn't changed by the wall() function.
2009-11-22 22:05:53 +00:00
Petter Reinholdtsen
093ad0026b
Hide unused variable when not building with WITH_SELINUX.
2009-11-22 21:53:37 +00:00
Petter Reinholdtsen
de91f43eb8
Fix race condition in utmp writing. Patch from Gil Kloepfer via
...
Mike Frysinger and Gentoo.
2009-11-22 21:03:03 +00:00
Petter Reinholdtsen
b80d3844c1
Simplify build rules, based on patch from Mike Frysinger and Gentoo.
2009-11-20 22:55:47 +00:00
Petter Reinholdtsen
d56e3c239e
Sync shutdown manual page and usage information. Patch from Mike
...
Frysinger and Gentoo.
2009-11-20 22:33:35 +00:00
Petter Reinholdtsen
6bf849d01d
Print usage information when shutdown is used by non-root user. Patch from Mike Frysinger and Gentoo.
2009-11-14 21:35:42 +00:00
Petter Reinholdtsen
0088601eef
Change tty handling in init to make sure the UTF-8 flag is not cleared on boot. Patch from Samuel Thibault.
2009-11-14 21:28:32 +00:00
Petter Reinholdtsen
6d894fd45b
Add casts to get rid of compiler warning about signed/unsigned issues.
2009-11-14 21:27:13 +00:00
Petter Reinholdtsen
8caa4e87f5
Fix minor bug in optimizing of argument parsing. Based on report from jakemus on freshmeat.
2009-11-14 21:12:00 +00:00
Petter Reinholdtsen
483db5bc72
Adjust makefile to make sure the install directories are created before files are copied into them.
2009-11-14 21:09:19 +00:00
Petter Reinholdtsen
cd2937d3b7
Revert change from Fedora/RedHat where the now obsolete command
...
INIT_CMD_CHANGECONS was introduced. Based on feedback and patch
from Bill Nottingham.
2009-11-14 21:00:43 +00:00
Petter Reinholdtsen
7d5009103e
Next version will be 2.88.
2009-11-14 20:52:17 +00:00
Petter Reinholdtsen
2fe47a3c9f
Drop hurd specific dependency on libc0.3 (>= 2.3.2.ds1-12). It is
...
no longer needed according to Michael Bunk. Patch from Michael
Biebl.
2009-09-10 08:28:49 +00:00