Version: SVN revision 689741 (using KDE KDE 3.5.6) Installed from: Ubuntu Packages Compiler: gcc 4.1.2 (Ubuntu 4.1.2-0ubuntu4) OS: Linux The last SVN version cannot connect to a person who sends a DCC CHAT offer because it tries to connect to m_ownPort (in this case it's a random integer) instead of the port specified by the person who offered the chat (m_partnerPort). I have attached a patch with a fix for it.
Created attachment 21184 [details] Patch for fixing the described bug. Replaces m_ownPort with m_partnerPort in DccChat::connectToPartner
SVN commit 689946 by psn: Use correct port for dcc chat. Patch by Raphael Kubo da Costa. BUG:148002 M +3 -3 dccchat.cpp --- branches/extragear/kde3/network/konversation/src/dccchat.cpp #689945:689946 @@ -159,11 +159,11 @@ m_partnerHost=ip.toString(); getTextView()->appendServerMessage( i18n( "DCC" ), i18n( "%1 = nickname, %2 = IP, %3 = port", - "Establishing DCC Chat connection to %1 (%2:%3)..." ).arg( m_partnerNick ).arg( m_partnerHost ).arg( m_ownPort ) ); + "Establishing DCC Chat connection to %1 (%2:%3)..." ).arg( m_partnerNick ).arg( m_partnerHost ).arg( m_partnerPort ) ); - m_sourceLine->setText( i18n( "%1 = nickname, %2 = IP, %3 = port", "DCC chat with %1 on %2:%3." ).arg( m_partnerNick ).arg( host ).arg( m_ownPort ) ); + m_sourceLine->setText( i18n( "%1 = nickname, %2 = IP, %3 = port", "DCC chat with %1 on %2:%3." ).arg( m_partnerNick ).arg( host ).arg( m_partnerPort ) ); - m_dccSocket = new KNetwork::KStreamSocket( m_partnerHost, QString::number( m_ownPort ), this ); + m_dccSocket = new KNetwork::KStreamSocket( m_partnerHost, QString::number( m_partnerPort ), this ); m_dccSocket->setBlocking(false); m_dccSocket->setFamily(KNetwork::KResolver::InetFamily);