From: Brion Vibber Date: Fri, 27 Mar 2009 17:42:05 +0000 (+0000) Subject: Make upload-by-URL fetch timeout configurable as $wgCopyUploadTimeout, default to... X-Git-Tag: 1.31.0-rc.0~42324 X-Git-Url: http://git.cyclocoop.org//%22javascript:ModifierStyle%28%27%22.%24id.%22%27%29/%22?a=commitdiff_plain;h=6a3b6538d959fe1051a99b571d3cbf6249e17e8b;p=lhc%2Fweb%2Fwiklou.git Make upload-by-URL fetch timeout configurable as $wgCopyUploadTimeout, default to 30s instead of 10s --- diff --git a/includes/DefaultSettings.php b/includes/DefaultSettings.php index 94a0dee784..28cbfc83f8 100644 --- a/includes/DefaultSettings.php +++ b/includes/DefaultSettings.php @@ -428,6 +428,8 @@ $wgSharedUploadDBprefix = ''; $wgCacheSharedUploads = true; /** Allow for upload to be copied from an URL. Requires Special:Upload?source=web */ $wgAllowCopyUploads = false; +$wgCopyUploadTimeout = 30; // 30 seconds default timeout for upload-by-URL + /** * Max size for uploads, in bytes. Currently only works for uploads from URL * via CURL (see $wgAllowCopyUploads). The only way to impose limits on diff --git a/includes/specials/SpecialUpload.php b/includes/specials/SpecialUpload.php index ab81e4fd2e..4473027a5d 100644 --- a/includes/specials/SpecialUpload.php +++ b/includes/specials/SpecialUpload.php @@ -155,7 +155,7 @@ class UploadForm { * Returns true if there was an error, false otherwise */ private function curlCopy( $url, $dest ) { - global $wgUser, $wgOut, $wgHTTPProxy; + global $wgUser, $wgOut, $wgHTTPProxy, $wgCopyUploadTimeout; if( !$wgUser->isAllowed( 'upload_by_url' ) ) { $wgOut->permissionRequired( 'upload_by_url' ); @@ -180,7 +180,7 @@ class UploadForm { $ch = curl_init(); curl_setopt( $ch, CURLOPT_HTTP_VERSION, 1.0); # Probably not needed, but apparently can work around some bug - curl_setopt( $ch, CURLOPT_TIMEOUT, 10); # 10 seconds timeout + curl_setopt( $ch, CURLOPT_TIMEOUT, $wgCopyUploadTimeout); # Default 30 seconds timeout curl_setopt( $ch, CURLOPT_LOW_SPEED_LIMIT, 512); # 0.5KB per second minimum transfer speed curl_setopt( $ch, CURLOPT_URL, $url); if( $wgHTTPProxy ) {