? content_distribution-821700.patch
Index: modules/content_retriever/content_retriever.admin.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/content_distribution/modules/content_retriever/content_retriever.admin.inc,v
retrieving revision 1.1.2.6.2.9
diff -u -p -r1.1.2.6.2.9 content_retriever.admin.inc
--- modules/content_retriever/content_retriever.admin.inc	14 Feb 2010 22:20:03 -0000	1.1.2.6.2.9
+++ modules/content_retriever/content_retriever.admin.inc	8 Jun 2010 14:41:46 -0000
@@ -35,6 +35,12 @@ function content_retriever_admin_setting
 	'#type' => 'textfield',
 	'#default_value' => variable_get('content_retriever_api_key', ''),
   );
+  $form['api_domain'] = array(
+    '#title' => t('Web service API domain'),
+    '#type' => 'textfield',
+    '#default_value' => variable_get('content_retriever_api_domain', ''),
+    '#description' => t('The API domain is the domain configured in concert with the API key on the distribution site. <strong>Leave blank to automatically determine domain name (default).</strong>'),
+  );
   $form['username'] = array(
 	'#title' => t('Web service User name'),
 	'#type' => 'textfield',
@@ -137,6 +143,7 @@ function content_retriever_admin_setting
   // save api key and endpoint variables
   variable_set('content_retriever_endpoint', $form_state['values']['endpoint']);
   variable_set('content_retriever_api_key', $form_state['values']['api_key']);
+  variable_set('content_retriever_api_domain', $form_state['values']['api_domain']);
   variable_set('content_retriever_webservice_username', $form_state['values']['username']);
   variable_set('content_retriever_webservice_pass', $form_state['values']['password']);
   variable_set('content_retriever_screen_messages', $form_state['values']['reporting']);
Index: modules/content_retriever/content_retriever.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/content_distribution/modules/content_retriever/content_retriever.module,v
retrieving revision 1.1.2.8.2.19
diff -u -p -r1.1.2.8.2.19 content_retriever.module
--- modules/content_retriever/content_retriever.module	15 Feb 2010 13:33:49 -0000	1.1.2.8.2.19
+++ modules/content_retriever/content_retriever.module	8 Jun 2010 14:41:47 -0000
@@ -586,9 +586,13 @@ function _content_retriever_xmlrpc_key_a
   if ($api_key != '') {
     //use api key to get a hash code for the service.
     $timestamp = (string) strtotime("now");
-    $domain = $_SERVER['SERVER_NAME'];
-    if ($_SERVER['SERVER_PORT'] != 80) {
-      $domain .= ':' . $_SERVER['SERVER_PORT'];        
+    // manual setting of API domain overrides auto-detection.
+    $domain = variable_get('content_retriever_api_domain', '');
+    if (!strlen($domain)) {
+      $domain = $_SERVER['SERVER_NAME'];
+      if ($_SERVER['SERVER_PORT'] != 80) {
+        $domain .= ':' . $_SERVER['SERVER_PORT'];        
+      }
     }
     $nonce = content_retriever_get_unique_code('10');
     $hash_parameters = array(
