Commit Graph

175 Commits

Author SHA1 Message Date
c2b811d105 Updated version information in init 2021-10-26 20:44:29 -03:00
0b695c7e0b Use readlink() instead of stat() to check processes. This shold avoid
hanging if NFS mounts are not responding.

Default to showing processes in the uninterruptable state (D).
The -z flag no longer affects whether processes in D state are shown.

The -z flag does still toggle whether zombie (Z) processes are shown.
2021-10-21 14:44:55 -03:00
8a085ea9b7 Applied patch from Matthias Schiffer which allows bootlogd to read from
a wider range of consoles. The console name is already passed in from the
kernel command line using "console=". We no longer filter out names as strictly
but do now check to confirm the "console=" device points to a valid TTY.
2021-08-03 18:21:16 -03:00
ab53132154 Removed old original source file that was left behind by
patch action.

Fixed typos in source code, comments, manual pages, and
changelog. Corrections provided by Jens Schleusener of
FOSSIES (fossies.org).
2020-11-17 20:31:37 -04:00
462a92ce2a Fixed time parsing in shutdown when there is a + in front of a 0 time offset.
Commands with a postiive time offset (+1) would work but +0 fails.
This has been corrected by Arkadiusz Miskiewicz.
2020-08-15 18:50:58 -03:00
584df5efaf Added patch from William Shipley which allows shutdown time to be specified
in the format +hh:mm. This is in addition to the existing formats such as
hh:mm, +m, and "now".

Cleared up compiler warning in dowall which can happen if the
output message is longer than the size limit on the snprintf()
buffer. This is not a bug, a the trucation works, but using a larger
buffer avoids the warning on systems with long user/host names.
2020-06-20 13:41:18 -03:00
d4cc79bcb9 Added patch from Didier Gaudin which allows init to load configuration
data from files stored in /etc/inittab.d/
2020-01-08 19:42:43 -04:00
9bc925d0e9 Avoid freeing unused memory. Some code clean-up.
Patch provided by David Hoyer.
2019-11-04 12:12:44 -04:00
ad50c8272e Make sure git ignores new executable files in src directory.
Make location of libcrypt library more flexible.
2019-09-12 17:35:55 -03:00
13cb3665b1 Make sure src/Makefile cleans up all executable files when
parent makefile calles "make clean".
2019-09-11 14:42:20 -03:00
fa124114ae Reformatted init code to make if/while logic more clear.
Cleaned up some output from readbootlog.

Added -e flg to bootlogd. When -e is used, data saved
to the boot log file does not have escape characters
removed. This means colour and cursor movement codes
stay in the log file. The may then look nicer when
read with "less -R', but may appear cluttered or
out of alignment when viewed with other, plain-text tools.
2019-08-11 22:10:45 -03:00
39df2f0fa3 Added -z command line paramter to pidof which tells pidof to
try to find processes in uninterruptable (D) or zombie (Z) states.
This can cause pidof to hang, but produces a more complete process
list.
2019-07-04 22:00:47 -03:00
5f96543c96 Updated changelog for release. 2019-06-15 14:01:01 -03:00
df1aec8981 Accepted patch from Luc Gommans which explains why zombie and
deep sleep processes (Z and D) may be hidden from pidof
2019-05-25 15:41:57 -03:00
cc464b1189 Use millisecond delays in init so that shutdown
can happen without a near-full-second delay after
all processes have terminated. Replaced do_sleep()
with do_msleep(), provided by Serge Belyshev.

Replaced hardwired sleep constants in init.c with
defined constants for easy updating in the future.
2019-04-20 18:54:46 -03:00
f1da344565 Dropped "-f" format flag for pidof command as it
could be used to print information from memory or crash
pidof. Replaced flag with "-d" which allows for a custom
separator to be used between listed PIDs.
Patch supplied by KatolaZ.
2019-03-20 13:46:36 -03:00
4e2ad6a698 Fixed segfault in pidof when the -f (format) flag is used with
crafted format strings.
Avoid printing stack memory when special format string is passed
to -f.
Listed control characters for -f flag in manual page.
2019-03-18 18:09:24 -03:00
09f8dcc90e Updated wall.c to make it easier to adjust buffer sizes without
causing overflow or off-by-one errors.
2019-01-27 16:04:13 -04:00
483dc777d2 Changed the way the "when" variable is used internally in shutdown.c.
It starts as a NULL pointer, then might get set as a pointer to optarg,
then it might get set to point to an argv parameter, then it might have
a string value copied into it, over-writing the original data. We should
not risk over-writing internal variables which might get used for something
else (it's rude and security risk). Set up "when" as its own buffer
that has data from optargs and/or argv copied into it.

Minor code fixes across multiple source files to avoid buffer
overflows, or uninitialized strings.
2019-01-27 15:55:08 -04:00
43b5c64126 Use defined constant for field length for easier updating/patching
in sulogin.c
2019-01-13 12:24:12 -04:00
5af4ee50a8 Minor update to defines and Makefile to avoid compile warnings
when building logsave.
2019-01-01 17:06:07 -04:00
3f2b4a5704 Added logsave.c and logsave.8 manual page from e2fsprogs to make
sure logsave is available to initscripts.

Updated src/Makefile to make sure bootlogd compiles with Clang.
2018-12-31 16:31:34 -04:00
5d955d55c8 Increased the size of the kernel command line buffer in bootlogd
from 256 characters to 4096. This size is defined in KERNEL_COMMAND_LENGTH
for easy modification downstream.
2018-12-29 14:46:10 -04:00
9e8553cacb Updated copyright in init and removed unused Version variable from killall5.c 2018-12-27 15:31:14 -04:00
be8d584161 Added some defines and compile-time conditionals to make some
components of sysvinit compile on FreeBSD.
2018-12-09 19:32:04 -04:00
5dc965ba10 Removed references to malloc.h Allocating and freeing memory
is now handled by stdlib.h
2018-12-09 17:55:52 -04:00
f0e93128bc When the halt command is called with the -p flag (or as poweroff)
the command now passes the "-h -P" flags to shutdown. This
in turn sets the INIT_HALT environment variable to POWEROFF.
Assuming this value is checked by initscripts during the
shutting down procedure, it should cause the system to
be powered off.
If halt is called without -p then the value of INIT_HALT
is not set and the default action (often set in /etc/defaut/halt)
is taken.
2018-11-23 22:11:42 -04:00
c03e2fac2b Added fix to pidof which re-enabled the omit (-o) flag.
this was broken when formatting was added in the 2.92 release.
Closes Debian bug #914494.
2018-11-23 18:00:23 -04:00
c679a49aac Added patch from Samuel Thibault to make project compile
on Hurd branch of Debian.
2018-11-19 18:12:13 -04:00
5d3815b0ff Added manual page and options for readbootlog. 2018-11-12 20:53:52 -04:00
7c1a8d932a Added new tool (readbootlog) which will read the /var/log/boot file
produced by bootlogd. The output is displayed cleaned up so there
are no control characters. This avoids the need to use sed or related
tools to try to clean up the contents of the log.
2018-11-12 20:29:28 -04:00
aa6873b85b Removed typos from pidof manual page and killall5 page.
Closes Debian bugs #815839, #905245 and #890478

Added -f <format> option to pidof program to allow printf
style formating.
Closes Debian bug #571590
Thanks to Philipp Marek for the patch.
2018-11-10 21:27:11 -04:00
2ece2c0364 Updated src/Makefile to confirm we build all the necessary software
prior to trying to install it.
2018-11-07 17:24:55 -04:00
848ee05104 Updated init manual page to include GRUB in boot loader comment
as LILO is rarely used outside of the Slackware family these days.

Switched stty flags to use ECHOE instead of ECHOPRT. This should
give smoother, more natural backspac-erase behaviour on emergency
consoles. (Created in init -b mode.)
2018-11-05 23:15:11 -04:00
c45219c64f Added -q and -Q flags to shutdown command to make the "system is going down"
message appear less often. The -q flag causes messages to only appear at the
10 minute, 5 minute and x-hour intervals.
The -Q flag maintains complete silence up until the final "now" warning.
2018-11-01 17:21:47 -03:00
44fce86dde Added -l flag to "last" command. When used it allows "last" to
display usernames longer than 8 characters long.
2018-10-30 21:46:04 -03:00
be8e6b9e1c shutdown command was setting environment variable INIT_HALT to
"POWERDOWN", this should have been "POWERDOWN" as specified in the
manual page. Fixed code to match manual page and init scripts.
2018-10-28 16:19:26 -03:00
a17f736a42 Applied patch from Regid Ichira to clarify shutdown command
line options. Updated manual page for shutdown.
Closes Debian bug #630661.
2018-10-27 20:37:47 -03:00
1b659c8ebe Applied patch from Daniel Povey which should allow killall5/pidof to
avoid locking up if it encounters stopped or zombie processes
due to broken NFS mount points.
This should allow Debian bug #719273 to be closed.
2018-10-27 20:26:15 -03:00
ed85143837 Removed super loud PC speaker beep during shutdown.
Closes Debian bug #614893. Patch from Andreas Fackler.
2018-10-22 22:03:09 -03:00
d27e34754a Unified shutdown and init to use 3 second wait between SIGTERM and
SIGKILL. Defined this value in init.h (WAIT_BETWEEN_SIGNALS) for
easy modification.
Updated documentation to address Debian bug #375274.
2018-10-22 21:44:39 -03:00
7b1d470949 Added check for kernel parameter init.autocon=1. If this exists, then
init will try to open its own console. If not, then any console=
parameters will be ignored. This avoids conflicts with native kernel
created consoles.
2018-09-29 17:12:12 -03:00
f1ca96e1c1 Added patch from Walter Harms which allows pidof to run without
displaying output. In this mode pidof simply returns true or false
without displaying PID values.

Updated manual page with new -q (quiet) mode.

Added -h flag for pidof, which was recognized before, but not used.
The -h flag now displays brief usage information for pidof.
2018-09-08 17:19:21 -03:00
6e8323e9fb The init process now writes the current runlevel to /var/run/runlevel.
This information can be read by the "runlevel" command as well as "halt"
and "reboot". Having the information logged in /var/run/runlevel as
well as the utmp file means systems without utmp (like those running
the musl C library) can still check the current runlevel. This is
useful when running halt/reboot as these programs want to check the
runlevel.

Updated the changelog, and manual pages for halt and runlevel.
2018-07-07 20:19:03 -03:00
6b26692584 Added new runlevel log code which saves (and reads) the current runlevel
from /var/run/runlevel. Added test code to runlevel.c to confirm it works.

Will use this to save/restore runlevel on systems where utmp is not
available.
2018-07-07 18:49:04 -03:00
7656f9d5f9 Version information is now fetched and defined by the Makefile.
No more need to update the version manually in the init.c source.
2018-07-01 18:44:57 -03:00
4438de4e50 Added --version flag to init and updated manual page. 2018-06-22 17:04:47 -03:00
2a61e2b029 Adjusted order of compile flags to make it possible to select optimization
level by setting CFLAGS at compile file.
2018-06-21 20:22:44 -03:00
40f40a4166 Removed DATE define from init.c, not needed anymore.
Updated Changelog in prep for release.
2018-06-18 19:35:53 -03:00
c229965b62 Fixed typo. Corrected by Radostin Stoyanov. 2018-06-11 13:06:04 -03:00