1
0
mirror of https://github.com/SoftEtherVPN/SoftEtherVPN.git synced 2024-08-25 14:02:59 +03:00

Compare commits

...

10 Commits

Author SHA1 Message Date
tickerguy
96926591b4
Merge 0643ae70f5 into dc2b11918a 2024-01-16 23:22:43 +05:00
Ilya Shipitsin
dc2b11918a
Merge pull request #1933 from chipitsine/master
CI: use OPENSSL_ROOT_DIR for cirrus-ci builds
2023-12-03 14:08:34 +01:00
Ilya Shipitsin
7398bf2724 CI: use OPENSSL_ROOT_DIR for cirrus-ci builds 2023-12-02 22:30:26 +01:00
Ilya Shipitsin
ff4b74afda
Merge pull request #1929 from chipitsine/pr_1921_followup
fix nullptr deref
2023-12-01 17:18:40 +01:00
Ilya Shipitsin
e6792d8893 fix nullptr deref
Co-authored-by: icy17 <1061499390@qq.com>
2023-11-19 10:57:28 +01:00
Ilya Shipitsin
8cde812157
Merge pull request #1924 from hiura2023/master
Fix azure pipelines: Publish separate artifacts for both x64 and x86.
2023-11-10 13:49:45 +01:00
hiura
3574f8aa98 Fix azure pipelines: Publish separate artifacts for both x64 and x86. 2023-11-02 18:42:12 +09:00
Ilya Shipitsin
9429243dbe
Merge pull request #1906 from hiura2023/master
Fix access violation: correct typing mistake in calling Debug().
2023-11-01 10:26:37 +01:00
hiura
f57f05a599 Bind outgoing connection to a specific IP address (fix a bug) 2023-09-17 16:36:57 +09:00
tickerguy
0643ae70f5
Update BridgeUnix.c
On FreeBSD the stock code will attempt to expand the interface MTU any time a packet is to be sent that exceeds the current MTU.  This results in a down/up on the interface that is wildly disruptive to existing services on that adapter and, eventually, is likely to run into MTU limits and start logging failures, even with jumbo-frame capable adapters.  Thus if compiling on a FreeBSD machine disable this capability.  Tested against 12.3-STABLE and 13.1-STABLE on v4.38-9760 from the FreeBSD ports tree but likely applies here as well; see bug report https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267178
2022-10-19 12:39:32 -04:00
5 changed files with 18 additions and 7 deletions

View File

@ -29,12 +29,12 @@ steps:
inputs: inputs:
sourceFolder: '$(Build.BinariesDirectory)' sourceFolder: '$(Build.BinariesDirectory)'
contents: '?(*.exe|*.se2|*.pdb)' contents: '?(*.exe|*.se2|*.pdb)'
TargetFolder: '$(Build.StagingDirectory)/binaries' TargetFolder: '$(Build.StagingDirectory)/binaries/${{parameters.architecture}}'
flattenFolders: true flattenFolders: true
- task: PublishBuildArtifacts@1 - task: PublishBuildArtifacts@1
inputs: inputs:
pathtoPublish: '$(Build.StagingDirectory)/binaries' pathtoPublish: '$(Build.StagingDirectory)/binaries/${{parameters.architecture}}'
artifactName: 'Binaries' artifactName: 'Binaries_${{parameters.architecture}}'
- task: PublishBuildArtifacts@1 - task: PublishBuildArtifacts@1
inputs: inputs:
pathtoPublish: '$(Build.StagingDirectory)/installers' pathtoPublish: '$(Build.StagingDirectory)/installers'

View File

@ -2,8 +2,10 @@ FreeBSD_task:
matrix: matrix:
env: env:
SSL: openssl SSL: openssl
OPENSSL_ROOT_DIR: /usr/local
env: env:
SSL: openssl31 SSL: openssl32
OPENSSL_ROOT_DIR: /usr/local
env: env:
# base openssl # base openssl
SSL: SSL:

View File

@ -805,7 +805,12 @@ bool EthIsChangeMtuSupported(ETH *e)
return false; return false;
} }
// FreeBSD seriously dislikes MTU changes; disable if compiled on that platform
#ifndef __FreeBSD__
return true; return true;
#else
return false;
#endif
#else // defined(UNIX_LINUX) || defined(UNIX_BSD) || defined(UNIX_SOLARIS) #else // defined(UNIX_LINUX) || defined(UNIX_BSD) || defined(UNIX_SOLARIS)
return false; return false;
#endif // defined(UNIX_LINUX) || defined(UNIX_BSD) || defined(UNIX_SOLARIS) #endif // defined(UNIX_LINUX) || defined(UNIX_BSD) || defined(UNIX_SOLARIS)

View File

@ -6269,8 +6269,6 @@ SOCK *ClientConnectGetSocket(CONNECTION *c, bool additional_connect)
localIP = BIND_LOCALIP_NULL; // Specify not to bind localIP = BIND_LOCALIP_NULL; // Specify not to bind
} }
else { else {
Debug("ClientConnectGetSocket(): Using client option %r and %d for binding\n"
, sess->ClientOption->BindLocalIP, sess->ClientOption->BindLocalPort);
// Nonzero address is for source IP address to bind. Zero address is for dummy not to bind. // Nonzero address is for source IP address to bind. Zero address is for dummy not to bind.
if (IsZeroIP(&sess->ClientOption->BindLocalIP) == true) { if (IsZeroIP(&sess->ClientOption->BindLocalIP) == true) {
localIP = BIND_LOCALIP_NULL; localIP = BIND_LOCALIP_NULL;
@ -6278,6 +6276,8 @@ SOCK *ClientConnectGetSocket(CONNECTION *c, bool additional_connect)
else { else {
localIP = &sess->ClientOption->BindLocalIP; localIP = &sess->ClientOption->BindLocalIP;
} }
Debug("ClientConnectGetSocket(): Source IP address %r and source port number %d for binding\n"
, &sess->ClientOption->BindLocalIP, sess->ClientOption->BindLocalPort);
} }
} }
// In the case of second and subsequent TCP/IP connections // In the case of second and subsequent TCP/IP connections
@ -6291,7 +6291,7 @@ SOCK *ClientConnectGetSocket(CONNECTION *c, bool additional_connect)
} }
else { else {
localport = sess->ClientOption->BindLocalPort + Count(sess->Connection->CurrentNumConnection) - 1; localport = sess->ClientOption->BindLocalPort + Count(sess->Connection->CurrentNumConnection) - 1;
Debug("ClientConnectGetSocket(): Additional port number %u\n", localport); Debug("ClientConnectGetSocket(): Additional source port number %u\n", localport);
} }
// Bottom of Bind outgoing connection // Bottom of Bind outgoing connection

View File

@ -5803,6 +5803,10 @@ SSL_PIPE *NewSslPipeEx3(bool server_mode, X *x, K *k, LIST *chain, DH_CTX *dh, b
#endif #endif
ssl = SSL_new(ssl_ctx); ssl = SSL_new(ssl_ctx);
if (ssl == NULL)
{
return NULL;
}
SSL_set_ex_data(ssl, GetSslClientCertIndex(), clientcert); SSL_set_ex_data(ssl, GetSslClientCertIndex(), clientcert);
} }