Module Name: src
Committed By: martin
Date: Mon Jan 15 16:12:08 UTC 2024
Modified Files:
src/usr.bin/ftp [netbsd-10]: fetch.c
Log Message:
Pull up following revision(s) (requested by mlelstv in ticket #555):
usr.bin/ftp/fetch.c: revision 1.237
usr.bin/ftp/fetch.c: revision 1.238
Fix HTTPS through Proxy.
While a regular HTTP Proxy, requires the absolute URL with protocol
and host part, yyou must only send the relative URL through a
CONNECT tunnel (you are talking to the target server).
Don't finish downloading an empty file with 'already done' before it is
created locally.
To generate a diff of this commit:
cvs rdiff -u -r1.235.2.1 -r1.235.2.2 src/usr.bin/ftp/fetch.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/usr.bin/ftp/fetch.c
diff -u src/usr.bin/ftp/fetch.c:1.235.2.1 src/usr.bin/ftp/fetch.c:1.235.2.2
--- src/usr.bin/ftp/fetch.c:1.235.2.1 Tue May 16 16:16:00 2023
+++ src/usr.bin/ftp/fetch.c Mon Jan 15 16:12:08 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: fetch.c,v 1.235.2.1 2023/05/16 16:16:00 martin Exp $ */
+/* $NetBSD: fetch.c,v 1.235.2.2 2024/01/15 16:12:08 martin Exp $ */
/*-
* Copyright (c) 1997-2015 The NetBSD Foundation, Inc.
@@ -37,7 +37,7 @@
#include <sys/cdefs.h>
#ifndef lint
-__RCSID("$NetBSD: fetch.c,v 1.235.2.1 2023/05/16 16:16:00 martin Exp $");
+__RCSID("$NetBSD: fetch.c,v 1.235.2.2 2024/01/15 16:12:08 martin Exp $");
#endif /* not lint */
/*
@@ -801,7 +801,12 @@ handle_proxy(const char *url, const char
}
FREEPTR(pui.path);
- pui.path = ftp_strdup(url);
+#ifdef WITH_SSL
+ if (ui->utype == HTTPS_URL_T)
+ pui.path = ftp_strdup(ui->path);
+ else
+#endif
+ pui.path = ftp_strdup(url);
freeurlinfo(ui);
*ui = pui;
@@ -1647,9 +1652,10 @@ fetch_url(const char *url, const char *p
}
}
if (fout == NULL) {
- if ((pi.rangeend != -1 && pi.rangeend <= restart_point) ||
+ if (restart_point && (
+ (pi.rangeend != -1 && pi.rangeend <= restart_point) ||
(pi.rangestart == -1 &&
- filesize != -1 && filesize <= restart_point)) {
+ filesize != -1 && filesize <= restart_point))) {
/* already done */
if (verbose)
fprintf(ttyout, "already done\n");