diff options
author | Martin Schanzenbach <schanzen@gnunet.org> | 2022-02-14 12:15:54 +0100 |
---|---|---|
committer | Martin Schanzenbach <schanzen@gnunet.org> | 2022-02-14 12:15:54 +0100 |
commit | 8f7f4944aaf9b689c4a5b35b869f17c18cd37f54 (patch) | |
tree | 1c08f060727ece3778aa63f57e35c079dd5a4189 /src/gns | |
parent | 0c6475bd0c66bbc5190fb199d67594f203d93b2f (diff) | |
download | gnunet-8f7f4944aaf9b689c4a5b35b869f17c18cd37f54.tar.gz gnunet-8f7f4944aaf9b689c4a5b35b869f17c18cd37f54.zip |
GNS: Rename CNAME test; bugfix
Diffstat (limited to 'src/gns')
-rw-r--r-- | src/gns/Makefile.am | 2 | ||||
-rw-r--r-- | src/gns/gnunet-service-gns_resolver.c | 13 | ||||
-rwxr-xr-x | src/gns/test_gns_redirect_lookup.sh | 53 |
3 files changed, 36 insertions, 32 deletions
diff --git a/src/gns/Makefile.am b/src/gns/Makefile.am index c21f37ca1..15baca6af 100644 --- a/src/gns/Makefile.am +++ b/src/gns/Makefile.am | |||
@@ -270,7 +270,7 @@ check_SCRIPTS = \ | |||
270 | test_gns_rel_expiration.sh\ | 270 | test_gns_rel_expiration.sh\ |
271 | test_gns_soa_lookup.sh\ | 271 | test_gns_soa_lookup.sh\ |
272 | test_gns_revocation.sh\ | 272 | test_gns_revocation.sh\ |
273 | test_gns_cname_lookup.sh\ | 273 | test_gns_redirect_lookup.sh\ |
274 | test_proxy.sh | 274 | test_proxy.sh |
275 | 275 | ||
276 | if HAVE_GNUTLS | 276 | if HAVE_GNUTLS |
diff --git a/src/gns/gnunet-service-gns_resolver.c b/src/gns/gnunet-service-gns_resolver.c index 5573d072a..549230abd 100644 --- a/src/gns/gnunet-service-gns_resolver.c +++ b/src/gns/gnunet-service-gns_resolver.c | |||
@@ -1197,7 +1197,7 @@ recursive_dns_resolution (struct GNS_ResolverHandle *rh) | |||
1197 | */ | 1197 | */ |
1198 | static void | 1198 | static void |
1199 | handle_gns_redirect_result (struct GNS_ResolverHandle *rh, | 1199 | handle_gns_redirect_result (struct GNS_ResolverHandle *rh, |
1200 | const char *rname) | 1200 | const char *rname) |
1201 | { | 1201 | { |
1202 | size_t nlen; | 1202 | size_t nlen; |
1203 | char *res; | 1203 | char *res; |
@@ -1206,6 +1206,9 @@ handle_gns_redirect_result (struct GNS_ResolverHandle *rh, | |||
1206 | int af; | 1206 | int af; |
1207 | struct GNUNET_IDENTITY_PublicKey zone; | 1207 | struct GNUNET_IDENTITY_PublicKey zone; |
1208 | 1208 | ||
1209 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
1210 | "Handling GNS REDIRECT result `%s'\n", | ||
1211 | rname); | ||
1209 | nlen = strlen (rname); | 1212 | nlen = strlen (rname); |
1210 | tld = GNS_get_tld (rname); | 1213 | tld = GNS_get_tld (rname); |
1211 | if (0 == strcmp ("+", tld)) | 1214 | if (0 == strcmp ("+", tld)) |
@@ -1945,8 +1948,8 @@ handle_gns_resolution_result (void *cls, | |||
1945 | (GNUNET_GNSRECORD_TYPE_REDIRECT == rd[0].record_type) && | 1948 | (GNUNET_GNSRECORD_TYPE_REDIRECT == rd[0].record_type) && |
1946 | (GNUNET_GNSRECORD_TYPE_REDIRECT != rh->record_type)) | 1949 | (GNUNET_GNSRECORD_TYPE_REDIRECT != rh->record_type)) |
1947 | { | 1950 | { |
1948 | handle_gns_cname_result (rh, | 1951 | handle_gns_redirect_result (rh, |
1949 | rd[0].data); | 1952 | rd[0].data); |
1950 | return; | 1953 | return; |
1951 | } | 1954 | } |
1952 | 1955 | ||
@@ -2311,7 +2314,7 @@ handle_gns_resolution_result (void *cls, | |||
2311 | _ ("Unable to process critical delegation record\n")); | 2314 | _ ("Unable to process critical delegation record\n")); |
2312 | break; | 2315 | break; |
2313 | } | 2316 | } |
2314 | fail: | 2317 | fail: |
2315 | GNUNET_log (GNUNET_ERROR_TYPE_WARNING, | 2318 | GNUNET_log (GNUNET_ERROR_TYPE_WARNING, |
2316 | _ ("GNS lookup recursion failed (no delegation record found)\n")); | 2319 | _ ("GNS lookup recursion failed (no delegation record found)\n")); |
2317 | fail_resolution (rh); | 2320 | fail_resolution (rh); |
@@ -2949,7 +2952,7 @@ GNS_resolver_init (struct GNUNET_NAMECACHE_Handle *nc, | |||
2949 | if (GNUNET_YES == disable_cache) | 2952 | if (GNUNET_YES == disable_cache) |
2950 | GNUNET_log (GNUNET_ERROR_TYPE_WARNING, | 2953 | GNUNET_log (GNUNET_ERROR_TYPE_WARNING, |
2951 | "Namecache disabled\n"); | 2954 | "Namecache disabled\n"); |
2952 | } | 2955 | } |
2953 | 2956 | ||
2954 | 2957 | ||
2955 | /** | 2958 | /** |
diff --git a/src/gns/test_gns_redirect_lookup.sh b/src/gns/test_gns_redirect_lookup.sh index 3a189e1e2..dfe5087ef 100755 --- a/src/gns/test_gns_redirect_lookup.sh +++ b/src/gns/test_gns_redirect_lookup.sh | |||
@@ -27,9 +27,9 @@ rm -rf `gnunet-config -c test_gns_lookup.conf -f -s paths -o GNUNET_TEST_HOME` | |||
27 | 27 | ||
28 | TEST_IP_PLUS="127.0.0.1" | 28 | TEST_IP_PLUS="127.0.0.1" |
29 | TEST_IP_DNS="131.159.74.67" | 29 | TEST_IP_DNS="131.159.74.67" |
30 | TEST_RECORD_CNAME_SERVER="server" | 30 | TEST_RECORD_REDIRECT_SERVER="server" |
31 | TEST_RECORD_CNAME_PLUS="server.+" | 31 | TEST_RECORD_REDIRECT_PLUS="server.+" |
32 | TEST_RECORD_CNAME_DNS="gnunet.org" | 32 | TEST_RECORD_REDIRECT_DNS="gnunet.org" |
33 | TEST_RECORD_NAME_SERVER="server" | 33 | TEST_RECORD_NAME_SERVER="server" |
34 | TEST_RECORD_NAME_PLUS="www" | 34 | TEST_RECORD_NAME_PLUS="www" |
35 | TEST_RECORD_NAME_ZKEY="www2" | 35 | TEST_RECORD_NAME_ZKEY="www2" |
@@ -43,57 +43,58 @@ which timeout > /dev/null 2>&1 && DO_TIMEOUT="timeout 15" | |||
43 | gnunet-arm -s -c test_gns_lookup.conf | 43 | gnunet-arm -s -c test_gns_lookup.conf |
44 | gnunet-identity -C $MY_EGO -c test_gns_lookup.conf | 44 | gnunet-identity -C $MY_EGO -c test_gns_lookup.conf |
45 | MY_EGO_PKEY=$(gnunet-identity -d -c test_gns_lookup.conf | grep ${MY_EGO} | awk '{print $3}') | 45 | MY_EGO_PKEY=$(gnunet-identity -d -c test_gns_lookup.conf | grep ${MY_EGO} | awk '{print $3}') |
46 | TEST_RECORD_CNAME_ZKEY="server.${MY_EGO_PKEY}" | 46 | TEST_RECORD_REDIRECT_ZKEY="server.${MY_EGO_PKEY}" |
47 | gnunet-namestore -p -z $MY_EGO -a -n $TEST_RECORD_NAME_DNS -t CNAME -V $TEST_RECORD_CNAME_DNS -e never -c test_gns_lookup.conf | 47 | gnunet-namestore -p -z $MY_EGO -a -n $TEST_RECORD_NAME_DNS -t REDIRECT -V $TEST_RECORD_REDIRECT_DNS -e never -c test_gns_lookup.conf |
48 | gnunet-namestore -p -z $MY_EGO -a -n $TEST_RECORD_NAME_PLUS -t CNAME -V $TEST_RECORD_CNAME_PLUS -e never -c test_gns_lookup.conf | 48 | gnunet-namestore -p -z $MY_EGO -a -n $TEST_RECORD_NAME_PLUS -t REDIRECT -V $TEST_RECORD_REDIRECT_PLUS -e never -c test_gns_lookup.conf |
49 | gnunet-namestore -p -z $MY_EGO -a -n $TEST_RECORD_NAME_ZKEY -t CNAME -V $TEST_RECORD_CNAME_ZKEY -e never -c test_gns_lookup.conf | 49 | gnunet-namestore -p -z $MY_EGO -a -n $TEST_RECORD_NAME_ZKEY -t REDIRECT -V $TEST_RECORD_REDIRECT_ZKEY -e never -c test_gns_lookup.conf |
50 | gnunet-namestore -p -z $MY_EGO -a -n $TEST_RECORD_CNAME_SERVER -t A -V $TEST_IP_PLUS -e never -c test_gns_lookup.conf | 50 | gnunet-namestore -p -z $MY_EGO -a -n $TEST_RECORD_REDIRECT_SERVER -t A -V $TEST_IP_PLUS -e never -c test_gns_lookup.conf |
51 | RES_CNAME=`$DO_TIMEOUT gnunet-gns --raw -u $TEST_DOMAIN_PLUS -t A -c test_gns_lookup.conf` | 51 | gnunet-namestore -D -z $MY_EGO |
52 | RES_CNAME_RAW=`$DO_TIMEOUT gnunet-gns --raw -u $TEST_DOMAIN_PLUS -t CNAME -c test_gns_lookup.conf` | 52 | RES_REDIRECT=`$DO_TIMEOUT gnunet-gns --raw -u $TEST_DOMAIN_PLUS -t A -c test_gns_lookup.conf` |
53 | RES_CNAME_ZKEY=`$DO_TIMEOUT gnunet-gns --raw -u $TEST_DOMAIN_ZKEY -t A -c test_gns_lookup.conf` | 53 | RES_REDIRECT_RAW=`$DO_TIMEOUT gnunet-gns --raw -u $TEST_DOMAIN_PLUS -t REDIRECT -c test_gns_lookup.conf` |
54 | RES_CNAME_DNS=`$DO_TIMEOUT gnunet-gns --raw -u $TEST_DOMAIN_DNS -t A -c test_gns_lookup.conf | grep $TEST_IP_DNS` | 54 | RES_REDIRECT_ZKEY=`$DO_TIMEOUT gnunet-gns --raw -u $TEST_DOMAIN_ZKEY -t A -c test_gns_lookup.conf` |
55 | RES_REDIRECT_DNS=`$DO_TIMEOUT gnunet-gns --raw -u $TEST_DOMAIN_DNS -t A -c test_gns_lookup.conf | grep $TEST_IP_DNS` | ||
55 | 56 | ||
56 | TESTEGOZONE=`gnunet-identity -c test_gns_lookup.conf -d | awk '{print $3}'` | 57 | TESTEGOZONE=`gnunet-identity -c test_gns_lookup.conf -d | awk '{print $3}'` |
57 | gnunet-namestore -p -z $MY_EGO -d -n $TEST_RECORD_NAME_DNS -t CNAME -V $TEST_RECORD_CNAME_DNS -e never -c test_gns_lookup.conf | 58 | gnunet-namestore -p -z $MY_EGO -d -n $TEST_RECORD_NAME_DNS -t REDIRECT -V $TEST_RECORD_REDIRECT_DNS -e never -c test_gns_lookup.conf |
58 | gnunet-namestore -p -z $MY_EGO -d -n $TEST_RECORD_NAME_PLUS -t CNAME -V $TEST_RECORD_CNAME_PLUS -e never -c test_gns_lookup.conf | 59 | gnunet-namestore -p -z $MY_EGO -d -n $TEST_RECORD_NAME_PLUS -t REDIRECT -V $TEST_RECORD_REDIRECT_PLUS -e never -c test_gns_lookup.conf |
59 | gnunet-namestore -p -z $MY_EGO -d -n $TEST_RECORD_NAME_ZKEY -t CNAME -V $TEST_RECORD_CNAME_ZKEY -e never -c test_gns_lookup.conf | 60 | gnunet-namestore -p -z $MY_EGO -d -n $TEST_RECORD_NAME_ZKEY -t REDIRECT -V $TEST_RECORD_REDIRECT_ZKEY -e never -c test_gns_lookup.conf |
60 | gnunet-namestore -p -z $MY_EGO -d -n $TEST_RECORD_CNAME_SERVER -t A -V $TEST_IP_PLUS -e never -c test_gns_lookup.conf | 61 | gnunet-namestore -p -z $MY_EGO -d -n $TEST_RECORD_REDIRECT_SERVER -t A -V $TEST_IP_PLUS -e never -c test_gns_lookup.conf |
61 | gnunet-identity -D $MY_EGO -c test_gns_lookup.conf | 62 | gnunet-identity -D $MY_EGO -c test_gns_lookup.conf |
62 | gnunet-arm -e -c test_gns_lookup.conf | 63 | gnunet-arm -e -c test_gns_lookup.conf |
63 | rm -rf `gnunet-config -c test_gns_lookup.conf -f -s paths -o GNUNET_TEST_HOME` | 64 | rm -rf `gnunet-config -c test_gns_lookup.conf -f -s paths -o GNUNET_TEST_HOME` |
64 | 65 | ||
65 | # make cmp case-insensitive by converting to lower case first | 66 | # make cmp case-insensitive by converting to lower case first |
66 | RES_CNAME_RAW=`echo $RES_CNAME_RAW | tr [A-Z] [a-z]` | 67 | RES_REDIRECT_RAW=`echo $RES_REDIRECT_RAW | tr [A-Z] [a-z]` |
67 | TESTEGOZONE=`echo $TESTEGOZONE | tr [A-Z] [a-z]` | 68 | TESTEGOZONE=`echo $TESTEGOZONE | tr [A-Z] [a-z]` |
68 | if [ "$RES_CNAME_RAW" = "server.$TESTEGOZONE" ] | 69 | if [ "$RES_REDIRECT_RAW" = "server.$TESTEGOZONE" ] |
69 | then | 70 | then |
70 | echo "PASS: CNAME resolution from GNS" | 71 | echo "PASS: REDIRECT resolution from GNS" |
71 | else | 72 | else |
72 | echo "FAIL: CNAME resolution from GNS, got $RES_CNAME_RAW, expected server.$TESTEGOZONE." | 73 | echo "FAIL: REDIRECT resolution from GNS, got $RES_REDIRECT_RAW, expected server.$TESTEGOZONE." |
73 | exit 1 | 74 | exit 1 |
74 | fi | 75 | fi |
75 | 76 | ||
76 | if [ "$RES_CNAME" = "$TEST_IP_PLUS" ] | 77 | if [ "$RES_REDIRECT" = "$TEST_IP_PLUS" ] |
77 | then | 78 | then |
78 | echo "PASS: IP resolution from GNS (.+)" | 79 | echo "PASS: IP resolution from GNS (.+)" |
79 | else | 80 | else |
80 | echo "FAIL: IP resolution from GNS (.+), got $RES_CNAME, expected $TEST_IP_PLUS." | 81 | echo "FAIL: IP resolution from GNS (.+), got $RES_REDIRECT, expected $TEST_IP_PLUS." |
81 | exit 1 | 82 | exit 1 |
82 | fi | 83 | fi |
83 | 84 | ||
84 | if [ "$RES_CNAME_ZKEY" = "$TEST_IP_PLUS" ] | 85 | if [ "$RES_REDIRECT_ZKEY" = "$TEST_IP_PLUS" ] |
85 | then | 86 | then |
86 | echo "PASS: IP resolution from GNS (.zkey)" | 87 | echo "PASS: IP resolution from GNS (.zkey)" |
87 | else | 88 | else |
88 | echo "FAIL: IP resolution from GNS (.zkey), got $RES_CNAME, expected $TEST_IP_PLUS." | 89 | echo "FAIL: IP resolution from GNS (.zkey), got $RES_REDIRECT, expected $TEST_IP_PLUS." |
89 | exit 1 | 90 | exit 1 |
90 | fi | 91 | fi |
91 | 92 | ||
92 | if echo "$RES_CNAME_DNS" | grep "$TEST_IP_DNS" > /dev/null | 93 | if echo "$RES_REDIRECT_DNS" | grep "$TEST_IP_DNS" > /dev/null |
93 | then | 94 | then |
94 | echo "PASS: IP resolution from DNS" | 95 | echo "PASS: IP resolution from DNS" |
95 | exit 0 | 96 | exit 0 |
96 | else | 97 | else |
97 | echo "FAIL: IP resolution from DNS, got $RES_CNAME_DNS, expected $TEST_IP_DNS." | 98 | echo "FAIL: IP resolution from DNS, got $RES_REDIRECT_DNS, expected $TEST_IP_DNS." |
98 | exit 1 | 99 | exit 1 |
99 | fi | 100 | fi |