Skip Menu |
 

This queue is for tickets about the Net-IMAP-Simple CPAN distribution.

Report information
The Basics
Id: 8035
Status: resolved
Priority: 0/
Queue: Net-IMAP-Simple

People
Owner: CFABER [...] cpan.org
Requestors: sommerfeld [...] alum.mit.edu
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 0.95
Fixed in: (no value)

Attachments


Subject: Expunge doesn't work vs Cyrus IMAP server.
Download (untitled) / with headers
text/plain 828b
I am using Net::IMAP::Simple::SSL to build a feedback path for spam filtering from IMAP back to spamassassin and spamcop. I'm using Cyrus imapd as the server, and have observed the following glitches/ideosyncracies: 1) cyrus doesn't seem to like EXPUNGE with an argument. I haven't gone hunting through the IMAP RFC's yet but it would seem that you might need to save the current folder, SELECT the folder-to-expunge, EXPUNGE, then SELECT the original folder. 2) cyrus doesn't accept no-argument commands like EXPUNGE and QUIT when there's trailing whitespace in the command, reporting back errors such as: 8 BAD Unexpected extra arguments to Expunge. this causes both the EXPUNGE and QUIT run by the quit() method to fail because _send_cmd() always adds a space after the command verb even if there are no arguments..
From: Patrick von der Hagen
Download (untitled) / with headers
text/plain 203b
I fixed the mentioned errors with the attached diff. It's not beautiful but gets the job done. ;-) I'm no perl-expert and didn't want to analyse the sourcecode more than necessary. -- CU, Patrick.
Download Simple.pl.diff
text/x-diff 569b
396,397c396,401 < _escape( $box ); < --- > if (defined($box) && $box ne '') { > _escape( $box ); > } > else { > $box = undef; > } 490c494,502 < my $cmd = qq[$id $name $value\r\n]; --- > $name = "" unless defined($name); > $value = "" unless defined($value); > my $cmd = undef; > if (defined($value) && $value ne'') { > $cmd = qq[$id $name $value\r\n]; > } > else { > $cmd = qq[$id $name\r\n]; > } 508c520 < if ( $ok == 1 ) { --- > if ( defined($ok) && $ok == 1 ) {


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.