msn-pecan 0.1.0-rc3 ready for testing; featuring direct file transfers

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 problems.

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, sending 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.


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


8 thoughts on “msn-pecan 0.1.0-rc3 ready for testing; featuring direct file transfers

  1. Does this plugin prevent users who are not in my MSN list send messages to me?

    I have this problem with MSN haze!! Whats about MSN pecan?

  2. @Salah Yes. we prevent that. Apparently the only way somebody can do that is through offline messages, and we check that the user is in your list before displaying them.

    AFAIK libpurple’s msn doesn’t do that.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s