Classes | Functions | Variables

Package rpki.myrpki

Classes

class  CA
class  child
class  children
class  comma_set
class  csv_reader
class  csv_writer
class  EntityDB
class  main
class  parent
class  parents
class  repositories
class  repository
class  roa_request
class  roa_requests

Functions

def b64_equal
def etree_post_read
def etree_pre_write
def etree_read
def etree_validate
def etree_write
def PEMElement

Variables

 allow_incomplete = False
string namespace = "http://www.hactrn.net/uris/rpki/myrpki/"
string namespaceQName = "{"
string version = "2"
 whine = False

Detailed Description

This (oversized) module used to be an (oversized) program.
Refactoring in progress, some doc still needs updating.


This program is now the merger of three different tools: the old
myrpki.py script, the old myirbe.py script, and the newer setup.py CLI
tool.  As such, it is still in need of some cleanup, but the need to
provide a saner user interface is more urgent than internal code
prettiness at the moment.  In the long run, 90% of the code in this
file probably ought to move to well-designed library modules.

Overall goal here is to build up the configuration necessary to run
rpkid and friends, by reading a config file, a collection of .CSV
files, and the results of a few out-of-band XML setup messages
exchanged with one's parents, children, and so forth.

The config file is in an OpenSSL-compatible format, the CSV files are
simple tab-delimited text.  The XML files are all generated by this
program, either the local instance or an instance being run by another
player in the system; the mechanism used to exchange these setup
messages is outside the scope of this program, feel free to use
PGP-signed mail, a web interface (not provided), USB stick, carrier
pigeons, whatever works.

With one exception, the commands in this program avoid using any
third-party Python code other than the rpki libraries themselves; with
the same one exception, all OpenSSL work is done with the OpenSSL
command line tool (the one built as a side effect of building rcynic
will do, if your platform has no system copy or the system copy is too
old).  This is all done in an attempt to make the code more portable,
so one can run most of the RPKI back end software on a laptop or
whatever.  The one exception is the configure_daemons command, which
must, of necessity, use the same communication libraries as the
daemons with which it is conversing.  So that one command will not
work if the correct Python modules are not available.


$Id: myrpki.py 3457 2010-10-04 20:59:17Z sra $

Copyright (C) 2009--2010  Internet Systems Consortium ("ISC")

Permission to use, copy, modify, and distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.

Function Documentation

def rpki.myrpki.b64_equal (   thing1,
  thing2 
)
Compare two Base64-encoded values for equality.

Definition at line 869 of file myrpki.py.

def rpki.myrpki.etree_post_read (   e,
  validate = True 
)
Do the namespace frobbing needed on read; broken out of etree_read()
beause also needed by ElementFromString().

Definition at line 855 of file myrpki.py.

def rpki.myrpki.etree_pre_write (   e,
  validate = True 
)
Do the namespace frobbing needed on write; broken out of
etree_write() because also needed with ElementToString().

Definition at line 830 of file myrpki.py.

def rpki.myrpki.etree_read (   filename,
  verbose = False,
  validate = True 
)
Read an etree from a file, verifying then stripping XML namespace
cruft.

Definition at line 845 of file myrpki.py.

def rpki.myrpki.etree_validate (   e  ) 

Definition at line 794 of file myrpki.py.

def rpki.myrpki.etree_write (   e,
  filename,
  verbose = False,
  validate = True,
  msg = None 
)
Write out an etree to a file, safely.

I still miss SYSCAL(RENMWO).

Definition at line 811 of file myrpki.py.

def rpki.myrpki.PEMElement (   e,
  tag,
  filename,
  kwargs 
)
Create an XML element containing Base64 encoded data taken from a
PEM file.

Definition at line 540 of file myrpki.py.


Variable Documentation

Definition at line 80 of file myrpki.py.

string rpki::myrpki.namespace = "http://www.hactrn.net/uris/rpki/myrpki/"

Definition at line 74 of file myrpki.py.

Definition at line 76 of file myrpki.py.

string rpki::myrpki.version = "2"

Definition at line 75 of file myrpki.py.

Definition at line 84 of file myrpki.py.

 All Classes Namespaces Files Functions Variables