Add custom QZ Tray fork with pairing key authentication
- Custom fork of QZ Tray 2.2.x with certificate validation bypassed - Implemented pairing key (HMAC) authentication as replacement - Modified files: PrintSocketClient.java (certificate check disabled) - New files: PairingAuth.java, PairingConfigDialog.java - Excluded build artifacts (out/, lib/javafx*) from repository - Library JARs included for dependency management
This commit is contained in:
72
tray/ant/windows/nsis/Include/StrLoc.nsh
Normal file
72
tray/ant/windows/nsis/Include/StrLoc.nsh
Normal file
@@ -0,0 +1,72 @@
|
||||
!define StrLoc "!insertmacro StrLoc"
|
||||
|
||||
!macro StrLoc ResultVar String SubString StartPoint
|
||||
Push "${String}"
|
||||
Push "${SubString}"
|
||||
Push "${StartPoint}"
|
||||
Call StrLoc
|
||||
Pop "${ResultVar}"
|
||||
!macroend
|
||||
|
||||
Function StrLoc
|
||||
/*After this point:
|
||||
------------------------------------------
|
||||
$R0 = StartPoint (input)
|
||||
$R1 = SubString (input)
|
||||
$R2 = String (input)
|
||||
$R3 = SubStringLen (temp)
|
||||
$R4 = StrLen (temp)
|
||||
$R5 = StartCharPos (temp)
|
||||
$R6 = TempStr (temp)*/
|
||||
|
||||
;Get input from user
|
||||
Exch $R0
|
||||
Exch
|
||||
Exch $R1
|
||||
Exch 2
|
||||
Exch $R2
|
||||
Push $R3
|
||||
Push $R4
|
||||
Push $R5
|
||||
Push $R6
|
||||
|
||||
;Get "String" and "SubString" length
|
||||
StrLen $R3 $R1
|
||||
StrLen $R4 $R2
|
||||
;Start "StartCharPos" counter
|
||||
StrCpy $R5 0
|
||||
|
||||
;Loop until "SubString" is found or "String" reaches its end
|
||||
${Do}
|
||||
;Remove everything before and after the searched part ("TempStr")
|
||||
StrCpy $R6 $R2 $R3 $R5
|
||||
|
||||
;Compare "TempStr" with "SubString"
|
||||
${If} $R6 == $R1
|
||||
${If} $R0 == `<`
|
||||
IntOp $R6 $R3 + $R5
|
||||
IntOp $R0 $R4 - $R6
|
||||
${Else}
|
||||
StrCpy $R0 $R5
|
||||
${EndIf}
|
||||
${ExitDo}
|
||||
${EndIf}
|
||||
;If not "SubString", this could be "String"'s end
|
||||
${If} $R5 >= $R4
|
||||
StrCpy $R0 ``
|
||||
${ExitDo}
|
||||
${EndIf}
|
||||
;If not, continue the loop
|
||||
IntOp $R5 $R5 + 1
|
||||
${Loop}
|
||||
|
||||
;Return output to user
|
||||
Pop $R6
|
||||
Pop $R5
|
||||
Pop $R4
|
||||
Pop $R3
|
||||
Pop $R2
|
||||
Exch
|
||||
Pop $R1
|
||||
Exch $R0
|
||||
FunctionEnd
|
||||
Reference in New Issue
Block a user