From: Michael Tremer Date: Sun, 25 Jul 2010 12:59:05 +0000 (+0200) Subject: network: Some code cleanup. X-Git-Tag: 001~37 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1578dae929cd6e4fe51418e2180cd478fda938dc;p=network.git network: Some code cleanup. --- diff --git a/functions.constants b/functions.constants index 75ad5779..4dd91983 100644 --- a/functions.constants +++ b/functions.constants @@ -43,7 +43,7 @@ DB_CONNECTION_FILE="${LOG_DIR}/connections.db" EXIT_OK=0 EXIT_ERROR=1 EXIT_CONF_ERROR=2 -EXIT_ERROR_ASSERT=3 # XXX needs check +EXIT_ERROR_ASSERT=3 STATUS_UP=0 STATUS_DOWN=1 diff --git a/functions.device b/functions.device index d0ab0ce3..40e8eb44 100644 --- a/functions.device +++ b/functions.device @@ -292,25 +292,6 @@ function device_is_used() { return ${EXIT_ERROR} } -# XXX to be removed I think -function device_get_free() { - local destination=${1} - - # Replace + by a valid number - if grep -q "+$" <<<${destination}; then - local number=0 - destination=$(sed -e "s/+//" <<<$destination) - while [ "${number}" -le "100" ]; do - if ! device_exists "${destination}${number}"; then - destination="${destination}${number}" - break - fi - number=$(($number + 1)) - done - fi - echo "${destination}" -} - function device_hash() { local device=${1} @@ -324,7 +305,7 @@ function device_hash() { # Give the device a new name function device_set_name() { local source=$1 - local destination=$(device_get_free ${2}) + local destination=${2} # Check if devices exists if ! device_exists ${source} || device_exists ${destination}; then diff --git a/functions.ethernet b/functions.ethernet index 189950fe..71cd5ad0 100644 --- a/functions.ethernet +++ b/functions.ethernet @@ -1,2 +1,20 @@ #!/bin/bash -# XXX header missing +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2010 Michael Tremer & Christian Schmidt # +# # +# This program 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. # +# # +# This program 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 this program. If not, see . # +# # +############################################################################### diff --git a/functions.events b/functions.events index 7ba44e89..895f8010 100644 --- a/functions.events +++ b/functions.events @@ -1,4 +1,23 @@ #!/bin/bash +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2010 Michael Tremer & Christian Schmidt # +# # +# This program 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. # +# # +# This program 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 this program. If not, see . # +# # +############################################################################### function event_emit() { local event=${1} diff --git a/functions.logging b/functions.logging index db5c8efa..e909a74e 100644 --- a/functions.logging +++ b/functions.logging @@ -1,4 +1,23 @@ #!/bin/bash +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2010 Michael Tremer & Christian Schmidt # +# # +# This program 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. # +# # +# This program 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 this program. If not, see . # +# # +############################################################################### LOG_FACILITY="network" LOG_LEVEL="DEBUG" diff --git a/functions.ports b/functions.ports index 74be61df..feecaa24 100644 --- a/functions.ports +++ b/functions.ports @@ -1,5 +1,23 @@ #!/bin/bash -# XXX header missing +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2010 Michael Tremer & Christian Schmidt # +# # +# This program 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. # +# # +# This program 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 this program. If not, see . # +# # +############################################################################### function port_dir() { echo "${CONFIG_DIR}/ports" diff --git a/functions.wireless b/functions.wireless index 7cfd7f13..07a2ee09 100644 --- a/functions.wireless +++ b/functions.wireless @@ -1,5 +1,23 @@ #!/bin/bash -# XXX header missing +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2010 Michael Tremer & Christian Schmidt # +# # +# This program 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. # +# # +# This program 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 this program. If not, see . # +# # +############################################################################### PHY_DIR="/sys/class/ieee80211" diff --git a/hooks/zones/bridge.ports/wireless-ap b/hooks/zones/bridge.ports/wireless-ap deleted file mode 100755 index f7dd5064..00000000 --- a/hooks/zones/bridge.ports/wireless-ap +++ /dev/null @@ -1,155 +0,0 @@ -#!/bin/bash -############################################################################### -# # -# IPFire.org - A linux based firewall # -# Copyright (C) 2010 Michael Tremer & Christian Schmidt # -# # -# This program 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. # -# # -# This program 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 this program. If not, see . # -# # -############################################################################### - -. /lib/network/header-port - -HOOK_SETTINGS="COST PRIORITY" - -function _check() { - local i - for i in COST PRIORITY; do - if isset ${i}; then - assert isinteger ${i} - fi - done -} - -function _add() { - local zone=${1} - local port=${2} - shift 2 - - assert isset zone - assert isset port - - if ! port_exists ${port}; then - error "Port '${port}' does not exist." - exit ${EXIT_ERROR} - fi - - config_read $(zone_dir ${zone})/ports/${port} - - while [ $# -gt 0 ]; do - case "${1}" in - --priority=*) - PRIORITY=${1#--priority=} - ;; - --cost=*) - COST=${1#--cost=} - ;; - esac - shift - done - - config_write $(zone_dir ${zone})/ports/${port} ${HOOK_SETTINGS} - - exit ${EXIT_OK} -} - -function _edit() { - _add $@ -} - -function _rem() { - local zone=${1} - local port=${2} - - assert isset zone - assert isset port - - assert zone_exists ${zone} - - if ! listmatch ${port} $(zone_get_ports ${zone}); then - error "Port '${port}' does not belong to '${zone}'." - error "Won't remove anything." - exit ${EXIT_ERROR} - fi - - if port_exists ${port}; then - ( _down ${zone} ${port} ) - fi - - rm -f $(zone_dir ${zone})/ports/${port} - - exit ${EXIT_OK} -} - -function _up() { - local zone=${1} - local port=${2} - - assert isset zone - assert isset port - - assert zone_exists ${zone} - assert port_exists ${port} - - port_up ${port} - - # Set same MTU to device that the bridge has got - device_set_mtu ${port} $(device_get_mtu ${zone}) - - bridge_attach_device ${zone} ${port} - - # XXX must set cost and prio here - - exit ${EXIT_OK} -} - -function _down() { - local zone=${1} - local port=${2} - - assert isset zone - assert isset port - - assert zone_exists ${zone} - assert port_exists ${port} - - bridge_detach_device ${zone} ${port} - - port_down ${port} - - exit ${EXIT_OK} -} - -function _status() { - local zone=${1} - local port=${2} - - printf " %-10s - " "${port}" - if ! device_is_up ${port}; then - echo -ne "${COLOUR_DOWN} DOWN ${COLOUR_NORMAL}" - else - local state=$(stp_port_state ${zone} ${port}) - local colour="COLOUR_STP_${state}" - printf "${!colour}%10s${COLOUR_NORMAL}" ${state} - - echo -n " - DSR: $(stp_port_designated_root ${zone} ${port})" - echo -n " - Cost: $(stp_port_pathcost ${zone} ${port})" - fi - - echo - - exit ${EXIT_OK} -} - -run $@ diff --git a/hooks/zones/bridge.ports/wireless-ap b/hooks/zones/bridge.ports/wireless-ap new file mode 120000 index 00000000..3857774a --- /dev/null +++ b/hooks/zones/bridge.ports/wireless-ap @@ -0,0 +1 @@ +ethernet \ No newline at end of file