44 Commits

Author SHA1 Message Date
Martijn Laan
46252ab541
Cleanup. 2025-06-12 10:51:25 +02:00
Martijn Laan
a73d49d52e
Cleanup by adding TSetupFileVerification.
Still not tested. Also todo: doc & new clean messages commit.
2025-06-12 10:29:31 +02:00
Martijn Laan
41e4b363cd
Add SHA256 verification in all places where it can do ISSig verification, using new [Files] parameter Hash.
Didn't test anything yet. Want to do a small refactor first.
2025-06-12 09:31:14 +02:00
Martijn Laan
813d024dd4
Add download+issigverify support. This finishes the branch, only whatsnew todo + making a new fresh messages commit + test username/password support. 2025-06-08 20:28:13 +02:00
Martijn Laan
3c67d36bff
Add [Files] flag "download" for integrated download support. Was rather easy 👍
Todo:
-Handle username + password
-Add param for .issig url, like IssigSource? Now it requires a second entry
-Doc
-Allow download+extractarchive? I suppose the download part would need to be integrated differently since it first would need to download (all?) the archive(s) to {tmp} using CreateDownloadPage. Hooking up the download steam to the 7-Zip instream wouldn't work since it needs non-sequential access.
2025-06-08 13:42:34 +02:00
Martijn Laan
8fc5f81cbf
Merge branch 'main' into files-extractarchive 2025-06-06 21:03:04 +02:00
Martijn Laan
567972d993 [Types] and [Components] Check is special compared to others: it's called only once. Clarify this, at least internally and in the docs. 2025-06-05 13:05:26 +02:00
Martijn Laan
36177fd98a
Redo the message change. Todo: commit updated Default.isl. 2025-06-03 20:09:20 +02:00
Martijn Laan
c645409e76
Compiler: add extractarchive flag & ExtractArchivePassword parameter. 2025-05-30 14:26:20 +02:00
Martijn Laan
0d1c4dcdc6
Add [Setup] section directive ArchiveExtraction. Removes the need for the script to handle inclusion/extraction/loading. 2025-05-24 13:37:16 +02:00
Martijn Laan
56bbf40579
Add [ISSigKeys] RuntimeID, remove [Code] ISSigLoadTextFromFile. 2025-05-22 16:39:56 +02:00
Martijn Laan
e55eb8d7ef
Make it work even better :P 2025-05-09 07:54:57 +02:00
Martijn Laan
bbcadf5620
Make it work. (Reverted previous commit by force push, didn't need the overload.) 2025-05-09 07:48:03 +02:00
Martijn Laan
ce14023594
Add [Files] ISSigAllowedKeys parameter. Not yet used by Setup and not yet documented. Can be set to a space separated list of key names and groups.
Stored as a bitmask in an array of bytes using type AnsiString. Example: if the length is 2 and the first bit of both bytes are set and the others arent then the allowed keys are the ones with index 0 and index 8. So the 1st and 9th key.

If only the 1st and 9th key are allowed but there are many more keys, it still uses a length of 2. But if a 17th key is allowed then it uses a length of 3, even if no other keys are allowed. Etc.
2025-05-04 15:45:29 +02:00
Martijn Laan
5755722d39
Bump version. 2025-05-03 07:56:49 +02:00
Martijn Laan
ebd3321ee0
Merge branch 'main' into issigkeys 2025-05-03 07:41:57 +02:00
Martijn Laan
3ccd8aa43a
Prepare for release. 2025-05-03 07:34:20 +02:00
Martijn Laan
9a737ff209
Don't store the key names in TSetupISSigKeyEntry but separately. Also some other cleanup. 2025-04-30 19:47:01 +02:00
Martijn Laan
3379262afc
Merge branch 'main' into issigkeys
# Conflicts:
#	Projects/Src/Compiler.SetupCompiler.pas
#	Projects/Src/Shared.Struct.pas
2025-04-23 17:14:12 +02:00
Martijn Laan
00d335b7ef
Cleanup: TSetupFileLocationEntry contained a few things which Setup doesn't need and are only for the compiler. Keep those in a separate record and companion list. 2025-04-23 17:05:10 +02:00
Martijn Laan
c07b743201
Will need the flag on the file location entry as well. 2025-04-22 20:16:52 +02:00
Martijn Laan
9a4333cfc8
Merge branch 'main' into issigkeys 2025-04-22 20:15:24 +02:00
Martijn Laan
6aec0a55a7
Distinguish file options (fo) and file location options (flo). 2025-04-22 20:15:17 +02:00
Martijn Laan
65ebcc30db
Add issigverify flag, doesnt actually verify yet. The external+issigverify limitation is temporary. Still already storing stuff in SetupHeader. The sign+issigverify limitation is not temporary since signing breaks the issig. 2025-04-22 20:00:35 +02:00
Martijn Laan
ac2b262ddc
Some initial work on [ISSigKeys]. 2025-04-22 18:47:44 +02:00
Martijn Laan
919421bb63
Bump version. whatsnew.htm was already done a while ago but forgot the rest. Doesnt mean trustfunc branch is done. 2025-04-17 09:42:21 +02:00
Martijn Laan
05cffee88d
Prepare for release. 2025-03-12 21:06:20 +01:00
Martijn Laan
72756e5787
Add [Setup] section directive CloseApplicationsFilterExcludes and bump version. 2025-02-19 09:40:28 +01:00
Martijn Laan
9720e6398c
Prepare for release. 2025-02-12 06:49:17 +01:00
Martijn Laan
4316b021ba
Bump version. 2025-01-11 13:29:11 +01:00
Martijn Laan
eb3d2680de
Prepare for release. 2025-01-08 16:35:27 +01:00
Jordan Russell
5931308522
Remove shBackColorHorizontal. 2024-12-22 03:29:27 -06:00
Jordan Russell
56828462f1
Finish updating compiler, Struct. 2024-12-15 01:53:59 -06:00
Martijn Laan
96853695e2
Update for new messages. 2024-11-15 00:02:22 +01:00
Martijn Laan
a5a8448fc2
Added [Setup] section directive EncryptionKeyDerivation. 2024-09-29 14:42:29 +02:00
Martijn Laan
6876665c8a
Use PBKDF2 to get the encryption key. Chose to use 100,000 iterations and a 128-bit salt. 2024-09-27 16:24:48 +02:00
Martijn Laan
9a91001f91
Cleanup password testing: use the encryption itself (by encrypting 0 and comparing results) to test the password instead of having something separate as before.
Encryption itself is unchanged by this commit except that the key is now derived from the password only once. So it still uses SHA-256 for this.

The next step is changing this to a proper KDF, by changing the implementation of GenerateEncryptionKey and the TSetupEncryptionKey type.
2024-09-26 13:26:30 +02:00
Martijn Laan
58b27f351b
Cleanup remaining MD5, SHA1 and Hash unit use. 2024-09-26 11:39:48 +02:00
Martijn Laan
ea6f7b69c8
Use SHA256 instead of SHA1 for the password hashing. 2024-09-01 19:46:24 +02:00
Martijn Laan
db877306fa
Implement the base nonce. 2024-09-01 18:46:43 +02:00
Martijn Laan
d9d845ab62
Replace ArcFour with XChaCha20 which also removes iscrypt.dll use.
Todo:
-Use a single random base nonce for all files
-Remove/replace various iscrypt use in .iss scripts
-Delete iscrypt.dll on updates
-Update help & whatsnew & web
-Rename TSetupSalt/TSetupNonce?
2024-08-31 22:14:32 +02:00
Martijn Laan
e1e7b59b65
Redo "Improve sign flags handling for merged entries."
This reverts commit ed1f132e8c69d5dc9511c7be817948f00648f53d.
2024-08-24 08:10:29 +02:00
Martijn Laan
ed1f132e8c
Improve sign flags handling for merged entries. 2024-08-23 08:38:14 +02:00
Martijn Laan
8da185fed3
Add Shared prefix to the shared files. Todo: double check for unintended changes outside of uses (and some name cleanupfor this + move sources back into Src). 2024-08-03 21:19:08 +02:00