From 7bf3e29007350897cb708da01df845f4d58b4173 Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Wed, 1 Aug 2018 20:26:05 +0000 Subject: Remove prot --- NEWS | 2 +- doc/libstddjb/djbunix.html | 20 -------------------- doc/upgrade.html | 2 +- package/deps.mak | 3 --- src/include/skalibs/djbunix.h | 6 ------ src/libstddjb/prot.c | 19 ------------------- src/libstddjb/prot_grps.c | 27 --------------------------- src/libstddjb/prot_readgroups.c | 27 --------------------------- 8 files changed, 2 insertions(+), 104 deletions(-) delete mode 100644 src/libstddjb/prot.c delete mode 100644 src/libstddjb/prot_grps.c delete mode 100644 src/libstddjb/prot_readgroups.c diff --git a/NEWS b/NEWS index 8acb502..72a40f3 100644 --- a/NEWS +++ b/NEWS @@ -6,7 +6,7 @@ In 2.7.0.0 - Bugfixes. - New functions: ipc_timed_sendv(), unlink_void() - dir_close() now returns void and leaves errno unchanged - - absolutepath(), sarealpath_tmp(), mininetstring functions removed + - absolutepath(), sarealpath_tmp(), mininetstring, prot functions removed - djbunix.h doesn't include env.h anymore diff --git a/doc/libstddjb/djbunix.html b/doc/libstddjb/djbunix.html index 1507bcd..db2e91e 100644 --- a/doc/libstddjb/djbunix.html +++ b/doc/libstddjb/djbunix.html @@ -311,26 +311,6 @@ Opens file in write-only, non-blocking mode. Returns a valid fd number if it succeeds, or -1 (and sets errno) if it fails.

-

Privilege management

- -

- int prot_readgroups (char const *name, gid_t *tab, unsigned int max)
-Reads the group database (normally /etc/group, but it can be -altered via NSS) to get the list of supplementary groups for user name. -Stores that list into the array pointed to by tab, which must be -preallocated. Stores at most max elements into tab. -Returns -1 and sets errno if it fails; else, returns the number of elements actually -stored into tab. -

- -

- int prot_grps (char const *name)
-Sets the kernel-maintained list of supplementary groups for the current process -to the list of supplementary groups for user name according to the -group database. This is a privileged operation. -Returns -1 and sets errno if it fails; returns 0 if it succeeds. -

-

Executable search and execution, and environment

diff --git a/doc/upgrade.html b/doc/upgrade.html index eb10441..3f1f1d9 100644 --- a/doc/upgrade.html +++ b/doc/upgrade.html @@ -23,7 +23,7 @@

  • The dir_close() function now returns void and leaves errno unchanged.
  • The absolutepath() and sarealpath_tmp() functions, as well -as the skalibs/mininetstring.h family of functions, have been removed.
  • +as the skalibs/mininetstring.h and prot family of functions, have been removed.
  • skalibs/djbunix.h does not include skalibs/env.h anymore.
  • diff --git a/package/deps.mak b/package/deps.mak index e2751a4..f859392 100644 --- a/package/deps.mak +++ b/package/deps.mak @@ -455,9 +455,6 @@ src/libstddjb/pathexec_r_name.o src/libstddjb/pathexec_r_name.lo: src/libstddjb/ src/libstddjb/pathexec_run.o src/libstddjb/pathexec_run.lo: src/libstddjb/pathexec_run.c src/include/skalibs/config.h src/include/skalibs/djbunix.h src/include/skalibs/posixplz.h src/libstddjb/pipe_internal.o src/libstddjb/pipe_internal.lo: src/libstddjb/pipe_internal.c src/include/skalibs/djbunix.h src/include/skalibs/nonposix.h src/include/skalibs/sysdeps.h src/libstddjb/prog.o src/libstddjb/prog.lo: src/libstddjb/prog.c src/include/skalibs/strerr2.h -src/libstddjb/prot.o src/libstddjb/prot.lo: src/libstddjb/prot.c src/include/skalibs/djbunix.h -src/libstddjb/prot_grps.o src/libstddjb/prot_grps.lo: src/libstddjb/prot_grps.c src/include/skalibs/djbunix.h src/include/skalibs/setgroups.h -src/libstddjb/prot_readgroups.o src/libstddjb/prot_readgroups.lo: src/libstddjb/prot_readgroups.c src/include/skalibs/djbunix.h src/libstddjb/rm_rf.o src/libstddjb/rm_rf.lo: src/libstddjb/rm_rf.c src/include/skalibs/djbunix.h src/include/skalibs/skamisc.h src/libstddjb/rm_rf_in_tmp.o src/libstddjb/rm_rf_in_tmp.lo: src/libstddjb/rm_rf_in_tmp.c src/include/skalibs/direntry.h src/include/skalibs/djbunix.h src/include/skalibs/stralloc.h src/libstddjb/rm_rf_tmp.o src/libstddjb/rm_rf_tmp.lo: src/libstddjb/rm_rf_tmp.c src/include/skalibs/djbunix.h src/include/skalibs/stralloc.h diff --git a/src/include/skalibs/djbunix.h b/src/include/skalibs/djbunix.h index b8bb85c..d39df3f 100644 --- a/src/include/skalibs/djbunix.h +++ b/src/include/skalibs/djbunix.h @@ -71,12 +71,6 @@ extern void xpathexec0_run (char const *const *, char const *const *) gccattr_no extern void xpathexec (char const *const *) gccattr_noreturn ; extern void xpathexec0 (char const *const *) gccattr_noreturn ; -#define prot_gid(gid) setgid(gid) -#define prot_uid(uid) setuid(uid) -extern int prot_readgroups (char const *, gid_t *, unsigned int) ; -extern int prot_grps (char const *) ; -extern int prot_setuidgid (char const *) ; - extern pid_t wait_nointr (int *) ; extern pid_t waitpid_nointr (pid_t, int *, int) ; #define wait_pid(pid, wstat) waitpid_nointr(pid, (wstat), 0) diff --git a/src/libstddjb/prot.c b/src/libstddjb/prot.c deleted file mode 100644 index 6714cfb..0000000 --- a/src/libstddjb/prot.c +++ /dev/null @@ -1,19 +0,0 @@ -/* ISC license. */ - -/* MT-unsafe */ - -#include -#include -#include -#include - -int prot_setuidgid (char const *name) -{ - struct passwd *pw = getpwnam(name) ; - if (!pw) - { - if (!errno) errno = ESRCH ; - return 0 ; - } - return !prot_grps(name) && !setgid(pw->pw_gid) && !setuid(pw->pw_uid) ; -} diff --git a/src/libstddjb/prot_grps.c b/src/libstddjb/prot_grps.c deleted file mode 100644 index c5ea35b..0000000 --- a/src/libstddjb/prot_grps.c +++ /dev/null @@ -1,27 +0,0 @@ -/* ISC license. */ - -/* MT-unsafe */ - -#include -#include -#include -#include -#include -#include -#include - -int prot_grps (char const *name) -{ - gid_t tab[NGROUPS_MAX] ; - struct passwd *pw ; - int n = prot_readgroups(name, tab, NGROUPS_MAX) ; - if (n < 0) return n ; - errno = 0 ; - pw = getpwnam(name) ; - if (!pw) - { - if (!errno) errno = ENOENT ; - return -1 ; - } - return setgroups_and_gid(pw->pw_gid, n, tab) ; -} diff --git a/src/libstddjb/prot_readgroups.c b/src/libstddjb/prot_readgroups.c deleted file mode 100644 index 431cf1c..0000000 --- a/src/libstddjb/prot_readgroups.c +++ /dev/null @@ -1,27 +0,0 @@ -/* ISC license. */ - -/* MT-unsafe */ - -#include -#include -#include -#include - -int prot_readgroups (char const *name, gid_t *tab, unsigned int max) -{ - unsigned int n = 0 ; - for (;;) - { - struct group *gr ; - char **member ; - errno = 0 ; - if (n >= max) break ; - gr = getgrent() ; - if (!gr) break ; - for (member = gr->gr_mem ; *member ; member++) - if (!strcmp(name, *member)) break ; - if (*member) tab[n++] = gr->gr_gid ; - } - endgrent() ; - return errno ? -1 : n ; -} -- cgit v1.3.1