This directory contains the liteFirewall plugin for the Windows NSIS installer. This enables creation of firewall rules during the install process. This directory contains an modified copy of the liteFirewall source code version 1.0, which is based on nsisFirewall 1.2. As stated by License.txt this code is under the zlib license. A few modifications have been made to this copy of the source code. The recent modifications among those are contained in mozilla_customizations.diff, which should be found in the same directory as this file. Making Future src Customizations -------------------------------- When we make future customizations, they should be made both to the source files, and to `mozilla_customizations.diff`. Ideally, this should be done in a consistent way so that the changes to `mozilla_customizations.diff` are at least somewhat readable in code review rather than just being a complete rewrite of the file every time. Following these steps should accomplish this. 1) Start with a clean copy of mozilla-central. 2) Make a Mercurial commit: `hg commit`. For convenience referring to this commit later, you can bookmark it: `hg bookmark -if liteFirewall`. 3) Update back to central: `hg up central`. 4) Generate a diff and ensure there are no new changes to `mozilla_customizations.diff`: `hg diff --from=central --to=liteFirewall --unified=3 | diff - other-licenses/nsis/Contrib/liteFirewall/mozilla_customizations.diff` If there are any changes (say `hg diff`'s output format changed), it may be good to re-generate `mozilla_customizations.diff` and commit it separately. 5) Make the new customizations. 6) Build the Visual Studio solution. This may be incompatible with later versions of Visual Studio. We can get around this by upgrading the solution file when prompted, however, these updated project files should not be committed. This may require that the Visual Studio Installer be re-run to add the MFC components, if you don't already have it. This can be done by following the instructions on [Microsoft Learn](https://learn.microsoft.com/en-us/visualstudio/msbuild/errors/msb8041). Ensure the build targets point to other-licenses/nsis/Plugins.liteFirewallW.dll and that the build is done for Unicode. 7) Regenerate `mozilla_customizations.diff` while only capturing the file extensions needed: `hg diff --from=central --to=liteFirewall --unified=3 -I "**/*.h" -I "**/*.cpp" -I "other-licenses/nsis/Contrib/liteFirewall/" >> other-licenses/nsis/Contrib/liteFirewall/mozilla_customizations.diff`