diff options
author | rafan <rafan@FreeBSD.org> | 2007-07-04 21:07:49 +0800 |
---|---|---|
committer | rafan <rafan@FreeBSD.org> | 2007-07-04 21:07:49 +0800 |
commit | d1c70f9da9c308e3e155958ed3946a05839b7469 (patch) | |
tree | 3400ae3a39fcea5f5507993f24219bc3c0523001 | |
parent | d43cae667549a8b396491a41a03e506b300cabb9 (diff) | |
download | freebsd-ports-gnome-d1c70f9da9c308e3e155958ed3946a05839b7469.tar.gz freebsd-ports-gnome-d1c70f9da9c308e3e155958ed3946a05839b7469.tar.zst freebsd-ports-gnome-d1c70f9da9c308e3e155958ed3946a05839b7469.zip |
- Revert previous WRKSRC changes. It was necessary because we have
files/verlihub.in which becomes WRKDIR/verlihub at installation stage. [1]
- Add patch for THubLink plugin support [2]
- Pass maintainership to submitter [2]
- While I'm here, sort pkg-plist
PR: ports/112393 [2]
Pointed out by: danfe [1]
Submitted by: Mikle Davidkin <skylord at vt.net.ru> [2]
-rw-r--r-- | net-p2p/verlihub/Makefile | 8 | ||||
-rw-r--r-- | net-p2p/verlihub/files/patch-thublink | 339 | ||||
-rw-r--r-- | net-p2p/verlihub/pkg-plist | 20 |
3 files changed, 354 insertions, 13 deletions
diff --git a/net-p2p/verlihub/Makefile b/net-p2p/verlihub/Makefile index b2ffe338e859..019c940b5d84 100644 --- a/net-p2p/verlihub/Makefile +++ b/net-p2p/verlihub/Makefile @@ -8,11 +8,12 @@ PORTNAME= verlihub DISTVERSION= 0.9.8d-RC1 PORTEPOCH= 1 +PORTREVISION= 1 CATEGORIES= net-p2p MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} MASTER_SITE_SUBDIR= ${PORTNAME} -MAINTAINER= ports@FreeBSD.org +MAINTAINER= skylord@vt.net.ru COMMENT= A Direct Connect protocol server (Hub) # XXX: Actually, bash isn't required for building, @@ -31,12 +32,13 @@ USE_LDCONFIG= yes USE_OPENSSL= yes SUB_FILES+= pkg-message -WRKSRC= ${WRKDIR}/${PORTNAME} - DOCS= configuring.txt using.txt help.html verlihub.html MANUAL_DOCS= verlihub.css verlihub_manual.html PORTDOCS= ${DOCS} ${MANUAL_DOCS} +post-extract: + @${MV} ${WRKDIR}/${PORTNAME} ${WRKSRC} + post-install: .if !defined(NOPORTDOCS) @${MKDIR} ${DOCSDIR} diff --git a/net-p2p/verlihub/files/patch-thublink b/net-p2p/verlihub/files/patch-thublink new file mode 100644 index 000000000000..441264b6a608 --- /dev/null +++ b/net-p2p/verlihub/files/patch-thublink @@ -0,0 +1,339 @@ +Index: casyncconn.cpp +=================================================================== +RCS file: /cvsroot/verlihub/verlihub/src/casyncconn.cpp,v +retrieving revision 1.89 +diff -u -r1.89 casyncconn.cpp +--- src/casyncconn.cpp 12 Sep 2005 21:28:50 -0000 1.89 ++++ src/casyncconn.cpp 17 Jun 2006 21:27:43 -0000 +@@ -94,33 +94,13 @@ + mType(ct) + { + mMaxBuffer=MAX_SEND_SIZE; +- struct sockaddr saddr; +- struct sockaddr_in *addr_in; +- socklen_t addr_size; +- +- addr_size = sizeof(saddr); +- unsigned int addr; +- + mIp=0; + ClearLine(); + mBufEnd = mBufReadPos = 0; + mRegFlag = 0; + if(mSockDesc) + { +- if(0 > getpeername(mSockDesc, &saddr, &addr_size)) +- { +- if(Log(2)) LogStream() << "Error getting peername, closing" << endl; +- CloseNow(); +- } +- addr_in = (struct sockaddr_in *)&saddr; +- // copy IP +- addr = mIp = addr_in->sin_addr.s_addr; +- // asci ip addr +- mAddrIP = inet_ntoa(addr_in->sin_addr); +- // host name +- if( mxServer && mxServer->mUseDNS ) DNSLookup(); +- // port number +- mAddrPort=addr_in->sin_port; ++ FetchSockAddr(); + } + memset (&mCloseAfter,0, sizeof(mCloseAfter)); + } +@@ -168,6 +148,32 @@ + this->Close(); + } + ++/** Fetch IP addr from socket */ ++void cAsyncConn::FetchSockAddr() ++{ ++ struct sockaddr saddr; ++ struct sockaddr_in *addr_in; ++ socklen_t addr_size; ++ ++ addr_size = sizeof(saddr); ++ unsigned int addr; ++ ++ if(0 > getpeername(mSockDesc, &saddr, &addr_size)) ++ { ++ if(Log(2)) LogStream() << "Error getting peername, closing" << endl; ++ CloseNow(); ++ } ++ addr_in = (struct sockaddr_in *)&saddr; ++ // copy IP ++ addr = mIp = addr_in->sin_addr.s_addr; ++ // asci ip addr ++ mAddrIP = inet_ntoa(addr_in->sin_addr); ++ // host name ++ if( mxServer && mxServer->mUseDNS ) DNSLookup(); ++ // port number ++ mAddrPort=addr_in->sin_port; ++} ++ + /** close connection to peer */ + void cAsyncConn::Close() + { +@@ -270,6 +276,7 @@ + /** immediately close the connection */ + void cAsyncConn::CloseNow() + { ++ OnCloseNow(); + mWritable = false; + ok = false; + if(mxServer) mxServer->mConnChooser.cConnChoose::OptOut((cConnBase*)this, cConnChoose::eCC_ALL); +@@ -483,6 +490,8 @@ + return -1; + } + ok=true; ++ /* Fetch socket info */ ++ FetchSockAddr(); + return 0; + } + else +@@ -849,6 +858,9 @@ + /** function called before closing nicely */ + int cAsyncConn::OnCloseNice(void) { return 0; } + ++/** function called before closing now */ ++int cAsyncConn::OnCloseNow(void) { return 0; } ++ + cMessageParser *cAsyncConn::CreateParser() + { + if (this->mxProtocol != NULL) +Index: casyncsocketserver.cpp +=================================================================== +RCS file: /cvsroot/verlihub/verlihub/src/casyncsocketserver.cpp,v +retrieving revision 1.70 +diff -u -r1.70 casyncsocketserver.cpp +--- src/casyncsocketserver.cpp 27 Mar 2006 13:37:32 -0000 1.70 ++++ src/casyncsocketserver.cpp 17 Jun 2006 21:27:43 -0000 +@@ -198,6 +198,7 @@ + return; + } + tCLIt it = old_conn->mIterator;//find(mConnList.begin(), mConnList.end(), old_conn); ++ + cAsyncConn *found=(*it); + if( (it == mConnList.end()) || (found != old_conn) ) + { +Index: cconndc.cpp +=================================================================== +RCS file: /cvsroot/verlihub/verlihub/src/cconndc.cpp,v +retrieving revision 1.63 +diff -u -r1.63 cconndc.cpp +--- src/cconndc.cpp 4 Oct 2005 19:47:38 -0000 1.63 ++++ src/cconndc.cpp 17 Jun 2006 21:27:43 -0000 +@@ -359,7 +359,13 @@ + IPMax = cBanList::Ip2Num(mServer->mC.ip_zone6_max); + if( (IPMin <= IPConn) && (IPMax >= IPConn)) conn->mGeoZone = 6; + } ++ + conn->mxProtocol = mProtocol; ++ ++ conn->mDCIterator = ++ mServer->mDCConnList.insert(mServer->mDCConnList.begin(), ++ conn); ++ + return (cAsyncConn*) conn; + } + +@@ -386,6 +392,20 @@ + mServer->mCallBacks.mOnCloseConn.CallAll(conn); + #endif + } ++ ++ cConnDC::tCLIt it = conn->mDCIterator; ++ cAsyncConn *found=(*it); ++ if( (it == mServer->mDCConnList.end()) || (found != conn) ) ++ { ++ cout << "not found " << conn << endl; ++ throw "Trying to delete non-existent connection"; ++ } ++ ++ //cout << "Deleting connection on socket: " << old_conn->mSockDesc << endl; ++ mServer->mDCConnList.erase(it); ++ cConnDC::tCLIt emptyit; ++ conn->mDCIterator = emptyit; ++ + cConnFactory::DeleteConn(Conn); + } + +Index: cserverdc.cpp +=================================================================== +RCS file: /cvsroot/verlihub/verlihub/src/cserverdc.cpp,v +retrieving revision 1.235 +diff -u -r1.235 cserverdc.cpp +--- src/cserverdc.cpp 8 Nov 2005 07:51:23 -0000 1.235 ++++ src/cserverdc.cpp 17 Jun 2006 21:27:44 -0000 +@@ -492,7 +492,7 @@ + } + + int count=0; +- for(i=mConnList.begin(); i!= mConnList.end(); i++) ++ for(i=mDCConnList.begin(); i!= mDCConnList.end(); i++) + { + conn=(cConnDC *)(*i); + if(conn && conn->ok && conn->mWritable && conn->mpUser && conn->mpUser->mInList) +@@ -516,7 +516,7 @@ + cConnDC *conn; + tCLIt i; + int counter = 0; +- for(i=mConnList.begin(); i!= mConnList.end(); i++) ++ for(i=mDCConnList.begin(); i!= mDCConnList.end(); i++) + { + conn=(cConnDC *)(*i); + if( +@@ -541,7 +541,7 @@ + static string str; + cConnDC *conn; + tCLIt i; +- for(i=mConnList.begin(); i!= mConnList.end(); i++) ++ for(i=mDCConnList.begin(); i!= mDCConnList.end(); i++) + { + conn=(cConnDC *)(*i); + if( +@@ -563,6 +563,9 @@ + /** return negative if conn should be removed */ + int cServerDC::OnNewConn(cAsyncConn *nc) + { ++ if(string(nc->mClassName) != string("ConnDC")) ++ return 0; ++ + cConnDC *conn = (cConnDC *)nc; + stringstream errmsg,os; + if(!conn) return -1; +@@ -909,7 +912,7 @@ + /** return true if accept is allowed - override */ + bool cServerDC::AllowNewConn() + { +- return mConnList.size() <= (unsigned) mC.max_users_total + mC.max_extra_regs + mC.max_extra_vips + mC.max_extra_ops + mC.max_extra_cheefs + mC.max_extra_admins + 200; ++ return mDCConnList.size() <= (unsigned) mC.max_users_total + mC.max_extra_regs + mC.max_extra_vips + mC.max_extra_ops + mC.max_extra_cheefs + mC.max_extra_admins + 200; + } + + int cServerDC::SaveFile(const string &file, const string &text) +@@ -1268,6 +1271,7 @@ + delete work; + return 0; + } ++ return true; + } + + /** No descriptions */ +Index: casyncconn.h +=================================================================== +RCS file: /cvsroot/verlihub/verlihub/src/casyncconn.h,v +retrieving revision 1.50 +diff -u -r1.50 casyncconn.h +--- src/casyncconn.h 4 Sep 2005 19:37:06 -0000 1.50 ++++ src/casyncconn.h 17 Jun 2006 21:27:44 -0000 +@@ -92,6 +92,8 @@ + cAsyncConn(int sd=0, cAsyncSocketServer *s=NULL, tConnType ct= eCT_CLIENT); + cAsyncConn(const string & host, int port, bool udp=false); + virtual ~cAsyncConn(); ++ /** fetch IP addr from connection */ ++ void FetchSockAddr(); + /** close connection to peer */ + void Close(); + /** flush as much from output buffer as possible to the iochannel */ +@@ -115,6 +117,8 @@ + /** time to close the connection */ + cTime mCloseAfter; + ++public: ++ /* Anyone know, why we should do this private ??? */ + typedef list<cAsyncConn*> tConnList; + typedef tConnList::iterator tCLIt; + +@@ -183,6 +187,8 @@ + tSocket AcceptSock(); + /** function called before closing nicely */ + virtual int OnCloseNice(void); ++ /** function called before closing now */ ++ virtual int OnCloseNow(void); + /** for udp */ + struct sockaddr_in mAddrIN; + +@@ -195,7 +201,7 @@ + const string & AddrIP(){return mAddrIP;} + const string & AddrHost(){return mAddrHost;} + const int AddrPort(){return mAddrPort;} +- const unsigned long GetSockAddress() { return mAddrIN.sin_addr.s_addr; } ++ const unsigned long GetSockAddress() { return (mType == eCT_CLIENTUDP)?mAddrIN.sin_addr.s_addr:mIp; } + + /** reads all available data from the socket and stores it into a static member buffer */ + int ReadAll(); +Index: casyncsocketserver.h +=================================================================== +RCS file: /cvsroot/verlihub/verlihub/src/casyncsocketserver.h,v +retrieving revision 1.27 +diff -u -r1.27 casyncsocketserver.h +--- src/casyncsocketserver.h 21 Dec 2004 12:48:46 -0000 1.27 ++++ src/casyncsocketserver.h 17 Jun 2006 21:27:44 -0000 +@@ -96,6 +96,12 @@ + cTime mTime; + // + cMeanFrequency<unsigned ,21> mFrequency; ++ ++ /* I don't know, why we should make this protected */ ++ /** add given connection to server */ ++ virtual void addConnection(cAsyncConn *); ++ /** remove given connection from server */ ++ void delConnection(cAsyncConn * ); + protected: // Protected attributes + /** indicates whether the loop should run or not */ + bool mbRun; +@@ -117,10 +123,6 @@ + static bool WSinitialized; + cConnFactory *mFactory; + protected: // Protected methods +- /** add given connection to server */ +- virtual void addConnection(cAsyncConn *); +- /** remove given connection from server */ +- void delConnection(cAsyncConn * ); + /** perform input operation, read all data from the connection, return number of bytes read, return negative number, if error occured */ + virtual int input(cAsyncConn *conn); + /** perform output operation */ +Index: cconndc.h +=================================================================== +RCS file: /cvsroot/verlihub/verlihub/src/cconndc.h,v +retrieving revision 1.41 +diff -u -r1.41 cconndc.h +--- src/cconndc.h 12 Sep 2005 21:28:50 -0000 1.41 ++++ src/cconndc.h 17 Jun 2006 21:27:44 -0000 +@@ -130,6 +130,7 @@ + class cConnDC : public cAsyncConn + { + friend class nProtocol::cDCProto; ++ friend class cDCConnFactory; + public: + cConnDC(int sd=0, cAsyncSocketServer *server=NULL); + virtual ~cConnDC(); +@@ -219,6 +220,10 @@ + }; + sTimes mT; + int mSRCounter; ++ ++ // DC++ type connections iterator ++ tCLIt mDCIterator; ++ + protected: // Protected methods + /** function called before closing nicely */ + int OnCloseNice(); +Index: cserverdc.h +=================================================================== +RCS file: /cvsroot/verlihub/verlihub/src/cserverdc.h,v +retrieving revision 1.111 +diff -u -r1.111 cserverdc.h +--- src/cserverdc.h 14 Sep 2005 20:20:28 -0000 1.111 ++++ src/cserverdc.h 17 Jun 2006 21:27:44 -0000 +@@ -329,6 +329,11 @@ + cTimeOut mHublistTimer; + cTimeOut mReloadcfgTimer; + cVHPluginMgr mPluginManager; ++ ++protected: ++ // Protected attributes :D ++ tConnList mDCConnList; ++ + private: + struct sCallBacks + { diff --git a/net-p2p/verlihub/pkg-plist b/net-p2p/verlihub/pkg-plist index ba3e55e74f93..7293611fe5f1 100644 --- a/net-p2p/verlihub/pkg-plist +++ b/net-p2p/verlihub/pkg-plist @@ -11,8 +11,8 @@ bin/vh_trigger include/verlihub/cantiflood.h include/verlihub/casyncconn.h include/verlihub/casyncsocketserver.h -include/verlihub/cbanlist.h include/verlihub/cban.h +include/verlihub/cbanlist.h include/verlihub/ccallbacklist.h include/verlihub/cchatconsole.h include/verlihub/ccmdr.h @@ -22,8 +22,8 @@ include/verlihub/cconfigfile.h include/verlihub/cconfigitembase.h include/verlihub/cconfmysql.h include/verlihub/cconnbase.h -include/verlihub/cconndc.h include/verlihub/cconnchoose.h +include/verlihub/cconndc.h include/verlihub/cconnpoll.h include/verlihub/cconnselect.h include/verlihub/cconntypes.h @@ -38,8 +38,8 @@ include/verlihub/cfreqlimiter.h include/verlihub/cgeoip.h include/verlihub/cinfoserver.h include/verlihub/cinterpolexp.h -include/verlihub/ckicklist.h include/verlihub/ckick.h +include/verlihub/ckicklist.h include/verlihub/cmeanfrequency.h include/verlihub/cmessagedc.h include/verlihub/cmutex.h @@ -61,15 +61,15 @@ include/verlihub/csetuplist.h include/verlihub/ctempfunctionbase.h include/verlihub/cthread.h include/verlihub/cthreadwork.h -include/verlihub/ctimeout.h include/verlihub/ctime.h -include/verlihub/ctriggers.h +include/verlihub/ctimeout.h include/verlihub/ctrigger.h +include/verlihub/ctriggers.h include/verlihub/curr_date_time.h -include/verlihub/cusercollection.h include/verlihub/cuser.h -include/verlihub/cvhpluginmgr.h +include/verlihub/cusercollection.h include/verlihub/cvhplugin.h +include/verlihub/cvhpluginmgr.h include/verlihub/cworkerthread.h include/verlihub/dirsettings.h include/verlihub/dll.h @@ -77,8 +77,8 @@ include/verlihub/make_time.h include/verlihub/script_api.h include/verlihub/stringutils.h include/verlihub/tcache.h -include/verlihub/thasharray.h include/verlihub/tchashlistmap.h +include/verlihub/thasharray.h include/verlihub/tlistconsole.h include/verlihub/tlistplugin.h include/verlihub/tmysqlmemoryhash.h @@ -111,11 +111,11 @@ lib/libvhapi.so.0 %%DATADIR%%/config/help_vip %%DATADIR%%/config/motd %%DATADIR%%/config/rules -%%DATADIR%%/sql/default_pi_plug.sql %%DATADIR%%/sql/default_conn_types.sql %%DATADIR%%/sql/default_file_trigger.sql +%%DATADIR%%/sql/default_pi_plug.sql %%DATADIR%%/sql/default_reglist.sql @dirrm include/verlihub -@dirrm %%DATADIR%%/config @dirrm %%DATADIR%%/sql +@dirrm %%DATADIR%%/config @dirrm %%DATADIR%% |