Package: sysvinit
Version: 2.88dsf-13.1+squeeze1
Severity: minor
Tags: patch
I added a new entry to inittab on a busy host which did not seem to start upon
invoking `telinit q`. Syslog received the following message:
Nov 22 10:16:29 r7 init: /etc/inittab[93]: process field too long
This limit (127 characters) is not documented in man 5 inittab, nor anywhere
else I looked. In init's source file, there are error messages the explicitely
state length limits for other fields in inittab (which a user is much less
likely to overflow, I think), which seems kind of weird.
The attached patch adds the length limit information to init's error message
and to the appropriate man page.
-- System Information:
Debian Release: 6.0.6
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 3.2.0-0.bpo.3-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages sysvinit depends on:
ii initscripts 2.88dsf-13.1+squeeze1 scripts for initializing and shutt
ii libc6 2.11.3-4 Embedded GNU C Library: Shared lib
ii libselinux1 2.0.96-1 SELinux runtime shared libraries
ii libsepol1 2.0.41-1 SELinux library for manipulating b
ii sysv-rc 2.88dsf-13.1+squeeze1 System-V-like runlevel change mech
ii sysvinit-utils 2.88dsf-13.1+squeeze1 System-V-like utilities
sysvinit recommends no packages.
sysvinit suggests no packages.
-- no debconf information
diff -u -r a/sysvinit-2.88dsf/man/inittab.5 b/sysvinit-2.88dsf/man/inittab.5
--- a/sysvinit-2.88dsf/man/inittab.5 2009-09-10 10:28:49.000000000 +0200
+++ b/sysvinit-2.88dsf/man/inittab.5 2012-11-22 10:32:17.554426005 +0100
@@ -66,7 +66,7 @@
.B init
will not do utmp and wtmp accounting for that process. This is needed for
gettys that insist on doing their own utmp/wtmp housekeeping. This is also
-a historic bug.
+a historic bug. The length of this fiels is limited to 127 characters.
.\"}}}
.PP
The \fIrunlevels\fP field may contain multiple characters for different
diff -u -r a/sysvinit-2.88dsf/src/init.c b/sysvinit-2.88dsf/src/init.c
--- a/sysvinit-2.88dsf/src/init.c 2010-04-13 11:48:54.000000000 +0200
+++ b/sysvinit-2.88dsf/src/init.c 2012-11-22 10:28:54.653475075 +0100
@@ -1314,7 +1314,7 @@
if (rlevel && strlen(rlevel) > 11)
strcpy(err, "rlevel field too long (max 11 characters)");
if (process && strlen(process) > 127)
- strcpy(err, "process field too long");
+ strcpy(err, "process field too long (max 127 characters)");
if (action && strlen(action) > 32)
strcpy(err, "action field too long");
if (err[0] != 0) {
_______________________________________________
Pkg-sysvinit-devel mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-sysvinit-devel