Update of /cvsroot/serverfilters/serversidefilter In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3555 Modified Files: CHANGELOG INSTALL README TODO backend.php config.php.sample functions.php make_release.sh setup.php version Log Message: Reimplemented FTP backend. Untested. Index: setup.php =================================================================== RCS file: /cvsroot/serverfilters/serversidefilter/setup.php,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** setup.php 17 Jun 2005 09:00:52 -0000 1.5 --- setup.php 21 Jul 2005 09:52:20 -0000 1.6 *************** *** 44,48 **** { ! return '1.5-1.2.7-RC1'; } --- 44,48 ---- { ! return '1.5-1.2.7-RC2'; } Index: make_release.sh =================================================================== RCS file: /cvsroot/serverfilters/serversidefilter/make_release.sh,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** make_release.sh 21 May 2005 09:13:18 -0000 1.1.1.1 --- make_release.sh 21 Jul 2005 09:52:20 -0000 1.2 *************** *** 33,37 **** # CONFIG_FILES=( config.php ) # ! CONFIG_FILES=( config.php script/imap-2004a script/imap.tar.Z script/serversidefilter_mysql.conf script/serversidefilter_ldap.conf script/filtercmd ) --- 33,37 ---- # CONFIG_FILES=( config.php ) # ! CONFIG_FILES=( config.php script/imap-2004a script/imap.tar.Z script/serversidefilter_mysql.conf script/serversidefilter_ldap.conf script/filtercmd script/Makefile.orig script/Makefile.paul ) Index: functions.php =================================================================== RCS file: /cvsroot/serverfilters/serversidefilter/functions.php,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** functions.php 2 Jun 2005 06:44:19 -0000 1.2 --- functions.php 21 Jul 2005 09:52:20 -0000 1.3 *************** *** 23,27 **** function serversidefilter_optpage_register_block_do() { ! global $optpage_blocks; --- 23,27 ---- function serversidefilter_optpage_register_block_do() { ! global $optpage_blocks; *************** *** 61,81 **** * Filter functions * These are the functions you call to get or write the filter files ! * These simply call the only available backend, "local" */ function filter_get() { ! return local_filter_get(); } function filter_exists() { ! return local_filter_exists(); } function filter_put($file) { ! return local_filter_put($file); } function write_forward() { ! global $username, $attachment_dir, $FILTER_FILE_PATH, $FORWARD_FILE_TYPE, $FILTER_APP_PATH; $tmpfile = $attachment_dir . "/forwardfile-$username"; --- 61,90 ---- * Filter functions * These are the functions you call to get or write the filter files ! * These call the backend configured by the user. */ function filter_get() { ! global $BACKEND; ! $fxn_name = strtolower($BACKEND) . '_filter_get'; ! ! return $fxn_name(); } function filter_exists() { ! global $BACKEND; ! $fxn_name = strtolower($BACKEND) . '_filter_exists'; ! ! return $fxn_name(); } function filter_put($file) { ! global $BACKEND; ! $fxn_name = strtolower($BACKEND) . '_filter_put'; ! ! return $fxn_name($file); } function write_forward() { ! global $BACKEND, $username, $attachment_dir, $FILTER_FILE_PATH, $FORWARD_FILE_TYPE, $FILTER_APP_PATH; $tmpfile = $attachment_dir . "/forwardfile-$username"; *************** *** 91,95 **** fclose($fd); ! $result = local_write_forward($tmpfile); } --- 100,106 ---- fclose($fd); ! $fxn_name = strtolower($BACKEND) . '_write_forward'; ! ! $result = $fxn_name($tmpfile); } Index: version =================================================================== RCS file: /cvsroot/serverfilters/serversidefilter/version,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** version 17 Jun 2005 09:00:52 -0000 1.4 --- version 21 Jul 2005 09:52:20 -0000 1.5 *************** *** 1,2 **** Server Side Filter ! 1.5-1.2.7-RC1 --- 1,2 ---- Server Side Filter ! 1.5-1.2.7-RC2 Index: INSTALL =================================================================== RCS file: /cvsroot/serverfilters/serversidefilter/INSTALL,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** INSTALL 21 May 2005 19:46:19 -0000 1.2 --- INSTALL 21 Jul 2005 09:52:20 -0000 1.3 *************** *** 9,12 **** --- 9,13 ---- $ tar -zxvf serversidefilter-1.5-1.2.7.tar.gz + 2) Change into the serversidefilter directory, copy config.php.sample to config.php and edit config.php, making adjustments as *************** *** 17,26 **** $ vi config.php - 3) For security purposes, you must restrict ownership of the - configuration file to the root user: ! $ sudo chown root:root config.php ! ! 4) If you would like to include any additional filter directives at the beggining and/or end of all filter files created, create and edit the following files, adding the desired text: --- 18,23 ---- $ vi config.php ! 3) If you would like to include any additional filter directives at the beggining and/or end of all filter files created, create and edit the following files, adding the desired text: *************** *** 32,37 **** $ vi footer $ cd ../ ! 5) If you host virutal domains and have virtual mail users, you need to complete some extra configuration depending upon your system's email server. --- 29,46 ---- $ vi footer $ cd ../ + ! 4) If you are not using the "local" backend (see $BACKEND in ! config.php), that is, if you ARE using the FTP backend, ! skip to step 10. ! ! ! 5) For security purposes, you must restrict ownership of the ! configuration file to the root user: ! ! $ sudo chown root:root config.php ! ! ! 6) If you host virutal domains and have virtual mail users, you need to complete some extra configuration depending upon your system's email server. *************** *** 81,85 **** above for other backends as needed. ! 6) Compile the filtercmd executable in the script directory. For information on how to compile the binary yourself, refer to script/README. --- 90,95 ---- above for other backends as needed. ! ! 7) Compile the filtercmd executable in the script directory. For information on how to compile the binary yourself, refer to script/README. *************** *** 87,91 **** $ less script/README ! 7) Determine what user group your web server runs under (common ones are "apache", "nobody", "www", etc.) and make sure that the filtercmd executable has that same group ownership (substitute the user group --- 97,102 ---- $ less script/README ! ! 8) Determine what user group your web server runs under (common ones are "apache", "nobody", "www", etc.) and make sure that the filtercmd executable has that same group ownership (substitute the user group *************** *** 94,111 **** # sudo chown root:apache script/filtercmd ! 8) Ensure that the filtercmd executable is SUID: $ sudo chmod 4750 script/filtercmd ! 9) Then go to your config directory and run conf.pl. Choose ! option 8 and move the plugin from the "Available Plugins" ! category to the "Installed Plugins" category. Save and exit. $ cd ../../config/ $ ./conf.pl - 10) Also, please verify that you have the "compatibility" plugin - installed. - --- 105,121 ---- # sudo chown root:apache script/filtercmd ! ! 9) Ensure that the filtercmd executable is SUID: $ sudo chmod 4750 script/filtercmd ! ! 10) Then go to your config directory and run conf.pl. Choose ! option 8 and move the plugin from the "Available Plugins" ! category to the "Installed Plugins" category. Save and exit. $ cd ../../config/ $ ./conf.pl *************** *** 124,127 **** --- 134,138 ---- $ tar -zxvf serversidefilter-1.5-1.2.7.tar.gz + 2) Change into the serversidefilter directory, check your config.php file against the new version, to see if there are any new *************** *** 147,151 **** structure. ! 3) For security purposes, you must restrict ownership of the configuration file to the root user: --- 158,169 ---- structure. ! ! 3) If you are not using the "local" backend (see $BACKEND in ! config.php), that is, if you ARE using the FTP backend, ! skip to step 5. What? There is no step 5? Well then, you ! must be finished with the upgrade. ! ! ! 4) For security purposes, you must restrict ownership of the configuration file to the root user: Index: backend.php =================================================================== RCS file: /cvsroot/serverfilters/serversidefilter/backend.php,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** backend.php 21 May 2005 09:13:18 -0000 1.1.1.1 --- backend.php 21 Jul 2005 09:52:20 -0000 1.2 *************** *** 20,23 **** --- 20,375 ---- */ + + + // ----------------------------------------------------------------------------- + // FTP backend + // ----------------------------------------------------------------------------- + + global $FTP; + $FTP = FALSE; + + + + function ftp_filter_exists() { + + global $FILTER_FILE_NAME; + return do_ftp_action('list', $FILTER_FILE_NAME); + + } + + + + function ftp_filter_get() { + + global $attachment_dir, $username, $color, $FILTER_FILE_NAME; + + $localfile = $attachment_dir . '/serversidefilter/'; + if (!is_dir($localfile)) { + mkdir($localfile, 0777); + } + chmod($localfile, 0777); + + $localfile .= "filterfile.$username"; + touch($localfile); + if (ftp_filter_exists()) { + $result = do_ftp_action('get', $FILTER_FILE_NAME, $localfile); + } else { + $err_code = create_filter(); + if (!$err_code) ftp_filter_get(); + } + return $localfile; + + } + + + + function ftp_filter_put($file) { + + global $FILTER_FILE_NAME; + + $put = do_ftp_action('put', $FILTER_FILE_NAME, $file); + + // delete localFile + // + //unlink($tempFile); + + return $put; + + } + + + + function ftp_write_forward($tmpfile) { + + global $FORWARD_FILE_NAME; + + return do_ftp_action('put', $FORWARD_FILE_NAME, $tmpfile); + + } + + + + /** + * Do FTP Action + * + * Serves as a proxy between PHP code and the FTP server. + * + * @param string $action This should be one of four values + * that indicate what action is to be + * taken: + * 'list' determines if a file exists + * 'put' uploads the given file + * 'get' downloads the given file + * 'delete' removes the indicated file + * @param string $remoteFile The name of the file to be manipulated + * on the server. + * @param string $localFile The name of the file to be uploaded or + * downloaded (basically, this is usually + * just a temporary file). + * + * @return boolean FALSE if the action failed, TRUE otherwise + * + */ + function do_ftp_action($action, $remoteFile='', $localFile='') + { + + global $color, $username, $key, $onetimepad, $FTP_SERVER, $LDAP_ATTRIBUTE, + $ftp_debug, $connect_method, + $FTP_PASSIVE, $LDAP_LOOKUP_FTP_SERVER, $LDAP_BASE, $LDAP_SERVER, + $USE_SSL_FTP, $FTP; + + $connect_method = 'ftp'; + + // debugging + // $ftp_debug = 1; + + $connect_method = strtolower($connect_method); + + + // decrypt password + // + sqgetGlobalVar('key', $key, SQ_COOKIE); + sqgetGlobalVar('onetimepad', $onetimepad, SQ_SESSION); + $password = OneTimePadDecrypt($key, $onetimepad); + + + // look up ftp server in LDAP if necessary + // + if ($LDAP_LOOKUP_FTP_SERVER) + { + + // try to get ftp server name from user's session if possible + // + sqgetGlobalVar('ssf_ftp_server', $ssf_ftp_server, SQ_SESSION); + + + // do the LDAP lookup + // + if (empty($ssf_ftp_server)) + { + + $LDAP = ldap_connect($LDAP_SERVER); + if ($LDAP) + { + + $r = ldap_bind($LDAP); // this is an "anonymous" bind, ty + + + if ($r) + { + $sr = ldap_search($LDAP, $LDAP_BASE, "uid=$username"); + // Maybe check for search error... + } + else + { + plain_error_message(_("Error: Could not bind to LDAP server."), $color); + return FALSE; + } + + + $entry = ldap_first_entry($LDAP, $sr); + $values = ldap_get_values($LDAP, $entry, $LDAP_ATTRIBUTE); + $ssf_ftp_server = $values[0]; + + + // check for null return from ldap + // + if (!isset($ssf_ftp_server)) + { + plain_error_message(sprintf(_("Error: Could not find FTP server for %s in LDAP server."), $username), $color); + ldap_close($LDAP); + return FALSE; + } + else + sqsession_register($ssf_ftp_server, 'ssf_ftp_server'); + + + ldap_close($LDAP); + + } + else + { + plain_error_message(_("Error: Could not connect to LDAP server."), $color); + return FALSE; + } + + } + + $FTP_SERVER = $ssf_ftp_server; + + } + + + $result = FALSE; + + if ($ftp_debug) + { + echo "ACTION: $action === REMOTE: $remoteFile === LOCAL: $localFile === USER: $username === PASSWORD: $password<br />"; + } + + if ($connect_method == 'ftp') + { + + // use FTP over SSL? + // + if ($USE_SSL_FTP) $ftp_conn_func = 'ftp_ssl_connect'; + else $ftp_conn_func = 'ftp_connect'; + + + // only connect to FTP server once per page request + // + if (!$FTP) + { + + $FTP = $ftp_conn_func($FTP_SERVER); + + + if (!$FTP) + { + plain_error_message(_("Error: Unable to connect to FTP server. Please try again later."), $color); + return FALSE; + } + if (!($FTPConn = ftp_login($FTP, $username, $password))) + { + plain_error_message(_("Error: Unable to log in to FTP server. Please contact your system administrator."), $color); + ftp_quit($FTP); + return FALSE; + } + if ($FTP_PASSIVE && !ftp_pasv($FTP, TRUE)) + { + plain_error_message(_("Error: Unable to switch to passive FTP mode. Please contact your system administrator."), $color); + ftp_quit($FTP); + return FALSE; + } + + // TODO: this flushes browser output too, and might create problems...? + flush(); + + } + + } + + switch ($action) + { + + // check whether file exists + // + case 'list': + + if ($connect_method == 'ftp') + { + $ftpList = ftp_size($FTP, $remoteFile); + + if ($ftpList > 0) + $result = TRUE; + else + $result = FALSE; + } + else + { + // nothing for now + } + + break; + + + + // upload $remoteFile to $localFile + // + case 'put': + + if ($connect_method == 'ftp') + { + if (ftp_put($FTP, $remoteFile, $localFile, FTP_ASCII)) + $result = TRUE; + else + { + plain_error_message(_("Error: Unable to upload file. Please contact your system administrator."), $color); + $result = FALSE; + } + } + else + { + // nothing for now + } + + break; + + + + // download $remoteFile to $localFile + // + case 'get': + + if ($connect_method == 'ftp') + { + if (ftp_get($FTP, $localFile, $remoteFile, FTP_ASCII)) + $result = TRUE; + else + { + plain_error_message(_("Error: unable to download file. Please contact your system administrator."), $color); + $result = FALSE; + } + } + else + { + // nothing for now + } + + break; + + + + // delete files listed in $remoteFile if they exist + // + case 'delete': + + $remoteFiles = explode(',', $remoteFile); + $result = TRUE; + foreach ($remoteFiles as $file) + { + + if ($connect_method == 'ftp') + { + $ftpList = ftp_size($FTP, $file); + if ($ftpList > 0 && !ftp_delete($FTP, $file)) + { + plain_error_message(_("Error: unable to delete file. Please contact your system administrator."), $color); + $result = FALSE; + } + } + else + { + // nothing for now + } + + } + + break; + + + + // unknown action + // + default: + + echo _("Unknown action:") . " $action<br />\n"; + $result = FALSE; + + } + + // keep FTP connection open for duration of whole page request + //if ($connection_method == 'ftp') ftp_quit($FTP); + + return $result; + + } + + + + // ----------------------------------------------------------------------------- + // "local" backend + // ----------------------------------------------------------------------------- + function local_filter_get() { global $username, $attachment_dir; *************** *** 49,58 **** function local_filter_put($file) { ! return invoke_filtercmd("putrc filter", $file, ""); //unlink($file); } function local_write_forward($tmpfile) { ! return invoke_filtercmd("putrc forward", $tmpfile, ""); } --- 401,410 ---- function local_filter_put($file) { ! return invoke_filtercmd('putrc filter', $file, ''); //unlink($file); } function local_write_forward($tmpfile) { ! return invoke_filtercmd('putrc forward', $tmpfile, ''); } *************** *** 123,126 **** --- 475,484 ---- } + + + // ----------------------------------------------------------------------------- + // Procmail backend + // ----------------------------------------------------------------------------- + /** * Procmail backend *************** *** 251,254 **** --- 609,618 ---- } + + + // ----------------------------------------------------------------------------- + // Maildrop backend + // ----------------------------------------------------------------------------- + /** * Maildrop backend Index: README =================================================================== RCS file: /cvsroot/serverfilters/serversidefilter/README,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** README 21 May 2005 19:46:19 -0000 1.2 --- README 21 Jul 2005 09:52:20 -0000 1.3 *************** *** 22,26 **** dot-qmail files for delivery. ! Dot-forward files can also be generated to invoke the filter app. NOTE: Since version 1.4, ServerSide Filter uses a setuid application for --- 22,26 ---- dot-qmail files for delivery. ! Dot-forward and vacation files can also be generated to invoke the filter app. NOTE: Since version 1.4, ServerSide Filter uses a setuid application for *************** *** 40,44 **** - SquirrelMail 1.4.x (may also work with earlier versions of 1.2.x) - - Compatibility plugin - Maildrop or procmail --- 40,43 ---- Index: config.php.sample =================================================================== RCS file: /cvsroot/serverfilters/serversidefilter/config.php.sample,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** config.php.sample 21 Jul 2005 07:24:07 -0000 1.5 --- config.php.sample 21 Jul 2005 09:52:20 -0000 1.6 *************** *** 24,31 **** // variables it will be parsing out of this file *must* NOT // be in the global statement here: ! global $ALWAYS_CREATE, $FILTER_APP_PATH, $DEFAULT_DELIVERY, $ALLOW_UNSUBSCRIBED, $SPAMFILTER, $SPAMHEADER, $SPAMFILTERMAXKB, $SPAMVALUE, $UNSUREVALUE, $VIRTUAL_DOMAINS, $LOCAL_MAILDIR, $USE_LDAP, ! $USE_MAILDIRS, $SEPERATOR, $USE_MYSQL, $USE_SPECIAL_SPAM_FILTER_RULE; --- 24,33 ---- // variables it will be parsing out of this file *must* NOT // be in the global statement here: ! global $ALWAYS_CREATE, $FILTER_APP_PATH, $DEFAULT_DELIVERY, $BACKEND, $ALLOW_UNSUBSCRIBED, $SPAMFILTER, $SPAMHEADER, $SPAMFILTERMAXKB, $SPAMVALUE, $UNSUREVALUE, $VIRTUAL_DOMAINS, $LOCAL_MAILDIR, $USE_LDAP, ! $USE_MAILDIRS, $SEPERATOR, $USE_MYSQL, $USE_SPECIAL_SPAM_FILTER_RULE, ! $FTP_SERVER, $FTP_PASSIVE, $USE_SSL_FTP, $LDAP_LOOKUP_FTP_SERVER, ! $LDAP_BASE, $LDAP_SERVER, $LDAP_ATTRIBUTE; *************** *** 40,61 **** - // This is the full path to the filter files. Note that this - // must be set to the same value as $FILTER_FILE_NAME when - // using database lookups (see below). - // - //$FILTER_FILE_PATH = '/home/email/[DOMUSER]/users/[USERNAME]/.procmailrc'; - //$FILTER_FILE_PATH = '.mailfilter'; - $FILTER_FILE_PATH = '/home/email/[DOMUSER]/users/[USERNAME]/.mailfilter'; - - - - // This is the expected name of filter files stored in the user's - // home directory (the path to which is stored in a database backend). - // - //$FILTER_FILE_NAME = '.procmailrc'; - $FILTER_FILE_NAME = '.mailfilter'; - - - // This is the full path of the filter application you use. // Supported filter apps are: --- 42,45 ---- *************** *** 78,83 **** ! // Uncomment the following line to allow filtering to unsubscribed ! // mailboxes. Comment line out to disable to only allow filtering // to subscribed mailboxes. // --- 62,67 ---- ! // Uncomment the following line to allow filtering to unsubscribed ! // mailboxes. Comment line out to disable to only allow filtering // to subscribed mailboxes. // *************** *** 99,103 **** ! // Limits messages sent through the spam filter to be below this // size (in kilobytes). Set to 0 if you do not want any limit. --- 83,87 ---- ! // Limits messages sent through the spam filter to be below this // size (in kilobytes). Set to 0 if you do not want any limit. *************** *** 109,116 **** // If you run a Spam tagging tool such as SpamAssassin from another // location (such as amavis, etc.), but would still like the special ! // spam filter included with this plugin, make sure $SPAMFILTER above // is commented out but that $SPAMHEADER and $SPAMVALUE (and optionally ! // $UNSUREVALUE) are correctly configured and set this to 1. If you ! // are using the $SPAMFILTER setting above, you should leave this // turned off. // --- 93,100 ---- // If you run a Spam tagging tool such as SpamAssassin from another // location (such as amavis, etc.), but would still like the special ! // spam filter included with this plugin, make sure $SPAMFILTER above // is commented out but that $SPAMHEADER and $SPAMVALUE (and optionally ! // $UNSUREVALUE) are correctly configured and set this to 1. If you ! // are using the $SPAMFILTER setting above, you should leave this // turned off. // *************** *** 120,129 **** // Set the path to the Maildir here. This is used in the filter ! // file itself. // ! //$LOCAL_MAILDIR = '$HOME/Maildir/'; // This would be a good example for a // standard email setup ! $LOCAL_MAILDIR = '$HOME/users/[USERNAME]/'; // This example is compatible with ! // vmailmgr virtual domains //$LOCAL_MAILDIR = '$DEFAULT/'; // In many cases, Maildrop's $DEFAULT // environment variable already points --- 104,113 ---- // Set the path to the Maildir here. This is used in the filter ! // file itself. // ! //$LOCAL_MAILDIR = '$HOME/Maildir/'; // This would be a good example for a // standard email setup ! $LOCAL_MAILDIR = '$HOME/users/[USERNAME]/'; // This example is compatible with ! // vmailmgr virtual domains //$LOCAL_MAILDIR = '$DEFAULT/'; // In many cases, Maildrop's $DEFAULT // environment variable already points *************** *** 133,142 **** // Set this to 1 if your mailbox uses maildirs, set to 0 for mbox style mailboxs ! // $USE_MAILDIRS = 1; ! /////////////////////////////////////////////////////////////////////////// // // VIRTUAL DOMAIN SETTINGS --- 117,224 ---- // Set this to 1 if your mailbox uses maildirs, set to 0 for mbox style mailboxs ! // $USE_MAILDIRS = 1; ! // -------------------------------------------------------------- ! // ! // Choose how the plugin should get and set filter information ! // Currently suppored backends are: ! // ! // local Filter files are located on the local (or NFS) ! // filesystem and are accessed with normal filesystem ! // commands ! // ! // ftp Filter files are located on a FTP server ! // and are accessed by using PHP's FTP functionality ! // (you must have enabled FTP functionality in your ! // PHP build with --enable-ftp) ! // ! //$BACKEND = 'ftp'; ! $BACKEND = 'local'; ! ! ! ! // -------------------------------------------------------------- ! // ! // FTP backend configuration settings ! // ! ! ! ! // This is the expected name of filter files stored in the user's ! // home directory (the path to which is stored in a database backend). ! // ! //$FILTER_FILE_NAME = '.procmailrc'; ! $FILTER_FILE_NAME = '.mailfilter'; ! ! ! ! // Also, please see $FORWARD_FILE_NAME below; it should be set ! // correctly to use .forward files with the FTP backend ! // ! ! ! ! // The FTP server's hostname (or IP address)... ! // ! $FTP_SERVER = 'localhost'; ! ! ! ! // Turn on passive mode if necessary by setting this to 1 ! // ! $FTP_PASSIVE = 0; ! //$FTP_PASSIVE = 1; ! ! ! ! // You may specify that the FTP connection be made ! // via SSL FTP by setting this to 1 (please note that ! // this requires that OpenSSL support be enabled in ! // your PHP build) ! // ! $USE_SSL_FTP = 0; ! ! ! ! // If you store users' FTP servers (server name/location) ! // in LDAP, you can look up what $FTP_SERVER (above) should ! // be in LDAP by turning this on ! // ! $LDAP_LOOKUP_FTP_SERVER = 0; ! //$LDAP_LOOKUP_FTP_SERVER = 1; ! ! ! ! // When using $LDAP_LOOKUP_FTP_SERVER, set the LDAP base ! // server, and attribute here ($LDAP_SERVER may be a host ! // name or LDAP URI) ! // ! $LDAP_BASE = 'ou=People,dc=DOMAIN,dc=com'; ! $LDAP_SERVER = 'your.ldap.server.com'; ! $LDAP_ATTRIBUTE = 'mailhost'; ! ! ! ! // -------------------------------------------------------------- ! // ! // Local backend configuration settings ! // ! ! ! ! // This is the full path to the filter files. Note that this ! // must be set to the same value as $FILTER_FILE_NAME when ! // using database lookups (see below). ! // ! //$FILTER_FILE_PATH = '/home/email/[DOMUSER]/users/[USERNAME]/.procmailrc'; ! //$FILTER_FILE_PATH = '.mailfilter'; ! $FILTER_FILE_PATH = '/home/email/[DOMUSER]/users/[USERNAME]/.mailfilter'; ! ! ! ! // -------------------------------------------------------------- // // VIRTUAL DOMAIN SETTINGS *************** *** 199,203 **** ! /////////////////////////////////////////////////////////////////////////// // // VACATION FILE SETTINGS --- 281,285 ---- ! // -------------------------------------------------------------- // // VACATION FILE SETTINGS *************** *** 211,215 **** // top of this file. // ! // Note that no path should be given here (just the // file name) when using database lookups (see above) // --- 293,297 ---- // top of this file. // ! // Note that no path should be given here (just the // file name) when using database lookups (see above) // Index: CHANGELOG =================================================================== RCS file: /cvsroot/serverfilters/serversidefilter/CHANGELOG,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** CHANGELOG 17 Jun 2005 07:29:46 -0000 1.3 --- CHANGELOG 21 Jul 2005 09:52:20 -0000 1.4 *************** *** 30,33 **** --- 30,35 ---- - Added vacation rctypes to filtercmd script as well as delrc command to remove files. + - Removed requirement for Compatibility plugin + - Reimplemented FTP backend functionality Version 1.41 Index: TODO =================================================================== RCS file: /cvsroot/serverfilters/serversidefilter/TODO,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** TODO 21 May 2005 19:46:19 -0000 1.2 --- TODO 21 Jul 2005 09:52:20 -0000 1.3 *************** *** 3,9 **** - bring back FTP functionality - - hook into folders options so when folder is renamed/deleted, we can update filters accordingly --- 3,6 ---- |