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