summaryrefslogtreecommitdiff
path: root/src/dns
diff options
context:
space:
mode:
authorlurchi <lurchi@strangeplace.net>2019-06-29 12:59:02 +0200
committerlurchi <lurchi@strangeplace.net>2019-06-29 12:59:02 +0200
commit8c057274e457ad64aefaf2e3d08925617c928752 (patch)
tree1af6cd402e2587175bf8cfca945b54e6dbcc45f1 /src/dns
parent9c7302e9d253a243b7bb2887bb6e62c31a874278 (diff)
downloadgnunet-8c057274e457ad64aefaf2e3d08925617c928752.tar.gz
gnunet-8c057274e457ad64aefaf2e3d08925617c928752.zip
use GNUNET_OS_get_suid_binary_path to construct suid helper paths
Diffstat (limited to 'src/dns')
-rw-r--r--src/dns/gnunet-service-dns.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/dns/gnunet-service-dns.c b/src/dns/gnunet-service-dns.c
index a63205ebf..dc9f37377 100644
--- a/src/dns/gnunet-service-dns.c
+++ b/src/dns/gnunet-service-dns.c
@@ -1082,7 +1082,8 @@ run (void *cls,
1082 _("need a valid IPv4 or IPv6 address\n")); 1082 _("need a valid IPv4 or IPv6 address\n"));
1083 GNUNET_free_non_null (dns_exit); 1083 GNUNET_free_non_null (dns_exit);
1084 } 1084 }
1085 binary = GNUNET_OS_get_libexec_binary_path ("gnunet-helper-dns"); 1085 binary = GNUNET_OS_get_suid_binary_path (cfg, "gnunet-helper-dns");
1086
1086 if (GNUNET_YES != 1087 if (GNUNET_YES !=
1087 GNUNET_OS_check_helper_binary (binary, 1088 GNUNET_OS_check_helper_binary (binary,
1088 GNUNET_YES, 1089 GNUNET_YES,
@@ -1106,6 +1107,7 @@ run (void *cls,
1106 { 1107 {
1107 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, 1108 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
1108 "No entry 'IFNAME' in configuration!\n"); 1109 "No entry 'IFNAME' in configuration!\n");
1110 GNUNET_free (binary);
1109 GNUNET_SCHEDULER_shutdown (); 1111 GNUNET_SCHEDULER_shutdown ();
1110 return; 1112 return;
1111 } 1113 }
@@ -1118,6 +1120,7 @@ run (void *cls,
1118 { 1120 {
1119 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, 1121 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
1120 "No entry 'IPV6ADDR' in configuration!\n"); 1122 "No entry 'IPV6ADDR' in configuration!\n");
1123 GNUNET_free (binary);
1121 GNUNET_SCHEDULER_shutdown (); 1124 GNUNET_SCHEDULER_shutdown ();
1122 return; 1125 return;
1123 } 1126 }
@@ -1130,6 +1133,7 @@ run (void *cls,
1130 { 1133 {
1131 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, 1134 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
1132 "No entry 'IPV6PREFIX' in configuration!\n"); 1135 "No entry 'IPV6PREFIX' in configuration!\n");
1136 GNUNET_free (binary);
1133 GNUNET_SCHEDULER_shutdown (); 1137 GNUNET_SCHEDULER_shutdown ();
1134 return; 1138 return;
1135 } 1139 }
@@ -1143,6 +1147,7 @@ run (void *cls,
1143 { 1147 {
1144 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, 1148 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
1145 "No entry 'IPV4ADDR' in configuration!\n"); 1149 "No entry 'IPV4ADDR' in configuration!\n");
1150 GNUNET_free (binary);
1146 GNUNET_SCHEDULER_shutdown (); 1151 GNUNET_SCHEDULER_shutdown ();
1147 return; 1152 return;
1148 } 1153 }
@@ -1153,6 +1158,7 @@ run (void *cls,
1153 { 1158 {
1154 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, 1159 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
1155 "No entry 'IPV4MASK' in configuration!\n"); 1160 "No entry 'IPV4MASK' in configuration!\n");
1161 GNUNET_free (binary);
1156 GNUNET_SCHEDULER_shutdown (); 1162 GNUNET_SCHEDULER_shutdown ();
1157 return; 1163 return;
1158 } 1164 }
@@ -1167,10 +1173,11 @@ run (void *cls,
1167 1173
1168 helper_argv[7] = NULL; 1174 helper_argv[7] = NULL;
1169 hijacker = GNUNET_HELPER_start (GNUNET_NO, 1175 hijacker = GNUNET_HELPER_start (GNUNET_NO,
1170 "gnunet-helper-dns", 1176 binary,
1171 helper_argv, 1177 helper_argv,
1172 &process_helper_messages, 1178 &process_helper_messages,
1173 NULL, NULL); 1179 NULL, NULL);
1180 GNUNET_free (binary);
1174} 1181}
1175 1182
1176 1183