aboutsummaryrefslogtreecommitdiff
path: root/libbb
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2016-12-23 02:42:26 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2016-12-23 02:42:26 +0100
commit9cc3d3ab21eb8b4766b71dffb04132184c754f7b (patch)
tree11ebefbc2a008c9479110177d97c346893ba4d82 /libbb
parent7c5dea399b16341ead146cb86eb4f6cde031a12d (diff)
downloadbusybox-w32-9cc3d3ab21eb8b4766b71dffb04132184c754f7b.tar.gz
busybox-w32-9cc3d3ab21eb8b4766b71dffb04132184c754f7b.tar.bz2
busybox-w32-9cc3d3ab21eb8b4766b71dffb04132184c754f7b.zip
fix breakage found by mass one-applet builds
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'libbb')
-rw-r--r--libbb/Kbuild.src1
-rw-r--r--libbb/appletlib.c32
-rw-r--r--libbb/update_passwd.c2
3 files changed, 19 insertions, 16 deletions
diff --git a/libbb/Kbuild.src b/libbb/Kbuild.src
index e426f3c7e..898a51a89 100644
--- a/libbb/Kbuild.src
+++ b/libbb/Kbuild.src
@@ -176,6 +176,7 @@ lib-$(CONFIG_TRACEROUTE6) += inet_cksum.o
176lib-$(CONFIG_UDHCPC) += inet_cksum.o 176lib-$(CONFIG_UDHCPC) += inet_cksum.o
177lib-$(CONFIG_UDHCPC6) += inet_cksum.o 177lib-$(CONFIG_UDHCPC6) += inet_cksum.o
178lib-$(CONFIG_UDHCPD) += inet_cksum.o 178lib-$(CONFIG_UDHCPD) += inet_cksum.o
179lib-$(CONFIG_DHCPRELAY) += inet_cksum.o
179 180
180# We shouldn't build xregcomp.c if we don't need it - this ensures we don't 181# We shouldn't build xregcomp.c if we don't need it - this ensures we don't
181# require regex.h to be in the include dir even if we don't need it thereby 182# require regex.h to be in the include dir even if we don't need it thereby
diff --git a/libbb/appletlib.c b/libbb/appletlib.c
index 9425c7bd4..ee8b4ec14 100644
--- a/libbb/appletlib.c
+++ b/libbb/appletlib.c
@@ -329,21 +329,6 @@ static struct suid_config_t {
329 329
330static bool suid_cfg_readable; 330static bool suid_cfg_readable;
331 331
332/* check if u is member of group g */
333static int ingroup(uid_t u, gid_t g)
334{
335 struct group *grp = getgrgid(g);
336 if (grp) {
337 char **mem;
338 for (mem = grp->gr_mem; *mem; mem++) {
339 struct passwd *pwd = getpwnam(*mem);
340 if (pwd && (pwd->pw_uid == u))
341 return 1;
342 }
343 }
344 return 0;
345}
346
347/* libbb candidate */ 332/* libbb candidate */
348static char *get_trimmed_slice(char *s, char *e) 333static char *get_trimmed_slice(char *s, char *e)
349{ 334{
@@ -568,7 +553,22 @@ static inline void parse_config_file(void)
568# endif /* FEATURE_SUID_CONFIG */ 553# endif /* FEATURE_SUID_CONFIG */
569 554
570 555
571# if ENABLE_FEATURE_SUID 556# if ENABLE_FEATURE_SUID && NUM_APPLETS > 0
557/* check if u is member of group g */
558static int ingroup(uid_t u, gid_t g)
559{
560 struct group *grp = getgrgid(g);
561 if (grp) {
562 char **mem;
563 for (mem = grp->gr_mem; *mem; mem++) {
564 struct passwd *pwd = getpwnam(*mem);
565 if (pwd && (pwd->pw_uid == u))
566 return 1;
567 }
568 }
569 return 0;
570}
571
572static void check_suid(int applet_no) 572static void check_suid(int applet_no)
573{ 573{
574 gid_t rgid; /* real gid */ 574 gid_t rgid; /* real gid */
diff --git a/libbb/update_passwd.c b/libbb/update_passwd.c
index 6255af492..95423d19b 100644
--- a/libbb/update_passwd.c
+++ b/libbb/update_passwd.c
@@ -180,6 +180,7 @@ int FAST_FUNC update_passwd(const char *filename,
180 if (!line) /* EOF/error */ 180 if (!line) /* EOF/error */
181 break; 181 break;
182 182
183#if ENABLE_FEATURE_ADDUSER_TO_GROUP || ENABLE_FEATURE_DEL_USER_FROM_GROUP
183 if (!name && member) { 184 if (!name && member) {
184 /* Delete member from all groups */ 185 /* Delete member from all groups */
185 /* line is "GROUP:PASSWD:[member1[,member2]...]" */ 186 /* line is "GROUP:PASSWD:[member1[,member2]...]" */
@@ -209,6 +210,7 @@ int FAST_FUNC update_passwd(const char *filename,
209 fprintf(new_fp, "%s\n", line); 210 fprintf(new_fp, "%s\n", line);
210 goto next; 211 goto next;
211 } 212 }
213#endif
212 214
213 cp = is_prefixed_with(line, name_colon); 215 cp = is_prefixed_with(line, name_colon);
214 if (!cp) { 216 if (!cp) {