Index: wp-comments-post.php
===================================================================
--- wp-comments-post.php	(revision 19681)
+++ wp-comments-post.php	(working copy)
@@ -36,10 +36,12 @@
 	wp_die( __('Sorry, comments are closed for this item.') );
 } elseif ( 'trash' == $status ) {
 	do_action('comment_on_trash', $comment_post_ID);
-	exit;
+	/**
+	 * Allow comments on trashed posts.
+	 *
+	 * Allow comments on trashed posts, per #19739.
+	 *
+	 * @since 4.1.0
+	 *
+	 * @param int  $comment_post_ID The post_id for comments to be enabled on.
+	 */
+	if ( !apply_filters( 'allow_comment_on_trash', false, $comment_post_ID ) ){
+		exit;
+	}
 } elseif ( !$status_obj->public && !$status_obj->private ) {
 	do_action('comment_on_draft', $comment_post_ID);
-	exit;
+	/**
+	 * Allow comments on draft posts.
+	 *
+	 * Allow comments on draft posts, per #19739.
+	 *
+	 * @since 4.1.0
+	 *
+	 * @param int  $comment_post_ID The post_id for comments to be enabled on.
+	 */
+	if ( !apply_filters( 'allow_comment_on_draft', false, $comment_post_ID ) ){
+		exit;
+	}
 } elseif ( post_password_required($comment_post_ID) ) {
 	do_action('comment_on_password_protected', $comment_post_ID);
 	exit;
