rpms/centerim/F-7 centerim-4.22.1-msn-NOT.patch, NONE, 1.1 centerim.spec, 1.1, 1.2

Lubomir Kundrak (lkundrak) fedora-extras-commits at redhat.com
Tue Oct 23 10:53:32 UTC 2007


Author: lkundrak

Update of /cvs/pkgs/rpms/centerim/F-7
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv9620/F-7

Modified Files:
	centerim.spec 
Added Files:
	centerim-4.22.1-msn-NOT.patch 
Log Message:
MixMSN NOT handling


centerim-4.22.1-msn-NOT.patch:

--- NEW FILE centerim-4.22.1-msn-NOT.patch ---
From: Stéphane Bisinger <stephane.bisinger at gmail.com>
Date: Mon, 22 Oct 2007 10:13:27 +0000 (+0200)
Subject: Ignored NOT messages by notification Server in libmsn
X-Git-Url: http://repo.or.cz/w/centerim.git?a=commitdiff_plain;h=d39011362c9acd044bcecebc237452448cb6af6e

Ignored NOT messages by notification Server in libmsn
---

diff --git a/libmsn/msn/notificationserver.cpp b/libmsn/msn/notificationserver.cpp
index 3104f8f..8feb245 100644
--- a/libmsn/msn/notificationserver.cpp
+++ b/libmsn/msn/notificationserver.cpp
@@ -152,6 +152,7 @@ namespace MSN
             commandHandlers["CHL"] = &NotificationServerConnection::handle_CHL;
             commandHandlers["ILN"] = &NotificationServerConnection::handle_ILN;
             commandHandlers["NLN"] = &NotificationServerConnection::handle_NLN;
+            commandHandlers["NOT"] = &NotificationServerConnection::handle_NOT;
             commandHandlers["FLN"] = &NotificationServerConnection::handle_FLN;
             commandHandlers["MSG"] = &NotificationServerConnection::handle_MSG;
             commandHandlers["ADG"] = &NotificationServerConnection::handle_ADG;
@@ -282,6 +283,13 @@ namespace MSN
         this->myNotificationServer()->externalCallbacks.buddyChangedStatus(this, args[2], decodeURL(args[3]), buddyStatusFromString(args[1]));
     }
     
+    void NotificationServerConnection::handle_NOT(std::vector<std::string> & args)
+    {
+        this->assertConnectionStateIsAtLeast(NS_CONNECTED);
+        int notlen = decimalFromString(args[1]);
+        this->readBuffer = this->readBuffer.substr(notlen);
+    }
+    
     void NotificationServerConnection::handle_FLN(std::vector<std::string> & args)
     {
         this->assertConnectionStateIsAtLeast(NS_CONNECTED);
@@ -570,10 +578,12 @@ public:
                 else
                     dataLength = decimalFromString(args[1]);
 
-                if (this->readBuffer.find("\r\n") + 2 + dataLength > this->readBuffer.size())
+                if (this->readBuffer.find("\r\n", 0) + 2 + dataLength > this->readBuffer.size()) {
+                    this->myNotificationServer()->externalCallbacks.showError(this, "Could not read buffer: too small");
                     return;
+                }
             }
-            this->readBuffer = this->readBuffer.substr(this->readBuffer.find("\r\n") + 2);
+            this->readBuffer = this->readBuffer.substr(this->readBuffer.find("\r\n", 0) + 2);
             int trid = 0;
             
             if (args.size() >= 6 && args[0] == "XFR" && args[2] == "NS")
@@ -602,7 +612,7 @@ public:
                 // QNG
                 //  0
                 
-		this->_nextPing = decimalFromString(args[1]);
+                this->_nextPing = decimalFromString(args[1]);
                 return;
             }
             
diff --git a/libmsn/msn/notificationserver.h b/libmsn/msn/notificationserver.h
index 5fba4ea..b7f3c5a 100644
--- a/libmsn/msn/notificationserver.h
+++ b/libmsn/msn/notificationserver.h
@@ -285,13 +285,13 @@ public:
         };
 
         NotificationServerState connectionState() const { return this->_connectionState; };
-	unsigned int nextPing() { return this->_nextPing; };
+        unsigned int nextPing() { return this->_nextPing; };
         Callbacks & externalCallbacks;
         virtual NotificationServerConnection *myNotificationServer() { return this; };        
 protected:
         virtual void handleIncomingData();
         NotificationServerState _connectionState;
-	unsigned int _nextPing;
+        unsigned int _nextPing;
         
         void setConnectionState(NotificationServerState s) { this->_connectionState = s; };
         void assertConnectionStateIs(NotificationServerState s) { assert(this->_connectionState == s); };
@@ -315,6 +315,7 @@ private:
         void handle_CHL(std::vector<std::string> & args);
         void handle_ILN(std::vector<std::string> & args);
         void handle_NLN(std::vector<std::string> & args);
+        void handle_NOT(std::vector<std::string> & args);
         void handle_FLN(std::vector<std::string> & args);
         void handle_MSG(std::vector<std::string> & args);
         void handle_RNG(std::vector<std::string> & args);


Index: centerim.spec
===================================================================
RCS file: /cvs/pkgs/rpms/centerim/F-7/centerim.spec,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- centerim.spec	9 Oct 2007 06:16:00 -0000	1.1
+++ centerim.spec	23 Oct 2007 10:52:58 -0000	1.2
@@ -4,7 +4,7 @@
 
 Name:           centerim
 Version:        %{snapshot_ver}
-Release:        1%{?dist}
+Release:        3%{?dist}
 
 Summary:        Text mode menu- and window-driven IM
 
@@ -20,6 +20,8 @@
 # Fix ljhook
 Patch101:       centerim-4.22.1-ljtags.patch
 Patch102:       centerim-4.22.1-ljtypo.patch
+# Fix MSN
+Patch103:       centerim-4.22.1-msn-NOT.patch
 
 ## feature enh
 # provided by Andy Shevchenko... will ask before quit
@@ -45,13 +47,14 @@
 %patch7 -p1 -b .overflows
 %patch101 -p1 -b .ljtags
 %patch102 -p1 -b .ljtypo
+%patch103 -p1 -b .msn-NOT
 %patch201 -p1 -b .quitask
 
 %build
 %configure \
-	--with-ssl \
-	--disable-rpath \
-	--enable-locales-fix
+        --with-ssl \
+        --disable-rpath \
+        --enable-locales-fix
 make %{?_smp_flags}
 
 %check
@@ -77,6 +80,9 @@
 %{_mandir}/man1/*
 
 %changelog
+* Tue Oct 23 2007 Lubomir Kundrak <lkundrak at redhat.com> - 20071003-3
+- Thanks to Stéphane Bisinger, MSN works
+
 * Mon Oct 08 2007 Lubomir Kundrak <lkundrak at redhat.com> - 20071003-2
 - Fixed BuildRoot
 - Removed redundant BuildReq




More information about the fedora-extras-commits mailing list