X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fio-layer%2Fsecurity.c;h=1d702d3188f274c02c319c8f3d59bc805d9ccbf4;hb=0900c61969ca862b0bcc967b4413e539acf07dbb;hp=3a5c622de9d08c7620e4cbc3b215a2604e047bf4;hpb=f84f760a1c8a8c0ec6ae16b7f38d14a49d329ad7;p=mono.git diff --git a/mono/io-layer/security.c b/mono/io-layer/security.c index 3a5c622de9d..1d702d3188f 100644 --- a/mono/io-layer/security.c +++ b/mono/io-layer/security.c @@ -10,9 +10,13 @@ #include #include +#ifdef HAVE_PWD_H #include +#endif + #include #include +#include #include @@ -31,7 +35,7 @@ gboolean ImpersonateLoggedOnUser (gpointer handle) { - uid_t token = (uid_t) handle; + uid_t token = (uid_t) GPOINTER_TO_INT (handle); #ifdef HAVE_SETRESUID if (setresuid (-1, token, getuid ()) < 0) return FALSE; @@ -54,6 +58,8 @@ gboolean RevertToSelf (void) #ifdef HAVE_SETRESUID if (setresuid (-1, suid, -1) < 0) return FALSE; +#else + return TRUE; #endif return (geteuid () == suid); }