[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug-wget] [PATCH 3/3] Add command line option to disable use of .netrc
From: |
Tomas Hozza |
Subject: |
[Bug-wget] [PATCH 3/3] Add command line option to disable use of .netrc |
Date: |
Fri, 12 May 2017 19:17:32 +0200 |
Although internally code uses option for (not) reading .netrc for
credentials, it was not possible to turn this behavior off on command
line. Note that it was possible to turn it off using wgetrc.
Idea for this change came from Bruce Jerrick (address@hidden).
Reference: https://bugzilla.redhat.com/show_bug.cgi?id=1425097
Signed-off-by: Tomas Hozza <address@hidden>
---
doc/wget.texi | 6 ++++
src/main.c | 3 ++
testenv/Makefile.am | 1 +
testenv/Test-auth-basic-no-netrc-fail.py | 59 ++++++++++++++++++++++++++++++++
4 files changed, 69 insertions(+)
create mode 100755 testenv/Test-auth-basic-no-netrc-fail.py
diff --git a/doc/wget.texi b/doc/wget.texi
index a2bf9dc..e4e0bf6 100644
--- a/doc/wget.texi
+++ b/doc/wget.texi
@@ -703,6 +703,12 @@ Before (over)writing a file, back up an existing file by
adding a
files are rotated to @samp{.2}, @samp{.3}, and so on, up to
@var{backups} (and lost beyond that).
address@hidden authentication credentials
address@hidden --no-netrc
+Do not try to obtain credentials from @file{.netrc} file. By default
address@hidden file is searched for credentials in case none have been
+passed on command line and authentication is required.
+
@cindex continue retrieval
@cindex incomplete downloads
@cindex resume download
diff --git a/src/main.c b/src/main.c
index 8e9d6e9..297499e 100644
--- a/src/main.c
+++ b/src/main.c
@@ -359,6 +359,7 @@ static struct cmdline_option option_data[] =
#endif
{ "method", 0, OPT_VALUE, "method", -1 },
{ "mirror", 'm', OPT_BOOLEAN, "mirror", -1 },
+ { "netrc", 0, OPT_BOOLEAN, "netrc", -1 },
{ "no", 'n', OPT__NO, NULL, required_argument },
{ "no-clobber", 0, OPT_BOOLEAN, "noclobber", -1 },
{ "no-config", 0, OPT_BOOLEAN, "noconfig", -1},
@@ -629,6 +630,8 @@ Download:\n"),
-nc, --no-clobber skip downloads that would download to\n\
existing files (overwriting them)\n"),
N_("\
+ --no-netrc don't try to obtain credentials from
.netrc\n"),
+ N_("\
-c, --continue resume getting a partially-downloaded
file\n"),
N_("\
--start-pos=OFFSET start downloading from zero-based position
OFFSET\n"),
diff --git a/testenv/Makefile.am b/testenv/Makefile.am
index 7104314..ef4158a 100644
--- a/testenv/Makefile.am
+++ b/testenv/Makefile.am
@@ -78,6 +78,7 @@ if HAVE_PYTHON3
Test-auth-basic-netrc.py \
Test-auth-basic-netrc-user-given.py \
Test-auth-basic-netrc-pass-given.py \
+ Test-auth-basic-no-netrc-fail.py \
Test-auth-both.py \
Test-auth-digest.py \
Test-auth-no-challenge.py \
diff --git a/testenv/Test-auth-basic-no-netrc-fail.py
b/testenv/Test-auth-basic-no-netrc-fail.py
new file mode 100755
index 0000000..fad15e9
--- /dev/null
+++ b/testenv/Test-auth-basic-no-netrc-fail.py
@@ -0,0 +1,59 @@
+#!/usr/bin/env python3
+from sys import exit
+from test.http_test import HTTPTest
+from misc.wget_file import WgetFile
+
+"""
+ This test ensures that Wget will not use credentials from .netrc
+ when --no-netrc option is specified and Basic authentication is required
+ and fails.
+"""
+############# File Definitions ###############################################
+File1 = "I am an invisble man."
+
+User = "Sauron"
+Password = "TheEye"
+
+File1_rules = {
+ "Authentication" : {
+ "Type" : "Basic",
+ "User" : User,
+ "Pass" : Password
+ }
+}
+
+Netrc = "machine 127.0.0.1\n\tlogin {0}\n\tpassword {1}".format(User, Password)
+
+A_File = WgetFile ("File1", File1, rules=File1_rules)
+Netrc_File = WgetFile (".netrc", Netrc)
+
+WGET_OPTIONS = "--no-netrc"
+WGET_URLS = [["File1"]]
+
+Files = [[A_File]]
+LocalFiles = [Netrc_File]
+
+ExpectedReturnCode = 6
+ExpectedDownloadedFiles = [Netrc_File]
+
+################ Pre and Post Test Hooks #####################################
+pre_test = {
+ "ServerFiles" : Files,
+ "LocalFiles" : LocalFiles
+}
+test_options = {
+ "WgetCommands" : WGET_OPTIONS,
+ "Urls" : WGET_URLS
+}
+post_test = {
+ "ExpectedFiles" : ExpectedDownloadedFiles,
+ "ExpectedRetcode" : ExpectedReturnCode
+}
+
+err = HTTPTest (
+ pre_hook=pre_test,
+ test_params=test_options,
+ post_hook=post_test
+).begin ()
+
+exit (err)
--
2.7.4
- [Bug-wget] [PATCH 0/3] Changes related to use of .netrc, Tomas Hozza, 2017/05/12
- [Bug-wget] [PATCH 2/3] Fixed getting of credentials from .netrc, Tomas Hozza, 2017/05/12
- [Bug-wget] [PATCH 3/3] Add command line option to disable use of .netrc,
Tomas Hozza <=
- Re: [Bug-wget] [PATCH 3/3] Add command line option to disable use of .netrc, Giuseppe Scrivano, 2017/05/12
- Re: [Bug-wget] [PATCH 3/3] Add command line option to disable use of .netrc, Tomas Hozza, 2017/05/16
- Re: [Bug-wget] [PATCH 3/3] Add command line option to disable use of .netrc, Giuseppe Scrivano, 2017/05/16
- Re: [Bug-wget] [PATCH 3/3] Add command line option to disable use of .netrc, Tomas Hozza, 2017/05/16
- Re: [Bug-wget] [PATCH 3/3] Add command line option to disable use of .netrc, Giuseppe Scrivano, 2017/05/16
- Re: [Bug-wget] [PATCH 3/3] Add command line option to disable use of .netrc, Tim Rühsen, 2017/05/16
[Bug-wget] [PATCH 1/3] Added tests for HTTP authentication using credentials from .netrc, Tomas Hozza, 2017/05/12