#!/bin/sh # # Copyright 2009-2014 Red Hat, Inc. All rights reserved. # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above # copyright notice and this permission notice appear in all copies. # # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. # REGDOMAIN=/etc/sysconfig/regdomain LOCALTIME=/etc/localtime LOGGER="/usr/bin/logger -t crda" getcountry() { while read c a z r do if [ "$z" = "$ZONE" ] then echo $c break fi done < /usr/share/zoneinfo/zone.tab } if [ -f $REGDOMAIN ] then # This should set COUNTRY . $REGDOMAIN if [ -n "$COUNTRY" ] then /usr/sbin/iw reg set $COUNTRY exit fi fi if [ -f "$LOCALTIME" ] then ZONE=$(readlink $LOCALTIME) ZONE=${ZONE#/usr/share/zoneinfo/} ZONE=${ZONE#../usr/share/zoneinfo/} else $LOGGER -s "Timezone information not found! Unable to set regulatory domain." exit fi if [ -z "$ZONE" ] then $LOGGER -s "Timezone information not set! Unable to set regulatory domain." exit fi COUNTRY=$(getcountry) if [ -z "$COUNTRY" ] then $LOGGER -s "Could not determine country! Unable to set regulatory domain." exit fi $LOGGER "setting regulatory domain to $COUNTRY based on timezone ($ZONE)" /usr/sbin/iw reg set $COUNTRY