krb5 commit: Remove manual kdc_realm tests

Greg Hudson ghudson at MIT.EDU
Fri Jan 11 12:35:15 EST 2013


https://github.com/krb5/krb5/commit/e09e6a7d681df577c4e6fa64d79c40e25e6c3c66
commit e09e6a7d681df577c4e6fa64d79c40e25e6c3c66
Author: Greg Hudson <ghudson at mit.edu>
Date:   Fri Jan 11 12:27:36 2013 -0500

    Remove manual kdc_realm tests

 src/tests/Makefile.in                              |    1 -
 .../kdc_realm/input_conf/kdc_pri_template.conf     |   12 -
 .../kdc_realm/input_conf/kdc_ref_template.conf     |   12 -
 .../kdc_realm/input_conf/krb5_priCL_template.conf  |   34 --
 .../input_conf/krb5_priKDC_1_template.conf         |   30 --
 .../input_conf/krb5_priKDC_2_template.conf         |   31 --
 .../input_conf/krb5_priKDC_3_template.conf         |   30 --
 .../input_conf/krb5_priKDC_4_template.conf         |   30 --
 .../input_conf/krb5_priKDC_5_template.conf         |   30 --
 .../input_conf/krb5_priKDC_6_template.conf         |   31 --
 .../input_conf/krb5_priKDC_7_template.conf         |   29 --
 .../input_conf/krb5_priKDC_8_template.conf         |   33 --
 .../kdc_realm/input_conf/krb5_priKDC_template.conf |   30 --
 .../kdc_realm/input_conf/krb5_ref_template.conf    |   27 --
 src/tests/kdc_realm/input_conf/test_KDCs.conf      |    9 -
 src/tests/kdc_realm/input_conf/test_KDCs_1.conf    |    9 -
 src/tests/kdc_realm/input_conf/test_princs.conf    |    1 -
 src/tests/kdc_realm/input_conf/test_setup.conf     |    6 -
 src/tests/kdc_realm/kdcref.py                      |  335 --------------------
 19 files changed, 0 insertions(+), 720 deletions(-)

diff --git a/src/tests/Makefile.in b/src/tests/Makefile.in
index da52894..4de5504 100644
--- a/src/tests/Makefile.in
+++ b/src/tests/Makefile.in
@@ -91,7 +91,6 @@ check-pytests:: gcred hist kdbtest
 	$(RUNPYTEST) $(srcdir)/t_keytab.py $(PYTESTFLAGS)
 	$(RUNPYTEST) $(srcdir)/t_kadmin_acl.py $(PYTESTFLAGS)
 	$(RUNPYTEST) $(srcdir)/t_kdb.py $(PYTESTFLAGS)
-#	$(RUNPYTEST) $(srcdir)/kdc_realm/kdcref.py $(PYTESTFLAGS)
 	$(RUNPYTEST) $(srcdir)/t_cve-2012-1014.py $(PYTESTFLAGS)
 	$(RUNPYTEST) $(srcdir)/t_cve-2012-1015.py $(PYTESTFLAGS)
 
diff --git a/src/tests/kdc_realm/input_conf/kdc_pri_template.conf b/src/tests/kdc_realm/input_conf/kdc_pri_template.conf
deleted file mode 100755
index 2867607..0000000
--- a/src/tests/kdc_realm/input_conf/kdc_pri_template.conf
+++ /dev/null
@@ -1,12 +0,0 @@
-[kdcdefaults]
-	kdc_ports = 7777
-
-[realms]
-	Y.COM = {
-		database_name = %(tier2)s/principal
-		acl_file = %(tier2)s/kadm5.acl
-		key_stash_file = %(tier2)s/.k5.ATHENA.MIT.EDU
-		kdc_ports = 7777
-		max_life = 10h 0m 0s
-		max_renewable_life = 7d 0h 0m 0s
-	}
diff --git a/src/tests/kdc_realm/input_conf/kdc_ref_template.conf b/src/tests/kdc_realm/input_conf/kdc_ref_template.conf
deleted file mode 100755
index fc51010..0000000
--- a/src/tests/kdc_realm/input_conf/kdc_ref_template.conf
+++ /dev/null
@@ -1,12 +0,0 @@
-[kdcdefaults]
-	kdc_ports = 7778
-
-[realms]
-	Z.COM = {
-		database_name = %(tier1)s/principal
-		acl_file = %(tier1)s/kadm5.acl
-		key_stash_file = %(tier1)s/.k5.ATHENA.MIT.EDU
-		kdc_ports = 7778
-		max_life = 10h 0m 0s
-		max_renewable_life = 7d 0h 0m 0s
-	}
diff --git a/src/tests/kdc_realm/input_conf/krb5_priCL_template.conf b/src/tests/kdc_realm/input_conf/krb5_priCL_template.conf
deleted file mode 100755
index 7e31eed..0000000
--- a/src/tests/kdc_realm/input_conf/krb5_priCL_template.conf
+++ /dev/null
@@ -1,34 +0,0 @@
-[libdefaults]
-	default_realm = Y.COM
-    default_keytab_name = FILE:%(tier2)s/krb5.keytab
-	default_tkt_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 des3-hmac-sha1 des-cbc-crc 
-	default_tgs_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 des3-hmac-sha1 des-cbc-crc 
-	dns_lookup_kdc = true
-	dns_lookup_realm = false
-
-[realms]
-	Y.COM = {
-		admin_server = KERBEROS.Y.COM
-        kdc = %(localFQDN)s:7777
-		default_domain = Y.COM
-	}
-	Z.COM = {
-		admin_server = KERBEROS.Z.COM
-		kdc = %(localFQDN)s:7778
-		default_domain = Z.COM
-	}
-
-[domain_realm]
-#	.mit.edu = Y.COM
-	%(localFQDN)s = Y.COM
-	.%(localFQDN)s = Y.COM
-    .y.com = Y.COM 
-	y.com = Y.COM
-	
-[dbmodules]
-	db_module_dir = %(srcdir)s/plugins/kdb/db2
-
-
-[logging]
-	kdc = FILE:%(tier2)s/krb5kdc_cl.log
-
diff --git a/src/tests/kdc_realm/input_conf/krb5_priKDC_1_template.conf b/src/tests/kdc_realm/input_conf/krb5_priKDC_1_template.conf
deleted file mode 100755
index 7a197ca..0000000
--- a/src/tests/kdc_realm/input_conf/krb5_priKDC_1_template.conf
+++ /dev/null
@@ -1,30 +0,0 @@
-[libdefaults]
-	default_realm = Y.COM
-    	default_keytab_name = FILE:%(tier2)s/krb5.keytab
-	default_tkt_enctypes = aes256-cts-hmac-sha1-96  des3-hmac-sha1 des-cbc-crc 
-	default_tgs_enctypes = aes256-cts-hmac-sha1-96  des3-hmac-sha1 des-cbc-crc 
-	dns_lookup_kdc = true
-	dns_lookup_realm = false
-
-
-[kdcdefaults]
-	no_host_referral = * 
-	host_based_services = *
-
-[realms]
-	Y.COM = {
-		kdc = %(localFQDN)s:7777
-	}
-
-[domain_realm]
-	mybox.mit.edu=Z.COM
-	%(localFQDN)s=Y.COM
-	.y.com = Y.COM 
-	y.com = Y.COM 
-
-[dbmodules]
-	db_module_dir = %(srcdir)s/plugins/kdb/db2
-
-[logging]
-	kdc = FILE:%(tier2)s/krb5kdc.log
-
diff --git a/src/tests/kdc_realm/input_conf/krb5_priKDC_2_template.conf b/src/tests/kdc_realm/input_conf/krb5_priKDC_2_template.conf
deleted file mode 100755
index 6f6994f..0000000
--- a/src/tests/kdc_realm/input_conf/krb5_priKDC_2_template.conf
+++ /dev/null
@@ -1,31 +0,0 @@
-[libdefaults]
-	default_realm = Y.COM
-   	default_keytab_name = FILE:%(tier2)s/krb5.keytab
-	default_tkt_enctypes = aes256-cts-hmac-sha1-96  des3-hmac-sha1 des-cbc-crc 
-	default_tgs_enctypes = aes256-cts-hmac-sha1-96  des3-hmac-sha1 des-cbc-crc 
-	dns_lookup_kdc = true
-	dns_lookup_realm = false
-
-
-[kdcdefaults]
-	no_host_referral = host1  
-	
-
-[realms]
-	Y.COM = {
-		kdc = %(localFQDN)s:7777
-		host_based_services = *
-	}
-
-[domain_realm]
-	mybox.mit.edu=Z.COM
-	%(localFQDN)s=Y.COM
-	.y.com = Y.COM 
-	y.com = Y.COM 
-
-[dbmodules]
-	db_module_dir = %(srcdir)s/plugins/kdb/db2
-
-[logging]
-	kdc = FILE:%(tier2)s/krb5kdc.log
-
diff --git a/src/tests/kdc_realm/input_conf/krb5_priKDC_3_template.conf b/src/tests/kdc_realm/input_conf/krb5_priKDC_3_template.conf
deleted file mode 100755
index d04ab8c..0000000
--- a/src/tests/kdc_realm/input_conf/krb5_priKDC_3_template.conf
+++ /dev/null
@@ -1,30 +0,0 @@
-[libdefaults]
-	default_realm = Y.COM
-    default_keytab_name = FILE:%(tier2)s/krb5.keytab
-	default_tkt_enctypes = aes256-cts-hmac-sha1-96  des3-hmac-sha1 des-cbc-crc 
-	default_tgs_enctypes = aes256-cts-hmac-sha1-96  des3-hmac-sha1 des-cbc-crc 
-	dns_lookup_kdc = true
-	dns_lookup_realm = false
-
-
-[kdcdefaults]
-#	no_host_referral = * 
-#	host_based_services = *
-
-[realms]
-	Y.COM = {
-		kdc = %(localFQDN)s:7777
-	}
-
-[domain_realm]
-	mybox.mit.edu = Z.COM
-	%(localFQDN)s = Y.COM
-	.y.com = Y.COM 
-	y.com = Y.COM 
-
-[dbmodules]
-	db_module_dir = %(srcdir)s/plugins/kdb/db2
-
-[logging]
-	kdc = FILE:%(tier2)s/krb5kdc.log
-
diff --git a/src/tests/kdc_realm/input_conf/krb5_priKDC_4_template.conf b/src/tests/kdc_realm/input_conf/krb5_priKDC_4_template.conf
deleted file mode 100755
index 751b22a..0000000
--- a/src/tests/kdc_realm/input_conf/krb5_priKDC_4_template.conf
+++ /dev/null
@@ -1,30 +0,0 @@
-[libdefaults]
-	default_realm = Y.COM
-    default_keytab_name = FILE:%(tier2)s/krb5.keytab
-	default_tkt_enctypes = aes256-cts-hmac-sha1-96  des3-hmac-sha1 des-cbc-crc 
-	default_tgs_enctypes = aes256-cts-hmac-sha1-96  des3-hmac-sha1 des-cbc-crc 
-	dns_lookup_kdc = true
-	dns_lookup_realm = false
-
-
-[kdcdefaults]
-	host_based_services = *
-
-[realms]
-	Y.COM = {
-		kdc = %(localFQDN)s:7777
-		no_host_referral = host1, * host2		
-	}
-
-[domain_realm]
-	mybox.mit.edu = Z.COM
-	%(localFQDN)s = Y.COM
-	.y.com = Y.COM 
-	y.com = Y.COM 
-
-[dbmodules]
-	db_module_dir = %(srcdir)s/plugins/kdb/db2
-
-[logging]
-	kdc = FILE:%(tier2)s/krb5kdc.log
-
diff --git a/src/tests/kdc_realm/input_conf/krb5_priKDC_5_template.conf b/src/tests/kdc_realm/input_conf/krb5_priKDC_5_template.conf
deleted file mode 100755
index 6d1d2fa..0000000
--- a/src/tests/kdc_realm/input_conf/krb5_priKDC_5_template.conf
+++ /dev/null
@@ -1,30 +0,0 @@
-[libdefaults]
-	default_realm = Y.COM
-    default_keytab_name = FILE:%(tier2)s/krb5.keytab
-	default_tkt_enctypes = aes256-cts-hmac-sha1-96  des3-hmac-sha1 des-cbc-crc 
-	default_tgs_enctypes = aes256-cts-hmac-sha1-96  des3-hmac-sha1 des-cbc-crc 
-	dns_lookup_kdc = true
-	dns_lookup_realm = false
-
-
-[kdcdefaults]
-	no_host_referral = host1 testHost host2 
-	host_based_services = *
-
-[realms]
-	Y.COM = {
-		kdc = %(localFQDN)s:7777
-	}
-
-[domain_realm]
-	mybox.mit.edu = Z.COM
-	%(localFQDN)s = Y.COM
-	.y.com = Y.COM 
-	y.com = Y.COM 
-
-[dbmodules]
-	db_module_dir = %(srcdir)s/plugins/kdb/db2
-
-[logging]
-	kdc = FILE:%(tier2)s/krb5kdc.log
-
diff --git a/src/tests/kdc_realm/input_conf/krb5_priKDC_6_template.conf b/src/tests/kdc_realm/input_conf/krb5_priKDC_6_template.conf
deleted file mode 100755
index b67bbbb..0000000
--- a/src/tests/kdc_realm/input_conf/krb5_priKDC_6_template.conf
+++ /dev/null
@@ -1,31 +0,0 @@
-[libdefaults]
-	default_realm = Y.COM
-    default_keytab_name = FILE:%(tier2)s/krb5.keytab
-	default_tkt_enctypes = aes256-cts-hmac-sha1-96  des3-hmac-sha1 des-cbc-crc 
-	default_tgs_enctypes = aes256-cts-hmac-sha1-96  des3-hmac-sha1 des-cbc-crc 
-	dns_lookup_kdc = true
-	dns_lookup_realm = false
-
-
-[kdcdefaults]
-#	no_host_referral = * 
-	host_based_services = *
-
-[realms]
-	Y.COM = {
-		kdc = %(localFQDN)s:7777
-		no_host_referral =  testHost
-	}
-
-[domain_realm]
-	mybox.mit.edu = Z.COM
-	%(localFQDN)s = Y.COM
-	.y.com = Y.COM 
-	y.com = Y.COM 
-
-[dbmodules]
-	db_module_dir = %(srcdir)s/plugins/kdb/db2
-
-[logging]
-	kdc = FILE:%(tier2)s/krb5kdc.log
-
diff --git a/src/tests/kdc_realm/input_conf/krb5_priKDC_7_template.conf b/src/tests/kdc_realm/input_conf/krb5_priKDC_7_template.conf
deleted file mode 100755
index ed0ddc7..0000000
--- a/src/tests/kdc_realm/input_conf/krb5_priKDC_7_template.conf
+++ /dev/null
@@ -1,29 +0,0 @@
-[libdefaults]
-	default_realm = Y.COM
-    default_keytab_name = FILE:%(tier2)s/krb5.keytab
-	default_tkt_enctypes = aes256-cts-hmac-sha1-96  des3-hmac-sha1 des-cbc-crc 
-	default_tgs_enctypes = aes256-cts-hmac-sha1-96  des3-hmac-sha1 des-cbc-crc 
-	dns_lookup_kdc = true
-	dns_lookup_realm = false
-
-
-[kdcdefaults]
-	host_based_services = testHost
-
-[realms]
-	Y.COM = {
-		kdc = %(localFQDN)s:7777
-	}
-
-[domain_realm]
-	mybox.mit.edu = Z.COM
-	%(localFQDN)s = Y.COM
-	.y.com = Y.COM 
-	y.com = Y.COM 
-
-[dbmodules]
-	db_module_dir = %(srcdir)s/plugins/kdb/db2
-
-[logging]
-	kdc = FILE:%(tier2)s/krb5kdc.log
-
diff --git a/src/tests/kdc_realm/input_conf/krb5_priKDC_8_template.conf b/src/tests/kdc_realm/input_conf/krb5_priKDC_8_template.conf
deleted file mode 100755
index fa01e38..0000000
--- a/src/tests/kdc_realm/input_conf/krb5_priKDC_8_template.conf
+++ /dev/null
@@ -1,33 +0,0 @@
-[libdefaults]
-	default_realm = Y.COM
-    default_keytab_name = FILE:%(tier2)s/krb5.keytab
-	default_tkt_enctypes = aes256-cts-hmac-sha1-96  des3-hmac-sha1 des-cbc-crc 
-	default_tgs_enctypes = aes256-cts-hmac-sha1-96  des3-hmac-sha1 des-cbc-crc 
-	dns_lookup_kdc = true
-	dns_lookup_realm = false
-
-
-[kdcdefaults]
-	host_based_services = host1
-
-
-[realms]
-	Y.COM = {
-		kdc = %(localFQDN)s:7777
-		host_based_services = host2
-#		host_based_services = testHost 
-		host_based_services = host3
-	}
-
-[domain_realm]
-	mybox.mit.edu = Z.COM
-	%(localFQDN)s = Y.COM
-	.y.com = Y.COM 
-	y.com = Y.COM 
-
-[dbmodules]
-	db_module_dir = %(srcdir)s/plugins/kdb/db2
-
-[logging]
-	kdc = FILE:%(tier2)s/krb5kdc.log
-
diff --git a/src/tests/kdc_realm/input_conf/krb5_priKDC_template.conf b/src/tests/kdc_realm/input_conf/krb5_priKDC_template.conf
deleted file mode 100755
index 4066de3..0000000
--- a/src/tests/kdc_realm/input_conf/krb5_priKDC_template.conf
+++ /dev/null
@@ -1,30 +0,0 @@
-[libdefaults]
-	default_realm = Y.COM
-    default_keytab_name = FILE:%(tier2)s/krb5.keytab
-	default_tkt_enctypes = aes256-cts-hmac-sha1-96  des3-hmac-sha1 des-cbc-crc 
-	default_tgs_enctypes = aes256-cts-hmac-sha1-96  des3-hmac-sha1 des-cbc-crc 
-	dns_lookup_kdc = true
-	dns_lookup_realm = false
-
-
-[kdcdefaults]
-#	no_host_referral = * 
-	host_based_services = *
-
-[realms]
-	Y.COM = {
-		kdc = %(localFQDN)s:7777
-	}
-
-[domain_realm]
-	mybox.mit.edu = Z.COM
-	%(localFQDN)s = Y.COM
-	.y.com = Y.COM 
-	y.com = Y.COM 
-
-[dbmodules]
-	db_module_dir = %(srcdir)s/plugins/kdb/db2
-
-[logging]
-	kdc = FILE:%(tier2)s/krb5kdc.log
-
diff --git a/src/tests/kdc_realm/input_conf/krb5_ref_template.conf b/src/tests/kdc_realm/input_conf/krb5_ref_template.conf
deleted file mode 100755
index ccfc2d7..0000000
--- a/src/tests/kdc_realm/input_conf/krb5_ref_template.conf
+++ /dev/null
@@ -1,27 +0,0 @@
-[libdefaults]
-	default_realm = Z.COM
-    default_keytab_name = FILE:%(tier1)s/krb5.keytab
-	default_tkt_enctypes =  aes128-cts-hmac-sha1-96 des3-hmac-sha1 des-cbc-crc aes256-cts-hmac-sha1-96 aes128-cts
-	default_tgs_enctypes =  aes128-cts-hmac-sha1-96 des3-hmac-sha1 des-cbc-crc aes256-cts-hmac-sha1-96 aes128-cts
-	dns_lookup_kdc = true
-	dns_lookup_realm = false
-
-[realms]
-	Z.COM = {
-		admin_server = KERBEROS.Z.COM           
-	    kdc = %(localFQDN)s:7778
-		default_domain = Z.COM
-	}
-
-[domain_realm]
-	%(localFQDN)s=Z.COM
-	.%(localFQDN)s=Z.COM
-	.z.com = Z.COM 
-	z.com = Z.COM 
-
-[dbmodules]
-	db_module_dir = %(srcdir)s/plugins/kdb/db2
-
-[logging]
-	kdc = FILE:%(tier1)s/krb5kdc.log
-
diff --git a/src/tests/kdc_realm/input_conf/test_KDCs.conf b/src/tests/kdc_realm/input_conf/test_KDCs.conf
deleted file mode 100644
index cfb6f87..0000000
--- a/src/tests/kdc_realm/input_conf/test_KDCs.conf
+++ /dev/null
@@ -1,9 +0,0 @@
-krb5_priKDC_template.conf,0
-krb5_priKDC_1_template.conf,1
-krb5_priKDC_2_template.conf,0
-krb5_priKDC_3_template.conf,0
-krb5_priKDC_4_template.conf,1
-krb5_priKDC_5_template.conf,1
-krb5_priKDC_6_template.conf,1
-krb5_priKDC_7_template.conf,0
-krb5_priKDC_8_template.conf,0
\ No newline at end of file
diff --git a/src/tests/kdc_realm/input_conf/test_KDCs_1.conf b/src/tests/kdc_realm/input_conf/test_KDCs_1.conf
deleted file mode 100644
index e66425e..0000000
--- a/src/tests/kdc_realm/input_conf/test_KDCs_1.conf
+++ /dev/null
@@ -1,9 +0,0 @@
-krb5_priKDC_template.conf,0
-krb5_priKDC_1_template.conf,1
-krb5_priKDC_2_template.conf,0
-krb5_priKDC_3_template.conf,1
-krb5_priKDC_4_template.conf,1
-krb5_priKDC_5_template.conf,1
-krb5_priKDC_6_template.conf,1
-krb5_priKDC_7_template.conf,0
-krb5_priKDC_8_template.conf,1
diff --git a/src/tests/kdc_realm/input_conf/test_princs.conf b/src/tests/kdc_realm/input_conf/test_princs.conf
deleted file mode 100644
index fb2c9fc..0000000
--- a/src/tests/kdc_realm/input_conf/test_princs.conf
+++ /dev/null
@@ -1 +0,0 @@
-princUser/admin
\ No newline at end of file
diff --git a/src/tests/kdc_realm/input_conf/test_setup.conf b/src/tests/kdc_realm/input_conf/test_setup.conf
deleted file mode 100644
index 2b3309a..0000000
--- a/src/tests/kdc_realm/input_conf/test_setup.conf
+++ /dev/null
@@ -1,6 +0,0 @@
-sandboxDir=kdc_realm/sandbox
-testKDCconf=test_KDCs.conf
-testKDCconf_1=test_KDCs_1.conf
-principals=test_princs.conf
-tier1=sandbox/tier1
-tier2=sandbox/tier2
diff --git a/src/tests/kdc_realm/kdcref.py b/src/tests/kdc_realm/kdcref.py
deleted file mode 100755
index 217c38a..0000000
--- a/src/tests/kdc_realm/kdcref.py
+++ /dev/null
@@ -1,335 +0,0 @@
-import os
-import sys
-import time
-from subprocess import Popen, PIPE, STDOUT
-import signal
-import socket
-import errno
-import shutil
-
-
-class LaunchError(Exception):
-    """ Exception class to signal startup error"""
-    pass
-
-class AdminError(Exception):
-    """ Exception class to handle admin errors"""
-    pass
-
-
-class Launcher:
-    
-    def __init__(self, path):
-        self._buildDir = path
-        self._confDir = '%s/tests/kdc_realm/input_conf' %  self._buildDir    
-        confFile ='%s/test_setup.conf' % self._confDir       
-        confParams = self._testSetup(confFile)       
-        self._sandboxDir = '%s/%s' % (self._buildDir,confParams['sandboxDir'])
-        self._sandboxTier1 = '%s/%s' % (self._sandboxDir, 'tier1')
-        self._sandboxTier2 = '%s/%s' % (self._sandboxDir, 'tier2')
-        self._configurations = self._readServerConfiguration('%s/%s' % (self._confDir,confParams['testKDCconf']))
-        self._configurations_1 = self._readServerConfiguration('%s/%s' % (self._confDir,confParams['testKDCconf_1']))
-        self._principals = self._readTestInputs('%s/%s' % (self._confDir,confParams['principals']))
-        os.environ["LD_LIBRARY_PATH"] = '%s/lib' % self._buildDir
-        self._pidRefKDC = 0
-        self._pidMap = dict()
-        self._initialized = False
-        self._tier1Init = False
-        self._tier2Init = False
-        self._vars = {'srcdir': self._buildDir, 
-                      'tier1':self._sandboxTier1, 
-                      'tier2':self._sandboxTier2, 
-                      'localFQDN':socket.getfqdn()}
- 
-    def _launchKDC(self, tierId, args, env):
-        """
-        Launching KDC server
-        """
-        cmd = '%s/kdc/krb5kdc' % self._buildDir
-        handle = Popen([cmd, args], env=env)    
-        time.sleep(1)
-        # make sure that process is running
-        rc = handle.poll()
-        if rc is None:
-            print 'KDC server has been launched: pid=%s, tier=%s' % (handle.pid, tierId)
-            self._pidMap[handle.pid] = 1            
-            return handle.pid
-        else:
-            raise LaunchError, 'Failed to launch kdc server'
-
-
-    def _prepSandbox(self):
-         for tierId in range(1,3):
-            tierdir = '%s/tier%i' % (self._sandboxDir, tierId)
-            if  os.path.exists(tierdir):
-                shutil.rmtree(tierdir)                           
-            os.makedirs(tierdir, 0777)
-                
-
-    def _kill(self, pid = None):
-        """
-         Kill specific process or group saved in pidMap 
-        """
-        if pid is None:
-            target = self._pidMap.keys()
-        else:
-            target = [pid]
-        for p in target:
-            if p in self._pidMap:
-                del self._pidMap[p]
-            try:
-                os.kill(p, signal.SIGKILL)
-            except OSError:
-                pass
-        
-        
-    def _createDB(self, env):
-        """
-        Creating DB
-        """
-        cmd = '%s/kadmin/dbutil/kdb5_util'  % self._buildDir                
-        p = Popen([cmd, 'create', '-s'], env = env, stdin=PIPE, stdout=PIPE, stderr=PIPE)        
-        (out, err) = p.communicate('a\na\n')
-        if p.returncode != 0:
-            err_msg = 'Failed to create DB: %s' % err
-            raise LaunchError, err_msg
-
-        
-    def _launchClient(self, args, env, princType):
-        """
-        kinit & kvno
-        """
-        self._addPrinc(args, env)
-        p = Popen(['kinit', args], env = env, stdin=PIPE, stdout=PIPE, stderr=PIPE)
-        (out, err) = p.communicate('a\n')
-        if int(p.wait()) == 0:
-            self._initialized = True            
-        else:
-            err_msg = 'Failed to kinit client: %s' % err
-            raise AdminError, err_msg      
-
-        # testHost', 'mybox.mit.edu is a srv defined in referral KDC. Get its kvno 
-        cmd = '%s/clients/kvno/kvno' % self._buildDir 
-        if princType == 0:
-             handle = Popen([cmd, '-C', '-S', 'testHost', 'mybox.mit.edu'],
-                            env = env, stdin=PIPE, stdout=PIPE, stderr=PIPE)
-        if princType == 1:
-            handle = Popen([cmd, '-C', '-u', 'testHost/mybox.mit.edu'],                
-                       env = env, stdin=PIPE, stdout=PIPE, stderr=PIPE)
-        (out, err) = handle.communicate()
-        handle.wait()
-        print 'kvno return code: %s' % handle.returncode
-
-        # Cleanup cached info
-        p = Popen(['kdestroy'], env = env, stdin=PIPE, stdout=PIPE, stderr=PIPE)
-        (out, err) = p.communicate()
-        if int(p.wait()) != 0:
-            err_msg = 'Failed to kdestroy cashed tickets: %s' % err
-            raise AdminError, err_msg
-        
-        return handle.returncode
-    
-            
-    def _addPrinc(self, args, env):
-        """
-        Add Principal
-        """     
-        msg = 'addprinc -pw a %s' % args
-        p = Popen(['kadmin.local' ], env = env, stdin=PIPE, stdout=PIPE, stderr=PIPE)
-        (out, err) = p.communicate(msg)
-        if int(p.wait()) != 0:
-            err_msg = 'Failed to add principal %s' % err_msg 
-            raise AdminError, err_msg
-
-        
-    def _crossRealm(self, r_local, r_remote, env):
-        """
-        Croos-realm setup
-        """     
-        msg = 'addprinc  -pw a krbtgt/%s@%s' % (r_remote, r_local)
-        p = Popen(['kadmin.local' ], env = env, stdin=PIPE, stdout=PIPE, stderr=PIPE)
-        (out, err) = p.communicate(msg)
-        if int(p.wait()) != 0:
-            err_msg = 'Failed to set cross-realm: %s' % err
-            raise AdminError, err_msg 
-        
-        msg = 'addprinc  -pw a krbtgt/%s@%s' % (r_local, r_remote)
-        p = Popen(['kadmin.local' ], env = env, stdin=PIPE, stdout=PIPE, stderr=PIPE)
-        (out, err) = p.communicate(msg)
-        if int(p.wait()) != 0:
-            err_msg = 'Failed to set cross-realm: %s' % err
-            raise AdminError, err_msg 
-
-        
-    def _launchRefKDC(self,test_env):
-        """
-        Launch referral KDC 
-        """
-        test_env["KRB5_CONFIG"] = '%s/krb5.conf' % self._sandboxTier1
-        test_env["KRB5_KDC_PROFILE"] = '%s/kdc.conf' % self._sandboxTier1      
-        server_args = '-n'
-        if self._tier1Init == False:
-            # Create adequate to the environment config files         
-            self._createFileFromTemplate('%s' % test_env["KRB5_CONFIG"],
-                        '%s/%s' % (self._confDir,'krb5_ref_template.conf'), 
-                        self._vars)
-            self._createFileFromTemplate('%s' % test_env["KRB5_KDC_PROFILE"],
-                        '%s/%s' % (self._confDir, 'kdc_ref_template.conf'), 
-                        self._vars)
-            
-            # create DB for  KDC to be referred to
-            pid = self._createDB(test_env)
-            
-            # launch KDC to be referred to
-            self._pidRefKDC = self._launchKDC(1, server_args, test_env)
- 
-            # The tests run against 'testHost/mybox.mit.edu' srv. 
-            args = 'testHost/mybox.mit.edu'
-            self._addPrinc(args, test_env)
-            self._crossRealm('Z.COM', 'Y.COM', test_env)
-            self._tier1Init = True
-        
-        
-    def _launchTestingPair(self, srvParam,clntParam, princType):
-        # launch KDC       
-        server_env = os.environ.copy()
-        server_env["KRB5_KDC_PROFILE"] = '%s/kdc.conf' % self._sandboxTier2  
-        server_env["KRB5_CONFIG"] = '%s/krb5_KDC.conf' % self._sandboxTier2       
-        server_args = '-n'
-        self._createFileFromTemplate('%s' % server_env["KRB5_CONFIG"],
-                                     '%s/%s' % (self._confDir,srvParam),
-                                     self._vars)
-        self._createFileFromTemplate('%s' % server_env["KRB5_KDC_PROFILE"],
-                                     '%s/%s' % (self._confDir,'kdc_pri_template.conf'),
-                                     self._vars)
-        if self._tier2Init == False:
-          pid = self._createDB(server_env)
-          self._crossRealm('Y.COM', 'Z.COM', server_env)            
-          self._tier2Init = True
-            
-        server = self._launchKDC( 2, server_args, server_env)
-        
-       # launch client
-        client_env = os.environ.copy()
-        client_env["KRB5_CONFIG"] = '%s/krb5_CL.conf' % self._sandboxTier2    
-        self._createFileFromTemplate('%s' % client_env["KRB5_CONFIG"],
-                        '%s/%s' % (self._confDir, 'krb5_priCL_template.conf'),
-                         self._vars)  
-        client_env["KRB5_KDC_PROFILE"] = server_env["KRB5_KDC_PROFILE"]                    
-        rc = self._launchClient(clntParam, client_env, princType)
-        self._kill(server)
-        return rc
- 
-            
-    def run(self, args):
-        """
-        run the test
-        """
-        test_env = os.environ.copy()
-        test_env["SRCDIR"] = '%s' % self._buildDir
-        
-        # create sandbox file directory if it does not exist
-        self._prepSandbox()
-
-        if self._tier1Init == False:
-            self._launchRefKDC(test_env)
-       
-        result = dict()
-        for princs in self._principals:
-            for conf in self._configurations:                                         
-                rc = self._launchTestingPair( conf['confName'], princs % self._vars, 0)
-                result[conf['confName']] = {'expected':conf['expected'], 'actual':rc}
-                print 'Test code for configuration %s principal %s type KRB5_NT_SRV_HST: %s' % (conf, princs, rc)  
-            self.printTestResults(result)
-            for conf in self._configurations_1:                                         
-                rc = self._launchTestingPair( conf['confName'], princs % self._vars, 1)
-                result[conf['confName']] = {'expected':conf['expected'], 'actual':rc}
-                print 'Test code for configuration %s principal %si type KRB5_NT_UNKNOWN: %s' % (conf, princs, rc)    
-            self.printTestResults(result)
-        return result
-
-
-    def _readTestInputs(self, path):
-        f = open(path, 'r')
-        result = []
-        for line in f:
-            result.append(line.rstrip())
-        f.close()
-        return result
- 
-
-    def _readServerConfiguration(self, path):
-        f = open(path, 'r')
-        result = []
-        for line in f:
-            fields = (line.rstrip()).split(',')
-            result.append({'confName':fields[0],'expected':fields[1]})
-        f.close()
-        return result
-
- 
-    def _testSetup(self, path):
-        print path
-        f = open(path, 'r')
-        result = dict()
-        for line in f:
-            try:
-                (a,v) = line.rstrip().split('=')
-                result[a]=v
-            except:
-                print 'bad format for config file, line: %s' % line
-                return None
-        f.close()
-        return result
-
-    
-    def _createFileFromTemplate(self, outpath, template, vars):
-        fin = open(template, 'r')
-        result = fin.read() % vars
-        fin.close()
-        fout = open(outpath, 'w')
-        fout.write(result)
-        fout.close()
-
-        
-    def _getDNS(self):
-        print socket.getfqdn()
-        
-        
-    def printTestResults(self, testResults):
-        success_count = 0
-        fail_count = 0
-        print '\n'
-        print '------------------- Test Results ------------------------'
-        for (conf_name, result) in testResults.iteritems():
-            if int(result['expected']) == int(result['actual']):
-                print 'Test for configuration %s has succeeded' % conf_name
-                success_count += 1
-            else:
-                print 'Test for configuration %s has failed' % conf_name
-                fail_count += 1
-
-        print '------------------- Summary -----------------------------'
-        print 'Of %i tests %i failed, %i succeeded' % (len(testResults),
-                                                       fail_count,
-                                                       success_count)
-        print '---------------------------------------------------------'
-    
-
-    def clean(self):
-        self._kill()
-
-        
-if __name__ == '__main__':
-    src_path = "%s/.."  % os.environ["PWD"]
-    print "SOURCE PATH ==>" , src_path
-    test = None
-    try:
-        test = Launcher(src_path)
-        result = test.run('main')
-        test.clean()
-        
-    except:
-        if test is not None:
-            test.clean()
-        raise


More information about the cvs-krb5 mailing list