[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kmail-devel
Subject:    Re: Serious flaw in ActionScheduler::moveMessage()
From:       Don Sanders <sanders () kde ! org>
Date:       2005-12-07 2:00:33
Message-ID: 200512071200.34385.sanders () kde ! org
[Download RAW message or body]

On Wednesday 07 December 2005 11:42, Don Sanders wrote:> Hi Andreas, et al. thanks \
for spending time looking into this.>> On Wednesday 07 December 2005 06:34, Andreas \
Gungl wrote:> > Am Dienstag, 6. Dezember 2005 19:38 schrieb Ingo Klöcker:> > > On \
Tuesday 06 December 2005 12:05, Andreas Gungl wrote:> > > > Hi, when working on> > > \
> http://bugs.kde.org/show_bug.cgi?id=113730 I've found some> > > > concerns with the \
> following code:> > > >> > > > void ActionScheduler::moveMessage()> > > > ...> > > > \
> if (!orgMsg || !orgMsg->parent()) {> > > >     // Original message is gone, no \
> point filtering it> > > > anymore mSrcFolder->removeMsg( mSrcFolder->find( msg ) \
> );> > > > mExecutingLock = false;> > > >     processMessageTimer->start( 0, true \
> );>> It does look like there is a missing return here. If someone could> add one \
> that would be great.>> Does that solve the crash? If so that should solve 113730 \
> right?>> > > >   } else {> > > >     if (!folder) // no filter folder specified \
> leave in> > > > current place folder = orgMsg->parent();> > > >   }> > > >> > > > \
> Given that we cannot identify the original message (e.g. due> > > > to a lost \
> X-KMail-Filtered header after spamassassin having> > > > wrapped the spam message, \
> see the report for details)>> This sounds like the root of the problem. If the \
> X-KMail-Filtered> header is removed then filtering can fail. The X-KMail-Filtered> \
> header should not be removed when the piping a message into an> external \
> application.
Oh, if it's desirable for backwards compatibility or something to not require the \
external application to do this, then maybe the pipe action(s) should do this itself. \
That is before piping into an external app get the X-KMail-Filtered value:  QString \
value = msg->headerField( "X-KMail-Filtered" )and then after the pipe action is \
finished put it back in with a  newMsg->setHeaderField( "X-KMail-Filtered", value ); \
How does that sound? Don Sanders._______________________________________________KMail \
developers mailing listKMail-devel@kde.orghttps://mail.kde.org/mailman/listinfo/kmail-devel



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic