X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=plugins%2Fmail_fetch%2Foptions.php;h=c58223f726de40da9f32cc867c0b7d018585e704;hb=6315554adc0f419fa7b2c0d93d78a7278651385b;hp=e74766f4cb119ee1d9d9f3f111e9da48d24de13e;hpb=d9c537c4671d358f8dbf31f18ce5e8f8a694de53;p=squirrelmail.git
diff --git a/plugins/mail_fetch/options.php b/plugins/mail_fetch/options.php
index e74766f4..c58223f7 100644
--- a/plugins/mail_fetch/options.php
+++ b/plugins/mail_fetch/options.php
@@ -5,7 +5,7 @@
*
* Setup of the mailfetch plugin.
*
- * @copyright © 1999-2007 The SquirrelMail Project Team
+ * @copyright 1999-2022 The SquirrelMail Project Team
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @version $Id$
* @package plugins
@@ -56,7 +56,10 @@ sqgetGlobalVar('mf_lmos', $mf_lmos, SQ_POST);
sqgetGlobalVar('mf_auth', $mf_auth, SQ_POST);
sqgetGlobalVar('mf_type', $mf_type, SQ_POST);
sqgetGlobalVar('submit_mailfetch', $submit_mailfetch, SQ_POST);
+$mf_port = trim($mf_port);
+$mf_server = trim($mf_server);
+global $imap_stream_options; // in case not defined in config
/* end globals */
@@ -64,6 +67,19 @@ displayPageHeader( $color );
switch( $mf_action ) {
case 'add':
+
+ $mf_action = 'config';
+
+ // restrict port number if necessary
+ //
+ $message = validate_mail_fetch_port_number($mf_port);
+ if (!empty($message)) break;
+
+ // restrict server address if necessary
+ //
+ $message = validate_mail_fetch_server_address($mf_server);
+ if (!empty($message)) break;
+
if ($mf_sn<1) $mf_sn=0;
if (!isset($mf_server)) return;
setPref($data_dir,$username,"mailfetch_server_$mf_sn", (isset($mf_server)?$mf_server:""));
@@ -88,10 +104,28 @@ switch( $mf_action ) {
setPref($data_dir,$username,"mailfetch_type_$mf_sn",(isset($mf_type)?$mf_type:MAIL_FETCH_USE_PLAIN));
$mf_sn++;
setPref($data_dir,$username,'mailfetch_server_number', $mf_sn);
- $mf_action = 'config';
break;
+
+ // modify a server
+ //
case 'confirm_modify':
- //modify a server
+
+ // restrict port number if necessary
+ //
+ $message = validate_mail_fetch_port_number($mf_port);
+ if (!empty($message)) {
+ $mf_action = 'Modify';
+ break;
+ }
+
+ // restrict server address if necessary
+ //
+ $message = validate_mail_fetch_server_address($mf_server);
+ if (!empty($message)) {
+ $mf_action = 'Modify';
+ break;
+ }
+
if (!isset($mf_server)) return;
setPref($data_dir,$username,"mailfetch_server_$mf_sn", (isset($mf_server)?$mf_server:""));
setPref($data_dir,$username,"mailfetch_port_$mf_sn", (isset($mf_port)?$mf_port:110));
@@ -209,6 +243,14 @@ echo '