From 2965a981b7ec22866fbdf2d567d87e2d068d3617 Mon Sep 17 00:00:00 2001
From: Thomas Bruederli <thomas@roundcube.net>
Date: Fri, 31 Jul 2015 16:04:08 -0400
Subject: [PATCH] Allow to search and import missing PGP pubkeys from keyservers using Publickey.js
---
program/lib/Roundcube/rcube_base_replacer.php | 13 +++++++------
1 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/program/lib/Roundcube/rcube_base_replacer.php b/program/lib/Roundcube/rcube_base_replacer.php
index a59bba9..a306086 100644
--- a/program/lib/Roundcube/rcube_base_replacer.php
+++ b/program/lib/Roundcube/rcube_base_replacer.php
@@ -61,9 +61,6 @@
*/
public static function absolute_url($path, $base_url)
{
- $host_url = $base_url;
- $abs_path = $path;
-
// check if path is an absolute URL
if (preg_match('/^[fhtps]+:\/\//', $path)) {
return $path;
@@ -73,6 +70,9 @@
if (strpos($path, 'cid:') === 0) {
return $path;
}
+
+ $host_url = $base_url;
+ $abs_path = $path;
// cut base_url to the last directory
if (strrpos($base_url, '/') > 7) {
@@ -89,9 +89,10 @@
$path = preg_replace('/^\.\//', '', $path);
if (preg_match_all('/\.\.\//', $path, $matches, PREG_SET_ORDER)) {
- foreach ($matches as $a_match) {
- if (strrpos($base_url, '/')) {
- $base_url = substr($base_url, 0, strrpos($base_url, '/'));
+ $cnt = count($matches);
+ while ($cnt--) {
+ if ($pos = strrpos($base_url, '/')) {
+ $base_url = substr($base_url, 0, $pos);
}
$path = substr($path, 3);
}
--
Gitblit v1.9.1