From: Ben Kaduk Date: Fri, 21 Nov 2014 19:00:20 +0000 (-0500) Subject: Regression tests for keyless principals X-Git-Tag: krb5-1.14-alpha1~192 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=71201ced154fd3d1a87358ebdaf209d24885ed13;p=thirdparty%2Fkrb5.git Regression tests for keyless principals Confirm that kadmind does not crash when creating/modifying a principal to have no keys, and confirm that no keys are present after a purgekeys -all. --- diff --git a/src/tests/t_kdb.py b/src/tests/t_kdb.py index 937292643c..a0bc096dac 100644 --- a/src/tests/t_kdb.py +++ b/src/tests/t_kdb.py @@ -329,6 +329,23 @@ out = realm.run_kadminl('getprinc kvnoprinc') if 'Number of keys: 6' not in out: fail('After cpw -keepold, wrong number of keys') +# Regression test for #8041 (NULL dereference on keyless principals). +out = realm.run_kadminl('addprinc -nokey keylessprinc') +if 'Principal "keylessprinc@KRBTEST.COM" created' not in out: + fail('Failed to create keyless principal') +out = realm.run_kadminl('getprinc keylessprinc') +if 'Number of keys: 0' not in out: + fail('Failed to create a principal with no keys') +realm.run_kadminl('cpw -randkey -e aes256-cts,aes128-cts keylessprinc') +realm.run_kadminl('cpw -randkey -keepold -e aes256-cts,aes128-cts keylessprinc') +out = realm.run_kadminl('getprinc keylessprinc') +if 'Number of keys: 4' not in out: + fail('Failed to add keys to keylessprinc') +realm.run_kadminl('purgekeys -all keylessprinc') +out = realm.run_kadminl('getprinc keylessprinc') +if 'Number of keys: 0' not in out: + fail('After purgekeys -all, keys remain') + realm.stop() # Briefly test dump and load.