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.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/transport/gnunet-helper-transport-wlan.c b/src/transport/gnunet-helper-transport-wlan.c
index 0343b161b..649a6cf18 100644
--- a/src/transport/gnunet-helper-transport-wlan.c
+++ b/src/transport/gnunet-helper-transport-wlan.c
@@ -1867,6 +1867,22 @@ main (int argc, char *argv[])
1867 struct MessageStreamTokenizer *stdin_mst; 1867 struct MessageStreamTokenizer *stdin_mst;
1868 int raw_eno; 1868 int raw_eno;
1869 1869
1870 /* assert privs so we can modify the firewall rules! */
1871 uid = getuid ();
1872#ifdef HAVE_SETRESUID
1873 if (0 != setresuid (uid, 0, 0))
1874 {
1875 fprintf (stderr, "Failed to setresuid to root: %s\n", strerror (errno));
1876 return 254;
1877 }
1878#else
1879 if (0 != seteuid (0))
1880 {
1881 fprintf (stderr, "Failed to seteuid back to root: %s\n", strerror (errno));
1882 return 254;
1883 }
1884#endif
1885
1870 /* make use of SGID capabilities on POSIX */ 1886 /* make use of SGID capabilities on POSIX */
1871 memset (&dev, 0, sizeof (dev)); 1887 memset (&dev, 0, sizeof (dev));
1872 dev.fd_raw = socket (PF_PACKET, SOCK_RAW, htons (ETH_P_ALL)); 1888 dev.fd_raw = socket (PF_PACKET, SOCK_RAW, htons (ETH_P_ALL));