Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
L
liberty-tunnel-client-library-apple
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
liberty
tunnel
liberty-tunnel-client-library-apple
Commits
25ddece9
Commit
25ddece9
authored
Nov 16, 2020
by
Jose Blaya
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Expiring Token
Refactor Piaproxy URL updated
parent
ff410f4a
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
68 additions
and
36 deletions
+68
-36
PIALibrary/Sources/Core/WebServices/DedicatedIP.swift
PIALibrary/Sources/Core/WebServices/DedicatedIP.swift
+16
-0
PIALibrary/Sources/Core/WebServices/InAppMessage.swift
PIALibrary/Sources/Core/WebServices/InAppMessage.swift
+28
-18
PIALibrary/Sources/Library/Server/DefaultServerProvider.swift
...ibrary/Sources/Library/Server/DefaultServerProvider.swift
+3
-2
PIALibrary/Sources/Library/WebServices/EndpointManager.swift
PIALibrary/Sources/Library/WebServices/EndpointManager.swift
+1
-1
PIALibrary/Sources/Library/WebServices/PIAWebServices.swift
PIALibrary/Sources/Library/WebServices/PIAWebServices.swift
+20
-15
No files found.
PIALibrary/Sources/Core/WebServices/DedicatedIP.swift
View file @
25ddece9
...
...
@@ -20,9 +20,25 @@
//
import
Foundation
import
PIAAccount
public
enum
DedicatedIPStatus
{
case
active
case
expired
case
invalid
case
error
init
(
fromAPIStatus
dipStatus
:
DedicatedIPInformationResponse
.
Status
)
{
switch
dipStatus
{
case
.
invalid
:
self
=
.
invalid
case
.
expired
:
self
=
.
expired
case
.
error
:
self
=
.
error
default
:
self
=
.
active
}
}
}
PIALibrary/Sources/Core/WebServices/InAppMessage.swift
View file @
25ddece9
...
...
@@ -23,6 +23,7 @@ import Foundation
import
PIAAccount
public
enum
InAppMessageType
{
case
none
case
action
case
view
case
link
...
...
@@ -37,7 +38,7 @@ public struct InAppMessage {
public
let
id
:
String
public
let
message
:
[
String
:
String
]
public
let
linkMessage
:
[
String
:
String
]
public
let
linkMessage
:
[
String
:
String
]
?
public
let
type
:
InAppMessageType
public
let
level
:
InAppMessageLevel
...
...
@@ -62,29 +63,38 @@ extension InAppMessage {
init
(
withMessage
messageInformation
:
MessageInformation
,
andLevel
level
:
InAppMessageLevel
)
{
self
.
id
=
messageInformation
.
id
self
.
id
=
"
\(
messageInformation
.
id
)
"
self
.
message
=
messageInformation
.
message
self
.
linkMessage
=
messageInformation
.
link
.
text
if
!
messageInformation
.
link
.
action
.
settings
.
isEmpty
{
self
.
type
=
.
action
var
actions
=
[
String
:
Bool
]()
for
setting
in
messageInformation
.
link
.
action
.
settings
{
actions
[
setting
.
key
]
=
setting
.
value
.
boolValue
if
let
link
=
messageInformation
.
link
{
self
.
linkMessage
=
link
.
text
if
!
link
.
action
.
settings
.
isEmpty
{
self
.
type
=
.
action
var
actions
=
[
String
:
Bool
]()
for
setting
in
link
.
action
.
settings
{
actions
[
setting
.
key
]
=
setting
.
value
.
boolValue
}
self
.
settingAction
=
actions
self
.
settingLink
=
nil
self
.
settingView
=
nil
}
else
if
!
link
.
action
.
uri
.
isEmpty
{
self
.
type
=
.
link
self
.
settingLink
=
link
.
action
.
uri
self
.
settingAction
=
nil
self
.
settingView
=
nil
}
else
{
self
.
type
=
.
view
self
.
settingView
=
link
.
action
.
view
self
.
settingLink
=
nil
self
.
settingAction
=
nil
}
self
.
settingAction
=
actions
self
.
settingLink
=
nil
self
.
settingView
=
nil
}
else
if
!
messageInformation
.
link
.
action
.
uri
.
isEmpty
{
self
.
type
=
.
link
self
.
settingLink
=
messageInformation
.
link
.
action
.
uri
self
.
settingAction
=
nil
self
.
settingView
=
nil
}
else
{
self
.
type
=
.
view
self
.
settingView
=
messageInformation
.
link
.
action
.
view
self
.
type
=
.
none
self
.
linkMessage
=
nil
self
.
settingLink
=
nil
self
.
settingAction
=
nil
self
.
settingView
=
nil
}
self
.
level
=
level
...
...
PIALibrary/Sources/Library/Server/DefaultServerProvider.swift
View file @
25ddece9
...
...
@@ -198,8 +198,9 @@ class DefaultServerProvider: ServerProvider, ConfigurationAccess, DatabaseAccess
}
webServices
.
activateDIPToken
(
tokens
:
[
token
])
{
(
servers
,
error
)
in
if
let
servers
=
servers
,
let
first
=
servers
.
first
{
if
!
self
.
currentServers
.
contains
(
where
:
{
$0
.
dipToken
==
first
.
dipToken
})
{
let
first
=
servers
.
first
,
let
status
=
first
.
dipStatus
{
if
!
self
.
currentServers
.
contains
(
where
:
{
$0
.
dipToken
==
first
.
dipToken
})
&&
status
==
.
active
{
self
.
currentServers
.
append
(
contentsOf
:
servers
)
}
callback
?(
first
,
error
)
...
...
PIALibrary/Sources/Library/WebServices/EndpointManager.swift
View file @
25ddece9
...
...
@@ -38,7 +38,7 @@ public struct PinningEndpoint {
public
class
EndpointManager
{
private
let
internalUrl
=
"10.0.0.1"
private
let
proxy
=
"piaproxy.net"
private
let
proxy
=
"
www.
piaproxy.net"
private
let
pia
=
"www.privateinternetaccess.com"
private
let
region
=
"serverlist.piaservers.net"
...
...
PIALibrary/Sources/Library/WebServices/PIAWebServices.swift
View file @
25ddece9
...
...
@@ -233,25 +233,30 @@ class PIAWebServices: WebServices, ConfigurationAccess {
var
dipRegions
=
[
Server
]()
for
dipServer
in
dedicatedIps
{
if
dipServer
.
status
==
DedicatedIPInformationResponse
.
Status
.
active
{
guard
let
firstServer
=
Client
.
providers
.
serverProvider
.
currentServers
.
first
(
where
:
{
$0
.
identifier
==
dipServer
.
id
})
else
{
callback
?([],
ClientError
.
malformedResponseData
)
return
}
guard
let
ip
=
dipServer
.
ip
,
let
cn
=
dipServer
.
cn
,
let
expirationTime
=
dipServer
.
dip_expire
else
{
callback
?([],
ClientError
.
malformedResponseData
)
return
}
let
dipRegion
=
Server
(
serial
:
firstServer
.
serial
,
name
:
firstServer
.
name
,
country
:
firstServer
.
country
,
hostname
:
firstServer
.
hostname
,
openVPNAddressesForTCP
:
[
Server
.
ServerAddressIP
(
ip
:
ip
,
cn
:
cn
)],
openVPNAddressesForUDP
:
[
Server
.
ServerAddressIP
(
ip
:
ip
,
cn
:
cn
)],
wireGuardAddressesForUDP
:
[
Server
.
ServerAddressIP
(
ip
:
ip
,
cn
:
cn
)],
iKEv2AddressesForUDP
:
[
Server
.
ServerAddressIP
(
ip
:
ip
,
cn
:
cn
)],
pingAddress
:
firstServer
.
pingAddress
,
geo
:
false
,
meta
:
nil
,
dipExpire
:
Date
(
timeIntervalSince1970
:
TimeInterval
(
expirationTime
)),
dipToken
:
dipServer
.
dipToken
,
dipStatus
:
DedicatedIPStatus
.
active
,
regionIdentifier
:
firstServer
.
regionIdentifier
)
dipRegions
.
append
(
dipRegion
)
guard
let
firstServer
=
Client
.
providers
.
serverProvider
.
currentServers
.
first
(
where
:
{
$0
.
identifier
==
dipServer
.
id
})
else
{
callback
?([],
ClientError
.
malformedResponseData
)
return
}
guard
let
ip
=
dipServer
.
ip
,
let
cn
=
dipServer
.
cn
,
let
expirationTime
=
dipServer
.
dip_expire
else
{
callback
?([],
ClientError
.
malformedResponseData
)
return
}
let
expiringDate
=
Date
(
timeIntervalSince1970
:
TimeInterval
(
expirationTime
))
let
status
=
DedicatedIPStatus
(
fromAPIStatus
:
dipServer
.
status
)
let
server
=
Server
.
ServerAddressIP
(
ip
:
ip
,
cn
:
cn
)
let
dipRegion
=
Server
(
serial
:
firstServer
.
serial
,
name
:
firstServer
.
name
,
country
:
firstServer
.
country
,
hostname
:
firstServer
.
hostname
,
openVPNAddressesForTCP
:
[
server
],
openVPNAddressesForUDP
:
[
server
],
wireGuardAddressesForUDP
:
[
server
],
iKEv2AddressesForUDP
:
[
server
],
pingAddress
:
firstServer
.
pingAddress
,
geo
:
false
,
meta
:
nil
,
dipExpire
:
expiringDate
,
dipToken
:
dipServer
.
dipToken
,
dipStatus
:
status
,
regionIdentifier
:
firstServer
.
regionIdentifier
)
dipRegions
.
append
(
dipRegion
)
if
status
==
.
active
{
Client
.
database
.
secure
.
setDIPToken
(
dipServer
.
dipToken
)
Client
.
database
.
secure
.
setPassword
(
ip
,
forDipToken
:
dipServer
.
dipToken
)
}
}
callback
?(
dipRegions
,
nil
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment