rpki.left_right.route_origin_elt Class Reference

Inherits rpki::left_right::data_elt.

Inherited by irbe_cli.route_origin_elt.

List of all members.

Public Member Functions

def ca_detail
def ee_uri
def ee_uri_tail
def generate_roa
def regenerate_roa
def roa_uri
def roa_uri_tail
def serve_post_save_hook
def sql_delete_hook
def sql_fetch_hook
def sql_insert_hook
def startElement
def update_roa
def withdraw_roa

Public Attributes

 asn
 ipv4
 ipv6

Static Public Attributes

tuple attributes = ("action", "tag", "self_handle", "route_origin_handle", "asn", "ipv4", "ipv6")
 XML attributes for this element.
tuple booleans = ("suppress_publication",)
 Boolean attributes (value "yes" or "no") for this element.
 ca_detail_id = None
 cert = None
string element_name = "route_origin"
tuple handles = (("self", self_elt),)
 publish_ee_separately = False
 Whether to publish the ROA EE certificate separately from the ROA.
 roa = None
tuple sql_template


Detailed Description

<route_origin/> element.

Definition at line 813 of file left_right.py.


Member Function Documentation

def rpki.left_right.route_origin_elt.ca_detail (   self  ) 

Fetch all ca_detail objects that link to this route_origin object.

Definition at line 870 of file left_right.py.

def rpki.left_right.route_origin_elt.ee_uri (   self  ) 

Return the publication URI for this route_origin's ROA's EE certificate.

Definition at line 1079 of file left_right.py.

def rpki.left_right.route_origin_elt.ee_uri_tail (   self  ) 

Return the tail (filename) portion of the URI for this route_origin's ROA's EE certificate.

Definition at line 1075 of file left_right.py.

def rpki.left_right.route_origin_elt.generate_roa (   self,
  callback,
  errback 
)

Generate a ROA based on this <route_origin/> object.

At present this does not support ROAs with multiple signatures
(neither does the current CMS code).

At present we have no way of performing a direct lookup from a
desired set of resources to a covering certificate, so we have to
search.  This could be quite slow if we have a lot of active
ca_detail objects.  Punt on the issue for now, revisit if
profiling shows this as a hotspot.

Once we have the right covering certificate, we generate the ROA
payload, generate a new EE certificate, use the EE certificate to
sign the ROA payload, publish the result, then throw away the
private key for the EE cert, all per the ROA specification.  This
implies that generating a lot of ROAs will tend to thrash
/dev/random, but there is not much we can do about that.

Definition at line 938 of file left_right.py.

def rpki.left_right.route_origin_elt.regenerate_roa (   self,
  callback,
  errback 
)

Reissue ROA associated with this route_origin.

Definition at line 1058 of file left_right.py.

def rpki.left_right.route_origin_elt.roa_uri (   self,
  key = None 
)

Return the publication URI for this route_origin's ROA.

Definition at line 1067 of file left_right.py.

def rpki.left_right.route_origin_elt.roa_uri_tail (   self,
  key = None 
)

Return the tail (filename portion) of the publication URI for this route_origin's ROA.

Definition at line 1071 of file left_right.py.

def rpki.left_right.route_origin_elt.serve_post_save_hook (   self,
  q_pdu,
  r_pdu,
  cb,
  eb 
)

Extra server actions for route_origin_elt.

Reimplemented from rpki.xml_utils.data_elt.

Definition at line 874 of file left_right.py.

def rpki.left_right.route_origin_elt.sql_delete_hook (   self  ) 

Extra SQL delete actions for route_origin_elt -- handle prefix lists.

Reimplemented from rpki.sql.sql_persistent.

Definition at line 864 of file left_right.py.

def rpki.left_right.route_origin_elt.sql_fetch_hook (   self  ) 

Extra SQL fetch actions for route_origin_elt -- handle prefix lists.

Reimplemented from rpki.sql.sql_persistent.

Definition at line 836 of file left_right.py.

def rpki.left_right.route_origin_elt.sql_insert_hook (   self  ) 

Extra SQL insert actions for route_origin_elt -- handle prefix lists.

Reimplemented from rpki.sql.sql_persistent.

Definition at line 850 of file left_right.py.

def rpki.left_right.route_origin_elt.startElement (   self,
  stack,
  name,
  attrs 
)

Handle <route_origin/> element.  This requires special processing
due to the data types of some of the attributes.

Reimplemented from rpki.xml_utils.base_elt.

Definition at line 881 of file left_right.py.

def rpki.left_right.route_origin_elt.update_roa (   self,
  callback 
)

Bring this route_origin's ROA up to date if necesssary.

Definition at line 895 of file left_right.py.

def rpki.left_right.route_origin_elt.withdraw_roa (   self,
  callback,
  errback,
  regenerate = False 
)

Withdraw ROA associated with this route_origin.

In order to preserve make-before-break properties without
duplicating code, this method also handles generating a
replacement ROA when requested.

Definition at line 1016 of file left_right.py.


Member Data Documentation

Reimplemented in irbe_cli.route_origin_elt.

Definition at line 889 of file left_right.py.

tuple rpki.left_right.route_origin_elt.attributes = ("action", "tag", "self_handle", "route_origin_handle", "asn", "ipv4", "ipv6") [static]

XML attributes for this element.

Reimplemented from rpki.xml_utils.base_elt.

Definition at line 819 of file left_right.py.

tuple rpki.left_right.route_origin_elt.booleans = ("suppress_publication",) [static]

Boolean attributes (value "yes" or "no") for this element.

Reimplemented from rpki.xml_utils.base_elt.

Definition at line 820 of file left_right.py.

Definition at line 828 of file left_right.py.

Definition at line 829 of file left_right.py.

string rpki.left_right.route_origin_elt.element_name = "route_origin" [static]

Definition at line 818 of file left_right.py.

tuple rpki.left_right.route_origin_elt.handles = (("self", self_elt),) [static]

Reimplemented from rpki.left_right.data_elt.

Definition at line 826 of file left_right.py.

Reimplemented in irbe_cli.route_origin_elt.

Definition at line 891 of file left_right.py.

Reimplemented in irbe_cli.route_origin_elt.

Definition at line 893 of file left_right.py.

Whether to publish the ROA EE certificate separately from the ROA.

Definition at line 834 of file left_right.py.

Definition at line 830 of file left_right.py.

Initial value:

rpki.sql.template("route_origin", "route_origin_id", "route_origin_handle",
                                   "ca_detail_id", "self_id", "asn",
                                   ("roa", rpki.x509.ROA),
                                   ("cert", rpki.x509.X509))

Definition at line 822 of file left_right.py.


The documentation for this class was generated from the following file:

Generated on Tue Jun 9 20:21:33 2009 for RPKI Engine by  doxygen 1.5.8