Skip to content

Commit

Permalink
multiOTP Credential Provider 5.6.1.5
Browse files Browse the repository at this point in the history
FIX: Better handling of parameters in debug mode
FIX: swprintf_s problem with special chars (thanks to anekix)
FIX: bitmap ressources for ISS
ENH: Optional manual default computer/domain setup
ENH: PHP 7.3 used in the one single file


Embedded multiOTP 5.6.1.5
FIX: Separated configuration/statistics storage handling
FIX: IsTemporaryBadServer function (thanks to brownowski on GitHub)
ENH: Better PHP 7.3 support
ENH: Base32 encoder/decoder new implementation
ENH: During WriteConfigData, loop on the current values, and check with the old values
ENH: Enhanced internal tests
ENH: Give an info if time based token is probably out of sync (in a window 10 time bigger)
     (for example for hardware tokens not used for a long time)
ENH: Modifications for Debian 10.x (buster) binary images support (64 bits)
ENH: Enhanced error messages, more log information
ENH: In debug mode, display an error if logfile cannot be written
ENH: Global Access-Challenge support
ENH: New QRcode library used (without external files dependency)
ENH: New Raspberry images support for Raspberry Pi 1B/1B+/2B/3B/3B+
  • Loading branch information
multiOTP committed Oct 23, 2019
1 parent 64f318f commit 97e1a37
Show file tree
Hide file tree
Showing 51 changed files with 5,254 additions and 1,173 deletions.
68 changes: 57 additions & 11 deletions @multiOTPCredentialProvider.iss
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#define MyAppName "multiOTP Credential Provider"
#define MyAppVersion "5.4.1.6"
#define MyAppVersion "5.6.1.5"
#define MyAppShortName "multiOTP"
#define MyAppPublisher "SysCo systemes de communication sa"
#define MyAppURL "https://github.com/multiOTP/multiOTPCredentialProvider"
Expand Down Expand Up @@ -29,11 +29,11 @@ DefaultDirName={pf32}\{#MyAppShortName}
DefaultGroupName={#MyAppName}
UninstallDisplayIcon={app}\multiotp.exe
DisableProgramGroupPage=yes
OutputDir=C:\Data\projects\multiotp\multiOTPCredentialProvider\installer
OutputBaseFilename=multiOTPCredentialProvider-5.4.1.6
SetupIconFile=C:\Data\projects\multiotp\ico\multiOTP.ico
WizardImageFile=..\bmp\multiOTP-wizard-164x314.bmp
WizardSmallImageFile=..\bmp\multiOTP-wizard-55x58.bmp
OutputDir=installer
OutputBaseFilename=multiOTPCredentialProvider-5.6.1.5
SetupIconFile=ico\multiOTP.ico
WizardImageFile=bmp\multiOTP-wizard-164x314.bmp
WizardSmallImageFile=bmp\multiOTP-wizard-55x58.bmp
Compression=lzma
SolidCompression=yes

Expand Down Expand Up @@ -70,16 +70,16 @@ Source: "stable\multiotp.exe"; DestDir: "{app}"; Flags: ignoreversion; AfterInst
Source: "stable\x64\multiOTPCredentialProvider.dll"; DestDir: "{sys}"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "stable\i386\multiOTPCredentialProvider.dll"; DestDir: "{sys}"; Flags: ignoreversion; Check: not Is64BitInstallMode
Source: "stable\php\*"; DestDir: "{app}\php"; Flags: ignoreversion createallsubdirs recursesubdirs
Source: "..\core\qrcode\*"; DestDir: "{app}\qrcode"; Flags: ignoreversion createallsubdirs recursesubdirs
Source: "..\core\templates\emailtemplate.html"; DestDir: "{app}\templates"; Flags: ignoreversion
Source: "..\core\templates\scratchtemplate.html"; DestDir: "{app}\templates"; Flags: ignoreversion
Source: "stable\templates\template.html"; DestDir: "{app}\templates"; Flags: ignoreversion
Source: "stable\templates\emailtemplate.html"; DestDir: "{app}\templates"; Flags: ignoreversion
Source: "stable\templates\scratchtemplate.html"; DestDir: "{app}\templates"; Flags: ignoreversion

[Icons]
Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"

[Registry]
; Imported Registry File: "\Data\projects\multiotp\multiOTPCredentialProvider\register.reg"
; Imported Registry File: "register.reg"
Root: "HKLM"; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\Credential Providers\{{FCEFDFAB-B0A1-4C4D-8B2B-4FF4E0A3D978}"; ValueType: string; ValueData: "multiOTPCredentialProvider"; Flags: uninsdeletekey
Root: "HKLM"; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\Credential Provider Filters\{{FCEFDFAB-B0A1-4C4D-8B2B-4FF4E0A3D978}"; ValueType: string; ValueData: "multiOTPCredentialProvider"; Flags: uninsdeletekey
Root: "HKCR"; Subkey: "CLSID\{{FCEFDFAB-B0A1-4C4D-8B2B-4FF4E0A3D978}\InprocServer32"; ValueType: string; ValueData: "multiOTPCredentialProvider.dll"; Flags: uninsdeletekey
Expand All @@ -90,6 +90,8 @@ Root: "HKCR"; Subkey: "CLSID\{{FCEFDFAB-B0A1-4C4D-8B2B-4FF4E0A3D978}"; ValueType
[CustomMessages]
ProgramOnTheWeb=%1 on the Web
UninstallProgram=Uninstall %1
multiOTPDefaultPrefixLabel=Default logon prefix
multiOTPDefaultPrefixSample=(. = local computer, default is empty for automatic detection of domain name)
multiOTPLoginTitleLabel=multiOTP Login Title
multiOTPserversLabel=URL of your multiOTP server(s), separated by semi-colons
multiOTPServersSample=Example: https://192.168.1.88 ; http://ip.address.of.server:8112
Expand Down Expand Up @@ -137,6 +139,8 @@ multiOTPReturnCodeSuffix= in multiOTP documentation
;french.ProgramOnTheWeb=%1 sur Internet
;french.UninstallProgram=Désinstaller %1
;french.multiOTPDefaultPrefixLabel=Default logon prefix
;french.multiOTPDefaultPrefixSample=(. = local computer, default is empty for automatic detection of domain name)
;french.multiOTPLoginTitleLabel=Titre du fournisseur de connexion multiOTP
;french.multiOTPserversLabel=URL de votre/vos serveur(s) multiOTP, séparés par un point-virgule
;french.multiOTPServersSample=Exemple: https://192.168.1.88 ; http://adresse.ip.du.serveur:8112
Expand Down Expand Up @@ -217,6 +221,7 @@ var
testPasswordEdit: TEdit;
testOtpdEdit: TEdit;
multiOTPDefaultPrefix: String;
multiOTPLoginTitle: String;
multiOTPServers: String;
multiOTPServerTimeout: Cardinal;
Expand All @@ -229,6 +234,7 @@ var
multiOTPDisplaySmsLink: Cardinal;
multiOTPUPNFormat: Cardinal;
multiOTPDefaultPrefixEdit: TEdit;
multiOTPLoginTitleEdit: TEdit;
multiOTPServersEdit: TEdit;
multiOTPServerTimeoutEdit: TEdit;
Expand Down Expand Up @@ -547,6 +553,8 @@ end;
procedure CreateSetupPage2of2;
var
Page: TWizardPage;
multiOTPDefaultPrefixLabel: TNewStaticText;
multiOTPDefaultPrefixSample: TNewStaticText;
multiOTPTimeoutLabel: TNewStaticText;
pageTop: Integer;
pageLeft: Integer;
Expand Down Expand Up @@ -669,7 +677,40 @@ begin
Width := 2 * multiOTPTimeoutLabel.Height;
Text := IntToStr(multiOTPTimeout);
end;
pageTop := pageTop + multiOTPTimeoutLabel.Height + ScaleY(0);
pageTop := pageTop + multiOTPTimeoutLabel.Height + ScaleY(8);
multiOTPDefaultPrefixLabel := TNewStaticText.Create(Page);
with multiOTPDefaultPrefixLabel do begin
AutoSize := True;
WordWrap := False;
Top := pageTop;
Left := pageLeft + 12;
Caption := ExpandConstant('{cm:multiOTPDefaultPrefixLabel} : ');
Parent := Page.Surface;
end;
multiOTPDefaultPrefixEdit := TEdit.Create(Page);
with multiOTPDefaultPrefixEdit do
begin
Parent := Page.Surface;
Left := pageLeft + 12 + multiOTPDefaultPrefixLabel.Width;
Top := pageTop - ScaleY(3);
Width := 15 * ScaleX(multiOTPDefaultPrefixLabel.Font.Size);
Text := multiOTPDefaultPrefix;
end;
pageTop := pageTop + multiOTPDefaultPrefixEdit.Height + ScaleY(0);
multiOTPDefaultPrefixSample := TNewStaticText.Create(Page);
with multiOTPDefaultPrefixSample do begin
AutoSize := True;
WordWrap := False;
Top := pageTop;
Left := pageLeft + 12;
Font.Style := [fsItalic];
Caption := ExpandConstant('{cm:multiOTPDefaultPrefixSample}');
Parent := Page.Surface;
end;
pageTop := pageTop + multiOTPDefaultPrefixSample.Height;
end;
Expand All @@ -690,6 +731,9 @@ var
begin
multiOTPDefaultPrefix := multiOTPDefaultPrefixEdit.Text;
RegWriteStringValue(HKEY_CLASSES_ROOT, 'CLSID\{FCEFDFAB-B0A1-4C4D-8B2B-4FF4E0A3D978}','multiOTPDefaultPrefix', multiOTPDefaultPrefix);
multiOTPLoginTitle := multiOTPLoginTitleEdit.Text;
RegWriteStringValue(HKEY_CLASSES_ROOT, 'CLSID\{FCEFDFAB-B0A1-4C4D-8B2B-4FF4E0A3D978}','multiOTPLoginTitle', multiOTPLoginTitle);
Expand Down Expand Up @@ -1009,6 +1053,7 @@ procedure InitializeWizard;
begin
// Default values
multiOTPDefaultPrefix := '';
multiOTPLoginTitle := 'multiOTP Login';
multiOTPServers := 'https://192.168.1.88';
multiOTPServerTimeout := 5;
Expand All @@ -1022,6 +1067,7 @@ begin
multiOTPUPNFormat := 0;
// Read registry values if they exists
RegQueryStringValue(HKEY_CLASSES_ROOT, 'CLSID\{FCEFDFAB-B0A1-4C4D-8B2B-4FF4E0A3D978}','multiOTPDefaultPrefix', multiOTPDefaultPrefix);
RegQueryStringValue(HKEY_CLASSES_ROOT, 'CLSID\{FCEFDFAB-B0A1-4C4D-8B2B-4FF4E0A3D978}','multiOTPLoginTitle', multiOTPLoginTitle);
RegQueryStringValue(HKEY_CLASSES_ROOT, 'CLSID\{FCEFDFAB-B0A1-4C4D-8B2B-4FF4E0A3D978}','multiOTPServers', multiOTPServers);
RegQueryDWordValue(HKEY_CLASSES_ROOT, 'CLSID\{FCEFDFAB-B0A1-4C4D-8B2B-4FF4E0A3D978}','multiOTPServerTimeout', multiOTPServerTimeout);
Expand Down
15 changes: 13 additions & 2 deletions Dll.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
* Extra code provided "as is" for the multiOTP open source project
*
* @author Andre Liechti, SysCo systemes de communication sa, <info@multiotp.net>
* @version 5.4.1.6
* @date 2019-01-25
* @version 5.6.1.5
* @date 2019-10-23
* @since 2013
* @copyright (c) 2016-2019 SysCo systemes de communication sa
* @copyright (c) 2015-2016 ArcadeJust ("RDP only" enhancement)
Expand All @@ -22,6 +22,17 @@
*
* Change Log
*
* 2019-10-23 5.6.1.5 SysCo/al FIX: Prefix password parameter was buggy (better handling of parameters in debug mode)
* FIX: swprintf_s problem with special chars (thanks to anekix)
* 2019-01-25 5.4.1.6 SysCo/al FIX: Username with space are now supported
* ENH: Added integrated Visual C++ 2017 Redistributable installation
* 2018-09-14 5.4.0.1 SysCo/al FIX: Better domain name and hostname detection
* FIX: The cache lifetime check process was buggy since 5.3.0.3
* ENH: multiOTP Credential Provider files and objects have been reorganized
* 2018-08-26 5.3.0.3 SysCo/al FIX: Users without 2FA token are now supported
* 2018-08-21 5.3.0.0 SysCo/yj FIX: Save flat domain name in the registry. While offline, use this value instead of asking the DC
* SysCo/al ENH: The multiOTP timeout (how long the Credential Provider wait a response from
* the multiOTP process) is now 60 seconds by default (instead of 10)
* 2018-03-11 5.2.0.0 SysCo/al New implementation from scratch
*
*********************************************************************/
Expand Down
17 changes: 14 additions & 3 deletions Dll.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,28 @@
* Extra code provided "as is" for the multiOTP open source project
*
* @author Andre Liechti, SysCo systemes de communication sa, <info@multiotp.net>
* @version 5.2.0.0
* @date 2018-03-11
* @version 5.6.1.5
* @date 2019-10-23
* @since 2013
* @copyright (c) 2016-2018 SysCo systemes de communication sa
* @copyright (c) 2016-2019 SysCo systemes de communication sa
* @copyright (c) 2015-2016 ArcadeJust ("RDP only" enhancement)
* @copyright (c) 2013-2015 Last Squirrel IT
* @copyright Apache License, Version 2.0
*
*
* Change Log
*
* 2019-10-23 5.6.1.5 SysCo/al FIX: Prefix password parameter was buggy (better handling of parameters in debug mode)
* FIX: swprintf_s problem with special chars (thanks to anekix)
* 2019-01-25 5.4.1.6 SysCo/al FIX: Username with space are now supported
* ENH: Added integrated Visual C++ 2017 Redistributable installation
* 2018-09-14 5.4.0.1 SysCo/al FIX: Better domain name and hostname detection
* FIX: The cache lifetime check process was buggy since 5.3.0.3
* ENH: multiOTP Credential Provider files and objects have been reorganized
* 2018-08-26 5.3.0.3 SysCo/al FIX: Users without 2FA token are now supported
* 2018-08-21 5.3.0.0 SysCo/yj FIX: Save flat domain name in the registry. While offline, use this value instead of asking the DC
* SysCo/al ENH: The multiOTP timeout (how long the Credential Provider wait a response from
* the multiOTP process) is now 60 seconds by default (instead of 10)
* 2018-03-11 5.2.0.0 SysCo/al New implementation from scratch
*
*********************************************************************/
Expand Down
Loading

0 comments on commit 97e1a37

Please sign in to comment.