History log of /haiku/src/add-ons/mail_daemon/inbound_filters/spam_filter/SpamFilter.cpp
Revision Date Author Comments
# 05f730b0 11-Nov-2018 Augustin Cavalier <waddlesplash@gmail.com>

More WriteAttr -> WriteAttrString cleanup across the tree.

Some of these were correct as they were ... but most weren't.
There are a variety of other correct ones I didn't change over yet
that someone else probably should (GCI task?).


# d33e4744 03-Jul-2013 Axel Dörfler <axeld@pinc-software.de>

IMAP: downloading mails is now working.

* Changed the way the attributes are written to make sure that everything
that can be written once is in fact written just once.
* The rename code in BMailProtocol::_ProcessFetchedHeader() was broken,
and caused the hang of the last commit.


# 549949b2 26-Jun-2013 Axel Dörfler <axeld@pinc-software.de>

Mail Kit: Changed how filter changes work.

* BMailFilter::HeaderFetched() now only alters the entry_ref, and returns
B_MOVE_MAIL_ACTION to move a mail.
* Instead of potentially moving the file around several times, the
BMailProtocol now takes care of carrying out the filter action just once,
including trying to make the file name unique.
* This also allows the IMAP add-on to know the final location of the mail,
and thus downloading a message actually works.
* However, with my test inbox, it currently hangs, and a current Debugger does
not work on my older system -- I guess I need to update.
* Replaced the duplicated space mechanism within the "HaikuMailFormatFilter"
that is substantially faster, and handles all whitespace, not just spaces.
It will also replace tabs with spaces.


# ca3341c7 12-Nov-2012 Axel Dörfler <axeld@pinc-software.de>

Major mail protocol/filter settings rework.

* Instead of abusing BArchive::Archive() we now use a BMailSettingsView as
a base view for all filter/protocol settings that works with
BMailAddOnSettings.
* Cleanups in E-mail which is now completely layout friendly. But also still
crashes when changing the views.


# 715bf3d1 26-Oct-2012 Axel Dörfler <axeld@pinc-software.de>

Work in progress of mail rework.

* Not everything compiles; all protocols, and inbound filters do, though.
* Renamed a few classes to give a better idea what they are for; prefixed
public classes with the 'B' prefix.
* Moved ProtocolConfigView's classes into the BPrivate namespace.
* Moved BMailFilter into its own file.
* Added BMailFilter::DescriptiveName(). This is now used by the RuleFilter
in order to give a description of what it's doing (ie. no more dozens of
"Rule filter" entries in the preferences).
* Removed no longer used MailAddon.h.
* Renamed Addon to AddOn where found, since that is more consistent with the
rest of the API.
* Merged the former MailProtocol with the former MailProtocolThread; the
differentiation between those two was pretty messy.
* All configuration views touched so far are now using the layout kit.
* The RuleFilter is currently broken functionality wise; I have not yet decided
how to solve the stuff it uses (TriggerFileMove() does not exist anymore,
for example).
* BMailAddOnSettings (formerly known as AddonSettings) now directly subclass
BMessage; there are no Settings() and EditSettings() method anymore. The
class uses a copy of itself to determine whether or not it has been changed.
* Lots of cleanup.


# 38fa81bf 03-Oct-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Remove B_COMMON*_DIRECTORY and kCommon*Directory constants

* This does intentionally break source compatibility, so that a review
of concerned code is forced.
* Binary compatibility should be maintained in most cases. The values
of the constants for the writable directories are now used for the
writable system directories. The values for the non-writable
directories are mapped to "/boot/system/data/empty/...", an empty or
non-existent directory, so that they will simply be skipped in search
paths. Only code that explicitly expects to find something in a
B_COMMON_* directory, will fail.


# 546208a5 16-Apr-2012 Oliver Tappe <zooey@hirschkaefer.de>

More catalog-related cleanup.

* rename B_TRANSLATE_CONTEXT to B_TRANSLATION_CONTEXT and
B_TRANSLATE_WITH_CONTEXT to B_TRANSLATE_CONTEXT, squashing a TODO
* adjust all uses of both macros in Haiku's source tree
* use correct header guard for collecting/Catalog.h

The renamed macros require adjustments to all external applications
using catalogs.


# 83c3aba2 29-Jun-2011 Clemens Zeidler <clemens.zeidler@googlemail.com>

More localization support by taos, thanks!



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42344 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d26fee1a 08-Feb-2011 Clemens Zeidler <clemens.zeidler@googlemail.com>

Switch to the new MailProtocol and account API. Lot of other smaller adaption to the new mail server.

Remove button in the pref app removes the complete account because we don't have separate chains any more. The pref app stays a mess, needs some layout love! (I did it even look worse...)

The new account/mail settings classes know if they have been changed but the current pref panel does not use this feature very well. It always mark the settings as modified when the settings view is displayed or more precise when the settings view is detached from the pref window, this could be optimized. The according mail protocol is completely restarted when their settings changed.

Some system filters are now directly integrated in the mail protocols. Hopefully make things easier to understand.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40398 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fcc3e627 13-Jan-2010 Stephan Aßmus <superstippi@gmx.de>

Patch by Humdiner:
Changed strings in add-ons to sentence case. This is case-add-ons.diff
from #5169.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35046 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 571d840a 19-Oct-2009 Oliver Tappe <zooey@hirschkaefer.de>

* dropped svn:keywords property from all files that carried it
to avoid recurring problems during migration of subversion checkouts
(restored binary files that were garbled by subversions during checkout)
* added appropriate svn:mime-type property for problematic (binary) files
* removed a single (mistyped) svn:mimetype property
* dropped svn:eol-style property for cleanup (they all contained 'native')



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33670 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ae2bf460 22-Feb-2009 Bruno G. Albuquerque <bga@bug-br.org.br>

The Spam DBM may not have the best interface in the world but it is one of the best anti-spam tool I saw so I am adding it to the image (in fact the interface with changes by darkwyrm looks worse than the original one, IMHO).



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29284 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9e5d8124 15-Aug-2008 Bruno G. Albuquerque <bga@bug-br.org.br>

- We do not have the AGMS Spam Server in our tree, so fixed signature and names to load the third-party server if
provided.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26985 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d9f9a4ac 13-Aug-2005 Alexander G.M. Smith <agmsmith@nowhere.fake>

Added the resources and file type associations, changed the application
signature and otherwise made the spam detection system work properly again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13952 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 919ccaea 11-Nov-2004 Nathan Whitehorn <nwhitehorn@nowhere.fake>

Added AGMS's excellent spam detection software. Still some weirdness with the configuration interface from E-mail prefs.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9934 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b6aeabe4 30-Oct-2004 Bruno G. Albuquerque <bga@bug-br.org.br>

AGMS Spam Filter.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9669 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d33e4744df1542a1350f55c25ce7b691560d7345 03-Jul-2013 Axel Dörfler <axeld@pinc-software.de>

IMAP: downloading mails is now working.

* Changed the way the attributes are written to make sure that everything
that can be written once is in fact written just once.
* The rename code in BMailProtocol::_ProcessFetchedHeader() was broken,
and caused the hang of the last commit.


# 549949b26f4df07ba280792c18a515553f489388 26-Jun-2013 Axel Dörfler <axeld@pinc-software.de>

Mail Kit: Changed how filter changes work.

* BMailFilter::HeaderFetched() now only alters the entry_ref, and returns
B_MOVE_MAIL_ACTION to move a mail.
* Instead of potentially moving the file around several times, the
BMailProtocol now takes care of carrying out the filter action just once,
including trying to make the file name unique.
* This also allows the IMAP add-on to know the final location of the mail,
and thus downloading a message actually works.
* However, with my test inbox, it currently hangs, and a current Debugger does
not work on my older system -- I guess I need to update.
* Replaced the duplicated space mechanism within the "HaikuMailFormatFilter"
that is substantially faster, and handles all whitespace, not just spaces.
It will also replace tabs with spaces.


# ca3341c7b430ae9c6a1e7ec22f9aa83d46910814 12-Nov-2012 Axel Dörfler <axeld@pinc-software.de>

Major mail protocol/filter settings rework.

* Instead of abusing BArchive::Archive() we now use a BMailSettingsView as
a base view for all filter/protocol settings that works with
BMailAddOnSettings.
* Cleanups in E-mail which is now completely layout friendly. But also still
crashes when changing the views.


# 715bf3d17a81353ae5d1fa6867587cc0f5c32ce1 26-Oct-2012 Axel Dörfler <axeld@pinc-software.de>

Work in progress of mail rework.

* Not everything compiles; all protocols, and inbound filters do, though.
* Renamed a few classes to give a better idea what they are for; prefixed
public classes with the 'B' prefix.
* Moved ProtocolConfigView's classes into the BPrivate namespace.
* Moved BMailFilter into its own file.
* Added BMailFilter::DescriptiveName(). This is now used by the RuleFilter
in order to give a description of what it's doing (ie. no more dozens of
"Rule filter" entries in the preferences).
* Removed no longer used MailAddon.h.
* Renamed Addon to AddOn where found, since that is more consistent with the
rest of the API.
* Merged the former MailProtocol with the former MailProtocolThread; the
differentiation between those two was pretty messy.
* All configuration views touched so far are now using the layout kit.
* The RuleFilter is currently broken functionality wise; I have not yet decided
how to solve the stuff it uses (TriggerFileMove() does not exist anymore,
for example).
* BMailAddOnSettings (formerly known as AddonSettings) now directly subclass
BMessage; there are no Settings() and EditSettings() method anymore. The
class uses a copy of itself to determine whether or not it has been changed.
* Lots of cleanup.


# 38fa81bf8f0ccc37a615a9f5bd333f9b781322b3 03-Oct-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Remove B_COMMON*_DIRECTORY and kCommon*Directory constants

* This does intentionally break source compatibility, so that a review
of concerned code is forced.
* Binary compatibility should be maintained in most cases. The values
of the constants for the writable directories are now used for the
writable system directories. The values for the non-writable
directories are mapped to "/boot/system/data/empty/...", an empty or
non-existent directory, so that they will simply be skipped in search
paths. Only code that explicitly expects to find something in a
B_COMMON_* directory, will fail.


# 546208a53940a26c6379c48a7854ade1a8250fc5 16-Apr-2012 Oliver Tappe <zooey@hirschkaefer.de>

More catalog-related cleanup.

* rename B_TRANSLATE_CONTEXT to B_TRANSLATION_CONTEXT and
B_TRANSLATE_WITH_CONTEXT to B_TRANSLATE_CONTEXT, squashing a TODO
* adjust all uses of both macros in Haiku's source tree
* use correct header guard for collecting/Catalog.h

The renamed macros require adjustments to all external applications
using catalogs.


# 83c3aba207cb04bd8443c48481b5c8d3f27bde27 29-Jun-2011 Clemens Zeidler <clemens.zeidler@googlemail.com>

More localization support by taos, thanks!



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42344 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d26fee1afb9b3f3fdee2ca569b4944c3ad377d39 08-Feb-2011 Clemens Zeidler <clemens.zeidler@googlemail.com>

Switch to the new MailProtocol and account API. Lot of other smaller adaption to the new mail server.

Remove button in the pref app removes the complete account because we don't have separate chains any more. The pref app stays a mess, needs some layout love! (I did it even look worse...)

The new account/mail settings classes know if they have been changed but the current pref panel does not use this feature very well. It always mark the settings as modified when the settings view is displayed or more precise when the settings view is detached from the pref window, this could be optimized. The according mail protocol is completely restarted when their settings changed.

Some system filters are now directly integrated in the mail protocols. Hopefully make things easier to understand.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40398 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fcc3e627e1aedc4075deb952c66068d542fe9abe 13-Jan-2010 Stephan Aßmus <superstippi@gmx.de>

Patch by Humdiner:
Changed strings in add-ons to sentence case. This is case-add-ons.diff
from #5169.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35046 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 571d840abfdf03de583b26fefd2066ee75b25cf4 19-Oct-2009 Oliver Tappe <zooey@hirschkaefer.de>

* dropped svn:keywords property from all files that carried it
to avoid recurring problems during migration of subversion checkouts
(restored binary files that were garbled by subversions during checkout)
* added appropriate svn:mime-type property for problematic (binary) files
* removed a single (mistyped) svn:mimetype property
* dropped svn:eol-style property for cleanup (they all contained 'native')



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33670 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ae2bf46029eb1c22401d8c4ab7ef9a86d738e03d 22-Feb-2009 Bruno G. Albuquerque <bga@bug-br.org.br>

The Spam DBM may not have the best interface in the world but it is one of the best anti-spam tool I saw so I am adding it to the image (in fact the interface with changes by darkwyrm looks worse than the original one, IMHO).



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29284 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9e5d81240768dee833c3419f29e60fa5c596df94 15-Aug-2008 Bruno G. Albuquerque <bga@bug-br.org.br>

- We do not have the AGMS Spam Server in our tree, so fixed signature and names to load the third-party server if
provided.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26985 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d9f9a4ac416b77ae8147d624a7cf533e9216567b 13-Aug-2005 Alexander G.M. Smith <agmsmith@nowhere.fake>

Added the resources and file type associations, changed the application
signature and otherwise made the spam detection system work properly again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13952 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 919ccaea46a93a91e27a0f003476d6f7bf848d6c 11-Nov-2004 Nathan Whitehorn <nwhitehorn@nowhere.fake>

Added AGMS's excellent spam detection software. Still some weirdness with the configuration interface from E-mail prefs.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9934 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b6aeabe4f638045b77c9707f1957a82c531c618a 30-Oct-2004 Bruno G. Albuquerque <bga@bug-br.org.br>

AGMS Spam Filter.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9669 a95241bf-73f2-0310-859d-f6bbb57e9c96