Index: wp-includes/class-wp-xmlrpc-server.php
===================================================================
--- wp-includes/class-wp-xmlrpc-server.php	(revision 19862)
+++ wp-includes/class-wp-xmlrpc-server.php	(working copy)
@@ -1633,7 +1633,7 @@
 		if ( !$user = $this->login($username, $password) )
 			return $this->error;
 
-		if ( !current_user_can( 'moderate_comments' ) )
+		if ( !current_user_can( 'edit_posts' ) && !current_user_can( 'moderate_comments' ) )
 			return new IXR_Error( 403, __( 'You are not allowed to moderate comments on this site.' ) );
 
 		do_action('xmlrpc_call', 'wp.getComment');
@@ -1671,6 +1671,7 @@
 			'author_email'			=> $comment->comment_author_email,
 			'author_ip'				=> $comment->comment_author_IP,
 			'type'					=> $comment->comment_type,
+      'can_edit'      => current_user_can( 'edit_comment', $comment_id ),
 		);
 
 		return $comment_struct;
@@ -1707,7 +1708,7 @@
 		if ( !$user = $this->login($username, $password) )
 			return $this->error;
 
-		if ( !current_user_can( 'moderate_comments' ) )
+		if ( !current_user_can( 'edit_posts' ) && !current_user_can( 'moderate_comments' ) )
 			return new IXR_Error( 401, __( 'Sorry, you cannot edit comments.' ) );
 
 		do_action('xmlrpc_call', 'wp.getComments');
@@ -1775,14 +1776,14 @@
 		if ( !$user = $this->login($username, $password) )
 			return $this->error;
 
-		if ( !current_user_can( 'moderate_comments' ) )
+		if ( !current_user_can( 'edit_posts' ) && !current_user_can( 'moderate_comments' ) )
 			return new IXR_Error( 403, __( 'You are not allowed to moderate comments on this site.' ) );
 
 		if ( ! get_comment($comment_ID) )
 			return new IXR_Error( 404, __( 'Invalid comment ID.' ) );
 
 		if ( !current_user_can( 'edit_comment', $comment_ID ) )
-			return new IXR_Error( 403, __( 'You are not allowed to moderate comments on this site.' ) );
+			return new IXR_Error( 403, __( 'You are not allowed to moderate this comment.' ) );
 
 		do_action('xmlrpc_call', 'wp.deleteComment');
 
@@ -1825,14 +1826,14 @@
 		if ( !$user = $this->login($username, $password) )
 			return $this->error;
 
-		if ( !current_user_can( 'moderate_comments' ) )
+		if ( !current_user_can( 'edit_posts' ) && !current_user_can( 'moderate_comments' ) )
 			return new IXR_Error( 403, __( 'You are not allowed to moderate comments on this site.' ) );
 
 		if ( ! get_comment($comment_ID) )
 			return new IXR_Error( 404, __( 'Invalid comment ID.' ) );
 
 		if ( !current_user_can( 'edit_comment', $comment_ID ) )
-			return new IXR_Error( 403, __( 'You are not allowed to moderate comments on this site.' ) );
+			return new IXR_Error( 403, __( 'You are not allowed to moderate this comment.' ) );
 
 		do_action('xmlrpc_call', 'wp.editComment');
 
@@ -1978,7 +1979,7 @@
 		if ( !$user = $this->login($username, $password) )
 			return $this->error;
 
-		if ( !current_user_can( 'moderate_comments' ) )
+		if ( !current_user_can( 'edit_posts' ) && !current_user_can( 'moderate_comments' ) )
 			return new IXR_Error( 403, __( 'You are not allowed access to details about this site.' ) );
 
 		do_action('xmlrpc_call', 'wp.getCommentStatusList');

