aboutsummaryrefslogtreecommitdiff
path: root/src/transport/gnunet-helper-transport-wlan.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/transport/gnunet-helper-transport-wlan.c')
-rw-r--r--src/transport/gnunet-helper-transport-wlan.c29
1 files changed, 17 insertions, 12 deletions
diff --git a/src/transport/gnunet-helper-transport-wlan.c b/src/transport/gnunet-helper-transport-wlan.c
index 8a978c218..cbe0dae77 100644
--- a/src/transport/gnunet-helper-transport-wlan.c
+++ b/src/transport/gnunet-helper-transport-wlan.c
@@ -1923,23 +1923,28 @@ main (int argc, char *argv[])
1923 int stdin_open; 1923 int stdin_open;
1924 struct MessageStreamTokenizer *stdin_mst; 1924 struct MessageStreamTokenizer *stdin_mst;
1925 int raw_eno; 1925 int raw_eno;
1926 uid_t uid;
1927 1926
1928 /* assert privs so we can modify the firewall rules! */ 1927 /* assert privs so we can modify the firewall rules! */
1929 uid = getuid ();
1930#ifdef HAVE_SETRESUID
1931 if (0 != setresuid (uid, 0, 0))
1932 { 1928 {
1933 fprintf (stderr, "Failed to setresuid to root: %s\n", strerror (errno)); 1929#ifdef HAVE_SETRESUID
1934 return 254; 1930 uid_t uid = getuid ();
1935 } 1931
1932 if (0 != setresuid (uid, 0, 0))
1933 {
1934 fprintf (stderr,
1935 "Failed to setresuid to root: %s\n",
1936 strerror (errno));
1937 return 254;
1938 }
1936#else 1939#else
1937 if (0 != seteuid (0)) 1940 if (0 != seteuid (0))
1938 { 1941 {
1939 fprintf (stderr, "Failed to seteuid back to root: %s\n", strerror (errno)); 1942 fprintf (stderr,
1940 return 254; 1943 "Failed to seteuid back to root: %s\n", strerror (errno));
1941 } 1944 return 254;
1945 }
1942#endif 1946#endif
1947 }
1943 1948
1944 /* make use of SGID capabilities on POSIX */ 1949 /* make use of SGID capabilities on POSIX */
1945 memset (&dev, 0, sizeof (dev)); 1950 memset (&dev, 0, sizeof (dev));