<?xml version="1.0" encoding="UTF-8"?>
<commits type="array">
  <commit>
    <parents type="array">
      <parent>
        <id>1faf20cf809614fd09d01b1b23fdf90eaaa9f9af</id>
      </parent>
    </parents>
    <author>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </author>
    <url>http://github.com/felipec/msn-pecan/commit/f201bbd07e320d340f4fc95aa60d44e45b339074</url>
    <id>f201bbd07e320d340f4fc95aa60d44e45b339074</id>
    <committed-date>2009-06-15T16:23:23-07:00</committed-date>
    <authored-date>2009-06-15T15:42:41-07:00</authored-date>
    <message>Bump version to 0.0.19

Signed-off-by: Felipe Contreras &lt;felipe.contreras@gmail.com&gt;</message>
    <tree>8722f6515a80ac5fc410035fe504da12af5ce742</tree>
    <committer>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>2d920b23e076afe3b6eac56b6adb43c8e72103d8</id>
      </parent>
    </parents>
    <author>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </author>
    <url>http://github.com/felipec/msn-pecan/commit/1faf20cf809614fd09d01b1b23fdf90eaaa9f9af</url>
    <id>1faf20cf809614fd09d01b1b23fdf90eaaa9f9af</id>
    <committed-date>2009-06-15T16:23:23-07:00</committed-date>
    <authored-date>2009-06-15T16:16:57-07:00</authored-date>
    <message>po: general translation updates</message>
    <tree>0b4ddd92e213b2c26e6f1cd6c16ca3ef1e8dbd8f</tree>
    <committer>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>f59ef0e1ae610975bf05149de3e0837b0fc5452a</id>
      </parent>
    </parents>
    <author>
      <name>Wei Hsiang Hung</name>
      <email>weihsiang.hung@gmail.com</email>
    </author>
    <url>http://github.com/felipec/msn-pecan/commit/2d920b23e076afe3b6eac56b6adb43c8e72103d8</url>
    <id>2d920b23e076afe3b6eac56b6adb43c8e72103d8</id>
    <committed-date>2009-06-15T16:23:23-07:00</committed-date>
    <authored-date>2009-06-15T16:14:17-07:00</authored-date>
    <message>po: update Traditional Chinese translation</message>
    <tree>4285308b61726c8c0810f1cf4bf0a1e50f161527</tree>
    <committer>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>77dd91b534bd98f390116260b9a317bbcf957e9f</id>
      </parent>
    </parents>
    <author>
      <name>Albert Cervin</name>
      <email>albert@cavalince.com</email>
    </author>
    <url>http://github.com/felipec/msn-pecan/commit/f59ef0e1ae610975bf05149de3e0837b0fc5452a</url>
    <id>f59ef0e1ae610975bf05149de3e0837b0fc5452a</id>
    <committed-date>2009-06-15T16:23:23-07:00</committed-date>
    <authored-date>2009-06-15T16:11:24-07:00</authored-date>
    <message>po: update Swedish translation</message>
    <tree>6be63797cf2447bc50aa79df349db0e045428547</tree>
    <committer>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>60ae2f85a8f409cd58aca06c5e407e1ad552bd6e</id>
      </parent>
    </parents>
    <author>
      <name>Lu&#237;s Neto</name>
      <email>luisneto3@clix.pt</email>
    </author>
    <url>http://github.com/felipec/msn-pecan/commit/77dd91b534bd98f390116260b9a317bbcf957e9f</url>
    <id>77dd91b534bd98f390116260b9a317bbcf957e9f</id>
    <committed-date>2009-06-15T16:23:22-07:00</committed-date>
    <authored-date>2009-06-15T16:09:07-07:00</authored-date>
    <message>po: update Portuguese translation</message>
    <tree>1a05c869d269b50f69cb6b6dc10b63b5f0091a6e</tree>
    <committer>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>aa5ca5198dc832a348decc4b0d6aa8dec370fbdc</id>
      </parent>
    </parents>
    <author>
      <name>Devid Antonio Filoni</name>
      <email>devidfil@gmail.com</email>
    </author>
    <url>http://github.com/felipec/msn-pecan/commit/60ae2f85a8f409cd58aca06c5e407e1ad552bd6e</url>
    <id>60ae2f85a8f409cd58aca06c5e407e1ad552bd6e</id>
    <committed-date>2009-06-15T16:23:22-07:00</committed-date>
    <authored-date>2009-06-15T16:06:00-07:00</authored-date>
    <message>po: update Italian translation</message>
    <tree>bc10cda14eba5df06f5cd4b4d2f2c2ba3faae020</tree>
    <committer>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>ffc6a5b0e7a6e78809d23062bb626e8e82c0c569</id>
      </parent>
    </parents>
    <author>
      <name>Elias Julkunen</name>
      <email>elias.julkunen@gmail.com</email>
    </author>
    <url>http://github.com/felipec/msn-pecan/commit/aa5ca5198dc832a348decc4b0d6aa8dec370fbdc</url>
    <id>aa5ca5198dc832a348decc4b0d6aa8dec370fbdc</id>
    <committed-date>2009-06-15T16:23:22-07:00</committed-date>
    <authored-date>2009-06-15T15:58:21-07:00</authored-date>
    <message>po: update Finnish translation</message>
    <tree>9e1176baa0ae42d5c8f1a473c29a7e6313bf5368</tree>
    <committer>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>cadb67195b4782eed98c804a23eb8cf92548bd2f</id>
      </parent>
    </parents>
    <author>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </author>
    <url>http://github.com/felipec/msn-pecan/commit/ffc6a5b0e7a6e78809d23062bb626e8e82c0c569</url>
    <id>ffc6a5b0e7a6e78809d23062bb626e8e82c0c569</id>
    <committed-date>2009-06-15T13:07:45-07:00</committed-date>
    <authored-date>2009-06-15T13:07:45-07:00</authored-date>
    <message>Fix SLP DATA message creation

Some platforms (OSX) had a problem with that.

Signed-off-by: Felipe Contreras &lt;felipe.contreras@gmail.com&gt;</message>
    <tree>df3ebb42f64cf53ba3fa7a71cfa11bb0ab9a6f55</tree>
    <committer>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>a0add98cff6366c9803df36d50d8c463818b31d3</id>
      </parent>
    </parents>
    <author>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </author>
    <url>http://github.com/felipec/msn-pecan/commit/cadb67195b4782eed98c804a23eb8cf92548bd2f</url>
    <id>cadb67195b4782eed98c804a23eb8cf92548bd2f</id>
    <committed-date>2009-06-15T13:04:59-07:00</committed-date>
    <authored-date>2009-06-15T13:04:59-07:00</authored-date>
    <message>Optimize GType retrieval

Signed-off-by: Felipe Contreras &lt;felipe.contreras@gmail.com&gt;</message>
    <tree>27acc5b9602a96397aa1bf5b2aafd74945e274eb</tree>
    <committer>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>901e09e50d8c9aa43ee92f654afaf17c32628479</id>
      </parent>
    </parents>
    <author>
      <name>Devid Antonio Filoni</name>
      <email>devidfil@gmail.com</email>
    </author>
    <url>http://github.com/felipec/msn-pecan/commit/a0add98cff6366c9803df36d50d8c463818b31d3</url>
    <id>a0add98cff6366c9803df36d50d8c463818b31d3</id>
    <committed-date>2009-06-15T13:04:36-07:00</committed-date>
    <authored-date>2009-06-15T13:03:53-07:00</authored-date>
    <message>slp: destroy object at the right time

Otherwise wrong memory could be accessed.

Signed-off-by: Felipe Contreras &lt;felipe.contreras@gmail.com&gt;</message>
    <tree>f1080d136bbc9c10cc90da9ed3370025c533fd92</tree>
    <committer>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>b1a4a7c6c92d05a485e4d6438d6c23ebbbe9a60d</id>
      </parent>
    </parents>
    <author>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </author>
    <url>http://github.com/felipec/msn-pecan/commit/901e09e50d8c9aa43ee92f654afaf17c32628479</url>
    <id>901e09e50d8c9aa43ee92f654afaf17c32628479</id>
    <committed-date>2009-06-15T13:02:44-07:00</committed-date>
    <authored-date>2009-06-15T13:02:31-07:00</authored-date>
    <message>Fix wrong memory access

Found with valgrind.

Signed-off-by: Felipe Contreras &lt;felipe.contreras@gmail.com&gt;</message>
    <tree>a8e8adca958d9be689bd63b03ddab4154b0bda01</tree>
    <committer>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>3f40aebc1ab29801352866c187ebc081f7479d61</id>
      </parent>
    </parents>
    <author>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </author>
    <url>http://github.com/felipec/msn-pecan/commit/b1a4a7c6c92d05a485e4d6438d6c23ebbbe9a60d</url>
    <id>b1a4a7c6c92d05a485e4d6438d6c23ebbbe9a60d</id>
    <committed-date>2009-05-30T11:20:03-07:00</committed-date>
    <authored-date>2009-05-30T11:19:31-07:00</authored-date>
    <message>sb: set error properly

So that we don't try to send 'OUT' when there's an error.

Signed-off-by: Felipe Contreras &lt;felipe.contreras@gmail.com&gt;</message>
    <tree>ea40097979da12cc66aece8c9ab537ee262c5de0</tree>
    <committer>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>144ccb0a585c8d3f15678d1c4721250880cc7573</id>
      </parent>
    </parents>
    <author>
      <name>Devid Antonio Filoni</name>
      <email>devidfil@gmail.com</email>
    </author>
    <url>http://github.com/felipec/msn-pecan/commit/3f40aebc1ab29801352866c187ebc081f7479d61</url>
    <id>3f40aebc1ab29801352866c187ebc081f7479d61</id>
    <committed-date>2009-05-30T07:30:47-07:00</committed-date>
    <authored-date>2009-05-30T06:05:40-07:00</authored-date>
    <message>ab/pecan_contact.c: cleanup.</message>
    <tree>d42a89281c588372ee9f9ca17021291ceaf50d3e</tree>
    <committer>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>7d64f2339ca4e71d9f10043c724f9134aefab124</id>
      </parent>
    </parents>
    <author>
      <name>Devid Antonio Filoni</name>
      <email>devidfil@gmail.com</email>
    </author>
    <url>http://github.com/felipec/msn-pecan/commit/144ccb0a585c8d3f15678d1c4721250880cc7573</url>
    <id>144ccb0a585c8d3f15678d1c4721250880cc7573</id>
    <committed-date>2009-05-30T07:30:47-07:00</committed-date>
    <authored-date>2009-05-30T06:01:10-07:00</authored-date>
    <message>Set the passport also to session-&gt;user.</message>
    <tree>c3a4a32b3e70c2ace75066f5a84d8c54b49a41c2</tree>
    <committer>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>143f295b8bc4e00b4383f82c8a75d956f89fc869</id>
      </parent>
    </parents>
    <author>
      <name>Devid Antonio Filoni</name>
      <email>devidfil@gmail.com</email>
    </author>
    <url>http://github.com/felipec/msn-pecan/commit/7d64f2339ca4e71d9f10043c724f9134aefab124</url>
    <id>7d64f2339ca4e71d9f10043c724f9134aefab124</id>
    <committed-date>2009-05-30T07:30:47-07:00</committed-date>
    <authored-date>2009-05-24T10:16:11-07:00</authored-date>
    <message>Show &quot;You are not in A's contact list&quot; message opening a conv window if needed.</message>
    <tree>ddcc74786d110b31d04f0e0219902acbea899fdb</tree>
    <committer>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>34b301f18a52ff09a4287eb4133c4da125a412f9</id>
      </parent>
    </parents>
    <author>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </author>
    <url>http://github.com/felipec/msn-pecan/commit/143f295b8bc4e00b4383f82c8a75d956f89fc869</url>
    <id>143f295b8bc4e00b4383f82c8a75d956f89fc869</id>
    <committed-date>2009-05-30T07:30:47-07:00</committed-date>
    <authored-date>2009-05-30T07:18:27-07:00</authored-date>
    <message>transaction: fix initial ref_count

Signed-off-by: Felipe Contreras &lt;felipe.contreras@gmail.com&gt;</message>
    <tree>6b6a073363022c551c05b29ec0178c68dcf9d78d</tree>
    <committer>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>6db8d4b141a475878029f17117a707d66ffe648c</id>
      </parent>
    </parents>
    <author>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </author>
    <url>http://github.com/felipec/msn-pecan/commit/34b301f18a52ff09a4287eb4133c4da125a412f9</url>
    <id>34b301f18a52ff09a4287eb4133c4da125a412f9</id>
    <committed-date>2009-05-30T06:35:12-07:00</committed-date>
    <authored-date>2009-05-30T06:32:30-07:00</authored-date>
    <message>Properly ref/unref transactions

Possibly fixes issue #133.

Signed-off-by: Felipe Contreras &lt;felipe.contreras@gmail.com&gt;</message>
    <tree>1c5b66ecd5c401bd671a56f3f1e72c447e92ceda</tree>
    <committer>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>a53aca36c911c924710d52d4a575b2719a8bcb61</id>
      </parent>
    </parents>
    <author>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </author>
    <url>http://github.com/felipec/msn-pecan/commit/6db8d4b141a475878029f17117a707d66ffe648c</url>
    <id>6db8d4b141a475878029f17117a707d66ffe648c</id>
    <committed-date>2009-05-30T06:31:43-07:00</committed-date>
    <authored-date>2009-05-30T06:31:43-07:00</authored-date>
    <message>transaction: add ref/unref

Signed-off-by: Felipe Contreras &lt;felipe.contreras@gmail.com&gt;</message>
    <tree>1e586b464cfcc0e0697114bf86c049658de362d4</tree>
    <committer>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>fd5eb3dcb91b9f9f81ca804501259a10b76dfb86</id>
      </parent>
    </parents>
    <author>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </author>
    <url>http://github.com/felipec/msn-pecan/commit/a53aca36c911c924710d52d4a575b2719a8bcb61</url>
    <id>a53aca36c911c924710d52d4a575b2719a8bcb61</id>
    <committed-date>2009-05-30T06:31:20-07:00</committed-date>
    <authored-date>2009-05-30T06:31:20-07:00</authored-date>
    <message>transaction: trivial cleanup

Signed-off-by: Felipe Contreras &lt;felipe.contreras@gmail.com&gt;</message>
    <tree>e717fd0ddaf56a6e7458f9747990d80fd1142a31</tree>
    <committer>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>d8546d4f49203f51b58a2f2315f89b0aa234b52a</id>
      </parent>
    </parents>
    <author>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </author>
    <url>http://github.com/felipec/msn-pecan/commit/fd5eb3dcb91b9f9f81ca804501259a10b76dfb86</url>
    <id>fd5eb3dcb91b9f9f81ca804501259a10b76dfb86</id>
    <committed-date>2009-05-30T05:45:08-07:00</committed-date>
    <authored-date>2008-06-29T11:41:27-07:00</authored-date>
    <message>Make sure the switchboard is not freed when it's still used by slplink.

Signed-off-by: Felipe Contreras &lt;felipe.contreras@gmail.com&gt;</message>
    <tree>334d6e17195fd2ec34b1e1353898aeb9eb2c8e44</tree>
    <committer>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>16a0bb7bc495f4efd145889cfd922d4deb430ca2</id>
      </parent>
    </parents>
    <author>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </author>
    <url>http://github.com/felipec/msn-pecan/commit/d8546d4f49203f51b58a2f2315f89b0aa234b52a</url>
    <id>d8546d4f49203f51b58a2f2315f89b0aa234b52a</id>
    <committed-date>2009-05-30T05:45:08-07:00</committed-date>
    <authored-date>2008-06-28T10:44:10-07:00</authored-date>
    <message>Close the http node when not needed.

Signed-off-by: Felipe Contreras &lt;felipe.contreras@gmail.com&gt;</message>
    <tree>64b9ecaf6e02c2242c7094590034ab779c018a2a</tree>
    <committer>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>a20747cd0ed42f7e2907a6e3d3277c7e661409c6</id>
      </parent>
    </parents>
    <author>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </author>
    <url>http://github.com/felipec/msn-pecan/commit/16a0bb7bc495f4efd145889cfd922d4deb430ca2</url>
    <id>16a0bb7bc495f4efd145889cfd922d4deb430ca2</id>
    <committed-date>2009-05-30T05:45:06-07:00</committed-date>
    <authored-date>2008-06-24T06:31:16-07:00</authored-date>
    <message>Reorganize switchboard handling.

Hopefully this would help fix issue #133.

Signed-off-by: Felipe Contreras &lt;felipe.contreras@gmail.com&gt;</message>
    <tree>1ce817d6e410de7bc0661fc440b5d83bd3b11214</tree>
    <committer>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>a6a23b8961769a77f58c56b1ca63f6fe83ef65ea</id>
      </parent>
    </parents>
    <author>
      <name>Devid Antonio Filoni</name>
      <email>devidfil@gmail.com</email>
    </author>
    <url>http://github.com/felipec/msn-pecan/commit/a20747cd0ed42f7e2907a6e3d3277c7e661409c6</url>
    <id>a20747cd0ed42f7e2907a6e3d3277c7e661409c6</id>
    <committed-date>2009-05-30T05:04:09-07:00</committed-date>
    <authored-date>2009-03-26T09:22:46-07:00</authored-date>
    <message>Add &quot;Has Space&quot; to get_info.</message>
    <tree>a7a48674b705eab12b55ab2776696370ea9d05fa</tree>
    <committer>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>aa0410bc8b2aab2b1e16de35fb7a36bd87ade33a</id>
      </parent>
    </parents>
    <author>
      <name>Devid Antonio Filoni</name>
      <email>devidfil@gmail.com</email>
    </author>
    <url>http://github.com/felipec/msn-pecan/commit/a6a23b8961769a77f58c56b1ca63f6fe83ef65ea</url>
    <id>a6a23b8961769a77f58c56b1ca63f6fe83ef65ea</id>
    <committed-date>2009-05-30T05:04:09-07:00</committed-date>
    <authored-date>2009-03-26T08:26:59-07:00</authored-date>
    <message>Update MsnClientCaps in msn.h.</message>
    <tree>67e8084fe2557fee395ad31c8d8d77ea34d13f0f</tree>
    <committer>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>e6f72b40bcf181beb9638d585d411481bfac7038</id>
      </parent>
    </parents>
    <author>
      <name>Devid Antonio Filoni</name>
      <email>devidfil@gmail.com</email>
    </author>
    <url>http://github.com/felipec/msn-pecan/commit/aa0410bc8b2aab2b1e16de35fb7a36bd87ade33a</url>
    <id>aa0410bc8b2aab2b1e16de35fb7a36bd87ade33a</id>
    <committed-date>2009-05-30T05:04:08-07:00</committed-date>
    <authored-date>2009-03-26T08:21:40-07:00</authored-date>
    <message>Add PURPLE_STATUS_TUNE support and parse contacts's CurrentMedia.

Part of the code is taken from libpurple msn protocol.</message>
    <tree>4b7840bb1bd97d6f3e81829c19df6ca0ecc1d307</tree>
    <committer>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>f39209a53974bdb46075a05f76bc7eb0bba2cbe7</id>
      </parent>
    </parents>
    <author>
      <name>Devid Antonio Filoni</name>
      <email>devidfil@gmail.com</email>
    </author>
    <url>http://github.com/felipec/msn-pecan/commit/e6f72b40bcf181beb9638d585d411481bfac7038</url>
    <id>e6f72b40bcf181beb9638d585d411481bfac7038</id>
    <committed-date>2009-05-30T05:04:08-07:00</committed-date>
    <authored-date>2009-03-26T08:23:38-07:00</authored-date>
    <message>Update COPYRIGHT.</message>
    <tree>d1ba5eca237fe6505393be65005e3cfa0ace7238</tree>
    <committer>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>9f6254f54c0110fb709d646fb1531e85dc8eaf99</id>
      </parent>
    </parents>
    <author>
      <name>Devid Antonio Filoni</name>
      <email>devidfil@gmail.com</email>
    </author>
    <url>http://github.com/felipec/msn-pecan/commit/f39209a53974bdb46075a05f76bc7eb0bba2cbe7</url>
    <id>f39209a53974bdb46075a05f76bc7eb0bba2cbe7</id>
    <committed-date>2009-05-30T05:04:06-07:00</committed-date>
    <authored-date>2009-03-26T07:59:16-07:00</authored-date>
    <message>Move utils/msgplustags.{c,h} to pecan_util.{c,h}.

Also fix some issues in the code.</message>
    <tree>f174804c9e85f368769666632a35f4c622aa06c9</tree>
    <committer>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>5a214809f88e68eadfa18a2996a7a0c983537d40</id>
      </parent>
    </parents>
    <author>
      <name>Geoffrey Antos</name>
      <email>geoffrey.antos@gmail.com</email>
    </author>
    <url>http://github.com/felipec/msn-pecan/commit/9f6254f54c0110fb709d646fb1531e85dc8eaf99</url>
    <id>9f6254f54c0110fb709d646fb1531e85dc8eaf99</id>
    <committed-date>2009-05-26T16:26:17-07:00</committed-date>
    <authored-date>2009-05-26T16:26:17-07:00</authored-date>
    <message>slplink: fix buffer overflow vulnerability

The issue stems from the fact that the body of an SLP message can have a different length than what the header claims. You make the check

 if (msg-&gt;msnslp_header.total_size &lt; msg-&gt;msnslp_header.length)

which uses declared length of the packet in the SLP header; however, the variable len does not originate from  msg-&gt;msnslp_header.length, but is rather computed in msn_message_parse_payload and msn_message_parse_slp_body. No checks are made to ensure that msg-&gt;body_len == msg-&gt;msnslp_header.length. Thus, the vulnerability in question revolves around the situation in which len == msg-&gt;body_len &gt; msg-&gt;msnslp_header.length

As such, a malicious program can construct a SLP message sequence in the following manner:
Send a new incomplete SLP message in which msnslp_header.session_id=SESSION_ID, msnslp_header.id=MESSAGE_ID, msnslp_header.offset = 0, and msnslp_header.length &lt; msnslp_header.total_size. The SLP message is incomplete, which allows the attacker to send a second packet with a non-zero offset. For the purposes of this example, assume msnslp_header.length = 5 and msnslp_header.total_size = 10.

Send the second message with same session and message ids msnslp_header.session_id=SESSION_ID, msnslp_header.id=MESSAGE_ID. However, send more data in the payload than the header specifies. For the purposes of the example, let us say msnslp_header.length = 5 and msnslp_header.total_size = 10 again, but this time the SLP message body is longer than the header specifies and contains a 1KiB of malicious data Thus msn_message_get_bin_data will set len = 1024. Furthermore, let us assume the attacker chooses offset = -2048 == 0xfffffffffffff800. The check performed is then evaluated as this:
if ((gsize)offset &gt; ((long long)slpmsg-&gt;size - (gsize)len))

On a system where gsize is 32 bits, offset gets truncated to 32 bits and this evaluates to if((gsize)0xfffff800 &gt; (long long)-1014). 0xfffff800 is then implicitly converted back to a positive 64-bit integer, because an unsigned 32-bit value fits within the range of a signed 64-bit value, and the check works because the unsigned offset correctly doesn't get sign-extended.

However, on a system where gsize and long long is 64 bits, this evaluates to if((gsize)0xfffffffffffff800 &gt; (long long)-1014), the full untruncated offset specified in the packet. In this case, we have a 64-bit unsigned vs 64-bit signed comparison that GCC doesn't produce a warning for. Regardless of whether the compiler treats the result as signed or unsigned, the check is bypassed. 0xfffffffffffff800 &gt; 0xfffffffffffffc0a and -2048 &gt; -1014 are both false. Thus the memcpy line executes, writing the malicious data to buffer - 2048, well outside the 10 byte buffer allocated.

Signed-off-by: Felipe Contreras &lt;felipe.contreras@gmail.com&gt;</message>
    <tree>35215529e9bb75cc210edd20a11caa08769733a1</tree>
    <committer>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>5f994f49ae16a22c3bf6efe1142a0cbae74571bd</id>
      </parent>
    </parents>
    <author>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </author>
    <url>http://github.com/felipec/msn-pecan/commit/5a214809f88e68eadfa18a2996a7a0c983537d40</url>
    <id>5a214809f88e68eadfa18a2996a7a0c983537d40</id>
    <committed-date>2009-03-21T12:38:37-07:00</committed-date>
    <authored-date>2009-03-21T12:38:37-07:00</authored-date>
    <message>fix_purple: rename purple_buddy_set functions

As it was discussed and agreed long time ago with Pidgin developers.

Signed-off-by: Felipe Contreras &lt;felipe.contreras@gmail.com&gt;</message>
    <tree>e05babafac31eaa9654a3b58f7e6a69fa754954f</tree>
    <committer>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>202d9ea4e2b36dacc88ab1be01d02ee648e67c5a</id>
      </parent>
    </parents>
    <author>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </author>
    <url>http://github.com/felipec/msn-pecan/commit/5f994f49ae16a22c3bf6efe1142a0cbae74571bd</url>
    <id>5f994f49ae16a22c3bf6efe1142a0cbae74571bd</id>
    <committed-date>2009-03-21T12:33:46-07:00</committed-date>
    <authored-date>2009-03-21T12:33:46-07:00</authored-date>
    <message>fix_purple: trivial cleanups

Signed-off-by: Felipe Contreras &lt;felipe.contreras@gmail.com&gt;</message>
    <tree>eb5e79895c1eaaa8cc964fb91f8cceb628bc20a5</tree>
    <committer>
      <name>Felipe Contreras</name>
      <email>felipe.contreras@gmail.com</email>
    </committer>
  </commit>
</commits>
