Discussion:
[VM] mime decoding
Salome Södergran
2012-05-09 14:08:05 UTC
Permalink
Hi

I have upgraded my system from Ubuntu 10.04 to 12.04 these days and now
the MIME decoding is no longer working.
I used to have the following lines in my .vm-file which did the job
fine:

(setq vm-mime-base64-decoder-program "mimencode")
(setq vm-mime-base64-decoder-switches '("-b" "-u"))
(setq vm-mime-base64-encoder-program "mimencode")
(setq vm-mime-base64-encoder-switches '("-b"))

The metamail-package (to which mimencode belongs) seems to be no longer
maintained and is no longer to be found in the ubuntu repositories.
I installed mpack and substituted the above lines with:

(setq vm-mime-base64-decoder-program "munpack")
(setq vm-mime-base64-encoder-program "mpack")

Now I get the message "Did not find anything to unpack from standard
input". The decoding works allright if I save the message first and do
"munpack filename" in the terminal. But of course the internal decoding
is handier.
I have not changed other variables that have an influence on MIME
messages; e.g. the following are set as they were before:
(setq vm-auto-decode-mime-messages t)
(setq vm-auto-displayed-mime-content-types '("text" "image/jpeg" "multipart"))
(setq vm-mime-internal-content-types '("text" "message" "image/jpeg"))
(setq vm-mime-text/html-handler 'auto-select)

The encoding seems to be working fine with mpack.

What is the recommended way to handle MIME messages in VM nowadays?

Salome
--
Salome Södergran
For e-mail-replies please use: salome dot soedergran at gmx dot ch
Patrick P Murphy
2012-05-09 14:39:10 UTC
Permalink
On Wed, 09 May 2012 16:08:05 +0200, Salome Södergran
Post by Salome Södergran
I have upgraded my system from Ubuntu 10.04 to 12.04 these days and
now the MIME decoding is no longer working. I used to have the
(setq vm-mime-base64-decoder-program "mimencode")
(setq vm-mime-base64-decoder-switches '("-b" "-u"))
(setq vm-mime-base64-encoder-program "mimencode")
(setq vm-mime-base64-encoder-switches '("-b"))
The metamail-package (to which mimencode belongs) seems to be no longer
maintained and is no longer to be found in the ubuntu repositories.
(setq vm-mime-base64-decoder-program "munpack")
(setq vm-mime-base64-encoder-program "mpack")
I've been using a pair of small, very old C programs for years:
base64-decode.c and base64-encode.c; they date from 2000 (!). Have not
used them on 12.04 yet; but they work well on both RedHat and Ubuntu
10.04.

You're more than welcome to them if you want; I just put a copy of both
here:

http://www.cv.nrao.edu/~pmurphy/base64-decode.c
http://www.cv.nrao.edu/~pmurphy/base64-encode.c

They're very generic C and should compile easily with gcc.
Post by Salome Södergran
Now I get the message "Did not find anything to unpack from standard
input". The decoding works allright if I save the message first and do
"munpack filename" in the terminal.
Does "cat filename | munpack" work? I assume that's (similar to) the
mode in which vm calls the external programs.

HTH.

- Pat
--
Patrick P. Murphy, Ph.D. Webmaster (East), Computing Security Manager
http://www.nrao.edu/~pmurphy/ http://chien-noir.com/maze.shtml

All your sanity and wit, they will all vanish, I promise;
It's just a matter of time.
-- Gogol Bordello
Uday Reddy
2012-05-10 09:52:43 UTC
Permalink
Post by Patrick P Murphy
You're more than welcome to them if you want; I just put a copy of both
http://www.cv.nrao.edu/~pmurphy/base64-decode.c
http://www.cv.nrao.edu/~pmurphy/base64-encode.c
They're very generic C and should compile easily with gcc.
Aren't these the same c programs that are distributed with VM? I am not
sure who wrote them. It is possible that Kyle Jones wrote them himself or
one his associates.

When Rob F created a Unix distribution for VM, he put those C programs into
the standard distribution in the /src subdirectory. If you do normal
install, they will get placed in wherever your binary executables go. If
the Linux distributors aren't including these programs in the VM package,
you need to take up the issue with them.

Cheers,
Uday
Salome Södergran
2012-05-10 14:59:47 UTC
Permalink
Post by Patrick P Murphy
You're more than welcome to them if you want; I just put a copy of
http://www.cv.nrao.edu/~pmurphy/base64-decode.c
http://www.cv.nrao.edu/~pmurphy/base64-encode.c
They're very generic C and should compile easily with gcc.
Aren't these the same c programs that are distributed with VM? I am
not sure who wrote them. It is possible that Kyle Jones wrote them
himself or one his associates.
When Rob F created a Unix distribution for VM, he put those C programs
into the standard distribution in the /src subdirectory. If you do
normal install, they will get placed in wherever your binary
executables go. If the Linux distributors aren't including these
programs in the VM package, you need to take up the issue with them.
Cheers, Uday
Thanks, Patrick and Uday, for your help. While "cat filename | munpack"
works in the terminal, the munpack-command in the .vm-file does not.
However, the solution is much easier. The suggested c-programs do indeed
come with vm and the following lines in my .vm-file do all I want: (setq
vm-mime-base64-decoder-program "base64-decode") (setq
vm-mime-base64-encoder-program "base64-encode")

Best, Salome
--
Salome Södergran For e-mail-replies please use: salome dot soedergran at
gmx dot ch
Continue reading on narkive:
Loading...