Bug 459699 - stop running certutil at build time, make developers run it when adding new SSL domains to server-locations.txt; r=ted.mielczarek
authorHonza Bambas <honzab@allpeers.com>
Tue, 21 Oct 2008 17:50:38 +0200
changeset 20724 2e2025e49c84763702246014308583edb3ba0301
parent 20723 bec75aa6c73ae58156e136dbc66c2538070b1804
child 20725 771466eccb99ccf27632270c4c53365af8ac2bc7
push idunknown
push userunknown
push dateunknown
reviewersted.mielczarek
bugs459699
milestone1.9.1b2pre
Bug 459699 - stop running certutil at build time, make developers run it when adding new SSL domains to server-locations.txt; r=ted.mielczarek
build/pgo/Makefile.in
build/pgo/certs/Makefile.in
build/pgo/certs/bug413909cert.server
build/pgo/certs/cert8.db
build/pgo/certs/key3.db
build/pgo/certs/secmod.db
build/pgo/genpgocert.py.in
testing/mochitest/Makefile.in
--- a/build/pgo/Makefile.in
+++ b/build/pgo/Makefile.in
@@ -126,10 +126,10 @@ profileserver.py: profileserver.py.in
 	$(PYTHON) $(topsrcdir)/config/Preprocessor.py $^ > $@
 	chmod +x $@
 
 GARBAGE += automation.py profileserver.py genpgocert.py
 
 libs:: $(_PGO_FILES)
 	$(INSTALL) $^ $(_PROFILE_DIR)
 
-tools::
+genservercert::
 	$(PYTHON) $(DEPTH)/_profile/pgo/genpgocert.py --gen-server
--- a/build/pgo/certs/Makefile.in
+++ b/build/pgo/certs/Makefile.in
@@ -41,26 +41,24 @@ topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 _PROFILE_DIR = $(DEPTH)/_profile/pgo
 _CERTS_DIR = $(_PROFILE_DIR)/certs
 
-# Extension of files must be '.server'
-_SERVER_CERTS = \
-    bug413909cert.server \
-    $(NULL)
-  
 # Extension of files must be '.ca'
 _CERT_AUTHORITIES = \
     pgoca.ca \
     $(NULL)
 
 _SERV_FILES = \
     pgoca.p12 \
+    cert8.db \
+    key3.db \
+    secmod.db \
     $(NULL)
 
 include $(topsrcdir)/config/rules.mk
 
-libs:: $(_SERV_FILES) $(_SERVER_CERTS) $(_CERT_AUTHORITIES)
+libs:: $(_SERV_FILES) $(_CERT_AUTHORITIES)
 	$(INSTALL) $^ $(_CERTS_DIR)
deleted file mode 100644
index 87e4bf53c284809d43aabd971ac6b6fe719626a6..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..f932a32b5558d5882fb80c6063b0ee06492e7ee9
GIT binary patch
literal 65536
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
f0000000000000000000000000000000NnX6B<QCL
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..be32cd6bf0ba25e2c2896e045f499d7213100069
GIT binary patch
literal 24576
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
E0Y=Xep#T5?
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..a3341f767ce01ccdc4a54adf64e82f9ef6b0c2f1
GIT binary patch
literal 16384
zc%1Fp!Ab)$5C-6BEv1N7FWy7~9&&5wRaiV!P$^2WzQA^qme4dQyIatLkKx_d@ZhO$
z;4A2BNbNR@?Sgo%l>dV;nHiYu<{YXXg+x>)s=N~&F1EBsR3g8qmT$^=+*!tD%h#Um
z(+AN{UZxGGl{RrI000000000000000006-MQK8R+S^c#>t((Q#^w$6Y00000z!s_!
zqo7ccg>3iExs<h3oF=s25H?AoVNW-tF<E!5nGKp3-hj9BVZL~L+wHPzo2uA`hIQJl
zE<0^D*^QGEqZa+Q$l1OgNF4`Uo{5p0YGXoibt#fK61|BwQj7;qMA>PaWuX(RzJ3Te
zXG8V4N)i=~oD8^+4cX(YZ^A(mu*q14sahVv^Q2Xn<7@5pX}+Z8YJcyB%3i1>iuE|v
h&So9|SpTJTp55iiZx{X7?|;n!00000003ayeFI%eUN8Uv
--- a/build/pgo/genpgocert.py.in
+++ b/build/pgo/genpgocert.py.in
@@ -34,16 +34,17 @@
 # the provisions above, a recipient may use your version of this file under
 # the terms of any one of the MPL, the GPL or the LGPL.
 #
 # ***** END LICENSE BLOCK *****
 
 import automation
 import os
 import re
+import shutil
 import sys
 
 #expand DIST_BIN = "./" + __XPC_BIN_PATH__
 #expand BIN_SUFFIX = __BIN_SUFFIX__
 #expand CERTS_DIR = __CERTS_DIR__
 #expand CERTS_SRC_DIR = __CERTS_SRC_DIR__
 
 dbFiles = [
@@ -53,17 +54,32 @@ dbFiles = [
 ]
 
 def unlinkDbFiles(path):
   for root, dirs, files in os.walk(path):
     for name in files:
       for dbFile in dbFiles:
         if dbFile.match(name) and os.path.exists(os.path.join(root, name)):
           os.unlink(os.path.join(root, name))
-  
+
+def dbFilesExist(path):
+  for root, dirs, files in os.walk(path):
+    for name in files:
+      for dbFile in dbFiles:
+        if dbFile.match(name) and os.path.exists(os.path.join(root, name)):
+          return True
+  return False
+
+def installDbFiles(path, dest):
+  for root, dirs, files in os.walk(path):
+    for name in files:
+      for dbFile in dbFiles:
+        if dbFile.match(name):
+          shutil.copy(os.path.join(root, name), os.path.join(dest, name))
+
 
 def runUtil(util, args, inputdata = None):
   proc = automation.Process(util, args, automation.environment(), inputdata)
   return proc.wait()
 
 
 def createRandomFile(randomFile):
   import random
@@ -114,38 +130,41 @@ def createCertificateAuthority(dbDir, sr
     
   unlinkDbFiles(tempDbDir)
   os.unlink(pwfilePath)
   os.unlink(rndfilePath)
   os.rmdir(tempDbDir)
   return 0
 
 
-def createSSLServerCertificate(dbDir):
+def createSSLServerCertificate(dbDir, srcDir):
   certutil = DIST_BIN + "/certutil" + BIN_SUFFIX
   pk12util = DIST_BIN + "/pk12util" + BIN_SUFFIX
 
   pwfilePath = os.path.join(dbDir, ".crtdbpw")
   rndfilePath = os.path.join(dbDir, ".rndfile")
   pgoCAPath = os.path.join(dbDir, "pgoca.p12")
   
   pwfile = open(pwfilePath, "w")
   pwfile.write("\n")
   pwfile.close()
 
   unlinkDbFiles(dbDir)
 
-  # Create certification database for ssltunnel
-  status = runUtil(certutil, ["-N", "-d", dbDir, "-f", pwfilePath])
-  if status != 0:
-    return status
-
-  status = runUtil(pk12util, ["-i", pgoCAPath, "-w", pwfilePath, "-d", dbDir, "-k", pwfilePath])
-  if status != 0:
-    return status
+  if not dbFilesExist(srcDir):
+    unlinkDbFiles(srcDir)
+    
+    # Create certification database for ssltunnel
+    status = runUtil(certutil, ["-N", "-d", srcDir, "-f", pwfilePath])
+    if status != 0:
+      return status
+  
+    status = runUtil(pk12util, ["-i", pgoCAPath, "-w", pwfilePath, "-d", srcDir, "-k", pwfilePath])
+    if status != 0:
+      return status
 
   # Generate automatic certificate
   locations = automation.readLocations(os.path.join(dbDir, "../server-locations.txt"))
   locations.pop(0)
   locationsParam = ""
   firstLocation = ""
   for loc in locations:
     if loc.scheme == "https" and "nocert" not in loc.options:
@@ -164,38 +183,36 @@ def createSSLServerCertificate(dbDir):
         
         if firstLocation == "":
           firstLocation = loc.host
       
   if firstLocation == "":
     print "Nothing to generate, no automatic secure hosts specified"
   else:
     createRandomFile(rndfilePath);
-    status = runUtil(certutil, ["-S", "-s", "CN=%s" % firstLocation, "-t", "Pu,,", "-c", "pgo temporary ca", "-m", "2", "-8", locationsParam, "-v", "12", "-n", "pgo server certificate", "-d", dbDir, "-z", rndfilePath, "-f", pwfilePath])
+    
+    runUtil(certutil, ["-D", "-n", "pgo server certificate", "-d", srcDir, "-z", rndfilePath, "-f", pwfilePath])
+    # Ignore the result, the certificate may not be present when new database is being built
+    
+    status = runUtil(certutil, ["-S", "-s", "CN=%s" % firstLocation, "-t", "Pu,,", "-c", "pgo temporary ca", "-m", "2", "-8", locationsParam, "-v", "12", "-n", "pgo server certificate", "-d", srcDir, "-z", rndfilePath, "-f", pwfilePath])
     if status != 0:
       return status
     
-  # Walk the cert directory and add what necessary
-  files = os.listdir(CERTS_DIR)
-  for item in files:
-    root, ext = os.path.splitext(item)
-    if ext == ".server":
-      runUtil(pk12util, ["-i", os.path.join(CERTS_DIR, item), "-d", dbDir, "-k", pwfilePath, "-w", pwfilePath])
-            
+  installDbFiles(srcDir, dbDir)
   os.unlink(pwfilePath)
   os.unlink(rndfilePath)
   return 0
 
 
 if len(sys.argv) == 1:
   print "Specify --gen-server or --gen-ca"
   sys.exit(1)
 
 if sys.argv[1] == "--gen-server":
-  certificateStatus = createSSLServerCertificate(CERTS_DIR)
+  certificateStatus = createSSLServerCertificate(CERTS_DIR, CERTS_SRC_DIR)
   if certificateStatus != 0:
     print "ERROR FAIL: SSL Server Certificate generation"
   
   sys.exit(certificateStatus)
   
 if sys.argv[1] == "--gen-ca":
   certificateStatus = createCertificateAuthority(CERTS_DIR, CERTS_SRC_DIR)
   if certificateStatus != 0:
--- a/testing/mochitest/Makefile.in
+++ b/testing/mochitest/Makefile.in
@@ -133,11 +133,8 @@ runtests.py: runtests.py.in
 automation.py: $(topsrcdir)/build/pgo/automation.py.in
 	$(PYTHON) $(topsrcdir)/config/Preprocessor.py \
 	$(TEST_DRIVER_PPARGS) $(DEFINES) $(ACDEFINES) $^ > $@
 
 GARBAGE += runtests.py automation.py
 
 libs:: $(_SERV_FILES)
 	$(INSTALL) $^ $(_DEST_DIR)
-
-libs::
-	$(PYTHON) $(DEPTH)/_profile/pgo/genpgocert.py --gen-server