[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Bug-wget] Patch: Make wget abort if post-file does not exist
From: |
Darshit Shah |
Subject: |
Re: [Bug-wget] Patch: Make wget abort if post-file does not exist |
Date: |
Fri, 15 Mar 2013 07:36:55 +0530 |
Thanks!
Sorry, I only concentrated on the actual code and forgot all those things
in the test files patch.
I'll be more careful with that next time.
On Fri, Mar 15, 2013 at 2:11 AM, Giuseppe Scrivano <address@hidden>wrote:
> Darshit Shah <address@hidden> writes:
>
> > The original patch caused a SIGABRT that I missed.
> > wget now returns with an exit status of 3.
> >
> > Uploading the updated patch file and another with the test to ensure the
> correct return code.
>
> Thanks! I have amended some small changes (missing ChangeLog, trailing
> whitespaces, forgot to add the test to run-px) and this is the version I
> pushed:
>
> From 50238e49b9e97acc1edf3b4355a2cd44f75660e5 Mon Sep 17 00:00:00 2001
> From: Darshit Shah <address@hidden>
> Date: Tue, 12 Mar 2013 13:11:04 +0530
> Subject: [PATCH 1/2] Make wget abort if --post-file does not exist
>
> Signed-off-by: Darshit Shah <address@hidden>
> ---
> src/ChangeLog | 11 ++++++++++-
> src/exits.c | 2 +-
> src/http.c | 3 ++-
> 3 files changed, 13 insertions(+), 3 deletions(-)
>
> diff --git a/src/ChangeLog b/src/ChangeLog
> index c37fb85..8e1213f 100644
> --- a/src/ChangeLog
> +++ b/src/ChangeLog
> @@ -1,6 +1,15 @@
> +2013-03-12 Darshit Shah <address@hidden>
> +
> + * http.c (gethttp): Make wget return FILEBADFILE error and abort if
> + post-file does not exist.
> +
> + * http.c (http_loop): Handle FILEBADFILE as a valid err.
> +
> + * exits.c (get_status_for_err): Mark FILEBADFILE as an IO error.
> +
> 2013-02-15 Darshit Shah <address@hidden>
>
> - * cookies.c (cookie_handle_set_cookie): Set
> cookie-descard_requested
> + * cookies.c (cookie_handle_set_cookie): Set
> cookie->discard_requested
> to true on domain mismatch.
>
> 2012-12-20 Tim Ruehsen <address@hidden>
> diff --git a/src/exits.c b/src/exits.c
> index e23fc1c..cea38d5 100644
> --- a/src/exits.c
> +++ b/src/exits.c
> @@ -58,7 +58,7 @@ get_status_for_err (uerr_t err)
> case RETROK:
> return WGET_EXIT_SUCCESS;
> case FOPENERR: case FOPEN_EXCL_ERR: case FWRITEERR: case WRITEFAILED:
> - case UNLINKERR: case CLOSEFAILED:
> + case UNLINKERR: case CLOSEFAILED: case FILEBADFILE:
> return WGET_EXIT_IO_FAIL;
> case NOCONERROR: case HOSTERR: case CONSOCKERR: case CONERROR:
> case CONSSLERR: case CONIMPOSSIBLE: case FTPRERR: case FTPINVPASV:
> diff --git a/src/http.c b/src/http.c
> index fdb0d7e..b393e24 100644
> --- a/src/http.c
> +++ b/src/http.c
> @@ -1865,7 +1865,7 @@ gethttp (struct url *u, struct http_stat *hs, int
> *dt, struct url *proxy,
> {
> logprintf (LOG_NOTQUIET, _("POST data file %s missing:
> %s\n"),
> quote (opt.post_file_name), strerror (errno));
> - post_data_size = 0;
> + return FILEBADFILE;
> }
> }
> request_set_header (req, "Content-Length",
> @@ -3119,6 +3119,7 @@ Spider mode enabled. Check if remote file
> exists.\n"));
> quote (hstat.local_file), strerror (errno));
> case HOSTERR: case CONIMPOSSIBLE: case PROXERR: case AUTHFAILED:
> case SSLINITFAILED: case CONTNOTSUPPORTED: case VERIFCERTERR:
> + case FILEBADFILE:
> /* Fatal errors just return from the function. */
> ret = err;
> goto exit;
> --
> 1.7.10.4
>
>
> From e3b3ea51205b5d9852783dfde526a05100144682 Mon Sep 17 00:00:00 2001
> From: Darshit Shah <address@hidden>
> Date: Tue, 12 Mar 2013 12:21:07 +0530
> Subject: [PATCH 2/2] Add test to ensure correct return code on --post-file
> failure
>
> Signed-off-by: Darshit Shah <address@hidden>
> ---
> tests/ChangeLog | 6 ++++++
> tests/Makefile.am | 1 +
> tests/Test--post-file.px | 23 +++++++++++++++++++++++
> tests/run-px | 1 +
> 4 files changed, 31 insertions(+)
> create mode 100755 tests/Test--post-file.px
>
> diff --git a/tests/ChangeLog b/tests/ChangeLog
> index 3650f82..8cd4864 100644
> --- a/tests/ChangeLog
> +++ b/tests/ChangeLog
> @@ -1,3 +1,9 @@
> +2013-03-12 Darshit Shah <address@hidden>
> +
> + * Makefile.am (EXTRA_DIST): Add Test--post-file.px.
> + * run-px (tests): Likewise.
> + * Test--post-file.px: New file.
> +
> 2012-11-09 Tim Ruehsen <address@hidden>
>
> * HTTPServer.pm: added check for must-not-match request-header
> diff --git a/tests/Makefile.am b/tests/Makefile.am
> index 9ff302c..ac6a663 100644
> --- a/tests/Makefile.am
> +++ b/tests/Makefile.am
> @@ -119,6 +119,7 @@ EXTRA_DIST = FTPServer.pm FTPTest.pm HTTPServer.pm
> HTTPTest.pm \
> Test-O--no-content-disposition-trivial.px \
> Test-O-nonexisting.px \
> Test-O.px \
> + Test--post-file.px \
> Test-proxied-https-auth.px \
> Test-proxy-auth-basic.px \
> Test-restrict-ascii.px \
> diff --git a/tests/Test--post-file.px b/tests/Test--post-file.px
> new file mode 100755
> index 0000000..1c017b7
> --- /dev/null
> +++ b/tests/Test--post-file.px
> @@ -0,0 +1,23 @@
> +#!/usr/bin/env perl
> +
> +use strict;
> +use warnings;
> +
> +use HTTPTest;
> +
> +
>
> +###############################################################################
> +
> +my $cmdline = $WgetTest::WGETPATH . " -d --post-file=nofile
> http://localhost:{{port}}/";
> +
> +my $expected_error_code = 3;
> +
> +
>
> +###############################################################################
> +
> +my $the_test = HTTPTest->new (name => "Test-missing-file",
> + cmdline => $cmdline,
> + errcode => $expected_error_code);
> +exit $the_test->run();
> +
> +# vim: et ts=4 sw=4
> diff --git a/tests/run-px b/tests/run-px
> index 657194f..3c35d6f 100755
> --- a/tests/run-px
> +++ b/tests/run-px
> @@ -70,6 +70,7 @@ my @tests = (
> 'Test-O--no-content-disposition-trivial.px',
> 'Test-O-nonexisting.px',
> 'Test-O.px',
> + 'Test--post-file.px',
> 'Test-O-nc.px',
> 'Test-restrict-ascii.px',
> 'Test-Restrict-Lowercase.px',
> --
> 1.7.10.4
>
>
> --
> Giuseppe
>
--
Thanking You,
Darshit Shah
Research Lead, Code Innovation
Kill Code Phobia.
B.E.(Hons.) Mechanical Engineering, '14. BITS-Pilani