aboutsummaryrefslogtreecommitdiff
path: root/rpki/exceptions.py
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2014-04-05 22:42:12 +0000
committerRob Austein <sra@hactrn.net>2014-04-05 22:42:12 +0000
commitfe0bf509f528dbdc50c7182f81057c6a4e15e4bd (patch)
tree07c9a923d4a0ccdfea11c49cd284f6d5757c5eda /rpki/exceptions.py
parentaa28ef54c271fbe4d52860ff8cf13cab19e2207c (diff)
Source tree reorg, phase 1. Almost everything moved, no file contents changed.
svn path=/branches/tk685/; revision=5757
Diffstat (limited to 'rpki/exceptions.py')
-rw-r--r--rpki/exceptions.py367
1 files changed, 367 insertions, 0 deletions
diff --git a/rpki/exceptions.py b/rpki/exceptions.py
new file mode 100644
index 00000000..d8d3774e
--- /dev/null
+++ b/rpki/exceptions.py
@@ -0,0 +1,367 @@
+# $Id$
+#
+# Copyright (C) 2014 Dragon Research Labs ("DRL")
+# Portions copyright (C) 2009--2013 Internet Systems Consortium ("ISC")
+# Portions copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN")
+#
+# Permission to use, copy, modify, and distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notices and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND DRL, ISC, AND ARIN DISCLAIM ALL
+# WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DRL,
+# ISC, OR ARIN 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.
+
+"""
+Exception definitions for RPKI modules.
+"""
+
+class RPKI_Exception(Exception):
+ """
+ Base class for RPKI exceptions.
+ """
+
+class NotInDatabase(RPKI_Exception):
+ """
+ Lookup failed for an object expected to be in the database.
+ """
+
+class BadURISyntax(RPKI_Exception):
+ """
+ Illegal syntax for a URI.
+ """
+
+class BadStatusCode(RPKI_Exception):
+ """
+ Unrecognized protocol status code.
+ """
+
+class BadQuery(RPKI_Exception):
+ """
+ Unexpected protocol query.
+ """
+
+class DBConsistancyError(RPKI_Exception):
+ """
+ Found multiple matches for a database query that shouldn't ever
+ return that.
+ """
+
+class CMSVerificationFailed(RPKI_Exception):
+ """
+ Verification of a CMS message failed.
+ """
+
+class HTTPRequestFailed(RPKI_Exception):
+ """
+ HTTP request failed.
+ """
+
+class DERObjectConversionError(RPKI_Exception):
+ """
+ Error trying to convert a DER-based object from one representation
+ to another.
+ """
+
+class NotACertificateChain(RPKI_Exception):
+ """
+ Certificates don't form a proper chain.
+ """
+
+class BadContactURL(RPKI_Exception):
+ """
+ Error trying to parse contact URL.
+ """
+
+class BadClassNameSyntax(RPKI_Exception):
+ """
+ Illegal syntax for a class_name.
+ """
+
+class BadIssueResponse(RPKI_Exception):
+ """
+ issue_response PDU with wrong number of classes or certificates.
+ """
+
+class NotImplementedYet(RPKI_Exception):
+ """
+ Internal error -- not implemented yet.
+ """
+
+class BadPKCS10(RPKI_Exception):
+ """
+ Bad PKCS #10 object.
+ """
+
+class UpstreamError(RPKI_Exception):
+ """
+ Received an error from upstream.
+ """
+
+class ChildNotFound(RPKI_Exception):
+ """
+ Could not find specified child in database.
+ """
+
+class BSCNotFound(RPKI_Exception):
+ """
+ Could not find specified BSC in database.
+ """
+
+class BadSender(RPKI_Exception):
+ """
+ Unexpected XML sender value.
+ """
+
+class ClassNameMismatch(RPKI_Exception):
+ """
+ class_name does not match child context.
+ """
+
+class ClassNameUnknown(RPKI_Exception):
+ """
+ Unknown class_name.
+ """
+
+class SKIMismatch(RPKI_Exception):
+ """
+ SKI value in response does not match request.
+ """
+
+class SubprocessError(RPKI_Exception):
+ """
+ Subprocess returned unexpected error.
+ """
+
+class BadIRDBReply(RPKI_Exception):
+ """
+ Unexpected reply to IRDB query.
+ """
+
+class NotFound(RPKI_Exception):
+ """
+ Object not found in database.
+ """
+
+class MustBePrefix(RPKI_Exception):
+ """
+ Resource range cannot be expressed as a prefix.
+ """
+
+class TLSValidationError(RPKI_Exception):
+ """
+ TLS certificate validation error.
+ """
+
+class MultipleTLSEECert(TLSValidationError):
+ """
+ Received more than one TLS EE certificate.
+ """
+
+class ReceivedTLSCACert(TLSValidationError):
+ """
+ Received CA certificate via TLS.
+ """
+
+class WrongEContentType(RPKI_Exception):
+ """
+ Received wrong CMS eContentType.
+ """
+
+class EmptyPEM(RPKI_Exception):
+ """
+ Couldn't find PEM block to convert.
+ """
+
+class UnexpectedCMSCerts(RPKI_Exception):
+ """
+ Received CMS certs when not expecting any.
+ """
+
+class UnexpectedCMSCRLs(RPKI_Exception):
+ """
+ Received CMS CRLs when not expecting any.
+ """
+
+class MissingCMSEEcert(RPKI_Exception):
+ """
+ Didn't receive CMS EE cert when expecting one.
+ """
+
+class MissingCMSCRL(RPKI_Exception):
+ """
+ Didn't receive CMS CRL when expecting one.
+ """
+
+class UnparsableCMSDER(RPKI_Exception):
+ """
+ Alleged CMS DER wasn't parsable.
+ """
+
+class CMSCRLNotSet(RPKI_Exception):
+ """
+ CMS CRL has not been configured.
+ """
+
+class ServerShuttingDown(RPKI_Exception):
+ """
+ Server is shutting down.
+ """
+
+class NoActiveCA(RPKI_Exception):
+ """
+ No active ca_detail for specified class.
+ """
+
+class BadClientURL(RPKI_Exception):
+ """
+ URL given to HTTP client does not match profile.
+ """
+
+class ClientNotFound(RPKI_Exception):
+ """
+ Could not find specified client in database.
+ """
+
+class BadExtension(RPKI_Exception):
+ """
+ Forbidden X.509 extension.
+ """
+
+class ForbiddenURI(RPKI_Exception):
+ """
+ Forbidden URI, does not start with correct base URI.
+ """
+
+class HTTPClientAborted(RPKI_Exception):
+ """
+ HTTP client connection closed while in request-sent state.
+ """
+
+class BadPublicationReply(RPKI_Exception):
+ """
+ Unexpected reply to publication query.
+ """
+
+class DuplicateObject(RPKI_Exception):
+ """
+ Attempt to create an object that already exists.
+ """
+
+class EmptyROAPrefixList(RPKI_Exception):
+ """
+ Can't create ROA with an empty prefix list.
+ """
+
+class NoCoveringCertForROA(RPKI_Exception):
+ """
+ Couldn't find a covering certificate to generate ROA.
+ """
+
+class BSCNotReady(RPKI_Exception):
+ """
+ BSC not yet in a usable state, signing_cert not set.
+ """
+
+class HTTPUnexpectedState(RPKI_Exception):
+ """
+ HTTP event occurred in an unexpected state.
+ """
+
+class HTTPBadVersion(RPKI_Exception):
+ """
+ HTTP couldn't parse HTTP version.
+ """
+
+class HandleTranslationError(RPKI_Exception):
+ """
+ Internal error translating protocol handle -> SQL id.
+ """
+
+class NoObjectAtURI(RPKI_Exception):
+ """
+ No object published at specified URI.
+ """
+
+class CMSContentNotSet(RPKI_Exception):
+ """
+ Inner content of a CMS_object has not been set. If object is known
+ to be valid, the .extract() method should be able to set the
+ content; otherwise, only the .verify() method (which checks
+ signatures) is safe.
+ """
+
+class HTTPTimeout(RPKI_Exception):
+ """
+ HTTP connection timed out.
+ """
+
+class BadIPResource(RPKI_Exception):
+ """
+ Parse failure for alleged IP resource string.
+ """
+
+class BadROAPrefix(RPKI_Exception):
+ """
+ Parse failure for alleged ROA prefix string.
+ """
+
+class CommandParseFailure(RPKI_Exception):
+ """
+ Failed to parse command line.
+ """
+
+class CMSCertHasExpired(RPKI_Exception):
+ """
+ CMS certificate has expired.
+ """
+
+class TrustedCMSCertHasExpired(RPKI_Exception):
+ """
+ Trusted CMS certificate has expired.
+ """
+
+class MultipleCMSEECert(RPKI_Exception):
+ """
+ Can't have more than one CMS EE certificate in validation chain.
+ """
+
+class ResourceOverlap(RPKI_Exception):
+ """
+ Overlapping resources in resource_set.
+ """
+
+class CMSReplay(RPKI_Exception):
+ """
+ Possible CMS replay attack detected.
+ """
+
+class PastNotAfter(RPKI_Exception):
+ """
+ Requested notAfter value is already in the past.
+ """
+
+class NullValidityInterval(RPKI_Exception):
+ """
+ Requested validity interval is null.
+ """
+
+class BadX510DN(RPKI_Exception):
+ """
+ X.510 distinguished name does not match profile.
+ """
+
+class BadAutonomousSystemNumber(RPKI_Exception):
+ """
+ Bad AutonomousSystem number.
+ """
+
+class WrongEKU(RPKI_Exception):
+ """
+ Extended Key Usage extension does not match profile.
+ """