From 438a3ecb04f9889f281ef1c72d6932b8c367deb5 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Tue, 16 Apr 2013 20:40:14 +0400 Subject: [PATCH] disable FOLLOWLOCATION when under open_basedir --- include/functions.php | 4 ++-- plugins/af_unburn/init.php | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/include/functions.php b/include/functions.php index 621357ea6..0148d069d 100644 --- a/include/functions.php +++ b/include/functions.php @@ -324,7 +324,7 @@ if (!defined('NO_CURL') && function_exists('curl_init') && !ini_get("open_basedir")) { - if (ini_get("safe_mode")) { + if (ini_get("safe_mode") || ini_get("open_basedir")) { $ch = curl_init(geturl($url)); } else { $ch = curl_init($url); @@ -337,7 +337,7 @@ curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout ? $timeout : FILE_FETCH_CONNECT_TIMEOUT); curl_setopt($ch, CURLOPT_TIMEOUT, $timeout ? $timeout : FILE_FETCH_TIMEOUT); - curl_setopt($ch, CURLOPT_FOLLOWLOCATION, !ini_get("safe_mode")); + curl_setopt($ch, CURLOPT_FOLLOWLOCATION, !ini_get("safe_mode") && !ini_get("open_basedir")); curl_setopt($ch, CURLOPT_MAXREDIRS, 20); curl_setopt($ch, CURLOPT_BINARYTRANSFER, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); diff --git a/plugins/af_unburn/init.php b/plugins/af_unburn/init.php index 9f0b6cb0d..f3cc1eefa 100644 --- a/plugins/af_unburn/init.php +++ b/plugins/af_unburn/init.php @@ -29,7 +29,7 @@ class Af_Unburn extends Plugin { if (strpos($article["plugin_data"], "unburn,$owner_uid:") === FALSE) { - if (ini_get("safe_mode")) { + if (ini_get("safe_mode") || ini_get("open_basedir")) { $ch = curl_init(geturl($article["link"])); } else { $ch = curl_init($article["link"]); @@ -38,7 +38,7 @@ class Af_Unburn extends Plugin { curl_setopt($ch, CURLOPT_TIMEOUT, 5); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, true); - curl_setopt($ch, CURLOPT_FOLLOWLOCATION, !ini_get("safe_mode")); + curl_setopt($ch, CURLOPT_FOLLOWLOCATION, !ini_get("safe_mode") && !ini_get("open_basedir")); curl_setopt($ch, CURLOPT_USERAGENT, SELF_USER_AGENT); $contents = @curl_exec($ch);