Hi Patrick. Patrick Matthäi <pmatth...@debian.org> (31/07/2012): > Package: release.debian.org > Severity: normal > User: release.debian....@packages.debian.org > Usertags: unblock > > Please unblock package otrs2 > > I have added an upstream patch to fix the postmaster module with IMAPTLS > mailboxes: > > * Add backported upstream patch 27-imaptls-more-than-one-email. Using IMAPTLS > will purge all e-mails, if more than one is located in the inbox. This is > because of newer Mail::IMAPClient module versions return an array reference > insteaf of an array on the ->message action. > > unblock otrs2/3.1.7+dfsg1-3
Attaching the diff would have been helpful, would have saved a few copying/pasting. +otrs2 (3.1.7+dfsg1-3) unstable; urgency=low + + * Add backported upstream patch 27-imaptls-more-than-one-email. Using IMAPTLS + will purge all e-mails, if more than one is located in the inbox. This is + because of newer Mail::IMAPClient module versions return an array reference + insteaf of an array on the ->message action. ^^^^^^^ instead, which you can fix for the next uploads. +diff -Naur otrs2-3.1.7+dfsg1.orig/Kernel/System/MailAccount/IMAPTLS.pm otrs2-3.1.7+dfsg1/Kernel/System/MailAccount/IMAPTLS.pm +--- otrs2-3.1.7+dfsg1.orig/Kernel/System/MailAccount/IMAPTLS.pm 2011-11-14 16:27:31.000000000 +0100 ++++ otrs2-3.1.7+dfsg1/Kernel/System/MailAccount/IMAPTLS.pm 2012-07-28 14:06:33.293674056 +0200 +@@ -132,9 +132,9 @@ + my $IMAPObject = $Connect{IMAPObject}; + $IMAPObject->select($IMAPFolder) or die "Could not select: $@\n"; + +- my @Messages = $IMAPObject->messages() ++ my $Messages = $IMAPObject->messages() + || die "Could not retrieve messages : $@\n"; +- my $NumberOfMessages = scalar @Messages; ++ my $NumberOfMessages = scalar @{$Messages}; What happens if an old Mail::IMAPClient module version is used? + + if ($CMD) { + print "$AuthType: I found $NumberOfMessages messages on $Param{Login}/$Param{Host}. " +@@ -147,7 +147,7 @@ + } + } + else { +- for my $Messageno (@Messages) { ++ for my $Messageno ( @{$Messages} ) { Ditto. + + # check if reconnect is needed + $FetchCounter++; +@@ -243,8 +243,7 @@ + Message => "$AuthType: Fetched $FetchCounter email(s) from $Param{Login}/$Param{Host}.", + ); + } +- $IMAPObject->expunge_mailbox($IMAPFolder); I think that's part of the bug fix, since the retrieved messages are deleted through: # mark email for deletion if it got processed $IMAPObject->delete_message($Messageno); And I guess calling expunge_mailbox() was a way to make sure all messages went away? Is calling delete_message() enough? +- $IMAPObject->close(); ++ $IMAPObject->close; I think it's a no-op, but a confirmation would be good. + if ($CMD) { + print "$AuthType: Connection to $Param{Host} closed.\n\n"; + } Mraw, KiBi.
signature.asc
Description: Digital signature