diff options
| author | sandman <sandman@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2002-06-04 20:06:25 +0000 |
|---|---|---|
| committer | sandman <sandman@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2002-06-04 20:06:25 +0000 |
| commit | 594f51c1b93a4e0b10d23cb5f23deb3ce10bab08 (patch) | |
| tree | 584aaddcc5ef4d9e715f27e9d1d8dad98b7a5074 /include | |
| parent | 076115967321ef47cff560a197d90d4605a01cf5 (diff) | |
| download | busybox-w32-594f51c1b93a4e0b10d23cb5f23deb3ce10bab08.tar.gz busybox-w32-594f51c1b93a4e0b10d23cb5f23deb3ce10bab08.tar.bz2 busybox-w32-594f51c1b93a4e0b10d23cb5f23deb3ce10bab08.zip | |
Implement two types of suid/sgid support for BusyBox:
1) tinylogin like with compile time selection and a chown root.root
2) Runtime configurable via /etc/busybox.conf (docu is in the works)
[Parts of this patch may overlap with my other two patches]
git-svn-id: svn://busybox.net/trunk/busybox@4855 69ca8d6d-28ef-0310-b511-8ec308f3f277
Diffstat (limited to 'include')
| -rw-r--r-- | include/applets.h | 360 | ||||
| -rw-r--r-- | include/busybox.h | 12 | ||||
| -rw-r--r-- | include/libbb.h | 2 |
3 files changed, 195 insertions, 179 deletions
diff --git a/include/applets.h b/include/applets.h index 6d01901a3..3a8c731a5 100644 --- a/include/applets.h +++ b/include/applets.h | |||
| @@ -16,515 +16,521 @@ | |||
| 16 | 16 | ||
| 17 | 17 | ||
| 18 | #if defined(PROTOTYPES) | 18 | #if defined(PROTOTYPES) |
| 19 | #define APPLET(a,b,c) extern int b(int argc, char **argv); | 19 | #define APPLET(a,b,c,d) extern int b(int argc, char **argv); |
| 20 | #define APPLET_NOUSAGE(a,b,c) extern int b(int argc, char **argv); | 20 | #define APPLET_NOUSAGE(a,b,c,d) extern int b(int argc, char **argv); |
| 21 | #define APPLET_ODDNAME(a,b,c,d) extern int b(int argc, char **argv); | 21 | #define APPLET_ODDNAME(a,b,c,d,e) extern int b(int argc, char **argv); |
| 22 | extern const char usage_messages[]; | 22 | extern const char usage_messages[]; |
| 23 | #elif defined(MAKE_USAGE) | 23 | #elif defined(MAKE_USAGE) |
| 24 | #ifdef CONFIG_FEATURE_VERBOSE_USAGE | 24 | #ifdef CONFIG_FEATURE_VERBOSE_USAGE |
| 25 | #define APPLET(a,b,c) a##_trivial_usage "\n\n" a##_full_usage "\0" | 25 | #define APPLET(a,b,c,d) a##_trivial_usage "\n\n" a##_full_usage "\0" |
| 26 | #define APPLET_NOUSAGE(a,b,c) "\0" | 26 | #define APPLET_NOUSAGE(a,b,c,d) "\0" |
| 27 | #define APPLET_ODDNAME(a,b,c,d) d##_trivial_usage "\n\n" d##_full_usage "\0" | 27 | #define APPLET_ODDNAME(a,b,c,d,e) e##_trivial_usage "\n\n" e##_full_usage "\0" |
| 28 | #else | 28 | #else |
| 29 | #define APPLET(a,b,c) a##_trivial_usage "\0" | 29 | #define APPLET(a,b,c,d) a##_trivial_usage "\0" |
| 30 | #define APPLET_NOUSAGE(a,b,c) "\0" | 30 | #define APPLET_NOUSAGE(a,b,c,d) "\0" |
| 31 | #define APPLET_ODDNAME(a,b,c,d) d##_trivial_usage "\0" | 31 | #define APPLET_ODDNAME(a,b,c,d,e) e##_trivial_usage "\0" |
| 32 | #endif | 32 | #endif |
| 33 | #elif defined(MAKE_LINKS) | 33 | #elif defined(MAKE_LINKS) |
| 34 | # define APPLET(a,b,c) LINK c a | 34 | # define APPLET(a,b,c,d) LINK c a |
| 35 | # define APPLET_NOUSAGE(a,b,c) LINK c a | 35 | # define APPLET_NOUSAGE(a,b,c,d) LINK c a |
| 36 | # define APPLET_ODDNAME(a,b,c,d) LINK c a | 36 | # define APPLET_ODDNAME(a,b,c,d,e) LINK c a |
| 37 | #else | 37 | #else |
| 38 | const struct BB_applet applets[] = { | 38 | const struct BB_applet applets[] = { |
| 39 | #define APPLET(a,b,c) {#a,b,c}, | 39 | #define APPLET(a,b,c,d) {#a,b,c,d}, |
| 40 | #define APPLET_NOUSAGE(a,b,c) {a,b,c}, | 40 | #define APPLET_NOUSAGE(a,b,c,d) {a,b,c,d}, |
| 41 | #define APPLET_ODDNAME(a,b,c,d) {a,b,c}, | 41 | #define APPLET_ODDNAME(a,b,c,d,e) {a,b,c,d}, |
| 42 | #endif | 42 | #endif |
| 43 | 43 | ||
| 44 | 44 | ||
| 45 | 45 | ||
| 46 | #ifdef CONFIG_TEST | 46 | #ifdef CONFIG_TEST |
| 47 | APPLET_NOUSAGE("[", test_main, _BB_DIR_USR_BIN) | 47 | APPLET_NOUSAGE("[", test_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 48 | #endif | 48 | #endif |
| 49 | #ifdef CONFIG_ADDGROUP | 49 | #ifdef CONFIG_ADDGROUP |
| 50 | APPLET(addgroup, addgroup_main, _BB_DIR_BIN) | 50 | APPLET(addgroup, addgroup_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 51 | #endif | 51 | #endif |
| 52 | #ifdef CONFIG_ADDUSER | 52 | #ifdef CONFIG_ADDUSER |
| 53 | APPLET(adduser, adduser_main, _BB_DIR_BIN) | 53 | APPLET(adduser, adduser_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 54 | #endif | 54 | #endif |
| 55 | #ifdef CONFIG_ADJTIMEX | 55 | #ifdef CONFIG_ADJTIMEX |
| 56 | APPLET(adjtimex, adjtimex_main, _BB_DIR_SBIN) | 56 | APPLET(adjtimex, adjtimex_main, _BB_DIR_SBIN, _BB_SUID_NEVER) |
| 57 | #endif | 57 | #endif |
| 58 | #ifdef CONFIG_AR | 58 | #ifdef CONFIG_AR |
| 59 | APPLET(ar, ar_main, _BB_DIR_USR_BIN) | 59 | APPLET(ar, ar_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 60 | #endif | 60 | #endif |
| 61 | #ifdef CONFIG_ASH | 61 | #ifdef CONFIG_ASH |
| 62 | APPLET_NOUSAGE("ash", ash_main, _BB_DIR_BIN) | 62 | APPLET_NOUSAGE("ash", ash_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 63 | #endif | 63 | #endif |
| 64 | #ifdef CONFIG_BASENAME | 64 | #ifdef CONFIG_BASENAME |
| 65 | APPLET(basename, basename_main, _BB_DIR_USR_BIN) | 65 | APPLET(basename, basename_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 66 | #endif | 66 | #endif |
| 67 | #ifdef CONFIG_BUNZIP2 | 67 | #ifdef CONFIG_BUNZIP2 |
| 68 | APPLET(bunzip2, bunzip2_main, _BB_DIR_USR_BIN) | 68 | APPLET(bunzip2, bunzip2_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 69 | #endif | 69 | #endif |
| 70 | APPLET_NOUSAGE("busybox", busybox_main, _BB_DIR_BIN) | 70 | APPLET_NOUSAGE("busybox", busybox_main, _BB_DIR_BIN, _BB_SUID_MAYBE) |
| 71 | #ifdef CONFIG_BUNZIP2 | 71 | #ifdef CONFIG_BUNZIP2 |
| 72 | APPLET(bzcat, bunzip2_main, _BB_DIR_USR_BIN) | 72 | APPLET(bzcat, bunzip2_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 73 | #endif | 73 | #endif |
| 74 | #ifdef CONFIG_CAL | 74 | #ifdef CONFIG_CAL |
| 75 | APPLET(cal, cal_main, _BB_DIR_USR_BIN) | 75 | APPLET(cal, cal_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 76 | #endif | 76 | #endif |
| 77 | #ifdef CONFIG_CAT | 77 | #ifdef CONFIG_CAT |
| 78 | APPLET(cat, cat_main, _BB_DIR_BIN) | 78 | APPLET(cat, cat_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 79 | #endif | 79 | #endif |
| 80 | #ifdef CONFIG_CHGRP | 80 | #ifdef CONFIG_CHGRP |
| 81 | APPLET(chgrp, chgrp_main, _BB_DIR_BIN) | 81 | APPLET(chgrp, chgrp_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 82 | #endif | 82 | #endif |
| 83 | #ifdef CONFIG_CHMOD | 83 | #ifdef CONFIG_CHMOD |
| 84 | APPLET(chmod, chmod_main, _BB_DIR_BIN) | 84 | APPLET(chmod, chmod_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 85 | #endif | 85 | #endif |
| 86 | #ifdef CONFIG_CHOWN | 86 | #ifdef CONFIG_CHOWN |
| 87 | APPLET(chown, chown_main, _BB_DIR_BIN) | 87 | APPLET(chown, chown_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 88 | #endif | 88 | #endif |
| 89 | #ifdef CONFIG_CHROOT | 89 | #ifdef CONFIG_CHROOT |
| 90 | APPLET(chroot, chroot_main, _BB_DIR_USR_SBIN) | 90 | APPLET(chroot, chroot_main, _BB_DIR_USR_SBIN, _BB_SUID_NEVER) |
| 91 | #endif | 91 | #endif |
| 92 | #ifdef CONFIG_CHVT | 92 | #ifdef CONFIG_CHVT |
| 93 | APPLET(chvt, chvt_main, _BB_DIR_USR_BIN) | 93 | APPLET(chvt, chvt_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 94 | #endif | 94 | #endif |
| 95 | #ifdef CONFIG_CLEAR | 95 | #ifdef CONFIG_CLEAR |
| 96 | APPLET(clear, clear_main, _BB_DIR_USR_BIN) | 96 | APPLET(clear, clear_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 97 | #endif | 97 | #endif |
| 98 | #ifdef CONFIG_CMP | 98 | #ifdef CONFIG_CMP |
| 99 | APPLET(cmp, cmp_main, _BB_DIR_USR_BIN) | 99 | APPLET(cmp, cmp_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 100 | #endif | 100 | #endif |
| 101 | #ifdef CONFIG_CP | 101 | #ifdef CONFIG_CP |
| 102 | APPLET(cp, cp_main, _BB_DIR_BIN) | 102 | APPLET(cp, cp_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 103 | #endif | 103 | #endif |
| 104 | #ifdef CONFIG_CPIO | 104 | #ifdef CONFIG_CPIO |
| 105 | APPLET(cpio, cpio_main, _BB_DIR_BIN) | 105 | APPLET(cpio, cpio_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 106 | #endif | 106 | #endif |
| 107 | #ifdef CONFIG_CUT | 107 | #ifdef CONFIG_CUT |
| 108 | APPLET(cut, cut_main, _BB_DIR_USR_BIN) | 108 | APPLET(cut, cut_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 109 | #endif | 109 | #endif |
| 110 | #ifdef CONFIG_DATE | 110 | #ifdef CONFIG_DATE |
| 111 | APPLET(date, date_main, _BB_DIR_BIN) | 111 | APPLET(date, date_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 112 | #endif | 112 | #endif |
| 113 | #ifdef CONFIG_DC | 113 | #ifdef CONFIG_DC |
| 114 | APPLET(dc, dc_main, _BB_DIR_USR_BIN) | 114 | APPLET(dc, dc_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 115 | #endif | 115 | #endif |
| 116 | #ifdef CONFIG_DD | 116 | #ifdef CONFIG_DD |
| 117 | APPLET(dd, dd_main, _BB_DIR_BIN) | 117 | APPLET(dd, dd_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 118 | #endif | 118 | #endif |
| 119 | #ifdef CONFIG_DEALLOCVT | 119 | #ifdef CONFIG_DEALLOCVT |
| 120 | APPLET(deallocvt, deallocvt_main, _BB_DIR_USR_BIN) | 120 | APPLET(deallocvt, deallocvt_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 121 | #endif | 121 | #endif |
| 122 | #ifdef CONFIG_DELGROUP | 122 | #ifdef CONFIG_DELGROUP |
| 123 | APPLET(delgroup, delgroup_main, _BB_DIR_BIN) | 123 | APPLET(delgroup, delgroup_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 124 | #endif | 124 | #endif |
| 125 | #ifdef CONFIG_DELUSER | 125 | #ifdef CONFIG_DELUSER |
| 126 | APPLET(deluser, deluser_main, _BB_DIR_BIN) | 126 | APPLET(deluser, deluser_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 127 | #endif | 127 | #endif |
| 128 | #ifdef CONFIG_DF | 128 | #ifdef CONFIG_DF |
| 129 | APPLET(df, df_main, _BB_DIR_BIN) | 129 | APPLET(df, df_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 130 | #endif | 130 | #endif |
| 131 | #ifdef CONFIG_DIRNAME | 131 | #ifdef CONFIG_DIRNAME |
| 132 | APPLET(dirname, dirname_main, _BB_DIR_USR_BIN) | 132 | APPLET(dirname, dirname_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 133 | #endif | 133 | #endif |
| 134 | #ifdef CONFIG_DMESG | 134 | #ifdef CONFIG_DMESG |
| 135 | APPLET(dmesg, dmesg_main, _BB_DIR_BIN) | 135 | APPLET(dmesg, dmesg_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 136 | #endif | 136 | #endif |
| 137 | #ifdef CONFIG_DOS2UNIX | 137 | #ifdef CONFIG_DOS2UNIX |
| 138 | APPLET(dos2unix, dos2unix_main, _BB_DIR_USR_BIN) | 138 | APPLET(dos2unix, dos2unix_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 139 | #endif | 139 | #endif |
| 140 | #ifdef CONFIG_DPKG | 140 | #ifdef CONFIG_DPKG |
| 141 | APPLET(dpkg, dpkg_main, _BB_DIR_USR_BIN) | 141 | APPLET(dpkg, dpkg_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 142 | #endif | 142 | #endif |
| 143 | #ifdef CONFIG_DPKG_DEB | 143 | #ifdef CONFIG_DPKG_DEB |
| 144 | APPLET_ODDNAME("dpkg-deb", dpkg_deb_main, _BB_DIR_USR_BIN, dpkg_deb) | 144 | APPLET_ODDNAME("dpkg-deb", dpkg_deb_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER, dpkg_deb) |
| 145 | #endif | 145 | #endif |
| 146 | #ifdef CONFIG_DU | 146 | #ifdef CONFIG_DU |
| 147 | APPLET(du, du_main, _BB_DIR_USR_BIN) | 147 | APPLET(du, du_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 148 | #endif | 148 | #endif |
| 149 | #ifdef CONFIG_DUMPKMAP | 149 | #ifdef CONFIG_DUMPKMAP |
| 150 | APPLET(dumpkmap, dumpkmap_main, _BB_DIR_BIN) | 150 | APPLET(dumpkmap, dumpkmap_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 151 | #endif | 151 | #endif |
| 152 | #ifdef CONFIG_DUTMP | 152 | #ifdef CONFIG_DUTMP |
| 153 | APPLET(dutmp, dutmp_main, _BB_DIR_USR_SBIN) | 153 | APPLET(dutmp, dutmp_main, _BB_DIR_USR_SBIN, _BB_SUID_NEVER) |
| 154 | #endif | 154 | #endif |
| 155 | #ifdef CONFIG_ECHO | 155 | #ifdef CONFIG_ECHO |
| 156 | APPLET(echo, echo_main, _BB_DIR_BIN) | 156 | APPLET(echo, echo_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 157 | #endif | 157 | #endif |
| 158 | #if defined(CONFIG_FEATURE_GREP_EGREP_ALIAS) | 158 | #if defined(CONFIG_FEATURE_GREP_EGREP_ALIAS) |
| 159 | APPLET_NOUSAGE("egrep", grep_main, _BB_DIR_BIN) | 159 | APPLET_NOUSAGE("egrep", grep_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 160 | #endif | 160 | #endif |
| 161 | #ifdef CONFIG_ENV | 161 | #ifdef CONFIG_ENV |
| 162 | APPLET(env, env_main, _BB_DIR_USR_BIN) | 162 | APPLET(env, env_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 163 | #endif | 163 | #endif |
| 164 | #ifdef CONFIG_EXPR | 164 | #ifdef CONFIG_EXPR |
| 165 | APPLET(expr, expr_main, _BB_DIR_USR_BIN) | 165 | APPLET(expr, expr_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 166 | #endif | 166 | #endif |
| 167 | #ifdef CONFIG_FALSE | 167 | #ifdef CONFIG_FALSE |
| 168 | APPLET(false, false_main, _BB_DIR_BIN) | 168 | APPLET(false, false_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 169 | #endif | 169 | #endif |
| 170 | #ifdef CONFIG_FBSET | 170 | #ifdef CONFIG_FBSET |
| 171 | APPLET(fbset, fbset_main, _BB_DIR_USR_SBIN) | 171 | APPLET(fbset, fbset_main, _BB_DIR_USR_SBIN, _BB_SUID_NEVER) |
| 172 | #endif | 172 | #endif |
| 173 | #ifdef CONFIG_FDFLUSH | 173 | #ifdef CONFIG_FDFLUSH |
| 174 | APPLET(fdflush, fdflush_main, _BB_DIR_BIN) | 174 | APPLET(fdflush, fdflush_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 175 | #endif | 175 | #endif |
| 176 | #ifdef CONFIG_FIND | 176 | #ifdef CONFIG_FIND |
| 177 | APPLET(find, find_main, _BB_DIR_USR_BIN) | 177 | APPLET(find, find_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 178 | #endif | 178 | #endif |
| 179 | #ifdef CONFIG_FREE | 179 | #ifdef CONFIG_FREE |
| 180 | APPLET(free, free_main, _BB_DIR_USR_BIN) | 180 | APPLET(free, free_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 181 | #endif | 181 | #endif |
| 182 | #ifdef CONFIG_FREERAMDISK | 182 | #ifdef CONFIG_FREERAMDISK |
| 183 | APPLET(freeramdisk, freeramdisk_main, _BB_DIR_SBIN) | 183 | APPLET(freeramdisk, freeramdisk_main, _BB_DIR_SBIN, _BB_SUID_NEVER) |
| 184 | #endif | 184 | #endif |
| 185 | #ifdef CONFIG_FSCK_MINIX | 185 | #ifdef CONFIG_FSCK_MINIX |
| 186 | APPLET_ODDNAME("fsck.minix", fsck_minix_main, _BB_DIR_SBIN, fsck_minix) | 186 | APPLET_ODDNAME("fsck.minix", fsck_minix_main, _BB_DIR_SBIN, _BB_SUID_NEVER, fsck_minix) |
| 187 | #endif | 187 | #endif |
| 188 | #ifdef CONFIG_GETOPT | 188 | #ifdef CONFIG_GETOPT |
| 189 | APPLET(getopt, getopt_main, _BB_DIR_BIN) | 189 | APPLET(getopt, getopt_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 190 | #endif | 190 | #endif |
| 191 | #ifdef CONFIG_GETTY | 191 | #ifdef CONFIG_GETTY |
| 192 | APPLET(getty, getty_main, _BB_DIR_SBIN) | 192 | APPLET(getty, getty_main, _BB_DIR_SBIN, _BB_SUID_NEVER) |
| 193 | #endif | 193 | #endif |
| 194 | #ifdef CONFIG_GREP | 194 | #ifdef CONFIG_GREP |
| 195 | APPLET(grep, grep_main, _BB_DIR_BIN) | 195 | APPLET(grep, grep_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 196 | #endif | 196 | #endif |
| 197 | #ifdef CONFIG_GUNZIP | 197 | #ifdef CONFIG_GUNZIP |
| 198 | APPLET(gunzip, gunzip_main, _BB_DIR_BIN) | 198 | APPLET(gunzip, gunzip_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 199 | #endif | 199 | #endif |
| 200 | #ifdef CONFIG_GZIP | 200 | #ifdef CONFIG_GZIP |
| 201 | APPLET(gzip, gzip_main, _BB_DIR_BIN) | 201 | APPLET(gzip, gzip_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 202 | #endif | 202 | #endif |
| 203 | #ifdef CONFIG_HALT | 203 | #ifdef CONFIG_HALT |
| 204 | APPLET(halt, halt_main, _BB_DIR_SBIN) | 204 | APPLET(halt, halt_main, _BB_DIR_SBIN, _BB_SUID_NEVER) |
| 205 | #endif | 205 | #endif |
| 206 | #ifdef CONFIG_HEAD | 206 | #ifdef CONFIG_HEAD |
| 207 | APPLET(head, head_main, _BB_DIR_USR_BIN) | 207 | APPLET(head, head_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 208 | #endif | 208 | #endif |
| 209 | #ifdef CONFIG_HEXDUMP | 209 | #ifdef CONFIG_HEXDUMP |
| 210 | APPLET(hexdump, hexdump_main, _BB_DIR_USR_BIN) | 210 | APPLET(hexdump, hexdump_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 211 | #endif | 211 | #endif |
| 212 | #ifdef CONFIG_HOSTID | 212 | #ifdef CONFIG_HOSTID |
| 213 | APPLET(hostid, hostid_main, _BB_DIR_USR_BIN) | 213 | APPLET(hostid, hostid_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 214 | #endif | 214 | #endif |
| 215 | #ifdef CONFIG_HOSTNAME | 215 | #ifdef CONFIG_HOSTNAME |
| 216 | APPLET(hostname, hostname_main, _BB_DIR_BIN) | 216 | APPLET(hostname, hostname_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 217 | #endif | 217 | #endif |
| 218 | #ifdef CONFIG_HUSH | 218 | #ifdef CONFIG_HUSH |
| 219 | APPLET_NOUSAGE("hush", hush_main, _BB_DIR_BIN) | 219 | APPLET_NOUSAGE("hush", hush_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 220 | #endif | 220 | #endif |
| 221 | #ifdef CONFIG_ID | 221 | #ifdef CONFIG_ID |
| 222 | APPLET(id, id_main, _BB_DIR_USR_BIN) | 222 | APPLET(id, id_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 223 | #endif | 223 | #endif |
| 224 | #ifdef CONFIG_IFCONFIG | 224 | #ifdef CONFIG_IFCONFIG |
| 225 | APPLET(ifconfig, ifconfig_main, _BB_DIR_SBIN) | 225 | APPLET(ifconfig, ifconfig_main, _BB_DIR_SBIN, _BB_SUID_NEVER) |
| 226 | #endif | 226 | #endif |
| 227 | #ifdef CONFIG_INIT | 227 | #ifdef CONFIG_INIT |
| 228 | APPLET(init, init_main, _BB_DIR_SBIN) | 228 | APPLET(init, init_main, _BB_DIR_SBIN, _BB_SUID_NEVER) |
| 229 | #endif | 229 | #endif |
| 230 | #ifdef CONFIG_INSMOD | 230 | #ifdef CONFIG_INSMOD |
| 231 | APPLET(insmod, insmod_main, _BB_DIR_SBIN) | 231 | APPLET(insmod, insmod_main, _BB_DIR_SBIN, _BB_SUID_NEVER) |
| 232 | #endif | 232 | #endif |
| 233 | #ifdef CONFIG_KILL | 233 | #ifdef CONFIG_KILL |
| 234 | APPLET(kill, kill_main, _BB_DIR_BIN) | 234 | APPLET(kill, kill_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 235 | #endif | 235 | #endif |
| 236 | #ifdef CONFIG_KILLALL | 236 | #ifdef CONFIG_KILLALL |
| 237 | APPLET(killall, kill_main, _BB_DIR_USR_BIN) | 237 | APPLET(killall, kill_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 238 | #endif | 238 | #endif |
| 239 | #ifdef CONFIG_KLOGD | 239 | #ifdef CONFIG_KLOGD |
| 240 | APPLET(klogd, klogd_main, _BB_DIR_SBIN) | 240 | APPLET(klogd, klogd_main, _BB_DIR_SBIN, _BB_SUID_NEVER) |
| 241 | #endif | 241 | #endif |
| 242 | #ifdef CONFIG_LASH | 242 | #ifdef CONFIG_LASH |
| 243 | APPLET(lash, lash_main, _BB_DIR_BIN) | 243 | APPLET(lash, lash_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 244 | #endif | 244 | #endif |
| 245 | #ifdef CONFIG_LENGTH | 245 | #ifdef CONFIG_LENGTH |
| 246 | APPLET(length, length_main, _BB_DIR_USR_BIN) | 246 | APPLET(length, length_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 247 | #endif | 247 | #endif |
| 248 | #ifdef CONFIG_FEATURE_INITRD | 248 | #ifdef CONFIG_FEATURE_INITRD |
| 249 | APPLET_NOUSAGE("linuxrc", init_main, _BB_DIR_ROOT) | 249 | APPLET_NOUSAGE("linuxrc", init_main, _BB_DIR_ROOT, _BB_SUID_NEVER) |
| 250 | #endif | 250 | #endif |
| 251 | #ifdef CONFIG_LN | 251 | #ifdef CONFIG_LN |
| 252 | APPLET(ln, ln_main, _BB_DIR_BIN) | 252 | APPLET(ln, ln_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 253 | #endif | 253 | #endif |
| 254 | #ifdef CONFIG_LOADACM | 254 | #ifdef CONFIG_LOADACM |
| 255 | APPLET(loadacm, loadacm_main, _BB_DIR_USR_BIN) | 255 | APPLET(loadacm, loadacm_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 256 | #endif | 256 | #endif |
| 257 | #ifdef CONFIG_LOADFONT | 257 | #ifdef CONFIG_LOADFONT |
| 258 | APPLET(loadfont, loadfont_main, _BB_DIR_USR_BIN) | 258 | APPLET(loadfont, loadfont_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 259 | #endif | 259 | #endif |
| 260 | #ifdef CONFIG_LOADKMAP | 260 | #ifdef CONFIG_LOADKMAP |
| 261 | APPLET(loadkmap, loadkmap_main, _BB_DIR_SBIN) | 261 | APPLET(loadkmap, loadkmap_main, _BB_DIR_SBIN, _BB_SUID_NEVER) |
| 262 | #endif | 262 | #endif |
| 263 | #ifdef CONFIG_LOGGER | 263 | #ifdef CONFIG_LOGGER |
| 264 | APPLET(logger, logger_main, _BB_DIR_USR_BIN) | 264 | APPLET(logger, logger_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 265 | #endif | ||
| 266 | #ifdef CONFIG_LOGIN | ||
| 267 | APPLET(login, login_main, _BB_DIR_BIN, _BB_SUID_NEVER) | ||
| 265 | #endif | 268 | #endif |
| 266 | #ifdef CONFIG_LOGNAME | 269 | #ifdef CONFIG_LOGNAME |
| 267 | APPLET(logname, logname_main, _BB_DIR_USR_BIN) | 270 | APPLET(logname, logname_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 268 | #endif | 271 | #endif |
| 269 | #ifdef CONFIG_LOGREAD | 272 | #ifdef CONFIG_LOGREAD |
| 270 | APPLET(logread, logread_main, _BB_DIR_SBIN) | 273 | APPLET(logread, logread_main, _BB_DIR_SBIN, _BB_SUID_NEVER) |
| 271 | #endif | 274 | #endif |
| 272 | #ifdef CONFIG_LOSETUP | 275 | #ifdef CONFIG_LOSETUP |
| 273 | APPLET(losetup, losetup_main, _BB_DIR_SBIN) | 276 | APPLET(losetup, losetup_main, _BB_DIR_SBIN, _BB_SUID_NEVER) |
| 274 | #endif | 277 | #endif |
| 275 | #ifdef CONFIG_LS | 278 | #ifdef CONFIG_LS |
| 276 | APPLET(ls, ls_main, _BB_DIR_BIN) | 279 | APPLET(ls, ls_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 277 | #endif | 280 | #endif |
| 278 | #ifdef CONFIG_LSMOD | 281 | #ifdef CONFIG_LSMOD |
| 279 | APPLET(lsmod, lsmod_main, _BB_DIR_SBIN) | 282 | APPLET(lsmod, lsmod_main, _BB_DIR_SBIN, _BB_SUID_NEVER) |
| 280 | #endif | 283 | #endif |
| 281 | #ifdef CONFIG_MAKEDEVS | 284 | #ifdef CONFIG_MAKEDEVS |
| 282 | APPLET(makedevs, makedevs_main, _BB_DIR_SBIN) | 285 | APPLET(makedevs, makedevs_main, _BB_DIR_SBIN, _BB_SUID_NEVER) |
| 283 | #endif | 286 | #endif |
| 284 | #ifdef CONFIG_MD5SUM | 287 | #ifdef CONFIG_MD5SUM |
| 285 | APPLET(md5sum, md5sum_main, _BB_DIR_USR_BIN) | 288 | APPLET(md5sum, md5sum_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 286 | #endif | 289 | #endif |
| 287 | #ifdef CONFIG_MKDIR | 290 | #ifdef CONFIG_MKDIR |
| 288 | APPLET(mkdir, mkdir_main, _BB_DIR_BIN) | 291 | APPLET(mkdir, mkdir_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 289 | #endif | 292 | #endif |
| 290 | #ifdef CONFIG_MKFIFO | 293 | #ifdef CONFIG_MKFIFO |
| 291 | APPLET(mkfifo, mkfifo_main, _BB_DIR_USR_BIN) | 294 | APPLET(mkfifo, mkfifo_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 292 | #endif | 295 | #endif |
| 293 | #ifdef CONFIG_MKFS_MINIX | 296 | #ifdef CONFIG_MKFS_MINIX |
| 294 | APPLET_ODDNAME("mkfs.minix", mkfs_minix_main, _BB_DIR_SBIN, mkfs_minix) | 297 | APPLET_ODDNAME("mkfs.minix", mkfs_minix_main, _BB_DIR_SBIN, _BB_SUID_NEVER, mkfs_minix) |
| 295 | #endif | 298 | #endif |
| 296 | #ifdef CONFIG_MKNOD | 299 | #ifdef CONFIG_MKNOD |
| 297 | APPLET(mknod, mknod_main, _BB_DIR_BIN) | 300 | APPLET(mknod, mknod_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 298 | #endif | 301 | #endif |
| 299 | #ifdef CONFIG_MKSWAP | 302 | #ifdef CONFIG_MKSWAP |
| 300 | APPLET(mkswap, mkswap_main, _BB_DIR_SBIN) | 303 | APPLET(mkswap, mkswap_main, _BB_DIR_SBIN, _BB_SUID_NEVER) |
| 301 | #endif | 304 | #endif |
| 302 | #ifdef CONFIG_MKTEMP | 305 | #ifdef CONFIG_MKTEMP |
| 303 | APPLET(mktemp, mktemp_main, _BB_DIR_BIN) | 306 | APPLET(mktemp, mktemp_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 304 | #endif | 307 | #endif |
| 305 | #ifdef CONFIG_MODPROBE | 308 | #ifdef CONFIG_MODPROBE |
| 306 | APPLET(modprobe, modprobe_main, _BB_DIR_SBIN) | 309 | APPLET(modprobe, modprobe_main, _BB_DIR_SBIN, _BB_SUID_NEVER) |
| 307 | #endif | 310 | #endif |
| 308 | #ifdef CONFIG_MORE | 311 | #ifdef CONFIG_MORE |
| 309 | APPLET(more, more_main, _BB_DIR_BIN) | 312 | APPLET(more, more_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 310 | #endif | 313 | #endif |
| 311 | #ifdef CONFIG_MOUNT | 314 | #ifdef CONFIG_MOUNT |
| 312 | APPLET(mount, mount_main, _BB_DIR_BIN) | 315 | APPLET(mount, mount_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 313 | #endif | 316 | #endif |
| 314 | #ifdef CONFIG_MSH | 317 | #ifdef CONFIG_MSH |
| 315 | APPLET_NOUSAGE("msh", msh_main, _BB_DIR_BIN) | 318 | APPLET_NOUSAGE("msh", msh_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 316 | #endif | 319 | #endif |
| 317 | #ifdef CONFIG_MT | 320 | #ifdef CONFIG_MT |
| 318 | APPLET(mt, mt_main, _BB_DIR_BIN) | 321 | APPLET(mt, mt_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 319 | #endif | 322 | #endif |
| 320 | #ifdef CONFIG_MV | 323 | #ifdef CONFIG_MV |
| 321 | APPLET(mv, mv_main, _BB_DIR_BIN) | 324 | APPLET(mv, mv_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 322 | #endif | 325 | #endif |
| 323 | #ifdef CONFIG_NC | 326 | #ifdef CONFIG_NC |
| 324 | APPLET(nc, nc_main, _BB_DIR_USR_BIN) | 327 | APPLET(nc, nc_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 325 | #endif | 328 | #endif |
| 326 | #ifdef CONFIG_NETSTAT | 329 | #ifdef CONFIG_NETSTAT |
| 327 | APPLET(netstat, netstat_main, _BB_DIR_BIN) | 330 | APPLET(netstat, netstat_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 328 | #endif | 331 | #endif |
| 329 | #ifdef CONFIG_NSLOOKUP | 332 | #ifdef CONFIG_NSLOOKUP |
| 330 | APPLET(nslookup, nslookup_main, _BB_DIR_USR_BIN) | 333 | APPLET(nslookup, nslookup_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 331 | #endif | 334 | #endif |
| 332 | #ifdef CONFIG_OD | 335 | #ifdef CONFIG_OD |
| 333 | APPLET(od, od_main, _BB_DIR_USR_BIN) | 336 | APPLET(od, od_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 334 | #endif | 337 | #endif |
| 335 | #ifdef CONFIG_PIDOF | 338 | #ifdef CONFIG_PIDOF |
| 336 | APPLET(pidof, pidof_main, _BB_DIR_BIN) | 339 | APPLET(pidof, pidof_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 337 | #endif | 340 | #endif |
| 338 | #ifdef CONFIG_PING | 341 | #ifdef CONFIG_PING |
| 339 | APPLET(ping, ping_main, _BB_DIR_BIN) | 342 | APPLET(ping, ping_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 340 | #endif | 343 | #endif |
| 341 | #ifdef CONFIG_PIVOT_ROOT | 344 | #ifdef CONFIG_PIVOT_ROOT |
| 342 | APPLET(pivot_root, pivot_root_main, _BB_DIR_SBIN) | 345 | APPLET(pivot_root, pivot_root_main, _BB_DIR_SBIN, _BB_SUID_NEVER) |
| 343 | #endif | 346 | #endif |
| 344 | #ifdef CONFIG_POWEROFF | 347 | #ifdef CONFIG_POWEROFF |
| 345 | APPLET(poweroff, poweroff_main, _BB_DIR_SBIN) | 348 | APPLET(poweroff, poweroff_main, _BB_DIR_SBIN, _BB_SUID_NEVER) |
| 346 | #endif | 349 | #endif |
| 347 | #ifdef CONFIG_PRINTF | 350 | #ifdef CONFIG_PRINTF |
| 348 | APPLET(printf, printf_main, _BB_DIR_USR_BIN) | 351 | APPLET(printf, printf_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 349 | #endif | 352 | #endif |
| 350 | #ifdef CONFIG_PS | 353 | #ifdef CONFIG_PS |
| 351 | APPLET(ps, ps_main, _BB_DIR_BIN) | 354 | APPLET(ps, ps_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 352 | #endif | 355 | #endif |
| 353 | #ifdef CONFIG_PWD | 356 | #ifdef CONFIG_PWD |
| 354 | APPLET(pwd, pwd_main, _BB_DIR_BIN) | 357 | APPLET(pwd, pwd_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 355 | #endif | 358 | #endif |
| 356 | #ifdef CONFIG_RDATE | 359 | #ifdef CONFIG_RDATE |
| 357 | APPLET(rdate, rdate_main, _BB_DIR_USR_BIN) | 360 | APPLET(rdate, rdate_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 358 | #endif | 361 | #endif |
| 359 | #ifdef CONFIG_READLINK | 362 | #ifdef CONFIG_READLINK |
| 360 | APPLET(readlink, readlink_main, _BB_DIR_USR_BIN) | 363 | APPLET(readlink, readlink_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 361 | #endif | 364 | #endif |
| 362 | #ifdef CONFIG_REBOOT | 365 | #ifdef CONFIG_REBOOT |
| 363 | APPLET(reboot, reboot_main, _BB_DIR_SBIN) | 366 | APPLET(reboot, reboot_main, _BB_DIR_SBIN, _BB_SUID_NEVER) |
| 364 | #endif | 367 | #endif |
| 365 | #ifdef CONFIG_RENICE | 368 | #ifdef CONFIG_RENICE |
| 366 | APPLET(renice, renice_main, _BB_DIR_USR_BIN) | 369 | APPLET(renice, renice_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 367 | #endif | 370 | #endif |
| 368 | #ifdef CONFIG_RESET | 371 | #ifdef CONFIG_RESET |
| 369 | APPLET(reset, reset_main, _BB_DIR_USR_BIN) | 372 | APPLET(reset, reset_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 370 | #endif | 373 | #endif |
| 371 | #ifdef CONFIG_RM | 374 | #ifdef CONFIG_RM |
| 372 | APPLET(rm, rm_main, _BB_DIR_BIN) | 375 | APPLET(rm, rm_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 373 | #endif | 376 | #endif |
| 374 | #ifdef CONFIG_RMDIR | 377 | #ifdef CONFIG_RMDIR |
| 375 | APPLET(rmdir, rmdir_main, _BB_DIR_BIN) | 378 | APPLET(rmdir, rmdir_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 376 | #endif | 379 | #endif |
| 377 | #ifdef CONFIG_RMMOD | 380 | #ifdef CONFIG_RMMOD |
| 378 | APPLET(rmmod, rmmod_main, _BB_DIR_SBIN) | 381 | APPLET(rmmod, rmmod_main, _BB_DIR_SBIN, _BB_SUID_NEVER) |
| 379 | #endif | 382 | #endif |
| 380 | #ifdef CONFIG_ROUTE | 383 | #ifdef CONFIG_ROUTE |
| 381 | APPLET(route, route_main, _BB_DIR_SBIN) | 384 | APPLET(route, route_main, _BB_DIR_SBIN, _BB_SUID_NEVER) |
| 382 | #endif | 385 | #endif |
| 383 | #ifdef CONFIG_RPM2CPIO | 386 | #ifdef CONFIG_RPM2CPIO |
| 384 | APPLET(rpm2cpio, rpm2cpio_main, _BB_DIR_USR_BIN) | 387 | APPLET(rpm2cpio, rpm2cpio_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 385 | #endif | 388 | #endif |
| 386 | #ifdef CONFIG_RUN_PARTS | 389 | #ifdef CONFIG_RUN_PARTS |
| 387 | APPLET_ODDNAME("run-parts", run_parts_main, _BB_DIR_BIN, run_parts) | 390 | APPLET_ODDNAME("run-parts", run_parts_main, _BB_DIR_BIN, _BB_SUID_NEVER, run_parts) |
| 388 | #endif | 391 | #endif |
| 389 | #ifdef CONFIG_SED | 392 | #ifdef CONFIG_SED |
| 390 | APPLET(sed, sed_main, _BB_DIR_BIN) | 393 | APPLET(sed, sed_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 391 | #endif | 394 | #endif |
| 392 | #ifdef CONFIG_SETKEYCODES | 395 | #ifdef CONFIG_SETKEYCODES |
| 393 | APPLET(setkeycodes, setkeycodes_main, _BB_DIR_USR_BIN) | 396 | APPLET(setkeycodes, setkeycodes_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 394 | #endif | 397 | #endif |
| 395 | #if defined(CONFIG_FEATURE_SH_IS_ASH) && defined(CONFIG_ASH) | 398 | #if defined(CONFIG_FEATURE_SH_IS_ASH) && defined(CONFIG_ASH) |
| 396 | APPLET_NOUSAGE("sh", ash_main, _BB_DIR_BIN) | 399 | APPLET_NOUSAGE("sh", ash_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 397 | #elif defined(CONFIG_FEATURE_SH_IS_HUSH) && defined(CONFIG_HUSH) | 400 | #elif defined(CONFIG_FEATURE_SH_IS_HUSH) && defined(CONFIG_HUSH) |
| 398 | APPLET_NOUSAGE("sh", hush_main, _BB_DIR_BIN) | 401 | APPLET_NOUSAGE("sh", hush_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 399 | #elif defined(CONFIG_FEATURE_SH_IS_LASH) && defined(CONFIG_LASH) | 402 | #elif defined(CONFIG_FEATURE_SH_IS_LASH) && defined(CONFIG_LASH) |
| 400 | APPLET_NOUSAGE("sh", lash_main, _BB_DIR_BIN) | 403 | APPLET_NOUSAGE("sh", lash_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 401 | #elif defined(CONFIG_FEATURE_SH_IS_MSH) && defined(CONFIG_MSH) | 404 | #elif defined(CONFIG_FEATURE_SH_IS_MSH) && defined(CONFIG_MSH) |
| 402 | APPLET_NOUSAGE("sh", msh_main, _BB_DIR_BIN) | 405 | APPLET_NOUSAGE("sh", msh_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 403 | #endif | 406 | #endif |
| 404 | #ifdef CONFIG_SLEEP | 407 | #ifdef CONFIG_SLEEP |
| 405 | APPLET(sleep, sleep_main, _BB_DIR_BIN) | 408 | APPLET(sleep, sleep_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 406 | #endif | 409 | #endif |
| 407 | #ifdef CONFIG_SORT | 410 | #ifdef CONFIG_SORT |
| 408 | APPLET(sort, sort_main, _BB_DIR_USR_BIN) | 411 | APPLET(sort, sort_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 409 | #endif | 412 | #endif |
| 410 | #ifdef CONFIG_START_STOP_DAEMON | 413 | #ifdef CONFIG_START_STOP_DAEMON |
| 411 | APPLET_ODDNAME("start-stop-daemon", start_stop_daemon_main, _BB_DIR_SBIN, start_stop_daemon) | 414 | APPLET_ODDNAME("start-stop-daemon", start_stop_daemon_main, _BB_DIR_SBIN, _BB_SUID_NEVER, start_stop_daemon) |
| 412 | #endif | 415 | #endif |
| 413 | #ifdef CONFIG_STTY | 416 | #ifdef CONFIG_STTY |
| 414 | APPLET(stty, stty_main, _BB_DIR_BIN) | 417 | APPLET(stty, stty_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 418 | #endif | ||
| 419 | #ifdef CONFIG_SU | ||
| 420 | APPLET(su, su_main, _BB_DIR_BIN, _BB_SUID_ALWAYS) | ||
| 415 | #endif | 421 | #endif |
| 416 | #ifdef CONFIG_SWAPONOFF | 422 | #ifdef CONFIG_SWAPONOFF |
| 417 | APPLET(swapoff, swap_on_off_main, _BB_DIR_SBIN) | 423 | APPLET(swapoff, swap_on_off_main, _BB_DIR_SBIN, _BB_SUID_NEVER) |
| 418 | #endif | 424 | #endif |
| 419 | #ifdef CONFIG_SWAPONOFF | 425 | #ifdef CONFIG_SWAPONOFF |
| 420 | APPLET(swapon, swap_on_off_main, _BB_DIR_SBIN) | 426 | APPLET(swapon, swap_on_off_main, _BB_DIR_SBIN, _BB_SUID_NEVER) |
| 421 | #endif | 427 | #endif |
| 422 | #ifdef CONFIG_SYNC | 428 | #ifdef CONFIG_SYNC |
| 423 | APPLET(sync, sync_main, _BB_DIR_BIN) | 429 | APPLET(sync, sync_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 424 | #endif | 430 | #endif |
| 425 | #ifdef CONFIG_SYSLOGD | 431 | #ifdef CONFIG_SYSLOGD |
| 426 | APPLET(syslogd, syslogd_main, _BB_DIR_SBIN) | 432 | APPLET(syslogd, syslogd_main, _BB_DIR_SBIN, _BB_SUID_NEVER) |
| 427 | #endif | 433 | #endif |
| 428 | #ifdef CONFIG_TAIL | 434 | #ifdef CONFIG_TAIL |
| 429 | APPLET(tail, tail_main, _BB_DIR_USR_BIN) | 435 | APPLET(tail, tail_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 430 | #endif | 436 | #endif |
| 431 | #ifdef CONFIG_TAR | 437 | #ifdef CONFIG_TAR |
| 432 | APPLET(tar, tar_main, _BB_DIR_BIN) | 438 | APPLET(tar, tar_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 433 | #endif | 439 | #endif |
| 434 | #ifdef CONFIG_TEE | 440 | #ifdef CONFIG_TEE |
| 435 | APPLET(tee, tee_main, _BB_DIR_USR_BIN) | 441 | APPLET(tee, tee_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 436 | #endif | 442 | #endif |
| 437 | #ifdef CONFIG_TELNET | 443 | #ifdef CONFIG_TELNET |
| 438 | APPLET(telnet, telnet_main, _BB_DIR_USR_BIN) | 444 | APPLET(telnet, telnet_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 439 | #endif | 445 | #endif |
| 440 | #ifdef CONFIG_TEST | 446 | #ifdef CONFIG_TEST |
| 441 | APPLET(test, test_main, _BB_DIR_USR_BIN) | 447 | APPLET(test, test_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 442 | #endif | 448 | #endif |
| 443 | #ifdef CONFIG_TFTP | 449 | #ifdef CONFIG_TFTP |
| 444 | APPLET(tftp, tftp_main, _BB_DIR_USR_BIN) | 450 | APPLET(tftp, tftp_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 445 | #endif | 451 | #endif |
| 446 | #ifdef CONFIG_TIME | 452 | #ifdef CONFIG_TIME |
| 447 | APPLET(time, time_main, _BB_DIR_USR_BIN) | 453 | APPLET(time, time_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 448 | #endif | 454 | #endif |
| 449 | #ifdef CONFIG_TOUCH | 455 | #ifdef CONFIG_TOUCH |
| 450 | APPLET(touch, touch_main, _BB_DIR_BIN) | 456 | APPLET(touch, touch_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 451 | #endif | 457 | #endif |
| 452 | #ifdef CONFIG_TR | 458 | #ifdef CONFIG_TR |
| 453 | APPLET(tr, tr_main, _BB_DIR_USR_BIN) | 459 | APPLET(tr, tr_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 454 | #endif | 460 | #endif |
| 455 | #ifdef CONFIG_TRACEROUTE | 461 | #ifdef CONFIG_TRACEROUTE |
| 456 | APPLET(traceroute, traceroute_main, _BB_DIR_USR_BIN) | 462 | APPLET(traceroute, traceroute_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 457 | #endif | 463 | #endif |
| 458 | #ifdef CONFIG_TRUE | 464 | #ifdef CONFIG_TRUE |
| 459 | APPLET(true, true_main, _BB_DIR_BIN) | 465 | APPLET(true, true_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 460 | #endif | 466 | #endif |
| 461 | #ifdef CONFIG_TTY | 467 | #ifdef CONFIG_TTY |
| 462 | APPLET(tty, tty_main, _BB_DIR_USR_BIN) | 468 | APPLET(tty, tty_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 463 | #endif | 469 | #endif |
| 464 | #ifdef CONFIG_UMOUNT | 470 | #ifdef CONFIG_UMOUNT |
| 465 | APPLET(umount, umount_main, _BB_DIR_BIN) | 471 | APPLET(umount, umount_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 466 | #endif | 472 | #endif |
| 467 | #ifdef CONFIG_UNAME | 473 | #ifdef CONFIG_UNAME |
| 468 | APPLET(uname, uname_main, _BB_DIR_BIN) | 474 | APPLET(uname, uname_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 469 | #endif | 475 | #endif |
| 470 | #ifdef CONFIG_GUNZIP | 476 | #ifdef CONFIG_GUNZIP |
| 471 | # ifdef CONFIG_FEATURE_UNCOMPRESS | 477 | # ifdef CONFIG_FEATURE_UNCOMPRESS |
| 472 | APPLET_ODDNAME("uncompress", gunzip_main, _BB_DIR_BIN, gunzip) | 478 | APPLET_ODDNAME("uncompress", gunzip_main, _BB_DIR_BIN, _BB_SUID_NEVER, gunzip) |
| 473 | # endif | 479 | # endif |
| 474 | #endif | 480 | #endif |
| 475 | #ifdef CONFIG_UNIQ | 481 | #ifdef CONFIG_UNIQ |
| 476 | APPLET(uniq, uniq_main, _BB_DIR_USR_BIN) | 482 | APPLET(uniq, uniq_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 477 | #endif | 483 | #endif |
| 478 | #ifdef CONFIG_UNIX2DOS | 484 | #ifdef CONFIG_UNIX2DOS |
| 479 | APPLET(unix2dos, dos2unix_main, _BB_DIR_USR_BIN) | 485 | APPLET(unix2dos, dos2unix_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 480 | #endif | 486 | #endif |
| 481 | #ifdef CONFIG_UNZIP | 487 | #ifdef CONFIG_UNZIP |
| 482 | APPLET(unzip, unzip_main, _BB_DIR_USR_BIN) | 488 | APPLET(unzip, unzip_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 483 | #endif | 489 | #endif |
| 484 | #ifdef CONFIG_UPDATE | 490 | #ifdef CONFIG_UPDATE |
| 485 | APPLET(update, update_main, _BB_DIR_SBIN) | 491 | APPLET(update, update_main, _BB_DIR_SBIN, _BB_SUID_NEVER) |
| 486 | #endif | 492 | #endif |
| 487 | #ifdef CONFIG_UPTIME | 493 | #ifdef CONFIG_UPTIME |
| 488 | APPLET(uptime, uptime_main, _BB_DIR_USR_BIN) | 494 | APPLET(uptime, uptime_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 489 | #endif | 495 | #endif |
| 490 | #ifdef CONFIG_USLEEP | 496 | #ifdef CONFIG_USLEEP |
| 491 | APPLET(usleep, usleep_main, _BB_DIR_BIN) | 497 | APPLET(usleep, usleep_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 492 | #endif | 498 | #endif |
| 493 | #ifdef CONFIG_UUDECODE | 499 | #ifdef CONFIG_UUDECODE |
| 494 | APPLET(uudecode, uudecode_main, _BB_DIR_USR_BIN) | 500 | APPLET(uudecode, uudecode_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 495 | #endif | 501 | #endif |
| 496 | #ifdef CONFIG_UUENCODE | 502 | #ifdef CONFIG_UUENCODE |
| 497 | APPLET(uuencode, uuencode_main, _BB_DIR_USR_BIN) | 503 | APPLET(uuencode, uuencode_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 498 | #endif | 504 | #endif |
| 499 | #ifdef CONFIG_VI | 505 | #ifdef CONFIG_VI |
| 500 | APPLET(vi, vi_main, _BB_DIR_BIN) | 506 | APPLET(vi, vi_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 501 | #endif | 507 | #endif |
| 502 | #ifdef CONFIG_WATCHDOG | 508 | #ifdef CONFIG_WATCHDOG |
| 503 | APPLET(watchdog, watchdog_main, _BB_DIR_SBIN) | 509 | APPLET(watchdog, watchdog_main, _BB_DIR_SBIN, _BB_SUID_NEVER) |
| 504 | #endif | 510 | #endif |
| 505 | #ifdef CONFIG_WC | 511 | #ifdef CONFIG_WC |
| 506 | APPLET(wc, wc_main, _BB_DIR_USR_BIN) | 512 | APPLET(wc, wc_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 507 | #endif | 513 | #endif |
| 508 | #ifdef CONFIG_WGET | 514 | #ifdef CONFIG_WGET |
| 509 | APPLET(wget, wget_main, _BB_DIR_USR_BIN) | 515 | APPLET(wget, wget_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 510 | #endif | 516 | #endif |
| 511 | #ifdef CONFIG_WHICH | 517 | #ifdef CONFIG_WHICH |
| 512 | APPLET(which, which_main, _BB_DIR_USR_BIN) | 518 | APPLET(which, which_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 513 | #endif | 519 | #endif |
| 514 | #ifdef CONFIG_WHO | 520 | #ifdef CONFIG_WHO |
| 515 | APPLET(who, who_main, _BB_DIR_USR_BIN) | 521 | APPLET(who, who_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 516 | #endif | 522 | #endif |
| 517 | #ifdef CONFIG_WHOAMI | 523 | #ifdef CONFIG_WHOAMI |
| 518 | APPLET(whoami, whoami_main, _BB_DIR_USR_BIN) | 524 | APPLET(whoami, whoami_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 519 | #endif | 525 | #endif |
| 520 | #ifdef CONFIG_XARGS | 526 | #ifdef CONFIG_XARGS |
| 521 | APPLET(xargs, xargs_main, _BB_DIR_USR_BIN) | 527 | APPLET(xargs, xargs_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 522 | #endif | 528 | #endif |
| 523 | #ifdef CONFIG_YES | 529 | #ifdef CONFIG_YES |
| 524 | APPLET(yes, yes_main, _BB_DIR_USR_BIN) | 530 | APPLET(yes, yes_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| 525 | #endif | 531 | #endif |
| 526 | #ifdef CONFIG_GUNZIP | 532 | #ifdef CONFIG_GUNZIP |
| 527 | APPLET(zcat, gunzip_main, _BB_DIR_BIN) | 533 | APPLET(zcat, gunzip_main, _BB_DIR_BIN, _BB_SUID_NEVER) |
| 528 | #endif | 534 | #endif |
| 529 | 535 | ||
| 530 | #if !defined(PROTOTYPES) && !defined(MAKE_USAGE) | 536 | #if !defined(PROTOTYPES) && !defined(MAKE_USAGE) |
diff --git a/include/busybox.h b/include/busybox.h index ea58c0c28..2e54ac55e 100644 --- a/include/busybox.h +++ b/include/busybox.h | |||
| @@ -39,6 +39,7 @@ | |||
| 39 | 39 | ||
| 40 | #include <features.h> | 40 | #include <features.h> |
| 41 | 41 | ||
| 42 | #include "libbb.h" | ||
| 42 | 43 | ||
| 43 | enum Location { | 44 | enum Location { |
| 44 | _BB_DIR_ROOT = 0, | 45 | _BB_DIR_ROOT = 0, |
| @@ -48,10 +49,17 @@ enum Location { | |||
| 48 | _BB_DIR_USR_SBIN | 49 | _BB_DIR_USR_SBIN |
| 49 | }; | 50 | }; |
| 50 | 51 | ||
| 52 | enum SUIDRoot { | ||
| 53 | _BB_SUID_NEVER = 0, | ||
| 54 | _BB_SUID_MAYBE, | ||
| 55 | _BB_SUID_ALWAYS | ||
| 56 | }; | ||
| 57 | |||
| 51 | struct BB_applet { | 58 | struct BB_applet { |
| 52 | const char* name; | 59 | const char* name; |
| 53 | int (*main)(int argc, char** argv); | 60 | int (*main)(int argc, char** argv); |
| 54 | enum Location location; | 61 | enum Location location : 4; |
| 62 | enum SUIDRoot need_suid : 4; | ||
| 55 | }; | 63 | }; |
| 56 | /* From busybox.c */ | 64 | /* From busybox.c */ |
| 57 | extern const struct BB_applet applets[]; | 65 | extern const struct BB_applet applets[]; |
| @@ -99,7 +107,7 @@ extern const struct BB_applet applets[]; | |||
| 99 | 107 | ||
| 100 | 108 | ||
| 101 | /* Pull in the utility routines from libbb */ | 109 | /* Pull in the utility routines from libbb */ |
| 102 | #include "libbb.h" | 110 | // #include "libbb.h" |
| 103 | 111 | ||
| 104 | /* Try to pull in PATH_MAX */ | 112 | /* Try to pull in PATH_MAX */ |
| 105 | #include <limits.h> | 113 | #include <limits.h> |
diff --git a/include/libbb.h b/include/libbb.h index 40cff8b4b..0b2411fcd 100644 --- a/include/libbb.h +++ b/include/libbb.h | |||
| @@ -37,6 +37,8 @@ | |||
| 37 | 37 | ||
| 38 | #include <features.h> | 38 | #include <features.h> |
| 39 | 39 | ||
| 40 | #include "config.h" | ||
| 41 | |||
| 40 | #if (__GNU_LIBRARY__ < 5) && (!defined __dietlibc__) | 42 | #if (__GNU_LIBRARY__ < 5) && (!defined __dietlibc__) |
| 41 | /* libc5 doesn't define socklen_t */ | 43 | /* libc5 doesn't define socklen_t */ |
| 42 | typedef unsigned int socklen_t; | 44 | typedef unsigned int socklen_t; |
