common.sh revision 1.6 1 # $NetBSD: common.sh,v 1.6 2017/08/08 02:27:03 ozaki-r Exp $
2 #
3 # Copyright (c) 2017 Internet Initiative Japan Inc.
4 # All rights reserved.
5 #
6 # Redistribution and use in source and binary forms, with or without
7 # modification, are permitted provided that the following conditions
8 # are met:
9 # 1. Redistributions of source code must retain the above copyright
10 # notice, this list of conditions and the following disclaimer.
11 # 2. Redistributions in binary form must reproduce the above copyright
12 # notice, this list of conditions and the following disclaimer in the
13 # documentation and/or other materials provided with the distribution.
14 #
15 # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
16 # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
17 # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
18 # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
19 # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25 # POSSIBILITY OF SUCH DAMAGE.
26 #
27
28 test_flush_entries()
29 {
30 local sock=$1
31
32 export RUMP_SERVER=$sock
33
34 atf_check -s exit:0 -o empty $HIJACKING setkey -F
35 atf_check -s exit:0 -o empty $HIJACKING setkey -F -P
36 atf_check -s exit:0 -o match:"No SAD entries." $HIJACKING setkey -D -a
37 atf_check -s exit:0 -o match:"No SPD entries." $HIJACKING setkey -D -P
38 }
39
40 check_sa_entries()
41 {
42 local sock=$1
43 local local_addr=$2
44 local remote_addr=$3
45
46 export RUMP_SERVER=$sock
47
48 $DEBUG && $HIJACKING setkey -D
49
50 atf_check -s exit:0 -o match:"$local_addr $remote_addr" \
51 $HIJACKING setkey -D
52 atf_check -s exit:0 -o match:"$remote_addr $local_addr" \
53 $HIJACKING setkey -D
54 # TODO: more detail checks
55 }
56
57 check_sp_entries()
58 {
59 local sock=$1
60 local local_addr=$2
61 local remote_addr=$3
62
63 export RUMP_SERVER=$sock
64
65 $DEBUG && $HIJACKING setkey -D -P
66
67 atf_check -s exit:0 \
68 -o match:"$local_addr\[any\] $remote_addr\[any\] 255\(reserved\)" \
69 $HIJACKING setkey -D -P
70 # TODO: more detail checks
71 }
72
73 generate_pktproto()
74 {
75 local proto=$1
76
77 if [ $proto = ipcomp ]; then
78 echo IPComp
79 else
80 echo $proto | tr 'a-z' 'A-Z'
81 fi
82 }
83