[RCD] Patch for login on MX domain

Vitex vitex at hippy.cz
Thu Dec 20 20:05:04 CET 2012


Hallo Roundcube developers.

We are runnig ISPConfig hosting with dedicated mailserver.
Here is small patch to login if web's A and MX is different.
Please include it in new release.

Thanks Vitex


diff -Naur /roundcubemail-0.8.4/config/main.inc.php.dist
./config/main.inc.php.dist
--- /roundcubemail-0.8.4/config/main.inc.php.dist    2012-11-14
21:30:27.000000000 +0100
+++ ./config/main.inc.php.dist  2012-12-20 19:35:21.000000000 +0100
@@ -71,6 +71,7 @@
 // %n - http hostname ($_SERVER['SERVER_NAME'])
 // %d - domain (http hostname without the first part)
 // %s - domain name after the '@' from e-mail address provided at
login screen
+// %x - MX for domain name after the '@' from e-mail address provided
at login screen
 // For example %n = mail.domain.tld, %d = domain.tld
 $rcmail_config['default_host'] = '';

diff -Naur /roundcubemail-0.8.4/program/include/main.inc
./program/include/main.inc
--- /roundcubemail-0.8.4/program/include/main.inc    2012-11-14
21:30:28.000000000 +0100
+++ ./program/include/main.inc  2012-12-20 19:27:50.000000000 +0100
@@ -1684,7 +1684,14 @@
       return false;
   }

-  $name = str_replace(array('%n', '%d', '%h', '%z', '%s'), array($n,
$d, $h, $z, $s[2]), $name);
+  if ( strpos($name, '%x') !== false ){
+    $user_email = rcube_idn_convert(get_input_value('_user',
RCUBE_INPUT_POST), true);
+    if ( preg_match('/(.*)@([a-z0-9\.\-\[\]\:]+)/i', $user_email, $s)
< 1 || filter_var($s[1]."@".$s[2], FILTER_VALIDATE_EMAIL) === false )
+      return false;
+     getmxrr ( $s[2] , $mx  );
+  }
+
+  $name = str_replace(array('%n', '%d', '%h', '%z', '%s','%x'),
array($n, $d, $h, $z, $s[2],$mx), $name);
   return $name;
 }
-------------- next part --------------
A non-text attachment was scrubbed...
Name: roundcubeMXlogin.patch
Type: text/x-patch
Size: 1551 bytes
Desc: not available
URL: <http://lists.roundcube.net/pipermail/dev/attachments/20121220/d941467d/attachment.bin>


More information about the dev mailing list