Bug 1263734 - Net::FTP incorrectly translates text files to NVT when using ASCII transfer mode
Net::FTP incorrectly translates text files to NVT when using ASCII transfer mode
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: perl (Show other bugs)
All All
high Severity high
: rc
: ---
Assigned To: Jitka Plesnikova
Martin Kyral
Lenka Špačková
: Patch, Triaged
Depends On:
Blocks: 1203710 1313485 1289025 1295829
  Show dependency treegraph
Reported: 2015-09-16 10:42 EDT by Petr Pisar
Modified: 2016-11-03 20:16 EDT (History)
9 users (show)

See Also:
Fixed In Version: perl-5.16.3-288.el7
Doc Type: Release Note
Doc Text:
Line endings are now preserved in files uploaded with the Net::FTP Perl module in text mode Previously, when uploading a file with the Net::FTP Perl module in text mode, ends of lines in the uploaded file were incorrectly transformed. This update corrects end-of-line normalization from local to Network Virtual Terminal (NVT) encoding when uploading data to an FTP server, and the described problem no longer occurs.
Story Points: ---
Clone Of: 1263378
Last Closed: 2016-11-03 20:16:04 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
Upstream fix ported to perl-5.16.3 (1.35 KB, patch)
2015-10-27 11:39 EDT, Petr Pisar
no flags Details | Diff

External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Knowledge Base (Solution) 1615333 None None None Never
CPAN 41642 None None None Never

  None (edit)
Description Petr Pisar 2015-09-16 10:42:12 EDT
+++ This bug was initially created as a clone of Bug #1263378 +++

Transferring a unix text file via ftp with the perl Net:FTP module in ASCII mode leads to incorrect data in the transferred file when the source file contains 2 or more consecutive blank lines due to an incorrect transformation of source data from unix text format to the Network Virtual Terminal (NVT) data format.

--- Additional comment from Petr Pisar on 2015-09-16 13:20:04 GMT ---

Upstream fixed this issue with libnet's commit:

From 24eb8619451c3d8529d903d9133d03a7f447488f Mon Sep 17 00:00:00 2001
From: Steve Hay <steve.m.hay@googlemail.com>
Date: Fri, 3 Jan 2014 17:41:55 +0000
Subject: [PATCH] Fix incorrect handling of CRLF in Net::FTP


perl-5.16.3-286.el7.x86_64 is affected.
Comment 2 Petr Pisar 2015-10-27 11:39 EDT
Created attachment 1086908 [details]
Upstream fix ported to perl-5.16.3
Comment 4 Jitka Plesnikova 2016-03-03 07:51:38 EST
How to test:

(1) Install vsftpd server, configure it to enable anonymous upload into /var/ftp/upload directory from localhost, keep ascii_upload_enable=NO.
(2) Install perl, and strict, warnings, Net::FTP, Data::Dumper, Test::More Perl modules.
(3) Store testdata file from https://bugzilla.redhat.com/attachment.cgi?id=1073993 into /tmp/testdata.
(4) Execute reproducer from https://bugzilla.redhat.com/attachment.cgi?id=1073992.
  The reproducer fails on `remote file matches expected content' test.
  The file stored on the server will have some CR bytes missing.
  The reproducer returns 0 exit code as all tests pass.
  The file stored on the serer will have all CR's converted onto CR-LF pairs.
Comment 8 Jitka Plesnikova 2016-09-27 09:47:28 EDT
It looks good.
Comment 10 errata-xmlrpc 2016-11-03 20:16:04 EDT
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.


Note You need to log in before you can comment on or make changes to this bug.