aboutsummaryrefslogtreecommitdiff
path: root/src/gns
diff options
context:
space:
mode:
authorMatthias Wachs <wachs@net.in.tum.de>2013-12-04 13:11:19 +0000
committerMatthias Wachs <wachs@net.in.tum.de>2013-12-04 13:11:19 +0000
commita5fb0c48cc8aa946a3df6a927fe4d01a2da7bcf6 (patch)
tree80a665b23c44ed31403e3fb5e36bb04eddb6099a /src/gns
parent5a2eb56224ff12f1e9dc84c86f225fd67aabffbd (diff)
downloadgnunet-a5fb0c48cc8aa946a3df6a927fe4d01a2da7bcf6.tar.gz
gnunet-a5fb0c48cc8aa946a3df6a927fe4d01a2da7bcf6.zip
new test with PKEY shortening check and lookup in shorten zone
Diffstat (limited to 'src/gns')
-rwxr-xr-xsrc/gns/test_gns_nick_shorten.sh111
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
2trap "gnunet-arm -e -c test_gns_lookup.conf" SIGINT 2trap "gnunet-arm -e -c test_gns_nick_shorten.conf" SIGINT
3which timeout &> /dev/null && DO_TIMEOUT="timeout 30" 3which 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
15fi 15fi
16 16
17# Deleting home directory from previous runs 17# Deleting home directory from previous runs
18rm -rf `gnunet-config -c test_gns_lookup.conf -s PATHS -o GNUNET_HOME -f` 18TEST_CONFIG="test_gns_nick_shorten.conf "
19rm -rf `gnunet-config -c test_gns_nick_shorten.conf -s PATHS -o GNUNET_HOME -f`
19TEST_IP="127.0.0.1" 20TEST_IP="127.0.0.1"
20TEST_IP="127.0.0.2" 21TEST_IP="127.0.0.2"
21TEST_NICK_EGO="ego" 22TEST_NICK_EGO="ego"
@@ -23,76 +24,96 @@ TEST_NICK_DELEGATED="alice"
23TEST_NAME="www.mybestfriendalice.gnu" 24TEST_NAME="www.mybestfriendalice.gnu"
24TEST_NAME_SHORT="www.alice.short.gnu" 25TEST_NAME_SHORT="www.alice.short.gnu"
25 26
26# Start gnunet 27# export GNUNET_FORCE_LOG="namestore;;;;DEBUG/gns;;;;DEBUG/;;;;WARNING"
27gnunet-arm -s -c test_gns_lookup.conf
28 28
29DELEGATED_PKEY=$(gnunet-identity -d -c test_gns_lookup.conf | grep delegatedego | awk '{print $3}') 29# Start gnunet
30echo "Starting arm with configuration $TEST_CONFIG"
31gnunet-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
32gnunet-identity -c test_gns_lookup.conf -d 34echo "Creating identities"
33gnunet-identity -C short-zone -c test_gns_lookup.conf 35gnunet-identity -d -c $TEST_CONFIG
34gnunet-identity -C delegatedego -c test_gns_lookup.conf 36gnunet-identity -C short-zone -c $TEST_CONFIG
35gnunet-identity -e short-zone -s gns-short -c test_gns_lookup.conf 37gnunet-identity -C delegatedego -c $TEST_CONFIG
36gnunet-identity -C testego -c test_gns_lookup.conf 38gnunet-identity -e short-zone -s gns-short -c $TEST_CONFIG
39gnunet-identity -C testego -c $TEST_CONFIG
37 40
38# We should set NICKs here 41echo "Adding nick names for identities"
39gnunet-namestore -z testego -i $TEST_NICK_EGO -c test_gns_lookup.conf 42gnunet-namestore -z testego -i $TEST_NICK_EGO -c $TEST_CONFIG
40gnunet-namestore -z delegatedego -i $TEST_NICK_DELEGATED -c test_gns_lookup.conf 43gnunet-namestore -z delegatedego -i $TEST_NICK_DELEGATED -c $TEST_CONFIG
41 44
42DELEGATED_PKEY=$(gnunet-identity -d -c test_gns_lookup.conf | grep delegatedego | awk '{print $3}') 45# Adding label www in Alice's delegatedego zone
43SHORT=$(gnunet-identity -c test_gns_lookup.conf -d | grep short-zone | awk '{print $3}') 46echo "Adding www record with IP $TEST_IP"
47gnunet-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
46gnunet-namestore -p -z testego -a -n mybestfriendalice -t PKEY -V $DELEGATED_PKEY -e never -c test_gns_lookup.conf 50DELEGATED_PKEY=$(gnunet-identity -d -c $TEST_CONFIG| grep delegatedego | awk '{print $3}')
51echo "Alice's PKEY is $DELEGATED_PKEY"
52
53SHORTEN_PKEY=$(gnunet-identity -c test_gns_nick_shorten.conf -d | grep short-zone | awk '{print $3}')
54echo "Shorten PKEY is $SHORTEN_PKEY"
47 55
48# Delegate the name "short" to shortenzone 56# Delegate the name "short" to shortenzone
49gnunet-namestore -p -z testego -a -n short -t PKEY -V $SHORT -e never -c test_gns_lookup.conf 57gnunet-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
51gnunet-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
54gnunet-namestore -p -z delegatedego -a -n www -t A -V $TEST_IP -e never -c test_gns_lookup.conf 60gnunet-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 63echo "Start gns..."
58gnunet-arm -c test_gns_lookup.conf -k namecache 64gnunet-arm -c test_gns_nick_shorten.conf -i gns
59rm -rf `gnunet-config -c test_gns_lookup.conf -s namecache-sqlite -o FILENAME -f`
60 65
61# Force start of GNS
62gnunet-arm -c test_gns_lookup.conf -i gns
63# need to sleep here, to give PSEU record chance to be copied to DHT
64sleep 1
65 66
66RES_IP=`$DO_TIMEOUT gnunet-gns --raw -z testego -u $TEST_NAME -t A -c test_gns_lookup.conf` 67RES_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...
69sleep 1 69sleep 1
70 70
71# DO THAT 71echo "Lookup shortened names"
72PKEY_SHORT_RES=$($DO_TIMEOUT gnunet-gns --raw -c test_gns_lookup.conf -z short-zone -u alice.gnu -t PKEY) 72PKEY_SHORT_RES=$($DO_TIMEOUT gnunet-gns --raw -c test_gns_nick_shorten.conf -z short-zone -u alice.gnu -t PKEY)
73echo "Resolving alice's PKEY in shorten zone: $PKEY_SHORT_RES" 73echo "Resolving alice's PKEY in shorten zone: $PKEY_SHORT_RES"
74PKEY_RES=$($DO_TIMEOUT gnunet-gns --raw -c test_gns_lookup.conf -z testego -u alice.short.gnu -t PKEY) 74PKEY_RES=$($DO_TIMEOUT gnunet-gns --raw -c test_gns_nick_shorten.conf -z testego -u alice.short.gnu -t PKEY)
75echo "Resolving alice's PKEY in master zone: $PKEY_RES" 75echo "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` 77RES=0
78
79gnunet-namestore -z testego -d -n mybestfriendalice -t PKEY -V $DELEGATED_PKEY -e never -c test_gns_lookup.conf
80gnunet-namestore -z delegatedego -d -n www -t A -V $TEST_IP -e never -c test_gns_lookup.conf
81gnunet-arm -e -c test_gns_lookup.conf
82
83rm -rf `gnunet-config -c test_gns_lookup.conf -s PATHS -o GNUNET_HOME -f`
84
85if [ "$DELEGATED_PKEY" == "$PKEY_SHORT_RES" ] 78if [ "$DELEGATED_PKEY" == "$PKEY_SHORT_RES" ]
86then 79then
87 echo "PASS: Resolved delegation for shorten name in shortened zone" 80 echo "PASS: Resolved delegation for shorten name in shortened zone"
88else 81else
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
90fi 84fi
91 85
92if [ "$DELEGATED_PKEY" == "$PKEY_RES" ] 86if [ "$DELEGATED_PKEY" == "$PKEY_RES" ]
93then 87then
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
96else 89else
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
98fi 92fi
93
94if [ $RES -eq 0 ]
95then
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
104fi
105
106
107# Clean up
108echo "Clean up..."
109gnunet-namestore -z testego -d -n mybestfriendalice -t PKEY -V $DELEGATED_PKEY -e never -c test_gns_nick_shorten.conf
110gnunet-namestore -z delegatedego -d -n www -t A -V $TEST_IP -e never -c test_gns_nick_shorten.conf
111gnunet-identity -D -z testego -c $TEST_CONFIG
112gnunet-identity -D -z delegatedego -c $TEST_CONFIG
113gnunet-identity -D -z short-zone -c $TEST_CONFIG
114
115gnunet-arm -e -c test_gns_nick_shorten.conf
116rm -rf `gnunet-config -c test_gns_nick_shorten.conf -s PATHS -o GNUNET_HOME -f`
117
118exit $RES
119