Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
T
tor-browser-build
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 199
    • Issues 199
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 7
    • Merge Requests 7
  • Operations
    • Operations
    • Incidents
  • Analytics
    • Analytics
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar

GitLab is used only for code review, issue tracking and project management. Canonical locations for source code are still https://gitweb.torproject.org/ https://git.torproject.org/ and git-rw.torproject.org.

  • The Tor Project
  • Applications
  • tor-browser-build
  • Issues
  • #40090

Closed
Open
Created Sep 14, 2020 by Georg Koppen@gkDeveloper

NSIS 3.06.1 based builds are not reproducible anymore

While building 10.0a7 we realized that Windows builds were not matching anymore. Extracting 32bit .exe files (with 7z x) it turns out the NSIS .dlls in the PLUGINSDIR were different. Inspecting them with xxd (diff -u <(xxd 1/\$PLUGINSDIR/System.dll) <(xxd 2/\$PLUGINSDIR/System.dll)) showed the following:

--- /dev/fd/63	2020-09-14 13:36:43.586345952 +0000
+++ /dev/fd/62	2020-09-14 13:36:43.590345980 +0000
@@ -6,7 +6,7 @@
 00000050: 6973 2070 726f 6772 616d 2063 616e 6e6f  is program canno
 00000060: 7420 6265 2072 756e 2069 6e20 444f 5320  t be run in DOS
 00000070: 6d6f 6465 2e0d 0d0a 2400 0000 0000 0000  mode....$.......
-00000080: 5045 0000 4c01 0900 3076 5c5f 0000 0000  PE..L...0v\_....
+00000080: 5045 0000 4c01 0900 acc6 5c5f 0000 0000  PE..L.....\_....
 00000090: 0000 0000 e000 2e23 0b01 021f 0046 0000  .......#.....F..
 000000a0: 0064 0000 0004 0000 a633 0000 0010 0000  .d.......3......
 000000b0: 0060 0000 0000 6c63 0010 0000 0002 0000  .`....lc........
@@ -1342,7 +1342,7 @@
 000053d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
 000053e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
 000053f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
-00005400: 0000 0000 3076 5c5f 0000 0000 7890 0000  ....0v\_....x...
+00005400: 0000 0000 acc6 5c5f 0000 0000 7890 0000  ......\_....x...
 00005410: 0100 0000 0800 0000 0800 0000 2890 0000  ............(...
 00005420: 4890 0000 6890 0000 7514 0000 c831 0000  H...h...u....1..
 00005430: a114 0000 c71b 0000 3d29 0000 441c 0000  ........=)..D...

After the PE header ends with \0\0 The COFF header starts with 2 bytes for the Machine attribute and 2 bytes for the NumberOfSections. Immediately after those the differences begin in the TimeDateStamp part. The same timestamps seem to show up later again.

I am not sure why I did not see those, though when redoing the build. I probably recreated only the .exe files assuming the issue was solely in those and not in binaries coming with NSIS itself.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Tor Browser: 10.0
Milestone
Tor Browser: 10.0
Assign milestone
Time tracking
None
Due date
None