aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2015-10-08 02:17:47 +0000
committerRob Austein <sra@hactrn.net>2015-10-08 02:17:47 +0000
commit9aa4f71e89de9e9189571c68ba1589024f77d71a (patch)
tree3be02352f5ca4b3816b44246c294ddfa7c176e05
parent3284d6687e0712cb78536be126d461833899e618 (diff)
Initial sorta-mostly-working with Django 1.8. Incredibly noisy due to
incomprehensible advance depreciation warnings for Django 1.9. svn path=/branches/tk705/; revision=6100
-rwxr-xr-xca/rpki-manage2
-rw-r--r--ca/tests/yamlconf.py7
-rw-r--r--ca/tests/yamltest.py27
-rw-r--r--rpki/django_settings/common.py7
-rw-r--r--rpki/django_settings/irdb.py4
-rw-r--r--rpki/django_settings/pubd.py4
-rw-r--r--rpki/django_settings/rpkid.py4
-rw-r--r--rpki/fields.py10
-rw-r--r--rpki/gui/app/models.py3
-rw-r--r--rpki/gui/app/south_migrations/0001_initial.py (renamed from rpki/gui/app/migrations/0001_initial.py)0
-rw-r--r--rpki/gui/app/south_migrations/0002_auto__add_field_resourcecert_conf.py (renamed from rpki/gui/app/migrations/0002_auto__add_field_resourcecert_conf.py)0
-rw-r--r--rpki/gui/app/south_migrations/0003_set_conf_from_parent.py (renamed from rpki/gui/app/migrations/0003_set_conf_from_parent.py)0
-rw-r--r--rpki/gui/app/south_migrations/0004_auto__chg_field_resourcecert_conf.py (renamed from rpki/gui/app/migrations/0004_auto__chg_field_resourcecert_conf.py)0
-rw-r--r--rpki/gui/app/south_migrations/0005_auto__chg_field_resourcecert_parent.py (renamed from rpki/gui/app/migrations/0005_auto__chg_field_resourcecert_parent.py)0
-rw-r--r--rpki/gui/app/south_migrations/0006_add_conf_acl.py (renamed from rpki/gui/app/migrations/0006_add_conf_acl.py)0
-rw-r--r--rpki/gui/app/south_migrations/0007_default_acls.py (renamed from rpki/gui/app/migrations/0007_default_acls.py)0
-rw-r--r--rpki/gui/app/south_migrations/0008_add_alerts.py (renamed from rpki/gui/app/migrations/0008_add_alerts.py)0
-rw-r--r--rpki/gui/app/south_migrations/__init__.py0
-rw-r--r--rpki/gui/models.py9
-rw-r--r--rpki/irdb/migrations/0001_initial.py968
-rw-r--r--rpki/irdb/models.py17
-rw-r--r--rpki/irdbd.py28
-rw-r--r--rpki/pubd.py3
-rw-r--r--rpki/pubdb/migrations/0001_initial.py186
-rw-r--r--rpki/rpkic.py13
25 files changed, 499 insertions, 793 deletions
diff --git a/ca/rpki-manage b/ca/rpki-manage
index b478549e..16d0990d 100755
--- a/ca/rpki-manage
+++ b/ca/rpki-manage
@@ -8,7 +8,7 @@ import os
if os.environ.get("LANG") in (None, "", "C"):
os.environ["LANG"] = "en_US.UTF-8"
-os.environ.setdefault(DJANGO_SETTINGS_MODULE = "rpki.django_settings.gui")
+os.environ.setdefault("DJANGO_SETTINGS_MODULE", "rpki.django_settings.gui")
from django.core.management import execute_from_command_line
diff --git a/ca/tests/yamlconf.py b/ca/tests/yamlconf.py
index 4c003835..13456377 100644
--- a/ca/tests/yamlconf.py
+++ b/ca/tests/yamlconf.py
@@ -778,12 +778,15 @@ def body():
databases["default"] = databases[db.root.irdb_name]
+ import django
+ django.setup()
+
from django.conf import settings
settings.configure(
- DATABASES = databases,
+ DATABASES = databases,
DATABASE_ROUTERS = ["rpki.irdb.router.DBContextRouter"],
- INSTALLED_APPS = ("rpki.irdb", "south"))
+ INSTALLED_APPS = ["rpki.irdb"])
import rpki.irdb
diff --git a/ca/tests/yamltest.py b/ca/tests/yamltest.py
index 308884a9..8c5e41b9 100644
--- a/ca/tests/yamltest.py
+++ b/ca/tests/yamltest.py
@@ -580,7 +580,7 @@ class allocation(object):
# easier than figuring out how to change Django settings after
# initialization.
- def sync_app(app, verbosity = 1):
+ def sync_settings(settings, verbosity = 1):
if verbosity > 0:
print "Running Django setup for", self.name
@@ -588,23 +588,30 @@ class allocation(object):
pid = os.fork()
if pid == 0:
- os.environ.update(RPKI_CONF = self.path("rpki.conf"),
- DJANGO_SETTINGS_MODULE = "rpki.django_settings." + app)
logging.getLogger().setLevel(logging.WARNING)
+
+ os.environ.update(RPKI_CONF = self.path("rpki.conf"),
+ DJANGO_SETTINGS_MODULE = "rpki.django_settings." + settings)
+
+ import django
+ django.setup()
+
import django.core.management
- django.core.management.call_command("syncdb", migrate = True, verbosity = verbosity,
+ #django.core.management.call_command("syncdb", migrate = True, verbosity = verbosity, load_initial_data = False, interactive = False)
+ django.core.management.call_command("migrate", verbosity = verbosity,
load_initial_data = False, interactive = False)
- if app in ("gui", "irdb"):
+
+ if settings in ("gui", "irdb"):
from django.contrib.auth.models import User
User.objects.create_superuser("root", "root@example.org", "fnord")
+
sys.exit(0)
- else:
- if os.waitpid(pid, 0)[1]:
- raise RuntimeError("Django setup failed for %s %s" % (self.name, app))
+ elif os.waitpid(pid, 0)[1]:
+ raise RuntimeError("Django setup failed for %s %s" % (self.name, settings))
- for app in ("rpkid", "pubd", "gui"):
- sync_app(app)
+ for settings in ("rpkid", "pubd", "gui"):
+ sync_settings(settings)
def run_python_daemon(self, prog):
"""
diff --git a/rpki/django_settings/common.py b/rpki/django_settings/common.py
index 330ab165..a1d54c71 100644
--- a/rpki/django_settings/common.py
+++ b/rpki/django_settings/common.py
@@ -56,11 +56,10 @@ if os.getenv("RPKI_DJANGO_DEBUG") == "yes":
# fragile, tedious to use, and generally more complex than we need,
# because any given program is only going to be using one database.
-# Figure out which apps we're running. Modules that import this add
-# others. "south" will go away when we upgrade to Django 1.7+, at
-# which point we may leave this entirely for the importing modules.
-INSTALLED_APPS = ["south"]
+# Apps are also handled by the modules that import this one, now that
+# we don't require South.
+
# That would be it if we just need the ORM, but Django throws a hissy
# fit if SECRET_KEY isn't set, whether we use it for anything or not.
diff --git a/rpki/django_settings/irdb.py b/rpki/django_settings/irdb.py
index 8a33e674..7749b9d6 100644
--- a/rpki/django_settings/irdb.py
+++ b/rpki/django_settings/irdb.py
@@ -34,9 +34,9 @@ DATABASES = dict(
USER = cfg.get("sql-username", section = "irdbd"),
PASSWORD = cfg.get("sql-password", section = "irdbd")))
-# Apps. See comment in .common re the "south" app.
+# Apps.
-INSTALLED_APPS.append("rpki.irdb")
+INSTALLED_APPS = ["rpki.irdb"]
# Allow local site to override any setting above -- but if there's
diff --git a/rpki/django_settings/pubd.py b/rpki/django_settings/pubd.py
index 80618652..6f1fe06b 100644
--- a/rpki/django_settings/pubd.py
+++ b/rpki/django_settings/pubd.py
@@ -33,9 +33,9 @@ DATABASES = dict(
PASSWORD = cfg.get("sql-password", section = "pubd")))
-# Apps -- see comment in .common re "south" app.
+# Apps.
-INSTALLED_APPS.append("rpki.pubdb")
+INSTALLED_APPS = ["rpki.pubdb"]
# Allow local site to override any setting above -- but if there's
diff --git a/rpki/django_settings/rpkid.py b/rpki/django_settings/rpkid.py
index 64938647..e3abb0eb 100644
--- a/rpki/django_settings/rpkid.py
+++ b/rpki/django_settings/rpkid.py
@@ -33,9 +33,9 @@ DATABASES = dict(
PASSWORD = cfg.get("sql-password", section = "rpkid")))
-# Apps -- see .common re "south" app.
+# Apps.
-INSTALLED_APPS.append("rpki.rpkidb")
+INSTALLED_APPS = ["rpki.rpkidb"]
# Allow local site to override any setting above -- but if there's
diff --git a/rpki/fields.py b/rpki/fields.py
index 1ca6c893..dab6ce14 100644
--- a/rpki/fields.py
+++ b/rpki/fields.py
@@ -27,7 +27,6 @@ the DER and thus would add no value.
import logging
from django.db import models
-from south.modelsinspector import add_introspection_rules
import rpki.x509
import rpki.sundial
@@ -185,12 +184,3 @@ class ROAField(DERField):
class GhostbusterField(DERField):
description = "Ghostbuster Record"
rpki_type = rpki.x509.Ghostbuster
-
-
-field_classes = (EnumField, SundialField, BlobField, CertificateField, KeyField,
- CRLField, PKCS10Field, ManifestField, ROAField, GhostbusterField)
-
-add_introspection_rules([(field_classes, [], {})],
- [r"^rpki\.fields\." + cls.__name__ for cls in field_classes])
-
-del field_classes
diff --git a/rpki/gui/app/models.py b/rpki/gui/app/models.py
index 40bdbe2c..c49e6d43 100644
--- a/rpki/gui/app/models.py
+++ b/rpki/gui/app/models.py
@@ -26,7 +26,6 @@ import rpki.irdb.models
import rpki.gui.models
import rpki.gui.routeview.models
import rpki.oids
-from south.modelsinspector import add_introspection_rules
class TelephoneField(models.CharField):
@@ -35,7 +34,7 @@ class TelephoneField(models.CharField):
kwargs['max_length'] = 40
models.CharField.__init__(self, **kwargs)
-add_introspection_rules([], [r'^rpki\.gui\.app\.models\.TelephoneField'])
+
class Parent(rpki.irdb.models.Parent):
diff --git a/rpki/gui/app/migrations/0001_initial.py b/rpki/gui/app/south_migrations/0001_initial.py
index 80877901..80877901 100644
--- a/rpki/gui/app/migrations/0001_initial.py
+++ b/rpki/gui/app/south_migrations/0001_initial.py
diff --git a/rpki/gui/app/migrations/0002_auto__add_field_resourcecert_conf.py b/rpki/gui/app/south_migrations/0002_auto__add_field_resourcecert_conf.py
index d3326f90..d3326f90 100644
--- a/rpki/gui/app/migrations/0002_auto__add_field_resourcecert_conf.py
+++ b/rpki/gui/app/south_migrations/0002_auto__add_field_resourcecert_conf.py
diff --git a/rpki/gui/app/migrations/0003_set_conf_from_parent.py b/rpki/gui/app/south_migrations/0003_set_conf_from_parent.py
index a90a11cc..a90a11cc 100644
--- a/rpki/gui/app/migrations/0003_set_conf_from_parent.py
+++ b/rpki/gui/app/south_migrations/0003_set_conf_from_parent.py
diff --git a/rpki/gui/app/migrations/0004_auto__chg_field_resourcecert_conf.py b/rpki/gui/app/south_migrations/0004_auto__chg_field_resourcecert_conf.py
index a236ad4a..a236ad4a 100644
--- a/rpki/gui/app/migrations/0004_auto__chg_field_resourcecert_conf.py
+++ b/rpki/gui/app/south_migrations/0004_auto__chg_field_resourcecert_conf.py
diff --git a/rpki/gui/app/migrations/0005_auto__chg_field_resourcecert_parent.py b/rpki/gui/app/south_migrations/0005_auto__chg_field_resourcecert_parent.py
index 11e9c814..11e9c814 100644
--- a/rpki/gui/app/migrations/0005_auto__chg_field_resourcecert_parent.py
+++ b/rpki/gui/app/south_migrations/0005_auto__chg_field_resourcecert_parent.py
diff --git a/rpki/gui/app/migrations/0006_add_conf_acl.py b/rpki/gui/app/south_migrations/0006_add_conf_acl.py
index 88fe8171..88fe8171 100644
--- a/rpki/gui/app/migrations/0006_add_conf_acl.py
+++ b/rpki/gui/app/south_migrations/0006_add_conf_acl.py
diff --git a/rpki/gui/app/migrations/0007_default_acls.py b/rpki/gui/app/south_migrations/0007_default_acls.py
index 40656d0f..40656d0f 100644
--- a/rpki/gui/app/migrations/0007_default_acls.py
+++ b/rpki/gui/app/south_migrations/0007_default_acls.py
diff --git a/rpki/gui/app/migrations/0008_add_alerts.py b/rpki/gui/app/south_migrations/0008_add_alerts.py
index 77af68d2..77af68d2 100644
--- a/rpki/gui/app/migrations/0008_add_alerts.py
+++ b/rpki/gui/app/south_migrations/0008_add_alerts.py
diff --git a/rpki/gui/app/south_migrations/__init__.py b/rpki/gui/app/south_migrations/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/rpki/gui/app/south_migrations/__init__.py
diff --git a/rpki/gui/models.py b/rpki/gui/models.py
index 62400d2a..ced14926 100644
--- a/rpki/gui/models.py
+++ b/rpki/gui/models.py
@@ -22,7 +22,6 @@ from django.db import models
import rpki.resource_set
import rpki.POW
-from south.modelsinspector import add_introspection_rules
class IPv6AddressField(models.Field):
@@ -63,14 +62,6 @@ class IPv4AddressField(models.Field):
def get_db_prep_value(self, value, connection, prepared):
return long(value)
-add_introspection_rules(
- [
- ([IPv4AddressField, IPv6AddressField], [], {})
- ],
- [r'^rpki\.gui\.models\.IPv4AddressField',
- r'^rpki\.gui\.models\.IPv6AddressField']
-)
-
class Prefix(models.Model):
"""Common implementation for models with an IP address range.
diff --git a/rpki/irdb/migrations/0001_initial.py b/rpki/irdb/migrations/0001_initial.py
index bc0b9743..d10b62d3 100644
--- a/rpki/irdb/migrations/0001_initial.py
+++ b/rpki/irdb/migrations/0001_initial.py
@@ -1,595 +1,375 @@
# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
- def forwards(self, orm):
- # Adding model 'ServerCA'
- db.create_table(u'irdb_serverca', (
- (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('certificate', self.gf('rpki.fields.CertificateField')(default=None, blank=True)),
- ('private_key', self.gf('rpki.fields.KeyField')(default=None, blank=True)),
- ('latest_crl', self.gf('rpki.fields.CRLField')(default=None, blank=True)),
- ('next_serial', self.gf('django.db.models.fields.BigIntegerField')(default=1)),
- ('next_crl_number', self.gf('django.db.models.fields.BigIntegerField')(default=1)),
- ('last_crl_update', self.gf('rpki.fields.SundialField')()),
- ('next_crl_update', self.gf('rpki.fields.SundialField')()),
- ))
- db.send_create_signal(u'irdb', ['ServerCA'])
-
- # Adding model 'ResourceHolderCA'
- db.create_table(u'irdb_resourceholderca', (
- (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('certificate', self.gf('rpki.fields.CertificateField')(default=None, blank=True)),
- ('private_key', self.gf('rpki.fields.KeyField')(default=None, blank=True)),
- ('latest_crl', self.gf('rpki.fields.CRLField')(default=None, blank=True)),
- ('next_serial', self.gf('django.db.models.fields.BigIntegerField')(default=1)),
- ('next_crl_number', self.gf('django.db.models.fields.BigIntegerField')(default=1)),
- ('last_crl_update', self.gf('rpki.fields.SundialField')()),
- ('next_crl_update', self.gf('rpki.fields.SundialField')()),
- ('handle', self.gf('rpki.irdb.models.HandleField')(unique=True, max_length=120)),
- ))
- db.send_create_signal(u'irdb', ['ResourceHolderCA'])
-
- # Adding model 'HostedCA'
- db.create_table(u'irdb_hostedca', (
- (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('certificate', self.gf('rpki.fields.CertificateField')(default=None, blank=True)),
- ('issuer', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['irdb.ServerCA'])),
- ('hosted', self.gf('django.db.models.fields.related.OneToOneField')(related_name='hosted_by', unique=True, to=orm['irdb.ResourceHolderCA'])),
- ))
- db.send_create_signal(u'irdb', ['HostedCA'])
-
- # Adding unique constraint on 'HostedCA', fields ['issuer', 'hosted']
- db.create_unique(u'irdb_hostedca', ['issuer_id', 'hosted_id'])
-
- # Adding model 'ServerRevocation'
- db.create_table(u'irdb_serverrevocation', (
- (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('serial', self.gf('django.db.models.fields.BigIntegerField')()),
- ('revoked', self.gf('rpki.fields.SundialField')()),
- ('expires', self.gf('rpki.fields.SundialField')()),
- ('issuer', self.gf('django.db.models.fields.related.ForeignKey')(related_name='revocations', to=orm['irdb.ServerCA'])),
- ))
- db.send_create_signal(u'irdb', ['ServerRevocation'])
-
- # Adding unique constraint on 'ServerRevocation', fields ['issuer', 'serial']
- db.create_unique(u'irdb_serverrevocation', ['issuer_id', 'serial'])
-
- # Adding model 'ResourceHolderRevocation'
- db.create_table(u'irdb_resourceholderrevocation', (
- (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('serial', self.gf('django.db.models.fields.BigIntegerField')()),
- ('revoked', self.gf('rpki.fields.SundialField')()),
- ('expires', self.gf('rpki.fields.SundialField')()),
- ('issuer', self.gf('django.db.models.fields.related.ForeignKey')(related_name='revocations', to=orm['irdb.ResourceHolderCA'])),
- ))
- db.send_create_signal(u'irdb', ['ResourceHolderRevocation'])
-
- # Adding unique constraint on 'ResourceHolderRevocation', fields ['issuer', 'serial']
- db.create_unique(u'irdb_resourceholderrevocation', ['issuer_id', 'serial'])
-
- # Adding model 'ServerEE'
- db.create_table(u'irdb_serveree', (
- (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('certificate', self.gf('rpki.fields.CertificateField')(default=None, blank=True)),
- ('private_key', self.gf('rpki.fields.KeyField')(default=None, blank=True)),
- ('issuer', self.gf('django.db.models.fields.related.ForeignKey')(related_name='ee_certificates', to=orm['irdb.ServerCA'])),
- ('purpose', self.gf('rpki.fields.EnumField')()),
- ))
- db.send_create_signal(u'irdb', ['ServerEE'])
-
- # Adding unique constraint on 'ServerEE', fields ['issuer', 'purpose']
- db.create_unique(u'irdb_serveree', ['issuer_id', 'purpose'])
-
- # Adding model 'Referral'
- db.create_table(u'irdb_referral', (
- (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('certificate', self.gf('rpki.fields.CertificateField')(default=None, blank=True)),
- ('private_key', self.gf('rpki.fields.KeyField')(default=None, blank=True)),
- ('issuer', self.gf('django.db.models.fields.related.OneToOneField')(related_name='referral_certificate', unique=True, to=orm['irdb.ResourceHolderCA'])),
- ))
- db.send_create_signal(u'irdb', ['Referral'])
-
- # Adding model 'Turtle'
- db.create_table(u'irdb_turtle', (
- (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('service_uri', self.gf('django.db.models.fields.CharField')(max_length=255)),
- ))
- db.send_create_signal(u'irdb', ['Turtle'])
-
- # Adding model 'Rootd'
- db.create_table(u'irdb_rootd', (
- (u'turtle_ptr', self.gf('django.db.models.fields.related.OneToOneField')(to=orm['irdb.Turtle'], unique=True, primary_key=True)),
- ('certificate', self.gf('rpki.fields.CertificateField')(default=None, blank=True)),
- ('private_key', self.gf('rpki.fields.KeyField')(default=None, blank=True)),
- ('issuer', self.gf('django.db.models.fields.related.OneToOneField')(related_name='rootd', unique=True, to=orm['irdb.ResourceHolderCA'])),
- ))
- db.send_create_signal(u'irdb', ['Rootd'])
-
- # Adding model 'BSC'
- db.create_table(u'irdb_bsc', (
- (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('certificate', self.gf('rpki.fields.CertificateField')(default=None, blank=True)),
- ('issuer', self.gf('django.db.models.fields.related.ForeignKey')(related_name='bscs', to=orm['irdb.ResourceHolderCA'])),
- ('handle', self.gf('rpki.irdb.models.HandleField')(max_length=120)),
- ('pkcs10', self.gf('rpki.fields.PKCS10Field')(default=None, blank=True)),
- ))
- db.send_create_signal(u'irdb', ['BSC'])
-
- # Adding unique constraint on 'BSC', fields ['issuer', 'handle']
- db.create_unique(u'irdb_bsc', ['issuer_id', 'handle'])
-
- # Adding model 'Child'
- db.create_table(u'irdb_child', (
- (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('certificate', self.gf('rpki.fields.CertificateField')(default=None, blank=True)),
- ('handle', self.gf('rpki.irdb.models.HandleField')(max_length=120)),
- ('ta', self.gf('rpki.fields.CertificateField')(default=None, blank=True)),
- ('valid_until', self.gf('rpki.fields.SundialField')()),
- ('issuer', self.gf('django.db.models.fields.related.ForeignKey')(related_name='children', to=orm['irdb.ResourceHolderCA'])),
- ('name', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
- ))
- db.send_create_signal(u'irdb', ['Child'])
-
- # Adding unique constraint on 'Child', fields ['issuer', 'handle']
- db.create_unique(u'irdb_child', ['issuer_id', 'handle'])
-
- # Adding model 'ChildASN'
- db.create_table(u'irdb_childasn', (
- (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('start_as', self.gf('django.db.models.fields.BigIntegerField')()),
- ('end_as', self.gf('django.db.models.fields.BigIntegerField')()),
- ('child', self.gf('django.db.models.fields.related.ForeignKey')(related_name='asns', to=orm['irdb.Child'])),
- ))
- db.send_create_signal(u'irdb', ['ChildASN'])
-
- # Adding unique constraint on 'ChildASN', fields ['child', 'start_as', 'end_as']
- db.create_unique(u'irdb_childasn', ['child_id', 'start_as', 'end_as'])
-
- # Adding model 'ChildNet'
- db.create_table(u'irdb_childnet', (
- (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('start_ip', self.gf('django.db.models.fields.CharField')(max_length=40)),
- ('end_ip', self.gf('django.db.models.fields.CharField')(max_length=40)),
- ('version', self.gf('rpki.fields.EnumField')()),
- ('child', self.gf('django.db.models.fields.related.ForeignKey')(related_name='address_ranges', to=orm['irdb.Child'])),
- ))
- db.send_create_signal(u'irdb', ['ChildNet'])
-
- # Adding unique constraint on 'ChildNet', fields ['child', 'start_ip', 'end_ip', 'version']
- db.create_unique(u'irdb_childnet', ['child_id', 'start_ip', 'end_ip', 'version'])
-
- # Adding model 'Parent'
- db.create_table(u'irdb_parent', (
- (u'turtle_ptr', self.gf('django.db.models.fields.related.OneToOneField')(to=orm['irdb.Turtle'], unique=True, primary_key=True)),
- ('certificate', self.gf('rpki.fields.CertificateField')(default=None, blank=True)),
- ('handle', self.gf('rpki.irdb.models.HandleField')(max_length=120)),
- ('ta', self.gf('rpki.fields.CertificateField')(default=None, blank=True)),
- ('issuer', self.gf('django.db.models.fields.related.ForeignKey')(related_name='parents', to=orm['irdb.ResourceHolderCA'])),
- ('parent_handle', self.gf('rpki.irdb.models.HandleField')(max_length=120)),
- ('child_handle', self.gf('rpki.irdb.models.HandleField')(max_length=120)),
- ('repository_type', self.gf('rpki.fields.EnumField')()),
- ('referrer', self.gf('rpki.irdb.models.HandleField')(max_length=120, null=True, blank=True)),
- ('referral_authorization', self.gf('rpki.irdb.models.SignedReferralField')(default=None, null=True, blank=True)),
- ))
- db.send_create_signal(u'irdb', ['Parent'])
-
- # Adding unique constraint on 'Parent', fields ['issuer', 'handle']
- db.create_unique(u'irdb_parent', ['issuer_id', 'handle'])
-
- # Adding model 'ROARequest'
- db.create_table(u'irdb_roarequest', (
- (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('issuer', self.gf('django.db.models.fields.related.ForeignKey')(related_name='roa_requests', to=orm['irdb.ResourceHolderCA'])),
- ('asn', self.gf('django.db.models.fields.BigIntegerField')()),
- ))
- db.send_create_signal(u'irdb', ['ROARequest'])
-
- # Adding model 'ROARequestPrefix'
- db.create_table(u'irdb_roarequestprefix', (
- (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('roa_request', self.gf('django.db.models.fields.related.ForeignKey')(related_name='prefixes', to=orm['irdb.ROARequest'])),
- ('version', self.gf('rpki.fields.EnumField')()),
- ('prefix', self.gf('django.db.models.fields.CharField')(max_length=40)),
- ('prefixlen', self.gf('django.db.models.fields.PositiveSmallIntegerField')()),
- ('max_prefixlen', self.gf('django.db.models.fields.PositiveSmallIntegerField')()),
- ))
- db.send_create_signal(u'irdb', ['ROARequestPrefix'])
-
- # Adding unique constraint on 'ROARequestPrefix', fields ['roa_request', 'version', 'prefix', 'prefixlen', 'max_prefixlen']
- db.create_unique(u'irdb_roarequestprefix', ['roa_request_id', 'version', 'prefix', 'prefixlen', 'max_prefixlen'])
-
- # Adding model 'GhostbusterRequest'
- db.create_table(u'irdb_ghostbusterrequest', (
- (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('issuer', self.gf('django.db.models.fields.related.ForeignKey')(related_name='ghostbuster_requests', to=orm['irdb.ResourceHolderCA'])),
- ('parent', self.gf('django.db.models.fields.related.ForeignKey')(related_name='ghostbuster_requests', null=True, to=orm['irdb.Parent'])),
- ('vcard', self.gf('django.db.models.fields.TextField')()),
- ))
- db.send_create_signal(u'irdb', ['GhostbusterRequest'])
-
- # Adding model 'EECertificateRequest'
- db.create_table(u'irdb_eecertificaterequest', (
- (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('valid_until', self.gf('rpki.fields.SundialField')()),
- ('issuer', self.gf('django.db.models.fields.related.ForeignKey')(related_name='ee_certificate_requests', to=orm['irdb.ResourceHolderCA'])),
- ('pkcs10', self.gf('rpki.fields.PKCS10Field')(default=None, blank=True)),
- ('gski', self.gf('django.db.models.fields.CharField')(max_length=27)),
- ('cn', self.gf('django.db.models.fields.CharField')(max_length=64)),
- ('sn', self.gf('django.db.models.fields.CharField')(max_length=64)),
- ('eku', self.gf('django.db.models.fields.TextField')(null=True)),
- ))
- db.send_create_signal(u'irdb', ['EECertificateRequest'])
-
- # Adding unique constraint on 'EECertificateRequest', fields ['issuer', 'gski']
- db.create_unique(u'irdb_eecertificaterequest', ['issuer_id', 'gski'])
-
- # Adding model 'EECertificateRequestASN'
- db.create_table(u'irdb_eecertificaterequestasn', (
- (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('start_as', self.gf('django.db.models.fields.BigIntegerField')()),
- ('end_as', self.gf('django.db.models.fields.BigIntegerField')()),
- ('ee_certificate_request', self.gf('django.db.models.fields.related.ForeignKey')(related_name='asns', to=orm['irdb.EECertificateRequest'])),
- ))
- db.send_create_signal(u'irdb', ['EECertificateRequestASN'])
-
- # Adding unique constraint on 'EECertificateRequestASN', fields ['ee_certificate_request', 'start_as', 'end_as']
- db.create_unique(u'irdb_eecertificaterequestasn', ['ee_certificate_request_id', 'start_as', 'end_as'])
-
- # Adding model 'EECertificateRequestNet'
- db.create_table(u'irdb_eecertificaterequestnet', (
- (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('start_ip', self.gf('django.db.models.fields.CharField')(max_length=40)),
- ('end_ip', self.gf('django.db.models.fields.CharField')(max_length=40)),
- ('version', self.gf('rpki.fields.EnumField')()),
- ('ee_certificate_request', self.gf('django.db.models.fields.related.ForeignKey')(related_name='address_ranges', to=orm['irdb.EECertificateRequest'])),
- ))
- db.send_create_signal(u'irdb', ['EECertificateRequestNet'])
-
- # Adding unique constraint on 'EECertificateRequestNet', fields ['ee_certificate_request', 'start_ip', 'end_ip', 'version']
- db.create_unique(u'irdb_eecertificaterequestnet', ['ee_certificate_request_id', 'start_ip', 'end_ip', 'version'])
-
- # Adding model 'Repository'
- db.create_table(u'irdb_repository', (
- (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('certificate', self.gf('rpki.fields.CertificateField')(default=None, blank=True)),
- ('handle', self.gf('rpki.irdb.models.HandleField')(max_length=120)),
- ('ta', self.gf('rpki.fields.CertificateField')(default=None, blank=True)),
- ('issuer', self.gf('django.db.models.fields.related.ForeignKey')(related_name='repositories', to=orm['irdb.ResourceHolderCA'])),
- ('client_handle', self.gf('rpki.irdb.models.HandleField')(max_length=120)),
- ('service_uri', self.gf('django.db.models.fields.CharField')(max_length=255)),
- ('sia_base', self.gf('django.db.models.fields.TextField')()),
- ('turtle', self.gf('django.db.models.fields.related.OneToOneField')(related_name='repository', unique=True, to=orm['irdb.Turtle'])),
- ))
- db.send_create_signal(u'irdb', ['Repository'])
-
- # Adding unique constraint on 'Repository', fields ['issuer', 'handle']
- db.create_unique(u'irdb_repository', ['issuer_id', 'handle'])
-
- # Adding model 'Client'
- db.create_table(u'irdb_client', (
- (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('certificate', self.gf('rpki.fields.CertificateField')(default=None, blank=True)),
- ('handle', self.gf('rpki.irdb.models.HandleField')(max_length=120)),
- ('ta', self.gf('rpki.fields.CertificateField')(default=None, blank=True)),
- ('issuer', self.gf('django.db.models.fields.related.ForeignKey')(related_name='clients', to=orm['irdb.ServerCA'])),
- ('sia_base', self.gf('django.db.models.fields.TextField')()),
- ('parent_handle', self.gf('rpki.irdb.models.HandleField')(max_length=120)),
- ))
- db.send_create_signal(u'irdb', ['Client'])
-
- # Adding unique constraint on 'Client', fields ['issuer', 'handle']
- db.create_unique(u'irdb_client', ['issuer_id', 'handle'])
-
-
- def backwards(self, orm):
- # Removing unique constraint on 'Client', fields ['issuer', 'handle']
- db.delete_unique(u'irdb_client', ['issuer_id', 'handle'])
-
- # Removing unique constraint on 'Repository', fields ['issuer', 'handle']
- db.delete_unique(u'irdb_repository', ['issuer_id', 'handle'])
-
- # Removing unique constraint on 'EECertificateRequestNet', fields ['ee_certificate_request', 'start_ip', 'end_ip', 'version']
- db.delete_unique(u'irdb_eecertificaterequestnet', ['ee_certificate_request_id', 'start_ip', 'end_ip', 'version'])
-
- # Removing unique constraint on 'EECertificateRequestASN', fields ['ee_certificate_request', 'start_as', 'end_as']
- db.delete_unique(u'irdb_eecertificaterequestasn', ['ee_certificate_request_id', 'start_as', 'end_as'])
-
- # Removing unique constraint on 'EECertificateRequest', fields ['issuer', 'gski']
- db.delete_unique(u'irdb_eecertificaterequest', ['issuer_id', 'gski'])
-
- # Removing unique constraint on 'ROARequestPrefix', fields ['roa_request', 'version', 'prefix', 'prefixlen', 'max_prefixlen']
- db.delete_unique(u'irdb_roarequestprefix', ['roa_request_id', 'version', 'prefix', 'prefixlen', 'max_prefixlen'])
-
- # Removing unique constraint on 'Parent', fields ['issuer', 'handle']
- db.delete_unique(u'irdb_parent', ['issuer_id', 'handle'])
-
- # Removing unique constraint on 'ChildNet', fields ['child', 'start_ip', 'end_ip', 'version']
- db.delete_unique(u'irdb_childnet', ['child_id', 'start_ip', 'end_ip', 'version'])
-
- # Removing unique constraint on 'ChildASN', fields ['child', 'start_as', 'end_as']
- db.delete_unique(u'irdb_childasn', ['child_id', 'start_as', 'end_as'])
-
- # Removing unique constraint on 'Child', fields ['issuer', 'handle']
- db.delete_unique(u'irdb_child', ['issuer_id', 'handle'])
-
- # Removing unique constraint on 'BSC', fields ['issuer', 'handle']
- db.delete_unique(u'irdb_bsc', ['issuer_id', 'handle'])
-
- # Removing unique constraint on 'ServerEE', fields ['issuer', 'purpose']
- db.delete_unique(u'irdb_serveree', ['issuer_id', 'purpose'])
-
- # Removing unique constraint on 'ResourceHolderRevocation', fields ['issuer', 'serial']
- db.delete_unique(u'irdb_resourceholderrevocation', ['issuer_id', 'serial'])
-
- # Removing unique constraint on 'ServerRevocation', fields ['issuer', 'serial']
- db.delete_unique(u'irdb_serverrevocation', ['issuer_id', 'serial'])
-
- # Removing unique constraint on 'HostedCA', fields ['issuer', 'hosted']
- db.delete_unique(u'irdb_hostedca', ['issuer_id', 'hosted_id'])
-
- # Deleting model 'ServerCA'
- db.delete_table(u'irdb_serverca')
-
- # Deleting model 'ResourceHolderCA'
- db.delete_table(u'irdb_resourceholderca')
-
- # Deleting model 'HostedCA'
- db.delete_table(u'irdb_hostedca')
-
- # Deleting model 'ServerRevocation'
- db.delete_table(u'irdb_serverrevocation')
-
- # Deleting model 'ResourceHolderRevocation'
- db.delete_table(u'irdb_resourceholderrevocation')
-
- # Deleting model 'ServerEE'
- db.delete_table(u'irdb_serveree')
-
- # Deleting model 'Referral'
- db.delete_table(u'irdb_referral')
-
- # Deleting model 'Turtle'
- db.delete_table(u'irdb_turtle')
-
- # Deleting model 'Rootd'
- db.delete_table(u'irdb_rootd')
-
- # Deleting model 'BSC'
- db.delete_table(u'irdb_bsc')
-
- # Deleting model 'Child'
- db.delete_table(u'irdb_child')
-
- # Deleting model 'ChildASN'
- db.delete_table(u'irdb_childasn')
-
- # Deleting model 'ChildNet'
- db.delete_table(u'irdb_childnet')
-
- # Deleting model 'Parent'
- db.delete_table(u'irdb_parent')
-
- # Deleting model 'ROARequest'
- db.delete_table(u'irdb_roarequest')
-
- # Deleting model 'ROARequestPrefix'
- db.delete_table(u'irdb_roarequestprefix')
-
- # Deleting model 'GhostbusterRequest'
- db.delete_table(u'irdb_ghostbusterrequest')
-
- # Deleting model 'EECertificateRequest'
- db.delete_table(u'irdb_eecertificaterequest')
-
- # Deleting model 'EECertificateRequestASN'
- db.delete_table(u'irdb_eecertificaterequestasn')
-
- # Deleting model 'EECertificateRequestNet'
- db.delete_table(u'irdb_eecertificaterequestnet')
-
- # Deleting model 'Repository'
- db.delete_table(u'irdb_repository')
-
- # Deleting model 'Client'
- db.delete_table(u'irdb_client')
-
-
- models = {
- u'irdb.bsc': {
- 'Meta': {'unique_together': "(('issuer', 'handle'),)", 'object_name': 'BSC'},
- 'certificate': ('rpki.fields.CertificateField', [], {'default': 'None', 'blank': 'True'}),
- 'handle': ('rpki.irdb.models.HandleField', [], {'max_length': '120'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'issuer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'bscs'", 'to': u"orm['irdb.ResourceHolderCA']"}),
- 'pkcs10': ('rpki.fields.PKCS10Field', [], {'default': 'None', 'blank': 'True'})
- },
- u'irdb.child': {
- 'Meta': {'unique_together': "(('issuer', 'handle'),)", 'object_name': 'Child'},
- 'certificate': ('rpki.fields.CertificateField', [], {'default': 'None', 'blank': 'True'}),
- 'handle': ('rpki.irdb.models.HandleField', [], {'max_length': '120'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'issuer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'children'", 'to': u"orm['irdb.ResourceHolderCA']"}),
- 'name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'ta': ('rpki.fields.CertificateField', [], {'default': 'None', 'blank': 'True'}),
- 'valid_until': ('rpki.fields.SundialField', [], {})
- },
- u'irdb.childasn': {
- 'Meta': {'unique_together': "(('child', 'start_as', 'end_as'),)", 'object_name': 'ChildASN'},
- 'child': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'asns'", 'to': u"orm['irdb.Child']"}),
- 'end_as': ('django.db.models.fields.BigIntegerField', [], {}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'start_as': ('django.db.models.fields.BigIntegerField', [], {})
- },
- u'irdb.childnet': {
- 'Meta': {'unique_together': "(('child', 'start_ip', 'end_ip', 'version'),)", 'object_name': 'ChildNet'},
- 'child': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'address_ranges'", 'to': u"orm['irdb.Child']"}),
- 'end_ip': ('django.db.models.fields.CharField', [], {'max_length': '40'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'start_ip': ('django.db.models.fields.CharField', [], {'max_length': '40'}),
- 'version': ('rpki.fields.EnumField', [], {})
- },
- u'irdb.client': {
- 'Meta': {'unique_together': "(('issuer', 'handle'),)", 'object_name': 'Client'},
- 'certificate': ('rpki.fields.CertificateField', [], {'default': 'None', 'blank': 'True'}),
- 'handle': ('rpki.irdb.models.HandleField', [], {'max_length': '120'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'issuer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'clients'", 'to': u"orm['irdb.ServerCA']"}),
- 'parent_handle': ('rpki.irdb.models.HandleField', [], {'max_length': '120'}),
- 'sia_base': ('django.db.models.fields.TextField', [], {}),
- 'ta': ('rpki.fields.CertificateField', [], {'default': 'None', 'blank': 'True'})
- },
- u'irdb.eecertificaterequest': {
- 'Meta': {'unique_together': "(('issuer', 'gski'),)", 'object_name': 'EECertificateRequest'},
- 'cn': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
- 'eku': ('django.db.models.fields.TextField', [], {'null': 'True'}),
- 'gski': ('django.db.models.fields.CharField', [], {'max_length': '27'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'issuer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'ee_certificate_requests'", 'to': u"orm['irdb.ResourceHolderCA']"}),
- 'pkcs10': ('rpki.fields.PKCS10Field', [], {'default': 'None', 'blank': 'True'}),
- 'sn': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
- 'valid_until': ('rpki.fields.SundialField', [], {})
- },
- u'irdb.eecertificaterequestasn': {
- 'Meta': {'unique_together': "(('ee_certificate_request', 'start_as', 'end_as'),)", 'object_name': 'EECertificateRequestASN'},
- 'ee_certificate_request': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'asns'", 'to': u"orm['irdb.EECertificateRequest']"}),
- 'end_as': ('django.db.models.fields.BigIntegerField', [], {}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'start_as': ('django.db.models.fields.BigIntegerField', [], {})
- },
- u'irdb.eecertificaterequestnet': {
- 'Meta': {'unique_together': "(('ee_certificate_request', 'start_ip', 'end_ip', 'version'),)", 'object_name': 'EECertificateRequestNet'},
- 'ee_certificate_request': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'address_ranges'", 'to': u"orm['irdb.EECertificateRequest']"}),
- 'end_ip': ('django.db.models.fields.CharField', [], {'max_length': '40'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'start_ip': ('django.db.models.fields.CharField', [], {'max_length': '40'}),
- 'version': ('rpki.fields.EnumField', [], {})
- },
- u'irdb.ghostbusterrequest': {
- 'Meta': {'object_name': 'GhostbusterRequest'},
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'issuer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'ghostbuster_requests'", 'to': u"orm['irdb.ResourceHolderCA']"}),
- 'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'ghostbuster_requests'", 'null': 'True', 'to': u"orm['irdb.Parent']"}),
- 'vcard': ('django.db.models.fields.TextField', [], {})
- },
- u'irdb.hostedca': {
- 'Meta': {'unique_together': "(('issuer', 'hosted'),)", 'object_name': 'HostedCA'},
- 'certificate': ('rpki.fields.CertificateField', [], {'default': 'None', 'blank': 'True'}),
- 'hosted': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'hosted_by'", 'unique': 'True', 'to': u"orm['irdb.ResourceHolderCA']"}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'issuer': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['irdb.ServerCA']"})
- },
- u'irdb.parent': {
- 'Meta': {'unique_together': "(('issuer', 'handle'),)", 'object_name': 'Parent', '_ormbases': [u'irdb.Turtle']},
- 'certificate': ('rpki.fields.CertificateField', [], {'default': 'None', 'blank': 'True'}),
- 'child_handle': ('rpki.irdb.models.HandleField', [], {'max_length': '120'}),
- 'handle': ('rpki.irdb.models.HandleField', [], {'max_length': '120'}),
- 'issuer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'parents'", 'to': u"orm['irdb.ResourceHolderCA']"}),
- 'parent_handle': ('rpki.irdb.models.HandleField', [], {'max_length': '120'}),
- 'referral_authorization': ('rpki.irdb.models.SignedReferralField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}),
- 'referrer': ('rpki.irdb.models.HandleField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'}),
- 'repository_type': ('rpki.fields.EnumField', [], {}),
- 'ta': ('rpki.fields.CertificateField', [], {'default': 'None', 'blank': 'True'}),
- u'turtle_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': u"orm['irdb.Turtle']", 'unique': 'True', 'primary_key': 'True'})
- },
- u'irdb.referral': {
- 'Meta': {'object_name': 'Referral'},
- 'certificate': ('rpki.fields.CertificateField', [], {'default': 'None', 'blank': 'True'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'issuer': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'referral_certificate'", 'unique': 'True', 'to': u"orm['irdb.ResourceHolderCA']"}),
- 'private_key': ('rpki.fields.KeyField', [], {'default': 'None', 'blank': 'True'})
- },
- u'irdb.repository': {
- 'Meta': {'unique_together': "(('issuer', 'handle'),)", 'object_name': 'Repository'},
- 'certificate': ('rpki.fields.CertificateField', [], {'default': 'None', 'blank': 'True'}),
- 'client_handle': ('rpki.irdb.models.HandleField', [], {'max_length': '120'}),
- 'handle': ('rpki.irdb.models.HandleField', [], {'max_length': '120'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'issuer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'repositories'", 'to': u"orm['irdb.ResourceHolderCA']"}),
- 'service_uri': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
- 'sia_base': ('django.db.models.fields.TextField', [], {}),
- 'ta': ('rpki.fields.CertificateField', [], {'default': 'None', 'blank': 'True'}),
- 'turtle': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'repository'", 'unique': 'True', 'to': u"orm['irdb.Turtle']"})
- },
- u'irdb.resourceholderca': {
- 'Meta': {'object_name': 'ResourceHolderCA'},
- 'certificate': ('rpki.fields.CertificateField', [], {'default': 'None', 'blank': 'True'}),
- 'handle': ('rpki.irdb.models.HandleField', [], {'unique': 'True', 'max_length': '120'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'last_crl_update': ('rpki.fields.SundialField', [], {}),
- 'latest_crl': ('rpki.fields.CRLField', [], {'default': 'None', 'blank': 'True'}),
- 'next_crl_number': ('django.db.models.fields.BigIntegerField', [], {'default': '1'}),
- 'next_crl_update': ('rpki.fields.SundialField', [], {}),
- 'next_serial': ('django.db.models.fields.BigIntegerField', [], {'default': '1'}),
- 'private_key': ('rpki.fields.KeyField', [], {'default': 'None', 'blank': 'True'})
- },
- u'irdb.resourceholderrevocation': {
- 'Meta': {'unique_together': "(('issuer', 'serial'),)", 'object_name': 'ResourceHolderRevocation'},
- 'expires': ('rpki.fields.SundialField', [], {}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'issuer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revocations'", 'to': u"orm['irdb.ResourceHolderCA']"}),
- 'revoked': ('rpki.fields.SundialField', [], {}),
- 'serial': ('django.db.models.fields.BigIntegerField', [], {})
- },
- u'irdb.roarequest': {
- 'Meta': {'object_name': 'ROARequest'},
- 'asn': ('django.db.models.fields.BigIntegerField', [], {}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'issuer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'roa_requests'", 'to': u"orm['irdb.ResourceHolderCA']"})
- },
- u'irdb.roarequestprefix': {
- 'Meta': {'unique_together': "(('roa_request', 'version', 'prefix', 'prefixlen', 'max_prefixlen'),)", 'object_name': 'ROARequestPrefix'},
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'max_prefixlen': ('django.db.models.fields.PositiveSmallIntegerField', [], {}),
- 'prefix': ('django.db.models.fields.CharField', [], {'max_length': '40'}),
- 'prefixlen': ('django.db.models.fields.PositiveSmallIntegerField', [], {}),
- 'roa_request': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'prefixes'", 'to': u"orm['irdb.ROARequest']"}),
- 'version': ('rpki.fields.EnumField', [], {})
- },
- u'irdb.rootd': {
- 'Meta': {'object_name': 'Rootd', '_ormbases': [u'irdb.Turtle']},
- 'certificate': ('rpki.fields.CertificateField', [], {'default': 'None', 'blank': 'True'}),
- 'issuer': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'rootd'", 'unique': 'True', 'to': u"orm['irdb.ResourceHolderCA']"}),
- 'private_key': ('rpki.fields.KeyField', [], {'default': 'None', 'blank': 'True'}),
- u'turtle_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': u"orm['irdb.Turtle']", 'unique': 'True', 'primary_key': 'True'})
- },
- u'irdb.serverca': {
- 'Meta': {'object_name': 'ServerCA'},
- 'certificate': ('rpki.fields.CertificateField', [], {'default': 'None', 'blank': 'True'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'last_crl_update': ('rpki.fields.SundialField', [], {}),
- 'latest_crl': ('rpki.fields.CRLField', [], {'default': 'None', 'blank': 'True'}),
- 'next_crl_number': ('django.db.models.fields.BigIntegerField', [], {'default': '1'}),
- 'next_crl_update': ('rpki.fields.SundialField', [], {}),
- 'next_serial': ('django.db.models.fields.BigIntegerField', [], {'default': '1'}),
- 'private_key': ('rpki.fields.KeyField', [], {'default': 'None', 'blank': 'True'})
- },
- u'irdb.serveree': {
- 'Meta': {'unique_together': "(('issuer', 'purpose'),)", 'object_name': 'ServerEE'},
- 'certificate': ('rpki.fields.CertificateField', [], {'default': 'None', 'blank': 'True'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'issuer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'ee_certificates'", 'to': u"orm['irdb.ServerCA']"}),
- 'private_key': ('rpki.fields.KeyField', [], {'default': 'None', 'blank': 'True'}),
- 'purpose': ('rpki.fields.EnumField', [], {})
- },
- u'irdb.serverrevocation': {
- 'Meta': {'unique_together': "(('issuer', 'serial'),)", 'object_name': 'ServerRevocation'},
- 'expires': ('rpki.fields.SundialField', [], {}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'issuer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revocations'", 'to': u"orm['irdb.ServerCA']"}),
- 'revoked': ('rpki.fields.SundialField', [], {}),
- 'serial': ('django.db.models.fields.BigIntegerField', [], {})
- },
- u'irdb.turtle': {
- 'Meta': {'object_name': 'Turtle'},
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'service_uri': ('django.db.models.fields.CharField', [], {'max_length': '255'})
- }
- }
-
- complete_apps = ['irdb'] \ No newline at end of file
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import rpki.irdb.models
+import rpki.fields
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='BSC',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('certificate', rpki.fields.CertificateField(default=None, serialize=False, blank=True)),
+ ('handle', rpki.irdb.models.HandleField(max_length=120)),
+ ('pkcs10', rpki.fields.PKCS10Field(default=None, serialize=False, blank=True)),
+ ],
+ options={
+ 'abstract': False,
+ },
+ ),
+ migrations.CreateModel(
+ name='Child',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('certificate', rpki.fields.CertificateField(default=None, serialize=False, blank=True)),
+ ('handle', rpki.irdb.models.HandleField(max_length=120)),
+ ('ta', rpki.fields.CertificateField(default=None, serialize=False, blank=True)),
+ ('valid_until', rpki.fields.SundialField()),
+ ('name', models.TextField(null=True, blank=True)),
+ ],
+ ),
+ migrations.CreateModel(
+ name='ChildASN',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('start_as', models.BigIntegerField()),
+ ('end_as', models.BigIntegerField()),
+ ('child', models.ForeignKey(related_name='asns', to='irdb.Child')),
+ ],
+ ),
+ migrations.CreateModel(
+ name='ChildNet',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('start_ip', models.CharField(max_length=40)),
+ ('end_ip', models.CharField(max_length=40)),
+ ('version', rpki.fields.EnumField(choices=[(4, b'IPv4'), (6, b'IPv6')])),
+ ('child', models.ForeignKey(related_name='address_ranges', to='irdb.Child')),
+ ],
+ ),
+ migrations.CreateModel(
+ name='Client',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('certificate', rpki.fields.CertificateField(default=None, serialize=False, blank=True)),
+ ('handle', rpki.irdb.models.HandleField(max_length=120)),
+ ('ta', rpki.fields.CertificateField(default=None, serialize=False, blank=True)),
+ ('sia_base', models.TextField()),
+ ('parent_handle', rpki.irdb.models.HandleField(max_length=120)),
+ ],
+ ),
+ migrations.CreateModel(
+ name='EECertificateRequest',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('valid_until', rpki.fields.SundialField()),
+ ('pkcs10', rpki.fields.PKCS10Field(default=None, serialize=False, blank=True)),
+ ('gski', models.CharField(max_length=27)),
+ ('cn', models.CharField(max_length=64)),
+ ('sn', models.CharField(max_length=64)),
+ ('eku', models.TextField(null=True)),
+ ],
+ ),
+ migrations.CreateModel(
+ name='EECertificateRequestASN',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('start_as', models.BigIntegerField()),
+ ('end_as', models.BigIntegerField()),
+ ('ee_certificate_request', models.ForeignKey(related_name='asns', to='irdb.EECertificateRequest')),
+ ],
+ ),
+ migrations.CreateModel(
+ name='EECertificateRequestNet',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('start_ip', models.CharField(max_length=40)),
+ ('end_ip', models.CharField(max_length=40)),
+ ('version', rpki.fields.EnumField(choices=[(4, b'IPv4'), (6, b'IPv6')])),
+ ('ee_certificate_request', models.ForeignKey(related_name='address_ranges', to='irdb.EECertificateRequest')),
+ ],
+ ),
+ migrations.CreateModel(
+ name='GhostbusterRequest',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('vcard', models.TextField()),
+ ],
+ ),
+ migrations.CreateModel(
+ name='HostedCA',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('certificate', rpki.fields.CertificateField(default=None, serialize=False, blank=True)),
+ ],
+ ),
+ migrations.CreateModel(
+ name='Referral',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('certificate', rpki.fields.CertificateField(default=None, serialize=False, blank=True)),
+ ('private_key', rpki.fields.KeyField(default=None, serialize=False, blank=True)),
+ ],
+ options={
+ 'abstract': False,
+ },
+ ),
+ migrations.CreateModel(
+ name='Repository',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('certificate', rpki.fields.CertificateField(default=None, serialize=False, blank=True)),
+ ('handle', rpki.irdb.models.HandleField(max_length=120)),
+ ('ta', rpki.fields.CertificateField(default=None, serialize=False, blank=True)),
+ ('client_handle', rpki.irdb.models.HandleField(max_length=120)),
+ ('service_uri', models.CharField(max_length=255)),
+ ('sia_base', models.TextField()),
+ ],
+ ),
+ migrations.CreateModel(
+ name='ResourceHolderCA',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('certificate', rpki.fields.CertificateField(default=None, serialize=False, blank=True)),
+ ('private_key', rpki.fields.KeyField(default=None, serialize=False, blank=True)),
+ ('latest_crl', rpki.fields.CRLField(default=None, serialize=False, blank=True)),
+ ('next_serial', models.BigIntegerField(default=1)),
+ ('next_crl_number', models.BigIntegerField(default=1)),
+ ('last_crl_update', rpki.fields.SundialField()),
+ ('next_crl_update', rpki.fields.SundialField()),
+ ('handle', rpki.irdb.models.HandleField(unique=True, max_length=120)),
+ ],
+ options={
+ 'abstract': False,
+ },
+ ),
+ migrations.CreateModel(
+ name='ResourceHolderRevocation',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('serial', models.BigIntegerField()),
+ ('revoked', rpki.fields.SundialField()),
+ ('expires', rpki.fields.SundialField()),
+ ('issuer', models.ForeignKey(related_name='revocations', to='irdb.ResourceHolderCA')),
+ ],
+ options={
+ 'abstract': False,
+ },
+ ),
+ migrations.CreateModel(
+ name='ROARequest',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('asn', models.BigIntegerField()),
+ ('issuer', models.ForeignKey(related_name='roa_requests', to='irdb.ResourceHolderCA')),
+ ],
+ ),
+ migrations.CreateModel(
+ name='ROARequestPrefix',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('version', rpki.fields.EnumField(choices=[(4, b'IPv4'), (6, b'IPv6')])),
+ ('prefix', models.CharField(max_length=40)),
+ ('prefixlen', models.PositiveSmallIntegerField()),
+ ('max_prefixlen', models.PositiveSmallIntegerField()),
+ ('roa_request', models.ForeignKey(related_name='prefixes', to='irdb.ROARequest')),
+ ],
+ ),
+ migrations.CreateModel(
+ name='ServerCA',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('certificate', rpki.fields.CertificateField(default=None, serialize=False, blank=True)),
+ ('private_key', rpki.fields.KeyField(default=None, serialize=False, blank=True)),
+ ('latest_crl', rpki.fields.CRLField(default=None, serialize=False, blank=True)),
+ ('next_serial', models.BigIntegerField(default=1)),
+ ('next_crl_number', models.BigIntegerField(default=1)),
+ ('last_crl_update', rpki.fields.SundialField()),
+ ('next_crl_update', rpki.fields.SundialField()),
+ ],
+ options={
+ 'abstract': False,
+ },
+ ),
+ migrations.CreateModel(
+ name='ServerEE',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('certificate', rpki.fields.CertificateField(default=None, serialize=False, blank=True)),
+ ('private_key', rpki.fields.KeyField(default=None, serialize=False, blank=True)),
+ ('purpose', rpki.fields.EnumField(choices=[(1, b'rpkid'), (2, b'pubd'), (3, b'irdbd'), (4, b'irbe')])),
+ ('issuer', models.ForeignKey(related_name='ee_certificates', to='irdb.ServerCA')),
+ ],
+ ),
+ migrations.CreateModel(
+ name='ServerRevocation',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('serial', models.BigIntegerField()),
+ ('revoked', rpki.fields.SundialField()),
+ ('expires', rpki.fields.SundialField()),
+ ('issuer', models.ForeignKey(related_name='revocations', to='irdb.ServerCA')),
+ ],
+ options={
+ 'abstract': False,
+ },
+ ),
+ migrations.CreateModel(
+ name='Turtle',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('service_uri', models.CharField(max_length=255)),
+ ],
+ ),
+ migrations.CreateModel(
+ name='Parent',
+ fields=[
+ ('turtle_ptr', models.OneToOneField(parent_link=True, auto_created=True, primary_key=True, serialize=False, to='irdb.Turtle')),
+ ('certificate', rpki.fields.CertificateField(default=None, serialize=False, blank=True)),
+ ('handle', rpki.irdb.models.HandleField(max_length=120)),
+ ('ta', rpki.fields.CertificateField(default=None, serialize=False, blank=True)),
+ ('parent_handle', rpki.irdb.models.HandleField(max_length=120)),
+ ('child_handle', rpki.irdb.models.HandleField(max_length=120)),
+ ('repository_type', rpki.fields.EnumField(choices=[(1, b'none'), (2, b'offer'), (3, b'referral')])),
+ ('referrer', rpki.irdb.models.HandleField(max_length=120, null=True, blank=True)),
+ ('referral_authorization', rpki.irdb.models.SignedReferralField(default=None, serialize=False, null=True, blank=True)),
+ ('issuer', models.ForeignKey(related_name='parents', to='irdb.ResourceHolderCA')),
+ ],
+ bases=('irdb.turtle', models.Model),
+ ),
+ migrations.CreateModel(
+ name='Rootd',
+ fields=[
+ ('turtle_ptr', models.OneToOneField(parent_link=True, auto_created=True, primary_key=True, serialize=False, to='irdb.Turtle')),
+ ('certificate', rpki.fields.CertificateField(default=None, serialize=False, blank=True)),
+ ('private_key', rpki.fields.KeyField(default=None, serialize=False, blank=True)),
+ ('issuer', models.OneToOneField(related_name='rootd', to='irdb.ResourceHolderCA')),
+ ],
+ options={
+ 'abstract': False,
+ },
+ bases=('irdb.turtle', models.Model),
+ ),
+ migrations.AddField(
+ model_name='repository',
+ name='issuer',
+ field=models.ForeignKey(related_name='repositories', to='irdb.ResourceHolderCA'),
+ ),
+ migrations.AddField(
+ model_name='repository',
+ name='turtle',
+ field=models.OneToOneField(related_name='repository', to='irdb.Turtle'),
+ ),
+ migrations.AddField(
+ model_name='referral',
+ name='issuer',
+ field=models.OneToOneField(related_name='referral_certificate', to='irdb.ResourceHolderCA'),
+ ),
+ migrations.AddField(
+ model_name='hostedca',
+ name='hosted',
+ field=models.OneToOneField(related_name='hosted_by', to='irdb.ResourceHolderCA'),
+ ),
+ migrations.AddField(
+ model_name='hostedca',
+ name='issuer',
+ field=models.ForeignKey(to='irdb.ServerCA'),
+ ),
+ migrations.AddField(
+ model_name='ghostbusterrequest',
+ name='issuer',
+ field=models.ForeignKey(related_name='ghostbuster_requests', to='irdb.ResourceHolderCA'),
+ ),
+ migrations.AddField(
+ model_name='eecertificaterequest',
+ name='issuer',
+ field=models.ForeignKey(related_name='ee_certificate_requests', to='irdb.ResourceHolderCA'),
+ ),
+ migrations.AddField(
+ model_name='client',
+ name='issuer',
+ field=models.ForeignKey(related_name='clients', to='irdb.ServerCA'),
+ ),
+ migrations.AddField(
+ model_name='child',
+ name='issuer',
+ field=models.ForeignKey(related_name='children', to='irdb.ResourceHolderCA'),
+ ),
+ migrations.AddField(
+ model_name='bsc',
+ name='issuer',
+ field=models.ForeignKey(related_name='bscs', to='irdb.ResourceHolderCA'),
+ ),
+ migrations.AlterUniqueTogether(
+ name='serverrevocation',
+ unique_together=set([('issuer', 'serial')]),
+ ),
+ migrations.AlterUniqueTogether(
+ name='serveree',
+ unique_together=set([('issuer', 'purpose')]),
+ ),
+ migrations.AlterUniqueTogether(
+ name='roarequestprefix',
+ unique_together=set([('roa_request', 'version', 'prefix', 'prefixlen', 'max_prefixlen')]),
+ ),
+ migrations.AlterUniqueTogether(
+ name='resourceholderrevocation',
+ unique_together=set([('issuer', 'serial')]),
+ ),
+ migrations.AlterUniqueTogether(
+ name='repository',
+ unique_together=set([('issuer', 'handle')]),
+ ),
+ migrations.AlterUniqueTogether(
+ name='hostedca',
+ unique_together=set([('issuer', 'hosted')]),
+ ),
+ migrations.AddField(
+ model_name='ghostbusterrequest',
+ name='parent',
+ field=models.ForeignKey(related_name='ghostbuster_requests', to='irdb.Parent', null=True),
+ ),
+ migrations.AlterUniqueTogether(
+ name='eecertificaterequestnet',
+ unique_together=set([('ee_certificate_request', 'start_ip', 'end_ip', 'version')]),
+ ),
+ migrations.AlterUniqueTogether(
+ name='eecertificaterequestasn',
+ unique_together=set([('ee_certificate_request', 'start_as', 'end_as')]),
+ ),
+ migrations.AlterUniqueTogether(
+ name='eecertificaterequest',
+ unique_together=set([('issuer', 'gski')]),
+ ),
+ migrations.AlterUniqueTogether(
+ name='client',
+ unique_together=set([('issuer', 'handle')]),
+ ),
+ migrations.AlterUniqueTogether(
+ name='childnet',
+ unique_together=set([('child', 'start_ip', 'end_ip', 'version')]),
+ ),
+ migrations.AlterUniqueTogether(
+ name='childasn',
+ unique_together=set([('child', 'start_as', 'end_as')]),
+ ),
+ migrations.AlterUniqueTogether(
+ name='child',
+ unique_together=set([('issuer', 'handle')]),
+ ),
+ migrations.AlterUniqueTogether(
+ name='bsc',
+ unique_together=set([('issuer', 'handle')]),
+ ),
+ migrations.AlterUniqueTogether(
+ name='parent',
+ unique_together=set([('issuer', 'handle')]),
+ ),
+ ]
diff --git a/rpki/irdb/models.py b/rpki/irdb/models.py
index f89cebd4..b88b0ad8 100644
--- a/rpki/irdb/models.py
+++ b/rpki/irdb/models.py
@@ -32,7 +32,6 @@ import rpki.sundial
import rpki.resource_set
import socket
import rpki.POW
-from south.modelsinspector import add_introspection_rules
from rpki.fields import EnumField, SundialField, CertificateField, DERField, KeyField, CRLField, PKCS10Field
@@ -81,22 +80,6 @@ class SignedReferralField(DERField):
description = "CMS signed object containing XML"
rpki_type = rpki.x509.SignedReferral
-# Alias to keep old rpki.gui migrations happy. Would generating a new
-# schema migration for rpki.gui remove the need, or do we have to
-# preserve every old field class we've ever used forever? Dunno.
-
-RSAKeyField = KeyField
-
-# Introspection rules for Django South
-
-field_classes = [HandleField, SignedReferralField]
-
-add_introspection_rules([(field_classes, [], {})],
- [r"^rpki\.irdb\.models\." + cls.__name__
- for cls in field_classes])
-
-del field_classes
-
# Custom managers
diff --git a/rpki/irdbd.py b/rpki/irdbd.py
index 4990405c..4196f346 100644
--- a/rpki/irdbd.py
+++ b/rpki/irdbd.py
@@ -186,9 +186,24 @@ class main(object):
# Now that we know which configuration file to use, it's OK to
# load modules that require Django's settings module.
+ import django
+ django.setup()
+
global rpki # pylint: disable=W0602
import rpki.irdb # pylint: disable=W0621
+ self.http_server_host = self.cfg.get("server-host", "")
+ self.http_server_port = self.cfg.getint("server-port")
+
+ self.cms_timestamp = None
+
+ rpki.http_simple.server(
+ host = self.http_server_host,
+ port = self.http_server_port,
+ handlers = self.handler)
+
+ def start_new_transaction(self):
+
# Entirely too much fun with read-only access to transactional databases.
#
# http://stackoverflow.com/questions/3346124/how-do-i-force-django-to-ignore-any-caches-and-reload-data
@@ -209,14 +224,7 @@ class main(object):
# the transaction isolation snapshot.
import django.db.transaction
- self.start_new_transaction = django.db.transaction.commit_manually(django.db.transaction.commit)
-
- self.http_server_host = self.cfg.get("server-host", "")
- self.http_server_port = self.cfg.getint("server-port")
-
- self.cms_timestamp = None
- rpki.http_simple.server(
- host = self.http_server_host,
- port = self.http_server_port,
- handlers = self.handler)
+ with django.db.transaction.atomic():
+ #django.db.transaction.commit()
+ pass
diff --git a/rpki/pubd.py b/rpki/pubd.py
index 71a62fee..335e9174 100644
--- a/rpki/pubd.py
+++ b/rpki/pubd.py
@@ -95,6 +95,9 @@ class main(object):
if self.profile:
logger.info("Running in profile mode with output to %s", self.profile)
+ import django
+ django.setup()
+
global rpki
import rpki.pubdb
diff --git a/rpki/pubdb/migrations/0001_initial.py b/rpki/pubdb/migrations/0001_initial.py
index 73cecd0e..4f312844 100644
--- a/rpki/pubdb/migrations/0001_initial.py
+++ b/rpki/pubdb/migrations/0001_initial.py
@@ -1,119 +1,69 @@
# -*- coding: utf-8 -*-
-from south.utils import datetime_utils as datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-
-class Migration(SchemaMigration):
-
- def forwards(self, orm):
- # Adding model 'Client'
- db.create_table(u'pubdb_client', (
- (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('client_handle', self.gf('django.db.models.fields.CharField')(unique=True, max_length=255)),
- ('base_uri', self.gf('django.db.models.fields.TextField')()),
- ('bpki_cert', self.gf('rpki.fields.BlobField')(default=None, blank=True)),
- ('bpki_glue', self.gf('rpki.fields.BlobField')(default=None, null=True, blank=True)),
- ('last_cms_timestamp', self.gf('rpki.fields.SundialField')(null=True, blank=True)),
- ))
- db.send_create_signal(u'pubdb', ['Client'])
-
- # Adding model 'Session'
- db.create_table(u'pubdb_session', (
- (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('uuid', self.gf('django.db.models.fields.CharField')(unique=True, max_length=36)),
- ('serial', self.gf('django.db.models.fields.BigIntegerField')()),
- ('snapshot', self.gf('django.db.models.fields.TextField')(blank=True)),
- ('hash', self.gf('django.db.models.fields.CharField')(max_length=64, blank=True)),
- ))
- db.send_create_signal(u'pubdb', ['Session'])
-
- # Adding model 'Delta'
- db.create_table(u'pubdb_delta', (
- (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('serial', self.gf('django.db.models.fields.BigIntegerField')()),
- ('xml', self.gf('django.db.models.fields.TextField')()),
- ('hash', self.gf('django.db.models.fields.CharField')(max_length=64)),
- ('expires', self.gf('rpki.fields.SundialField')()),
- ('session', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['pubdb.Session'])),
- ))
- db.send_create_signal(u'pubdb', ['Delta'])
-
- # Adding model 'PublishedObject'
- db.create_table(u'pubdb_publishedobject', (
- (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
- ('uri', self.gf('django.db.models.fields.CharField')(max_length=255)),
- ('der', self.gf('rpki.fields.BlobField')(default=None, blank=True)),
- ('hash', self.gf('django.db.models.fields.CharField')(max_length=64)),
- ('client', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['pubdb.Client'])),
- ('session', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['pubdb.Session'])),
- ))
- db.send_create_signal(u'pubdb', ['PublishedObject'])
-
- # Adding unique constraint on 'PublishedObject', fields ['session', 'hash']
- db.create_unique(u'pubdb_publishedobject', ['session_id', 'hash'])
-
- # Adding unique constraint on 'PublishedObject', fields ['session', 'uri']
- db.create_unique(u'pubdb_publishedobject', ['session_id', 'uri'])
-
-
- def backwards(self, orm):
- # Removing unique constraint on 'PublishedObject', fields ['session', 'uri']
- db.delete_unique(u'pubdb_publishedobject', ['session_id', 'uri'])
-
- # Removing unique constraint on 'PublishedObject', fields ['session', 'hash']
- db.delete_unique(u'pubdb_publishedobject', ['session_id', 'hash'])
-
- # Deleting model 'Client'
- db.delete_table(u'pubdb_client')
-
- # Deleting model 'Session'
- db.delete_table(u'pubdb_session')
-
- # Deleting model 'Delta'
- db.delete_table(u'pubdb_delta')
-
- # Deleting model 'PublishedObject'
- db.delete_table(u'pubdb_publishedobject')
-
-
- models = {
- u'pubdb.client': {
- 'Meta': {'object_name': 'Client'},
- 'base_uri': ('django.db.models.fields.TextField', [], {}),
- 'bpki_cert': ('rpki.fields.BlobField', [], {'default': 'None', 'blank': 'True'}),
- 'bpki_glue': ('rpki.fields.BlobField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}),
- 'client_handle': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'last_cms_timestamp': ('rpki.fields.SundialField', [], {'null': 'True', 'blank': 'True'})
- },
- u'pubdb.delta': {
- 'Meta': {'object_name': 'Delta'},
- 'expires': ('rpki.fields.SundialField', [], {}),
- 'hash': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'serial': ('django.db.models.fields.BigIntegerField', [], {}),
- 'session': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['pubdb.Session']"}),
- 'xml': ('django.db.models.fields.TextField', [], {})
- },
- u'pubdb.publishedobject': {
- 'Meta': {'unique_together': "((u'session', u'hash'), (u'session', u'uri'))", 'object_name': 'PublishedObject'},
- 'client': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['pubdb.Client']"}),
- 'der': ('rpki.fields.BlobField', [], {'default': 'None', 'blank': 'True'}),
- 'hash': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'session': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['pubdb.Session']"}),
- 'uri': ('django.db.models.fields.CharField', [], {'max_length': '255'})
- },
- u'pubdb.session': {
- 'Meta': {'object_name': 'Session'},
- 'hash': ('django.db.models.fields.CharField', [], {'max_length': '64', 'blank': 'True'}),
- u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'serial': ('django.db.models.fields.BigIntegerField', [], {}),
- 'snapshot': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
- 'uuid': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '36'})
- }
- }
-
- complete_apps = ['pubdb']
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import rpki.fields
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='Client',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('client_handle', models.CharField(unique=True, max_length=255)),
+ ('base_uri', models.TextField()),
+ ('bpki_cert', rpki.fields.CertificateField(default=None, serialize=False, blank=True)),
+ ('bpki_glue', rpki.fields.CertificateField(default=None, serialize=False, null=True, blank=True)),
+ ('last_cms_timestamp', rpki.fields.SundialField(null=True, blank=True)),
+ ],
+ ),
+ migrations.CreateModel(
+ name='Delta',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('serial', models.BigIntegerField()),
+ ('xml', models.TextField()),
+ ('hash', models.CharField(max_length=64)),
+ ('expires', rpki.fields.SundialField()),
+ ],
+ ),
+ migrations.CreateModel(
+ name='PublishedObject',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('uri', models.CharField(max_length=255)),
+ ('der', rpki.fields.BlobField(default=None, serialize=False, blank=True)),
+ ('hash', models.CharField(max_length=64)),
+ ('client', models.ForeignKey(to='pubdb.Client')),
+ ],
+ ),
+ migrations.CreateModel(
+ name='Session',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+ ('uuid', models.CharField(unique=True, max_length=36)),
+ ('serial', models.BigIntegerField()),
+ ('snapshot', models.TextField(blank=True)),
+ ('hash', models.CharField(max_length=64, blank=True)),
+ ],
+ ),
+ migrations.AddField(
+ model_name='publishedobject',
+ name='session',
+ field=models.ForeignKey(to='pubdb.Session'),
+ ),
+ migrations.AddField(
+ model_name='delta',
+ name='session',
+ field=models.ForeignKey(to='pubdb.Session'),
+ ),
+ migrations.AlterUniqueTogether(
+ name='publishedobject',
+ unique_together=set([('session', 'hash'), ('session', 'uri')]),
+ ),
+ ]
diff --git a/rpki/rpkic.py b/rpki/rpkic.py
index 0e485200..33f9e03e 100644
--- a/rpki/rpkic.py
+++ b/rpki/rpkic.py
@@ -130,6 +130,9 @@ class main(Cmd):
os.environ.update(DJANGO_SETTINGS_MODULE = "rpki.django_settings.irdb")
+ import django
+ django.setup()
+
import rpki.irdb # pylint: disable=W0621
try:
@@ -150,16 +153,6 @@ class main(Cmd):
except rpki.config.ConfigParser.Error:
pass
- # Need to figure out whether we really want rpkic setting up
- # databases or not. Defer until we've caught up to a current
- # version of Django, are past the change from South to Django
- # 1.7+'s migration scheme, and other potential complications.
-
- if False:
- import django.core.management
- django.core.management.call_command("syncdb", verbosity = 3, load_initial_data = False)
- django.core.management.call_command("migrate", verbosity = 3)
-
self.zoo = rpki.irdb.Zookeeper(cfg = cfg, handle = self.handle, logstream = sys.stdout)