[Dnsmasq-discuss] Feature Request: tftp-script
Shantanu Gadgil
shantanugadgil at yahoo.com
Sun Mar 25 17:02:18 BST 2012
Hi,
What I was suggesting in my previous post was ...
lets consider the following as a possible scenario ...
--- snip ---
tftp-script=/path/to/mytftpscript
dhcp-script=/path/to/mydhcpscript
dhcp6-script=/path/to/mydhcp6script
dns-script=/path/to/dnsscript
dns6-script=/path/to/dns6script
--- snip ---
[root at server ~]# ls -l /path/to/mytftpscript
lrwxrwxrwx. 1 root root 3 Mar 21 00:20 /path/to/mytftpscript -> mycommonscript
[root at server ~]# ls -l /path/to/mydhcpscript
lrwxrwxrwx. 1 root root 3 Mar 21 00:20 /path/to/mydhcpscript -> mycommonscript
[root at server ~]# ls -l /path/to/mydhcp6script
lrwxrwxrwx. 1 root root 3 Mar 21 00:20 /path/to/mydhcp6script -> mycommonscript
... and so on ...
The "mycommonscript" should have the necessary logic to decide which "script" is actually being called based of the value of "$0" (argv[0] in C speak) (the actual filename)
Keeping it this way would allow you to separate the "$1" value for the various possibilities, and not have to worry about script breakage during adding more parameters.
It becomes the script-writer's headache to cater/handle parameters as they appear (!)
The very attractive part here is that the user has to maintain only a single script.
Regards,
Shantanu
--- On Wed, 3/21/12, Simon Kelley <simon at thekelleys.org.uk> wrote:
> From: Simon Kelley <simon at thekelleys.org.uk>
> Subject: Re: [Dnsmasq-discuss] Feature Request: tftp-script
> To: dnsmasq-discuss at lists.thekelleys.org.uk
> Date: Wednesday, March 21, 2012, 5:35 PM
> On 21/03/12 11:49, Ed W wrote:
> > On 21/03/2012 09:50, Simon Kelley wrote:
> >> http://www.thekelleys.org.uk/dnsmasq/test-releases/dnsmasq-2.61test7.tar.gz
> >>
> >>
> >> Has the "tftp" action implemented. At the moment
> it's sent to the
> >> --dhcp-script script always. I'm still tending
> towards that solution,
> >> but haven't made the final decision. The bulk of
> the changes are done
> >> anyway.
> >
> > Just from the point of view of longer term plans.
> Recently I actually
> > read the documentation on Nginx perl (I think I put in
> the correct link
> > below?).
> > http://zzzcpan.github.com/nginx-perl/
> >
> > The point of looking is simply that at first sight,
> embedding a
> > relatively slow scripting language looks troublesome
> and a performance
> > issue. However, I was quite surprised at just HOW
> embedded is perl in
> > what is perhaps one of the highest performing network
> server software we
> > have to study at the moment....
> >
> > Lua would seem like a better bet for dnsmasq (than
> perl) due to the very
> > low installation size. Also performance is alleged to
> be extremely high
> > (for a scripting language) and the runtime is designed
> with
> > embeddability in mind. Nginx also allows embedded lua,
> although I
> > haven't studied to see if they achieve similar levels
> of integration
> >
> > I have an application (captive portal) where it would
> be quite
> > interesting to "manufacture" answers under some
> conditions, tweak
> > answers under others, and also "cheat" on caching
> timeouts in specific
> > situations (if the user if offline/dialup for
> example).
> >
> > Just trying to put ideas into your head...
> >
>
> Ed,
>
> It's not quite clear if you've looked at dnsmasq-2.60+ or
> not. Try
>
>
> make COPTS=-DHAVE_LUASCRIPT
>
> Lua got there first.
>
>
> There's an architectural problem with all the scripting (Lua
> and
> fork/exec) in dnsmasq at the moment; there's no sensible way
> to get
> information from the script back to dnsmasq. Events in
> dnsmasq get sent
> asynchronously down a pipe to a distinct the process which
> then runs the
> script. This achieves 1) privilege separation. 2) Script
> can't block
> dnsmasq - especially important when dnsmasq is a bit of a
> swiss-army knife.
>
> There is a back-channel for errors, which could be expanded.
> But there's
> no sensible way at the moment to make dnsmasq wait whilst
> (eg) a script
> tweaks a DNS answer.
>
> Cheers,
>
> Simon.
>
>
>
>
>
> _______________________________________________
> Dnsmasq-discuss mailing list
> Dnsmasq-discuss at lists.thekelleys.org.uk
> http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss
>
More information about the Dnsmasq-discuss
mailing list