summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2015-06-14service: close instance pipe fd on restart.Yousong Zhou
Otherwise we hit max number of fd limit (1024) and instances fail to start with the following errors in syslog Sun Jun 14 01:27:38 2015 daemon.warn procd: pipe() failed: 24 (Too many open files) Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2015-06-14service: allow get_data of specifc instance.Yousong Zhou
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2015-06-14service: remove unused struct watch_subscribe definition.Yousong Zhou
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2015-06-14service: dump respawn params in the same order as when passed in.Yousong Zhou
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2015-06-14service: optimize relaying stdio output of daemons a bit.Yousong Zhou
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2015-06-04trigger: make trigger_match() bool and make return value less confusingFelix Fietkau
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2015-06-02allow multiple identical events to be queuedJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2015-05-23remove ->John Crispin
[ 1.240000] init: failed to symlink /tmp -> /var Signed-off-by: John Crispin <blogic@openwrt.org>
2015-05-14jail: respect byte order when setting AUDIT_ARCHDaniel Golle
AUDIT_ARCH on ARM and MIPS differs depending on the byte order. Thus set AUDIT_ARCH to the respective endian-specific variants. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2015-05-14jail: add support for ARM architectureDaniel Golle
SECCOMP_FILTER isn't supported on ARM OABI. Thus enable seccomp support in jail only for EABI. thumb might work as well as it apparently implies EABI, but yet doesn't set __ARM_EABI__. The REG_SYSCALL macro seems to be an unused left-over. However, it's defined for other architectures as well. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2015-05-14trace: add support for ARM architectureDaniel Golle
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2015-05-05instance: handle setgid() before setuid()Jo-Philipp Wich
When attempting to run a service with an unprivileged user and group id procd, the following error might occur: procd: failed to set uid:1000, gid:1000 This is due to the fact that procd first performs the setuid(), then the setgid() call. Usually there no sufficient permissions after a setuid() anymore to change the effective group id of the process. Refactor the code to: * Swap the invocations (first gid, then uid) * Don't set user or group id if it is 0 * Handle errors independently and make them more verbose Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-04-19instance: avoid dumping invalid service instances - prevents a potential crashFelix Fietkau
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2015-04-10fix include orderJohn Crispin
this broke x86_64 builds on uclibc Signed-off-by: John Crispin <blogic@openwrt.org>
2015-03-28properly handle return codesJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2015-03-27make it optional to remount the tmpfs as roJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2015-03-26make jail build optionalJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2015-03-23procd can now start jailed processesJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2015-03-23add initial version of ujail and utraceJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2015-03-18check for empty parameters in askfirstZefir Kurtisi
Signed-off-by: Zefir Kurtisi <zefir.kurtisi@neratec.com>
2015-03-12switch to _DEFAULT_SOURCE for modern glibc compatJohn Crispin
Signed-off-by: Jeff Waugh <jdub@bethesignal.org>
2015-03-06json 0.12 fixesJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2015-02-27service: rename variables / struct members called stdout, stderr to avoid ↵Felix Fietkau
conflicts with system defines Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2015-02-26service: don't use stdio log channelJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-02-26procd: support relayoing daemon stdout/stderr to syslogJo-Philipp Wich
This commit adds support to procd for relaying stdout and stderr streams to the system log. That is mainly useful for services not using syslog, e.g. uhttpd. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-02-25Convert log calls to ulog() apiJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-01-28procd: increase memory allocated for tmpfs on zramNathan Hintz
Devices with <= 32MB of ram get half of memory allocated to zram (up to 16MB). Devices with > 32MB of ram get just 8MB of memory allocated to zram. Increase memory allocated to devices with > 32MB ram to 16MB. Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>
2015-01-25Make build of upgraded optionalJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-01-15system: increase memory field sizes to 64bitJo-Philipp Wich
On an Alix APU board with 4GB of available ram, the total memory is reported as "-179417088" bytes. Increase the ubus field sizes to 64bit integers in order to avoid overflows. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-01-15system: attempt to parse /proc/device-tree/modelJo-Philipp Wich
Fallback to /proc/device-tree/model if /tmp/sysinfo/model is not available. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-01-15system: improve system name detectionJo-Philipp Wich
Skip entries like "Processor: 0" which are common on x86, otherwise an "ubus call system board" will just return "system: 0". Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-01-09inittab: don't close fds unconditionally since this breaks UMLSteven Barth
Signed-off-by: Steven Barth <steven@midlink.org>
2014-12-14only write to the watchdog if the fd is validJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2014-12-02previous commit accidentiall dropped the cgroup mountJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2014-12-02add support for zram compressed tmpfsJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2014-11-19service: fix ubus list commandFelix Fietkau
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2014-11-14initd: mount cgroupLuka Perkov
If kernel is compiled with cgroup support it should be mounted. This change does not effect kernels without cgroup support. Signed-off-by: Luka Perkov <luka@openwrt.org>
2014-11-08inittab: clean up tty opening code, fix console shell job control issuesFelix Fietkau
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2014-11-05call setsid during startup.John Crispin
this fixes a bug where pgrp was not set up properly leading to a trail of carnage; Signed-off-by: John Crispin <blogic@openwrt.org>
2014-11-05kmodloader takes longer than wdt timeoutJohn Crispin
on systms with slow flash the watchdog will trigger when a lot of modules are included in the image. Signed-off-by: John Crispin <blogic@openwrt.org>
2014-11-05get_cmdline_val: search for entire name, not just suffixSteven Barth
also fix writing of 0-byte to buffer Signed-off-by: Steven Barth <steven@midlink.org>
2014-11-04procd: Make askconsole work again when no tty is specified in inittabMichel Stam
Consider: ::askconsole:/bin/ash --login askconsole( ) checks for the existance of the tty, but if none is specified it will skip the remainder of the function. This means fork_worker( ) is never called and no process is spawned. This would leave routers without an initial console. Signed-off-by: Michel Stam <m.stam@fugro.nl>
2014-11-04Honour tty field in /etc/inittabMichel Stam
The problem was caused by procd not opening /dev/tty* (whichever was specified for the ID field /etc/inittab), causing /proc/PID/fd to point to /dev/console instead. This is a rework of e63051d9, which did not initialise the console pointer and did not check the tty pointer in askconsole. askfirst was not completely fixed as it expected the console parameter on the commandline, which is no longer necessary because procd opens the console prior to fork()-ing. Signed-off-by: Michel Stam <m.stam@fugro.nl>
2014-11-01Revert "Honour tty field in /etc/inittab"Steven Barth
This reverts commit e63051d9843ddbafb1fabfd97d60e853bdeac129. This unbreaks the initial console on UML and possibly other platforms. Signed-off-by: Steven Barth <cyrus@openwrt.org>
2014-10-31Fix regression in command line parsingSteven Barth
79872ea6 reduced the command line buffer breaking various platforms. Signed-off-by: Steven Barth <steven@midlink.org>
2014-10-30Log startup/shutdown to consoleJohn Crispin
procd has the habit of logging startup/shutdown via rcS to syslog, which is pointless in case of a shutdown, and unlikely to be complete on a startup (as syslog is not running). Write to the console instead. Signed-off-by: Michel Stam <m.stam@fugro.nl> Signed-off-by: John Crispin <blogic@openwrt.org>
2014-10-12minor fixes to michels patchesJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2014-10-12Honour tty field in /etc/inittabMichel Stam
The problem was caused by procd not opening /dev/tty* (whichever was specified for the ID field /etc/inittab), causing /proc/PID/fd to point to /dev/console instead. Signed-off-by: Michel Stam <m.stam@fugro.nl>
2014-10-12Fix ctrl+alt+del supportMichel Stam
The previous patch did not catch SIGINT, which is used by the kernel to indicate to the init process that the system should reboot. Signed-off-by: Michel Stam <m.stam@fugro.nl>
2014-10-12Show the shutdown sequence on the active virtual terminalMichel Stam
procd by default writes to /dev/console. When rebooting, this means that the terminal on which the reboot sequence was started will not see what is going on. This patch fixes that by reopening stdin, stdout and stderr to the console device specified on the commandline, /dev/tty0 or /dev/console upon reboot. Also, due to (probably) pivot-root, /proc/1/fd shows 1-3 pointing to /console. This patch also fixes that. Signed-off-by: Michel Stam <m.stam@fugro.nl>