#!/bin/sh -e # # 2016 Kamila Součková (coding at kamila.is) # # This file is part of cdist. # # cdist is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cdist is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with cdist. If not, see . # # TODO it would be cool to print a warning if a generated anchor is unused in pf.conf ANCHORS_DIR=/etc/pf.d proto="$(cat "${__object}/parameter/proto")" from="$(cat "${__object}/parameter/from")" to="$(cat "${__object}/parameter/to")" state="$(cat "${__object}/parameter/state")" # This breaks utterly with IPv6 from="$(echo ${from} | sed 's/:/ port /')" to="$(echo ${to} | sed 's/:/ port /')" anchor_name="$(echo ${__object_id} | cut -d/ -f1)" rule="rdr pass log proto ${proto} from any to ${from} -> ${to}" __directory "${ANCHORS_DIR}" --parents require="__directory/${ANCHORS_DIR}" \ __line __pf_rdr/${__object_id} --state ${state} --line "${rule}" --file ${ANCHORS_DIR}/${anchor_name}