fix breakage found by mass one-applet builds
No binary (build failed)
—
(log yok)
| @@ -9,8 +9,12 @@ | |
| /* lzop_main() uses bbunpack(), need this: */ | |
| //kbuild:lib-$(CONFIG_LZOP) += bbunzip.o | |
| + | //kbuild:lib-$(CONFIG_LZOPCAT) += bbunzip.o |
| + | //kbuild:lib-$(CONFIG_UNLZOP) += bbunzip.o |
| /* bzip2_main() too: */ | |
| //kbuild:lib-$(CONFIG_BZIP2) += bbunzip.o | |
| + | /* gzip_main() too: */ |
| + | //kbuild:lib-$(CONFIG_GZIP) += bbunzip.o |
| /* Note: must be kept in sync with archival/lzop.c */ | |
| enum { | |
| @@ -176,6 +176,7 @@ lib-$(CONFIG_TRACEROUTE6) += inet_cksum.o | |
| lib-$(CONFIG_UDHCPC) += inet_cksum.o | |
| lib-$(CONFIG_UDHCPC6) += inet_cksum.o | |
| lib-$(CONFIG_UDHCPD) += inet_cksum.o | |
| + | lib-$(CONFIG_DHCPRELAY) += inet_cksum.o |
| # We shouldn't build xregcomp.c if we don't need it - this ensures we don't | |
| # require regex.h to be in the include dir even if we don't need it thereby | |
| @@ -329,21 +329,6 @@ static struct suid_config_t { | |
| static bool suid_cfg_readable; | |
| - | /* check if u is member of group g */ |
| - | static int ingroup(uid_t u, gid_t g) |
| - | { |
| - | struct group *grp = getgrgid(g); |
| - | if (grp) { |
| - | char **mem; |
| - | for (mem = grp->gr_mem; *mem; mem++) { |
| - | struct passwd *pwd = getpwnam(*mem); |
| - | if (pwd && (pwd->pw_uid == u)) |
| - | return 1; |
| - | } |
| - | } |
| - | return 0; |
| - | } |
| - | |
| /* libbb candidate */ | |
| static char *get_trimmed_slice(char *s, char *e) | |
| { | |
| @@ -568,7 +553,22 @@ static inline void parse_config_file(void) | |
| # endif /* FEATURE_SUID_CONFIG */ | |
| - | # if ENABLE_FEATURE_SUID |
| + | # if ENABLE_FEATURE_SUID && NUM_APPLETS > 0 |
| + | /* check if u is member of group g */ |
| + | static int ingroup(uid_t u, gid_t g) |
| + | { |
| + | struct group *grp = getgrgid(g); |
| + | if (grp) { |
| + | char **mem; |
| + | for (mem = grp->gr_mem; *mem; mem++) { |
| + | struct passwd *pwd = getpwnam(*mem); |
| + | if (pwd && (pwd->pw_uid == u)) |
| + | return 1; |
| + | } |
| + | } |
| + | return 0; |
| + | } |
| + | |
| static void check_suid(int applet_no) | |
| { | |
| gid_t rgid; /* real gid */ | |
| @@ -180,6 +180,7 @@ int FAST_FUNC update_passwd(const char *filename, | |
| if (!line) /* EOF/error */ | |
| break; | |
| + | #if ENABLE_FEATURE_ADDUSER_TO_GROUP || ENABLE_FEATURE_DEL_USER_FROM_GROUP |
| if (!name && member) { | |
| /* Delete member from all groups */ | |
| /* line is "GROUP:PASSWD:[member1[,member2]...]" */ | |
| @@ -209,6 +210,7 @@ int FAST_FUNC update_passwd(const char *filename, | |
| fprintf(new_fp, "%s\n", line); | |
| goto next; | |
| } | |
| + | #endif |
| cp = is_prefixed_with(line, name_colon); | |
| if (!cp) { | |
| @@ -62,13 +62,16 @@ lib-$(CONFIG_FEATURE_IP_TUNNEL) += \ | |
| lib-$(CONFIG_FEATURE_IP_RULE) += \ | |
| ip_parse_common_args.o \ | |
| iprule.o \ | |
| + | libnetlink.o \ |
| rt_names.o \ | |
| + | rtm_map.o \ |
| utils.o | |
| lib-$(CONFIG_FEATURE_IP_NEIGH) += \ | |
| ip_parse_common_args.o \ | |
| ipneigh.o \ | |
| libnetlink.o \ | |
| + | ll_addr.o \ |
| ll_map.o \ | |
| rt_names.o \ | |
| utils.o | |
| @@ -16,7 +16,6 @@ config UDHCPD | |
| config DHCPRELAY | |
| bool "dhcprelay" | |
| default y | |
| - | depends on UDHCPD |
| help | |
| dhcprelay listens for dhcp requests on one or more interfaces | |
| and forwards these requests to a different interface or dhcp | |
| @@ -25,7 +24,6 @@ config DHCPRELAY | |
| config DUMPLEASES | |
| bool "Lease display utility (dumpleases)" | |
| default y | |
| - | depends on UDHCPD |
| help | |
| dumpleases displays the leases written out by the udhcpd server. | |
| Lease times are stored in the file by time remaining in lease, or | |
| @@ -15,7 +15,7 @@ lib-$(CONFIG_UDHCPD) += common.o packet.o signalpipe.o socket.o | |
| lib-$(CONFIG_UDHCPC) += dhcpc.o | |
| lib-$(CONFIG_UDHCPD) += dhcpd.o arpping.o | |
| lib-$(CONFIG_DUMPLEASES) += dumpleases.o | |
| - | lib-$(CONFIG_DHCPRELAY) += dhcprelay.o |
| + | lib-$(CONFIG_DHCPRELAY) += dhcprelay.o common.o socket.o packet.o |
| lib-$(CONFIG_FEATURE_UDHCPC_ARPING) += arpping.o | |
| lib-$(CONFIG_FEATURE_UDHCP_RFC3397) += domain_codec.o | |
| @@ -11,7 +11,8 @@ | |
| //config:config LOGREAD | |
| //config: bool "logread" | |
| //config: default y | |
| - | //config: depends on FEATURE_IPC_SYSLOG |
| + | //WRONG: it should be compilable without SYSLOG=y: |
| + | //WRONG: depends on FEATURE_IPC_SYSLOG |
| //config: help | |
| //config: If you enabled Circular Buffer support, you almost | |
| //config: certainly want to enable this feature as well. This | |