[ANN] msn-pecan-0.1.0-rc3 ready for testing

Felipe Contreras felipe.contreras at gmail.com
Wed Jan 27 18:37:24 EST 2010


msn-pecan is a "fork" of libpurple's MSN plug-in with a different development
process, clear priorities, and plan forward. Considering I'm the main
developer of
both[1] libpurple's stock plugin, and msn-pecan, calling it a fork is a bit
dubious, but whatever.

This release is almost completely concentrated on getting direct file transfers
to work, and they do, pretty nicely. Not all the types of transfers are
supported, but the important ones are, so most probably you wouldn't have any

Also featuring is a revamped Windows installer that looks much nicer, has
uninstall option, and supports portable apps.

Other than that it's mostly bugfixes.

This will most likely be the last release candidate before 0.1 as all the
features are ready, and only two bugs remain (which are pending feedback).
Therefore this is also a good time to start the string freeze.

I will wait a few weeks to see if there are any major bugs with -rc3, and if
not, it's release time :)

I want to thank all the bug reporters which have been an important part of this
release, sending updated logs, trying out test branches, seding valgrind
reports, and even bisecting. You rock!

Issues fixed:
35	File transfers using direct connection
192	Crash after running a while: ab/pn_contactlist.c:456
197	Contact list not synchronized with MSN server
224	Not translated on Windows
180	Contact authorization happens multiple times
32	Cannot send/receive messages behind ISA proxy
114	Make win32 installer ask for Pidgin installation if not found
131	Uninstall option in Windows, etc.
230	pidgin crashes as soon as loging in a WLM account: pn_oim.c:468
234	No general API in libpurple to set your own server alias.

The diffstat:
 Makefile                 |   50 ++++-
 ab/pn_contact.c          |   42 ++++-
 ab/pn_contact.h          |    4 +
 ab/pn_contactlist.c      |   13 +-
 ab/pn_contactlist_priv.h |    2 +-
 cvr/pn_direct_conn.c     |  531 +++++++++++++++-------------------------------
 cvr/pn_direct_conn.h     |   28 ++-
 cvr/pn_msnobj.c          |   13 ++
 cvr/pn_msnobj.h          |    3 +
 cvr/pn_peer_call.c       |    4 -
 cvr/pn_peer_link.c       |   42 +---
 cvr/pn_peer_msg.c        |  156 ++++++++-------
 io/pn_dc_conn.c          |  256 ++++++++++++++++++++++
 io/pn_dc_conn.h          |   39 ++++
 io/pn_http_server.c      |   16 ++-
 io/pn_node.c             |   22 +-
 io/pn_node_private.h     |    1 +
 io/pn_parser.c           |    4 +-
 io/pn_ssl_conn.c         |    2 +-
 msn.c                    |   38 +++-
 nexus.c                  |    6 +-
 notification.c           |   22 +--
 pn_dp_manager.c          |   22 +--
 pn_dp_manager.h          |    2 +-
 pn_oim.c                 |    2 +-
 session.c                |   27 +++
 switchboard.c            |    2 +-
 win32/installer.nsi      |  113 +++++++---
 win32/resource.rc        |    4 +-
 29 files changed, 867 insertions(+), 599 deletions(-)

Download from the usual place:

And here's the shortlog

Felipe Contreras (78):
      oim: fix trivial warning
      peer-msg: fix typo
      ns: remove CVR0
      Trivial conn->session cleanups
      peer-call: remove unused stuff
      node: remove unused stuff
      directconn: generic cleanups
      Add initial dc_conn io object
      io/dc: add write_impl
      io/dc: add read_impl
      directconn: remove old implementation
      directconn: use new implementation
      directconn: fix for !GIO
      directconn: add new process_chunk()
      io/dc: add parse_impl
      peer-link: fix directconn reutilization
      contact: set contact's personal message correctly
      build: trivial reorganization for static extension
      build: fix static build
      plugin: follow set_alias() recommendation
      Reorganize contact dp update
      dp-manager: trivial cleanup
      contact: a bit more debug logging
      Reorganize set_object stuff
      msnobj: add new equal() function
      contact: avoid extra dp updates
      build: simplify pretty print
      nexus: trivial disconnect check
      Fix defered group move
      ns: fix defered group move
      contaclist: add a bit more debugging for group move
      contactlist: add todo item
      http: check for correct proxy type
      Trivial cleanups
      parser: properly mark end of string
      peer-link: remove unused code
      peer-msg: improve dc invite
      directconn: check for connection errors
      io/dc: trivial reorganization
      peer-link: reorganize a bit dc initial call
      peer-link: fix dc sending
      node: make channel setup overridable
      io/dc: override channel_setup
      io/dc: improve write_impl()
      directconn: add async_write() skeleton
      directconn: support delayed writes
      directconn: issue msg ack
      Cleanup dc initial call stuff
      directconn: keep nonce until got_nonce()
      directconn: avoid extra steps in send_msg()
      peer-msg: reorganize got_transresp()
      peer-msg: refactor got_transresp()
      peer-msg: reorganize 'listening' check
      peer-msg: separate address parsing
      peer-msg: parse also external addresses
      directconn: add new addrs queue
      directconn: new add_addr()
      directconn: new start()
      peer-msg: use new dc API
      directconn: keep trying all addrs
      session: check for pending swboards
      win32: cleanup installer
      win32: simplify dll name
      win32: add uninstaller
      win32: improve uninstaller
      win32: add to uninstall registry
      win32: remove pidgindir
      win32: reorganize to allow manual dir selection
      win32: use better icons
      win32: use newer mui
      build: generate locales separately
      win32: fix locale stuff
      build: improve install_locales target
      build: trivial locale cleanup
      build: add update_locales target
      build: add win32_install target
      win32: use files from win32 target
      win32: trivial improvements

[1] http://felipec.wordpress.com/2009/08/05/who-wrote-pidgins-msn-not-who-you-think/

Felipe Contreras

More information about the Devel mailing list