[ previous ] [ next ] [ threads ]
 From:  "Bosse Timothy" <Bosse dot tf at mellon dot com>
 To:  <m0n0wall at lists dot m0n0 dot ch>
 Subject:  RE: [m0n0wall] Regarding plugins
 Date:  Fri, 2 Apr 2004 19:55:03 -0500
The nice thing about the plug-in system is that if the plugin is created
properly, it should be extremely simple to install.  Look at it from
this mock-up:

1.  Default m0n0 is installed on device.
Nothing special here.

2.  m0n0 is initially set up.
Again, nothing special

3.  Download plug-in to m0n0wall using the firmware update method.
Starts to get interesting

4.  Once downloaded, go to http<s>://<m0n0-ip>/exec.php
Now that the image is on m0n0wall.  Magical things can start to happen
at this point.

5.  Run the plug-in setup command<s>
Hopefully this will self extract, run a few commands to install the
software with default settings.  Then remove any files from the download
directory on the m0n0wall.  This depends on how well the plug-in is

6.  Reboot (possibly not necessary if done correctly)
If the install runs correctly, it would be possible to stop/start
necessary services in order to update the configuration site.

7.  Configure plug-in
If the plug-in creators were so kind, there should be good configuration
page(s) available to the user.

The whole thing hinges on good development of the plug-ins.  Everything
you need to make changes is already there and readily available.
Inclusion of the plug-ins should not rely on an outside program or site
to create an image for the person.  If we were to create it externally,
then it's no longer a plug-in, but a custom image.  At that point, why
not host the new image somewhere to share with everybody who might be

Now that everything is in place to create plug-ins, somebody needs to
step up to the plate and begin standardizing how plug-ins get added to
m0n0;  default installation/uninstall methods, etc...  Perhaps a
skeleton set of scripts/templates, etc...

-----Original Message-----
From: Adam Nellemann [mailto:adam at nellemann dot nu] 
Sent: Friday, April 02, 2004 7:15 PM
To: m0n0wall at lists dot m0n0 dot ch
Subject: [m0n0wall] Regarding plugins

Hi All,

If I understand the concept correctly, it is necesary to take a lot of 
BSD specific actions (such as rebuilding the m0n0wall image and other 
arcane incantations), in order to get a particular plugin to work.

I fully understand why Manuel has choosen this way of doing it, since 
he isn't very keen on the whole plugin idea, and probably didn't want 
to spend too much time implementing this feature.

This, however, will still leave people like me with a big problem once 
there are plugins available that we'd like to use. With next to no 
knowledge about *NIX and no BSD box to do these things on, I can't see 
how I'd ever get a plugin onto my m0n0wall box by myself?

Anyone have any suggestions as to how this process could be automated 
or at least made simpler, and preferably without needing a BSD box for 
the job?

Anyway, here's my ideas about how this might be done:

A small utility (preferably available for several platforms, notably 
Win32) capable of taking a m0n0wall image and one or more plugin 
files, as specified by the user, and combining these into a new image 
with the plugins installed correctly. This file could then be 
installed through the normal firmware upgrade procedure.

Or, risking a trip to inifity: Would it be possible to (recursion 
begins) make a plugin capable of installing other plugins directly 
from the m0n0wall webGUI? (recursion ends)

That is, wouldn't it be possible to have a plugin download a (number 
of) plugin file(s) choosen by the user, and if necessary, grab a 
firmware image at the same time. Then it could do the necessary image 
magic, combining the two (or more) files, finally installing this just 
like it was a normal firmware image and rebooting the box. Voila, 
plugin support in the webGUI, plug'n'play style!

The plugin concept could possibly be expanded by having it contact a 
server on the internet, obtain a current list of plugins, show these 
in the webGUI with some checkboxes alongside. Then the user could 
select the plugins needed, which would then be downloaded from the 
server (again, possibly along with a firmware image, if necesary?) 
These files would then be combined and installed as above in one fell 

Note that the above would also provide another nice functionality for 
m0n0wall: The ability to download a new firmware directly from the 
internet, without need to download it to a local folder, and then 
point the webGUI to the local copy.

Well, just some thoughts. As you might guess, I wouldn't know how to 
do either of these suggestions, but perhaps some of you BSD 
proffesionals might find it a worthwhile pasttime?



To unsubscribe, e-mail: m0n0wall dash unsubscribe at lists dot m0n0 dot ch
For additional commands, e-mail: m0n0wall dash help at lists dot m0n0 dot ch 
The information contained in this e-mail may be confidential and is intended solely for the use of
the named addressee. 
Access, copying or re-use of the e-mail or any information contained therein by any other person is
not authorized. 
If you are not the intended recipient please notify us immediately by returning the e-mail to the