christos
6bc6175052
Don't record runlvl transitions before we have a read-write /var. Noticed
...
by lrou at x dot ua.
2006-09-28 15:20:14 +00:00
christos
6accae529c
Error message consistency:
...
1. don't print the program name in the message [syslog does it]
2. no extraneous \n [syslog takes care of it]
3. quote strings as `%s' [we are using syslog]
4. use %m instead of error = %d
2006-09-25 19:42:04 +00:00
he
fa8dee8628
Um, correct previous, so that current_state def/use is consistent.
2006-09-23 18:57:26 +00:00
he
54f712bd18
Since current_state is conditionally defined, make sure its uses are as well.
2006-09-23 14:04:26 +00:00
christos
c34b6372d0
Try entertain who(1) because it has been sad since it was swallowed by the
...
Death Star: add utmpx entries for boot time, down time, run level, login
process.
2006-09-22 21:49:21 +00:00
elad
03917bd261
update comment, thanks freza@.
2006-07-30 20:01:26 +00:00
elad
8bc495196e
CTLFLAG_READONLY1 was deprecated in earlier commit, remove it here too
2006-07-30 19:53:19 +00:00
elad
8ffd510349
remove CTLFLAG_READONLY1 usage. pointed out by cube@, thanks..
2006-07-30 19:46:33 +00:00
salo
b0b7590bc7
Add support for running multi-user in a chroot() environment.
...
How it works:
- after successful execution of /etc/rc, check the value of "init.root"
sysctl node, if it's different than "/", chroot() into its value and run
/etc/rc inside the chroot(),
- in single-user, return back to the original / file system.
Allows running with / file system on e.g., cgd(4), vnd(4) or ccd(4) volumes.
Idea first discussed with Matt Thomas, implemented by Jachym Holecek <freza
(at) liberouter.org> with some nitpicks by me. Successfully used by me for
almost a year with / on a cgd(4) volume (for more information about the setup
check ftp://ftp.NetBSD.org/pub/NetBSD/misc/salo/init-chroot/ ).
2006-04-18 11:40:26 +00:00
rumble
e948e1b17f
Check for allocation failures in malloc, calloc, realloc, asprintf, and
...
vasprintf and try to handle them.
2006-03-17 15:53:46 +00:00
chris
4727225848
Fix case where argv wasn't returned or freed.
...
This fixes Coverity CID 2023.
While here also return NULL if the malloc fails.
2006-03-17 02:48:29 +00:00
christos
2c6eadc9ce
Move WARNS=3 to the Makefile.inc, and add a little const to the remaining
...
programs that did not compile before.
2005-06-27 01:00:04 +00:00
xtraeme
83d6c074cb
Bump the number of inodes to 1024 in the MFS case, needed to
...
create more devices in the ramdisk images, ok'ed by thorpej@.
2005-03-15 23:43:50 +00:00
dan
603344819a
be explicit about the perms of mfs /dev
2004-10-12 10:08:09 +00:00
mycroft
e0fc84bd24
Put back one of the sleep()s -- it doesn't affect us in the usual case.
2004-08-13 17:22:39 +00:00
mycroft
f3b5a6849c
Replace the sleep(2) in setctty() with a nanosleep(), with a default value of
...
250ms.
2004-08-13 17:19:15 +00:00
mycroft
40321c3f44
Remove a completely gratuitous 30 delay if you enter the wrong shell path.
2004-08-13 17:11:49 +00:00
christos
e53725b6b7
clear_session_logs is not needed when we are small.
2004-06-06 01:42:20 +00:00
dsl
920dff4b7c
If /dev/constty exists, use it instead of /dev/console for single user shell.
...
I'm not 100% certain it should call login_tty() for anything else.
2003-10-03 13:31:32 +00:00
dsl
58915e2274
If /dev/MAKEDEV is a symlink then preserve the symlink in the mfs /dev.
...
If /dev/MAKEDEV doesn't exist then try to run /etc/MAKEDEV instead.
Use the (new) '-n inodes' option to mount_mfs and base the size on the number
of inodes and the size of the MAKEDEV script.
2003-09-11 12:51:51 +00:00
agc
276d62f603
Move UCB-licensed code from 4-clause to 3-clause licence.
...
Patches provided by Joel Baker in PR 22308, verified by myself.
2003-08-07 10:04:22 +00:00
dsl
9b8239809b
Exit child process if we fail to 'cd /dev' or 'execl sh MAKEDEV'.
...
Don't really want two processes in the rest of init!
2003-08-05 09:31:48 +00:00
itojun
09401b303a
use asprintf, which is easier
2003-07-12 14:46:41 +00:00
christos
9dd592469e
Avoid code duplication by factoring out the open/map open/write/unmap functions.
2003-07-01 16:44:48 +00:00
lukem
b96069c077
Always compile in support for attempting to obtain the major device
...
number of the console from sysctl("machdep.console_device"), rather
than making in optional on the (unused) #ifdef DEBUG.
Certain platforms do not have the console at makedev(0,0) (including
many arm32 and some sh3 platforms), so the "mfs MAKEDEV" hack would
have failed on those.
Noted in private discussion with Quentin Barnes.
2003-07-01 15:24:22 +00:00
lukem
35c2bddeea
If RESCUEDIR is defined, use that as an alternate path to sh and mount_mfs,
...
and prepend RESCUEDIR to the default PATH.
(This replaces my _PATH_ALTSHELL mods from rev 1.52 of init.c)
2003-05-26 09:34:55 +00:00
christos
c1c48aec57
PR/5544: Anders Magnusson: Init segfaults when hupped in single user.
...
- fix so that session_db is not de-referenced when null, and other
possible null pointer dereferences.
- ignore hup and tstp in single user mode.
2003-04-20 17:16:31 +00:00
fvdl
9f959f87e7
Call MAKEDEV with "init"
2003-04-17 18:04:47 +00:00
simonb
d9e49feb59
White space nit.
2002-10-04 13:19:05 +00:00
lukem
9f3703ab9a
- use _PATH_ALTSHELL (which defaults to _PATH_BSHELL) as the default ALTSHELL
...
(as opposed to _PATH_BSHELL), to allow the ALTSHELL to be changed.
- print the full path to the default shell in the ALTSHELL prompt.
2002-08-24 01:02:51 +00:00
christos
0f38e42a7a
fix typos that prevented us from cleaning utmpx. Noted by wiz
2002-08-02 14:03:22 +00:00
christos
06596adfbd
add utmpx/wtmpx processing support.
2002-07-27 23:49:47 +00:00
mycroft
e84a828ff1
In single-user, after taking a signal and having the `shell' die with
...
SIGKILL, go into an infinite loop (like in the runcom SIGTERM case), on the
assumption that reboot(8) is in the middle of taking the system down.
This fixes `panic: init died' from sysinst.
2002-04-16 01:59:37 +00:00
lukem
447e6b3ec5
crank size of mfs from 512 sectors to 768 sectors (large i386 MAKEDEV)
2002-02-03 12:55:26 +00:00
christos
62a708c06d
KNF: - use %m always instead of sometimes using strerror()
...
- space problems in casts
- don't cast 0, use NULL
- don't have long lines
- don't cast malloc
- use warn/warnx instead of fprintf
- fix bug where a failed mount_mfs would cause the program to continue.
- pass lint
2002-01-26 19:50:25 +00:00
lukem
d369b2c6a5
fix compilation problems on my alpha
2002-01-23 01:45:41 +00:00
abs
c48a08886b
Rename MSDOSFS_ROOT to MFS_DEV_IF_NO_CONSOLE, and rework:
...
- Always attempt mfs dev if missing /dev/console
- Save and run both MAKEDEV and MAKEDEV.local
- After creating the mfs dev, mknod() and freopen() /dev/console.
- If MAKEDEV is missing do not fail out early, but still create the mfs,
/dev/console.
- If we hit any errors fail out to single user.
This change _only_ affects systems booting without /dev/console.
2002-01-21 15:57:40 +00:00
abs
83c1ea626b
Increase the size of the dev mfs to at least enough for 1.5.2 i386.
...
bin/15235 by Gavan Fantom.
2002-01-16 18:30:57 +00:00
lukem
684735b97b
complete conversion to ANSI C
2001-06-18 01:38:05 +00:00
lukem
37a54a1e9c
deprecate LOG_ODELAY; it's the default
2001-01-10 03:01:41 +00:00
wiz
4b4b4ba4ae
Fix typo in v1.38.
2000-12-30 15:32:19 +00:00
wiz
f81de5856b
sprinkle some const's
2000-12-30 15:03:23 +00:00
wiz
369f36b84f
ANSIfy and de-__P()
2000-12-30 15:01:42 +00:00
wiz
fb109fb5fa
Handle NULL return value by fgets after shell prompt better. Also
...
improve '\n' slightly. Addresses bin/11847.
2000-12-30 14:46:21 +00:00
soren
7c2de1e4cf
Unbreak compilation with -DLETS_GET_SMALL as in PR bin/9639 by Patrick Welche.
2000-03-19 23:21:46 +00:00
mycroft
f5d7100e26
Nuke `extern int errno;' in code we compile with -Wstrict-prototypes. We get
...
the correct definition from errno.h.
2000-01-21 17:08:33 +00:00
drochner
85cbf55d16
Since our gcc doesn't warn about NULL format strings anymore, we can
...
fix the incorrect err(1, "%s", "") et al.
Closes PR bin/7592 by cgd.
1999-11-09 15:06:30 +00:00
tls
566ff31cb7
When downgrading from 'highly secure' mode (securelevel >= 2) to 'insecure' mode (securelevel 0) and the root password is set, always require it before giving a shell on the console. Reasoning: if an attacker has access to the machine console, he doesn't necessarily have access to the hardware itself; on a 'highly secure' machine, we may as well make his life hard.
1998-11-14 07:17:58 +00:00
thorpej
cad7a502b7
Use sigset_t for signal masks.
1998-09-18 22:00:46 +00:00
mycroft
4462053ab3
Fill in missing (default) mmap(2) flags.
1998-02-20 09:27:18 +00:00