From 7d62c8e04ea0cf72da40bdf35f5b31d33e70554e Mon Sep 17 00:00:00 2001 From: David Schmitz <schmitz@lrz.de> Date: Thu, 2 Nov 2023 12:13:40 +0000 Subject: [PATCH] fix/reenable_expireset_via_restapi: reenable possibility to set expire date when creating a rule via REST API; if unset pseudo-infinity (+100 years) will still be used as a default --- flowspec/viewsets.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/flowspec/viewsets.py b/flowspec/viewsets.py index 870e4e75..d20032a7 100644 --- a/flowspec/viewsets.py +++ b/flowspec/viewsets.py @@ -98,15 +98,20 @@ class RouteViewSet(viewsets.ModelViewSet): obj = super(RouteViewSet, self).create(request) requested_status = request.data.get("status", "INACTIVE") logger.debug("RouteViewSet::create(): requested_status="+str(requested_status)) - logger.info("RouteViewSet::create(): obj.type="+str(type(obj))) - logger.info("RouteViewSet::create(): obj="+str(obj)) - logger.info("RouteViewSet::create(): obj.dir="+str(dir(obj))) - logger.info("RouteViewSet::create(): obj.items="+str(obj.items)) + #logger.info("RouteViewSet::create(): obj.type="+str(type(obj))) + #logger.info("RouteViewSet::create(): obj="+str(obj)) + #logger.info("RouteViewSet::create(): obj.dir="+str(dir(obj))) + #logger.info("RouteViewSet::create(): obj.items="+str(obj.items)) logger.info("RouteViewSet::create(): obj.data="+str(obj.data)) - logger.info("RouteViewSet::create(): obj.data.id="+str(obj.data["id"])) + #logger.info("RouteViewSet::create(): obj.data.id="+str(obj.data["id"])) route = get_object_or_404(self.get_queryset(), pk=obj.data["id"]) route.response = "N/A" - route.set_no_expire() # REST API created routes should have no expiration date + + #logger.info("RouteViewSet::create(): obj.data="+str(obj.data)) + #logger.info("RouteViewSet::create(): route.expires="+str(route.expires)) + if (not ('expires' in obj.data)) or obj.data['expires']=='': + route.set_no_expire() # REST API created routes without expires value should have no expiration date by default + obj.data['expires'] = route.expires net_route_source=ip_network(route.source, strict=False) net_route_destination=ip_network(route.destination, strict=False) -- GitLab