Fix Issue #3817: 225 is now considered a valid response code for ABOR
diff --git a/Lib/ftplib.py b/Lib/ftplib.py
index 7e678b4..bcfa652 100644
--- a/Lib/ftplib.py
+++ b/Lib/ftplib.py
@@ -236,7 +236,7 @@
         if self.debugging > 1: print('*put urgent*', self.sanitize(line))
         self.sock.sendall(line, MSG_OOB)
         resp = self.getmultiline()
-        if resp[:3] not in ('426', '226'):
+        if resp[:3] not in ('426', '225', '226'):
             raise error_proto(resp)
 
     def sendcmd(self, cmd):
diff --git a/Misc/NEWS b/Misc/NEWS
index 21e5e3c..a5cbc87 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -31,6 +31,9 @@
 Library
 -------
 
+- Issue #3817: ftplib.FTP.abort() method now considers 225 a valid response
+  code as stated in RFC-959 at chapter 5.4.
+
 - Issue #8394: _ctypes.dlopen() accepts bytes, bytearray and str with
   surrogates.