Index: t3lib/config_default.php
===================================================================
--- .	(revision 3347)
+++ .	(working copy)
@@ -219,7 +219,7 @@
 		'pageNotFoundOnCHashError' => 0,		// Boolean. If true, a page not found call is made when cHash evaluation error occurs. By default they will just disable caching but still display page output.
 		'pageUnavailable_handling' => '',		// How TYPO3 should handle requests when pages are unavailable due to system problems. false (default): A static error message is displayed. Strings: page to show (reads content and outputs with correct headers), eg. 'unavailable.html' or 'http://www.domain.org/errors/unavailable.html'. If prefixed "REDIRECT:" it will redirect to the URL/script after the prefix (original behaviour). If prefixed with "READFILE:" then it will expect the remaining string to be a HTML file which will be read and outputted directly after having the marker "###CURRENT_URL###" substituted with REQUEST_URI and ###REASON### with reason text, for example: "READFILE:fileadmin/unavailable.html". Another option is the prefix "USER_FUNCTION:" which will call a user function, eg. "USER_FUNCTION:typo3conf/pageUnavailableHandling.php:user_pageUnavailable->pageUnavailable" where the file must contain a class "user_pageUnavailable" with a method "pageUnavailable" inside with two parameters, $param and $ref. If the client matches TYPO3_CONF_VARS[SYS][devIPmask], this setting is ignored and the page is shown as normal.
 		'pageUnavailable_handling_statheader' => 'HTTP/1.0 503 Service Temporarily Unavailable',		// If 'pageUnavailable_handling' is enabled, this string will always be sent as header before the actual handling.
-		'pageUnavailable_force' => 0,			// Boolean. If true, pageUnavailable_handling is used for every frontend page. If the client matches TYPO3_CONF_VARS[SYS][devIPmask], the page is shown as normal. This is useful during temporary site maintenance. 
+		'pageUnavailable_force' => 0,			// Boolean. If true, pageUnavailable_handling is used for every frontend page. If the client matches TYPO3_CONF_VARS[SYS][devIPmask], the page is shown as normal. This is useful during temporary site maintenance.
 		'userFuncClassPrefix' => 'user_',		// This prefix must be the first part of any function or class name called from TypoScript, for instance in the stdWrap function.
 		'addRootLineFields' => '',				// Comma-list of fields from the 'pages'-table. These fields are added to the select query for fields in the rootline.
 		'checkFeUserPid' => 1,					// Boolean. If set, the pid of fe_user logins must be sent in the form as the field 'pid' and then the user must be located in the pid. If you unset this, you should change the fe_users.username eval-flag 'uniqueInPid' to 'unique' in $TCA. This will do: $TCA['fe_users']['columns']['username']['config']['eval']= 'nospace,lower,required,unique';
@@ -290,6 +290,7 @@
 define('TYPO3_version', $TYPO_VERSION);
 define('TYPO3_branch', '4.2');
 define('TYPO3_copyright_year', '1998-2008');
+define('TYPO3_user_agent', 'User-Agent: TYPO3/'.TYPO3_version);
 
 // Database-variables are cleared!
 $typo_db = '';					// The database name
Index: typo3/mod/tools/em/class.em_index.php
===================================================================
--- .	(revision 3347)
+++ .	(working copy)
@@ -404,7 +404,7 @@
 			// Initialize Document Template object:
 		$this->doc = t3lib_div::makeInstance('template');
 		$this->doc->backPath = $BACK_PATH;
-		$this->doc->setModuleTemplate('templates/em_index.html');			
+		$this->doc->setModuleTemplate('templates/em_index.html');
 		$this->doc->docType='xhtml_trans';
 
 			// JavaScript
@@ -428,7 +428,7 @@
 
 		$this->doc->form = '<form action="index.php" method="post" name="pageform">';
 
-		// Descriptions:
+			// Descriptions:
 		$this->descrTable = '_MOD_'.$this->MCONF['name'];
 		if ($BE_USER->uc['edit_showFieldHelp'])	{
 			$LANG->loadSingleTableDescription($this->descrTable);
@@ -434,7 +434,7 @@
 			$LANG->loadSingleTableDescription($this->descrTable);
 		}
 
-		// Setting username/password etc. for upload-user:
+			// Setting username/password etc. for upload-user:
 		$this->fe_user['username'] = $this->MOD_SETTINGS['fe_u'];
 		$this->fe_user['password'] = $this->MOD_SETTINGS['fe_p'];
 		parent::init();
@@ -622,7 +622,7 @@
 					break;
 			}
 		}
-		
+
 			// Setting up the buttons and markers for docheader
 		$docHeaderButtons = $this->getButtons();
 		$markers = array(
@@ -629,7 +629,7 @@
 			'CSH' => $docHeaderButtons['csh'],
 			'FUNC_MENU' => $this->getFuncMenu(),
 			'CONTENT' => $this->content
-		);	
+		);
 
 			// Build the <body> for the module
 		$this->content = $this->doc->startPage('Extension Manager');
@@ -648,7 +648,7 @@
 			echo $this->content;
 		}
 	}
-	
+
 	/**
 	 * Create the function menu
 	 *
@@ -661,7 +661,7 @@
 		} elseif($this->CMD['showExt'] && (!$this->CMD['standAlone'] && !t3lib_div::_GP('standAlone'))) {
 			$funcMenu = t3lib_BEfunc::getFuncMenu(0, 'SET[singleDetails]', $this->MOD_SETTINGS['singleDetails'], $this->MOD_MENU['singleDetails'], '', '&CMD[showExt]=' . $this->CMD['showExt']);
 		}
-		return $funcMenu;	
+		return $funcMenu;
 	}
 
 	/**
@@ -670,7 +670,7 @@
 	 * @return	array	all available buttons as an assoc. array
 	 */
 	private function getButtons()	{
-		
+
 		$buttons = array(
 			'csh' => '',
 			'back' => '',
@@ -678,7 +678,7 @@
 		);
 			// CSH
 		//$buttons['csh'] = t3lib_BEfunc::cshItem('_MOD_web_func', '', $GLOBALS['BACK_PATH']);
-		
+
 			// Shortcut
 		if ($GLOBALS['BE_USER']->mayMakeShortcut())	{
 			$buttons['shortcut'] = $this->doc->makeShortcutIcon('CMD','function',$this->MCONF['name']);
@@ -687,7 +687,7 @@
 		if(($this->CMD['showExt'] && (!$this->CMD['standAlone'] && !t3lib_div::_GP('standAlone'))) || ($this->CMD['importExt'] || $this->CMD['uploadExt'] && (!$this->CMD['standAlone'])) || $this->CMD['importExtInfo']) {
 			$buttons['back'] = '<a href="index.php" class="typo3-goBack"><img' . t3lib_iconWorks::skinImg($this->doc->backPath, 'gfx/goback.gif') . ' title="Go back" class="absmiddle" alt="" /></a>';
 		}
-	
+
 		return $buttons;
 	}
 
@@ -1509,7 +1509,7 @@
 		switch($metaType) {
 			case 'mirrors':
 				$mfile = t3lib_div::tempnam('mirrors');
-				$mirrorsFile = t3lib_div::getURL($this->MOD_SETTINGS['mirrorListURL']);
+				$mirrorsFile = t3lib_div::getURL($this->MOD_SETTINGS['mirrorListURL'], 0, array(TYPO3_user_agent));
 				if($mirrorsFile===false) {
 					t3lib_div::unlink_tempfile($mfile);
 					$content = '<p>The mirror list was not updated, it could not be fetched from '.$this->MOD_SETTINGS['mirrorListURL'].'. Possible reasons: network problems, allow_url_fopen is off, curl is not enabled in Install tool.</p>';
@@ -1534,7 +1534,7 @@
 
 				$mirror = $this->getMirrorURL();
 				$extfile = $mirror.'extensions.xml.gz';
-				$extmd5 = t3lib_div::getURL($mirror.'extensions.md5');
+				$extmd5 = t3lib_div::getURL($mirror.'extensions.md5', 0, array(TYPO3_user_agent));
 				if (is_file(PATH_site.'typo3temp/extensions.xml.gz')) {
 					$localmd5 = md5_file(PATH_site.'typo3temp/extensions.xml.gz');
 				}
@@ -1544,7 +1544,7 @@
 				} elseif($extmd5 == $localmd5) {
 					$content .= '<p>The extension list has not changed remotely, it has thus not been fetched.</p>';
 				} else {
-					$extXML = t3lib_div::getURL($extfile);
+					$extXML = t3lib_div::getURL($extfile, 0, array(TYPO3_user_agent));
 					if($extXML === false) {
 						$content .= '<p>Error: The extension list could not be fetched from '.$extfile.'. Possible reasons: network problems, allow_url_fopen is off, curl is not enabled in Install tool.</p>';
 					} else {
Index: typo3/mod/tools/em/class.em_terconnection.php
===================================================================
--- .	(revision 3347)
+++ .	(working copy)
@@ -64,7 +64,7 @@
 	 */
 	function fetchExtension($extKey, $version, $expectedMD5, $mirrorURL) {
 		$mirrorURL .= $extKey{0}.'/'.$extKey{1}.'/'.$extKey.'_'.$version.'.t3x';
-		$t3x = t3lib_div::getURL($mirrorURL);
+		$t3x = t3lib_div::getURL($mirrorURL, 0, array(TYPO3_user_agent));
 		$MD5 = md5($t3x);
 
 		if($t3x===false) return 'The T3X file could not be fetched. Possible reasons: network problems, allow_url_fopen is off, curl is not enabled in Install tool.';
@@ -87,7 +87,7 @@
 	 */
 	function fetchTranslation($extKey, $lang, $mirrorURL) {
 		$mirrorURL .= $extKey{0}.'/'.$extKey{1}.'/'.$extKey.'-l10n/'.$extKey.'-l10n-'.$lang.'.zip';
-		$l10n = t3lib_div::getURL($mirrorURL);
+		$l10n = t3lib_div::getURL($mirrorURL, 0, array(TYPO3_user_agent));
 
 		if($l10n !== false) {
 			return array($l10n);
@@ -106,7 +106,7 @@
 	function fetchTranslationStatus($extKey, $mirrorURL) {
 
 		$url = $mirrorURL . $extKey{0}.'/'.$extKey{1}.'/'.$extKey.'-l10n/'.$extKey.'-l10n.xml';
-		$remote = t3lib_div::getURL($url);
+		$remote = t3lib_div::getURL($url, 0, array(TYPO3_user_agent));
 
 		if($remote !== false) {
 			$parsed = $this->emObj->xmlhandler->parseL10nXML($remote);
@@ -254,7 +254,7 @@
 			);
 		}
 		// END for Bug #5919
-		
+
 			// Compile data for SOAP call:
 		$accountData = array(
 			'username' => $em['user']['fe_u'],
