Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 8 Sep 1998 08:52:34 +0200 (CEST)
From:      Dirk-Willem van Gulik <dirk.vangulik@jrc.it>
To:        Marc Slemko <marcs@znep.com>
Cc:        Mike Smith <mike@smith.net.au>, mobile@FreeBSD.ORG
Subject:   Re: my pccard changes 
Message-ID:  <Pine.BSF.3.96.980908083602.275Y-100000@elpc36.jrc.it>
In-Reply-To: <Pine.BSF.4.03.9809071317360.10533-100000@alive.znep.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On Mon, 7 Sep 1998, Marc Slemko wrote:

> On Sun, 6 Sep 1998, Mike Smith wrote:
> 
> > > In my situation I take my laptop between multiple ethernets, and I can't
> > > use DHCP because I'm unlucky.
> > ...
> > > and a shell script that lets me just run "location home" and have
> > > pccard_location="home" put into /etc/pccard_location.  The same applies
> > > for any number of locations.
> > > 
> > > Pretty simple modificatons; just FYI if anyone else was wanting to do the
> > > same thing but hadn't bothered to.
> > 
> > What you want is this:
> 
> Except that that doesn't deal with wanting to just modify parts of a file.
> 
> I agree that, in general, when you need changed resolv.conf, and arbitrary
> other files it may make sense.
> 
> But you still need other changes; either modifying pccard_ether with hacks
> or replacing it, replacing rc.conf, etc.  And it really doesn't make sense
> to completely replace either of those just for one or two settings.  I
> don't see anywhere that I can completely replace a file to change the IP
> address and default route without also having a lot more baggage around.

I could not agree more ! I ended up sourcing the '. rc.conf' each time
and then overriding a few. Unfortunately not all DHCP servers supply all
values. So that ends up beeing messy too.

Dw.

#>/etc/locs
# location	ip		mask		router		dns(s)
webweaving	DHCP
behind		10.0.1.109	255.255.255.128	10.0.1.1	10.0.1.2
front		139.191.7.99	255.255.255.0	139.191.7.1     139.191.7.3
elsvier		123.7.240.9	255.255.255.0	123.7.240.254

#!/usr/local/bin/perl
# dirkx@webweaving.org - for vaio
$loc=lc shift or `cat /etc/.lastloc`;
open(F,'/etc/locs') or die "Could not open location file:$!";
while(<F>) {
	chomp; next if m/^\s*\#g/;
	($tloc,$ip,$net,$router,@dns)=split;
	($ok=1,last) if $loc eq lc $tloc;	
	};

die "No such location" unless $ok;

open(F,'>/etc.lastloc');print F $loc;close(F);

push @dns,"139.191.1.142"
	unless $#dns>0;

%vars=( 
	'ifconfig_unkown' => $ip,
	'ifconfig_pccard' => $ip,
	'default_router' => $router 
	);

if ($ip ne 'DHCP') {
	mv '/etc/resolv.conf','/etc/resolv.conf.old' or die "CNM:$!";
	open(F,'>/etc/resolv.conf');
	print F "# Created $0 $loc - ".gmtime(time)."\n";
	print F "search webweaving.org. jrc.it .\n";
	map { print F "nameserver $_\n" } @dns;
	close(F);
	$vars{ ifconfig_pccard } .=' netmask '.$net;
	};

$comm = ". rc.conf\n";
foreach(keys(%vars)) { $comm .= "$_ = \"$vars{$_}\"\nexport $_\n"; };
$comm .="/etc/pccard_config all\n";

exec $comm;



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-mobile" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.96.980908083602.275Y-100000>