Chapter 4. Development Frequently Asked Questions

Table of Contents

4.1. I don't have a FreeBSD box to develop new features for m0n0wall, is there an easier way?
4.2. What patches have been applied to the FreeBSD source that is used in m0n0wall, and are they available?
4.3. Where can I find the m0n0wall source code?
4.4. Is there any information available on the unsupported extensions support?

This chapter contains development-related FAQ's. For non-development related FAQ's, see the main m0n0wall FAQ.

4.1. I don't have a FreeBSD box to develop new features for m0n0wall, is there an easier way?

You can use m0n0wall's built in features to test newly developed features. With this method you are not able to compile new binaries on the box, but are able to add php pages into the environment, as well as pre-compiled binaries.

  1. Develop the page

  2. Open a browser and point it to http://m0n0wall-ip/exec.php

  3. Upload the page and any binaries needed for it to function properly via exec.php.

  4. Execute the following to place php pages into the www root.

    cp /tmp/*.php /usr/local/www 
  5. If you need any binaries for the page to work, copy them into the appropriate places.

  6. Type in the address of your new page to try out your experiment.

Using this method, the image will revert after a reboot in case you messed something up. You may wish to write a script to move everything into its proper place and upload that along with your pages / binaries if the feature requires many files. Then simply execute the script in exec.php. After you've successfully tested the feature, and are happy with the result, submit your work to or the m0n0wall development list for it to be added to the project.