libutil: remove SIGSYS handling from setusercontext
It was a workaround for cases where the kernel lacks setloginclass(2), added in the 9.x era. Submitted by: Pawel Biernacki
This commit is contained in:
parent
82adf9ad56
commit
ebea9e6d8f
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=351699
@ -40,7 +40,6 @@ __FBSDID("$FreeBSD$");
|
|||||||
#include <login_cap.h>
|
#include <login_cap.h>
|
||||||
#include <paths.h>
|
#include <paths.h>
|
||||||
#include <pwd.h>
|
#include <pwd.h>
|
||||||
#include <signal.h>
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@ -428,7 +427,6 @@ setusercontext(login_cap_t *lc, const struct passwd *pwd, uid_t uid, unsigned in
|
|||||||
rlim_t p;
|
rlim_t p;
|
||||||
mode_t mymask;
|
mode_t mymask;
|
||||||
login_cap_t *llc = NULL;
|
login_cap_t *llc = NULL;
|
||||||
struct sigaction sa, prevsa;
|
|
||||||
struct rtprio rtp;
|
struct rtprio rtp;
|
||||||
int error;
|
int error;
|
||||||
|
|
||||||
@ -521,16 +519,7 @@ setusercontext(login_cap_t *lc, const struct passwd *pwd, uid_t uid, unsigned in
|
|||||||
|
|
||||||
/* Inform the kernel about current login class */
|
/* Inform the kernel about current login class */
|
||||||
if (lc != NULL && lc->lc_class != NULL && (flags & LOGIN_SETLOGINCLASS)) {
|
if (lc != NULL && lc->lc_class != NULL && (flags & LOGIN_SETLOGINCLASS)) {
|
||||||
/*
|
|
||||||
* XXX: This is a workaround to fail gracefully in case the kernel
|
|
||||||
* does not support setloginclass(2).
|
|
||||||
*/
|
|
||||||
bzero(&sa, sizeof(sa));
|
|
||||||
sa.sa_handler = SIG_IGN;
|
|
||||||
sigfillset(&sa.sa_mask);
|
|
||||||
sigaction(SIGSYS, &sa, &prevsa);
|
|
||||||
error = setloginclass(lc->lc_class);
|
error = setloginclass(lc->lc_class);
|
||||||
sigaction(SIGSYS, &prevsa, NULL);
|
|
||||||
if (error != 0) {
|
if (error != 0) {
|
||||||
syslog(LOG_ERR, "setloginclass(%s): %m", lc->lc_class);
|
syslog(LOG_ERR, "setloginclass(%s): %m", lc->lc_class);
|
||||||
#ifdef notyet
|
#ifdef notyet
|
||||||
|
Loading…
Reference in New Issue
Block a user