diff options
author | Rob Austein <sra@hactrn.net> | 2011-09-16 04:06:59 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2011-09-16 04:06:59 +0000 |
commit | 4aed3981059fd4cb281a0813520e13844dd30007 (patch) | |
tree | 489af3ea42821a1c2c970e39baf954070cd0c51d /rtr-origin | |
parent | 77b435ad4ac5e991f8208335c15195b6a7338d37 (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-x | rtr-origin/rtr-origin.py | 16 |
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) |