[ previous ] [ next ] [ threads ]
 From:  Adam Nellemann <adam at nellemann dot nu>
 To:  "m0n0wall at lists dot m0n0 dot ch" <m0n0wall at lists dot m0n0 dot ch>
 Subject:  Regarding plugins
 Date:  Sat, 03 Apr 2004 02:14:35 +0200
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?