From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Thierry Volpiatto Newsgroups: gmane.emacs.bugs Subject: bug#10489: 24.0.92; dired-do-copy may create infinite directory hierarchy Date: Sat, 14 Jan 2012 11:25:16 +0100 Message-ID: <87mx9q1sz7.fsf@gmail.com> References: <87mx9su32g.fsf@web.de> <87sjjkfvwt.fsf@gmail.com> <8362ggkquq.fsf@gnu.org> <87lipcrlga.fsf@gmail.com> <87fwfkc4pn.fsf@gmx.de> <87fwfjsw8t.fsf@gmail.com> <87aa5rdazl.fsf@gmx.de> <87d3anogf5.fsf@gmail.com> <011AEED9E81C4DEFA6B1E03B0F57F28F@us.oracle.com> <878vlbljnc.fsf@gmx.de> <8739bj8mu1.fsf@gmail.com> <87fwfjo24c.fsf@gmx.de> <87pqen76p4.fsf@gmail.com> <83fwfik92e.fsf@gnu.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha1; protocol="application/pgp-signature" X-Trace: dough.gmane.org 1326536793 19769 80.91.229.12 (14 Jan 2012 10:26:33 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sat, 14 Jan 2012 10:26:33 +0000 (UTC) Cc: 10489@debbugs.gnu.org, michael.albinus@gmx.de To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Jan 14 11:26:26 2012 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Rm0ob-0005WN-KU for geb-bug-gnu-emacs@m.gmane.org; Sat, 14 Jan 2012 11:26:25 +0100 Original-Received: from localhost ([::1]:60550 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rm0oa-0001LV-Ll for geb-bug-gnu-emacs@m.gmane.org; Sat, 14 Jan 2012 05:26:24 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:47148) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rm0oY-0001Kv-8W for bug-gnu-emacs@gnu.org; Sat, 14 Jan 2012 05:26:23 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Rm0oW-0004Ox-Fg for bug-gnu-emacs@gnu.org; Sat, 14 Jan 2012 05:26:21 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:34215) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rm0oW-0004Om-Dy for bug-gnu-emacs@gnu.org; Sat, 14 Jan 2012 05:26:20 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1Rm0pC-0007d7-18 for bug-gnu-emacs@gnu.org; Sat, 14 Jan 2012 05:27:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Thierry Volpiatto Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 14 Jan 2012 10:27:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 10489 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 10489-submit@debbugs.gnu.org id=B10489.132653677929281 (code B ref 10489); Sat, 14 Jan 2012 10:27:01 +0000 Original-Received: (at 10489) by debbugs.gnu.org; 14 Jan 2012 10:26:19 +0000 Original-Received: from localhost ([127.0.0.1]:57121 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Rm0oU-0007cE-MD for submit@debbugs.gnu.org; Sat, 14 Jan 2012 05:26:19 -0500 Original-Received: from mail-wi0-f172.google.com ([209.85.212.172]:43378) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Rm0oN-0007c0-4M for 10489@debbugs.gnu.org; Sat, 14 Jan 2012 05:26:15 -0500 Original-Received: by wibhj6 with SMTP id hj6so1062989wib.3 for <10489@debbugs.gnu.org>; Sat, 14 Jan 2012 02:25:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type; bh=gIWpL3oApx7VoF7uzDTels9PejCy2hluMBgTfjE/IPo=; b=c1Uz4eFZeNKsqJJKbylq9WtksSN+tJh2QJKrHEy5H3zGFx6o/lSO0/F/niPoTYbfm4 yrNSxBHY0Q0JTVVQWS/9AW7Yjdhv62tIdifWpcW0fmPDZd0Zxh1zxXXzTSH5/VFd1+rS aLeVJsQAd3ZooDb6PNDmoDajToodk5gDTYt94= Original-Received: by 10.180.24.105 with SMTP id t9mr7572716wif.19.1326536728363; Sat, 14 Jan 2012 02:25:28 -0800 (PST) Original-Received: from thierry-MM061 (197.78.88.79.rev.sfr.net. [79.88.78.197]) by mx.google.com with ESMTPS id bj10sm6280431wib.9.2012.01.14.02.25.24 (version=TLSv1/SSLv3 cipher=OTHER); Sat, 14 Jan 2012 02:25:26 -0800 (PST) In-Reply-To: <83fwfik92e.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 14 Jan 2012 10:00:25 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.92 (gnu/linux) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) 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:55733 Archived-At: --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Eli Zaretskii writes: >> From: Thierry Volpiatto >> Date: Fri, 13 Jan 2012 20:17:43 +0100 >> Cc: 10489@debbugs.gnu.org >>=20 >> (defun dired-copy-file-recursive (from to ok-flag &optional >> preserve-time top recursive) >> - (let ((attrs (file-attributes from))) >> + (let* ((case-fold-search t) >> + (fromname (file-name-as-directory (file-truename from))) >> + (destname (file-name-as-directory (file-truename to))) >> + (rem-dirname (and (equal "sudo" (file-remote-p fromname 'metho= d)) >> + (file-remote-p fromname 'localname))) >> + (rem-newname (and (equal "sudo" (file-remote-p destname 'metho= d)) >> + (file-remote-p destname 'localname))) >> + (attrs (file-attributes from))) >> + (when (equal (or rem-dirname fromname) >> + (or rem-newname destname)) >> + (error "Can't copy directory `%s' on itself" from)) > > Why is case-fold-search being unconditionally bound to t? I don't > think this is TRT on case-sensitive filesystems. Am I missing > something? Ignore, it have no effect, I have changed that. The last patch use this instead, which avoid duplication of code and is more readable. =2D-8<---------------cut here---------------start------------->8--- (defun files-copyable-p (from to) "Verify if file FROM is not the same than TO on this system." (let* ((fromname (file-name-as-directory (file-truename from))) (destname (file-name-as-directory (file-truename to))) (rem-fromname (and (equal "sudo" (file-remote-p fromname 'method)) (string-match (system-name) (file-remote-p fromname 'host)) (file-remote-p fromname 'localname))) (rem-newname (and (equal "sudo" (file-remote-p destname 'method)) (string-match (system-name) (file-remote-p dest= name 'host)) (file-remote-p destname 'localname)))) (not (equal (or rem-fromname fromname) (or rem-newname destname))))) =2D-8<---------------cut here---------------end--------------->8--- This work in these cases: =2D usage on local filesystem. =2D Copying from a remote filesystem on local filesystem. =2D Copying from local filesystem to remote filesystem. =2D Copying on a remote filesystem to same remote filesystem with same method. This may not work in these cases: =2D copying from a remote filesystem to this same remote filesystem with a different method. (Why one would do that?) e.g /ssh:host:/foo =3D> /scpc:host:/foo =2D Others - please complete (Windows, other tramp use cases, etc...) =2D-=20 Thierry Get my Gnupg key: gpg --keyserver pgp.mit.edu --recv-keys 59F29997=20 --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=patch-r118414 Content-Transfer-Encoding: base64 IyBIRyBjaGFuZ2VzZXQgcGF0Y2gKIyBVc2VyIFRoaWVycnkgVm9scGlhdHRvIDx0aGllcnJ5LnZv bHBpYXR0b0BnbWFpbC5jb20+CiMgRGF0ZSAxMzI2NTM2NjgwIC0zNjAwCiMgTm9kZSBJRCBiNDMz MGZiZjFjMzU4YTk2NDQ1ZDg3ODBmZDllY2E3ZWIxOTVkMDU3CiMgUGFyZW50ICAyMDY1YjViODg3 YzNiYjk0NmFmNmVlZmRjMTM0NzU5ZDA0NTk4NzZlCkJ1Z2ZpeCBidWcjMTA0ODksIGRpcmVkLWRv LWNvcHkgbWF5IGNyZWF0ZSBpbmZpbml0ZSBkaXJlY3RvcnkgaGllcmFyY2h5LgoqIGxpc3AvZGly ZWQtYXV4LmVsCiogbGlzcC9maWxlcy5lbAoKZGlmZiAtLWdpdCBhL2xpc3AvZGlyZWQtYXV4LmVs IGIvbGlzcC9kaXJlZC1hdXguZWwKLS0tIGEvbGlzcC9kaXJlZC1hdXguZWwKKysrIGIvbGlzcC9k aXJlZC1hdXguZWwKQEAgLTEyNjQsMjQgKzEyNjQsMjYgQEAKIAogKGRlZnVuIGRpcmVkLWNvcHkt ZmlsZS1yZWN1cnNpdmUgKGZyb20gdG8gb2stZmxhZyAmb3B0aW9uYWwKIAkJCQkgICAgICAgcHJl c2VydmUtdGltZSB0b3AgcmVjdXJzaXZlKQorICAodW5sZXNzIChmaWxlcy1jb3B5YWJsZS1wIGZy b20gdG8pCisgICAgKGVycm9yICJDYW4ndCBjb3B5IGRpcmVjdG9yeSBgJXMnIG9uIGl0c2VsZiIg ZnJvbSkpCiAgIChsZXQgKChhdHRycyAoZmlsZS1hdHRyaWJ1dGVzIGZyb20pKSkKICAgICAoaWYg KGFuZCByZWN1cnNpdmUKLQkgICAgIChlcSB0IChjYXIgYXR0cnMpKQotCSAgICAgKG9yIChlcSBy ZWN1cnNpdmUgJ2Fsd2F5cykKLQkJICh5ZXMtb3Itbm8tcCAoZm9ybWF0ICJSZWN1cnNpdmUgY29w aWVzIG9mICVzPyAiIGZyb20pKSkpCi0JOzsgVGhpcyBpcyBhIGRpcmVjdG9yeS4KLQkoY29weS1k aXJlY3RvcnkgZnJvbSB0byBwcmVzZXJ2ZS10aW1lKQorICAgICAgICAgICAgIChlcSB0IChjYXIg YXR0cnMpKQorICAgICAgICAgICAgIChvciAoZXEgcmVjdXJzaXZlICdhbHdheXMpCisgICAgICAg ICAgICAgICAgICh5ZXMtb3Itbm8tcCAoZm9ybWF0ICJSZWN1cnNpdmUgY29waWVzIG9mICVzPyAi IGZyb20pKSkpCisgICAgICAgIDs7IFRoaXMgaXMgYSBkaXJlY3RvcnkuCisgICAgICAgIChjb3B5 LWRpcmVjdG9yeSBmcm9tIHRvIHByZXNlcnZlLXRpbWUpCiAgICAgICA7OyBOb3QgYSBkaXJlY3Rv cnkuCiAgICAgICAob3IgdG9wIChkaXJlZC1oYW5kbGUtb3ZlcndyaXRlIHRvKSkKICAgICAgIChj b25kaXRpb24tY2FzZSBlcnIKLQkgIChpZiAoc3RyaW5ncCAoY2FyIGF0dHJzKSkKLQkgICAgICA7 OyBJdCBpcyBhIHN5bWxpbmsKLQkgICAgICAobWFrZS1zeW1ib2xpYy1saW5rIChjYXIgYXR0cnMp IHRvIG9rLWZsYWcpCi0JICAgIChjb3B5LWZpbGUgZnJvbSB0byBvay1mbGFnIHByZXNlcnZlLXRp bWUpKQotCShmaWxlLWRhdGUtZXJyb3IKLQkgKHB1c2ggKGRpcmVkLW1ha2UtcmVsYXRpdmUgZnJv bSkKLQkgICAgICAgZGlyZWQtY3JlYXRlLWZpbGVzLWZhaWx1cmVzKQotCSAoZGlyZWQtbG9nICJD YW4ndCBzZXQgZGF0ZSBvbiAlczpcbiVzXG4iIGZyb20gZXJyKSkpKSkpCisgICAgICAgICAgKGlm IChzdHJpbmdwIChjYXIgYXR0cnMpKQorICAgICAgICAgICAgICA7OyBJdCBpcyBhIHN5bWxpbmsK KyAgICAgICAgICAgICAgKG1ha2Utc3ltYm9saWMtbGluayAoY2FyIGF0dHJzKSB0byBvay1mbGFn KQorICAgICAgICAgICAgKGNvcHktZmlsZSBmcm9tIHRvIG9rLWZsYWcgcHJlc2VydmUtdGltZSkp CisgICAgICAgIChmaWxlLWRhdGUtZXJyb3IKKyAgICAgICAgIChwdXNoIChkaXJlZC1tYWtlLXJl bGF0aXZlIGZyb20pCisgICAgICAgICAgICAgICBkaXJlZC1jcmVhdGUtZmlsZXMtZmFpbHVyZXMp CisgICAgICAgICAoZGlyZWQtbG9nICJDYW4ndCBzZXQgZGF0ZSBvbiAlczpcbiVzXG4iIGZyb20g ZXJyKSkpKSkpCiAKIDs7OyMjI2F1dG9sb2FkCiAoZGVmdW4gZGlyZWQtcmVuYW1lLWZpbGUgKGZp bGUgbmV3bmFtZSBvay1pZi1hbHJlYWR5LWV4aXN0cykKQEAgLTE0MDIsNyArMTQwNCw3IEBACiBu ZXdmaWxlJ3MgZW50cnksIG9yIHQgdG8gdXNlIHRoZSBjdXJyZW50IG1hcmtlciBjaGFyYWN0ZXIg aWYgdGhlCiBvbGQgZmlsZSB3YXMgbWFya2VkLiIKICAgKGxldCAoZGlyZWQtY3JlYXRlLWZpbGVz LWZhaWx1cmVzIGZhaWx1cmVzCi0Jc2tpcHBlZCAoc3VjY2Vzcy1jb3VudCAwKSAodG90YWwgKGxl bmd0aCBmbi1saXN0KSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBza2lw cGVkIChzdWNjZXNzLWNvdW50IDApICh0b3RhbCAobGVuZ3RoIGZuLWxpc3QpKSkKICAgICAobGV0 ICh0byBvdmVyd3JpdGUtcXVlcnkKIAkgICAgIG92ZXJ3cml0ZS1iYWNrdXAtcXVlcnkpCTsgZm9y IGRpcmVkLWhhbmRsZS1vdmVyd3JpdGUKICAgICAgIChkb2xpc3QgKGZyb20gZm4tbGlzdCkKQEAg LTE0MzAsMTAgKzE0MzIsMjUgQEAKICAgICAgICAgICAgICAgICAgIChjb25kICAoKGludGVnZXJw IG1hcmtlci1jaGFyKSBtYXJrZXItY2hhcikKICAgICAgICAgICAgICAgICAgICAgICAgICAobWFy a2VyLWNoYXIgKGRpcmVkLWZpbGUtbWFya2VyIGZyb20pKSA7IHNsb3cKICAgICAgICAgICAgICAg ICAgICAgICAgICAodCBuaWwpKSkpCi0JICAgICh3aGVuIChhbmQgKGZpbGUtZGlyZWN0b3J5LXAg ZnJvbSkKLQkJICAgICAgIChmaWxlLWRpcmVjdG9yeS1wIHRvKQotCQkgICAgICAgKGVxIGZpbGUt Y3JlYXRvciAnZGlyZWQtY29weS1maWxlKSkKLQkgICAgICAoc2V0cSB0byAoZmlsZS1uYW1lLWRp cmVjdG9yeSB0bykpKQorICAgICAgICAgICAgOzsgSGFuZGxlIHRoZSBgZGlyZWQtY29weS1maWxl JyBmaWxlLWNyZWF0b3Igc3BlY2lhbGx5CisgICAgICAgICAgICA7OyBXaGVuIGNvcHlpbmcgYSBk aXJlY3RvcnkgdG8gYW5vdGhlciBkaXJlY3Rvcnkgb3IKKyAgICAgICAgICAgIDs7IHBvc3NpYmx5 IHRvIGl0c2VsZi4KKyAgICAgICAgICAgIDs7IChlLmcgIn4vZm9vIiA9PiAifi90ZXN0IiBvciAi fi9mb28iID0+In4vZm9vIikKKyAgICAgICAgICAgIDs7IEluIHRoaXMgY2FzZSB0aGUgJ25hbWUt Y29uc3RydWN0b3InIGhhdmUgc2V0IHRoZSBkZXN0aW5hdGlvbgorICAgICAgICAgICAgOzsgJ3Rv JyB0byAifi90ZXN0L2ZvbyIgYmVjYXVzZSB0aGUgb2xkCisgICAgICAgICAgICA7OyBlbWFjczIz IGJlaGF2aW9yIG9mIGBjb3B5LWRpcmVjdG9yeScKKyAgICAgICAgICAgIDs7IHdhcyBubyBub3Qg Y3JlYXRlIHRoZSBzdWJkaXIgYW5kIGNvcHkgaW5zdGVhZCB0aGUgY29udGVudHMgb25seS4KKyAg ICAgICAgICAgIDs7IFdpdGggaXQncyBuZXcgYmVoYXZpb3IgKHNpbWlsYXIgdG8gY3Agc2hlbGwg Y29tbWFuZCkgd2UgZG9uJ3QKKyAgICAgICAgICAgIDs7IG5lZWQgc3VjaCBhIGNvbnN0cnVjdGlv biwgc28gbW9kaWZ5IHRoZSBkZXN0aW5hdGlvbiAndG8nIHRvCisgICAgICAgICAgICA7OyAifi90 ZXN0LyIgaW5zdGVhZCBvZiAifi90ZXN0L2Zvby8iLgorICAgICAgICAgICAgOzsgSWYgZnJvbSBh bmQgdG8gYXJlIHRoZSBzYW1lIGRpcmVjdG9yeSBkbyB0aGUgc2FtZSwKKyAgICAgICAgICAgIDs7 IHRoZSBlcnJvciB3aWxsIGJlIGhhbmRsZWQgYnkgYGRpcmVkLWNvcHktZmlsZS1yZWN1cnNpdmUn LgorICAgICAgICAgICAgKGxldCAoKGRlc3RuYW1lIChmaWxlLW5hbWUtZGlyZWN0b3J5IHRvKSkp CisgICAgICAgICAgICAgICh3aGVuIChhbmQgKGZpbGUtZGlyZWN0b3J5LXAgZnJvbSkKKyAgICAg ICAgICAgICAgICAgICAgICAgICAob3IgKG5vdCAoZmlsZXMtY29weWFibGUtcCBmcm9tIGRlc3Ru YW1lKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpbGUtZGlyZWN0b3J5LXAgdG8p KQorICAgICAgICAgICAgICAgICAgICAgICAgIChlcSBmaWxlLWNyZWF0b3IgJ2RpcmVkLWNvcHkt ZmlsZSkpCisgICAgICAgICAgICAgICAgKHNldHEgdG8gKGZpbGUtbmFtZS1kaXJlY3RvcnkgdG8p KSkpCiAgICAgICAgICAgICAoY29uZGl0aW9uLWNhc2UgZXJyCiAgICAgICAgICAgICAgICAgKHBy b2duCiAgICAgICAgICAgICAgICAgICAoZnVuY2FsbCBmaWxlLWNyZWF0b3IgZnJvbSB0byBkaXJl ZC1vdmVyd3JpdGUtY29uZmlybWVkKQpAQCAtMTQ1NiwyMSArMTQ3MywyMSBAQAogICAgICAgKHNl dHEgZmFpbHVyZXMgKG5jb25jIGZhaWx1cmVzIGRpcmVkLWNyZWF0ZS1maWxlcy1mYWlsdXJlcykp CiAgICAgICAoZGlyZWQtbG9nLXN1bW1hcnkKICAgICAgICAoZm9ybWF0ICIlcyBmYWlsZWQgZm9y ICVkIGZpbGUlcyBpbiAlZCByZXF1ZXN0cyIKLQkJb3BlcmF0aW9uIChsZW5ndGggZmFpbHVyZXMp Ci0JCShkaXJlZC1wbHVyYWwtcyAobGVuZ3RoIGZhaWx1cmVzKSkKLQkJdG90YWwpCisgICAgICAg ICAgICAgICBvcGVyYXRpb24gKGxlbmd0aCBmYWlsdXJlcykKKyAgICAgICAgICAgICAgIChkaXJl ZC1wbHVyYWwtcyAobGVuZ3RoIGZhaWx1cmVzKSkKKyAgICAgICAgICAgICAgIHRvdGFsKQogICAg ICAgIGZhaWx1cmVzKSkKICAgICAgKGZhaWx1cmVzCiAgICAgICAoZGlyZWQtbG9nLXN1bW1hcnkK ICAgICAgICAoZm9ybWF0ICIlcyBmYWlsZWQgZm9yICVkIG9mICVkIGZpbGUlcyIKLQkJb3BlcmF0 aW9uIChsZW5ndGggZmFpbHVyZXMpCi0JCXRvdGFsIChkaXJlZC1wbHVyYWwtcyB0b3RhbCkpCisg ICAgICAgICAgICAgICBvcGVyYXRpb24gKGxlbmd0aCBmYWlsdXJlcykKKyAgICAgICAgICAgICAg IHRvdGFsIChkaXJlZC1wbHVyYWwtcyB0b3RhbCkpCiAgICAgICAgZmFpbHVyZXMpKQogICAgICAo c2tpcHBlZAogICAgICAgKGRpcmVkLWxvZy1zdW1tYXJ5CiAgICAgICAgKGZvcm1hdCAiJXM6ICVk IG9mICVkIGZpbGUlcyBza2lwcGVkIgotCQlvcGVyYXRpb24gKGxlbmd0aCBza2lwcGVkKSB0b3Rh bAotCQkoZGlyZWQtcGx1cmFsLXMgdG90YWwpKQorICAgICAgICAgICAgICAgb3BlcmF0aW9uIChs ZW5ndGggc2tpcHBlZCkgdG90YWwKKyAgICAgICAgICAgICAgIChkaXJlZC1wbHVyYWwtcyB0b3Rh bCkpCiAgICAgICAgc2tpcHBlZCkpCiAgICAgICh0CiAgICAgICAobWVzc2FnZSAiJXM6ICVzIGZp bGUlcyIKZGlmZiAtLWdpdCBhL2xpc3AvZmlsZXMuZWwgYi9saXNwL2ZpbGVzLmVsCi0tLSBhL2xp c3AvZmlsZXMuZWwKKysrIGIvbGlzcC9maWxlcy5lbApAQCAtNDkwMiw2ICs0OTAyLDIxIEBACiAJ CSBkaXJlY3RvcnkgJ2Z1bGwgZGlyZWN0b3J5LWZpbGVzLW5vLWRvdC1maWxlcy1yZWdleHApKSkK ICAgICAgIChkZWxldGUtZGlyZWN0b3J5LWludGVybmFsIGRpcmVjdG9yeSkpKSkpCiAKKyhkZWZ1 biBmaWxlcy1jb3B5YWJsZS1wIChmcm9tIHRvKQorICAiVmVyaWZ5IGlmIGZpbGUgRlJPTSBpcyBu b3QgdGhlIHNhbWUgdGhhbiBUTyBvbiB0aGlzIHN5c3RlbS4iCisgIChsZXQqICgoZnJvbW5hbWUg ICAgIChmaWxlLW5hbWUtYXMtZGlyZWN0b3J5IChmaWxlLXRydWVuYW1lIGZyb20pKSkKKyAgICAg ICAgIChkZXN0bmFtZSAgICAgKGZpbGUtbmFtZS1hcy1kaXJlY3RvcnkgKGZpbGUtdHJ1ZW5hbWUg dG8pKSkKKyAgICAgICAgIChyZW0tZnJvbW5hbWUgKGFuZCAoZXF1YWwgInN1ZG8iIChmaWxlLXJl bW90ZS1wIGZyb21uYW1lICdtZXRob2QpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChz dHJpbmctbWF0Y2ggKHN5c3RlbS1uYW1lKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKGZpbGUtcmVtb3RlLXAgZnJvbW5hbWUgJ2hvc3QpKQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChmaWxlLXJlbW90ZS1wIGZyb21uYW1lICdsb2NhbG5hbWUpKSkKKyAg ICAgICAgIChyZW0tbmV3bmFtZSAgKGFuZCAoZXF1YWwgInN1ZG8iIChmaWxlLXJlbW90ZS1wIGRl c3RuYW1lICdtZXRob2QpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctbWF0 Y2ggKHN5c3RlbS1uYW1lKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGZpbGUtcmVtb3RlLXAgZGVzdG5hbWUgJ2hvc3QpKQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChmaWxlLXJlbW90ZS1wIGRlc3RuYW1lICdsb2NhbG5hbWUpKSkpCisgICAgKG5vdCAo ZXF1YWwgKG9yIHJlbS1mcm9tbmFtZSBmcm9tbmFtZSkKKyAgICAgICAgICAgICAgICAob3IgcmVt LW5ld25hbWUgZGVzdG5hbWUpKSkpKQorCiAoZGVmdW4gY29weS1kaXJlY3RvcnkgKGRpcmVjdG9y eSBuZXduYW1lICZvcHRpb25hbCBrZWVwLXRpbWUgcGFyZW50cyBjb3B5LWNvbnRlbnRzKQogICAi Q29weSBESVJFQ1RPUlkgdG8gTkVXTkFNRS4gIEJvdGggYXJncyBtdXN0IGJlIHN0cmluZ3MuCiBU aGlzIGZ1bmN0aW9uIGFsd2F5cyBzZXRzIHRoZSBmaWxlIG1vZGVzIG9mIHRoZSBvdXRwdXQgZmls ZXMgdG8gbWF0Y2gKQEAgLTQ5MjgsMTAgKzQ5NDMsMTIgQEAKIAkgICAgKGZvcm1hdCAiQ29weSBk aXJlY3RvcnkgJXMgdG86ICIgZGlyKQogCSAgICBkZWZhdWx0LWRpcmVjdG9yeSBkZWZhdWx0LWRp cmVjdG9yeSBuaWwgbmlsKQogCSAgIGN1cnJlbnQtcHJlZml4LWFyZyB0IG5pbCkpKQorICAodW5s ZXNzIChmaWxlcy1jb3B5YWJsZS1wIGRpcmVjdG9yeSBuZXduYW1lKQorICAgIChlcnJvciAiQ2Fu J3QgY29weSBkaXJlY3RvcnkgYCVzJyBvbiBpdHNlbGYiIGRpcmVjdG9yeSkpCiAgIDs7IElmIGRl ZmF1bHQtZGlyZWN0b3J5IGlzIGEgcmVtb3RlIGRpcmVjdG9yeSwgbWFrZSBzdXJlIHdlIGZpbmQg aXRzCiAgIDs7IGNvcHktZGlyZWN0b3J5IGhhbmRsZXIuCiAgIChsZXQgKChoYW5kbGVyIChvciAo ZmluZC1maWxlLW5hbWUtaGFuZGxlciBkaXJlY3RvcnkgJ2NvcHktZGlyZWN0b3J5KQotCQkgICAg IChmaW5kLWZpbGUtbmFtZS1oYW5kbGVyIG5ld25hbWUgJ2NvcHktZGlyZWN0b3J5KSkpKQorICAg ICAgICAgICAgICAgICAgICAgIChmaW5kLWZpbGUtbmFtZS1oYW5kbGVyIG5ld25hbWUgJ2NvcHkt ZGlyZWN0b3J5KSkpKQogICAgIChpZiBoYW5kbGVyCiAJKGZ1bmNhbGwgaGFuZGxlciAnY29weS1k aXJlY3RvcnkgZGlyZWN0b3J5IG5ld25hbWUga2VlcC10aW1lIHBhcmVudHMpCiAK --=-=-=-- --==-=-= Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iEYEARECAAYFAk8RWAwACgkQKNF/U1nymZcC6QCeKrI0sQPMJWD53lizksmeFytD s2IAn3llk9/FVK46Qvka4J45xCjtYrl6 =h8VY -----END PGP SIGNATURE----- --==-=-=--