Package: amsn
Version: 0.97~rc1+dfsg1-5
Severity: normal
Tags: patch
In last times I received some offline messages; if I click to see them,
I get an error (the same described here
http://www.amsn-project.net/forums/viewtopic.php?p=23974)
After some very difficult checks ;) I found that the problem stays in
the string passed to base64::decode: it's not a valid Base64 string!
You can check with a simple perl command (so we can exclude a bug in
the tcl base64 implementation):
perl -MMIME::Base64 -e'print(MIME::Base64::decode("=wqDCoFVyaWVs?= ") . "\n")'
doesn't output anything, while
perl -MMIME::Base64 -e'print(MIME::Base64::decode("wqDCoFVyaWVs?= ") . "\n")'
yes.
The problem seems to lie in the first "=": the only place where that
character is allowed is the string end, as padding (and there could be
at most two of them).
Deleting that "=" the string is valid. The patch I attach works for me.
ciao
Riccardo
-- System Information:
Debian Release: lenny/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.6.22-3-686 (SMP w/2 CPU cores)
Locale: [EMAIL PROTECTED], [EMAIL PROTECTED] (charmap=ISO-8859-15)
Shell: /bin/sh linked to /bin/bash
Versions of packages amsn depends on:
ii libc6 2.6.1-6 GNU C Library: Shared libraries
ii libgcc1 1:4.2.2-3 GCC support library
ii libice6 2:1.0.4-1 X11 Inter-Client Exchange library
ii libjpeg62 6b-14 The Independent JPEG Group's JPEG
ii libpng12-0 1.2.15~beta5-3 PNG library - runtime
ii libsm6 2:1.0.3-1+b1 X11 Session Management library
ii libsnack2 2.2.10-dfsg1-4 Sound functionality extension to T
ii libstdc++6 4.2.2-3 The GNU Standard C++ Library v3
ii libx11-6 2:1.0.3-7 X11 client-side library
ii python 2.4.4-6 An interactive high-level object-o
ii tcl8.4 8.4.16-4 Tcl (the Tool Command Language) v8
ii tcltls 1.5.0.dfsg-6 the TLS OpenSSL extension to Tcl
ii tk8.4 8.4.16-2 Tk toolkit for Tcl and X11, v8.4 -
ii zlib1g 1:1.2.3.3.dfsg-7 compression library - runtime
amsn recommends no packages.
-- no debconf information
--- protocol.tcl 2007-11-17 20:01:40.000000000 +0100
+++ protocol.tcl- 2007-11-07 05:25:25.000000000 +0100
@@ -2910,7 +2910,7 @@
}
if {$type == "B" } {
- set decoded [base64::decode [string trimleft
$data "="]]
+ set decoded [base64::decode $data]
} elseif {$type == "Q" } {
set decoded [urldecode $data]
} else {