ext-sources/gnome-system-tools-network-admin.ksh
author an230044
Mon, 27 Sep 2010 11:32:21 +0000
branchopensolaris-2009-06
changeset 20102 2d19c462bb98
parent 13776 895a6b9270c5
child 14507 5e590640f3db
permissions -rwxr-xr-x
6917569 CVE-2008-5824 libaudiofile contains heap-based buffer overflow in msadpcm.c Committing for Rohini because of svn issues on opensolaris2009.06 branch.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10128
98a8602b763c 2007-06-27 Darren Kenny <[email protected]>
dkenny
parents:
diff changeset
     1
#!/bin/ksh -ph
98a8602b763c 2007-06-27 Darren Kenny <[email protected]>
dkenny
parents:
diff changeset
     2
13261
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
     3
APP_TMP_DIR=`mktemp -d -t net_admin_XXXXXX`
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
     4
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
     5
trap "rm -rf ${APP_TMP_DIR}" 0 1 2 11 15
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
     6
10128
98a8602b763c 2007-06-27 Darren Kenny <[email protected]>
dkenny
parents:
diff changeset
     7
#Figure out location of BASEDIR
98a8602b763c 2007-06-27 Darren Kenny <[email protected]>
dkenny
parents:
diff changeset
     8
BASEDIR=${0%/bin/*}
98a8602b763c 2007-06-27 Darren Kenny <[email protected]>
dkenny
parents:
diff changeset
     9
BASEDIR=${BASEDIR:-/usr} 
98a8602b763c 2007-06-27 Darren Kenny <[email protected]>
dkenny
parents:
diff changeset
    10
13388
949d08fbd0ea 2008-09-03 Darren Kenny <[email protected]>
dkenny
parents: 13261
diff changeset
    11
PATH=/usr/sbin:/sbin:${BASEDIR}/sbin:${PATH}
949d08fbd0ea 2008-09-03 Darren Kenny <[email protected]>
dkenny
parents: 13261
diff changeset
    12
export PATH
949d08fbd0ea 2008-09-03 Darren Kenny <[email protected]>
dkenny
parents: 13261
diff changeset
    13
13261
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
    14
zenity=$BASEDIR/bin/zenity
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
    15
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
    16
NET_PHYSICAL_SVC=svc:/network/physical
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
    17
12783
5c70add7bda0 2008-07-09 Takao Fujiwara <[email protected]>
fujiwara
parents: 10128
diff changeset
    18
LING=$LC_ALL
5c70add7bda0 2008-07-09 Takao Fujiwara <[email protected]>
fujiwara
parents: 10128
diff changeset
    19
LING=${LING:-$LC_MESSAGES}
5c70add7bda0 2008-07-09 Takao Fujiwara <[email protected]>
fujiwara
parents: 10128
diff changeset
    20
LING=${LING:-$LANG}
5c70add7bda0 2008-07-09 Takao Fujiwara <[email protected]>
fujiwara
parents: 10128
diff changeset
    21
10128
98a8602b763c 2007-06-27 Darren Kenny <[email protected]>
dkenny
parents:
diff changeset
    22
TEXTDOMAINDIR=${BASEDIR}/share/locale
98a8602b763c 2007-06-27 Darren Kenny <[email protected]>
dkenny
parents:
diff changeset
    23
TEXTDOMAIN=gnome-system-tools
98a8602b763c 2007-06-27 Darren Kenny <[email protected]>
dkenny
parents:
diff changeset
    24
export TEXTDOMAINDIR TEXTDOMAIN
98a8602b763c 2007-06-27 Darren Kenny <[email protected]>
dkenny
parents:
diff changeset
    25
12783
5c70add7bda0 2008-07-09 Takao Fujiwara <[email protected]>
fujiwara
parents: 10128
diff changeset
    26
5c70add7bda0 2008-07-09 Takao Fujiwara <[email protected]>
fujiwara
parents: 10128
diff changeset
    27
N_() {
5c70add7bda0 2008-07-09 Takao Fujiwara <[email protected]>
fujiwara
parents: 10128
diff changeset
    28
    echo "$@"
5c70add7bda0 2008-07-09 Takao Fujiwara <[email protected]>
fujiwara
parents: 10128
diff changeset
    29
}
5c70add7bda0 2008-07-09 Takao Fujiwara <[email protected]>
fujiwara
parents: 10128
diff changeset
    30
5c70add7bda0 2008-07-09 Takao Fujiwara <[email protected]>
fujiwara
parents: 10128
diff changeset
    31
_() {
12784
3eaa974e9d2a 2008-07-09 Takao Fujiwara <[email protected]>
fujiwara
parents: 12783
diff changeset
    32
    if [ x"$LING" = x -o x"$LING" = x"C" -o x"$LING" = x"POSIX" ] ; then
12783
5c70add7bda0 2008-07-09 Takao Fujiwara <[email protected]>
fujiwara
parents: 10128
diff changeset
    33
        echo "$@"
5c70add7bda0 2008-07-09 Takao Fujiwara <[email protected]>
fujiwara
parents: 10128
diff changeset
    34
    else
5c70add7bda0 2008-07-09 Takao Fujiwara <[email protected]>
fujiwara
parents: 10128
diff changeset
    35
        gettext "$@"
5c70add7bda0 2008-07-09 Takao Fujiwara <[email protected]>
fujiwara
parents: 10128
diff changeset
    36
    fi
5c70add7bda0 2008-07-09 Takao Fujiwara <[email protected]>
fujiwara
parents: 10128
diff changeset
    37
}
5c70add7bda0 2008-07-09 Takao Fujiwara <[email protected]>
fujiwara
parents: 10128
diff changeset
    38
10128
98a8602b763c 2007-06-27 Darren Kenny <[email protected]>
dkenny
parents:
diff changeset
    39
isRunningNWAM() {
98a8602b763c 2007-06-27 Darren Kenny <[email protected]>
dkenny
parents:
diff changeset
    40
    state_nwam=`/usr/bin/svcs -H -o state svc:/network/physical:nwam 2>/dev/null`
98a8602b763c 2007-06-27 Darren Kenny <[email protected]>
dkenny
parents:
diff changeset
    41
98a8602b763c 2007-06-27 Darren Kenny <[email protected]>
dkenny
parents:
diff changeset
    42
    if [ "${state_nwam}" = "online" ]
98a8602b763c 2007-06-27 Darren Kenny <[email protected]>
dkenny
parents:
diff changeset
    43
    then
98a8602b763c 2007-06-27 Darren Kenny <[email protected]>
dkenny
parents:
diff changeset
    44
        return 0
98a8602b763c 2007-06-27 Darren Kenny <[email protected]>
dkenny
parents:
diff changeset
    45
    else
98a8602b763c 2007-06-27 Darren Kenny <[email protected]>
dkenny
parents:
diff changeset
    46
        return 1
98a8602b763c 2007-06-27 Darren Kenny <[email protected]>
dkenny
parents:
diff changeset
    47
    fi
98a8602b763c 2007-06-27 Darren Kenny <[email protected]>
dkenny
parents:
diff changeset
    48
}
98a8602b763c 2007-06-27 Darren Kenny <[email protected]>
dkenny
parents:
diff changeset
    49
13261
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
    50
set_network_physical () {
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
    51
    if [ "$1" = "auto" ]; then
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
    52
        to_enable=nwam
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
    53
        to_disable=default
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
    54
    else
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
    55
        to_enable=default
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
    56
        to_disable=nwam
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
    57
    fi
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
    58
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
    59
    # Try svcadm directly, use might have sufficient auths.
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
    60
    switch_completed=false
13776
895a6b9270c5 2008-09-26 Darren Kenny <[email protected]>
dkenny
parents: 13388
diff changeset
    61
    if pfexec -P all svcadm disable -s "${NET_PHYSICAL_SVC}:${to_disable}" 2>/dev/null; then
895a6b9270c5 2008-09-26 Darren Kenny <[email protected]>
dkenny
parents: 13388
diff changeset
    62
        if pfexec -P all svcadm enable -s "${NET_PHYSICAL_SVC}:${to_enable}" 2>/dev/null; then
13261
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
    63
            switch_completed=true
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
    64
        else 
13388
949d08fbd0ea 2008-09-03 Darren Kenny <[email protected]>
dkenny
parents: 13261
diff changeset
    65
            # Restore to previous state.
13776
895a6b9270c5 2008-09-26 Darren Kenny <[email protected]>
dkenny
parents: 13388
diff changeset
    66
            pfexec -P all svcadm enable -s "${NET_PHYSICAL_SVC}:${to_disable}" 2>/dev/null
13261
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
    67
        fi
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
    68
    fi
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
    69
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
    70
    if [ "$switch_completed" = "false" ]; then
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
    71
        # Try again using gksu since svcadm failed.
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
    72
        TMPFILE=${APP_TMP_DIR}/switch_to_${1}.$$.sh
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
    73
        cat > ${TMPFILE} <<_EOF
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
    74
#!/bin/sh
13776
895a6b9270c5 2008-09-26 Darren Kenny <[email protected]>
dkenny
parents: 13388
diff changeset
    75
    if svcadm disable -s "${NET_PHYSICAL_SVC}:${to_disable}"; then
895a6b9270c5 2008-09-26 Darren Kenny <[email protected]>
dkenny
parents: 13388
diff changeset
    76
        if svcadm enable -s "${NET_PHYSICAL_SVC}:${to_enable}"; then
13261
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
    77
            :
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
    78
        else 
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
    79
            # Restore to previous state
13776
895a6b9270c5 2008-09-26 Darren Kenny <[email protected]>
dkenny
parents: 13388
diff changeset
    80
            svcadm enable -s "${NET_PHYSICAL_SVC}:${to_disable}"
13261
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
    81
        fi
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
    82
    fi
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
    83
_EOF
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
    84
        chmod 555 ${TMPFILE}
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
    85
        gksu --title="$TITLE" /bin/sh ${TMPFILE}
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
    86
    fi
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
    87
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
    88
    #Check to see if we successfully completed all tasks.
13776
895a6b9270c5 2008-09-26 Darren Kenny <[email protected]>
dkenny
parents: 13388
diff changeset
    89
    sleep 3 # Slight delay to give SMF time to switch.
13388
949d08fbd0ea 2008-09-03 Darren Kenny <[email protected]>
dkenny
parents: 13261
diff changeset
    90
    if [ "${to_enable}" = "nwam" ]; then
949d08fbd0ea 2008-09-03 Darren Kenny <[email protected]>
dkenny
parents: 13261
diff changeset
    91
        if isRunningNWAM; then
949d08fbd0ea 2008-09-03 Darren Kenny <[email protected]>
dkenny
parents: 13261
diff changeset
    92
            rval=0
13261
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
    93
        else
13388
949d08fbd0ea 2008-09-03 Darren Kenny <[email protected]>
dkenny
parents: 13261
diff changeset
    94
            # If NWAM is not running then we failed.
949d08fbd0ea 2008-09-03 Darren Kenny <[email protected]>
dkenny
parents: 13261
diff changeset
    95
            rval=1
13261
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
    96
        fi
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
    97
    else
13388
949d08fbd0ea 2008-09-03 Darren Kenny <[email protected]>
dkenny
parents: 13261
diff changeset
    98
        # NWAM should be disabled in this case.
949d08fbd0ea 2008-09-03 Darren Kenny <[email protected]>
dkenny
parents: 13261
diff changeset
    99
        if isRunningNWAM; then
949d08fbd0ea 2008-09-03 Darren Kenny <[email protected]>
dkenny
parents: 13261
diff changeset
   100
            # If NWAM still running we failed.
949d08fbd0ea 2008-09-03 Darren Kenny <[email protected]>
dkenny
parents: 13261
diff changeset
   101
            rval=1
13261
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   102
        else
13388
949d08fbd0ea 2008-09-03 Darren Kenny <[email protected]>
dkenny
parents: 13261
diff changeset
   103
            rval=0
13261
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   104
        fi
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   105
    fi
13388
949d08fbd0ea 2008-09-03 Darren Kenny <[email protected]>
dkenny
parents: 13261
diff changeset
   106
949d08fbd0ea 2008-09-03 Darren Kenny <[email protected]>
dkenny
parents: 13261
diff changeset
   107
    return $rval
13261
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   108
}
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   109
12783
5c70add7bda0 2008-07-09 Takao Fujiwara <[email protected]>
fujiwara
parents: 10128
diff changeset
   110
# SUN_BRANDING
13261
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   111
_TITLE=`N_ "Network Administration"`
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   112
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   113
# SUN_BRANDING
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   114
_MANUAL_OK_BUTTON=`N_ "Manual"`
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   115
# SUN_BRANDING
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   116
_MANUAL_CANCEL_BUTTON=`N_ "Cancel"`
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   117
# SUN_BRANDING
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   118
_MANUAL_ERROR=`N_ "An error occured switching to Manual mode."`
12783
5c70add7bda0 2008-07-09 Takao Fujiwara <[email protected]>
fujiwara
parents: 10128
diff changeset
   119
# SUN_BRANDING
13261
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   120
_MANUAL_MESSAGE_1=`N_ "Your system is currently configured to manage the"`
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   121
# SUN_BRANDING
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   122
_MANUAL_MESSAGE_2=`N_ "network automatically. Click '${_MANUAL_OK_BUTTON}' to manually"`
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   123
# SUN_BRANDING
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   124
_MANUAL_MESSAGE_3=`N_ "configure the network connection."`
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   125
# SUN_BRANDING
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   126
_MANUAL_MESSAGE_NUM=3
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   127
12783
5c70add7bda0 2008-07-09 Takao Fujiwara <[email protected]>
fujiwara
parents: 10128
diff changeset
   128
# SUN_BRANDING
13261
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   129
_AUTO_OK_BUTTON=`N_ "Automatic"`
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   130
# SUN_BRANDING
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   131
_AUTO_CANCEL_BUTTON=`N_ "Continue"`
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   132
# SUN_BRANDING
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   133
_AUTO_ERROR=`N_ "An error occured switching to Automatic mode."`
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   134
# SUN_BRANDING
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   135
_AUTO_MESSAGE_1=`N_ "Your system is currently configured to manage the"`
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   136
# SUN_BRANDING
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   137
_AUTO_MESSAGE_2=`N_ "network manually. Click "${_AUTO_OK_BUTTON}" to have the"`
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   138
# SUN_BRANDING
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   139
_AUTO_MESSAGE_3=`N_ "network configured automatically."`
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   140
# SUN_BRANDING
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   141
_AUTO_MESSAGE_4=`N_ ""`
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   142
# SUN_BRANDING
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   143
_AUTO_MESSAGE_5=`N_ "Otherwise click '${_AUTO_CANCEL_BUTTON}' to continue to"`
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   144
# SUN_BRANDING
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   145
_AUTO_MESSAGE_6=`N_ "configure the network manually."`
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   146
# SUN_BRANDING
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   147
_AUTO_MESSAGE_NUM=6
10128
98a8602b763c 2007-06-27 Darren Kenny <[email protected]>
dkenny
parents:
diff changeset
   148
12783
5c70add7bda0 2008-07-09 Takao Fujiwara <[email protected]>
fujiwara
parents: 10128
diff changeset
   149
TITLE=`_ "${_TITLE}"`
10128
98a8602b763c 2007-06-27 Darren Kenny <[email protected]>
dkenny
parents:
diff changeset
   150
13261
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   151
if isRunningNWAM; then
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   152
    ALTMODE='MANUAL'
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   153
    OK_BUTTON=`_ "${_MANUAL_OK_BUTTON}"`
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   154
    CANCEL_BUTTON=`_ "${_MANUAL_CANCEL_BUTTON}"`
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   155
    ERROR_MSG=`_ "${_MANUAL_ERROR}"`
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   156
else
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   157
    ALTMODE='AUTO'
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   158
    OK_BUTTON=`_ "${_AUTO_OK_BUTTON}"`
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   159
    CANCEL_BUTTON=`_ "${_AUTO_CANCEL_BUTTON}"`
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   160
    ERROR_MSG=`_ "${_AUTO_ERROR}"`
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   161
fi
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   162
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   163
NUM_MSG=`eval echo \$\{_${ALTMODE}_MESSAGE_NUM\}`
12783
5c70add7bda0 2008-07-09 Takao Fujiwara <[email protected]>
fujiwara
parents: 10128
diff changeset
   164
I=1
13261
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   165
while [ $I -le $NUM_MSG ]
12783
5c70add7bda0 2008-07-09 Takao Fujiwara <[email protected]>
fujiwara
parents: 10128
diff changeset
   166
do
13261
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   167
    eval _MSG_I=\$\{_${ALTMODE}_MESSAGE_${I}\}
12783
5c70add7bda0 2008-07-09 Takao Fujiwara <[email protected]>
fujiwara
parents: 10128
diff changeset
   168
    if [ x"$_MSG_I" = x ] ; then
5c70add7bda0 2008-07-09 Takao Fujiwara <[email protected]>
fujiwara
parents: 10128
diff changeset
   169
        eval MSG${I}=
5c70add7bda0 2008-07-09 Takao Fujiwara <[email protected]>
fujiwara
parents: 10128
diff changeset
   170
    else
13261
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   171
        eval MSG${I}=\`_ \"\$_MSG_I\" \`
12783
5c70add7bda0 2008-07-09 Takao Fujiwara <[email protected]>
fujiwara
parents: 10128
diff changeset
   172
    fi
5c70add7bda0 2008-07-09 Takao Fujiwara <[email protected]>
fujiwara
parents: 10128
diff changeset
   173
    I=`expr $I + 1`
5c70add7bda0 2008-07-09 Takao Fujiwara <[email protected]>
fujiwara
parents: 10128
diff changeset
   174
done
10128
98a8602b763c 2007-06-27 Darren Kenny <[email protected]>
dkenny
parents:
diff changeset
   175
12783
5c70add7bda0 2008-07-09 Takao Fujiwara <[email protected]>
fujiwara
parents: 10128
diff changeset
   176
MSG=""
5c70add7bda0 2008-07-09 Takao Fujiwara <[email protected]>
fujiwara
parents: 10128
diff changeset
   177
I=1
13261
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   178
while [ $I -le $NUM_MSG ]
12783
5c70add7bda0 2008-07-09 Takao Fujiwara <[email protected]>
fujiwara
parents: 10128
diff changeset
   179
do
5c70add7bda0 2008-07-09 Takao Fujiwara <[email protected]>
fujiwara
parents: 10128
diff changeset
   180
  eval MSG="\$MSG\\\n\$MSG$I"
5c70add7bda0 2008-07-09 Takao Fujiwara <[email protected]>
fujiwara
parents: 10128
diff changeset
   181
  I=`expr $I + 1`
5c70add7bda0 2008-07-09 Takao Fujiwara <[email protected]>
fujiwara
parents: 10128
diff changeset
   182
done
10128
98a8602b763c 2007-06-27 Darren Kenny <[email protected]>
dkenny
parents:
diff changeset
   183
13261
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   184
if [ -n "${1}" -a "X${1}" = "X--switch-to-manual" ]; then
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   185
    shift
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   186
    if [ "$ALTMODE" = "MANUAL" ]; then
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   187
        if set_network_physical manual; then
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   188
            :
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   189
        else
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   190
            $zenity --error --title="${TITLE}" --text="${ERROR_MSG}"
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   191
        fi
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   192
    fi
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   193
elif [ -n "${1}" -a "X${1}" = "X--switch-to-auto" ]; then
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   194
    shift
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   195
    if [ "$ALTMODE" = "AUTO" ]; then
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   196
        if set_network_physical auto; then
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   197
            :
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   198
        else
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   199
            $zenity --error --title="${TITLE}" --text="${ERROR_MSG}"
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   200
        fi
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   201
    fi
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   202
else 
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   203
    $zenity --question --ok-label="${OK_BUTTON}" --cancel-label="${CANCEL_BUTTON}" \
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   204
            --title="${TITLE}" --text="${MSG}"
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   205
    response_code=$?
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   206
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   207
    if [ "$ALTMODE" = "MANUAL" ]; then
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   208
        if [ $response_code -eq 0 ]; then   # Switch to Manual
13388
949d08fbd0ea 2008-09-03 Darren Kenny <[email protected]>
dkenny
parents: 13261
diff changeset
   209
            if set_network_physical manual; then
949d08fbd0ea 2008-09-03 Darren Kenny <[email protected]>
dkenny
parents: 13261
diff changeset
   210
                exec ${BASEDIR}/lib/network-admin ${1+"$@"}
13261
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   211
            else
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   212
                $zenity --error --title="${TITLE}" --text="${ERROR_MSG}"
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   213
            fi
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   214
        else
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   215
            exit 0  # Do nothing
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   216
        fi
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   217
    elif [ "$ALTMODE" = "AUTO" ]; then
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   218
        if [ $response_code -eq 0 ]; then   # Switch to Auto
13388
949d08fbd0ea 2008-09-03 Darren Kenny <[email protected]>
dkenny
parents: 13261
diff changeset
   219
            if set_network_physical auto; then
13261
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   220
                :
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   221
            else
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   222
                $zenity --error --title="${TITLE}" --text="${ERROR_MSG}"
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   223
            fi
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   224
        else
13388
949d08fbd0ea 2008-09-03 Darren Kenny <[email protected]>
dkenny
parents: 13261
diff changeset
   225
            exec ${BASEDIR}/lib/network-admin ${1+"$@"}
13261
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   226
        fi
f957c6ffbda4 2008-08-22 Darren Kenny <[email protected]>
dkenny
parents: 12784
diff changeset
   227
    fi
10128
98a8602b763c 2007-06-27 Darren Kenny <[email protected]>
dkenny
parents:
diff changeset
   228
fi