def add_roa_requests(handle, prefix, asns, max_length): for asid in asns: if debug: print 'searching for a roa for AS %d containing %s-%d' % (asid, prefix, max_length) req_set = prefix.roa_requests.filter(roa__asn=asid, max_length=max_length) if not req_set: if debug: print 'no roa for AS %d containing %s-%d' % (asid, prefix, max_length) # find ROAs for prefixes derived from the same resource cert # as this prefix certs = misc.top_parent(prefix).from_cert.all() roa_set = handle.roas.filter(asn=asid, cert__in=certs) # FIXME: currently only creates a ROA/request for the first # resource cert, not all of them if roa_set: roa = roa_set[0] else: if debug: print 'creating new roa for AS %d containg %s-%d' % (asid, prefix, max_length) # no roa is present for this ASN, create a new one roa = models.Roa.objects.create(asn=asid, conf=handle, active=False, cert=certs[0]) roa.save() req = models.RoaRequest.objects.create(prefix=prefix, roa=roa, max_length=max_length) req.save()
def get_parents_or_404(handle, obj): '''Return the Parent object(s) that the given address range derives from, or raise a 404 error.''' cert_set = misc.top_parent(obj).from_cert.filter(parent__in=handle.parents.all()) if cert_set.count() == 0: raise http.Http404, 'Object is not delegated from any parent' return [c.parent for c in cert_set]
def get_parents_or_404(handle, obj): '''Return the Parent object(s) that the given address range derives from, or raise a 404 error.''' cert_set = misc.top_parent(obj).from_cert.filter( parent__in=handle.parents.all()) if cert_set.count() == 0: raise http.Http404, 'Object is not delegated from any parent' return [c.parent for c in cert_set]
def add_roa_requests(handle, prefix, asns, max_length): for asid in asns: if debug: print 'searching for a roa for AS %d containing %s-%d' % ( asid, prefix, max_length) req_set = prefix.roa_requests.filter(roa__asn=asid, max_length=max_length) if not req_set: if debug: print 'no roa for AS %d containing %s-%d' % (asid, prefix, max_length) # find ROAs for prefixes derived from the same resource cert # as this prefix certs = misc.top_parent(prefix).from_cert.all() roa_set = handle.roas.filter(asn=asid, cert__in=certs) # FIXME: currently only creates a ROA/request for the first # resource cert, not all of them if roa_set: roa = roa_set[0] else: if debug: print 'creating new roa for AS %d containg %s-%d' % ( asid, prefix, max_length) # no roa is present for this ASN, create a new one roa = models.Roa.objects.create(asn=asid, conf=handle, active=False, cert=certs[0]) roa.save() req = models.RoaRequest.objects.create(prefix=prefix, roa=roa, max_length=max_length) req.save()
def __init__(self, *args, **kwargs): AllocationTree.__init__(self, *args, **kwargs) self.conf = misc.top_parent(self.resource).from_cert.all()[0].parent.conf
def __init__(self, *args, **kwargs): AllocationTree.__init__(self, *args, **kwargs) self.conf = misc.top_parent( self.resource).from_cert.all()[0].parent.conf