*** switchto Sun Sep 21 08:00:29 2003 --- switchto.new Wed Jul 14 15:13:07 2004 *************** *** 26,36 **** # # Send bug-reports, comments, women to bugs@muthanna.com # ! # Also see /etc/switchto.conf for further docs. # # Release: 0.16 # # $Log: switchto,v $ # Revision 1.17 2003/01/23 16:07:59 muthanna # - Taint mode warning on some systems fix. # --- 26,42 ---- # # Send bug-reports, comments, women to bugs@muthanna.com # ! # Also see /etc/quickswitch/switchto.conf for further docs. # # Release: 0.16 # # $Log: switchto,v $ + # Revision 1.18 2004/07/14 15:10:41 btaitelb + # - Added iwconfig options (without parameter checking) + # - the following are now valid keywords: + # essid, nwid, freq, channel, sens, mode, ap, nick, + # rate, rts, frag, txpower, key, power, retry + # # Revision 1.17 2003/01/23 16:07:59 muthanna # - Taint mode warning on some systems fix. # *************** *** 143,157 **** $AUTHOR = "Mohit Muthanna, Paul Seamons"; $DATE = '2002'; ! ### I would suggest renaming this /etc/switchto.conf ! $CONF_FILE = "/etc/switchto.conf"; %DEFAULTS = ( autoconfig => 0, device => "eth0", ifconfig => "/sbin/ifconfig", iwconfig => "/sbin/iwconfig", dhcpconfig => "/sbin/dhcpcd -n", # newer versions of redhat ! dhcpkill => "/sbin/dhcpcd -k", # newer versions of redhat netstat => "/bin/netstat", route => "/sbin/route", hostnamecmd => "/bin/hostname", --- 149,163 ---- $AUTHOR = "Mohit Muthanna, Paul Seamons"; $DATE = '2002'; ! ### I would suggest renaming this /etc/quickswitch/switchto.conf ! $CONF_FILE = "/etc/quickswitch/switchto.conf"; %DEFAULTS = ( autoconfig => 0, device => "eth0", ifconfig => "/sbin/ifconfig", iwconfig => "/sbin/iwconfig", dhcpconfig => "/sbin/dhcpcd -n", # newer versions of redhat ! dhcpkill => "/sbin/dhcpcd -k", # newer versions of redhat netstat => "/bin/netstat", route => "/sbin/route", hostnamecmd => "/bin/hostname", *************** *** 165,171 **** nfsexportall => "/usr/sbin/exportfs -a", nfsexportsfile => "/etc/exports", niscommand => "/bin/nisdomainname", ! servicefilename => "/etc/switchto.last", execpre => undef, execpost => undef, --- 171,177 ---- nfsexportall => "/usr/sbin/exportfs -a", nfsexportsfile => "/etc/exports", niscommand => "/bin/nisdomainname", ! servicefilename => "/etc/quickswitch/switchto.last", execpre => undef, execpost => undef, *************** *** 472,478 **** domain search usehosts nfsexports nisdomain essid ! key )){ $self->{$key} = $ref->{$key} if defined($ref->{$key}); } --- 478,490 ---- domain search usehosts nfsexports nisdomain essid ! nwid freq ! channel sens ! mode ap ! nick rate ! rts frag ! txpower key ! power retry )){ $self->{$key} = $ref->{$key} if defined($ref->{$key}); } *************** *** 523,529 **** $self->{hostname} = lc($1); print "Got Hostname \"$self->{hostname}\"\n" if $self->{verbose}; } ! if( $cmd_line =~ m/\s+essid:(\S+)?/i ){ $self->humanerr("Invalid ESSID.\n") unless length($1); $self->{essid} = $1; --- 535,541 ---- $self->{hostname} = lc($1); print "Got Hostname \"$self->{hostname}\"\n" if $self->{verbose}; } ! if( $cmd_line =~ m/\s+essid:(\S+)?/i ){ $self->humanerr("Invalid ESSID.\n") unless length($1); $self->{essid} = $1; *************** *** 536,541 **** --- 548,556 ---- $self->{key} = $1; print "Got key \"$self->{key}\"\n" if $self->{verbose}; } + + # other iwconfig parameter checks should go here! + if( $cmd_line =~ m/\s+usehosts:(\S+)?/i ){ $self->humanerr("Invalid host file name.\n") unless length($1); *************** *** 600,607 **** $self->do_execpre if $self->{execpre}; # Setup wireless LAN configuration ! $self->configure_wireless if $self->{essid} || $self->{key}; ! # Setup the device (default is eth0) $self->configure_device; --- 615,637 ---- $self->do_execpre if $self->{execpre}; # Setup wireless LAN configuration ! $self->configure_wireless if ! $self->{essid} || ! $self->{nwid} || ! $self->{freq} || ! $self->{channel} || ! $self->{sens} || ! $self->{mode} || ! $self->{ap} || ! $self->{nick} || ! $self->{rate} || ! $self->{rts} || ! $self->{frag} || ! $self->{txpower} || ! $self->{key} || ! $self->{power} || ! $self->{retry}; ! # Setup the device (default is eth0) $self->configure_device; *************** *** 687,699 **** sub configure_wireless { my $self = shift; ! $self->do_command("Setting up ESSID...\n", "$self->{iwconfig} $self->{device} essid $self->{essid}") if defined $self->{essid}; ! $self->do_command("Setting up iwconfig key...\n", "$self->{iwconfig} $self->{device} key $self->{key}") if defined $self->{key}; } sub configure_device { --- 717,781 ---- sub configure_wireless { my $self = shift; ! $self->do_command("Setting up iwconfig mode...\n", ! "$self->{iwconfig} $self->{device} mode $self->{mode}") ! if defined $self->{mode}; ! ! $self->do_command("Setting up essid...\n", "$self->{iwconfig} $self->{device} essid $self->{essid}") if defined $self->{essid}; ! $self->do_command("Setting up nwid...\n", ! "$self->{iwconfig} $self->{device} nwid $self->{nwid}") ! if defined $self->{nwid}; ! ! $self->do_command("Setting up freq...\n", ! "$self->{iwconfig} $self->{device} freq $self->{freq}") ! if defined $self->{freq}; ! ! $self->do_command("Setting up channel...\n", ! "$self->{iwconfig} $self->{device} channel $self->{channel}") ! if defined $self->{channel}; ! ! $self->do_command("Setting up sens...\n", ! "$self->{iwconfig} $self->{device} sens $self->{sens}") ! if defined $self->{sens}; ! ! $self->do_command("Setting up ap...\n", ! "$self->{iwconfig} $self->{device} ap $self->{ap}") ! if defined $self->{ap}; ! ! $self->do_command("Setting up nick...\n", ! "$self->{iwconfig} $self->{device} nick $self->{nick}") ! if defined $self->{nick}; ! ! $self->do_command("Setting up rate...\n", ! "$self->{iwconfig} $self->{device} rate $self->{rate}") ! if defined $self->{rate}; ! ! $self->do_command("Setting up rts...\n", ! "$self->{iwconfig} $self->{device} rts $self->{rts}") ! if defined $self->{rts}; ! ! $self->do_command("Setting up frag...\n", ! "$self->{iwconfig} $self->{device} frag $self->{frag}") ! if defined $self->{frag}; ! ! $self->do_command("Setting up txpower...\n", ! "$self->{iwconfig} $self->{device} txpower $self->{txpower}") ! if defined $self->{txpower}; ! ! $self->do_command("Setting up key...\n", "$self->{iwconfig} $self->{device} key $self->{key}") if defined $self->{key}; + + $self->do_command("Setting up power...\n", + "$self->{iwconfig} $self->{device} power $self->{power}") + if defined $self->{power}; + + $self->do_command("Setting up retry...\n", + "$self->{iwconfig} $self->{device} retry $self->{retry}") + if defined $self->{retry}; } sub configure_device {