aboutsummaryrefslogtreecommitdiff
path: root/rpki
AgeCommit message (Collapse)Author
2016-02-16Finally builds and installs properly on Ubuntu again;Rob Austein
no serious runtime testing yet. svn path=/branches/tk705/; revision=6262
2016-02-15Add (back) initial migration for rpki.rcynicdb.Rob Austein
svn path=/branches/tk705/; revision=6260
2016-02-09Commit a couple of bugfixes Lachlan Kang found last summer (inRob Austein
research-only code, nothing anyone would use in production) which fell through the cracks somehow. svn path=/branches/tk705/; revision=6243
2016-01-29Whack rcynicng to produce an XML file which rcynic-html can parse:Rob Austein
needs further work, but produces somewhat-useful output now. Start merging command line argument (argparse) and config file (ConfigParser) support into a unified library module, in an attempt to reduce the amount of code duplication and reign in some of the configuration chaos. Trigger for this is all of the RP programs now needing SQL configuration. Whack rpki.rcynicdb.models to work with PostgreSQL, which has length restrictions on indexed columns. svn path=/branches/tk705/; revision=6239
2016-01-26Use new rcynicdb iterator for rpki-rtr generation. May need to reviseRob Austein
command line syntax for "rpki-rtr cronjob" command; the current syntax works, but is unnecessarily confusing. svn path=/branches/tk705/; revision=6237
2016-01-26Add (mostly) backwards-compatible iterator which handles findingRob Austein
authenticated RP data via either os.walk() or Django ORM database traversal. svn path=/branches/tk705/; revision=6236
2016-01-23Remove last vestiges of "__metaclass__ = models.SubfieldBase"Rob Austein
(deprecated in Django 1.9, scheduled to be removed in Django 1.10). svn path=/branches/tk705/; revision=6231
2016-01-23Add multiple-URI TAL support to rcynicng.Rob Austein
Whack CA tools with a club until rcynicng works with our CA RRDP implementation. Add makemigrations target to top-level Makefile; this is a bit of a kludge, but sure beats doing this by hand. svn path=/branches/tk705/; revision=6230
2016-01-15RRDP seems to work now, at least with RIPE's implementation.Rob Austein
svn path=/branches/tk705/; revision=6224
2016-01-13Checkpoint of first cut at RRDP client code. RRDP client code not yetRob Austein
tested, and final_cleanup() needs work to avoid trashing RRDP state. svn path=/branches/tk705/; revision=6222
2016-01-11Add (preliminary) database cleanup code.Rob Austein
svn path=/branches/tk705/; revision=6221
2016-01-11Add rcynic-dump as a blunt instrument to let existing file-basedRob Austein
programs use rcynicng's output. Long term, such programs should read the database instead, but being able to diff directory trees is useful while testing. svn path=/branches/tk705/; revision=6220
2016-01-10First apparently-working version of rcynicng using database instead ofRob Austein
disk files. rcynic.xml output looks reasonable. Don't yet have any other tools which know how to walk the result database, so can't (yet) compare results with rcynic. Does not yet do any cleanup of old data, so will eventually consume all disk space in the universe until this is fixed. svn path=/branches/tk705/; revision=6219
2016-01-08Start converting rcynicng to use a database.Rob Austein
svn path=/branches/tk705/; revision=6218
2015-12-07Move validation callback to Python.Rob Austein
svn path=/branches/tk705/; revision=6210
2015-12-06Clean up RPKI conformance checking of X.509v3 extensions and elliptic curve ↵Rob Austein
keys. svn path=/branches/tk705/; revision=6209
2015-12-06Fix rcynicng directory rotation code. Checkpoint along the way toRob Austein
cleanup of POW.c RPKI conformance checking code. svn path=/branches/tk705/; revision=6208
2015-11-29rcynicng caught a bug in rpkid! Router certificates are forbiddenRob Austein
from having SIA extensions, unlike all other RPKI certificates which are required to have them. Start moving RPKI conformance checks which can be performed in Python out of POW.c, tag a bunch more for consideration. svn path=/branches/tk705/; revision=6204
2015-11-28Rework StatusCodeDB.normalize(). Apparently order of set operationsRob Austein
matters more when object has a __str__() method. svn path=/branches/tk705/; revision=6199
2015-11-23first pass on XML output. Incomplete, but enough to get a usefulRob Austein
summary from rcynic-text. svn path=/branches/tk705/; revision=6187
2015-11-23Sort out swamp of multiple generations of manifests and picking best CRL.Rob Austein
svn path=/branches/tk705/; revision=6186
2015-11-22Convert certificate tree walking code to use new tasking model.Rob Austein
Get full rsync code working, history cache and all. svn path=/branches/tk705/; revision=6184
2015-11-20Simple function to add back symbolic names and error strings forRob Austein
OpenSSL certificate verification errors. svn path=/branches/tk705/; revision=6181
2015-11-18Move StatusCode out of POW.c. New API still needs work, but thisRob Austein
makes the C code considerably simpler. svn path=/branches/tk705/; revision=6180
2015-11-16X509Store class removed. X.509 verification moved fromRob Austein
X509Store.verify() to X509.verify(). Result seems to run properly with trivial modification to existing Python BPKI code. RPKI extended validation via this interface (the real point of this exercise) still not tested. svn path=/branches/tk705/; revision=6176
2015-11-16Checkpoint. Basic merge of rcynic.c detailed RPKI checks merged intoRob Austein
POW.c, still totally untested. X.509 certificate validation is in a transitional state, currently spiced with awful kludges so that we're still doing the right thing cryptographically, albeit in a completely disgusting way as far as the API is concerned. Serious cleanup needed, but wanted to get a post-merge version with CMS and X.509 working again after the merge into the repository for backup. svn path=/branches/tk705/; revision=6175
2015-11-14Comment nit.Rob Austein
svn path=/branches/tk705/; revision=6173
2015-11-13Clean up more gratuitous unused magic CRL autoregeneration.Rob Austein
Regenerate EE certificates along with everything else when activating a new CADetail (ie, when rolling a CA key). svn path=/branches/tk705/; revision=6172
2015-11-12Clean up silly automatic-CRL-and-MFT-regeneration-except-when-its-notRob Austein
hacks: in practice, we always bypassed it (except when we forgot...). Make sure we revoke and withdraw the old certs and objects for ROAs and Ghostbusters rather than the new ones during forced reissue. svn path=/branches/tk705/; revision=6171
2015-11-12Add .__repr__() methods to rpkidb models. RewriteRob Austein
.publish_world_now() to something a little less whacky. Consolidate fix for singleton URIs in SIA fields. svn path=/branches/tk705/; revision=6170
2015-11-12More useful log messages on PDU handling exceptions.Rob Austein
Tweak publication callback mechanism to use uri instead of tag. svn path=/branches/tk705/; revision=6169
2015-11-11Clean up yet another screwball constructor. Other minor cleanup.Rob Austein
svn path=/branches/tk705/; revision=6168
2015-11-11Oops, forgot to commit migration for latest schema change.Rob Austein
svn path=/branches/tk705/; revision=6167
2015-11-11Further simplify CRL and manifest code.Rob Austein
svn path=/branches/tk705/; revision=6166
2015-11-11Refactor a few of the ridiculously long rpkidb model methods intoRob Austein
rpkid_task code. Combine and simplify CRL and manifest generation. svn path=/branches/tk705/; revision=6164
2015-11-11regenRob Austein
svn path=/branches/tk705/; revision=6163
2015-11-11Configure pylint to use the pylint-django plugin, which (mostly)Rob Austein
understands Django's exotic metaclasses, which in turn allows us to re-enable a number of pylint checks we had disabled. While we were at this, stripped out a bunch of old pylint pragmas, then added back the subset that were really needed. As usual with pylint, this turned up a few real bugs along with an awful lot of noise. svn path=/branches/tk705/; revision=6162
2015-11-10Use a lock to serialize rpkid tasks. Add temporary trace callRob Austein
sequence trace code to rpki.rpkidb.models to assist in simplifying some of the gratuitously complicated method call chains. Various trivial PyLint cleanups. svn path=/branches/tk705/; revision=6161
2015-11-04Checkpoint some preliminary work along the way to doing full low-levelRob Austein
RPKI validation in POW.c. So far this is mostly notes and the support for the status code mechanism. svn path=/branches/tk705/; revision=6158
2015-10-28Now working with PostgreSQL.Rob Austein
svn path=/branches/tk705/; revision=6157
2015-10-27Reenable vile MySQL "latin1" workaround for now.Rob Austein
svn path=/branches/tk705/; revision=6156
2015-10-27Reimplement rpki.gui.models.IPAddressField as a subclass of CharFieldRob Austein
for portability. With this change, the GUI appears to work with SQLite3. svn path=/branches/tk705/; revision=6155
2015-10-26Whack a few things stale imports and Django 1.6-isms to get GUIRob Austein
running with new code base. Now working with $ yamltest.py --sql mysql --gui smoketest.1.yaml svn path=/branches/tk705/; revision=6153
2015-10-26"Any programmer who fails to comply with the standard naming, formatting,Rob Austein
or commenting conventions should be shot. If it so happens that it is inconvenient to shoot him, then he is to be politely requested to recode his program in adherence to the above standard." -- Michael Spier, Digital Equipment Corporation svn path=/branches/tk705/; revision=6152
2015-10-26Unbound variable in postgresql configuration.Rob Austein
postgresql sort of works with the core daemons and rpkic, well enough to generate RPKI objects if one hand configures it, but one can't even run migrations for the GUI, due to a few non-portable SQL data types, and migrations from earlier version of the IRDB have similar problems. svn path=/branches/tk705/; revision=6151
2015-10-25All SKI operations on issued certificates are really g(SKI)Rob Austein
operations, so simplify code and schema by removing gratuitous transformations to and from binary format. svn path=/branches/tk705/; revision=6150
2015-10-25Tweak binary field types to get SQLite3 working as a Django ORMRob Austein
backend. Switch yamltest's default database configuration to sqlite3. MySQL still has character set issues, which are almost certainly to do with the communication channel rather than the database tables. It's possible that one of the newer DB API drivers for MySQL fixes this, might be worth trying one of them at some point (see the "MySQL notes" discussion of MySQL DB API drivers in the Django documentation). svn path=/branches/tk705/; revision=6149
2015-10-25Use a weakref dictionary to hold the HTTP client serializationRob Austein
database, so the garbage collector can clean it up automatically. svn path=/branches/tk705/; revision=6148
2015-10-25Make SQL engine configurable. Works for MySQL, not yet tested for anything ↵Rob Austein
else. svn path=/branches/tk705/; revision=6147
2015-10-25Force MySQL characterset to Latin1 to suppress constant whining aboutRob Austein
incorrectly coded UTF-8 in BLOB fields holding ASN.1 DER data. This is wrong in so many ways that I don't even know where to start, but, bottom line, forcing Latin1 here is just making MySQL 5.6+ revert to the behavior in MySQL 5.5. This is just a workaround. The real solution is probably to switch to an SQL engine that's not quite such a kludge tower. svn path=/branches/tk705/; revision=6146