From 9d846ff4e2a1d18faa3ce6df15f89425d194dd06 Mon Sep 17 00:00:00 2001 From: Christopher Smith <chris@jalakai.co.uk> Date: Sat, 4 Oct 2014 11:59:42 +0100 Subject: [PATCH] escaping backslash should be included in split items --- lib/plugins/authplain/_test/escaping.test.php | 2 +- lib/plugins/authplain/auth.php | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/plugins/authplain/_test/escaping.test.php b/lib/plugins/authplain/_test/escaping.test.php index 5a5f67c82..cbfbbc587 100644 --- a/lib/plugins/authplain/_test/escaping.test.php +++ b/lib/plugins/authplain/_test/escaping.test.php @@ -97,7 +97,7 @@ class helper_plugin_authplain_escaping_test extends DokuWikiTest { $test_line = $userpass.$escaped.$other_user_data; $result = $this->auth->splitUserData($test_line); - $this->assertEquals($testname, $result[2]); + $this->assertEquals($escaped, $result[2]); } } diff --git a/lib/plugins/authplain/auth.php b/lib/plugins/authplain/auth.php index ec5d16e9d..3d303597c 100644 --- a/lib/plugins/authplain/auth.php +++ b/lib/plugins/authplain/auth.php @@ -356,9 +356,12 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin { $row = array(); $piece = ''; - for($i=0; $i<strlen($line); $i++){ + $len = strlen($line); + for($i=0; $i<$len; $i++){ if ($line[$i]=='\\'){ + $piece .= $line[$i]; $i++; + if ($i>=$len) break; } else if ($line[$i]==':'){ $row[] = $piece; $piece = ''; -- GitLab