summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc/wget/files/wget-1.21.3-hsts-type.patch')
-rw-r--r--net-misc/wget/files/wget-1.21.3-hsts-type.patch211
1 files changed, 0 insertions, 211 deletions
diff --git a/net-misc/wget/files/wget-1.21.3-hsts-type.patch b/net-misc/wget/files/wget-1.21.3-hsts-type.patch
deleted file mode 100644
index bac1330ddc79..000000000000
--- a/net-misc/wget/files/wget-1.21.3-hsts-type.patch
+++ /dev/null
@@ -1,211 +0,0 @@
-https://bugs.gentoo.org/850676
-https://git.savannah.gnu.org/cgit/wget.git/commit/?id=cb114fbbf73eb687d28b01341c8d4266ffa96c9d
-
-From: =?UTF-8?q?Tim=20R=C3=BChsen?= <tim.ruehsen@gmx.de>
-Date: Sun, 20 Mar 2022 12:18:20 +0100
-Subject: Fix HSTS portability by using int64_t instead of time_t.
-
-* src/hsts.c: Use int64_t instead of time_t.
-* src/http.c: Use int64_t for parsing Strict-Transport-Security.
---- a/src/hsts.c
-+++ b/src/hsts.c
-@@ -61,8 +61,8 @@ struct hsts_kh {
- };
-
- struct hsts_kh_info {
-- time_t created;
-- time_t max_age;
-+ int64_t created;
-+ int64_t max_age;
- bool include_subdomains;
- };
-
-@@ -166,7 +166,7 @@ end:
- static bool
- hsts_new_entry_internal (hsts_store_t store,
- const char *host, int port,
-- time_t created, time_t max_age,
-+ int64_t created, int64_t max_age,
- bool include_subdomains,
- bool check_validity,
- bool check_expired,
-@@ -216,21 +216,21 @@ bail:
- static bool
- hsts_add_entry (hsts_store_t store,
- const char *host, int port,
-- time_t max_age, bool include_subdomains)
-+ int64_t max_age, bool include_subdomains)
- {
-- time_t t = time (NULL);
-+ int64_t t = (int64_t) time (NULL);
-
- /* It might happen time() returned -1 */
-- return (t == (time_t)(-1) ?
-+ return (t == -1) ?
- false :
-- hsts_new_entry_internal (store, host, port, t, max_age, include_subdomains, false, true, false));
-+ hsts_new_entry_internal (store, host, port, t, max_age, include_subdomains, false, true, false);
- }
-
- /* Creates a new entry, unless an identical one already exists. */
- static bool
- hsts_new_entry (hsts_store_t store,
- const char *host, int port,
-- time_t created, time_t max_age,
-+ int64_t created, int64_t max_age,
- bool include_subdomains)
- {
- return hsts_new_entry_internal (store, host, port, created, max_age, include_subdomains, true, true, true);
-@@ -245,7 +245,7 @@ hsts_remove_entry (hsts_store_t store, struct hsts_kh *kh)
- static bool
- hsts_store_merge (hsts_store_t store,
- const char *host, int port,
-- time_t created, time_t max_age,
-+ int64_t created, int64_t max_age,
- bool include_subdomains)
- {
- enum hsts_kh_match match_type = NO_MATCH;
-@@ -276,11 +276,11 @@ hsts_read_database (hsts_store_t store, FILE *fp, bool merge_with_existing_entri
- size_t len = 0;
- int items_read;
- bool result = false;
-- bool (*func)(hsts_store_t, const char *, int, time_t, time_t, bool);
-+ bool (*func)(hsts_store_t, const char *, int, int64_t, int64_t, bool);
-
- char host[256];
- int port;
-- time_t created, max_age;
-+ int64_t created, max_age;
- int include_subdomains;
-
- func = (merge_with_existing_entries ? hsts_store_merge : hsts_new_entry);
-@@ -326,10 +326,9 @@ hsts_store_dump (hsts_store_t store, FILE *fp)
- struct hsts_kh *kh = (struct hsts_kh *) it.key;
- struct hsts_kh_info *khi = (struct hsts_kh_info *) it.value;
-
-- if (fprintf (fp, "%s\t%d\t%d\t%lu\t%lu\n",
-+ if (fprintf (fp, "%s\t%d\t%d\t%" PRId64 "\t%" PRId64 "\n",
- kh->host, kh->explicit_port, khi->include_subdomains,
-- (unsigned long) khi->created,
-- (unsigned long) khi->max_age) < 0)
-+ khi->created, khi->max_age) < 0)
- {
- logprintf (LOG_ALWAYS, "Could not write the HSTS database correctly.\n");
- break;
-@@ -439,7 +438,7 @@ hsts_match (hsts_store_t store, struct url *u)
- bool
- hsts_store_entry (hsts_store_t store,
- enum url_scheme scheme, const char *host, int port,
-- time_t max_age, bool include_subdomains)
-+ int64_t max_age, bool include_subdomains)
- {
- bool result = false;
- enum hsts_kh_match match = NO_MATCH;
-@@ -464,9 +463,9 @@ hsts_store_entry (hsts_store_t store,
- * 'created' field too. The RFC also states that we have to
- * update the entry each time we see HSTS header.
- * See also Section 11.2. */
-- time_t t = time (NULL);
-+ int64_t t = (int64_t) time (NULL);
-
-- if (t != (time_t)(-1) && t != entry->created)
-+ if (t != -1 && t != entry->created)
- {
- entry->created = t;
- entry->max_age = max_age;
-@@ -792,7 +791,7 @@ test_hsts_read_database (void)
- hsts_store_t table;
- char *file = NULL;
- FILE *fp = NULL;
-- time_t created = time(NULL) - 10;
-+ int64_t created = time(NULL) - 10;
-
- if (opt.homedir)
- {
-@@ -801,9 +800,9 @@ test_hsts_read_database (void)
- if (fp)
- {
- fputs ("# dummy comment\n", fp);
-- fprintf (fp, "foo.example.com\t0\t1\t%lu\t123\n",(unsigned long) created);
-- fprintf (fp, "bar.example.com\t0\t0\t%lu\t456\n", (unsigned long) created);
-- fprintf (fp, "test.example.com\t8080\t0\t%lu\t789\n", (unsigned long) created);
-+ fprintf (fp, "foo.example.com\t0\t1\t%" PRId64 "\t123\n", created);
-+ fprintf (fp, "bar.example.com\t0\t0\t%" PRId64 "\t456\n", created);
-+ fprintf (fp, "test.example.com\t8080\t0\t%" PRId64 "\t789\n", created);
- fclose (fp);
-
- table = hsts_store_open (file);
---- a/src/hsts.h
-+++ b/src/hsts.h
-@@ -46,7 +46,7 @@ bool hsts_store_has_changed (hsts_store_t);
-
- bool hsts_store_entry (hsts_store_t,
- enum url_scheme, const char *, int,
-- time_t, bool);
-+ int64_t, bool);
- bool hsts_match (hsts_store_t, struct url *);
-
- #endif /* HAVE_HSTS */
---- a/src/http.c
-+++ b/src/http.c
-@@ -1300,7 +1300,7 @@ parse_content_disposition (const char *hdr, char **filename)
-
- #ifdef HAVE_HSTS
- static bool
--parse_strict_transport_security (const char *header, time_t *max_age, bool *include_subdomains)
-+parse_strict_transport_security (const char *header, int64_t *max_age, bool *include_subdomains)
- {
- param_token name, value;
- const char *c_max_age = NULL;
-@@ -1330,7 +1330,7 @@ parse_strict_transport_security (const char *header, time_t *max_age, bool *incl
- * Also, time_t is normally defined as a long, so this should not break.
- */
- if (max_age)
-- *max_age = (time_t) strtol (c_max_age, NULL, 10);
-+ *max_age = (int64_t) strtoll (c_max_age, NULL, 10);
- if (include_subdomains)
- *include_subdomains = is;
-
-@@ -3184,9 +3184,6 @@ gethttp (const struct url *u, struct url *original_url, struct http_stat *hs,
- #else
- extern hsts_store_t hsts_store;
- #endif
-- const char *hsts_params;
-- time_t max_age;
-- bool include_subdomains;
- #endif
-
- int sock = -1;
-@@ -3674,21 +3671,24 @@ gethttp (const struct url *u, struct url *original_url, struct http_stat *hs,
- #ifdef HAVE_HSTS
- if (opt.hsts && hsts_store)
- {
-- hsts_params = resp_header_strdup (resp, "Strict-Transport-Security");
-+ int64_t max_age;
-+ const char *hsts_params = resp_header_strdup (resp, "Strict-Transport-Security");
-+ bool include_subdomains;
-+
- if (parse_strict_transport_security (hsts_params, &max_age, &include_subdomains))
- {
- /* process strict transport security */
- if (hsts_store_entry (hsts_store, u->scheme, u->host, u->port, max_age, include_subdomains))
-- DEBUGP(("Added new HSTS host: %s:%u (max-age: %lu, includeSubdomains: %s)\n",
-+ DEBUGP(("Added new HSTS host: %s:%" PRIu32 " (max-age: %" PRId64 ", includeSubdomains: %s)\n",
- u->host,
-- (unsigned) u->port,
-- (unsigned long) max_age,
-+ (uint32_t) u->port,
-+ max_age,
- (include_subdomains ? "true" : "false")));
- else
-- DEBUGP(("Updated HSTS host: %s:%u (max-age: %lu, includeSubdomains: %s)\n",
-+ DEBUGP(("Updated HSTS host: %s:%" PRIu32 " (max-age: %" PRId64 ", includeSubdomains: %s)\n",
- u->host,
-- (unsigned) u->port,
-- (unsigned long) max_age,
-+ (uint32_t) u->port,
-+ max_age,
- (include_subdomains ? "true" : "false")));
- }
- xfree (hsts_params);
-cgit v1.1