Просмотр исходного кода

Improve Add(Ex)WithISSigVerify: accept both URLs at once.

Martijn Laan 3 месяцев назад
Родитель
Сommit
f718296112

+ 2 - 2
ISHelp/isxclasses.pas

@@ -778,9 +778,9 @@ TDownloadWizardPage = class(TOutputProgressWizardPage)
   property AbortButton: TNewButton; read;
   property AbortedByUser: Boolean; read;
   function Add(const Url, BaseName, RequiredSHA256OfFile: String): Integer;
-  function AddWithISSigVerify(const Url, BaseName: String; const AllowedKeysRuntimeIDs: TStringList): Integer;
+  function AddWithISSigVerify(const Url, IssigUrl, BaseName: String; const AllowedKeysRuntimeIDs: TStringList): Integer;
   function AddEx(const Url, BaseName, RequiredSHA256OfFile, UserName, Password: String): Integer;
-  function AddExWithISSigVerify(const Url, BaseName, UserName, Password: String; const AllowedKeysRuntimeIDs: TStringList: Integer;
+  function AddExWithISSigVerify(const Url, IssigUrl, BaseName, UserName, Password: String; const AllowedKeysRuntimeIDs: TStringList: Integer;
   procedure Clear;
   function Download: Int64;
   property ShowBaseNameInsteadOfUrl: Boolean; read write;

+ 2 - 2
ISHelp/isxclasses_wordlists_generated.pas

@@ -85,10 +85,10 @@ var
     'function AddEx(ACaption: String; ALevel: Byte; AExclusive: Boolean): Integer;',
     'function AddEx(ArchiveFileName, DestDir, Password: String; FullPaths: Boolean): Integer;',
     'function AddEx(Url, BaseName, RequiredSHA256OfFile, UserName, Password: String): Integer;',
-    'function AddExWithISSigVerify(Url, BaseName, UserName, Password: String; AllowedKeysRuntimeIDs: TStringList: Integer;',
+    'function AddExWithISSigVerify(Url, IssigUrl, BaseName, UserName, Password: String; AllowedKeysRuntimeIDs: TStringList: Integer;',
     'function AddGroup(ACaption, ASubItem: String; ALevel: Byte; AObject: TObject): Integer;',
     'function AddRadioButton(ACaption, ASubItem: String; ALevel: Byte; AChecked, AEnabled: Boolean; AObject: TObject): Integer;',
-    'function AddWithISSigVerify(Url, BaseName: String; AllowedKeysRuntimeIDs: TStringList): Integer;',
+    'function AddWithISSigVerify(Url, IssigUrl, BaseName: String; AllowedKeysRuntimeIDs: TStringList): Integer;',
     'function AdjustHeight: Integer;',
     'function AdjustLabelHeight(ALabel: TNewStaticText): Integer;',
     'function AdjustLinkLabelHeight(ALinkLabel: TNewLinkLabel): Integer;',

+ 2 - 2
Projects/Src/Compiler.ScriptClasses.pas

@@ -552,9 +552,9 @@ begin
     RegisterProperty('AbortedByUser', 'Boolean', iptr);
     RegisterProperty('ShowBaseNameInsteadOfUrl', 'Boolean', iptrw);
     RegisterMethod('function Add(const Url, BaseName, RequiredSHA256OfFile: String): Integer');
-    RegisterMethod('function AddWithISSigVerify(const Url, BaseName: String; const AllowedKeysRuntimeIDs: TStringList): Integer;');
+    RegisterMethod('function AddWithISSigVerify(const Url, IssigUrl, BaseName: String; const AllowedKeysRuntimeIDs: TStringList): Integer;');
     RegisterMethod('function AddEx(const Url, BaseName, RequiredSHA256OfFile, UserName, Password: String): Integer');
-    RegisterMethod('function AddExWithISSigVerify(const Url, BaseName, UserName, Password: String; const AllowedKeysRuntimeIDs: TStringList): Integer;');
+    RegisterMethod('function AddExWithISSigVerify(const Url, IssigUrl, BaseName, UserName, Password: String; const AllowedKeysRuntimeIDs: TStringList): Integer;');
     RegisterMethod('procedure Clear');
     RegisterMethod('function Download: Int64');
     RegisterMethod('procedure Show'); { Without this TOutputProgressWizardPage's Show will be called }

+ 7 - 7
Projects/Src/Setup.ScriptDlg.pas

@@ -197,10 +197,10 @@ type
       destructor Destroy; override;
       procedure Initialize; override;
       function Add(const Url, BaseName, RequiredSHA256OfFile: String): Integer;
-      function AddWithISSigVerify(const Url, BaseName: String;
+      function AddWithISSigVerify(const Url, IssigUrl, BaseName: String;
         const AllowedKeysRuntimeIDs: TStringList): Integer;
       function AddEx(const Url, BaseName, RequiredSHA256OfFile, UserName, Password: String): Integer;
-      function AddExWithISSigVerify(const Url, BaseName, UserName, Password: String;
+      function AddExWithISSigVerify(const Url, IssigUrl, BaseName, UserName, Password: String;
         const AllowedKeysRuntimeIDs: TStringList): Integer;
       procedure Clear;
       function Download: Int64;
@@ -249,7 +249,7 @@ function ConvertAllowedKeysRuntimeIDsToISSigAllowedKeys(const AllowedKeysRuntime
 implementation
 
 uses
-  StrUtils,
+  StrUtils, ISSigFunc,
   Shared.Struct, Shared.SetupTypes, Setup.MainFunc, Setup.SelectFolderForm,
   SetupLdrAndSetup.Messages, Shared.SetupMessageIDs, PathFunc, Shared.CommonFunc.Vcl,
   Shared.CommonFunc, BrowseFunc, Setup.LoggingFunc, Setup.InstFunc,
@@ -1099,11 +1099,10 @@ begin
   Result := DoAdd(Url, BaseName, RequiredSHA256OfFile);
 end;
 
-function TDownloadWizardPage.AddWithISSigVerify(const Url, BaseName: String;
+function TDownloadWizardPage.AddWithISSigVerify(const Url, IssigUrl, BaseName: String;
   const AllowedKeysRuntimeIDs: TStringList): Integer;
 begin
-  const ISSigAllowedKeys = ConvertAllowedKeysRuntimeIDsToISSigAllowedKeys(AllowedKeysRuntimeIDs);
-  Result := DoAdd(Url, BaseName, '', '', '', True, ISSigAllowedKeys);
+  Result := AddExWithISSigVerify(Url, IssigUrl, BaseName, '', '', AllowedKeysRuntimeIDs);
 end;
 
 function TDownloadWizardPage.AddEx(const Url, BaseName, RequiredSHA256OfFile, UserName, Password: String): Integer;
@@ -1111,10 +1110,11 @@ begin
   Result := DoAdd(Url, BaseName, RequiredSHA256OfFile, UserName, Password);
 end;
 
-function TDownloadWizardPage.AddExWithISSigVerify(const Url, BaseName, UserName,
+function TDownloadWizardPage.AddExWithISSigVerify(const Url, IssigUrl, BaseName, UserName,
   Password: String; const AllowedKeysRuntimeIDs: TStringList): Integer;
 begin
   const ISSigAllowedKeys = ConvertAllowedKeysRuntimeIDsToISSigAllowedKeys(AllowedKeysRuntimeIDs);
+  DoAdd(IssigUrl, BaseName + ISSigExt, '', UserName, Password, False, '');
   Result := DoAdd(Url, BaseName, '', UserName, Password, True, ISSigAllowedKeys);
 end;