This file is indexed.

/usr/share/doc/python-jabber/patches/old/22xmlstream.py_OfflineMEssages_v0.3.1.diff is in python-jabber 0.5.0-1.5ubuntu1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
diff -Naur old/xmlstream.py new/xmlstream.py
--- old/xmlstream.py	Wed Sep 18 14:48:04 2002
+++ new/xmlstream.py	Fri Oct 25 13:38:05 2002
@@ -263,6 +263,7 @@
                  
         self._setParser()
 
+	self.read_buffer=''
         self._host = host
         self._port = port 
         self._namespace = namespace
@@ -370,7 +371,9 @@
         data_in = u''
         self._setParser()
 
-        if self._connection == TCP:
+	if self.read_buffer and self.read_buffer[-1:]=='>':
+	    pass
+	elif self._connection == TCP:
             data_in = data_in + \
               unicode(self._sock.recv(BLOCK_SIZE),'utf-8').encode(ENCODING,
                                                             'replace')
@@ -381,7 +384,7 @@
                 data_in = unicode(self._sock.recv(BLOCK_SIZE),'utf-8').encode(
                     ENCODING, 'replace')
 
-        if self._connection == TCP_SSL:
+        elif self._connection == TCP_SSL:
             data_in = data_in + \
               unicode(self._sslObj.recv(BLOCK_SIZE),'utf-8').encode(ENCODING,'replace')
             while data_in:
@@ -405,6 +408,20 @@
             
         self.DEBUG("got data %s" % data )
         self.log(data, 'RECV:')
+	self.read_buffer+=data
+	tag1='</'+self.read_buffer[1:find(self.read_buffer,'>')]
+	tag2='</'+self.read_buffer[1:find(self.read_buffer,' ')]
+	if len(tag1)<len(tag2):
+	    tag=tag1
+	else:
+	    tag=tag2
+	offset=find(self.read_buffer,tag)+len(tag)+1
+	if offset==len(tag):
+	    data=self.read_buffer
+	    self.read_buffer=''
+	else:
+	    data=self.read_buffer[:offset]
+	    self.read_buffer=self.read_buffer[offset:]
         self._parser.Parse(data)
         return data
     
@@ -427,6 +444,9 @@
             
     def process(self,timeout):
         
+	if self.read_buffer and self.read():
+	    return True
+
         reader=Node
 
         if self._connection == TCP: