This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "IPFire 3.x development tree".
The branch, master has been updated via 44ee7247a3f98e46b2c9517c468df40130f5ed9f (commit) via 0bb94940130d251ffae655ffb81b5e5a3b31299e (commit) from 1fc643684a25cac48de05722b47d76874b51fbe2 (commit)
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below.
- Log ----------------------------------------------------------------- commit 44ee7247a3f98e46b2c9517c468df40130f5ed9f Author: Michael Tremer michael.tremer@ipfire.org Date: Sun Oct 7 07:21:41 2012 +0000
hostapd: Make new-style systemd unit file.
commit 0bb94940130d251ffae655ffb81b5e5a3b31299e Author: Michael Tremer michael.tremer@ipfire.org Date: Sun Oct 7 07:16:02 2012 +0000
dhcp: Fix duplicate file dhclient-script file.
This script had to be installed by the network package.
-----------------------------------------------------------------------
Summary of changes: dhcp/dhclient-script | 590 -------------------------------------- dhcp/dhcp.nm | 13 +- hostapd/hostapd.nm | 2 +- hostapd/systemd/hostapd@.service | 5 +- 4 files changed, 8 insertions(+), 602 deletions(-) delete mode 100644 dhcp/dhclient-script
Difference in files: diff --git a/dhcp/dhclient-script b/dhcp/dhclient-script deleted file mode 100644 index 6991938..0000000 --- a/dhcp/dhclient-script +++ /dev/null @@ -1,590 +0,0 @@ -#!/bin/bash -# -# dhclient-script: Network interface configuration script run by -# dhclient based on DHCP client communication -# -# Copyright (C) 2008 Red Hat, Inc. -# -# 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 2 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 http://www.gnu.org/licenses/. -# -# Author(s): David Cantrell dcantrell@redhat.com -# -# ---------- -# This script is a rewrite/reworking on dhclient-script originally -# included as part of dhcp-970306: -# dhclient-script for Linux. Dan Halbert, March, 1997. -# Updated for Linux 2.[12] by Brian J. Murrell, January 1999. -# Modified by David Cantrell dcantrell@redhat.com for Fedora and RHEL -# ---------- -# - -PATH=/bin:/usr/bin:/sbin -SAVEDIR=/var/lib/dhclient - -LOGFACILITY="local7" -LOGLEVEL="notice" - -logmessage() { - msg="${1}" - logger -p ${LOGFACILITY}.${LOGLEVEL} -t "NET" "dhclient: ${msg}" -} - -save_previous() { - origfile="${1}" - savefile="${SAVEDIR}/${origfile##*/}.predhclient.${interface}" - - if [ ! -d ${SAVEDIR} ]; then - mkdir -p ${SAVEDIR} - fi - - if [ -e ${origfile} ]; then - mv ${origfile} ${savefile} - else - echo > ${savefile} - fi -} - -make_resolv_conf() { - [ "${PEERDNS}" = "no" ] && return - - if [ "${reason}" = "RENEW" ] && - [ "${new_domain_name}" = "${old_domain_name}" ] && - [ "${new_domain_name_servers}" = "${old_domain_name_servers}" ]; then - return - fi - - if [ -n "${new_domain_name}" ] || - [ -n "${new_domain_name_servers}" ] || - [ -n "${new_domain_search}" ]; then - save_previous /etc/resolv.conf - rscf="$(mktemp /tmp/XXXXXX)" - echo "; generated by /sbin/dhclient-script" > ${rscf} - - if [ -n "${SEARCH}" ]; then - echo "search ${SEARCH}" >> $rscf - else - if [ -n "${new_domain_search}" ]; then - echo "search ${new_domain_search//\032/ }" >> ${rscf} - elif [ -n "${new_domain_name}" ]; then - echo "search ${new_domain_name//\032/ }" >> ${rscf} - fi - fi - - if [ -n "${RES_OPTIONS}" ]; then - echo "options ${RES_OPTIONS}" >> ${rscf} - fi - - for nameserver in ${new_domain_name_servers} ; do - echo "nameserver ${nameserver}" >> ${rscf} - done - - change_resolv_conf ${rscf} - rm -f ${rscf} - fi -} - -exit_with_hooks() { - exit_status="${1}" - - if [ -x /etc/dhclient-exit-hooks ]; then - . /etc/dhclient-exit-hooks - fi - - exit ${exit_status} -} - -quad2num() { - if [ $# -eq 4 ]; then - let n="${1} << 24 | ${2} << 16 | ${3} << 8 | ${4}" - echo "${n}" - return 0 - else - echo "0" - return 1 - fi -} - -ip2num() { - IFS="." quad2num ${1} -} - -num2ip() { - let n="${1}" - let o1="(n >> 24) & 0xff" - let o2="(n >> 16) & 0xff" - let o3="(n >> 8) & 0xff" - let o4="n & 0xff" - echo "${o1}.${o2}.${o3}.${o4}" -} - -mask() { - ip="${1}" - m="${2}" - let ip="$(IFS="." ip2num ${ip})" - let m="$(IFS="." ip2num ${m})" - let n="ip & m" - num2ip ${n} -} - -class_bits() { - let ip=$(IFS='.' ip2num $1) - let bits=32 - let mask='255' - for ((i=0; i <= 3; i++, 'mask<<=8')); do - let v='ip&mask' - if [ "$v" -eq 0 ] ; then - let bits-=8 - else - break - fi - done - echo $bits -} - -is_router_reachable() { - # handle DHCP servers that give us a router not on our subnet - router="${1}" - routersubnet="$(mask ${router} ${new_subnet_mask})" - mysubnet="$(mask ${new_ip_address} ${new_subnet_mask})" - unreachable=0 - - if [ ! "${routersubnet}" = "${mysubnet}" ]; then - unreachable=1 - if arping -f -q -I ${interface} -w2 ${router}; then - ip route add ${router}/32 dev ${interface} - if [ $? -eq 0 ]; then - unreachable=0 - else - logmessage "failed to create host router for unreachable router ${router} not on subnet ${mysubnet}" - fi - else - unreachable=1 - logmessage "DHCP router ${router} is unreachable on DHCP subnet ${mysubnet} router subnet ${routersubnet}" - fi - fi - - return ${unreachable} -} - -add_default_gateway() { - router="${1}" - metric="" - - if [ $# -gt 1 ] && [ ${2} -gt 0 ]; then - metric="metric ${2}" - fi - - if is_router_reachable ${router} ; then - ip route replace default via ${router} dev ${interface} ${metric} - if [ $? -ne 0 ]; then - logmessage "failed to create default route: ${router} dev ${interface} ${metric}" - return 1 - else - return 0 - fi - fi - - return 1 -} - -dhconfig() { - if [ -n "${old_ip_address}" ] && [ -n "${alias_ip_address}" ] && - [ ! "${alias_ip_address}" = "${old_ip_address}" ]; then - # possible new alias, remove old alias first - ip -family inet addr del ${old_ip_address} dev ${interface}:0 - fi - - if [ -n "${old_ip_address}" ] && - [ ! "${old_ip_address}" = "${new_ip_address}" ]; then - # IP address changed. Bringing down the interface will delete all - # routes, and clear the ARP cache. - ip -family inet addr flush dev ${interface} >/dev/null 2>&1 - ip -family inet link set dev ${interface} down - fi - - if [ "${reason}" = "BOUND" ] || [ "${reason}" = "REBOOT" ] || - [ ! "${old_ip_address}" = "${new_ip_address}" ] || - [ ! "${old_subnet_mask}" = "${new_subnet_mask}" ] || - [ ! "${old_network_number}" = "${new_network_number}" ] || - [ ! "${old_broadcast_address}" = "${new_broadcast_address}" ] || - [ ! "${old_routers}" = "${new_routers}" ] || - [ ! "${old_interface_mtu}" = "${new_interface_mtu}" ]; then - ip -family inet addr add ${new_ip_address}/${new_prefix} broadcast ${new_broadcast_address} dev ${interface} - - if [ -n "${new_interface_mtu}" ]; then - ip link set ${interface} mtu ${new_interface_mtu} - fi - - if [ -x /etc/dhclient-${interface}-up-hooks ]; then - . /etc/dhclient-${interface}-up-hooks - elif [ -x /etc/dhclient-up-hooks ]; then - . /etc/dhclient-up-hooks - fi - - if [[ (( -z "${GATEWAYDEV}" ) || - ( "${GATEWAYDEV}" = "${interface}" )) && - (( -z "$GATEWAY" ) || - (( -n "$DHCLIENT_IGNORE_GATEWAY" ) && - ( "$DHCLIENT_IGNORE_GATEWAY" = [Yy]* ))) ]]; then - metric="${METRIC:-}" - let i="${METRIC:-0}" - default_routers=() - - for router in ${new_routers} ; do - added_router=- - - for r in ${default_routers[@]} ; do - if [ "${r}" = "${router}" ]; then - added_router=1 - fi - done - - if [ -z "${router}" ] || - [ "${added_router}" = "1" ] || - [ $(IFS=. ip2num ${router}) -le 0 ] || - [[ ( "${router}" = "${new_broadcast_address}" ) && - ( "${new_subnet_mask}" != "255.255.255.255" ) ]]; then - continue - fi - - default_routers=(${default_routers[@]} ${router}) - add_default_gateway ${router} ${metric} - let i=i+1 - metric=${i} - done - elif [[ (( -z "${GATEWAYDEV}" ) || - ( "${GATEWAYDEV}" = "${interface}" )) && - ( -n "${GATEWAY}" ) ]]; then - routersubnet=$(mask ${GATEWAY} ${new_subnet_mask}) - mysubnet=$(mask ${new_ip_address} ${new_subnet_mask}) - - if [ "${routersubnet}" = "${mysubnet}" ]; then - ip route replace default via ${GATEWAY} dev ${interface} - fi - fi - - # static routes - if [ -n "${new_static_routes}" ]; then - IFS=', |' static_routes=(${new_static_routes}) - route_targets=() - - for((i=0; i<${#static_routes[@]}; i+=2)); do - target=${static_routes[$i]} - gateway=${static_routes[$i+1]} - metric='' - - for t in ${route_targets[@]}; do - if [ ${t} = ${target} ]; then - if [ -z "${metric}" ]; then - metric=1 - else - ((metric=metric+1)) - fi - fi - done - - if [ -n "${metric}" ]; then - metric="metric ${metric}" - fi - - if is_router_reachable ${gateway}; then - ip route replace ${target}/$(class_bits ${target}) via ${gateway} dev ${interface} ${metric} - - if [ $? -ne 0 ]; then - logmessage "failed to create static route: ${target}/$(class_bits ${target}) via ${gateway} dev ${interface} ${metric}" - else - route_targets=(${route_targets[@]} ${target}) - fi - fi - done - fi - fi - - if [ ! "${new_ip_address}" = "${alias_ip_address}" ] && - [ -n "${alias_ip_address}" ]; then - ip -family inet addr flush dev ${interface}:0 >/dev/null 2>&1 - ip -family inet addr add ${alias_ip_address}/${alias_prefix} dev ${interface}:0 - ip route replace ${alias_ip_address}/32 dev ${interface}:0 - fi - - make_resolv_conf - - if [ -n "${new_host_name}" ] && need_hostname; then - hostname ${new_host_name} - fi - - if [ ! "${PEERNIS}" = "no" ]; then - if [ -n "${new_nis_domain}" ]; then - domainname "${new_nis_domain}" - save_previous /etc/yp.conf - let contents=0 - echo '# generated by /sbin/dhclient-script' > /etc/yp.conf - - if [ -n "${new_nis_servers}" ]; then - for i in ${new_nis_servers} ; do - echo "domain ${new_nis_domain} server ${i}" >> /etc/yp.conf - let contents=contents+1 - done - else - echo "domain ${new_nis_domain} broadcast" >> /etc/yp.conf - let contents=contents+1 - fi - - if [ ${contents} -gt 0 ]; then - if [ -x /etc/rc.d/init.d/ypbind ] && - [ -r /var/run/ypbind.pid ]; then - service ypbind restart >/dev/null 2>&1 - fi - fi - elif [ -n "${new_nis_servers}" ]; then - save_previous /etc/yp.conf - echo '# generated by /sbin/dhclient-script' > /etc/yp.conf - let contents=0 - - for i in ${new_nis_servers} ; do - echo "ypserver ${i}" >> /etc/yp.conf - let contents=contents+1 - done - - if [ $contents -gt 0 ]; then - if [ -x /etc/rc.d/init.d/ypbind ] && - [ -r /var/run/ypbind.pid ]; then - service ypbind restart >/dev/null 2>&1 - fi - fi - fi - fi - - if [ -n "${DHCP_TIME_OFFSET_SETS_TIMEZONE}" ] && - [[ "${DHCP_TIME_OFFSET_SETS_TIMEZONE}" = [yY1]* ]]; then - if [ -n "${new_time_offset}" ]; then - # DHCP option "time-offset" is requested by default and should be - # handled. The geographical zone abbreviation cannot be determined - # from the GMT offset, but the $ZONEINFO/Etc/GMT$offset file can be - # used - note: this disables DST. - ((z=new_time_offset/3600)) - ((hoursWest=$(printf '%+d' $z))) - - if (( $hoursWest < 0 )); then - # tzdata treats negative 'hours west' as positive 'gmtoff'! - ((hoursWest*=-1)) - fi - - tzfile=/usr/share/zoneinfo/Etc/GMT$(printf '%+d' ${hoursWest}) - if [ -e ${tzfile} ]; then - save_previous /etc/localtime - cp -fp ${tzfile} /etc/localtime - touch /etc/localtime - fi - fi - fi - - if [ ! "${PEERNTP}" = "no" ] && - [ -n "${new_ntp_servers}" ] && [ -e /etc/ntp.conf ]; then - save_previous /etc/ntp.conf - egrep -v '^server .* # added by /sbin/dhclient-script$'< ${SAVEDIR}/ntp.conf.predhclient.${interface} > /etc/ntp.conf - - for s in ${new_ntp_servers} ; do - echo "server ${s} # added by /sbin/dhclient-script" >> /etc/ntp.conf - done - - diff -q /etc/ntp.conf ${SAVEDIR}/ntp.conf.predhclient.${interface} >/dev/null 2>&1 - if [ $? -eq 1 ]; then - service ntpd condrestart >/dev/null 2>&1 - fi - fi -} - -get_prefix() { - ip="${1}" - nm="${2}" - - if [ -n "${ip}" -a -n "${nm}" ]; then - ipcalc -s -p ${ip} ${nm} | cut -d '=' -f 2 - fi -} - - -# -# ### MAIN -# - -if [ -x /etc/dhclient-enter-hooks ]; then - exit_status=0 - - # dhclient-enter-hooks can abort dhclient-script by setting - # the exit_status variable to a non-zero value - . /etc/dhclient-enter-hooks - if [ ${exit_status} -ne 0 ]; then - exit ${exit_status} - fi -fi - -if [ ! -r /etc/sysconfig/network-scripts/network-functions ]; then - echo "Missing /etc/sysconfig/network-scripts/network-functions, exiting." >&2 - exit 1 -fi - -if [ ! -r /etc/rc.d/init.d/functions ]; then - echo "Missing /etc/rc.d/init.d/functions, exiting." >&2 - exit 1 -fi - -. /etc/sysconfig/network-scripts/network-functions -. /etc/rc.d/init.d/functions - -if [ -f /etc/sysconfig/network ]; then - . /etc/sysconfig/network -fi - -if [ -f /etc/sysconfig/networking/network ]; then - . /etc/sysconfig/networking/network -fi - -CONFIG="/etc/sysconfig/network-scripts/ifcfg-${interface}" -need_config ${CONFIG} -source_config >/dev/null 2>&1 - -new_prefix="$(get_prefix ${new_ip_address} ${new_subnet_mask})" -old_prefix="$(get_prefix ${old_ip_address} ${new_subnet_mask})" -alias_prefix="$(get_prefix ${alias_ip_address} ${alias_subnet_mask})" - -case "${reason}" in - MEDIUM) - # Linux doesn't handle mediums (media) - exit_with_hooks 0 - ;; - - PREINIT) - if [ -n "${alias_ip_address}" ]; then - # Bring down alias interface, its routes will disappear too. - ip -family inet link set ${interface}:0 down - fi - - if [ "${keep_old_ip}" = "yes" ]; then - ip -family inet link set ${interface} up - else - ip -family inet addr flush dev ${interface} >/dev/null 2>&1 - ip -family inet link set ${interface} up - fi - - if [ -n "${DHCLIENT_DELAY}" ] && [ ${DHCLIENT_DELAY} -gt 0 ]; then - sleep ${DHCLIENT_DELAY} - fi - - exit_with_hooks 0 - ;; - - ARPCHECK|ARPSEND) - if [ -z "${new_ip_address}" ] || [ -z "${interface}" ] || - arping -q -f -c 2 -w 3 -D -I ${interface} ${new_ip_address}; then - exit_with_hooks 0 - else - exit_with_hooks 1 - fi - ;; - - BOUND|RENEW|REBIND|REBOOT) - dhconfig - exit_with_hooks 0 - ;; - - EXPIRE|FAIL|RELEASE|STOP) - # only restore config files if there are no other dhclient processes - # running (#306381) - any_other_clients="$(ps -eo pid,ppid,comm | grep dhclient | grep -v ${PPID})" - if [ -n "${any_other_clients}" ]; then - if [ -f ${SAVEDIR}/resolv.conf.predhclient.${interface} ]; then - change_resolv_conf ${SAVEDIR}/resolv.conf.predhclient.${interface} - rm -f ${SAVEDIR}/resolv.conf.predhclient.${interface} - fi - - if [ -n "${DHCP_TIME_OFFSET_SETS_TIMEZONE}" ] && - [[ "${DHCP_TIME_OFFSET_SETS_TIMEZONE}" = [yY1]* ]]; then - if [ -e ${SAVEDIR}/localtime.predhclient.${interface} ]; then - rm -f /etc/localtime - mv ${SAVEDIR}/localtime.predhclient.${interface} /etc/localtime - touch /etc/localtime - fi - fi - - if [ -f ${SAVEDIR}/ntp.conf.predhclient.${interface} ]; then - rm -f /etc/ntp.conf - mv -f ${SAVEDIR}/ntp.conf.predhclient.${interface} /etc/ntp.conf - service ntpd condrestart >/dev/null 2>&1 - fi - - if [ -f ${SAVEDIR}/yp.conf.predhclient.${interface} ]; then - rm -f /etc/yp.conf - mv -f ${SAVEDIR}/yp.conf.predhclient.${interface} /etc/yp.conf - if [ -x /etc/rc.d/init.d/ypbind ] && [ -r /var/run/ypbind.pid ]; then - service ypbind restart >/dev/null 2>&1 - fi - fi - fi - - if [ -x /etc/dhclient-${interface}-down-hooks ]; then - . /etc/dhclient-${interface}-down-hooks - elif [ -x /etc/dhclient-down-hooks ]; then - . /etc/dhclient-down-hooks - fi - - if [ -n "${alias_ip_address}" ]; then - # Turn off alias interface - ip -family inet link set ${interface}:0 down - fi - - if [ -n "${old_ip_address}" ]; then - # Shut down interface, which will delete routes and clear arp cache. - ip -family inet addr flush dev ${interface} >/dev/null 2>&1 - ip -family inet link set ${interface} down - fi - - if [ -n "${alias_ip_address}" ]; then - ip -family inet addr add ${alias_ip_address}/${alias_prefix} dev ${interface}:0 - ip -family inet route replace ${alias_ip_address}/32 ${interface}:0 - fi - - exit_with_hooks 0 - ;; - - TIMEOUT) - if [ -n "${new_routers}" ]; then - if [ -n "${alias_ip_address}" ]; then - ip -family inet addr flush dev ${interface}:0 >/dev/null 2>&1 - fi - - ip -family inet addr add ${new_ip_address}/${new_prefix} broadcast ${new_broadcast_address} dev ${interface} - set ${new_routers} - - if ping -q -c 1 -w 10 -I ${interface} ${1}; then - dhconfig - exit_with_hooks 0 - fi - - ip -family inet addr flush dev ${interface} >/dev/null 2>&1 - ip -family inet link set ${interface} down - exit_with_hooks 1 - else - exit_with_hooks 1 - fi - ;; - - *) - logmessage "unhandled state: ${reason}" - exit_with_hooks 1 - ;; -esac - -exit_with_hooks 0 diff --git a/dhcp/dhcp.nm b/dhcp/dhcp.nm index f97734b..407873b 100644 --- a/dhcp/dhcp.nm +++ b/dhcp/dhcp.nm @@ -5,7 +5,7 @@
name = dhcp version = 4.2.4 -release = 1 +release = 2
groups = Networking/Daemons url = http://isc.org/products/DHCP/ @@ -113,14 +113,6 @@ build install_cmds rm -vf %{BUILDROOT}%{sysconfdir}/dhcp/dhclient.conf
- # Move the client to /sbin, create dirs - # and remove the default config. - mkdir -pv %{BUILDROOT}/sbin - mv -v %{BUILDROOT}/usr/sbin/dhclient %{BUILDROOT}/sbin/dhclient - - install -v -m 755 %{DIR_SOURCE}/dhclient-script \ - %{BUILDROOT}/sbin/dhclient-script - # Create runtime folders. mkdir -pv %{BUILDROOT}/var/lib/dhclient mkdir -pv %{BUILDROOT}/var/lib/dhcpd @@ -190,11 +182,12 @@ packages requires dhcp-common = %{thisver} dhcp-libs = %{thisver} + %{sbindir}/dhclient-script end
files %{unitdir}/dhclient*.service - /sbin + %{sbindir}/dhclient /usr/share/man/man5/dhclient* /usr/share/man/man8/dhclient* /var/lib/dhclient diff --git a/hostapd/hostapd.nm b/hostapd/hostapd.nm index 359add5..5e7351b 100644 --- a/hostapd/hostapd.nm +++ b/hostapd/hostapd.nm @@ -5,7 +5,7 @@
name = hostapd version = 1.0 -release = 1 +release = 2
groups = Networking/Tools url = http://hostap.epitest.fi/hostapd/ diff --git a/hostapd/systemd/hostapd@.service b/hostapd/systemd/hostapd@.service index 0fbfab5..b0c0a12 100644 --- a/hostapd/systemd/hostapd@.service +++ b/hostapd/systemd/hostapd@.service @@ -2,6 +2,9 @@ Description=hostap daemon on %I
[Service] -ExecStart=/usr/sbin/hostapd -P /run/network/hostapd/%I/pid /run/network/hostapd/%I/config +ExecStartPre=/usr/lib/network/helpers/hostapd-config-helper create %I +ExecStart=/usr/sbin/hostapd -P /run/hostapd/%I.pid /run/network/ports/%I/hostapd.conf +ExecStopPost=/usr/lib/network/helpers/hostapd-config-helper remove %I +Restart=on-failure UtmpIdentifier=%I KillMode=process
hooks/post-receive -- IPFire 3.x development tree