ispsetup (was: Re: FreeBSD in Dixons)

Dominic Mitchell dom at happygiraffe.net
Sat Mar 11 18:11:52 GMT 2000


--+QahgC5+KEYLbs62
Content-Type: text/plain; charset=us-ascii

On Sat, Mar 11, 2000 at 12:09:31AM +0000, Dominic Mitchell wrote:
> On Fri, Mar 10, 2000 at 08:35:30AM +0000, Brian Somers wrote:
> > So, how about
> > 
> >    /usr/share/isp/defaults
> >    /usr/share/isp/uk/defaults
> >    /usr/share/isp/uk/pavilion
> >    /usr/share/isp/uk/demon
> >    /usr/share/isp/uk/bt
> >    /usr/share/isp/uk/force9
> > 
> > etc ?  These files would contain the standard bourne shell variable 
> > assignments, and then there'd be
> > 
> >    genconfig [-pnmlis] [otheroptions]
> > 
> > where the above flags generate configurations for ppp, named, mail, 
> > leafnode, innd and squid respectively.  We'd also want flags like 
> > -d domain to auto-specify your domain etc.
> > 
> > Any interest in something like this ?
> 
> Sounds like an excellent idea.  Whilst one can shoehorn everything into
> one big ppp.conf and call it as necessary, the other config files would
> be a lot more difficult.
> 
> > I think the main thing here is to make it easy to add new options - 
> > for example:
> > 
> > /usr/share/isp/uk/someisp
> >   phone=1234567
> >   services=ppp
> >   domain=someisp.co.uk
> > 
> > Would tell the program that it can generate a ppp.conf with the 
> > standard template and only the phone number specified.  It would then 
> > prompt for your authname/authkey and ask if you want to use a login 
> > script (it would generate one with \\U & \\P).  Or
> > 
> > /usr/share/isp/uk/demon
> >   phone=1234567
> >   pppdns=false
> >   proxy=www-cache.demon.co.uk
> >   services=ppp,squid,leafnode
> > 
> > where it prompts for your host/domain, authname and authkey, and allows 
> > you to configure squid using the given proxy) and leafnode using the 
> > standard news.domain.
> 
> This sounds more and more interesting.  Why didn't somebody do this
> years ago?
> 
> I'll have a go at throwing together a sample implementation tonight
> (it's only midnight and I'm bored :) and see what I come up with.

Right, I have a simple prototype ready.  I've attached a file called
ispsetup.tar.gz.  Extract it in ~/tmp.  I've only implemented ppp.conf
setup, but others can work along similiar lines.  Basically, it just
collects parameters and m4's them into config files.

It uses two file-hierarchies, .../isp, which is where the shell-style
isp definition files are stored.  Also, there is .../isp-templates which
contains template configuration files, one per service.  I've also set
up the script to dump config files into .../isp-destdir, just so it
doesn't overwrite your own config files!

ispsetup also uses defaults files, like Brian described.

To run it, just give it a filename, relative to .../isp.  eg:

$ ispsetup.sh uk/demon

Optionally, you give a list of which services to configure on the
command line after the file.  This will be more useful when I've
implemented more than one.  :-)

Comments:
* It *really* needs a better interface.  I think dialog would be good
  and would match tzsetup(8).
* It really shows why you should do stuff like this in perl or python.
  Some of sh's programming constructs are very obscure and
  unmaintanable...
* We need to sit down together and figure out 90% of the variables
  needed to configure each service for an isp.  There are a number of
  issues involved.  The biggie for me is how to do resolv.conf
  correctly, even in the case of multiple isp's (not all of them give
  DNS configuration through IPCP).
* A number of configuration issues depend on which port/package has been
  installed.  eg: sendmail vs postifx vs exim vs qmail or perhaps squid
  vs. wwwoffle.  I'm not entirely sure how best to approach this.

Anyway, have a look and let me know what you think.

-Dom

--+QahgC5+KEYLbs62
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="ispsetup.tar.gz"
Content-Transfer-Encoding: base64

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
csghh/8T+CekeMbFAFAAAA==

--+QahgC5+KEYLbs62--





More information about the Ukfreebsd mailing list