Apply patch: ncpfs-2_2_6_partial.patch
This commit is contained in:
@@ -360,7 +360,7 @@ void verify_argv(int argc, char* argv[]) {
|
||||
#endif
|
||||
|
||||
static inline int ncpm_suser(void) {
|
||||
return setreuid(-1, 0);
|
||||
return setresuid(0, 0, myuid);
|
||||
}
|
||||
|
||||
static int ncpm_normal(void) {
|
||||
@@ -368,11 +368,31 @@ static int ncpm_normal(void) {
|
||||
int v;
|
||||
|
||||
e = errno;
|
||||
v = setreuid(-1, myuid);
|
||||
v = setresuid(myuid, myuid, 0);
|
||||
errno = e;
|
||||
return v;
|
||||
}
|
||||
|
||||
void block_sigs(void) {
|
||||
|
||||
sigset_t mask, orig_mask;
|
||||
sigfillset(&mask);
|
||||
|
||||
if(sigprocmask(SIG_SETMASK, &mask, &orig_mask) < 0) {
|
||||
errexit(-1, _("Blocking signals failed.\n"));
|
||||
}
|
||||
}
|
||||
|
||||
void unblock_sigs(void) {
|
||||
|
||||
sigset_t mask, orig_mask;
|
||||
sigemptyset(&mask);
|
||||
|
||||
if (sigprocmask(SIG_SETMASK, &mask, &orig_mask) < 0) {
|
||||
errexit(-1, _("Un-blocking signals failed.\n"));
|
||||
}
|
||||
}
|
||||
|
||||
static int proc_ncpm_mount(const char* source, const char* target, const char* filesystem, unsigned long mountflags, const void* data) {
|
||||
int v;
|
||||
int e;
|
||||
|
||||
Reference in New Issue
Block a user