Mercurial > hg > vboxdotnet
comparison VBoxFrontend/ProgramLoader.cs @ 3:b0033e69105a
Set group ID during initialization, added a patch to mono to fix a double free 'bug'
author | Ivo Smits |
---|---|
date | Wed, 04 May 2011 16:32:10 +0200 |
parents | e1ec7bf71313 |
children |
comparison
equal
deleted
inserted
replaced
2:f1deea9c97a0 | 3:b0033e69105a |
---|---|
24 } | 24 } |
25 | 25 |
26 private static void Unix_setuid() { | 26 private static void Unix_setuid() { |
27 uint uid = Mono.Unix.Native.Syscall.getuid(); | 27 uint uid = Mono.Unix.Native.Syscall.getuid(); |
28 uint euid = Mono.Unix.Native.Syscall.geteuid(); | 28 uint euid = Mono.Unix.Native.Syscall.geteuid(); |
29 Console.WriteLine("Running as user {0} effective {1}", uid, euid); | 29 uint gid = Mono.Unix.Native.Syscall.getgid(); |
30 uint egid = Mono.Unix.Native.Syscall.getegid(); | |
31 Console.WriteLine("Running as user {0} effective {1} group {2} effective {3}", uid, euid, gid, egid); | |
32 if (gid != egid) { | |
33 Console.WriteLine("Set group ID: {0}", gid); | |
34 Mono.Unix.Native.Syscall.setregid(gid, gid); | |
35 } | |
30 if (uid != euid) { | 36 if (uid != euid) { |
31 Console.WriteLine("Set user ID: {0}", uid); | 37 Console.WriteLine("Set user ID: {0}", uid); |
32 Mono.Unix.Native.Syscall.setreuid(uid, uid); | 38 Mono.Unix.Native.Syscall.setreuid(uid, uid); |
33 } | 39 } |
34 } | 40 } |