From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Rasmus Newsgroups: gmane.emacs.bugs Subject: bug#19192: 25.0.50; TRAMP uses `dired-listing-switches' for ftp-connection Date: Sun, 30 Nov 2014 13:43:44 +0100 Message-ID: <874mtgamf3.fsf@gmx.us> References: <87tx1mrwwq.fsf@gmx.us> <87zjbe9j9c.fsf@gmx.de> <87h9xlil0f.fsf@gmx.us> <877fye2spw.fsf@gmx.de> <87mw7afe90.fsf@gmx.us> <87a9393pw2.fsf@gmx.de> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: ger.gmane.org 1417351463 12927 80.91.229.3 (30 Nov 2014 12:44:23 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 30 Nov 2014 12:44:23 +0000 (UTC) Cc: 19192@debbugs.gnu.org To: michael.albinus@gmx.de Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Nov 30 13:44:17 2014 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Xv3rM-0004sW-5F for geb-bug-gnu-emacs@m.gmane.org; Sun, 30 Nov 2014 13:44:16 +0100 Original-Received: from localhost ([::1]:50272 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xv3rL-0001pQ-No for geb-bug-gnu-emacs@m.gmane.org; Sun, 30 Nov 2014 07:44:15 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:53555) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xv3rD-0001pH-S7 for bug-gnu-emacs@gnu.org; Sun, 30 Nov 2014 07:44:12 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xv3r9-0006oT-B5 for bug-gnu-emacs@gnu.org; Sun, 30 Nov 2014 07:44:07 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:52385) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xv3r9-0006o8-76 for bug-gnu-emacs@gnu.org; Sun, 30 Nov 2014 07:44:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1Xv3r8-0000md-Bf for bug-gnu-emacs@gnu.org; Sun, 30 Nov 2014 07:44:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Rasmus Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 30 Nov 2014 12:44:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 19192 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 19192-submit@debbugs.gnu.org id=B19192.14173514322984 (code B ref 19192); Sun, 30 Nov 2014 12:44:02 +0000 Original-Received: (at 19192) by debbugs.gnu.org; 30 Nov 2014 12:43:52 +0000 Original-Received: from localhost ([127.0.0.1]:49598 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Xv3qx-0000m3-A6 for submit@debbugs.gnu.org; Sun, 30 Nov 2014 07:43:51 -0500 Original-Received: from mout.gmx.net ([212.227.15.15]:54681) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Xv3qt-0000lq-Mt for 19192@debbugs.gnu.org; Sun, 30 Nov 2014 07:43:49 -0500 Original-Received: from W530 ([109.201.154.153]) by mail.gmx.com (mrgmx003) with ESMTPSA (Nemesis) id 0Lymoh-1Xzxvp0K2h-0169Vg; Sun, 30 Nov 2014 13:43:46 +0100 Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAAAAAByaaZbAAAAAmJLR0QA/4ePzL8AAAAJcEhZ cwAAAEgAAABIAEbJaz4AAAJLSURBVEjHzZa7geQwDEMdoxm0wlJYCVtBMWgHwQXyT7O7txceI9vj J1EkCM8xSbWdJN2yx7mi0RJRCXU/PCqpWddecf3okm2hMpUHYMx7UTsDwPcCsTGC895BLz4uiXw/ QL3fz9Hh+162vVKWlCQF5Q2o+31v2+lJ0gDoJOUdqM/3LSoZjAUk0WzAzifxEIoxdgbKfsYcdz1e laJDJlGjvgXknaAaTAZF+BvAqh0ogJVURVD2qhxwbOohbKs1XBWAU3tZq2Oz7a2wnkpiT8XMnhL8 yO8WVLoS2+VUfwB0wtl3sEexMpXBfAKKkXkUfO4hygWOduII1v6NLSl12XEpEdld15wcQpb8+OTq ZmtXjPrU6EFlOkmE/BS27ebZB51Xu8wTTc+SOWXbZq15uMtWStJXmwo9U0vfkB276Et8N9A8eUGO LTgxa4otD3sDlpwvB1nFHSZpcJromPMClgFwqWqlLTWcsypmefgGmvKA8VmaIUAoa2STlPQATXSS DC7hDlpr9b57rT5eg7YCOi+XJHqSRwSt40uXKF91SmImfY6cSfhnYMmUswp19SZfgNs4jUqMs3kf rvFWxD3yZGJgn5+vwCNTYSx92tYn4JenNAHszvoJeOhE5y62pvhlRDdrh+Ii4MTL3qwPm9nyhzPl 1a1BjdSyN/t9A0K51hnGyYAAUN6c6dhagGuwVVkNs9mb930c+tns/laanvlLH1YMnxmv+Qeg+ml5 d/0GyI5vKxS2z+6366Nf1qlNTt8Cnn79g/Akv57h5/gPgT/tvnoH3s4GngAAAABJRU5ErkJggg== In-Reply-To: <87a9393pw2.fsf@gmx.de> (Michael Albinus's message of "Sun, 30 Nov 2014 12:10:37 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) X-Provags-ID: V03:K0:PoB/1EEM3j4/a+A4KUFqMIexoKXv1O1XVVF57DbttEGJhhTxrO/ DOFvXit/vARxwAIIkqfkGpHAWWQFrgZiAAsm1+eI8GRSC87Es8fMNeXI1pFK8SF4U2jFdoh 1TqDfKBlFFpvQe3M4P8ufN3kbnn8HMSHy/2DiWNOHOUXm6WxrK60e9uScFoJfcrBSO0HOMq 1REPNJ8HbkxJNou0CSepA== X-UI-Out-Filterresults: notjunk:1; X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:96755 Archived-At: --=-=-= Content-Type: text/plain Hi, Michael Albinus writes: >> So according to the note in `ange-ftp-get-files' there's the following >> node on using dired-actual-switches or dired-listing-switches >> >> ;; This is an efficiency hack. We try to >> ;; anticipate what sort of listing dired >> ;; might want, and cache just such a listing. >> >> Switches are checked with `ange-ftp-switches-ok'. (man "sftp") has a >> nice list of >> switches supported. Unfortunately, I don't really find anything on >> supported ls in the manpage of ftp or the info manual... >> >> Option I: I can limit accepted ls flags by ange-ftp to the subset >> supported by sftp. >> >> Option I+: I could add a defcustom to allow the current more liberal >> behavior akin to ange-ftp-passive-host-alist and >> ange-ftp-try-passive-mode. >> >> Option II would be to add build-in support for something like the >> --group-directories-first in dired, since now, if scrub off >> --group-directories-first, a dired-ftp buffer will look different from a >> local dired buffer... >> >> For now I will go with Option I. > > Well, I'm a little bit confused. In the beginning, you have spoken about > "ftp". Now you've switched to "sftp". These are very different cases, > and ange-ftp.el is *not* responsible for sftp connections. > > Could you, please, clarify? That comment is obsolete. See why here: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=19192#20 I tried all long commands with my ftp server (Debian-hosted) and discard the ones that breaks ls over ftp. Feel free to try the attached patch. Cheers, Rasmus -- If you can mix business and politics wonderful things can happen! --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0001-ange-ftp.el-Disallow-more-dired-ls-flags.patch >From 6fd921e7d7deb88c5a3f172022b64a0539edbdd6 Mon Sep 17 00:00:00 2001 From: Rasmus Date: Sat, 29 Nov 2014 13:12:10 +0100 Subject: [PATCH] ange-ftp.el: Disallow more dired ls-flags * net/ange-ftp.el (ange-ftp-switches-ok): Disallow flags causing trouble with ls over ftp. These flags result in ls returning no output, causing Tramp-breakage. Fixes: debbugs:19192 --- lisp/ChangeLog | 6 ++++++ lisp/net/ange-ftp.el | 12 +++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 2a450a7..7d0992e 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2014-11-29 Rasmus Pank Roulund + + * net/ange-ftp.el (ange-ftp-switches-ok): Disallow flags causing + trouble with ls over ftp. These flags result in ls returning no + output, causing Tramp-breakage. (bug#19192) + 2014-11-29 Stephen Berman Stefan Monnier diff --git a/lisp/net/ange-ftp.el b/lisp/net/ange-ftp.el index d7632ed..a2b0b46 100644 --- a/lisp/net/ange-ftp.el +++ b/lisp/net/ange-ftp.el @@ -2831,16 +2831,26 @@ match subdirectories as well.") files ange-ftp-files-hashtable))) (defun ange-ftp-switches-ok (switches) - "Return SWITCHES (a string) if suitable for our use." + "Return SWITCHES (a string) if suitable for use with ls over ftp." (and (stringp switches) ;; We allow the A switch, which lists all files except "." and ;; "..". This is OK because we manually insert these entries ;; in the hash table. (string-match "--\\(almost-\\)?all\\>\\|\\(\\`\\| \\)-[[:alpha:]]*[aA]" switches) + ;; Allow flags starting with a single dash (string-match "\\(\\`\\| \\)-[[:alpha:]]*l" switches) + ;; Disallow recursive flag (not (string-match "--recursive\\>\\|\\(\\`\\| \\)-[[:alpha:]]*R" switches)) + ;; Disallow most long flags from (man "ls"), version 8.23 of July 2014. + (not (string-match + (concat + "--\\(block-size\\|color\\|format\\|group-directories-first\\|" + "human-readable\\|dereference-command-line\\|hide\\|indicator-style\\|" + "dereference-command-line-symlink-to-dir\\|inode\\|ignore\\|dereference\\|" + "numeric-uid-gid\\|indicator-style\\|hide-control-chars\\|quoting-style\\|" + "sort\\|time\\|time-style\\|width\\)"))) switches)) (defun ange-ftp-get-files (directory &optional no-error) -- 2.1.3 --=-=-=--