diff options
author | Matthias Wachs <wachs@net.in.tum.de> | 2013-12-04 13:11:19 +0000 |
---|---|---|
committer | Matthias Wachs <wachs@net.in.tum.de> | 2013-12-04 13:11:19 +0000 |
commit | a5fb0c48cc8aa946a3df6a927fe4d01a2da7bcf6 (patch) | |
tree | 80a665b23c44ed31403e3fb5e36bb04eddb6099a /src/gns | |
parent | 5a2eb56224ff12f1e9dc84c86f225fd67aabffbd (diff) | |
download | gnunet-a5fb0c48cc8aa946a3df6a927fe4d01a2da7bcf6.tar.gz gnunet-a5fb0c48cc8aa946a3df6a927fe4d01a2da7bcf6.zip |
new test with PKEY shortening check and lookup in shorten zone
Diffstat (limited to 'src/gns')
-rwxr-xr-x | src/gns/test_gns_nick_shorten.sh | 111 |
1 files changed, 66 insertions, 45 deletions
diff --git a/src/gns/test_gns_nick_shorten.sh b/src/gns/test_gns_nick_shorten.sh index 3e15f1caa..63fba1a1c 100755 --- a/src/gns/test_gns_nick_shorten.sh +++ b/src/gns/test_gns_nick_shorten.sh | |||
@@ -1,6 +1,6 @@ | |||
1 | #!/bin/bash | 1 | #!/bin/bash |
2 | trap "gnunet-arm -e -c test_gns_lookup.conf" SIGINT | 2 | trap "gnunet-arm -e -c test_gns_nick_shorten.conf" SIGINT |
3 | which timeout &> /dev/null && DO_TIMEOUT="timeout 30" | 3 | which timeout &> /dev/null && DO_TIMEOUT="timeout 5" |
4 | 4 | ||
5 | # This test tests shortening functionality based on NICK records: | 5 | # This test tests shortening functionality based on NICK records: |
6 | # | 6 | # |
@@ -15,7 +15,8 @@ then | |||
15 | fi | 15 | fi |
16 | 16 | ||
17 | # Deleting home directory from previous runs | 17 | # Deleting home directory from previous runs |
18 | rm -rf `gnunet-config -c test_gns_lookup.conf -s PATHS -o GNUNET_HOME -f` | 18 | TEST_CONFIG="test_gns_nick_shorten.conf " |
19 | rm -rf `gnunet-config -c test_gns_nick_shorten.conf -s PATHS -o GNUNET_HOME -f` | ||
19 | TEST_IP="127.0.0.1" | 20 | TEST_IP="127.0.0.1" |
20 | TEST_IP="127.0.0.2" | 21 | TEST_IP="127.0.0.2" |
21 | TEST_NICK_EGO="ego" | 22 | TEST_NICK_EGO="ego" |
@@ -23,76 +24,96 @@ TEST_NICK_DELEGATED="alice" | |||
23 | TEST_NAME="www.mybestfriendalice.gnu" | 24 | TEST_NAME="www.mybestfriendalice.gnu" |
24 | TEST_NAME_SHORT="www.alice.short.gnu" | 25 | TEST_NAME_SHORT="www.alice.short.gnu" |
25 | 26 | ||
26 | # Start gnunet | 27 | # export GNUNET_FORCE_LOG="namestore;;;;DEBUG/gns;;;;DEBUG/;;;;WARNING" |
27 | gnunet-arm -s -c test_gns_lookup.conf | ||
28 | 28 | ||
29 | DELEGATED_PKEY=$(gnunet-identity -d -c test_gns_lookup.conf | grep delegatedego | awk '{print $3}') | 29 | # Start gnunet |
30 | echo "Starting arm with configuration $TEST_CONFIG" | ||
31 | gnunet-arm -s -c $TEST_CONFIG | ||
30 | 32 | ||
31 | # Create initial identities: short-zone, delegated-zone, testego | 33 | # Create initial identities: short-zone, delegated-zone, testego |
32 | gnunet-identity -c test_gns_lookup.conf -d | 34 | echo "Creating identities" |
33 | gnunet-identity -C short-zone -c test_gns_lookup.conf | 35 | gnunet-identity -d -c $TEST_CONFIG |
34 | gnunet-identity -C delegatedego -c test_gns_lookup.conf | 36 | gnunet-identity -C short-zone -c $TEST_CONFIG |
35 | gnunet-identity -e short-zone -s gns-short -c test_gns_lookup.conf | 37 | gnunet-identity -C delegatedego -c $TEST_CONFIG |
36 | gnunet-identity -C testego -c test_gns_lookup.conf | 38 | gnunet-identity -e short-zone -s gns-short -c $TEST_CONFIG |
39 | gnunet-identity -C testego -c $TEST_CONFIG | ||
37 | 40 | ||
38 | # We should set NICKs here | 41 | echo "Adding nick names for identities" |
39 | gnunet-namestore -z testego -i $TEST_NICK_EGO -c test_gns_lookup.conf | 42 | gnunet-namestore -z testego -i $TEST_NICK_EGO -c $TEST_CONFIG |
40 | gnunet-namestore -z delegatedego -i $TEST_NICK_DELEGATED -c test_gns_lookup.conf | 43 | gnunet-namestore -z delegatedego -i $TEST_NICK_DELEGATED -c $TEST_CONFIG |
41 | 44 | ||
42 | DELEGATED_PKEY=$(gnunet-identity -d -c test_gns_lookup.conf | grep delegatedego | awk '{print $3}') | 45 | # Adding label www in Alice's delegatedego zone |
43 | SHORT=$(gnunet-identity -c test_gns_lookup.conf -d | grep short-zone | awk '{print $3}') | 46 | echo "Adding www record with IP $TEST_IP" |
47 | gnunet-namestore -p -z delegatedego -a -n www -t A -V $TEST_IP -e never -c test_gns_nick_shorten.conf | ||
44 | 48 | ||
45 | # Delegate the name "mybestfriendalice" to alice | 49 | # Retrieve PKEYs for delegation |
46 | gnunet-namestore -p -z testego -a -n mybestfriendalice -t PKEY -V $DELEGATED_PKEY -e never -c test_gns_lookup.conf | 50 | DELEGATED_PKEY=$(gnunet-identity -d -c $TEST_CONFIG| grep delegatedego | awk '{print $3}') |
51 | echo "Alice's PKEY is $DELEGATED_PKEY" | ||
52 | |||
53 | SHORTEN_PKEY=$(gnunet-identity -c test_gns_nick_shorten.conf -d | grep short-zone | awk '{print $3}') | ||
54 | echo "Shorten PKEY is $SHORTEN_PKEY" | ||
47 | 55 | ||
48 | # Delegate the name "short" to shortenzone | 56 | # Delegate the name "short" to shortenzone |
49 | gnunet-namestore -p -z testego -a -n short -t PKEY -V $SHORT -e never -c test_gns_lookup.conf | 57 | gnunet-namestore -p -z testego -a -n short -t PKEY -V $SHORTEN_PKEY -e never -c test_gns_nick_shorten.conf |
50 | # Adding label mail in ego's zone zone | ||
51 | gnunet-namestore -p -z testego -a -n mail -t A -V $TEST_IP -e never -c test_gns_lookup.conf | ||
52 | 58 | ||
53 | # Adding label www in Alice's delegatedego zone | 59 | # Delegate the name "mybestfriendalice" to alice |
54 | gnunet-namestore -p -z delegatedego -a -n www -t A -V $TEST_IP -e never -c test_gns_lookup.conf | 60 | gnunet-namestore -p -z testego -a -n mybestfriendalice -t PKEY -V $DELEGATED_PKEY -e never -c test_gns_nick_shorten.conf |
55 | 61 | ||
56 | # Delete namecache content | 62 | # Perform lookup to shorten |
57 | #gnunet-arm -c test_gns_lookup.conf -k gns | 63 | echo "Start gns..." |
58 | gnunet-arm -c test_gns_lookup.conf -k namecache | 64 | gnunet-arm -c test_gns_nick_shorten.conf -i gns |
59 | rm -rf `gnunet-config -c test_gns_lookup.conf -s namecache-sqlite -o FILENAME -f` | ||
60 | 65 | ||
61 | # Force start of GNS | ||
62 | gnunet-arm -c test_gns_lookup.conf -i gns | ||
63 | # need to sleep here, to give PSEU record chance to be copied to DHT | ||
64 | sleep 1 | ||
65 | 66 | ||
66 | RES_IP=`$DO_TIMEOUT gnunet-gns --raw -z testego -u $TEST_NAME -t A -c test_gns_lookup.conf` | 67 | RES_IP=`$DO_TIMEOUT gnunet-gns --raw -z testego -u $TEST_NAME -t A -c test_gns_nick_shorten.conf` |
67 | 68 | ||
68 | # need to sleep here, as shortening happens asynchronously... | ||
69 | sleep 1 | 69 | sleep 1 |
70 | 70 | ||
71 | # DO THAT | 71 | echo "Lookup shortened names" |
72 | PKEY_SHORT_RES=$($DO_TIMEOUT gnunet-gns --raw -c test_gns_lookup.conf -z short-zone -u alice.gnu -t PKEY) | 72 | PKEY_SHORT_RES=$($DO_TIMEOUT gnunet-gns --raw -c test_gns_nick_shorten.conf -z short-zone -u alice.gnu -t PKEY) |
73 | echo "Resolving alice's PKEY in shorten zone: $PKEY_SHORT_RES" | 73 | echo "Resolving alice's PKEY in shorten zone: $PKEY_SHORT_RES" |
74 | PKEY_RES=$($DO_TIMEOUT gnunet-gns --raw -c test_gns_lookup.conf -z testego -u alice.short.gnu -t PKEY) | 74 | PKEY_RES=$($DO_TIMEOUT gnunet-gns --raw -c test_gns_nick_shorten.conf -z testego -u alice.short.gnu -t PKEY) |
75 | echo "Resolving alice's PKEY in master zone: $PKEY_RES" | 75 | echo "Resolving alice's PKEY in master zone: $PKEY_RES" |
76 | 76 | ||
77 | #RES_IP_PSEU=`$DO_TIMEOUT gnunet-gns --raw -z testego -u www.alice.short.gnu -t A -c test_gns_lookup.conf` | 77 | RES=0 |
78 | |||
79 | gnunet-namestore -z testego -d -n mybestfriendalice -t PKEY -V $DELEGATED_PKEY -e never -c test_gns_lookup.conf | ||
80 | gnunet-namestore -z delegatedego -d -n www -t A -V $TEST_IP -e never -c test_gns_lookup.conf | ||
81 | gnunet-arm -e -c test_gns_lookup.conf | ||
82 | |||
83 | rm -rf `gnunet-config -c test_gns_lookup.conf -s PATHS -o GNUNET_HOME -f` | ||
84 | |||
85 | if [ "$DELEGATED_PKEY" == "$PKEY_SHORT_RES" ] | 78 | if [ "$DELEGATED_PKEY" == "$PKEY_SHORT_RES" ] |
86 | then | 79 | then |
87 | echo "PASS: Resolved delegation for shorten name in shortened zone" | 80 | echo "PASS: Resolved delegation for shorten name in shortened zone" |
88 | else | 81 | else |
89 | echo "FAIL: Expected PKEY in $DELEGATED_PKEY, received PKEY '$PKEY_SHORT_RES' in shorten zone." | 82 | echo "FAIL: Expected PKEY in $DELEGATED_PKEY, received PKEY '$PKEY_SHORT_RES' in shorten zone." |
83 | RES=1 | ||
90 | fi | 84 | fi |
91 | 85 | ||
92 | if [ "$DELEGATED_PKEY" == "$PKEY_RES" ] | 86 | if [ "$DELEGATED_PKEY" == "$PKEY_RES" ] |
93 | then | 87 | then |
94 | echo "PASS: Resolved delegation for shorten name in master zone" | 88 | echo "PASS: Resolved delegation for shorten name in master zone" |
95 | exit 0 | ||
96 | else | 89 | else |
97 | echo "FAIL: Expected PKEY in $DELEGATED_PKEY, received PKEY $PKEY_SHORT_RES in master zone." | 90 | echo "FAIL: Expected PKEY in $DELEGATED_PKEY, received PKEY $PKEY_SHORT_RES in master zone." |
91 | RES=1 | ||
98 | fi | 92 | fi |
93 | |||
94 | if [ $RES -eq 0 ] | ||
95 | then | ||
96 | RES_IP=`$DO_TIMEOUT gnunet-gns --raw -z testego -u $TEST_NAME_SHORT -t A -c test_gns_nick_shorten.conf` | ||
97 | if [ "$RES_IP" == "$TEST_IP" ] | ||
98 | then | ||
99 | echo "PASS: Received $TEST_IP for $TEST_NAME_SHORT" | ||
100 | else | ||
101 | echo "FAIL: Expected IP in $TEST_IP, received IP '$RES_IP' for $TEST_SHORT_NAME." | ||
102 | RES=1 | ||
103 | fi | ||
104 | fi | ||
105 | |||
106 | |||
107 | # Clean up | ||
108 | echo "Clean up..." | ||
109 | gnunet-namestore -z testego -d -n mybestfriendalice -t PKEY -V $DELEGATED_PKEY -e never -c test_gns_nick_shorten.conf | ||
110 | gnunet-namestore -z delegatedego -d -n www -t A -V $TEST_IP -e never -c test_gns_nick_shorten.conf | ||
111 | gnunet-identity -D -z testego -c $TEST_CONFIG | ||
112 | gnunet-identity -D -z delegatedego -c $TEST_CONFIG | ||
113 | gnunet-identity -D -z short-zone -c $TEST_CONFIG | ||
114 | |||
115 | gnunet-arm -e -c test_gns_nick_shorten.conf | ||
116 | rm -rf `gnunet-config -c test_gns_nick_shorten.conf -s PATHS -o GNUNET_HOME -f` | ||
117 | |||
118 | exit $RES | ||
119 | |||