[SCM] Samba Shared Repository - branch master updated
Andreas Schneider
asn at samba.org
Fri Oct 7 04:05:03 MDT 2011
The branch, master has been updated
via 4493c57 uid_wrapper: Add uwrap_setresuid().
via 17f1276 uid_wrapper: Add uwrap_setregid().
via c2b9e9b uid_wrapper: Add uwrap_setreuid().
from 556ef6a s4-param copy print_parameter and equal_parameter in from source3
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 4493c578b0da44ae2100cc0d4d6acc714bf39a3f
Author: Andreas Schneider <asn at samba.org>
Date: Fri Oct 7 10:30:23 2011 +0200
uid_wrapper: Add uwrap_setresuid().
Autobuild-User: Andreas Schneider <asn at cryptomilk.org>
Autobuild-Date: Fri Oct 7 12:04:05 CEST 2011 on sn-devel-104
commit 17f1276feadae1cfeea559e46e44ad136c438251
Author: Andreas Schneider <asn at samba.org>
Date: Thu Oct 6 16:52:03 2011 +0200
uid_wrapper: Add uwrap_setregid().
commit c2b9e9b0eab3b10e36a56835602e7c931c406b12
Author: Andreas Schneider <asn at samba.org>
Date: Thu Oct 6 16:25:32 2011 +0200
uid_wrapper: Add uwrap_setreuid().
-----------------------------------------------------------------------
Summary of changes:
lib/uid_wrapper/uid_wrapper.c | 33 +++++++++++++++++++++++++++++++++
lib/uid_wrapper/uid_wrapper.h | 18 ++++++++++++++++++
2 files changed, 51 insertions(+), 0 deletions(-)
Changeset truncated at 500 lines:
diff --git a/lib/uid_wrapper/uid_wrapper.c b/lib/uid_wrapper/uid_wrapper.c
index 05d226b..8229fbb 100644
--- a/lib/uid_wrapper/uid_wrapper.c
+++ b/lib/uid_wrapper/uid_wrapper.c
@@ -73,6 +73,28 @@ _PUBLIC_ int uwrap_seteuid(uid_t euid)
return 0;
}
+_PUBLIC_ int uwrap_setreuid(uid_t ruid, uid_t euid)
+{
+ uwrap_init();
+ if (!uwrap.enabled) {
+ return setreuid(ruid, euid);
+ }
+ /* assume for now that the ruid stays as root */
+ uwrap.euid = euid;
+ return 0;
+}
+
+_PUBLIC_ int uwrap_setresuid(uid_t ruid, uid_t euid, uid_t suid)
+{
+ uwrap_init();
+ if (!uwrap.enabled) {
+ return setresuid(ruid, euid, suid);
+ }
+ /* assume for now that the ruid stays as root */
+ uwrap.euid = euid;
+ return 0;
+}
+
_PUBLIC_ uid_t uwrap_geteuid(void)
{
uwrap_init();
@@ -93,6 +115,17 @@ _PUBLIC_ int uwrap_setegid(gid_t egid)
return 0;
}
+_PUBLIC_ int uwrap_setregid(gid_t rgid, gid_t egid)
+{
+ uwrap_init();
+ if (!uwrap.enabled) {
+ return setregid(rgid, egid);
+ }
+ /* assume for now that the ruid stays as root */
+ uwrap.egid = egid;
+ return 0;
+}
+
_PUBLIC_ uid_t uwrap_getegid(void)
{
uwrap_init();
diff --git a/lib/uid_wrapper/uid_wrapper.h b/lib/uid_wrapper/uid_wrapper.h
index b3b11d9..51a11c5 100644
--- a/lib/uid_wrapper/uid_wrapper.h
+++ b/lib/uid_wrapper/uid_wrapper.h
@@ -21,8 +21,11 @@
int uwrap_enabled(void);
int uwrap_seteuid(uid_t euid);
+int uwrap_setreuid(uid_t reuid, uid_t euid);
+int uwrap_setresuid(uid_t reuid, uid_t euid, uid_t suid);
uid_t uwrap_geteuid(void);
int uwrap_setegid(gid_t egid);
+int uwrap_setregid(gid_t egid);
uid_t uwrap_getegid(void);
int uwrap_setgroups(size_t size, const gid_t *list);
int uwrap_getgroups(int size, gid_t *list);
@@ -34,11 +37,26 @@ gid_t uwrap_getgid(void);
#endif
#define seteuid uwrap_seteuid
+#ifdef setreuid
+#undef setreuid
+#endif
+#define setreuid uwrap_setreuid
+
+#ifdef setresuid
+#undef setresuid
+#endif
+#define setresuid uwrap_setresuid
+
#ifdef setegid
#undef setegid
#endif
#define setegid uwrap_setegid
+#ifdef setregid
+#undef setregid
+#endif
+#define setregid uwrap_setegid
+
#ifdef geteuid
#undef geteuid
#endif
--
Samba Shared Repository
More information about the samba-cvs
mailing list