Swaks Release 20111230.0 Available

Updated 2012-03-20: The links below still work for the 20111230.0 release, but this release is no longer current. If you are not specifically looking for the 20111230.0 release, please see the project home page at http://jetmore.org/john/code/swaks/ for the latest release.

A new version of swaks is currently available for download.

Downloads:

New Features:

  • Added –output-file family of options to capture some or all output without requiring shell redirection
  • Added –protect-prompt option to protect “sensitive” user input (currently only auth passwords)
  • Added –auth-hide-password to replace recoverable passwords in SMTP session output with a dummy string
  • Added –auth-extra to have a single interface to pass non-standard authentication options into swaks. Currently used by NTLM and DIGEST-MD5.
  • Added –show-raw-text option to provide more details of exact data being sent on the wire

Notable Changes:

  • SMTP Data token parsing has been changed from single-character (%F) to multi-character (%FROM_ADDRESS%) to reduce chance of collisions with message text, especially non-ascii language encoding. See –use-old-data-tokens to recover old tokens while transitioning. (issue reported by Peter Baranyi)
  • Specifying the NTLM/MSN/SPA DOMAIN by appending “%DOMAIN” to the username is no longer supported. See the new –auth-extra command.
  • The DIGEST-MD5 authentication no longer uses the (buggy) Authen::DigestMD5 module. The Authen::SASL module is now used.

Notable Bugs Fixed:

  • Previous release broke ability to use –header to set custom headers (first reported by David Favor)
  • Previous release would not allow a file to be used to provide the message data if the file name contained the character “n”. (first reported by dietrich.rebmann@******)
  • swaks has never properly handled creating date strings for timezones that are not on an even hour boundary. (report from, and patch provided by, Peter Samuelson)
  • The documented behavior of the “no-” prefix on swaks’ options did not work when –OPTION and –no-OPTION were given in the same context.
  • The DIGEST-MD5 auth type was not completely implemented. Worked extensively with Erwan Legrand to get as complete and useful an implementation as possible.
  • Previous release contained a regression in which TLS responses sent in multiple packets were not processed correctly. (reported by Peter J. Holzer)

Why “Tinker Bell” is a great movie.

So, Disney decided to make some new movies focused on Tinker Bell from the Peter Pan universe, and released “Tinker Bell” in 2008.  I checked it out from the library last week and finally saw all the whole thing with my daughters tonight.  Let me give you a very quick plot synopsis:

A young girl trying to find her way in a new place struggles to change herself into what she thinks she wants to be, only to find that she was already what she wanted to be.

Not exciting for me.  The flesh has been painted onto those bones a thousand times, usually with the “new place” being school and “wants to be” being popular.  Whatevs.

But now let me synopsize Tinker Bell:

A young fairy (Tinker Bell) is born on Neverland.  Through a sorting ceremony she is selected to be in the guild of tinkers (makers/fixers) and not one of the “Nature” fairies (who are responsible for things like the changing seasons, caring for animals, etc).  Tink shows extreme talent as a tinker, but a MacGuffin pushes her to make a dedicated attempt to join any other guild.  Many attempts at this fail.  She eventually fails very publicly and catastrophically.  After some soul searching, she realizes she can use her skill as a tinker to make tools that will erase the effects of the catastrophe.

So why is this different to me?

  1. The biggie for me, the thing that even made me pay attention to the movie, is that her skill was “making”.  Not singing or cheerleading.  I know that they were handed the “tinker” role by J. M. Barrie, but they didn’t have to run with it.  The fact that she was a literal tinker wasn’t covered in the 1953 Peter Pan, which is the only real work they had to respect in this movie.  They could easily have ditched the literal tinker aspect of her character and no one would have made a fuss, but they didn’t.  They kept it and made Tink a “maker”, which I think is great.
  2. I absolutely love that the MacGuffin doesn’t involve a boy in any way.  The plot’s not driven by Tink’s desire to get a boyfriend, by someone else’s attempt to steal her boyfriend, etc.  Absolutely none of her sense of self worth in this movie is driven by a relationship she does or doesn’t have with a boy.  It was a very refreshing experience to watch a movie where the female lead was fulfilled by making a device that can paint ladybugs and not by a dude smiling at her.

The movie was by no means perfect – the fact that she was “born” and started working the same day never stopped bothering me for instance – but it was significantly better than any other kids straight-to-DVD movie I’ve watched in a long time.  Maybe it’s not that great, and I’m just being mislead by my incredibly low expectations going in, but I would encourage my girls to watch this movie again, which is not something I expected to say when we got it.

Swaks Release Preview 20111202.0-dev Available

I’m almost ready to release a new version of swaks which includes a few new features and some bug fixes.  The last change I made involved a change in the code which reads text from the server.  All of my testing indicates that the code is right, but my available testing platforms aren’t as varied as they used to be.   If you are able, please download and test.  Feel free to share the link as much as you want, but please don’t package it yet.  If no one reports anything serious I’ll release the “real” version in a week or so.

Here are links to the script and the Changelog for this version:

LINK REMOVED – this was a development release and the changes have been incorporated in official releases. Please see the project home page at http://jetmore.org/john/code/swaks/ for the latest release.

I don’t have a pretty version of new features or bug fixes yet but the Changelog can be trawled for a decent overview.

Any testing notes or last minute requests can be dropped as a comment here if you want, but they are most useful as an email to proj-swaks@jetmore.net.

More places to hear about swaks

I’ve never been especially proactive in evangelizing swaks, but its usage number have grown to the point in the last 10 years that I think I probably am probably hurting users by not having more communication channels to receive and provide updates.  So, here’s a quick breakdown of what channels exist right now, and where I want to go in the future

Current

  • Website – http://jetmore.org/john/code/swaks
  • Update list – There’s no UI for this, but emailing updates-swaks@jetmore.net and asking to be notified of new releases will get you on the notify list.

New

Future

  • I don’t really have any desire to run a mailing list myself but there have been some requests for one (which I assume would be very, very low traffic).
  • swaks.net – I own this domain, at some point in the future I think it makes sense for the swaks distribution to move to it.
  • Trac – swaks’ “todo” list is not huge, and not especially hard to hold in my head, but I like the idea of Trac or something similar because of its ticket/commit cross reference and the timeline to help remember the history of the development.  Not sold on this being worth the effort of maintaining yet.
If there’s some specific thing you’d like to see from swaks, whether it’s a communication channel or a feature/bug, please let me know in the comments or via email (proj-swaks@jetmore.net).