tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

README.mozilla (2650B)


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