1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-24 21:34:56 +03:00
samba-mirror/lib/uid_wrapper/uid_wrapper.h
Andrew Tridgell fd43e0ee09 added a uid_wrapper library
This library intercepts seteuid and related calls, and simulates them
in a manner similar to the nss_wrapper and socket_wrapper
libraries. This allows us to enable the vfs_unixuid NTVFS module in
the build farm, which means we are more likely to catch errors in the
token manipulation.

The simulation is not complete, but it is enough for Samba4 for
now. The major areas of incompleteness are:

 - no emulation of setreuid, setresuid or saved uids. These would be
   needed for use in Samba3

 - no emulation of ruid changing. That would also be needed for Samba3

 - no attempt to emulate file ownership changing, so code that (for
   example) tests whether st.st_uid matches geteuid() needs special
   handling
2009-08-05 10:51:00 +10:00

62 lines
1.3 KiB
C

/*
Copyright (C) Andrew Tridgell 2009
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __UID_WRAPPER_H__
#define __UID_WRAPPER_H__
#ifdef seteuid
#undef seteuid
#endif
#define seteuid uwrap_seteuid
#ifdef setegid
#undef setegid
#endif
#define setegid uwrap_setegid
#ifdef geteuid
#undef geteuid
#endif
#define geteuid uwrap_geteuid
#ifdef getegid
#undef getegid
#endif
#define getegid uwrap_getegid
#ifdef setgroups
#undef setgroups
#endif
#define setgroups uwrap_setgroups
#ifdef getgroups
#undef getgroups
#endif
#define getgroups uwrap_getgroups
#ifdef getuid
#undef getuid
#endif
#define getuid uwrap_getuid
#ifdef getgid
#undef getgid
#endif
#define getgid uwrap_getgid
#endif /* __UID_WRAPPER_H__ */