diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/librc.c | 3 | ||||
| -rw-r--r-- | src/runscript.c | 7 | 
2 files changed, 8 insertions, 2 deletions
| diff --git a/src/librc.c b/src/librc.c index cd085102..6392426b 100644 --- a/src/librc.c +++ b/src/librc.c @@ -224,11 +224,10 @@ bool rc_mark_service (const char *service, const rc_service_state_t state)  			unlink (file);  		i = symlink (init, file);  		if (i != 0)	{ +			eerror ("symlink `%s' to `%s': %s", init, file, strerror (errno));  			free (file);  			free (init);  			free (svc); -			einfo ("%d %s %s", state, rc_service_state_names[state], base); -			eerror ("symlink `%s' to `%s': %s", init, file, strerror (errno));  			return (false);  		} diff --git a/src/runscript.c b/src/runscript.c index 18ee1ddd..18515372 100644 --- a/src/runscript.c +++ b/src/runscript.c @@ -1140,6 +1140,13 @@ int main (int argc, char **argv)  		if (sighup)  			exit (EXIT_FAILURE); +		if (strcmp (optarg, "status") != 0 && +			strcmp (optarg, "help") != 0) { +			/* Only root should be able to run us */ +			if (geteuid () != 0) +				eerrorx ("%s: root access required", applet); +		} +  		/* Export the command we're running.  		   This is important as we stamp on the restart function now but  		   some start/stop routines still need to behave differently if | 
