1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-28 00:21:52 +03:00
2003-06-09  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/kernel-features.h
	(__ASSUME_SETRESGID_SYSCALL): Define.
	* sysdeps/unix/sysv/linux/setegid.c: Use __ASSUME_SETRESGID_SYSCALL
	instead of __ASSUME_SETRESUID_SYSCALL.
	(setegid): Only use setresgid32 inline syscall if __NR_setresgid32 is
	defined.
	* sysdeps/unix/sysv/linux/seteuid.c (seteuid): Only use setresgid32
	inline syscall if __NR_setresuid32 is defined.
	* sysdeps/unix/sysv/linux/i386/setegid.c (setegid): Use
	__ASSUME_SETRESGID_SYSCALL instead of __ASSUME_SETRESUID_SYSCALL.
	* sysdeps/unix/sysv/linux/i386/setregid.c: Backout last changes.
	* sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/setegid.c (setegid): Protect
	code handling non-existant setresgid32 syscall with
	#if __ASSUME_SETRESGID_SYSCALL == 0.

2003-06-09  Andreas Schwab  <schwab@suse.de>

	* sunrpc/Makefile (generated): Remove rpc-proto.c, rpc-proto.d.
	($(rpcsvc:%.x=$(objpfx)x%$o)): Don't depend on
	$(objpfx)rpc-proto.d.
	(rpcsvc-dt-files, rpcsvc-depfiles): Define.  Include
	$(rpcsvc-depfiles) instead of $(objpfx)rpc-proto.d.
	($(objpfx)rpc-proto.d, $(objpfx)rpc-proto.c): Remove rules.
This commit is contained in:
Ulrich Drepper
2003-06-10 02:32:35 +00:00
parent 5b318f8556
commit 54c924656e
11 changed files with 66 additions and 44 deletions

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1998, 2000 Free Software Foundation, Inc.
/* Copyright (C) 1998, 2000, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -38,11 +38,13 @@ setegid (gid_t gid)
/* First try the syscall. */
result = __setresgid (-1, gid, -1);
# if __ASSUME_SETRESGID_SYSCALL == 0
if (result == -1 && errno == ENOSYS)
/* No system call available. Use emulation. This may not work
since `setregid' also sets the saved group ID when GID is not
equal to the real group ID, making it impossible to switch back. */
result = __setregid (-1, gid);
# endif
return result;
}