<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent changes to patches</title><link href="https://sourceforge.net/p/java-jml/patches/" rel="alternate"/><link href="https://sourceforge.net/p/java-jml/patches/feed.atom" rel="self"/><id>https://sourceforge.net/p/java-jml/patches/</id><updated>2011-03-16T13:33:59Z</updated><subtitle>Recent changes to patches</subtitle><entry><title>Null pointer exception occur  when reading offline message</title><link href="https://sourceforge.net/p/java-jml/patches/17/" rel="alternate"/><published>2011-03-16T13:33:59Z</published><updated>2011-03-16T13:33:59Z</updated><author><name>ronaldo</name><uri>https://sourceforge.net/u/cstsang/</uri></author><id>https://sourceforge.netde7dda0969678e4b4d63f1a195ba70ff5148abde</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Because of M$ changed the ID from "pptoken2" to "Compact2", so please amend accordingly.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Wait for ADL payload</title><link href="https://sourceforge.net/p/java-jml/patches/16/" rel="alternate"/><published>2010-04-06T10:11:03Z</published><updated>2010-04-06T10:11:03Z</updated><author><name>Anonymous</name><uri>https://sourceforge.net/u/userid-None/</uri></author><id>https://sourceforge.netc4f92cf2e3c5ea574222293a9a8f9910ad2254c7</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Patch for: &lt;a href="https://sourceforge.net/projects/java-jml/forums/forum/405891/topic/3649716/index/page/1"&gt;https://sourceforge.net/projects/java-jml/forums/forum/405891/topic/3649716/index/page/1&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Creates no more than 8 switchboards per minute</title><link href="https://sourceforge.net/p/java-jml/patches/15/" rel="alternate"/><published>2010-01-13T08:53:35Z</published><updated>2010-01-13T08:53:35Z</updated><author><name>Damian Minkov</name><uri>https://sourceforge.net/u/damencho/</uri></author><id>https://sourceforge.netf4a478839d0ee31fbba1fa907085b4b325b3fea4</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;There is a rate for creating switchboards its 8 for minute. This patch obey this rate.&lt;br /&gt;
&lt;a href="http://msnpiki.msnfanatic.com/index.php/Reference:Error_List" rel="nofollow"&gt;http://msnpiki.msnfanatic.com/index.php/Reference:Error_List&lt;/a&gt;&lt;br /&gt;
The error is : 800 126\r\n&lt;br /&gt;
"Also when requesting too many switchboard sessions. You can request up to 8 switchboard sessions in any 60-second period. Failed requests (i.e. requests that receive this error in reply) also count towards this limit. "&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Contact list retrieving problems for MSNP&gt;=13</title><link href="https://sourceforge.net/p/java-jml/patches/14/" rel="alternate"/><published>2010-01-06T18:15:36Z</published><updated>2010-01-06T18:15:36Z</updated><author><name>James Lopez</name><uri>https://sourceforge.net/u/bluegod/</uri></author><id>https://sourceforge.net9d33ca584459e87201fe35cbf8a7816eec4744f8</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;There was some issues like bad ADL handling (no handling at all) for long contact lists (more than 220 approx.) so now multiple ADLs are sent following MSNPiki protocol.&lt;br /&gt;
There are also an error 241 that was previously treated but still was there, there was related to a RL list user only! A bad BL user? I suppose it was because a bad client handling before connecting to a JML client.&lt;br /&gt;
There're still some issues handling the contact list flags, comparing to other clients raw log when sending the ADL, we should check that if there was people on the list we don't expect.&lt;br /&gt;
I hope this work for you all too, that issues were really significant as the user gets disconnected by the server with any of those!&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>StringUtils.urlDecode bug fix</title><link href="https://sourceforge.net/p/java-jml/patches/13/" rel="alternate"/><published>2010-01-05T08:16:41Z</published><updated>2010-01-05T08:16:41Z</updated><author><name>ronaldo</name><uri>https://sourceforge.net/u/cstsang/</uri></author><id>https://sourceforge.nete54fa0d455f2b708ea2a565955abe13250e1377e</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;In mix language environment the original URLDecoder.decode() cannot work perfectly.&lt;br /&gt;
I submit this patch for enhance this function.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Get Personal message and display picture work in MSNP&gt;10</title><link href="https://sourceforge.net/p/java-jml/patches/12/" rel="alternate"/><published>2010-01-04T23:23:52Z</published><updated>2010-01-04T23:23:52Z</updated><author><name>James Lopez</name><uri>https://sourceforge.net/u/bluegod/</uri></author><id>https://sourceforge.net3f5abd02b12023983ed700a1814e2ef76995163e</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;DP was not working in MSNP&amp;gt;10, there was some problems between personal message and DP, so it was not possible to make it work. &lt;br /&gt;
DP, PM and display name are related things in the after-login process that requires for MSNP&amp;gt;13 some changes in the init process, for MSNP&amp;lt;13 too, even this was done in the SYNC command as it was before.&lt;br /&gt;
There're perhaps more things in this patch like the new setInitDisplayName, and setInitPersonalMessage now should work on all MSNP&amp;gt;9&lt;br /&gt;
Anyway there're still issues to improve.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Remove usage of non-api SUN class</title><link href="https://sourceforge.net/p/java-jml/patches/11/" rel="alternate"/><published>2009-12-08T08:13:49Z</published><updated>2009-12-08T08:13:49Z</updated><author><name>The light in the dark</name><uri>https://sourceforge.net/u/sijaiko/</uri></author><id>https://sourceforge.netf322cdf8308ee2c4e3a8f349b796f8d5735c88c7</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;The StringUtils class uses a non-api class from Sun to access a system property.&lt;br /&gt;
Possibly this class will not be available in OpenJDK.&lt;br /&gt;
The class is truly simplistic, simple to copy and provides no benefits.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Offline message sent date</title><link href="https://sourceforge.net/p/java-jml/patches/10/" rel="alternate"/><published>2009-09-18T14:37:18Z</published><updated>2009-09-18T14:37:18Z</updated><author><name>ronaldo</name><uri>https://sourceforge.net/u/cstsang/</uri></author><id>https://sourceforge.net7e39413ee4f0a8b82973699e5dd7802408f311ce</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Extract the offline message sent date and return it to the listener class&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Sending unicode offline message</title><link href="https://sourceforge.net/p/java-jml/patches/9/" rel="alternate"/><published>2009-08-13T07:15:20Z</published><updated>2009-08-13T07:15:20Z</updated><author><name>ronaldo</name><uri>https://sourceforge.net/u/cstsang/</uri></author><id>https://sourceforge.net4509cb8a3202ae301f4a78c582972bebb95ceaa2</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;In order to send unicode offline message, we can modify the method getOfflineMsg of the class&lt;br /&gt;
net.sf.jml.protocol.soap.OIM as follow.&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;private String getOfflineMsg(Email email, String txt)&lt;br /&gt;
{&lt;br /&gt;
StringBuilder mess = new StringBuilder();&lt;br /&gt;
String displayName=new String();&lt;br /&gt;
try&lt;br /&gt;
{&lt;br /&gt;
displayName=new String(Base64.encode(session.getMessenger().getOwner().getDisplayName().getBytes("UTF-8")));&lt;br /&gt;
txt=new String(Base64.encode(txt.getBytes("UTF-8")));&lt;br /&gt;
}&lt;br /&gt;
catch (UnsupportedEncodingException uee)&lt;br /&gt;
{&lt;br /&gt;
uee.printStackTrace();&lt;br /&gt;
}&lt;br /&gt;
mess.append("&amp;lt;?xml version=\"1.0\" encoding=\"utf-8\"?&amp;gt;\r\n");&lt;br /&gt;
mess.append("&amp;lt;soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\r\n xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"\r\n xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" &amp;gt;");&lt;br /&gt;
mess.append(" &amp;lt;soap:Header&amp;gt;");&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;mess.append(" &amp;lt;From memberName=\"" + session.getMessenger().getOwner().getEmail().getEmailAddress()&lt;br /&gt;
+ "\" friendlyName=\"=?utf-8?B?" + displayName + "?=\"\r\n xml:lang=\"nl-nl\"\r\n proxy=\"MSNMSGR\"\r\n xmlns=\"http://messenger.msn.com/ws/2004/09/oim/\"\r\n msnpVer=\"MSNP15\"\r\n buildVer=\"8.5.1288.816\"/&amp;gt;");&lt;br /&gt;
mess.append(" &amp;lt;To memberName=\""+ email.getEmailAddress() + "\" xmlns=\"http://messenger.msn.com/ws/2004/09/oim/\"/&amp;gt;");&lt;br /&gt;
mess.append(" &amp;lt;Ticket passport=\"" + sso.getOimTicket().replaceAll("&amp;amp;", "&amp;amp;amp;") + "\"\r\n appid=\"PROD0119GSJUC$18\"\r\n lockkey=\"" + lockkey + "\"\r\n xmlns=\"http://messenger.msn.com/ws/2004/09/oim/\"/&amp;gt;");&lt;br /&gt;
mess.append(" &amp;lt;Sequence xmlns=\"http://schemas.xmlsoap.org/ws/2003/03/rm\"&amp;gt;\r\n");&lt;br /&gt;
mess.append(" &amp;lt;Identifier xmlns=\"http://schemas.xmlsoap.org/ws/2002/07/utility\"&amp;gt;http://messenger.msn.com&amp;lt;/Identifier&amp;gt;\r\n");&lt;br /&gt;
mess.append(" &amp;lt;MessageNumber&amp;gt;" + sentMsgNumber + "&amp;lt;/MessageNumber&amp;gt;\r\n");&lt;br /&gt;
mess.append(" &amp;lt;/Sequence&amp;gt;\r\n");&lt;br /&gt;
mess.append(" &amp;lt;/soap:Header&amp;gt;\r\n");&lt;br /&gt;
mess.append(" &amp;lt;soap:Body&amp;gt;\r\n");&lt;br /&gt;
mess.append(" &amp;lt;MessageType xmlns=\"http://messenger.msn.com/ws/2004/09/oim/\"&amp;gt;text&amp;lt;/MessageType&amp;gt;\r\n");&lt;br /&gt;
mess.append(" &amp;lt;Content xmlns=\"http://messenger.msn.com/ws/2004/09/oim/\"&amp;gt;MIME-Version: 1.0\r\n");&lt;br /&gt;
mess.append("Content-Type: text/plain; charset=UTF-8\r\n");&lt;br /&gt;
mess.append("Content-Transfer-Encoding: base64\r\n");&lt;br /&gt;
mess.append("X-OIM-Message-Type: OfflineMessage\r\n");&lt;br /&gt;
mess.append("X-OIM-Run-Id: {3A3BE82C-684D-4F4F-8005-CBE8D4F82BAD}\r\n");&lt;br /&gt;
mess.append("X-OIM-Sequence-Num: " + sentMsgNumber + "\r\n\r\n");&lt;br /&gt;
mess.append(" " + txt + "");&lt;br /&gt;
mess.append(" &amp;lt;/Content&amp;gt;");&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;mess.append(" &amp;lt;/soap:Body&amp;gt;");&lt;br /&gt;
mess.append("&amp;lt;/soap:Envelope&amp;gt;");&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;return mess.toString();&lt;br /&gt;
} &lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>xmlUnescaping : add codes</title><link href="https://sourceforge.net/p/java-jml/patches/8/" rel="alternate"/><published>2009-08-10T19:14:57Z</published><updated>2009-08-10T19:14:57Z</updated><author><name/><uri>https://sourceforge.net</uri></author><id>https://sourceforge.net7b1fddd6a2c35464870f769a07967af97cdcc648</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;in StringUtils.java&lt;/p&gt;
&lt;p&gt;public static String xmlUnescaping(String text){&lt;br /&gt;
text = text.replaceAll("&amp;amp;amp;","&amp;amp;");&lt;br /&gt;
text = text.replaceAll("&amp;amp;lt;","&amp;lt;");&lt;br /&gt;
text = text.replaceAll("&amp;amp;gt;","&amp;gt;");&lt;br /&gt;
text = text.replaceAll("&amp;amp;quot;","\"");&lt;br /&gt;
text = text.replaceAll("&amp;amp;apos;","\'");&lt;/p&gt;
&lt;p&gt;text = text.replaceAll("&amp;amp;#x26;","&amp;amp;");&lt;br /&gt;
text = text.replaceAll("&amp;amp;#x3A;",":");&lt;br /&gt;
text = text.replaceAll("&amp;amp;#x3B;",";");&lt;br /&gt;
text = text.replaceAll("&amp;amp;#x3C;","&amp;lt;");&lt;br /&gt;
text = text.replaceAll("&amp;amp;#x3D;","=");&lt;br /&gt;
text = text.replaceAll("&amp;amp;#x3E;","&amp;gt;");&lt;br /&gt;
text = text.replaceAll("&amp;amp;#x3F;","?");&lt;br /&gt;
text = text.replaceAll("&amp;amp;#x5B;","[");&lt;br /&gt;
text = text.replaceAll("&amp;amp;#x5C;","\\");&lt;br /&gt;
text = text.replaceAll("&amp;amp;#x5D;","]");&lt;br /&gt;
text = text.replaceAll("&amp;amp;#x5E;","^");&lt;br /&gt;
text = text.replaceAll("&amp;amp;#x7B;","{");&lt;br /&gt;
text = text.replaceAll("&amp;amp;#x7D;","|");&lt;br /&gt;
text = text.replaceAll("&amp;amp;#x7E;","}");&lt;/p&gt;
&lt;p&gt;return text;&lt;br /&gt;
}&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>