Imported Upstream version 1.20.1
[platform/upstream/krb5.git] / src / tests / gssapi / t_bindings.py
1 from k5test import *
2
3 realm = K5Realm()
4 server = 'p:' + realm.host_princ
5
6 mark('krb5 channel bindings')
7 realm.run(['./t_bindings', server, '-', '-'], expected_msg='no')
8 realm.run(['./t_bindings', server, 'a', '-'], expected_msg='no')
9 realm.run(['./t_bindings', server, 'a', 'a'], expected_msg='yes')
10 realm.run(['./t_bindings', server, '-', 'a'], expected_msg='no')
11 realm.run(['./t_bindings', server, 'a', 'x'],
12           expected_code=1, expected_msg='Incorrect channel bindings')
13
14 mark('SPNEGO channel bindings')
15 realm.run(['./t_bindings', '-s', server, '-', '-'], expected_msg='no')
16 realm.run(['./t_bindings', '-s', server, 'a', '-'], expected_msg='no')
17 realm.run(['./t_bindings', '-s', server, 'a', 'a'], expected_msg='yes')
18 realm.run(['./t_bindings', '-s', server, '-', 'a'], expected_msg='no')
19 realm.run(['./t_bindings', '-s', server, 'a', 'x'],
20           expected_code=1, expected_msg='Incorrect channel bindings')
21
22 client_aware_conf = {'libdefaults': {'client_aware_channel_bindings': 'true'}}
23 e = realm.special_env('cb_aware', False, krb5_conf=client_aware_conf)
24
25 mark('krb5 client_aware_channel_bindings')
26 realm.run(['./t_bindings', server, '-', '-'], env=e, expected_msg='no')
27 realm.run(['./t_bindings', server, 'a', '-'], env=e, expected_msg='no')
28 realm.run(['./t_bindings', server, 'a', 'a'], env=e, expected_msg='yes')
29 realm.run(['./t_bindings', server, '-', 'a'], env=e,
30           expected_code=1, expected_msg='Incorrect channel bindings')
31 realm.run(['./t_bindings', server, 'a', 'x'], env=e,
32           expected_code=1, expected_msg='Incorrect channel bindings')
33
34 mark('SPNEGO client_aware_channel_bindings')
35 realm.run(['./t_bindings', '-s', server, '-', '-'], env=e, expected_msg='no')
36 realm.run(['./t_bindings', '-s', server, 'a', '-'], env=e, expected_msg='no')
37 realm.run(['./t_bindings', '-s', server, 'a', 'a'], env=e, expected_msg='yes')
38 realm.run(['./t_bindings', '-s', server, '-', 'a'], env=e,
39           expected_code=1, expected_msg='Incorrect channel bindings')
40 realm.run(['./t_bindings', '-s', server, 'a', 'x'], env=e,
41           expected_code=1, expected_msg='Incorrect channel bindings')
42
43 success('channel bindings tests')