On Tue, Feb 15, 2005 at 03:07:52AM -0800, Daniel Quinlan wrote:
> Daniel Quinlan <[EMAIL PROTECTED]> writes:
> 
> >> "whitelist" and "blacklist" -- these *really* belong in "sa-learn" since
> >> it's AWL/History, but "sa-learn" has been crufted up with lots of
> >> Bayes-specific stuff, so merging it with "sa-learn" will be non-trivial.
> 
> Michael Parker <[EMAIL PROTECTED]> writes:
> 
> > Please no, I'm -1 on this, I've worked very hard to separate the
> > whitelist/blacklist/awl stuff from bayes.  sa-learn is bayes, period.
> 
> Hmm... I agree it's been crufted up, but think about this:
> 
>   report calls learning stuff, so if you're going to report you don't
>     need to call learn or whitelist stuff
> 
>   if you're not going to report, do you really want to require users to
>   call two commands?
> 

Now you're adding in a whole other subsystem.  Using this logic, it is
pretty easy to argue that everything should be in one executable, and
not split out.  A little cross use is allowed.  Here is my proposed
set of commands and their arguments:

sa-filter

 -L, --local              Local tests only (no online tests)
 -d, --remove-markup      Remove spam reports from a  message
 -x, --nocreate-prefs     Don't create user preferences file
 -e, --exit-code          Exit with a non-zero exit code if the tested message 
was spam
 -t, --test-mode          Pipe message through and add extra report to the 
bottom
 --progress               Show progress using progress bar

 --mbox                   read in messages in mbox format
 --mbx                    read in messages in UW mbx format
 -f file,
 --folders=file           Read list of files/directories from file

 -C path,
 --configpath=path,
 --config-file=path       Path to standard configuration dir
 -p prefs,
 --prefspath=file,
 --prefs-file=file        Set user preferences file
 --siteconfigpath=path    Path for site configs (def:  /etc/mail/spamassassin)
 -D, --debug [area=n,...] Print debugging messages
 -V, --version            Print version
 -h, --help               Print usage message

sa-report

 -k, --revoke             Revoke message as spam
 --progress               Show progress using progress bar

 --mbox                   read in messages in mbox format
 --mbx                    read in messages in UW mbx format
 -f file,
 --folders=file           Read list of files/directories from file

 -C path,
 --configpath=path,
 --config-file=path       Path to standard configuration dir
 -p prefs,
 --prefspath=file,
 --prefs-file=file        Set user preferences file
 --siteconfigpath=path    Path for site configs (def:  /etc/mail/spamassassin)
 -D, --debug [area=n,...] Print debugging messages
 -V, --version            Print version
 -h, --help               Print usage message


sa-learn (maybe sa-bayes)

 --ham                    Learn messages as ham (non-spam)
 --spam                   Learn messages as spam
 --forget                 Forget a message
 --use-ignores            Use bayes_ignore_from and bayes_ignore_to
 --sync                   Syncronize the database and the journal if needed
 --no-sync                Skip syncronizing the database and journal after 
learning
 --force-expire           Force a database sync and expiry run
 --dbpath <path>          Allows commandline override (in bayes_path form)
                           for where to read the Bayes DB from
 --status                 Display the status of the Bayes database
 --progress               Show progress using progress bar

 --import                 Migrate data from older version/non DB_File based 
databases
 --clear                  Wipe out existing database
 --backup                 Backup, to STDOUT, existing database
 --restore <filename>     Restore a database from filename

 -u username,
 --username=username      Override username taken from the runtime environment

 --mbox                   read in messages in mbox format
 --mbx                    read in messages in UW mbx format
 -f file,
 --folders=file           Read list of files/directories from file


 -C path,
 --configpath=path,
 --config-file=path       Path to standard configuration dir
 -p prefs,
 --prefspath=file,
 --prefs-file=file        Set user preferences file
 --siteconfigpath=path    Path for site configs (def:  /etc/mail/spamassassin)
 -D, --debug [area=n,...] Print debugging messages
 -V, --version            Print version
 -h, --help               Print usage message

sa-update

 --updatedir path         Directory to place updates, defaults to the 
SpamAssassin
                          site rules directory (def: /etc/mail/spamassassin)

 --channel channel        Retrieve updates from this channel
                          Use multiple times for multiple channels
 --channelfile file       Retrieve updates from the channels in the file

 --gpgkey key             Trust the key id to sign releases
                          Use multiple times for multiple keys
 --gpgkeyfile file        Trust the key ids in the file to sign releases
 --usegpg                 Use GPG to verify updates
                          This is auto-enabled by use of the above
                          gpgkey and gpgkeyfile options.

 -D, --debug [area=n,...] Print debugging messages
 -V, --version            Print version
 -h, --help               Print usage message


sa-history/sa-awl (maybe sa-whitelist)

 -W,
 --add-to-whitelist                Add addresses in mail to persistent address 
whitelist
 --add-to-blacklist                Add addresses in mail to persistent address 
blacklist
 -R,
 --remove-from-whitelist           Remove all addresses found in mail from 
persistent address list
 --add-addr-to-whitelist=addr      Add addr to persistent address whitelist
 --add-addr-to-blacklist=addr      Add addr to persistent address blacklist
 --remove-addr-from-whitelist=addr Remove addr from persistent address list

 --force-expire                    Force a database expiry run
 --status                          Display the status of the database

 --clear                           Wipe out existing database
 --backup                          Backup, to STDOUT, existing database
 --restore <filename>              Restore a database from filename

 -u username,
 --username=username               Override username taken from the runtime 
environment

 --mbox                            read in messages in mbox format
 --mbx                             read in messages in UW mbx format
 -f file,
 --folders=file                    Read list of files/directories from file

 -C path,
 --configpath=path,
 --config-file=path                Path to standard configuration dir
 -p prefs,
 --prefspath=file,
 --prefs-file=file                 Set user preferences file
 --siteconfigpath=path             Path for site configs (def:  
/etc/mail/spamassassin)
 -D, --debug [area=n,...]          Print debugging messages
 -V, --version                     Print version
 -h, --help                        Print usage message

sa-lint

 -C path,
 --configpath=path,
 --config-file=path       Path to standard configuration dir
 -p prefs,
 --prefspath=file,
 --prefs-file=file        Set user preferences file
 --siteconfigpath=path    Path for site configs (def:  /etc/mail/spamassassin)
 -D, --debug [area=n,...] Print debugging messages
 -V, --version            Print version
 -h, --help               Print usage message

finally there is:
spamassassin

This exec calls the appropriate executable depending on the arguments,
and provides backward compatability.  We should issue a warn before
calling exec saying that the spamassassin command is deprecated and
they should use command X instead.  Then in 3.2 spamassassin becomes
nothing but a high level doc.

Michael

Attachment: pgp0mdiTs6tJI.pgp
Description: PGP signature

Reply via email to