aboutsummaryrefslogtreecommitdiff
path: root/rtr-origin
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2011-09-16 04:06:59 +0000
committerRob Austein <sra@hactrn.net>2011-09-16 04:06:59 +0000
commit4aed3981059fd4cb281a0813520e13844dd30007 (patch)
tree489af3ea42821a1c2c970e39baf954070cd0c51d /rtr-origin
parent77b435ad4ac5e991f8208335c15195b6a7338d37 (diff)
Rework separation between fatal and non-fatal rpki-rtr error codes.
svn path=/rtr-origin/rtr-origin.py; revision=3989
Diffstat (limited to 'rtr-origin')
-rwxr-xr-xrtr-origin/rtr-origin.py16
1 files changed, 10 insertions, 6 deletions
diff --git a/rtr-origin/rtr-origin.py b/rtr-origin/rtr-origin.py
index eb9dff38..b18314ce 100755
--- a/rtr-origin/rtr-origin.py
+++ b/rtr-origin/rtr-origin.py
@@ -593,25 +593,29 @@ class error_report(pdu):
header_struct = struct.Struct("!BBHL")
string_struct = struct.Struct("!L")
- msgs = {
+ errors = {
+ 2 : "No Data Available" }
+
+ fatal = {
0 : "Corrupt Data",
1 : "Internal Error",
- 2 : "No Data Available",
3 : "Invalid Request",
4 : "Unsupported Protocol Version",
5 : "Unsupported PDU Type",
6 : "Withdrawal of Unknown Record",
7 : "Duplicate Announcement Received" }
- fatal = (0, 1, 3, 4, 5, 6, 7)
+ assert set(errors).isdisjoint(set(fatal))
+
+ errors.update(fatal)
- codes = dict((v, k) for k, v in msgs.items())
+ codes = dict((v, k) for k, v in errors.items())
def __init__(self, errno = None, errpdu = None, errmsg = None):
- assert errno is None or errno in self.msgs
+ assert errno is None or errno in self.errors
self.errno = errno
self.errpdu = errpdu
- self.errmsg = errmsg if errmsg is not None or errno is None else self.msgs[errno]
+ self.errmsg = errmsg if errmsg is not None or errno is None else self.errors[errno]
def __str__(self):
return "[%s, error #%s: %r]" % (self.__class__.__name__, self.errno, self.errmsg)