~ubuntu-branches/ubuntu/trusty/gnutls26/trusty-security

« back to all changes in this revision

Viewing changes to tests/safe-renegotiation/testsrn

  • Committer: Bazaar Package Importer
  • Author(s): Andreas Metzler
  • Date: 2010-04-22 19:29:52 UTC
  • mto: (12.4.3 experimental) (1.5.1)
  • mto: This revision was merged to the branch mainline in revision 26.
  • Revision ID: james.westby@ubuntu.com-20100422192952-gbj6cvaan8e4ejck
Tags: upstream-2.9.10
ImportĀ upstreamĀ versionĀ 2.9.10

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/bin/sh
 
2
 
 
3
# Copyright (C) 2010 Free Software Foundation, Inc.
 
4
#
 
5
# Author: Nikos Mavrogiannopoulos
 
6
#
 
7
# This file is part of GNUTLS.
 
8
#
 
9
# GNUTLS is free software; you can redistribute it and/or modify it
 
10
# under the terms of the GNU General Public License as published by the
 
11
# Free Software Foundation; either version 3 of the License, or (at
 
12
# your option) any later version.
 
13
#
 
14
# GNUTLS is distributed in the hope that it will be useful, but
 
15
# WITHOUT ANY WARRANTY; without even the implied warranty of
 
16
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 
17
# General Public License for more details.
 
18
#
 
19
# You should have received a copy of the GNU General Public License
 
20
# along with GNUTLS; if not, write to the Free Software Foundation,
 
21
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
22
 
 
23
srcdir="${srcdir:-.}"
 
24
SERV="${SERV:-../../src/gnutls-serv$EXEEXT} -q"
 
25
CLI="${CLI:-../../src/gnutls-cli$EXEEXT}"
 
26
PORT="${PORT:-5558}"
 
27
unset RETCODE
 
28
 
 
29
fail() {
 
30
   echo "Failure: $1" >&2
 
31
   RETCODE=${RETCODE:-${2:-1}}
 
32
}
 
33
 
 
34
echo "Checking Safe renegotiation"
 
35
 
 
36
$SERV -p $PORT --echo --priority NORMAL:+ANON-DH:%SAFE_RENEGOTIATION --dhparams $srcdir/params.dh >/dev/null 2>&1 &
 
37
pid=$!
 
38
 
 
39
# give the server a chance to initialize
 
40
sleep 2
 
41
 
 
42
$CLI -p $PORT 127.0.0.1 --rehandshake --priority NONE:+AES-128-CBC:+MD5:+SHA1:+VERS-SSL3.0:+ANON-DH:+COMP-NULL:%SAFE_RENEGOTIATION </dev/null >/dev/null 2>&1 || \
 
43
  fail "0. Renegotiation should have succeeded!"
 
44
 
 
45
$CLI -p $PORT 127.0.0.1 --rehandshake --priority NORMAL:+ANON-DH:%SAFE_RENEGOTIATION </dev/null >/dev/null 2>&1 || \
 
46
  fail "1. Safe rehandshake should have succeeded!"
 
47
 
 
48
$CLI -p $PORT 127.0.0.1 --rehandshake --priority NORMAL:+ANON-DH:%UNSAFE_RENEGOTIATION </dev/null >/dev/null 2>&1 || \
 
49
  fail "2. Unsafe rehandshake should have succeeded!"
 
50
 
 
51
$CLI -p $PORT 127.0.0.1 --priority NORMAL:+ANON-DH:%DISABLE_SAFE_RENEGOTIATION </dev/null >/dev/null 2>&1 || \
 
52
  fail "3. Unsafe negotiation should have succeeded!"
 
53
 
 
54
$CLI -p $PORT 127.0.0.1 --rehandshake --priority NORMAL:+ANON-DH:%DISABLE_SAFE_RENEGOTIATION </dev/null >/dev/null 2>&1 && \
 
55
  fail "4. Unsafe renegotiation should have failed!"
 
56
 
 
57
 
 
58
kill $pid
 
59
wait
 
60
 
 
61
$SERV -p $PORT --echo --priority NORMAL:+ANON-DH:%INITIAL_SAFE_RENEGOTIATION --dhparams $srcdir/params.dh >/dev/null 2>&1 &
 
62
pid=$!
 
63
 
 
64
# give the server a chance to initialize
 
65
sleep 2
 
66
 
 
67
$CLI -p $PORT 127.0.0.1 --rehandshake --priority NORMAL:+ANON-DH:%SAFE_RENEGOTIATION </dev/null >/dev/null 2>&1 || \
 
68
  fail "5. Safe rehandshake should have succeeded!"
 
69
 
 
70
$CLI -p $PORT 127.0.0.1 --rehandshake --priority NORMAL:+ANON-DH:%UNSAFE_RENEGOTIATION </dev/null >/dev/null 2>&1 || \
 
71
  fail "6. Unsafe rehandshake should have succeeded!"
 
72
 
 
73
$CLI -p $PORT 127.0.0.1 --priority NORMAL:+ANON-DH:%DISABLE_SAFE_RENEGOTIATION </dev/null >/dev/null 2>&1 && \
 
74
  fail "7. Unsafe negotiation should have failed!"
 
75
 
 
76
$CLI -p $PORT 127.0.0.1 --rehandshake --priority NORMAL:+ANON-DH:%DISABLE_SAFE_RENEGOTIATION </dev/null >/dev/null 2>&1 && \
 
77
  fail "8. Unsafe renegotiation should have failed!"
 
78
 
 
79
kill $pid
 
80
wait
 
81
 
 
82
$SERV -p $PORT --echo --priority NORMAL:+ANON-DH:%DISABLE_SAFE_RENEGOTIATION --dhparams $srcdir/params.dh >/dev/null 2>&1 &
 
83
pid=$!
 
84
 
 
85
# give the server a chance to initialize
 
86
sleep 2
 
87
 
 
88
$CLI -p $PORT 127.0.0.1 --priority NORMAL:+ANON-DH:%SAFE_RENEGOTIATION </dev/null >/dev/null 2>&1 && \
 
89
  fail "9. Initial connection should have failed!"
 
90
 
 
91
$CLI -p $PORT 127.0.0.1 --priority NORMAL:+ANON-DH:%UNSAFE_RENEGOTIATION </dev/null >/dev/null 2>&1 || \
 
92
  fail "10. Unsafe connection should have succeeded!"
 
93
 
 
94
$CLI -p $PORT 127.0.0.1 --priority NORMAL:+ANON-DH:%DISABLE_SAFE_RENEGOTIATION </dev/null >/dev/null 2>&1 || \
 
95
  fail "11. Unsafe negotiation should have succeeded!"
 
96
 
 
97
$CLI -p $PORT 127.0.0.1 --rehandshake --priority NORMAL:+ANON-DH:%DISABLE_SAFE_RENEGOTIATION </dev/null >/dev/null 2>&1 || \
 
98
  fail "12. Unsafe renegotiation should have succeeded!"
 
99
 
 
100
kill $pid
 
101
wait
 
102
 
 
103
exit ${RETCODE:-0}