diff options
author | Rob Austein <sra@hactrn.net> | 2009-08-24 19:09:24 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2009-08-24 19:09:24 +0000 |
commit | 825d1d2d870ba1d7b5375c366aacb5066c3caf5d (patch) | |
tree | 8d38b4b3a2223576e26a73a26b752e560d8baa8a | |
parent | 37c6205c7062f394fc7063acfba257bb19f782cc (diff) |
Checkpoint
svn path=/myrpki/myirbe.py; revision=2700
-rw-r--r-- | myrpki/myirbe.py | 3 | ||||
-rw-r--r-- | myrpki/myrpki.py | 25 | ||||
-rw-r--r-- | myrpki/schema.rnc | 1 | ||||
-rw-r--r-- | myrpki/yamltest.py | 6 |
4 files changed, 24 insertions, 11 deletions
diff --git a/myrpki/myirbe.py b/myrpki/myirbe.py index 582c3453..b7689d3f 100644 --- a/myrpki/myirbe.py +++ b/myrpki/myirbe.py @@ -357,7 +357,8 @@ for xmlfile in xmlfiles: # whom this <self/> has a relationship. In practice there is rarely # (never?) a good reason for a single <self/> to use multiple # publication services, so in normal use we only need one - # <repository/> object. + # <repository/> object. If for some reason you really need more + # than this, you'll have to hack. repository_cert = findbase64(tree, "bpki_repository_certificate") if repository_cert: diff --git a/myrpki/myrpki.py b/myrpki/myrpki.py index b1a41b01..7ab6aa8c 100644 --- a/myrpki/myrpki.py +++ b/myrpki/myrpki.py @@ -239,19 +239,22 @@ class parent(object): self.bpki_cms_certificate = None self.bpki_https_certificate = None self.myhandle = None + self.sia_base = None def __repr__(self): - return "<%s handle %s myhandle %s uri %s cms %s https %s>" % (self.__class__.__name__, + return "<%s handle %s myhandle %s uri %s sia %s cms %s https %s>" % (self.__class__.__name__, self.handle, self.myhandle, self.service_uri, + self.sia_base, self.bpki_cms_certificate, self.bpki_https_certificate) def add(self, service_uri = None, bpki_cms_certificate = None, bpki_https_certificate = None, - myhandle = None): + myhandle = None, + sia_base = None): """ Add service URI or BPKI certificates to this parent object. """ @@ -263,6 +266,8 @@ class parent(object): self.bpki_https_certificate = bpki_https_certificate if myhandle is not None: self.myhandle = myhandle + if sia_base is not None: + self.sia_base = sia_base def xml(self, e): """ @@ -271,7 +276,8 @@ class parent(object): e2 = SubElement(e, "parent", handle = self.handle, myhandle = self.myhandle, - service_uri = self.service_uri) + service_uri = self.service_uri, + sia_base = self.sia_base) if self.bpki_cms_certificate: PEMElement(e2, "bpki_cms_certificate", self.bpki_cms_certificate) if self.bpki_https_certificate: @@ -287,7 +293,8 @@ class parents(dict): service_uri = None, bpki_cms_certificate = None, bpki_https_certificate = None, - myhandle = None): + myhandle = None, + sia_base = None): """ Add service URI or certificates to parent object, creating it if necessary. """ @@ -296,7 +303,8 @@ class parents(dict): self[handle].add(service_uri = service_uri, bpki_cms_certificate = bpki_cms_certificate, bpki_https_certificate = bpki_https_certificate, - myhandle = myhandle) + myhandle = myhandle, + sia_base = sia_base) def xml(self, e): for c in self.itervalues(): @@ -308,13 +316,14 @@ class parents(dict): Parse parent data from CSV file. """ self = cls() - # parentname service_uri parent_bpki_cms_pemfile parent_bpki_https_pemfile - for handle, service_uri, parent_cms_pemfile, parent_https_pemfile, myhandle in csv_open(parents_csv_file): + # parentname service_uri parent_bpki_cms_pemfile parent_bpki_https_pemfile myhandle sia_base + for handle, service_uri, parent_cms_pemfile, parent_https_pemfile, myhandle, sia_base in csv_open(parents_csv_file): self.add(handle = handle, service_uri = service_uri, bpki_cms_certificate = xcert(parent_cms_pemfile), bpki_https_certificate = xcert(parent_https_pemfile), - myhandle = myhandle) + myhandle = myhandle, + sia_base = sia_base) return self def csv_open(filename): diff --git a/myrpki/schema.rnc b/myrpki/schema.rnc index d19b2023..57a8ebab 100644 --- a/myrpki/schema.rnc +++ b/myrpki/schema.rnc @@ -46,6 +46,7 @@ parent_elt = element parent { attribute handle { object_handle }, attribute service_uri { uri }?, attribute myhandle { object_handle }?, + attribute sia_base { uri }?, element bpki_cms_certificate { base64 }?, element bpki_https_certificate { base64 }? } diff --git a/myrpki/yamltest.py b/myrpki/yamltest.py index 1bc6b57c..e36d4342 100644 --- a/myrpki/yamltest.py +++ b/myrpki/yamltest.py @@ -326,14 +326,16 @@ class allocation(object): "https://localhost:%d/" % self.rootd_port, self.path("bpki.rootd/ca.cer"), self.path("bpki.rootd/ca.cer"), - self.name)) + self.name, + self.sia_base)) else: parent_host = self.parent.hosted_by if self.parent.is_hosted() else self.parent self.csvout(fn).writerow((self.parent.name, self.up_down_url(), self.parent.path("bpki.myrpki/ca.cer"), parent_host.path("bpki.rpkid/ca.cer"), - self.name)) + self.name, + self.sia_base)) def dump_prefixes(self, fn): """ |