summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG1
-rw-r--r--program/lib/Auth/SASL.php7
-rw-r--r--program/lib/Auth/SASL/DigestMD5.php1
-rw-r--r--program/lib/Auth/SASL/External.php63
4 files changed, 70 insertions, 2 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 89af28c38..f96f0aa7b 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG RoundCube Webmail
===========================
+- Updated PEAR::Auth_SASL to 1.0.3 version
- Use sequence names only with PostgreSQL (#1486018)
- Re-designed User Preferences interface
- Fix MS SQL DDL (#1486020)
diff --git a/program/lib/Auth/SASL.php b/program/lib/Auth/SASL.php
index 9b7090c0f..b2be93cc8 100644
--- a/program/lib/Auth/SASL.php
+++ b/program/lib/Auth/SASL.php
@@ -75,6 +75,11 @@ class Auth_SASL
$classname = 'Auth_SASL_Plain';
break;
+ case 'external':
+ $filename = 'Auth/SASL/External.php';
+ $classname = 'Auth_SASL_External';
+ break;
+
case 'crammd5':
$filename = 'Auth/SASL/CramMD5.php';
$classname = 'Auth_SASL_CramMD5';
@@ -96,4 +101,4 @@ class Auth_SASL
}
}
-?> \ No newline at end of file
+?>
diff --git a/program/lib/Auth/SASL/DigestMD5.php b/program/lib/Auth/SASL/DigestMD5.php
index a465b98bf..f201622a2 100644
--- a/program/lib/Auth/SASL/DigestMD5.php
+++ b/program/lib/Auth/SASL/DigestMD5.php
@@ -186,7 +186,6 @@ class Auth_SASL_DigestMD5 extends Auth_SASL_Common
} else {
$str = '';
- mt_srand((double)microtime()*10000000);
for ($i=0; $i<32; $i++) {
$str .= chr(mt_rand(0, 255));
}
diff --git a/program/lib/Auth/SASL/External.php b/program/lib/Auth/SASL/External.php
new file mode 100644
index 000000000..86a17cb7a
--- /dev/null
+++ b/program/lib/Auth/SASL/External.php
@@ -0,0 +1,63 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | Copyright (c) 2008 Christoph Schulz |
+// | All rights reserved. |
+// | |
+// | Redistribution and use in source and binary forms, with or without |
+// | modification, are permitted provided that the following conditions |
+// | are met: |
+// | |
+// | o Redistributions of source code must retain the above copyright |
+// | notice, this list of conditions and the following disclaimer. |
+// | o Redistributions in binary form must reproduce the above copyright |
+// | notice, this list of conditions and the following disclaimer in the |
+// | documentation and/or other materials provided with the distribution.|
+// | o The names of the authors may not be used to endorse or promote |
+// | products derived from this software without specific prior written |
+// | permission. |
+// | |
+// | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
+// | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
+// | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
+// | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
+// | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
+// | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
+// | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
+// | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
+// | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
+// | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
+// | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
+// | |
+// +-----------------------------------------------------------------------+
+// | Author: Christoph Schulz <develop@kristov.de> |
+// +-----------------------------------------------------------------------+
+//
+// $Id: External.php 286825 2009-08-05 06:23:42Z cweiske $
+
+/**
+* Implmentation of EXTERNAL SASL mechanism
+*
+* @author Christoph Schulz <develop@kristov.de>
+* @access public
+* @version 1.0.3
+* @package Auth_SASL
+*/
+
+require_once('Auth/SASL/Common.php');
+
+class Auth_SASL_External extends Auth_SASL_Common
+{
+ /**
+ * Returns EXTERNAL response
+ *
+ * @param string $authcid Authentication id (username)
+ * @param string $pass Password
+ * @param string $authzid Autorization id
+ * @return string EXTERNAL Response
+ */
+ function getResponse($authcid, $pass, $authzid = '')
+ {
+ return $authzid;
+ }
+}
+?>