aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfriendica <info@friendica.com>2012-05-26 23:46:42 -0700
committerfriendica <info@friendica.com>2012-05-26 23:46:42 -0700
commit08941d42856984a3076e972804ac016400341f91 (patch)
tree16d410c7c39d3ea2e7716b25bcf7e1cda944c79d
parent5a7363b248e51b93c401a84d1b99f33632c44711 (diff)
downloadvolse-hubzilla-08941d42856984a3076e972804ac016400341f91.tar.gz
volse-hubzilla-08941d42856984a3076e972804ac016400341f91.tar.bz2
volse-hubzilla-08941d42856984a3076e972804ac016400341f91.zip
handle multiple underscores in D* links
-rw-r--r--include/auth.php2
-rw-r--r--include/bb2diaspora.php7
2 files changed, 8 insertions, 1 deletions
diff --git a/include/auth.php b/include/auth.php
index b87662fea..cba6a67a7 100644
--- a/include/auth.php
+++ b/include/auth.php
@@ -53,6 +53,8 @@ if((isset($_SESSION)) && (x($_SESSION,'authenticated')) && ((! (x($_POST,'auth-p
$check = get_config('system','paranoia');
// extra paranoia - if the IP changed, log them out
if($check && ($_SESSION['addr'] != $_SERVER['REMOTE_ADDR'])) {
+ logger('Session address changed. Paranoid setting in effect, blocking session. '
+ . $_SESSION['addr'] . ' != ' . $_SERVER['REMOTE_ADDR']);
nuke_session();
goaway(z_root());
}
diff --git a/include/bb2diaspora.php b/include/bb2diaspora.php
index 8487f845a..d86ba4543 100644
--- a/include/bb2diaspora.php
+++ b/include/bb2diaspora.php
@@ -221,13 +221,18 @@ function bb2diaspora($Text,$preserve_nl = false) {
$Text = preg_replace("/\<(.*?)(src|href)=(.*?)\&amp\;(.*?)\>/ism",'<$1$2=$3&$4>',$Text);
- $Text = preg_replace('/\[(.*?)\]\((.*?)\\\\_(.*?)\)/ism','[$1]($2_$3)',$Text);
+ $Text = preg_replace_callback('/\[(.*?)\]\((.*?)\)/ism','unescape_underscores_in_links',$Text);
call_hooks('bb2diaspora',$Text);
return $Text;
}
+function unescape_underscores_in_links($m) {
+ $y = str_replace('\\_','_', $m[2]);
+ return('[' . $m[1] . '](' . $y . ')');
+}
+
function format_event_diaspora($ev) {
$a = get_app();