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 }