Skip to content

Commit 08a8ebb

Browse files
committed
Merge branch '0.8.1.0-dev' of https://github.com/rcmaehl/MSEdgeRedirect into 0.8.1.0-dev
2 parents 57cb94e + 88cacf2 commit 08a8ebb

4 files changed

Lines changed: 21 additions & 7 deletions

File tree

Includes/_Security.au3

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,8 @@ Func _IsSafeFlag(ByRef $sCommandLine)
165165
Case "--windows-store-app"
166166
ContinueCase
167167
Case "--winrt-background-task-event"
168+
ContinueCase
169+
Case "--profile-directory=Default"
168170
$bSafe = True
169171
Case Else
170172
$bSafe = False
@@ -206,8 +208,8 @@ Func _IsSafeURL(ByRef $sURL)
206208
Local $bSafe = False
207209

208210
If $sURL = "" Or StringRegExp($sURL, "\s+") Then
209-
_Log($hLogs[$AppSecurity], "Received Blank Micorsoft Edge Call, droppping..." & @CRLF)
210-
Return False
211+
_Log($hLogs[$AppSecurity], "Received Blank Microsoft Edge Call." & @CRLF)
212+
Return SetError(1, 0, 0)
211213
Else
212214
$aURL = StringSplit($sURL, ":")
213215
If $aURL[0] < 2 Then

Includes/_URLModifications.au3

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@ Func _ChangeNewsProvider($sURL)
147147
$sURL = ""
148148

149149
For $iLoop = 1 To $aURL[0] - 1 Step 1 ; Get longest section (Article Title)
150+
If Not StringInStr($aURL[$iLoop], "-") Then ContinueLoop
150151
If StringLen($aURL[$iLoop]) > StringLen($sURL) Then $sURL = $aURL[$iLoop]
151152
Next
152153

MSEdgeRedirect.au3

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ Func ActiveMode(ByRef $aCMDLine)
6363

6464
$aCMDLine = FixTreeIntegrity($aCMDLine)
6565
CheckEdgeIntegrity($aCMDLine[1])
66-
$aCMDLine[1] = StringReplace($aCMDLine[1], "msedge.exe", "msedge_IFEO.exe")
66+
$aCMDLine[1] = StringReplace($aCMDLine[1], "msedge.exe", "IFEO\msedge.exe")
6767

6868
Select
6969
Case $aCMDLine[0] = 1 ; No Parameters
@@ -130,7 +130,7 @@ Func CheckEdgeIntegrity($sLocation)
130130
Exit
131131
Else
132132
Select
133-
Case Not FileExists(StringReplace($sLocation, "\msedge.exe", "\msedge_IFEO.exe"))
133+
Case Not FileExists(StringReplace($sLocation, "\msedge.exe", "\IFEO\msedge.exe"))
134134
If WinExists(_Translate($aMUI[1], "Admin File Copy Required")) Then
135135
_LogClose()
136136
Exit ; #202
@@ -643,6 +643,7 @@ EndFunc
643643
Func _DecodeAndRun($sEdge = $aEdges[1], $sCMDLine = "")
644644

645645
Local $sURL = ""
646+
Local $bIsSafe
646647
Local $aCMDLine
647648

648649
Select
@@ -762,7 +763,9 @@ Func _DecodeAndRun($sEdge = $aEdges[1], $sCMDLine = "")
762763
$sCMDLine = StringReplace($sCMDLine, "?url=", "")
763764
If StringInStr($sCMDLine, "%2F") Then $sCMDLine = _WinAPI_UrlUnescape($sCMDLine)
764765
_Log($hLogs[$AppGeneral], "Caught Other Edge Call:" & @CRLF & $sCMDLine & @CRLF)
765-
If _IsSafeURL($sCMDLine) Then
766+
$bIsSafe = _IsSafeURL($sCMDLine)
767+
If @error Then _SafeRun($sEdge) ; Empty URL
768+
If $bIsSafe Then
766769
$sCMDLine = _ModifyURL($sCMDLine)
767770
ShellExecute($sCMDLine)
768771
Else

MSEdgeRedirect_Wrapper.au3

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,10 @@ Func RunRemoval($bUpdate = False)
230230
If FileExists(StringReplace($aEdges[$iLoop], "\msedge.exe", "\msedge_IFEO.exe")) Then ; 0.8.0.0+
231231
FileDelete(StringReplace($aEdges[$iLoop], "\msedge.exe", "\msedge_IFEO.exe"))
232232
EndIf
233+
If FileExists(StringReplace($aEdges[$iLoop], "\msedge.exe", "\IFEO\msedge.exe")) Then ; 0.8.1.0+
234+
FileDelete(StringReplace($aEdges[$iLoop], "\msedge.exe", "\IFEO\msedge.exe"))
235+
DirRemove(StringReplace($aEdges[$iLoop], "\msedge.exe", "\IFEO\"))
236+
EndIf
233237
Next
234238
EndIf
235239

@@ -260,7 +264,10 @@ Func RunRepair()
260264
;;;
261265
Else
262266
_Log($hLogs[$Install], "Repairing SymLinks." & @CRLF)
263-
_WinAPI_CreateSymbolicLink(StringReplace($aEdges[$iLoop], "\msedge.exe", "\msedge_IFEO.exe"), $aEdges[$iLoop])
267+
If Not FileExists(StringReplace($aEdges[$iLoop], "\msedge.exe", "\IFEO\")) Then
268+
DirCreate(StringReplace($aEdges[$iLoop], "\msedge.exe", "\IFEO\"))
269+
EndIf
270+
_WinAPI_CreateSymbolicLink(StringReplace($aEdges[$iLoop], "\msedge.exe", "\IFEO\msedge.exe"), $aEdges[$iLoop])
264271
EndIf
265272
EndIf
266273
Next
@@ -1422,7 +1429,8 @@ Func SetIFEORegistry(ByRef $aChannels)
14221429
If $iLoop = $aEdges[0] Then
14231430
;;;
14241431
Else
1425-
_WinAPI_CreateSymbolicLink(StringReplace($aEdges[$iLoop], "\msedge.exe", "\msedge_IFEO.exe"), $aEdges[$iLoop])
1432+
DirCreate(StringReplace($aEdges[$iLoop], "\msedge.exe", "\IFEO\"))
1433+
_WinAPI_CreateSymbolicLink(StringReplace($aEdges[$iLoop], "\msedge.exe", "\IFEO\msedge.exe"), $aEdges[$iLoop])
14261434
EndIf
14271435
EndIf
14281436
Next

0 commit comments

Comments
 (0)