mirror of
https://github.com/3proxy/3proxy.git
synced 2025-02-23 02:25:40 +08:00
minor fixes
This commit is contained in:
parent
2b4d8e67e4
commit
d77e528847
@ -11,7 +11,7 @@ typedef void *SSL_CONN;
|
|||||||
typedef void *SSL_CERT;
|
typedef void *SSL_CERT;
|
||||||
|
|
||||||
struct ssl_config {
|
struct ssl_config {
|
||||||
int transparent;
|
int mitm;
|
||||||
char *certcache;
|
char *certcache;
|
||||||
X509 *CA_cert;
|
X509 *CA_cert;
|
||||||
EVP_PKEY *CA_key;
|
EVP_PKEY *CA_key;
|
||||||
|
@ -283,7 +283,6 @@ int dossl(struct clientparam* param, SSL_CONN* ServerConnp, SSL_CONN* ClientConn
|
|||||||
if(ServerConnp)*ServerConnp = ServerConn;
|
if(ServerConnp)*ServerConnp = ServerConn;
|
||||||
if(ClientConnp)*ClientConnp = ClientConn;
|
if(ClientConnp)*ClientConnp = ClientConn;
|
||||||
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -301,8 +300,7 @@ static void* ssl_filter_open(void * idata, struct srvparam * srv){
|
|||||||
|
|
||||||
|
|
||||||
if(!certcache) {
|
if(!certcache) {
|
||||||
free(sc);
|
return sc;
|
||||||
return NULL;
|
|
||||||
}
|
}
|
||||||
sprintf(fname, "%.240s3proxy.pem", certcache);
|
sprintf(fname, "%.240s3proxy.pem", certcache);
|
||||||
f = BIO_new_file(fname, "r");
|
f = BIO_new_file(fname, "r");
|
||||||
@ -313,14 +311,12 @@ static void* ssl_filter_open(void * idata, struct srvparam * srv){
|
|||||||
unsigned long err;
|
unsigned long err;
|
||||||
err=ERR_get_error();
|
err=ERR_get_error();
|
||||||
fprintf(stderr, "failed to read: %s: [%lu] %s\n", fname, err, ERR_error_string(err, NULL));
|
fprintf(stderr, "failed to read: %s: [%lu] %s\n", fname, err, ERR_error_string(err, NULL));
|
||||||
free(sc);
|
return sc;
|
||||||
return NULL;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
fprintf(stderr, "failed to open: %s\n", fname);
|
fprintf(stderr, "failed to open: %s\n", fname);
|
||||||
free(sc);
|
return sc;
|
||||||
return NULL;
|
|
||||||
}
|
}
|
||||||
sprintf(fname, "%.240s3proxy.key", sc->certcache);
|
sprintf(fname, "%.240s3proxy.key", sc->certcache);
|
||||||
f = BIO_new_file(fname, "rb");
|
f = BIO_new_file(fname, "rb");
|
||||||
@ -331,12 +327,12 @@ static void* ssl_filter_open(void * idata, struct srvparam * srv){
|
|||||||
unsigned long err;
|
unsigned long err;
|
||||||
err=ERR_get_error();
|
err=ERR_get_error();
|
||||||
fprintf(stderr, "failed to read: %s: [%lu] %s\n", fname, err, ERR_error_string(err, NULL));
|
fprintf(stderr, "failed to read: %s: [%lu] %s\n", fname, err, ERR_error_string(err, NULL));
|
||||||
return NULL;
|
return sc;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
fprintf(stderr, "failed to open: %s\n", fname);
|
fprintf(stderr, "failed to open: %s\n", fname);
|
||||||
return NULL;
|
return sc;
|
||||||
}
|
}
|
||||||
|
|
||||||
sprintf(fname, "%.128sserver.key", sc->certcache);
|
sprintf(fname, "%.128sserver.key", sc->certcache);
|
||||||
@ -354,13 +350,16 @@ static void* ssl_filter_open(void * idata, struct srvparam * srv){
|
|||||||
else {
|
else {
|
||||||
fprintf(stderr, "failed to open: %s\n", fname);
|
fprintf(stderr, "failed to open: %s\n", fname);
|
||||||
}
|
}
|
||||||
sc->transparent = 1;
|
sc->mitm = 1;
|
||||||
srv->so._send = ssl_send;
|
srv->so._send = ssl_send;
|
||||||
srv->so._recv = ssl_recv;
|
srv->so._recv = ssl_recv;
|
||||||
srv->so._sendto = ssl_sendto;
|
srv->so._sendto = ssl_sendto;
|
||||||
srv->so._recvfrom = ssl_recvfrom;
|
srv->so._recvfrom = ssl_recvfrom;
|
||||||
srv->so._closesocket = ssl_closesocket;
|
srv->so._closesocket = ssl_closesocket;
|
||||||
srv->so._poll = ssl_poll;
|
srv->so._poll = ssl_poll;
|
||||||
|
#ifdef WIWHSPLICE
|
||||||
|
srv->usesplice = 0;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
return sc;
|
return sc;
|
||||||
}
|
}
|
||||||
@ -379,8 +378,9 @@ static FILTER_ACTION ssl_filter_client(void *fo, struct clientparam * param, voi
|
|||||||
return CONTINUE;
|
return CONTINUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static FILTER_ACTION ssl_filter_predata(void *fo, struct clientparam * param){
|
static FILTER_ACTION ssl_filter_predata(void *fc, struct clientparam * param){
|
||||||
if(param->operation != HTTP_CONNECT && param->operation != CONNECT) return PASS;
|
if(param->operation != HTTP_CONNECT && param->operation != CONNECT) return PASS;
|
||||||
|
if(!PCONF->mitm) return PASS;
|
||||||
if(dossl(param, NULL, NULL)) {
|
if(dossl(param, NULL, NULL)) {
|
||||||
return REJECT;
|
return REJECT;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user