mirror of
https://github.com/sheumann/hush.git
synced 2024-08-21 11:28:57 +00:00
crond: make it NOMMU-capable
function old new delta safe_setenv4 - 62 +62 ForkJob 472 511 +39 change_identity 21 57 +36 ParseField 564 571 +7 SynchronizeDir 178 176 -2 LogLevel 4 - -4 LogFile 4 - -4 FileBase 4 - -4 DebugOpt 4 - -4 CDir 4 - -4 DeleteFile 141 132 -9 packed_usage 24248 24228 -20 crondlog 157 113 -44 change_identity_e2str 54 - -54 SynchronizeFile 729 671 -58 crond_main 1555 1404 -151 ------------------------------------------------------------------------------ (add/remove: 1/6 grow/shrink: 3/6 up/down: 144/-358) Total: -214 bytes
This commit is contained in:
parent
35e9c5d83a
commit
4e6c8120a5
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# Automatically generated make config: don't edit
|
# Automatically generated make config: don't edit
|
||||||
# Busybox version: 1.10.0.svn
|
# Busybox version: 1.10.0.svn
|
||||||
# Tue Feb 19 15:07:07 2008
|
# Tue Mar 4 22:57:04 2008
|
||||||
#
|
#
|
||||||
CONFIG_HAVE_DOT_CONFIG=y
|
CONFIG_HAVE_DOT_CONFIG=y
|
||||||
|
|
||||||
@ -73,11 +73,11 @@ CONFIG_PREFIX="./_install"
|
|||||||
#
|
#
|
||||||
CONFIG_PASSWORD_MINLEN=6
|
CONFIG_PASSWORD_MINLEN=6
|
||||||
CONFIG_MD5_SIZE_VS_SPEED=2
|
CONFIG_MD5_SIZE_VS_SPEED=2
|
||||||
# CONFIG_FEATURE_FAST_TOP is not set
|
CONFIG_FEATURE_FAST_TOP=y
|
||||||
# CONFIG_FEATURE_ETC_NETWORKS is not set
|
CONFIG_FEATURE_ETC_NETWORKS=y
|
||||||
CONFIG_FEATURE_EDITING=y
|
CONFIG_FEATURE_EDITING=y
|
||||||
CONFIG_FEATURE_EDITING_MAX_LEN=1024
|
CONFIG_FEATURE_EDITING_MAX_LEN=1024
|
||||||
# CONFIG_FEATURE_EDITING_VI is not set
|
CONFIG_FEATURE_EDITING_VI=y
|
||||||
CONFIG_FEATURE_EDITING_HISTORY=15
|
CONFIG_FEATURE_EDITING_HISTORY=15
|
||||||
# CONFIG_FEATURE_EDITING_SAVEHISTORY is not set
|
# CONFIG_FEATURE_EDITING_SAVEHISTORY is not set
|
||||||
CONFIG_FEATURE_TAB_COMPLETION=y
|
CONFIG_FEATURE_TAB_COMPLETION=y
|
||||||
@ -102,7 +102,7 @@ CONFIG_BZIP2=y
|
|||||||
CONFIG_CPIO=y
|
CONFIG_CPIO=y
|
||||||
CONFIG_DPKG=y
|
CONFIG_DPKG=y
|
||||||
CONFIG_DPKG_DEB=y
|
CONFIG_DPKG_DEB=y
|
||||||
# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set
|
CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY=y
|
||||||
CONFIG_GUNZIP=y
|
CONFIG_GUNZIP=y
|
||||||
CONFIG_FEATURE_GUNZIP_UNCOMPRESS=y
|
CONFIG_FEATURE_GUNZIP_UNCOMPRESS=y
|
||||||
CONFIG_GZIP=y
|
CONFIG_GZIP=y
|
||||||
@ -212,6 +212,7 @@ CONFIG_FEATURE_READLINK_FOLLOW=y
|
|||||||
CONFIG_REALPATH=y
|
CONFIG_REALPATH=y
|
||||||
CONFIG_RM=y
|
CONFIG_RM=y
|
||||||
CONFIG_RMDIR=y
|
CONFIG_RMDIR=y
|
||||||
|
CONFIG_FEATURE_RMDIR_LONG_OPTIONS=y
|
||||||
CONFIG_SEQ=y
|
CONFIG_SEQ=y
|
||||||
CONFIG_SHA1SUM=y
|
CONFIG_SHA1SUM=y
|
||||||
CONFIG_SLEEP=y
|
CONFIG_SLEEP=y
|
||||||
@ -318,7 +319,7 @@ CONFIG_PATCH=y
|
|||||||
CONFIG_SED=y
|
CONFIG_SED=y
|
||||||
CONFIG_VI=y
|
CONFIG_VI=y
|
||||||
CONFIG_FEATURE_VI_MAX_LEN=4096
|
CONFIG_FEATURE_VI_MAX_LEN=4096
|
||||||
# CONFIG_FEATURE_VI_8BIT is not set
|
CONFIG_FEATURE_VI_8BIT=y
|
||||||
CONFIG_FEATURE_VI_COLON=y
|
CONFIG_FEATURE_VI_COLON=y
|
||||||
CONFIG_FEATURE_VI_YANKMARK=y
|
CONFIG_FEATURE_VI_YANKMARK=y
|
||||||
CONFIG_FEATURE_VI_SEARCH=y
|
CONFIG_FEATURE_VI_SEARCH=y
|
||||||
@ -401,7 +402,7 @@ CONFIG_FEATURE_WTMP=y
|
|||||||
CONFIG_LOGIN=y
|
CONFIG_LOGIN=y
|
||||||
# CONFIG_PAM is not set
|
# CONFIG_PAM is not set
|
||||||
CONFIG_LOGIN_SCRIPTS=y
|
CONFIG_LOGIN_SCRIPTS=y
|
||||||
# CONFIG_FEATURE_NOLOGIN is not set
|
CONFIG_FEATURE_NOLOGIN=y
|
||||||
CONFIG_FEATURE_SECURETTY=y
|
CONFIG_FEATURE_SECURETTY=y
|
||||||
CONFIG_PASSWD=y
|
CONFIG_PASSWD=y
|
||||||
CONFIG_FEATURE_PASSWD_WEAK_CHECK=y
|
CONFIG_FEATURE_PASSWD_WEAK_CHECK=y
|
||||||
@ -559,10 +560,10 @@ CONFIG_FEATURE_CHAT_SEND_ESCAPES=y
|
|||||||
CONFIG_FEATURE_CHAT_VAR_ABORT_LEN=y
|
CONFIG_FEATURE_CHAT_VAR_ABORT_LEN=y
|
||||||
CONFIG_FEATURE_CHAT_CLR_ABORT=y
|
CONFIG_FEATURE_CHAT_CLR_ABORT=y
|
||||||
CONFIG_CHRT=y
|
CONFIG_CHRT=y
|
||||||
# CONFIG_CROND is not set
|
CONFIG_CROND=y
|
||||||
# CONFIG_DEBUG_CROND_OPTION is not set
|
CONFIG_DEBUG_CROND_OPTION=y
|
||||||
# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
|
CONFIG_FEATURE_CROND_CALL_SENDMAIL=y
|
||||||
# CONFIG_CRONTAB is not set
|
CONFIG_CRONTAB=y
|
||||||
CONFIG_DC=y
|
CONFIG_DC=y
|
||||||
# CONFIG_DEVFSD is not set
|
# CONFIG_DEVFSD is not set
|
||||||
# CONFIG_DEVFSD_MODLOAD is not set
|
# CONFIG_DEVFSD_MODLOAD is not set
|
||||||
@ -596,6 +597,7 @@ CONFIG_RAIDAUTORUN=y
|
|||||||
CONFIG_READAHEAD=y
|
CONFIG_READAHEAD=y
|
||||||
CONFIG_RUNLEVEL=y
|
CONFIG_RUNLEVEL=y
|
||||||
CONFIG_RX=y
|
CONFIG_RX=y
|
||||||
|
CONFIG_SCRIPT=y
|
||||||
CONFIG_STRINGS=y
|
CONFIG_STRINGS=y
|
||||||
CONFIG_SETSID=y
|
CONFIG_SETSID=y
|
||||||
CONFIG_TASKSET=y
|
CONFIG_TASKSET=y
|
||||||
@ -641,6 +643,7 @@ CONFIG_FEATURE_IFCONFIG_SLIP=y
|
|||||||
CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y
|
CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y
|
||||||
CONFIG_FEATURE_IFCONFIG_HW=y
|
CONFIG_FEATURE_IFCONFIG_HW=y
|
||||||
CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
|
CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
|
||||||
|
CONFIG_IFENSLAVE=y
|
||||||
# CONFIG_IFUPDOWN is not set
|
# CONFIG_IFUPDOWN is not set
|
||||||
CONFIG_IFUPDOWN_IFSTATE_PATH=""
|
CONFIG_IFUPDOWN_IFSTATE_PATH=""
|
||||||
# CONFIG_FEATURE_IFUPDOWN_IP is not set
|
# CONFIG_FEATURE_IFUPDOWN_IP is not set
|
||||||
@ -687,11 +690,7 @@ CONFIG_FEATURE_FANCY_PING=y
|
|||||||
CONFIG_PSCAN=y
|
CONFIG_PSCAN=y
|
||||||
CONFIG_ROUTE=y
|
CONFIG_ROUTE=y
|
||||||
CONFIG_SENDMAIL=y
|
CONFIG_SENDMAIL=y
|
||||||
CONFIG_FEATURE_SENDMAIL_EHLO=y
|
|
||||||
CONFIG_FEATURE_SENDMAIL_BLOATY=y
|
|
||||||
CONFIG_FETCHMAIL=y
|
CONFIG_FETCHMAIL=y
|
||||||
CONFIG_FEATURE_FETCHMAIL_APOP=y
|
|
||||||
CONFIG_FEATURE_FETCHMAIL_FILTER=y
|
|
||||||
CONFIG_SLATTACH=y
|
CONFIG_SLATTACH=y
|
||||||
CONFIG_TELNET=y
|
CONFIG_TELNET=y
|
||||||
CONFIG_FEATURE_TELNET_TTYPE=y
|
CONFIG_FEATURE_TELNET_TTYPE=y
|
||||||
@ -702,7 +701,7 @@ CONFIG_TFTP=y
|
|||||||
CONFIG_FEATURE_TFTP_GET=y
|
CONFIG_FEATURE_TFTP_GET=y
|
||||||
CONFIG_FEATURE_TFTP_PUT=y
|
CONFIG_FEATURE_TFTP_PUT=y
|
||||||
CONFIG_FEATURE_TFTP_BLOCKSIZE=y
|
CONFIG_FEATURE_TFTP_BLOCKSIZE=y
|
||||||
# CONFIG_DEBUG_TFTP is not set
|
CONFIG_DEBUG_TFTP=y
|
||||||
CONFIG_TRACEROUTE=y
|
CONFIG_TRACEROUTE=y
|
||||||
CONFIG_FEATURE_TRACEROUTE_VERBOSE=y
|
CONFIG_FEATURE_TRACEROUTE_VERBOSE=y
|
||||||
CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE=y
|
CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE=y
|
||||||
@ -711,11 +710,13 @@ CONFIG_APP_UDHCPD=y
|
|||||||
CONFIG_APP_DHCPRELAY=y
|
CONFIG_APP_DHCPRELAY=y
|
||||||
CONFIG_APP_DUMPLEASES=y
|
CONFIG_APP_DUMPLEASES=y
|
||||||
CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY=y
|
CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY=y
|
||||||
|
CONFIG_DHCPD_LEASES_FILE="/var/lib/misc/udhcpd.leases"
|
||||||
CONFIG_APP_UDHCPC=y
|
CONFIG_APP_UDHCPC=y
|
||||||
CONFIG_FEATURE_UDHCPC_ARPING=y
|
CONFIG_FEATURE_UDHCPC_ARPING=y
|
||||||
CONFIG_FEATURE_UDHCP_PORT=y
|
CONFIG_FEATURE_UDHCP_PORT=y
|
||||||
CONFIG_FEATURE_UDHCP_DEBUG=y
|
CONFIG_FEATURE_UDHCP_DEBUG=y
|
||||||
CONFIG_FEATURE_RFC3397=y
|
CONFIG_FEATURE_RFC3397=y
|
||||||
|
CONFIG_DHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
|
||||||
CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
|
CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
|
||||||
CONFIG_VCONFIG=y
|
CONFIG_VCONFIG=y
|
||||||
CONFIG_WGET=y
|
CONFIG_WGET=y
|
||||||
@ -777,7 +778,7 @@ CONFIG_FEATURE_SH_IS_NONE=y
|
|||||||
CONFIG_HUSH=y
|
CONFIG_HUSH=y
|
||||||
CONFIG_HUSH_HELP=y
|
CONFIG_HUSH_HELP=y
|
||||||
CONFIG_HUSH_INTERACTIVE=y
|
CONFIG_HUSH_INTERACTIVE=y
|
||||||
# CONFIG_HUSH_JOB is not set
|
CONFIG_HUSH_JOB=y
|
||||||
CONFIG_HUSH_TICK=y
|
CONFIG_HUSH_TICK=y
|
||||||
CONFIG_HUSH_IF=y
|
CONFIG_HUSH_IF=y
|
||||||
CONFIG_HUSH_LOOPS=y
|
CONFIG_HUSH_LOOPS=y
|
||||||
@ -797,6 +798,7 @@ CONFIG_CTTYHACK=y
|
|||||||
CONFIG_SYSLOGD=y
|
CONFIG_SYSLOGD=y
|
||||||
CONFIG_FEATURE_ROTATE_LOGFILE=y
|
CONFIG_FEATURE_ROTATE_LOGFILE=y
|
||||||
CONFIG_FEATURE_REMOTE_LOG=y
|
CONFIG_FEATURE_REMOTE_LOG=y
|
||||||
|
CONFIG_FEATURE_SYSLOGD_DUP=y
|
||||||
CONFIG_FEATURE_IPC_SYSLOG=y
|
CONFIG_FEATURE_IPC_SYSLOG=y
|
||||||
CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
|
CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
|
||||||
CONFIG_LOGREAD=y
|
CONFIG_LOGREAD=y
|
||||||
@ -832,6 +834,13 @@ CONFIG_SOFTLIMIT=y
|
|||||||
# CONFIG_SETSEBOOL is not set
|
# CONFIG_SETSEBOOL is not set
|
||||||
# CONFIG_SESTATUS is not set
|
# CONFIG_SESTATUS is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# print support
|
||||||
|
#
|
||||||
|
CONFIG_LPD=y
|
||||||
|
CONFIG_LPR=y
|
||||||
|
CONFIG_LPQ=y
|
||||||
|
|
||||||
#
|
#
|
||||||
# ipsvd utilities
|
# ipsvd utilities
|
||||||
#
|
#
|
||||||
|
@ -912,7 +912,6 @@ char *bb_simplify_path(const char *path);
|
|||||||
#define FAIL_DELAY 3
|
#define FAIL_DELAY 3
|
||||||
extern void bb_do_delay(int seconds);
|
extern void bb_do_delay(int seconds);
|
||||||
extern void change_identity(const struct passwd *pw);
|
extern void change_identity(const struct passwd *pw);
|
||||||
extern const char *change_identity_e2str(const struct passwd *pw);
|
|
||||||
extern void run_shell(const char *shell, int loginshell, const char *command, const char **additional_args) ATTRIBUTE_NORETURN;
|
extern void run_shell(const char *shell, int loginshell, const char *command, const char **additional_args) ATTRIBUTE_NORETURN;
|
||||||
extern void run_shell(const char *shell, int loginshell, const char *command, const char **additional_args);
|
extern void run_shell(const char *shell, int loginshell, const char *command, const char **additional_args);
|
||||||
#if ENABLE_SELINUX
|
#if ENABLE_SELINUX
|
||||||
|
@ -507,16 +507,17 @@ USE_FEATURE_BRCTL_FANCY("\n" \
|
|||||||
" F Input from file"
|
" F Input from file"
|
||||||
|
|
||||||
#define crond_trivial_usage \
|
#define crond_trivial_usage \
|
||||||
"-d[#] -c crondir -f -b"
|
"-fbS -l N " USE_DEBUG_CROND_OPTION("-d N ") "-L LOGFILE -c DIR"
|
||||||
#define crond_full_usage \
|
#define crond_full_usage \
|
||||||
" -d [#] -l [#] -S -L logfile -f -b -c dir\n" \
|
" -f Foreground\n" \
|
||||||
" -d num Debug level\n" \
|
" -b Background (default)\n" \
|
||||||
" -l num Log level (8 - default)\n" \
|
|
||||||
" -S Log to syslog (default)\n" \
|
" -S Log to syslog (default)\n" \
|
||||||
" -L file Log to file\n" \
|
" -l Set log level. 0 is the most verbose, default 8\n" \
|
||||||
" -f Run in foreground\n" \
|
USE_DEBUG_CROND_OPTION( \
|
||||||
" -b Run in background (default)\n" \
|
" -d Set log level, log to stderr\n" \
|
||||||
" -c dir Working dir"
|
) \
|
||||||
|
" -L Log to file\n" \
|
||||||
|
" -c Working dir"
|
||||||
|
|
||||||
#define crontab_trivial_usage \
|
#define crontab_trivial_usage \
|
||||||
"[-c DIR] [-u USER] [-ler]|[FILE]"
|
"[-c DIR] [-u USER] [-ler]|[FILE]"
|
||||||
|
@ -30,22 +30,12 @@
|
|||||||
|
|
||||||
#include "libbb.h"
|
#include "libbb.h"
|
||||||
|
|
||||||
|
|
||||||
/* Become the user and group(s) specified by PW. */
|
/* Become the user and group(s) specified by PW. */
|
||||||
const char *change_identity_e2str(const struct passwd *pw)
|
void change_identity(const struct passwd *pw)
|
||||||
{
|
{
|
||||||
if (initgroups(pw->pw_name, pw->pw_gid) == -1)
|
if (initgroups(pw->pw_name, pw->pw_gid) == -1)
|
||||||
return "cannot set groups";
|
bb_perror_msg_and_die("can't set groups");
|
||||||
endgrent(); /* ?? */
|
endgrent(); /* ?? */
|
||||||
xsetgid(pw->pw_gid);
|
xsetgid(pw->pw_gid);
|
||||||
xsetuid(pw->pw_uid);
|
xsetuid(pw->pw_uid);
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
void change_identity(const struct passwd *pw)
|
|
||||||
{
|
|
||||||
const char *err_msg = change_identity_e2str(pw);
|
|
||||||
|
|
||||||
if (err_msg)
|
|
||||||
bb_simple_perror_msg_and_die(err_msg);
|
|
||||||
}
|
}
|
||||||
|
@ -106,15 +106,13 @@ config CROND
|
|||||||
$ cat /var/spool/cron/crontabs/root
|
$ cat /var/spool/cron/crontabs/root
|
||||||
# Run daily cron jobs at 4:40 every day:
|
# Run daily cron jobs at 4:40 every day:
|
||||||
40 4 * * * /etc/cron/daily > /dev/null 2>&1
|
40 4 * * * /etc/cron/daily > /dev/null 2>&1
|
||||||
Note that Busybox binary must be setuid root for this applet to
|
|
||||||
work properly.
|
|
||||||
|
|
||||||
config DEBUG_CROND_OPTION
|
config DEBUG_CROND_OPTION
|
||||||
bool "Support debug option -d"
|
bool "Support option -d to redirect output to stderr"
|
||||||
depends on CROND
|
depends on CROND
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Support option -d to enter debug mode.
|
-d sets loglevel to 0 (most verbose) and directs all output to stderr.
|
||||||
|
|
||||||
config FEATURE_CROND_CALL_SENDMAIL
|
config FEATURE_CROND_CALL_SENDMAIL
|
||||||
bool "Using /usr/sbin/sendmail?"
|
bool "Using /usr/sbin/sendmail?"
|
||||||
@ -130,6 +128,8 @@ config CRONTAB
|
|||||||
help
|
help
|
||||||
Crontab manipulates the crontab for a particular user. Only
|
Crontab manipulates the crontab for a particular user. Only
|
||||||
the superuser may specify a different user and/or crontab directory.
|
the superuser may specify a different user and/or crontab directory.
|
||||||
|
Note that Busybox binary must be setuid root for this applet to
|
||||||
|
work properly.
|
||||||
|
|
||||||
config DC
|
config DC
|
||||||
bool "dc"
|
bool "dc"
|
||||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user