? includes/table.inc
Index: includes/backend.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/drush/includes/backend.inc,v
retrieving revision 1.30
diff -u -p -r1.30 backend.inc
--- includes/backend.inc	22 Apr 2010 17:05:52 -0000	1.30
+++ includes/backend.inc	24 Jun 2010 18:56:13 -0000
@@ -255,8 +255,8 @@ function drush_backend_invoke($command, 
 /*
  * A variant of drush_backend_invoke() which specifies command and arguments separately.
  */
-function drush_backend_invoke_args($command, $args, $data = array(), $method = 'GET', $integrate = TRUE, $drush_path = NULL, $hostname = NULL, $username = NULL) {
-  $cmd = _drush_backend_generate_command($command, $args, $data, $method, $drush_path, $hostname, $username);
+function drush_backend_invoke_args($command, $args, $data = array(), $method = 'GET', $integrate = TRUE, $drush_path = NULL, $hostname = NULL, $username = NULL, $ssh_options = NULL) {
+  $cmd = _drush_backend_generate_command($command, $args, $data, $method, $drush_path, $hostname, $username, $ssh_options);
   return _drush_backend_invoke($cmd, $data, $integrate);
 }
 
@@ -336,11 +336,11 @@ function _drush_backend_invoke($cmd, $da
  * @return
  *   A text string representing a fully escaped command.
  */
-function _drush_backend_generate_command($command, $args, &$data, $method = 'GET', $drush_path = null, $hostname = null, $username = null) {
+function _drush_backend_generate_command($command, $args, &$data, $method = 'GET', $drush_path = null, $hostname = null, $username = null, $ssh_options = NULL) {
   if (drush_is_local_host($hostname)) {
     $hostname = null;
   }
-
+  
   $drush_path = !is_null($drush_path) ? $drush_path : (is_null($hostname) ? DRUSH_COMMAND : 'drush'); // Call own drush.php file on local machines, or 'drush' on remote machines.
   $data['root'] = array_key_exists('root', $data) ? $data['root'] : drush_get_context('DRUSH_DRUPAL_ROOT');
   $data['uri'] = array_key_exists('uri', $data) ? $data['uri'] : drush_get_context('DRUSH_URI');
@@ -360,7 +360,7 @@ function _drush_backend_generate_command
 
   if (!is_null($hostname)) {
     $username = (!is_null($username)) ? $username : get_current_user();
-    $ssh_options = drush_get_option('ssh-options', "-o PasswordAuthentication=no");
+    $ssh_options = (!is_null($ssh_options)) ? $ssh_options : drush_get_option('ssh-options', "-o PasswordAuthentication=no");
     $cmd = "ssh " . $ssh_options . " " . escapeshellarg($username) . "@" . escapeshellarg($hostname) . " " . escapeshellarg($cmd);
   }
 
Index: includes/drush.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/drush/includes/drush.inc,v
retrieving revision 1.117
diff -u -p -r1.117 drush.inc
--- includes/drush.inc	16 Jun 2010 12:51:23 -0000	1.117
+++ includes/drush.inc	24 Jun 2010 18:56:13 -0000
@@ -1237,8 +1237,7 @@ function drush_do_site_command($site_rec
         $drush_path = $site_record['path-aliases']['%drush-script'];
       }
     }
-
-    $values = drush_backend_invoke_args($command, $args, $data, 'GET', $integrate, $drush_path, array_key_exists('remote-host', $site_record) ? $site_record['remote-host'] : NULL, array_key_exists('remote-user', $site_record) ? $site_record['remote-user'] : NULL);
+    $values = drush_backend_invoke_args($command, $args, $data, 'GET', $integrate, $drush_path, array_key_exists('remote-host', $site_record) ? $site_record['remote-host'] : NULL, array_key_exists('remote-user', $site_record) ? $site_record['remote-user'] : NULL, array_key_exists('ssh-options', $site_record) ? $site_record['ssh-options'] : NULL);
   }
   return $values;
 }
Index: includes/sitealias.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/drush/includes/sitealias.inc,v
retrieving revision 1.47
diff -u -p -r1.47 sitealias.inc
--- includes/sitealias.inc	8 Jun 2010 21:33:51 -0000	1.47
+++ includes/sitealias.inc	24 Jun 2010 18:56:13 -0000
@@ -1502,5 +1502,5 @@ function drush_sitealias_evaluate_path($
  * Option keys used for site selection.
  */
 function drush_sitealias_site_selection_keys() {
-  return array('remote-host', 'remote-user', 'name');
+  return array('remote-host', 'remote-user', 'ssh-options', 'name');
 }
