diff options
-rw-r--r-- | src/transport/gnunet-helper-transport-bluetooth.c | 32 | ||||
-rw-r--r-- | src/transport/gnunet-helper-transport-wlan.c | 29 | ||||
-rw-r--r-- | src/transport/plugin_transport_http_server.c | 1 |
3 files changed, 37 insertions, 25 deletions
diff --git a/src/transport/gnunet-helper-transport-bluetooth.c b/src/transport/gnunet-helper-transport-bluetooth.c index 20c27ad58..acb6d24d5 100644 --- a/src/transport/gnunet-helper-transport-bluetooth.c +++ b/src/transport/gnunet-helper-transport-bluetooth.c | |||
@@ -1667,24 +1667,30 @@ main (int argc, char *argv[]) | |||
1667 | int stdin_open; | 1667 | int stdin_open; |
1668 | struct MessageStreamTokenizer *stdin_mst; | 1668 | struct MessageStreamTokenizer *stdin_mst; |
1669 | int raw_eno, i; | 1669 | int raw_eno, i; |
1670 | uid_t uid; | ||
1671 | int crt_rfds = 0, rfds_list[MAX_PORTS]; | 1670 | int crt_rfds = 0, rfds_list[MAX_PORTS]; |
1672 | int broadcast, sendsocket; | 1671 | int broadcast, sendsocket; |
1672 | |||
1673 | /* Assert privs so we can modify the firewall rules! */ | 1673 | /* Assert privs so we can modify the firewall rules! */ |
1674 | uid = getuid (); | ||
1675 | #ifdef HAVE_SETRESUID | ||
1676 | if (0 != setresuid (uid, 0, 0)) | ||
1677 | { | 1674 | { |
1678 | fprintf (stderr, "Failed to setresuid to root: %s\n", strerror (errno)); | 1675 | #ifdef HAVE_SETRESUID |
1679 | return 254; | 1676 | uid_t uid = getuid (); |
1680 | } | 1677 | |
1681 | #else | 1678 | if (0 != setresuid (uid, 0, 0)) |
1682 | if (0 != seteuid (0)) | 1679 | { |
1683 | { | 1680 | fprintf (stderr, |
1684 | fprintf (stderr, "Failed to seteuid back to root: %s\n", strerror (errno)); | 1681 | "Failed to setresuid to root: %s\n", |
1685 | return 254; | 1682 | strerror (errno)); |
1683 | return 254; | ||
1684 | } | ||
1685 | #else | ||
1686 | if (0 != seteuid (0)) | ||
1687 | { | ||
1688 | fprintf (stderr, | ||
1689 | "Failed to seteuid back to root: %s\n", strerror (errno)); | ||
1690 | return 254; | ||
1691 | } | ||
1692 | #endif | ||
1686 | } | 1693 | } |
1687 | #endif | ||
1688 | 1694 | ||
1689 | /* Make use of SGID capabilities on POSIX */ | 1695 | /* Make use of SGID capabilities on POSIX */ |
1690 | memset (&dev, 0, sizeof (dev)); | 1696 | memset (&dev, 0, sizeof (dev)); |
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)); |
diff --git a/src/transport/plugin_transport_http_server.c b/src/transport/plugin_transport_http_server.c index 048bd00cf..b4130f945 100644 --- a/src/transport/plugin_transport_http_server.c +++ b/src/transport/plugin_transport_http_server.c | |||
@@ -1381,6 +1381,7 @@ server_lookup_connection (struct HTTP_Server_Plugin *plugin, | |||
1381 | method, | 1381 | method, |
1382 | url); | 1382 | url); |
1383 | stc.tag = 0; | 1383 | stc.tag = 0; |
1384 | options = 0; /* make gcc happy */ | ||
1384 | if (GNUNET_SYSERR == | 1385 | if (GNUNET_SYSERR == |
1385 | server_parse_url (plugin, url, &target, &stc.tag, &options)) | 1386 | server_parse_url (plugin, url, &target, &stc.tag, &options)) |
1386 | { | 1387 | { |