mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-05-06 08:05:18 -04:00
Merge pull request #167 from G10h4ck/pqicleaning
Removed some cruft like mymethod(){return;} from pqi
This commit is contained in:
commit
874f304cd2
8 changed files with 168 additions and 218 deletions
|
@ -230,13 +230,9 @@ class PQInterface: public RateInterface
|
|||
virtual const RsPeerId& PeerId() { return peerId; }
|
||||
|
||||
// the callback from NetInterface Connection Events.
|
||||
virtual int notifyEvent(NetInterface *ni, int event, const struct sockaddr_storage &remote_peer_address)
|
||||
{
|
||||
(void) ni; /* remove unused parameter warnings */
|
||||
(void) event; /* remove unused parameter warnings */
|
||||
(void) remote_peer_address;
|
||||
return 0;
|
||||
}
|
||||
virtual int notifyEvent(NetInterface * /*ni*/, int /*event*/,
|
||||
const sockaddr_storage & /*remote_peer_address*/)
|
||||
{ return 0; }
|
||||
|
||||
private:
|
||||
|
||||
|
@ -267,8 +263,8 @@ const uint32_t PQI_CONNECT_HIDDEN_I2P_TCP = 0x0008;
|
|||
class BinInterface
|
||||
{
|
||||
public:
|
||||
BinInterface() { return; }
|
||||
virtual ~BinInterface() { return; }
|
||||
BinInterface() {}
|
||||
virtual ~BinInterface() {}
|
||||
|
||||
/**
|
||||
* To be called loop, for updating state
|
||||
|
@ -360,13 +356,17 @@ public:
|
|||
/**
|
||||
* @param p_in used to notify system of connect/disconnect events
|
||||
*/
|
||||
NetInterface(PQInterface *p_in, const RsPeerId& id)
|
||||
:p(p_in), peerId(id) { return; }
|
||||
NetInterface(PQInterface *p_in, const RsPeerId& id) : p(p_in), peerId(id) {}
|
||||
|
||||
virtual ~NetInterface()
|
||||
{ return; }
|
||||
virtual ~NetInterface() {}
|
||||
|
||||
/* TODO
|
||||
* The data entrypoint is connect(const struct sockaddr_storage &raddr)
|
||||
* To generalize NetInterface we should have a more general type for raddr
|
||||
* As an example a string containing an url or encoded like a domain name
|
||||
*/
|
||||
virtual int connect(const struct sockaddr_storage &raddr) = 0;
|
||||
|
||||
virtual int listen() = 0;
|
||||
virtual int stoplistening() = 0;
|
||||
virtual int disconnect() = 0;
|
||||
|
@ -397,10 +397,9 @@ private:
|
|||
class NetBinInterface: public NetInterface, public BinInterface
|
||||
{
|
||||
public:
|
||||
NetBinInterface(PQInterface *parent, const RsPeerId& id)
|
||||
:NetInterface(parent, id)
|
||||
{ return; }
|
||||
virtual ~NetBinInterface() { return; }
|
||||
NetBinInterface(PQInterface *parent, const RsPeerId& id) :
|
||||
NetInterface(parent, id) {}
|
||||
virtual ~NetBinInterface() {}
|
||||
};
|
||||
|
||||
#define CHAN_SIGN_SIZE 16
|
||||
|
|
|
@ -32,20 +32,13 @@
|
|||
class pqilistener
|
||||
{
|
||||
public:
|
||||
|
||||
pqilistener() { return; }
|
||||
virtual ~pqilistener() { return; }
|
||||
|
||||
pqilistener() {}
|
||||
virtual ~pqilistener() {}
|
||||
virtual int tick() { return 1; }
|
||||
virtual int status() { return 1; }
|
||||
virtual int setListenAddr(const struct sockaddr_storage &addr)
|
||||
{
|
||||
(void) addr; /* suppress unused parameter warning */
|
||||
return 1;
|
||||
}
|
||||
virtual int setListenAddr(const sockaddr_storage & /*addr*/) { return 1; }
|
||||
virtual int setuplisten() { return 1; }
|
||||
virtual int resetlisten() { return 1; }
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -1936,10 +1936,7 @@ bool pqissl::cansend(uint32_t usec)
|
|||
|
||||
}
|
||||
|
||||
RsFileHash pqissl::gethash()
|
||||
{
|
||||
return RsFileHash() ;
|
||||
}
|
||||
RsFileHash pqissl::gethash() { return RsFileHash(); }
|
||||
|
||||
/********** End of Implementation of BinInterface ******************/
|
||||
|
||||
|
|
|
@ -170,7 +170,10 @@ int Extract_Failed_SSL_Certificate(); // try to get cert anyway.
|
|||
bool CheckConnectionTimeout();
|
||||
|
||||
|
||||
//protected internal fns that are overloaded for udp case.
|
||||
/* Do we really need this ?
|
||||
* It is very specific TCP+SSL stuff and unlikely to be reused.
|
||||
* In fact we are overloading them in pqissludp case where they do different things or nothing.
|
||||
*/
|
||||
virtual int net_internal_close(int fd);
|
||||
virtual int net_internal_SSL_set_fd(SSL *ssl, int fd);
|
||||
virtual int net_internal_fcntl_nonblock(int fd);
|
||||
|
@ -206,11 +209,9 @@ virtual int net_internal_fcntl_nonblock(int fd);
|
|||
uint32_t mConnectTimeout;
|
||||
time_t mTimeoutTS;
|
||||
|
||||
|
||||
private:
|
||||
// ssl only fns.
|
||||
int connectInterface(const struct sockaddr_storage &addr);
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -56,19 +56,17 @@ const int pqissllistenzone = 49787;
|
|||
*/
|
||||
|
||||
|
||||
pqissllistenbase::pqissllistenbase(const struct sockaddr_storage &addr, p3PeerMgr *pm)
|
||||
pqissllistenbase::pqissllistenbase(const sockaddr_storage &addr, p3PeerMgr *pm)
|
||||
: laddr(addr), active(false), mPeerMgr(pm)
|
||||
|
||||
{
|
||||
if (!(AuthSSL::getAuthSSL()-> active())) {
|
||||
if (!(AuthSSL::getAuthSSL()-> active()))
|
||||
{
|
||||
pqioutput(PQL_ALERT, pqissllistenzone,
|
||||
"SSL-CTX-CERT-ROOT not initialised!");
|
||||
|
||||
exit(1);
|
||||
}
|
||||
|
||||
setuplisten();
|
||||
return;
|
||||
}
|
||||
|
||||
pqissllistenbase::~pqissllistenbase()
|
||||
|
@ -730,17 +728,6 @@ int pqissllistenbase::isSSLActive(int /*fd*/, SSL *ssl)
|
|||
*
|
||||
*/
|
||||
|
||||
pqissllistener::pqissllistener(const struct sockaddr_storage &addr, p3PeerMgr *lm)
|
||||
:pqissllistenbase(addr, lm)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
pqissllistener::~pqissllistener()
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
int pqissllistener::addlistenaddr(const RsPeerId& id, pqissl *acc)
|
||||
{
|
||||
std::map<RsPeerId, pqissl *>::iterator it;
|
||||
|
@ -755,7 +742,6 @@ int pqissllistener::addlistenaddr(const RsPeerId& id, pqissl *acc)
|
|||
|
||||
pqioutput(PQL_DEBUG_ALERT, pqissllistenzone, out);
|
||||
return -1;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -50,12 +50,11 @@ class p3PeerMgr;
|
|||
class AcceptedSSL
|
||||
{
|
||||
public:
|
||||
|
||||
int mFd;
|
||||
SSL *mSSL;
|
||||
RsPeerId mPeerId;
|
||||
|
||||
struct sockaddr_storage mAddr;
|
||||
sockaddr_storage mAddr;
|
||||
time_t mAcceptTS;
|
||||
};
|
||||
|
||||
|
@ -65,20 +64,16 @@ class AcceptedSSL
|
|||
class pqissllistenbase: public pqilistener
|
||||
{
|
||||
public:
|
||||
|
||||
|
||||
pqissllistenbase(const struct sockaddr_storage &addr, p3PeerMgr *pm);
|
||||
virtual ~pqissllistenbase();
|
||||
|
||||
/*************************************/
|
||||
/* LISTENER INTERFACE **/
|
||||
|
||||
/* LISTENER INTERFACE */
|
||||
virtual int tick();
|
||||
virtual int status();
|
||||
virtual int setListenAddr(const struct sockaddr_storage &addr);
|
||||
virtual int setuplisten();
|
||||
virtual int resetlisten();
|
||||
|
||||
/*************************************/
|
||||
|
||||
int acceptconnection();
|
||||
|
@ -100,46 +95,38 @@ int closeConnection(int fd, SSL *ssl);
|
|||
int isSSLActive(int fd, SSL *ssl);
|
||||
|
||||
virtual int completeConnection(int sockfd, IncomingSSLInfo&) = 0;
|
||||
virtual int finaliseConnection(int fd, SSL *ssl, const RsPeerId& peerId, const struct sockaddr_storage &raddr) = 0;
|
||||
protected:
|
||||
virtual int finaliseConnection(int fd, SSL *ssl, const RsPeerId& peerId,
|
||||
const sockaddr_storage &raddr) = 0;
|
||||
|
||||
protected:
|
||||
struct sockaddr_storage laddr;
|
||||
std::list<AcceptedSSL> accepted_ssl;
|
||||
|
||||
private:
|
||||
|
||||
int Extract_Failed_SSL_Certificate(const IncomingSSLInfo&);
|
||||
|
||||
bool active;
|
||||
int lsock;
|
||||
|
||||
std::list<IncomingSSLInfo> incoming_ssl ;
|
||||
|
||||
protected:
|
||||
|
||||
p3PeerMgr *mPeerMgr;
|
||||
|
||||
private:
|
||||
int Extract_Failed_SSL_Certificate(const IncomingSSLInfo&);
|
||||
bool active;
|
||||
int lsock;
|
||||
std::list<IncomingSSLInfo> incoming_ssl ;
|
||||
};
|
||||
|
||||
|
||||
class pqissllistener: public pqissllistenbase
|
||||
{
|
||||
public:
|
||||
|
||||
pqissllistener(const struct sockaddr_storage &addr, p3PeerMgr *pm);
|
||||
virtual ~pqissllistener();
|
||||
pqissllistener(const struct sockaddr_storage &addr, p3PeerMgr *pm) :
|
||||
pqissllistenbase(addr, pm) {}
|
||||
virtual ~pqissllistener() {}
|
||||
|
||||
int addlistenaddr(const RsPeerId& id, pqissl *acc);
|
||||
int removeListenPort(const RsPeerId& id);
|
||||
|
||||
//virtual int tick();
|
||||
virtual int status();
|
||||
|
||||
virtual int completeConnection(int sockfd, IncomingSSLInfo&);
|
||||
virtual int finaliseConnection(int fd, SSL *ssl, const RsPeerId& peerId, const struct sockaddr_storage &raddr);
|
||||
virtual int finaliseConnection(int fd, SSL *ssl, const RsPeerId& peerId,
|
||||
const sockaddr_storage &raddr);
|
||||
|
||||
private:
|
||||
|
||||
std::map<RsPeerId, pqissl*> listenaddr;
|
||||
};
|
||||
|
||||
|
|
|
@ -51,16 +51,16 @@ static const uint32_t PQI_SSLUDP_DEF_CONN_PERIOD = 300; /* 5 minutes? */
|
|||
|
||||
/********** PQI SSL UDP STUFF **************************************/
|
||||
|
||||
pqissludp::pqissludp(PQInterface *parent, p3LinkMgr *lm)
|
||||
:pqissl(NULL, parent, lm), tou_bio(NULL),
|
||||
listen_checktime(0), mConnectPeriod(PQI_SSLUDP_DEF_CONN_PERIOD), mConnectFlags(0), mConnectBandwidth(0)
|
||||
pqissludp::pqissludp(PQInterface *parent, p3LinkMgr *lm) :
|
||||
pqissl(NULL, parent, lm), tou_bio(NULL), listen_checktime(0),
|
||||
mConnectPeriod(PQI_SSLUDP_DEF_CONN_PERIOD), mConnectFlags(0),
|
||||
mConnectBandwidth(0)
|
||||
{
|
||||
RsStackMutex stack(mSslMtx); /**** LOCKED MUTEX ****/
|
||||
RS_STACK_MUTEX(mSslMtx);
|
||||
|
||||
sockaddr_storage_clear(remote_addr);
|
||||
sockaddr_storage_clear(mConnectProxyAddr);
|
||||
sockaddr_storage_clear(mConnectSrcAddr);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
@ -79,14 +79,11 @@ pqissludp::~pqissludp()
|
|||
stoplistening(); /* remove from p3proxy listenqueue */
|
||||
reset();
|
||||
|
||||
RsStackMutex stack(mSslMtx); /**** LOCKED MUTEX ****/
|
||||
RS_STACK_MUTEX(mSslMtx);
|
||||
|
||||
if (tou_bio) // this should be in the reset?
|
||||
{
|
||||
BIO_free(tou_bio);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
int pqissludp::reset_locked()
|
||||
{
|
||||
|
@ -449,15 +446,6 @@ int pqissludp::net_internal_fcntl_nonblock(int /*fd*/)
|
|||
}
|
||||
|
||||
|
||||
/* These are identical to pqinetssl version */
|
||||
//int pqissludp::status()
|
||||
|
||||
int pqissludp::tick()
|
||||
{
|
||||
pqissl::tick();
|
||||
return 1;
|
||||
}
|
||||
|
||||
// listen fns call the udpproxy.
|
||||
int pqissludp::listen()
|
||||
{
|
||||
|
|
|
@ -61,7 +61,6 @@ virtual ~pqissludp();
|
|||
// listen fns call the udpproxy.
|
||||
virtual int listen();
|
||||
virtual int stoplistening();
|
||||
virtual int tick();
|
||||
|
||||
virtual bool connect_parameter(uint32_t type, uint32_t value);
|
||||
virtual bool connect_additional_address(uint32_t type, const struct sockaddr_storage &addr);
|
||||
|
@ -84,7 +83,10 @@ virtual int reset_locked();
|
|||
virtual int Initiate_Connection();
|
||||
virtual int Basic_Connection_Complete();
|
||||
|
||||
//protected internal fns that are overloaded for udp case.
|
||||
/* Do we really need this ?
|
||||
* It is very specific UDP+ToU+SSL stuff and unlikely to be reused.
|
||||
* In fact we are overloading them here becase they are very do different of pqissl.
|
||||
*/
|
||||
virtual int net_internal_close(int fd);
|
||||
virtual int net_internal_SSL_set_fd(SSL *ssl, int fd);
|
||||
virtual int net_internal_fcntl_nonblock(int fd);
|
||||
|
@ -93,9 +95,6 @@ private:
|
|||
|
||||
BIO *tou_bio; // specific to ssludp.
|
||||
|
||||
//int remote_timeout;
|
||||
//int proxy_timeout;
|
||||
|
||||
long listen_checktime;
|
||||
|
||||
uint32_t mConnectPeriod;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue