Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
T
Titanium-Web-Proxy
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
Titanium-Web-Proxy
Commits
abf159fc
Commit
abf159fc
authored
Nov 26, 2019
by
honfika
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
small cleanup
parent
2589132a
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
11 additions
and
16 deletions
+11
-16
TcpHelper.cs
src/Titanium.Web.Proxy/Helpers/TcpHelper.cs
+2
-5
BCCertificateMaker.cs
...anium.Web.Proxy/Network/Certificate/BCCertificateMaker.cs
+1
-4
RequestHandler.cs
src/Titanium.Web.Proxy/RequestHandler.cs
+2
-2
SslTools.cs
src/Titanium.Web.Proxy/StreamExtended/SslTools.cs
+3
-3
TransparentClientHandler.cs
src/Titanium.Web.Proxy/TransparentClientHandler.cs
+3
-2
No files found.
src/Titanium.Web.Proxy/Helpers/TcpHelper.cs
View file @
abf159fc
...
...
@@ -100,12 +100,10 @@ namespace Titanium.Web.Proxy.Helpers
/// <param name="onDataSend"></param>
/// <param name="onDataReceive"></param>
/// <param name="cancellationTokenSource"></param>
/// <param name="exceptionFunc"></param>
/// <returns></returns>
private
static
async
Task
sendRawTap
(
Stream
clientStream
,
Stream
serverStream
,
IBufferPool
bufferPool
,
Action
<
byte
[],
int
,
int
>?
onDataSend
,
Action
<
byte
[],
int
,
int
>?
onDataReceive
,
CancellationTokenSource
cancellationTokenSource
,
ExceptionHandler
exceptionFunc
)
CancellationTokenSource
cancellationTokenSource
)
{
// Now async relay all server=>client & client=>server data
var
sendRelay
=
...
...
@@ -139,8 +137,7 @@ namespace Titanium.Web.Proxy.Helpers
{
// todo: fix APM mode
return
sendRawTap
(
clientStream
,
serverStream
,
bufferPool
,
onDataSend
,
onDataReceive
,
cancellationTokenSource
,
exceptionFunc
);
cancellationTokenSource
);
}
}
}
src/Titanium.Web.Proxy/Network/Certificate/BCCertificateMaker.cs
View file @
abf159fc
using
System
;
using
System.IO
;
using
System.Security.Cryptography.X509Certificates
;
using
System.Threading
;
using
Org.BouncyCastle.Asn1
;
using
Org.BouncyCastle.Asn1.Pkcs
;
using
Org.BouncyCastle.Asn1.X509
;
...
...
@@ -219,11 +218,9 @@ namespace Titanium.Web.Proxy.Network.Certificate
/// <param name="subject">The s subject cn.</param>
/// <param name="switchToMtaIfNeeded">if set to <c>true</c> [switch to MTA if needed].</param>
/// <param name="signingCert">The signing cert.</param>
/// <param name="cancellationToken">Task cancellation token</param>
/// <returns>X509Certificate2.</returns>
private
X509Certificate2
makeCertificateInternal
(
string
subject
,
bool
switchToMtaIfNeeded
,
X509Certificate2
?
signingCert
=
null
,
CancellationToken
cancellationToken
=
default
)
bool
switchToMtaIfNeeded
,
X509Certificate2
?
signingCert
=
null
)
{
return
makeCertificateInternal
(
subject
,
$"CN=
{
subject
}
"
,
DateTime
.
UtcNow
.
AddDays
(-
certificateGraceDays
),
DateTime
.
UtcNow
.
AddDays
(
certificateValidDays
),
...
...
src/Titanium.Web.Proxy/RequestHandler.cs
View file @
abf159fc
...
...
@@ -291,13 +291,13 @@ namespace Titanium.Web.Proxy
}
// construct the web request that we are going to issue on behalf of the client.
await
handleHttpSessionRequest
(
connection
,
args
);
await
handleHttpSessionRequest
(
args
);
return
true
;
},
generator
,
serverConnection
);
}
private
async
Task
handleHttpSessionRequest
(
TcpServerConnection
connection
,
SessionEventArgs
args
)
private
async
Task
handleHttpSessionRequest
(
SessionEventArgs
args
)
{
var
cancellationToken
=
args
.
CancellationTokenSource
.
Token
;
var
request
=
args
.
HttpClient
.
Request
;
...
...
src/Titanium.Web.Proxy/StreamExtended/SslTools.cs
View file @
abf159fc
...
...
@@ -154,7 +154,7 @@ namespace Titanium.Web.Proxy.StreamExtended
if
(
extensionsStartPosition
<
recordLength
+
5
)
{
extensions
=
await
ReadExtensions
(
majorVersion
,
minorVersion
,
peekStream
,
bufferPool
,
cancellationToken
);
extensions
=
await
ReadExtensions
(
majorVersion
,
minorVersion
,
peekStream
,
cancellationToken
);
}
var
clientHelloInfo
=
new
ClientHelloInfo
(
3
,
majorVersion
,
minorVersion
,
random
,
sessionId
,
ciphers
,
peekStream
.
Position
)
...
...
@@ -292,7 +292,7 @@ namespace Titanium.Web.Proxy.StreamExtended
if
(
extensionsStartPosition
<
recordLength
+
5
)
{
extensions
=
await
ReadExtensions
(
majorVersion
,
minorVersion
,
peekStream
,
bufferPool
,
cancellationToken
);
extensions
=
await
ReadExtensions
(
majorVersion
,
minorVersion
,
peekStream
,
cancellationToken
);
}
var
serverHelloInfo
=
new
ServerHelloInfo
(
3
,
majorVersion
,
minorVersion
,
random
,
sessionId
,
cipherSuite
,
peekStream
.
Position
)
...
...
@@ -308,7 +308,7 @@ namespace Titanium.Web.Proxy.StreamExtended
return
null
;
}
private
static
async
Task
<
Dictionary
<
string
,
SslExtension
>?>
ReadExtensions
(
int
majorVersion
,
int
minorVersion
,
PeekStreamReader
peekStreamReader
,
IBufferPool
bufferPool
,
CancellationToken
cancellationToken
)
private
static
async
Task
<
Dictionary
<
string
,
SslExtension
>?>
ReadExtensions
(
int
majorVersion
,
int
minorVersion
,
PeekStreamReader
peekStreamReader
,
CancellationToken
cancellationToken
)
{
Dictionary
<
string
,
SslExtension
>?
extensions
=
null
;
if
(
majorVersion
>
3
||
majorVersion
==
3
&&
minorVersion
>=
1
)
...
...
src/Titanium.Web.Proxy/TransparentClientHandler.cs
View file @
abf159fc
...
...
@@ -75,14 +75,15 @@ namespace Titanium.Web.Proxy
// HTTPS server created - we can now decrypt the client's traffic
clientStream
=
new
HttpClientStream
(
sslStream
,
BufferPool
);
sslStream
=
null
;
// clientStream was created, no need to keep SSL stream reference
}
catch
(
Exception
e
)
{
var
cert
n
ame
=
certificate
?.
GetNameInfo
(
X509NameType
.
SimpleName
,
false
);
var
cert
N
ame
=
certificate
?.
GetNameInfo
(
X509NameType
.
SimpleName
,
false
);
var
session
=
new
SessionEventArgs
(
this
,
endPoint
,
clientConnection
,
clientStream
,
null
,
cancellationTokenSource
);
throw
new
ProxyConnectException
(
$"Couldn't authenticate host '
{
httpsHostName
}
' with certificate '
{
cert
n
ame
}
'."
,
e
,
session
);
$"Couldn't authenticate host '
{
httpsHostName
}
' with certificate '
{
cert
N
ame
}
'."
,
e
,
session
);
}
}
...
...
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