Commit Graph

  • b804ee2da1 htsparse: keep makestat_time out of ENGINE_SET_CONTEXT htsparse-t0-bugfixes Xavier Roche 2026-07-01 10:50:42 +02:00
  • 20317cb85b htsparse: free the cache buffer in HT_ADD_END Xavier Roche 2026-07-01 10:50:42 +02:00
  • 98e382390b htsparse: reserve 6x room for full HTML-escaping, not 5x Xavier Roche 2026-07-01 10:50:15 +02:00
  • 694e45c698 Collapse the 5 inplace_escape_* bodies into one shared helper (#464) master Xavier Roche 2026-06-30 09:14:15 +02:00
  • 417a60d6a3 Collapse the 5 inplace_escape_* bodies into one shared helper inplace-escape-helper Xavier Roche 2026-06-29 19:52:01 +02:00
  • db9ec2cc3b Replace duplicated HT_INDEX_END macro with a shared function (#463) Xavier Roche 2026-06-30 08:49:34 +02:00
  • 6a9ab2a11f Fix macro-hygiene defects in htsstrings.h (dup define, double-eval) (#462) Xavier Roche 2026-06-30 08:49:01 +02:00
  • 02796dff34 Fix macro-hygiene defects in htsstrings.h (dup define, double-eval) string-macro-hygiene Xavier Roche 2026-06-29 19:48:41 +02:00
  • f0cb0b18d7 Replace duplicated HT_INDEX_END macro with a shared function worktree-agent-a8410efcedcd83eb2 Xavier Roche 2026-06-29 19:51:46 +02:00
  • 13b31986d5 tests: skip connect-fallback test on GNU/Hurd (#461) Xavier Roche 2026-06-29 19:40:07 +02:00
  • e141124c9f tests: skip connect-fallback test on GNU/Hurd hurd-connect-fallback-probe Xavier Roche 2026-06-29 17:59:29 +02:00
  • bd7e0989f6 Parse robots.txt with RFC 9309 Allow/Disallow precedence (#458) Xavier Roche 2026-06-29 09:07:54 +02:00
  • d4e1b72a4b Parse robots.txt with RFC 9309 Allow/Disallow precedence robots-rfc9309-452 Xavier Roche 2026-06-28 23:31:30 +02:00
  • bd74ec7cab Advertise deflate in Accept-Encoding and decode it (#459) Xavier Roche 2026-06-29 08:54:03 +02:00
  • e2e6a4d4e4 Advertise deflate in Accept-Encoding and decode it accept-encoding-deflate-450 Xavier Roche 2026-06-28 23:33:01 +02:00
  • 1ed8ffad64 tests: group zlib-dependent self-tests under 01_zlib-* (#460) Xavier Roche 2026-06-29 08:39:43 +02:00
  • 2d71f27659 tests: group zlib-dependent self-tests under 01_zlib-* tests/zlib-prefix-convention Xavier Roche 2026-06-29 08:34:01 +02:00
  • b68de172fa Follow <source>/<track> as embedded near-links (#451) (#457) Xavier Roche 2026-06-29 00:18:28 +02:00
  • aabfd34380 Refresh minor legacy constants (#453) (#456) Xavier Roche 2026-06-29 00:12:17 +02:00
  • 2a5fa17f41 Refresh minor legacy constants (#453) minor-legacy-constants-453 Xavier Roche 2026-06-28 23:25:20 +02:00
  • 5d0ae89e36 Follow <source>/<track> as embedded near-links (#451) html5-resource-coverage-451 Xavier Roche 2026-06-28 23:30:03 +02:00
  • ab1535edb0 Modernize the default User-Agent (#449) ua-modernize-449 Xavier Roche 2026-06-28 23:07:14 +02:00
  • 65ff9e0f11 Modernize the default User-Agent (#449) (#455) Xavier Roche 2026-06-28 23:18:28 +02:00
  • 730a1c8c5b Add modern web MIME types to the type/extension table (#454) Xavier Roche 2026-06-28 22:53:48 +02:00
  • e2c0341297 Add modern web MIME types to the type/extension table mime-table-refresh-448 Xavier Roche 2026-06-28 22:21:18 +02:00
  • 141d065a04 debian: 3.49.10-2, fix buildd FTBFS via quilt patch debian-3.49.10-2 Xavier Roche 2026-06-28 20:19:47 +02:00
  • f9ee4702a2 tests: skip 28_local-pause without python3; add a buildd-reproducing CI job (#445) Xavier Roche 2026-06-28 20:12:49 +02:00
  • f578bede0c ci: add a no-python3 job reproducing the Debian buildd chroot fix-pause-test-skip Xavier Roche 2026-06-28 20:02:47 +02:00
  • 45279d7357 tests: skip 28_local-pause when python3 is absent (Debian buildd) Xavier Roche 2026-06-28 19:49:47 +02:00
  • cca83e5f4a Modernize HTML entity decoding to the WHATWG named character references (#444) Xavier Roche 2026-06-28 15:29:03 +02:00
  • 6fb5f71806 entities: harden the generator collision guard and widen test coverage entities-html5-fnv1a Xavier Roche 2026-06-28 15:23:40 +02:00
  • e65f556a1b Modernize HTML entity decoding to the WHATWG named character references Xavier Roche 2026-06-28 15:07:04 +02:00
  • 97f398e508 Release 3.49.10 (#442) 3.49.10 Xavier Roche 2026-06-28 14:26:50 +02:00
  • aecbaa9993 Release 3.49.10 release-3.49.10 Xavier Roche 2026-06-28 14:07:07 +02:00
  • a62f93a107 Strip the #fragment from a redirect Location before fetching (#204) (#441) Xavier Roche 2026-06-28 13:52:21 +02:00
  • 084d2009ed test(#204): strict-server guard so a leaked fragment is a wire-level failure fix/redirect-fragment-204 Xavier Roche 2026-06-28 13:50:39 +02:00
  • c40cec1627 Strip the #fragment from a redirect Location before fetching (#204) Xavier Roche 2026-06-28 13:19:53 +02:00
  • 799ec88dc7 filters: fix escaped brackets inside *[...] character classes (#440) Xavier Roche 2026-06-28 12:56:11 +02:00
  • c292454271 filters: fix a 1-byte over-read on a truncated range *[a- fix/strjoker-escaped-bracket-148 Xavier Roche 2026-06-28 12:24:09 +02:00
  • 71af4a24f0 lang: add a translation guide and fix the English colon spacing (#439) Xavier Roche 2026-06-28 12:45:07 +02:00
  • 7ca9b5c97a lang: add a translation guide and fix the English colon spacing i18n/translate-doc-colon-74-75 Xavier Roche 2026-06-28 11:57:04 +02:00
  • e0d74976e7 filters: decode escaped chars correctly inside *[...] classes Xavier Roche 2026-06-28 12:08:41 +02:00
  • e17f4f12a0 Add --pause to space out file downloads by a random delay (#185) (#438) Xavier Roche 2026-06-28 11:34:56 +02:00
  • 896a589f94 Add --pause to space out file downloads by a random delay (#185) feat/pause-files-185 Xavier Roche 2026-06-27 23:29:24 +02:00
  • 5be8ba4bbd Add --cookies-file to preload a Netscape cookies.txt (#215) (#437) Xavier Roche 2026-06-27 22:57:05 +02:00
  • cc35193335 Add --cookies-file to preload a Netscape cookies.txt (#215) feat/cookies-file-215 Xavier Roche 2026-06-27 21:45:01 +02:00
  • 247a46068e debian: lead webhttrack browser dep with chromium, not firefox-esr (#436) Xavier Roche 2026-06-27 20:44:30 +02:00
  • 98bacadda7 debian: lead webhttrack browser dep with chromium, not firefox-esr deb/webhttrack-browser-dep-reorder Xavier Roche 2026-06-27 20:30:31 +02:00
  • 669947cd23 Split -%u URL Hacks into independent www/slash/query toggles (#271) (#435) Xavier Roche 2026-06-27 20:26:28 +02:00
  • 600001b282 Split -%u URL Hacks into independent www/slash/query toggles (#271) fix/urlhack-split-271 Xavier Roche 2026-06-27 20:03:19 +02:00
  • 40a66600ff Add --strip-query to drop query keys from dedup naming (#112) (#434) Xavier Roche 2026-06-27 11:13:16 +02:00
  • 6d1b67792e Add --strip-query to drop query keys from dedup naming (#112) feature/query-param-handling Xavier Roche 2026-06-27 09:52:13 +02:00
  • 768756e231 ci: add a MemorySanitizer job for the offline engine self-tests (#433) Xavier Roche 2026-06-27 08:40:22 +02:00
  • 0133da24b5 ci: add a MemorySanitizer job for the offline engine self-tests ci/msan-job Xavier Roche 2026-06-26 22:13:37 +02:00
  • b138c87a93 filtersize self-test: parse the size with sscanf(LLintP), and lock the '>' operator (#432) Xavier Roche 2026-06-26 22:01:14 +02:00
  • fe785c51a7 filtersize self-test: parse the size with sscanf(LLintP), and lock the '>' operator fix/filtersize-portability Xavier Roche 2026-06-26 21:41:41 +02:00
  • 3de47433b7 Keep size-based filter rules neutral until the file size is known (#143) (#431) Xavier Roche 2026-06-26 21:21:54 +02:00
  • 0edf5e3cde Keep size-based filter rules neutral until the file size is known (#143) fix/filters-143-144 Xavier Roche 2026-06-26 21:11:01 +02:00
  • fb8827718e htscore: report why a -%L URL list could not be loaded (#49) (#430) Xavier Roche 2026-06-26 20:49:20 +02:00
  • 74d6326413 htscore: report why a -%L URL list could not be loaded (#49) fix/filelist-diag-49 Xavier Roche 2026-06-26 20:37:06 +02:00
  • 7228210061 Abort the download when the response MIME type is excluded by -mime: (#58) (#429) Xavier Roche 2026-06-26 20:10:37 +02:00
  • 5a78806cae Abort the download when the response MIME type is excluded by -mime: (#58) fix/mime-exclude-abort-58 Xavier Roche 2026-06-26 18:58:30 +02:00
  • 38882c0aee Honor the server's Content-Range when resuming a partial download (#198) (#428) Xavier Roche 2026-06-26 17:42:26 +02:00
  • 7754a5b2b9 tests: run 24_local-resume-overlap under set -e fix/pdf-corruption-198 Xavier Roche 2026-06-26 09:37:15 +02:00
  • 828bdbd632 Harden #198 fix: verify the truncate, assert the test hit the resume path Xavier Roche 2026-06-26 09:26:10 +02:00
  • 5640bb6837 Honor the server's Content-Range when resuming a partial download (#198) Xavier Roche 2026-06-26 09:11:31 +02:00
  • bfc4a016ab Replace single-letter -# self-tests with a named -#test=NAME registry (#427) Xavier Roche 2026-06-26 08:05:59 +02:00
  • 0a21ec9acf Replace single-letter -# self-tests with a named -#test=NAME registry selftest-named-dispatch Xavier Roche 2026-06-26 07:34:51 +02:00
  • 756d8fb8bd Stop the mirror with a fatal error on a cache write failure, don't crash (#174/#219) (#426) Xavier Roche 2026-06-26 06:46:59 +02:00
  • f900ca5efd Stop the mirror with a fatal error on a cache write failure, don't crash (#174/#219) fix/cache-zip-write-abort-174-219 Xavier Roche 2026-06-25 23:16:44 +02:00
  • 5501faa7b1 tests: lock "no error pages" (-o0) write-suppression (#17) (#425) Xavier Roche 2026-06-25 18:02:28 +02:00
  • 09e3b80520 tests: lock "no error pages" (-o0) write-suppression (#17) tests/errpage-purge-17 Xavier Roche 2026-06-25 17:40:01 +02:00
  • 6322b6fb1f Lock --tolerant (-%B) on broken Content-Length, and fix an OOB it surfaced (#32/#41) (#424) Xavier Roche 2026-06-25 17:18:06 +02:00
  • a16a7bdc10 htslib: fix global-buffer-overflow in get_httptype_sized on empty filename tests/broken-size-tolerant-32-41 Xavier Roche 2026-06-25 09:46:25 +02:00
  • af476dad00 tests: lock --tolerant (-%B) behavior on broken Content-Length (#32/#41) Xavier Roche 2026-06-25 09:33:42 +02:00
  • 58f368a91a tests: lock special-char URL naming across an update (#157) (#423) Xavier Roche 2026-06-24 22:35:55 +02:00
  • 82d1de5d06 tests: lock special-char URL naming across an update (#157) fix/update-ext-mangle-157 Xavier Roche 2026-06-24 21:43:03 +02:00
  • c97b3e233e Stop the 412/416 partial-reget loop on continue/update (#206) (#422) Xavier Roche 2026-06-24 21:12:40 +02:00
  • 63671fb4cf Stop the 412/416 partial-reget loop on continue/update (#206) fix-206-update-loop Xavier Roche 2026-06-24 18:53:56 +02:00
  • b615a4e7fd Keep unrecognized URL tails instead of mangling them to .html (#421) Xavier Roche 2026-06-24 18:33:52 +02:00
  • 174bc565fc Keep unrecognized URL tails instead of mangling them to .html fix-delayed-type-mangle Xavier Roche 2026-06-24 18:09:14 +02:00
  • 594cf0da39 debian: override embedded-library for bundled minizip, lint under debian:sid (#419) Xavier Roche 2026-06-22 22:27:18 +02:00
  • 2b41658128 debian: override embedded-library for bundled minizip, lint under debian:sid lintian-minizip-override Xavier Roche 2026-06-22 22:10:24 +02:00
  • 3845cd1fb3 Store the DNS cache in a coucal hashtable (#420) Xavier Roche 2026-06-22 21:18:53 +02:00
  • ee04664a35 Store the DNS cache in a coucal hashtable dns-coucal-cache Xavier Roche 2026-06-22 21:12:48 +02:00
  • 94bffb0804 Fall back to the next address when a connect fails or stalls (#418) Xavier Roche 2026-06-22 20:56:18 +02:00
  • 0bea390973 Add HTTRACK_DEBUG_RESOLVE and a deterministic connect-fallback test dns-multiaddr-fallback Xavier Roche 2026-06-22 20:37:28 +02:00
  • 67af1c2f0b Fall back to the next address when a connect fails or stalls Xavier Roche 2026-06-22 20:37:28 +02:00
  • 542d6a56b5 Resolve hosts to multiple addresses and cache the full list Xavier Roche 2026-06-22 19:19:48 +02:00
  • a5c86e7e89 Add a mockable resolver backend and a DNS resolver/cache self-test (#417) Xavier Roche 2026-06-22 19:03:55 +02:00
  • 71bece09fd Add a mockable resolver backend and a DNS resolver/cache self-test dns-resolver-mockable-seam Xavier Roche 2026-06-22 18:33:41 +02:00
  • 54f5717057 Silence coucal hashtable stats on the default log handler (#416) Xavier Roche 2026-06-22 09:03:59 +02:00
  • 1ba5ed461d Silence coucal hashtable stats on the default log handler silence-coucal-stats Xavier Roche 2026-06-22 08:58:17 +02:00
  • 40fc9de360 debian: rewrite copyright in DEP-5 format, credit all authors (#415) Xavier Roche 2026-06-22 08:04:19 +02:00
  • 6fcd0a16e9 debian: rewrite copyright in DEP-5 format, credit all authors debian-copyright-dep5 Xavier Roche 2026-06-22 07:50:54 +02:00
  • 4614eefefe Release 3.49.9 (#414) 3.49.9 Xavier Roche 2026-06-21 18:12:07 +02:00
  • d7077a1968 Release 3.49.9 release/3.49.9 Xavier Roche 2026-06-21 18:00:19 +02:00
  • b0e8262db0 htsglobal: int-back hts_boolean (and add hts_tristate) for C++ source-compat (#413) Xavier Roche 2026-06-21 17:51:09 +02:00
  • 3e600cff67 htsglobal: int-back hts_boolean (and add hts_tristate) for C++ source-compat fix/option-fields-tristate Xavier Roche 2026-06-21 16:55:00 +02:00
  • addbd3136b Use an unknown/unknown sentinel for an absent Content-Type (#412) Xavier Roche 2026-06-21 10:44:12 +02:00