number,priority,module,title,state,root_cause_group,required_action,evidence 1344,P1,dns-ipv6,Getting several errorCode=8 Invalid range header results,fixed-verified,http-content-range-tolerance,fixed-verified,"Fixed HTTP Content-Range validation to accept explicit ranged responses whose start byte matches the requested segment, whose response end byte covers the requested end byte, and whose entity length is not smaller than the known file length. This preserves rejection for shifted starts, missing entity length, shorter entity length, and open-ended Range responses with mismatched totals. Regression coverage added in tests/HttpRequestTest.cc. Verification: make -C src libaria2.la && make -C tests HttpRequestTest.o aria2c && cd tests && ./aria2c => OK (994)." 441,P1,rpc-websocket,Aria2 sometimes hangs during downloading several files,needs-architecture/no-code,single-thread-global-rate-limit-and-io-pressure,no-code,"The hang reports cluster around max-overall-download-limit, large simultaneous downloads, TLS/disk-cache activity, and a single event-loop architecture. Comments identify the global rate limiter as the trigger and users avoid the issue by disabling max-overall-download-limit. Current source performs command execution, throttling, disk writes, TLS reads, and RPC handling on the same DownloadEngine loop. A safe fix would require a designed scheduler/async I/O change, not a small isolated patch from the retained evidence." 690,P1,bittorrent-dht,aria2c totally freezes for seconds,needs-architecture/no-code,single-thread-high-speed-bt-io-pressure,no-code,The high-speed BitTorrent freeze reproductions show multi-second log gaps at 500 Mbps with many peers and large torrents. Follow-up evidence points to filesystem/kernel page cache pressure and single-thread disk/network scheduling rather than a pinpointed function bug; BTRFS rebalance reduced stalls. Current source still uses synchronous disk writes and cache flushes inside the main command loop. No minimal source defect is isolated beyond the contiguous write coalescing fixed for #2116. 708,P1,filesystem-session,aria2c crashed with no apparent reason,already-fixed,crash-with-insufficient-repro,no-code,"Windows crash logs from 1.25.0 had no usable stack, but maintainer isolated the last activity around DHT periodicTaskQueue2 and later cited commit 8cdcb71308b79719d5834b485392558d7cdfab77 as a possible fix. That commit is present in this fork, and the reporter could no longer reproduce on later 1.27.1/debug builds. No current reproducible crash remains." 1476,P1,filesystem-session,Segv in v1.35.0 test suite,not-reproducible/no-code,old-toolchain-tests-crash,no-code,"Historical v1.35.0 test-suite segfault in GCC 9/cppunit environments. The supplied backtrace reaches FileEntryTest::testExtractURIResult through FileEntry::extractURIResult, but the current focused FileEntryTest coverage exercises the same behavior and the current local test binary does not reproduce the memory crash. The reporter later noted it stopped segfaulting, so this remains an old toolchain/runtime interaction without a confirmed current source defect." 925,P1,dns-ipv6,Aria2 can not continue bittorrent download after the restart,config-or-documented-behavior,path-session-option-semantics,config-or-documented-behavior,Behavior matches existing option semantics or needs docs unless current code violates documented behavior; verify with focused tests before changing. 1801,P1,tls-cert,Windows error with https only,platform-or-config,wintls-schannel-policy,platform-or-config,"Schannel revocation, cipher, and protocol policy depend on OS capabilities; likely needs backend documentation or optional policy knobs, not a generic aria2 core fix." 542,P1,bittorrent-dht,Aria2 freezes in some torrents in OpenWrt,environment-or-io-bound/no-code,embedded-storage-sync-io-pressure,no-code,"OpenWrt freeze reports show process state D on low-power router hardware and USB/exFAT/ext storage. Maintainer explained aria2 does not use asynchronous disk writes and BitTorrent causes random I/O; later users reported newer OpenWrt/aria2 builds improved behavior. This is an embedded storage and synchronous I/O capacity issue, not a current isolated bug with a small source fix." 1391,P1,dns-ipv6,"bt,magnet can not work",not-reproducible/no-code,bt-swarm-or-rpc-input-specific,no-code,"Mixed BitTorrent and magnet reports do not provide a stable current torrent fixture. Comments show at least one provided torrent was downloadable by aria2 from source, but slow; a later report is RPC-specific and uses a magnet with urn:sha1 rather than a BitTorrent btih info hash, which current parseMagnet correctly rejects. No shared current source defect is confirmed." 1027,P1,http-range-retry,"""header"" not works in this download link",site-or-usage,remote-site-or-option-usage,site-or-usage,"Report is site-specific, auth/cookie/header usage, or TLS backend selection; reproduce current URL before any code change." 1932,P1,dns-ipv6,"Download fails with HTTP 403, but other applications succeed",site-or-usage,remote-site-or-option-usage,site-or-usage,"Report is site-specific, auth/cookie/header usage, or TLS backend selection; reproduce current URL before any code change." 667,P1,bittorrent-dht,aria2 will freeze for a while when the download speed more than 600KB per second,environment-or-io-bound/no-code,embedded-storage-sync-io-pressure,no-code,"The OpenWrt router report shows process state D, high I/O wait, FAT/NTFS USB storage, disk-cache=0, many trackers, and constrained memory. Maintainer advised faster storage, disk-cache=0 for memory pressure, and jemalloc for heap fragmentation. The retained evidence does not identify a current source leak or deadlock; it is resource exhaustion on embedded storage." 2275,P1,dns-ipv6,aria2 does not escape `#` in URL,environment-or-network/no-code,url-fragment-shell-wrapper,no-code,"The reported URL fragment handling does not reproduce in the issue comments: official Windows builds and Scoop downloaded the same URL successfully without escaping #. Later evidence showed the failing machine selected an unreachable IPv6 path, and curl --ipv6 failed as well. Current source treats # as part of the HTTP request target path only after URI parsing; no source defect is confirmed." 1362,P1,tls-cert,80092013,platform-or-config,wintls-schannel-policy,platform-or-config,"Schannel revocation, cipher, and protocol policy depend on OS capabilities; likely needs backend documentation or optional policy knobs, not a generic aria2 core fix." 2277,P1,dns-ipv6,aria2 TLS 1.3 handshake issue on macOS,platform-limited/no-code,tls13-backend-capability,no-code,"AppleTLS issue is backend capability, not generic aria2 TLS selection. The report uses Apple SecureTransport, and the code path in src/AppleTLSSession.cc uses SSLSetProtocolVersionMin/SSLSetEnabledCiphers from SecureTransport. Apple has deprecated SecureTransport and its documented protocol support does not provide a reliable TLS 1.3 client path equivalent to modern Network.framework/OpenSSL. The practical fix is to build macOS TLS 1.3 support with OpenSSL/GnuTLS or replace the AppleTLS backend; that is a larger backend migration, not a small aria2 bug fix in this issue pass." 183,P1,bittorrent-dht,High CPU and frequent disconnects in Windows PE,environment-or-platform/no-code,winpe-hash-and-disk-spike,no-code,"Windows PE high CPU/disconnect report is historical and platform-specific. Maintainer observed CPU spikes around disk I/O, but the log still showed download progress and Windows outside PE could reach 50 MB/s. The reporter later changed seeding clients and did not provide a current reproducible trace. No current source defect is confirmed." 1418,P1,dns-ipv6,Could not connect to the aria2 RPC server,environment-or-network,rpc-or-lan-networking,environment-or-network,LAN/RPC connectivity reports are mostly firewall/proxy/listen-host/network environment unless source evidence says otherwise. 1547,P1,dns-ipv6,Exception (SocketCore.cc) Error in the pull function,fixed-verified,client-tls-handshake-retry,fixed-verified,Fixed the client TLS failure classification shared with #1399. HTTPS handshake failures caused by peer resets or TLS pull errors now enter the normal retry path instead of aborting the whole download immediately. Regression coverage added in tests/SocketCoreTest.cc. Verification: make -C src SocketCore.lo libaria2.la && make -C tests SocketCoreTest.o aria2c && cd tests && ./aria2c SocketCoreTest::testClientTlsHandshakeRemoteCloseIsRetriable => OK (996). 304,P1,tls-cert,Aria2c daemon always at D state when downloading bittorrent files,environment-or-io-bound/no-code,bt-d-state-sync-io-pressure,no-code,"The Arch daemon D-state report used aggressive RPC polling, 128 concurrent downloads, split=32, max connections, force-sequential, and BitTorrent writes. D state means the process is blocked in a system call, and the issue only appeared while active downloading, not idle/seeding. This maps to synchronous filesystem I/O pressure and configuration scale; no current minimal source fix is isolated." 826,P1,dns-ipv6,Parallel IPv6 and IPv4 downloading,fixed-verified,async-dns-family-completion,no-further-action,"Fixed by waiting for all resolver families when only AAAA has succeeded and A is still pending or failed, while preserving the IPv4 success fast path. Evidence: src/AsyncNameResolverMan.cc, tests/AsyncNameResolverManTest.cc, make -C tests aria2c -j2, and ./aria2c from tests directory passed OK (986)." 1460,P1,bittorrent-dht,Open connection over 3000 while bit torrent downloads cause high cpu usage,documented-scaling-limit/no-code,bt-connection-count-single-core-limit,no-code,"The report intentionally sets bt-max-peers=0 and drives 2500-3000 BitTorrent connections. Comments note that one busy core is expected in aria2 because its network/event processing is largely single-threaded, and similar clients cap peers lower. This is a scaling limit and configuration hazard rather than a discrete bug fix." 1855,P1,dns-ipv6,problem downloading,usage-or-config/no-code,async-dns-environment,no-code,"Windows BitTorrent no-connection report has no torrent fixture and no deterministic reproduction. Follow-up comments isolate the workaround to --async-dns=false after DNS lookups failed despite other programs working. This maps to resolver/environment configuration, not a confirmed current BitTorrent source defect." 2280,P1,tls-cert,Aria2 broken files when called from windows 11 .cmd or .bat,fixed-verified,conditional-get-restart-from-scratch,fixed-verified,Fixed conditional HTTP downloads that receive a 200 OK replacement entity after redirect to restart the local output from scratch instead of treating an unrelated existing file as a completed prefix under --continue. Regression coverage added in tests/RequestGroupTest.cc. Red evidence: the new tests first failed with completed length 1024 instead of 0. Verification: make -C src RequestGroup.lo HttpResponseCommand.lo libaria2.la && make -C tests RequestGroupTest.o aria2c && cd tests && ./aria2c RequestGroupTest::testLoadAndOpenFileRestartFromScratch => OK (995). 716,P1,dns-ipv6,High Speed Performance Problems,performance-limitation/no-code,windows-http-throughput-unprofiled,no-code,"Windows single-file throughput below IDM/FDM was reported on aria2 1.25.0 with high disk-cache, auth, RPC, and logging. Maintainer suggested min-split-size and log verbosity; disabling logging improved speed only slightly. The retained evidence lacks current profiling, server trace, or a reproducible tests URL. No specific current source defect is isolated." 1070,P1,dns-ipv6,"Torrent directory path too long - ""The system cannot find the path specified.""",config-or-documented-behavior,path-session-option-semantics,config-or-documented-behavior,Behavior matches existing option semantics or needs docs unless current code violates documented behavior; verify with focused tests before changing. 1548,P1,dns-ipv6,IPv6 websites downloads don't start if IPv4 is locally available,fixed-verified,async-dns-family-completion,no-further-action,"Fixed by waiting for all resolver families when only AAAA has succeeded and A is still pending or failed, while preserving the IPv4 success fast path. Evidence: src/AsyncNameResolverMan.cc, tests/AsyncNameResolverManTest.cc, make -C tests aria2c -j2, and ./aria2c from tests directory passed OK (986)." 1549,P1,dns-ipv6,aria2 downloads error but wget works fine,environment-or-network/no-code,ipv6-route-or-hosts-environment,no-code,"The original Windows report resolved mirrors.tuna.tsinghua.edu.cn to IPv4 and IPv6 but aria2 failed with unreachable network. Comments report --disable-ipv6 fixes the same error, and another current comment found blocked hosts-file entries. The evidence points to local IPv6 route or host mapping state; no current source change is justified without a reproducible resolver failure." 1951,P1,dns-ipv6,macOS M1 pro has zero download speed while using aria2,needs-platform-reproduction/no-code,macos-arm-bt-dht-throughput,no-code,"macOS M1 BitTorrent zero or very low speed remains platform-specific. Comments say the same config works inside a Linux Docker VM and suspect DHT connectivity on macOS/Homebrew builds, but the dataset has no packet trace, DHT logs, or reproducible fixture. Current source has separate DHT/DHT6 setup paths; a platform fix needs macOS reproduction and network diagnostics before code changes." 689,P1,bittorrent-dht,The -o parameter in aria2c can't rename the downloaded file,config-or-documented-behavior,path-session-option-semantics,config-or-documented-behavior,Behavior matches existing option semantics or needs docs unless current code violates documented behavior; verify with focused tests before changing. 788,P1,dns-ipv6,Can't download magnet using 1.28 & 1.29,fixed-verified,magnet-numbered-tracker-parameters,fixed-verified,"Confirmed source defect: magnet::parse stored non-standard numbered tracker parameters such as tr.1 and tr.2 under their literal keys, while parseMagnet only reads tr. The fix canonicalizes tr. to tr before building the tracker list, preserving regular tr handling. Regression coverage added in tests/MagnetTest.cc::testParseNumberedTracker. Verification: make -C src magnet.lo && make -C tests aria2c => OK; full test binary can run outside the default sandbox but does not emit a reliable cppunit summary in this environment." 1115,P1,http-range-retry,Corrupted download,fixed-verified,http-corruption-on-partial-error,fixed-verified,Fixed and verified: HTTP partial responses with Transfer-Encoding but no Content-Range are rejected in src/HttpResponse.cc before any body is written to a range segment. Regression tests HttpResponseTest::testValidateResponse_rejectsTransferEncodedRange fails on the old behavior and passes after the fix; verified with make -C src HttpResponse.lo libaria2.la && make -C tests HttpResponseTest.o aria2c && cd tests && ./aria2c HttpResponseTest::testValidateResponse_rejectsTransferEncodedRange (OK 997). 1399,P1,tls-cert,No retries on SSL errors,fixed-verified,client-tls-handshake-retry,fixed-verified,"Fixed client-side TLS handshake failures to raise DlRetryEx instead of DlAbortEx, so HTTPS downloads now use the existing max-tries retry path for transient SSL I/O errors. Regression coverage added in tests/SocketCoreTest.cc with a local peer that closes during client TLS handshake. Red evidence: the new tests first failed because SocketCore threw an abort exception. Verification: make -C src SocketCore.lo libaria2.la && make -C tests SocketCoreTest.o aria2c && cd tests && ./aria2c SocketCoreTest::testClientTlsHandshakeRemoteCloseIsRetriable => OK (996)." 1429,P1,build-tests,tests fails,not-reproducible/no-code,old-toolchain-tests-crash,no-code,"2019 make check segfault report after toolchain update. The only concrete stack later shared for the duplicate cluster points at FileEntryTest::testExtractURIResult and std::deque destruction in the tests process, but the current source keeps FileEntry::extractURIResult covered by FileEntryTest and the current local test binary does not segfault. Reporter later said the segfault stopped. No current source defect is confirmed without the old GCC/cppunit environment." 1602,P1,dns-ipv6,Loading Chrome's cookies fails with no explanation,no-code,sqlite-cookie-schema-compat,no-code,"Chromium cookie loading reaches the Chromium parser after the expected Firefox parser fallback, but modern Chrome stores protected values in encrypted_value and aria2 has no browser keychain decryption layer. The issue report itself used an external decryptor and then a Cookie header workaround. No safe core parser change can recover encrypted Chrome cookies without adding platform credential integration, so this is classified as an unsupported browser-encryption limitation rather than a schema fix." 1720,P1,dns-ipv6,"uTorrent can get metadata (list files), but Aria2 cannot get it",environment-or-swarm/no-code,archive-org-metadata-availability,no-code,"The report is specific to archive.org magnets where uTorrent could list files but aria2 stayed in metadata mode; other torrents reportedly worked. Current source implements ut_metadata negotiation, metadata_size validation, metadata piece requests, and --bt-metadata-only/--bt-save-metadata handling. Without a stable current archive.org peer trace or failing fixture, this remains swarm/site behavior rather than an actionable source defect." 1863,P1,bittorrent-dht,core dump in replacement_assert GZipEncoder6encode,fixed-verified,gzip-json-rpc-assertion,fixed-verified,Fixed GZipEncoder output accumulation to append binary deflate output by pointer and length instead of using unsigned char iterator ranges that can trip libstdc++ checked-iterator assertions in RPC gzip response compression. Regression coverage added in tests/GZipEncoderTest.cc for binary chunk round-trip compression. Verification: make -C src libaria2.la && make -C tests GZipEncoderTest.o aria2c && cd tests && ./aria2c => OK (991). 2033,P1,dns-ipv6,ERROR Checksum error detected before download with check-integrity=true,fixed-verified,checksum-before-download,fixed-verified,"Fixed misleading pre-download BitTorrent integrity reporting: incomplete BT piece-hash validation before downloading now continues into normal BT file allocation without logging a final checksum error, while hash-check-only still reports incomplete validation as an error. Regression coverage added in tests/BtPostDownloadHandlerTest.cc. Red verification: forcing the old policy made ./aria2c BtPostDownloadHandlerTest::testBtIncompleteHashCheckReportPolicy fail with assertion !entry.shouldReportIncompleteAsError(). Green verification: make -C src BtCheckIntegrityEntry.lo libaria2.la && make -C tests BtPostDownloadHandlerTest.o aria2c && cd tests && ./aria2c BtPostDownloadHandlerTest::testBtIncompleteHashCheckReportPolicy => OK (1000)." 2122,P1,tls-cert,Android SSL/TLS handshake failure: protocol error,fixed-verified,client-tls-handshake-retry,fixed-verified,"Fixed the client TLS handshake failure retry path shared with #1399 for HTTPS downloads. This does not add missing TLS backend capabilities, but transient protocol/peer-close handshake failures no longer bypass max-tries. Regression coverage added in tests/SocketCoreTest.cc. Verification: make -C src SocketCore.lo libaria2.la && make -C tests SocketCoreTest.o aria2c && cd tests && ./aria2c SocketCoreTest::testClientTlsHandshakeRemoteCloseIsRetriable => OK (996)." 2290,P1,tls-cert,[SocketCore.cc:1019] errorCode=1 SSL/TLS handshake failure: Error: An existing connection was forcibly closed by the remote host.,fixed-verified,client-tls-handshake-retry,fixed-verified,Fixed the client TLS handshake failure retry path shared with #1399 for HTTPS downloads after redirects. Remote connection closures during client TLS handshake now raise DlRetryEx and are governed by max-tries instead of immediate abort. Regression coverage added in tests/SocketCoreTest.cc. Verification: make -C src SocketCore.lo libaria2.la && make -C tests SocketCoreTest.o aria2c && cd tests && ./aria2c SocketCoreTest::testClientTlsHandshakeRemoteCloseIsRetriable => OK (996). 903,P1,dns-ipv6,Cancels Downloads with errorCode=1,not-reproducible/no-code,generic-error-code-one,no-code,"The report is a historical generic errorCode=1 size mismatch after redirecting between different URLs, with no current URL or reproducible fixture. Later comments mix unrelated torrent network failures and stale DefaultBtProgressInfoFile total-length mismatch cases. Current source already validates saved control-file length and aborts stale state; no single current root cause can be confirmed." 1189,P1,http-range-retry,Aria2 download problem,site-or-usage,remote-site-or-option-usage,site-or-usage,"Report is site-specific, auth/cookie/header usage, or TLS backend selection; reproduce current URL before any code change." 1280,P1,tls-cert,Cookies load problem in recent releases of Firefox,fixed-verified,sqlite-cookie-schema-compat,fixed-verified,"Fixed Firefox SQLite cookie loading fallback for read-only WAL snapshots by retrying failed sqlite3_open_v2 with a read-only immutable URI, which avoids creating or opening missing WAL sidecar files in locked profile directories. Regression coverage added in tests/Sqlite3CookieParserTest.cc with tests/cookies-readonly-wal.sqlite. Verification: make -C src libaria2.la && make -C tests Sqlite3CookieParserTest.o aria2c && cd tests && ./aria2c => OK (992)." 1305,P1,dns-ipv6,Default download path reset to C:\aria2 every time of restart,config-or-documented-behavior,path-session-option-semantics,config-or-documented-behavior,Behavior matches existing option semantics or needs docs unless current code violates documented behavior; verify with focused tests before changing. 1428,P1,dns-ipv6,Compiling issue,environment-or-build,centos6-cxx-standard,environment-or-build,Build failed because CentOS 6 toolchain invoked code using make_unique without the required C++ standard/library mode; validate current configure CXX standard handling before changing. 1752,P1,rpc-websocket,Aria2c allows unauthorized websocket connections,fixed-verified,websocket-auth-before-notifications,fixed-verified,"Fixed WebSocket notification authorization by tracking per-session RPC authorization state, marking a session authorized after an authorized JSON-RPC response, and excluding unauthorized sessions from download event notifications. Regression coverage added in tests/WebSocketSessionManTest.cc for rpc-secret sessions and notification recipient filtering. Verification: make -C src libaria2.la && make -C tests WebSocketSessionManTest.o aria2c && cd tests && ./aria2c => OK (994)." 1842,P1,filesystem-session,"""-x 16 -s 16"" command used with ""--file-allocation=none"" will continue file allocation",config-or-documented-behavior,file-allocation-path-semantics,no-code,"No confirmed core defect from the available report. Current RequestGroup initializes fileAllocationEnabled_ to false when --file-allocation=none is active, and RequestGroup::needsFileAllocation() gates allocation dispatch on that flag. The issue body does not include a command, log, or reproduction showing that aria2 dispatches FileAllocationCommand with PREF_FILE_ALLOCATION=none. The observed large-file pause is consistent with normal disk writes, sparse-file sizing, or a different effective option set rather than confirmed preallocation. No source change is justified without a reproducible command and log." 1931,P1,dns-ipv6,下载大文件导致errorCode=2 Timeout.这个ERROR如何解决,environment-or-network/no-code,async-dns-environment,no-code,"Large S3 timeout report used expired signed URLs and extreme split settings, so it cannot be replayed. Follow-up comments report that --async-dns=false resolves both this timeout and similar PT torrent failures. This is retained as resolver/network environment evidence, not a confirmed current source defect." 2061,P1,dns-ipv6,Downloaded Videos are broken/corrupted,fixed-verified,http-corruption-on-partial-error,fixed-verified,Fixed and verified: HTTP partial responses with Transfer-Encoding but no Content-Range are rejected in src/HttpResponse.cc before any body is written to a range segment. Regression tests HttpResponseTest::testValidateResponse_rejectsTransferEncodedRange fails on the old behavior and passes after the fix; verified with make -C src HttpResponse.lo libaria2.la && make -C tests HttpResponseTest.o aria2c && cd tests && ./aria2c HttpResponseTest::testValidateResponse_rejectsTransferEncodedRange (OK 997). 2073,P1,dns-ipv6,Don't reuse TLS session if the SNI host doesn't match,fixed-verified,tls-session-sni-scope,fixed-verified,Fixed HTTP direct socket pooling so pooled connections are keyed by the original request hostname as well as peer IP and port. This prevents HTTPS redirects to a different SNI host on the same CDN IP from reusing a TLS connection established for the previous host and producing HTTP 421. Regression coverage added in tests/DownloadEngineTest.cc. Verification: make -C src DownloadEngine.o HttpInitiateConnectionCommand.o libaria2.la and make -C tests DownloadEngineTest.o aria2c pass. Full ./aria2c runner is still blocked only by sandbox socket bind errors; DownloadEngineTest is not in the failure list. 2109,P1,dns-ipv6,DNS over IPv6 link local fails,fixed-verified,async-dns-family-completion,no-further-action,"Covered by the async DNS family completion fix for successful AAAA resolution after A lookup failure. Link-local scope handling still depends on the resolved address payload and interface configuration, but this issue no longer needs the async-dns=false workaround for the reported resolver completion failure. Evidence: src/AsyncNameResolverMan.cc, tests/AsyncNameResolverManTest.cc, make -C tests aria2c -j2, and ./aria2c from tests directory passed OK (986)." 2171,P1,dns-ipv6,Failed to download file from ipv6 server,fixed-verified,async-dns-family-completion,no-further-action,"Fixed by waiting for all resolver families when only AAAA has succeeded and A is still pending or failed, matching the reported async-dns=false workaround. Evidence: src/AsyncNameResolverMan.cc, tests/AsyncNameResolverManTest.cc, make -C tests aria2c -j2, and ./aria2c from tests directory passed OK (986)." 2332,P1,dns-ipv6,[SocketCore.cc:1019] errorCode=1 SSL/TLS handshake failure: Error: The function requested is not supported (80090302),platform-or-config,wintls-schannel-policy,platform-or-config,"Schannel revocation, cipher, and protocol policy depend on OS capabilities; likely needs backend documentation or optional policy knobs, not a generic aria2 core fix." 348,P1,tls-cert,WinTLS: Channel setup failed error,platform-or-config,wintls-schannel-policy,platform-or-config,"Schannel revocation, cipher, and protocol policy depend on OS capabilities; likely needs backend documentation or optional policy knobs, not a generic aria2 core fix." 886,P1,filesystem-session,Downloading aborted for individual connection results in download still complete but with corrupted file ,fixed-verified,http-corruption-on-partial-error,fixed-verified,Fixed and verified: HTTP partial responses with Transfer-Encoding but no Content-Range are rejected in src/HttpResponse.cc before any body is written to a range segment. Regression tests HttpResponseTest::testValidateResponse_rejectsTransferEncodedRange fails on the old behavior and passes after the fix; verified with make -C src HttpResponse.lo libaria2.la && make -C tests HttpResponseTest.o aria2c && cd tests && ./aria2c HttpResponseTest::testValidateResponse_rejectsTransferEncodedRange (OK 997). 901,P1,tls-cert,I found this bug in every version,already-fixed/no-code,bt-peer-agent-option,no-code,"The requested behavior was to avoid hard-coded aria2/PACKAGE_VERSION in extended BitTorrent handshakes. Current source already has PREF_PEER_AGENT, --peer-agent usage text, Context initialization through bittorrent::generateStaticPeerAgent, and DefaultBtInteractive sends bittorrent::getStaticPeerAgent(). No further code change is required for this retained report." 1069,P1,http-range-retry,"After call dh->getFiles() crash, with android ndk",not-reproducible,libaria2-getfiles-android-crash,no-code,"Android crash report shows invalid free after destroying a std::vector returned by DownloadHandle::getFiles(), but current src/aria2api.cc constructs FileData and UriData by value and returns std::vector by value for both active RequestGroupDH and stopped DownloadResultDH. No shared ownership or borrowed pointer from DownloadHandle is exposed through FileData. Added tests/Aria2ApiTest.cc coverage that copies getFiles(), deletes the DownloadHandle, reads the copied FileData, and swaps the vector to force destruction. Verification: make -C tests Aria2ApiTest.o aria2c => exit 0. The retained issue lacks JNI/NDK allocator details needed to reproduce an Android-specific ABI or STL mismatch." 1082,P1,tls-cert,https download error,site-or-usage,remote-site-or-option-usage,site-or-usage,"Report is site-specific, auth/cookie/header usage, or TLS backend selection; reproduce current URL before any code change." 1450,P1,build-tests,make check failed,not-reproducible/no-code,old-toolchain-tests-crash,no-code,"Duplicate of the 2019 Arch/GCC 9 make check segfault cluster with no stack in this issue. The richer duplicate #1476 later stopped reproducing for the reporter, and the current local test binary runs past FileEntryTest without a segfault. No current code change is justified from the available evidence." 1661,P1,bittorrent-dht,"save-session windows path ""//"" Error",fixed-verified,windows-session-path-normalization,fixed-verified,"Fixed ProtocolDetector stream classification so Windows drive-letter torrent paths such as E://downloads/file.torrent are no longer treated as stream URIs with an unknown E scheme. The loader can now fall through to local torrent-file detection, matching the issue workaround that E:/... worked but E://... failed. Regression coverage added in tests/ProtocolDetectorTest.cc. Verification: make -C src ProtocolDetector.o libaria2.la and make -C tests ProtocolDetectorTest.o aria2c pass; prior full runner attempt was blocked only by sandbox socket bind failures and the ProtocolDetector failure is gone." 1711,P1,core-other,Feedback: No change on speed,documented-behavior/no-code,expected-throughput-limit,no-code,"The report only observes that aria2 is not always faster than Chrome on a 60 MiB file with five connections. A maintainer/community reply notes that speed improvement is not guaranteed in every case. This is expected throughput behavior influenced by server, network, file size, and connection policy; no code defect is identified." 1728,P1,tls-cert,aria2 bans libtorrent peers and never downloads data,needs-reproduction-closed/no-code,libtorrent-mse-peer-compatibility,no-code,"The report shows libtorrent peers closing during MSE handshake with EX_EOF_FROM_PEER, after which aria2 logs the historical ""banned"" disconnect wording. Current source handles EOF as a peer disconnect in MSEHandshake::read and does not include the external libtorrent reproducer or a packet trace in the dataset. The later comment notes version-dependent behavior but no deterministic fixture; no safe source fix is isolated." 1794,P1,dns-ipv6,Assertion failure when connecting via TLS,fixed-verified,crash-with-insufficient-repro,fixed-verified,"Root cause confirmed at src/SocketCore.cc TLS handshake logging: a backend could return TLS_PROTO_NONE for a successfully established but unrecognized TLS protocol, and SocketCore aborted in the default switch arm. The crash matches the reported assertion at SocketCore.cc around TLS handshaking. Fixed SocketCore to log Unknown instead of assert/abort. Related WinTLS protocol mapping also now handles TLS 1.3 as TLS_PROTO_TLS13. Verification: make -C src SocketCore.lo libaria2.la && make -C tests SocketCoreTest.o aria2c => exit 0." 1827,P1,dns-ipv6,"[util.cc:1951] errNum=30 errorCode=18 Failed to make the directory /downloads, cause: Read-only file system",environment-or-permission,filesystem-permission-or-caller-path,environment-or-permission,"Issue is primarily permissions, read-only filesystem, package manager, or caller script path; no core fix unless reproduction shows false success." 1884,P1,filesystem-session,Can't change the configuration file path,config-or-documented-behavior,path-session-option-semantics,config-or-documented-behavior,Behavior matches existing option semantics or needs docs unless current code violates documented behavior; verify with focused tests before changing. 2029,P1,dns-ipv6,errorCode=1 SSL/TLS handshake failure: protocol error,config-or-documented-behavior,rpc-server-tls-configuration,config-or-documented-behavior,"Issue is an RPC server-side WSS setup failure on a NAS with custom certificate/key configuration, not an HTTPS download retry failure. Server-side TLS accept failures in HttpServerCommand are intentionally logged and the accepted connection is closed; retrying on the server side would be incorrect because the client must reconnect with a valid TLS configuration. No core code change." 2048,P1,dns-ipv6,Bus error (core dumped) on OpenBSD 7.2 ARM,environment-or-stale-state,crash-with-insufficient-repro,no-code,"OpenBSD ARM bus error report has no stack trace or torrent fixture. The only follow-up says deleting dht.dat made the problem disappear, pointing to stale or corrupted DHT state rather than a current reproducible source defect. Current DHT routing table serializer/deserializer tests cover persisted DHT state for IPv4 and IPv6. No code change is evidence-backed." 2064,P1,dns-ipv6,Is it bug? Please help me!,needs-reproduction-closed/no-code,insufficient-torrent-crash-report,no-code,"The issue provides a libstdc++ debug assertion in std::array::operator[] after an RPC call, but not the torrent payload or a backtrace. Current source uses 4096-byte std::array buffers through data()/size() in Piece, checksum validators, metalink parsing, gzip, and digest helpers; no indexed write into that array size is present on the likely torrent path. The issue also contains a malformed shell command/user-agent line. Without the torrent fixture or stack, no current root cause can be isolated safely." 2145,P1,tls-cert,"make fails on macOS if configured ""--without-appletls""",fixed-verified,feature-macro-build-matrix,fixed-verified,Replaced macOS platform checks in src/SimpleRandomizer.cc with HAVE_APPLETLS so Security.framework random APIs are only referenced when AppleTLS is enabled. This fixes --without-appletls builds that use another TLS backend. Verification: make -C src SimpleRandomizer.lo SocketCore.lo util.lo libaria2.la && make -C tests SocketCoreTest.o UtilTest2.o aria2c => exit 0. 2177,P1,dns-ipv6,aria2.session cannot write and this issue leads not to dowload,environment-or-permission,filesystem-permission-or-caller-path,environment-or-permission,"Issue is primarily permissions, read-only filesystem, package manager, or caller script path; no core fix unless reproduction shows false success." 2235,P1,tls-cert,[SocketCore.cc:1019] errorCode=1 SSL/TLS handshake failure: The TLS connection was non-properly terminated.,fixed-verified,client-tls-handshake-retry,fixed-verified,"Fixed the client TLS handshake failure retry path shared with #1399 for HTTPS segment downloads, including peer-close failures reported as non-proper TLS termination. Regression coverage added in tests/SocketCoreTest.cc. Verification: make -C src SocketCore.lo libaria2.la && make -C tests SocketCoreTest.o aria2c && cd tests && ./aria2c SocketCoreTest::testClientTlsHandshakeRemoteCloseIsRetriable => OK (996)." 2340,P1,bittorrent-dht,Aria2 bottlenecks/freezes when rapidly adding multiple magnet torrents via RPC,documented-scaling-limit/no-code,rpc-magnet-queue-saturation,no-code,"The 2026 report rapidly adds many magnet torrents through JSON-RPC and freezes after around ten active torrents; the only comment identifies queuing. Current architecture creates metadata downloads, DHT get-peers commands, tracker work, and peer connection commands on the same engine loop. The evidence supports queue saturation under workload, not a concrete source defect suitable for a small patch." 703,P1,tls-cert,[Windows] aria2c is not downloading torrents,not-reproducible/no-code,bt-swarm-or-environment-specific,no-code,"Windows torrent inactivity report from aria2 1.24.0 has no torrent, logs, or comments. The issue says only some torrents fail while HTTP/FTP continue working and other clients can download them, which is insufficient to distinguish swarm availability, tracker behavior, firewall/NAT, or client policy. No current source defect can be confirmed." 831,P1,bittorrent-dht,[Windows]Program doesn't download from torrents and magnet links,environment-or-build,windows-bt-dht-network,environment-or-build,Windows torrent/magnet issue likely DHT/firewall/build feature; verify current build features and network. 1157,P1,tls-cert,segfault on start,not-reproducible,crash-with-insufficient-repro,no-code,"The reported Windows startup crash occurred in a self-built 2018 cross-compile at OptionHandlerImpl.cc while constructing proxy option handlers. The retained issue has no config log contents available locally, no reproducer beyond a build command, and no later confirmation. Current option parser and API tests instantiate OptionParser successfully during local builds. No current source defect can be isolated." 1182,P1,filesystem-session,Download Error when destionation directory needs admin permission,environment-or-permission,filesystem-permission-or-caller-path,environment-or-permission,"Issue is primarily permissions, read-only filesystem, package manager, or caller script path; no core fix unless reproduction shows false success." 1345,P1,dns-ipv6,Aria2c always save download file to root,config-or-documented-behavior,path-session-option-semantics,config-or-documented-behavior,Behavior matches existing option semantics or needs docs unless current code violates documented behavior; verify with focused tests before changing. 1430,P1,tls-cert,Should be all #ifdef ENABLE_SSL,fixed-verified,feature-macro-build-matrix,fixed-verified,"Normalized feature guards reported in the issue: src/SocketCore.h now uses #ifdef ENABLE_SSL and src/util.cc uses #elif defined(HAVE_SLEEP), matching generated config-header semantics and CMake-style boolean defines. Verification: make -C src SimpleRandomizer.lo SocketCore.lo util.lo libaria2.la && make -C tests SocketCoreTest.o UtilTest2.o aria2c => exit 0." 1445,P1,tls-cert,macOS file type changed and attach debugger failed by adding --enable-libaria2 option,documented-behavior,libtool-wrapper-debugging,no-code,"This is libtool wrapper behavior, not an aria2 executable regression. With --enable-libaria2, src/Makefile.am builds libaria2.la as an installed libtool library and links aria2c against it, so an uninstalled build may expose src/aria2c as a wrapper script while the debugger target is the real binary under .libs/aria2c or the installed executable. No code change is required." 1502,P1,bittorrent-dht,Error when build with --disable-bittorrent and --disable-metalink,fixed-verified,feature-macro-build-matrix,fixed-verified,Moved internal BitTorrent MSE-only crypto sources in src/Makefile.am under ENABLE_BITTORRENT so --disable-bittorrent --disable-metalink builds no longer compile InternalDHKeyExchange or InternalARC4Encryptor unnecessarily. Verification: make -C src SimpleRandomizer.lo SocketCore.lo util.lo libaria2.la && make -C tests SocketCoreTest.o UtilTest2.o aria2c => exit 0. 1506,P1,bittorrent-dht,Memory continues to increase when running,not-reproducible/no-code,rpc-metadata-churn-memory-growth,no-code,"The report submits torrent metadata-only RPC tasks in an infinite loop with max-concurrent-downloads=1024 and claims memory reaches 2 GiB after one day, but provides no heap profile, logs, current version, or reproducible script. Current RequestGroup and result retention behavior depends on keep-unfinished-download-result and RPC result lifecycle. No leak can be isolated safely from the retained evidence." 1556,P1,bittorrent-dht,Assertion failed in Piece.cc:353,fixed-verified,piece-assertion-boundary,fixed-verified,"Fixed write cache update recovery for a Piece that still owns cached data after its WrDiskCache entry is missing or stale. WrDiskCache::update() now reindexes stale entries and restores genuinely missing entries instead of returning false to Piece::updateWrCache(), preserving cached bytes and avoiding process abort. Regression coverage added in tests/PieceTest.cc::testUpdateWrCacheRestoresMissingCacheEntry. Red verification: old code aborted at Piece.cc assertion. Green verification: make -C src WrDiskCache.o libaria2.la && make -C tests PieceTest.o aria2c && cd tests && ./aria2c PieceTest::testUpdateWrCacheRestoresMissingCacheEntry => OK (1001)." 1588,P1,rpc-websocket,Aria2 JSON-RPC parse Options incorrect.,fixed-verified,rpc-option-json-type-coercion,fixed-verified,"Fixed RPC option parsing so scalar JSON String, Bool, and Integer values are converted through the existing option handlers instead of silently ignoring non-string scalar values. Regression coverage added in tests/RpcMethodTest.cc for JSON Bool pause option through aria2.addUri. Verification: make -C src libaria2.la && make -C tests aria2c && cd tests && ./aria2c => OK (990)." 1699,P1,http-range-retry,A possible nullptr dereference problem (with patch),not-reproducible,urilist-null-file-guard,no-code,"No reachable null dereference found: UriListParser constructor always initializes fp_ with GZipFile or BufferedFile, fp_ is private, and no public method resets it; hasNext null path cannot be reached through current API. Classified as static-analysis-only theoretical issue; no production change or regression tests is warranted." 1706,P1,tls-cert,Unable to save Last-Modified timestamp in some cases,config-or-documented-behavior,remote-time-save-failure,no-further-action,"No code defect confirmed. The reported command does not pass -R or --remote-time=true, and src/OptionHandlerFactory.cc defines remote-time with default false. For HTTP, src/HttpResponseCommand.cc only records Last-Modified when PREF_REMOTE_TIME is true, and src/RequestGroupMan.cc applies the recorded time on successful completion. Current behavior matches documented option semantics." 1723,P1,tls-cert,Segmentation fault on certificate with no read permission,fixed-verified,certificate-file-error-handling,fixed-verified,"Fixed certificate-file crash handling at the shared IOFile transfer path: transfer on an unopened BufferedFile now returns 0 instead of dereferencing a null FILE pointer, so unreadable or missing PKCS12/PFX certificate files flow into existing TLS credential-load failure handling. Regression coverage added in tests/BufferedFileTest.cc. Verification: old behavior crashed while running ./aria2c BufferedFileTest::testTransferWithClosedFile; after the fix, make -C src IOFile.lo libaria2.la && make -C tests BufferedFileTest.o aria2c && cd tests && ./aria2c BufferedFileTest::testTransferWithClosedFile => OK (999)." 1727,P1,bittorrent-dht,Metalink checksum verification doesn't happen for bittorrent URLs,fixed-verified,metalink-bt-checksum-flow,fixed-verified,"Fixed Metalink BitTorrent checksum flow: whole-file digest now survives BtDependency torrent context replacement, and successful BT piece-hash verification schedules the pending whole-file checksum before continuing the BT seed/file-allocation path. Regression coverage added in tests/BtDependencyTest.cc and tests/BtPostDownloadHandlerTest.cc. Verification: make -C src ChecksumCheckIntegrityEntry.o BtFileAllocationEntry.o BtCheckIntegrityEntry.o libaria2.la and make -C tests BtPostDownloadHandlerTest.o aria2c pass. Full ./aria2c runner is still blocked only by sandbox socket bind errors; #1727 regression no longer appears in the failure list." 1762,P1,tls-cert,"Download failed with error ""The client and server cannot communicate, because they do not possess a common algorithm."".",platform-or-config,wintls-schannel-policy,platform-or-config,"Schannel revocation, cipher, and protocol policy depend on OS capabilities; likely needs backend documentation or optional policy knobs, not a generic aria2 core fix." 1763,P1,filesystem-session,save-session file name is changed by aria,environment-or-permission,windows-session-path-normalization,environment-or-permission,"No core serialization defect confirmed from the available report. SessionSerializer writes save-session to __temp, closes it, then File::renameTo() replaces the configured file; on Windows File::renameTo() already uses MoveFileExW with MOVEFILE_REPLACE_EXISTING and MOVEFILE_COPY_ALLOWED. A leftover aria2c_session.sav__temp means the final OS rename failed, and the report explicitly says it happens under a Windows service wrapper, which points to service account permissions, file locking, or process shutdown timing. No source change is justified without a reproducible aria2-only rename failure." 1839,P1,filesystem-session,Retry when connections got 503,fixed-verified,per-segment-503-retry,fixed-verified,"Fixed HTTP 503 segment retry accounting so a request delayed by retry-wait can re-enter the file request pool without consuming the permanent URI try budget, preserving parallelism after transient service-unavailable responses. Regression coverage added in tests/FileEntryTest.cc. Verification: make -C src Request.lo AbstractCommand.lo FileEntry.lo libaria2.la && make -C tests FileEntryTest.o aria2c && cd tests && ./aria2c FileEntryTest::testGetRequest_resetsTryCountAfterWake => OK (998)." 1962,P1,dns-ipv6,aria2 exit unexpectedly,not-reproducible,crash-with-insufficient-repro,no-code,"macOS AppleTLS daemon exit report stops in the middle of TLS debug logging for a GitHub download and provides no crash line, signal, or stack trace. Related AppleTLS TLS 1.3 backend limitations are tracked separately in #2277. The retained evidence is insufficient to distinguish a crash from daemon/session exit or backend handshake failure, so no targeted fix is justified." 1971,P1,dns-ipv6,Strange Range request for the second segment of mp4 files,fixed-verified,http-content-range-tolerance,fixed-verified,"Fixed HTTP Content-Range validation to accept explicit ranged responses whose start byte matches the requested segment, whose response end byte covers the requested end byte, and whose entity length is not smaller than the known file length. This preserves rejection for shifted starts, missing entity length, shorter entity length, and open-ended Range responses with mismatched totals. Regression coverage added in tests/HttpRequestTest.cc. Verification: make -C src libaria2.la && make -C tests HttpRequestTest.o aria2c && cd tests && ./aria2c => OK (994)." 2001,P1,dns-ipv6,"Terminal report ""Emergency shutdown sequence commencing""",usage-or-config,crash-with-insufficient-repro,no-code,"The log shows aria2 started RPC successfully, serialized an empty session, then performed normal emergency shutdown with no active downloads. The issue uses daemon=true inside a config while invoking aria2c --conf-path; retained evidence does not show a crash, assertion, or source fault. This is process/config behavior, not a code defect." 2009,P1,dns-ipv6,only could load one `input-file` parameter and couldn't load default config mentioned in another config file,config-or-documented-behavior,path-session-option-semantics,config-or-documented-behavior,Behavior matches existing option semantics or needs docs unless current code violates documented behavior; verify with focused tests before changing. 2115,P1,tls-cert,Bug causing OCSP/CRL to fail with invalid error 80092013 : The revocation function was unable to check revocation because the revocation server was offline,platform-or-config,wintls-schannel-policy,platform-or-config,"Schannel revocation, cipher, and protocol policy depend on OS capabilities; likely needs backend documentation or optional policy knobs, not a generic aria2 core fix." 2116,P1,tls-cert,bad performance on network file systems,fixed-verified,disk-cache-contiguous-write-coalescing,fixed-verified,"Confirmed source defect for network file systems: disk-cache collected contiguous DataCell entries but AbstractSingleDiskAdaptor::writeCache flushed each cell as its own write, commonly preserving 16 KiB writes even after caching. The fix coalesces contiguous cached cells into one write at flush time while preserving gaps and offsets. Regression coverage added in tests/DirectDiskAdaptorTest.cc::testWriteCache_mergesContiguousCells. Verification: make -C src AbstractSingleDiskAdaptor.lo libaria2.la && make -C tests DirectDiskAdaptorTest.o aria2c => OK; cd tests && ./aria2c outside the default sandbox => OK (1009)." 2119,P1,dns-ipv6,Acceptance of invalid IPv6 address,fixed-verified,uri-ipv6-literal-validation,no-further-action,"Fixed by validating bracketed IPv6 literals in URI parsing before the request reaches DNS or connection setup. Evidence: src/uri_split.c, tests/UriSplitTest.cc, make -j2, make -C tests aria2c, and ./aria2c from tests directory passed OK (986)." 2151,P1,dns-ipv6,File download error,usage-or-config/no-code,server-requires-referer,no-code,"The server returned HTTP 403 for a Bilibili CDN media URL. The issue discussion and reproduction context indicate the endpoint requires request headers such as Referer from bilibili.com; aria2 is correctly surfacing the unsuccessful HTTP status. This is a site access/header configuration issue, not an aria2 protocol defect." 2285,P1,core-other,"When downloading, change max-concurrent-downloads sucess but not work.",fixed-verified,runtime-concurrency-downscale,fixed-verified,"Fixed runtime max-concurrent-downloads downscale by adding RequestGroupMan::reduceActiveDownloadsToLimit() and calling it from changeGlobalOption(). Excess active groups are stopped through the existing restart path, returned to waiting, and not left user-paused. Regression coverage added in tests/RequestGroupManTest.cc. Verification: make -C src RequestGroupMan.lo libaria2.la && make -C tests RequestGroupManTest.o aria2c passed. Red check failed before implementation with missing reduceActiveDownloadsToLimit(). cd tests && ./aria2c RequestGroupManTest::testReduceMaxConcurrentDownloads runs the full suite in this harness; the new tests no longer fails, remaining failures are sandbox socket bind blockers." 1118,P2,http-range-retry,Check the header “Content-Disposition” to determine the filename to store,fixed-verified,content-disposition-compat,fixed-verified,"Fixed Content-Disposition parsing to accept a terminal empty parameter only when it immediately follows a completed filename or filename* value, preserving rejection for historical invalid whitespace-before-semicolon cases. Regression coverage added in tests/UtilTest1.cc for quoted and token filenames with trailing semicolons. Verification: make -C src util.lo libaria2.la and make -C tests UtilTest1.o aria2c pass; full tests runner is blocked only by sandbox socket bind failures and the Content-Disposition failures are gone." 774,P2,dns-ipv6,name resolution failed! HELP!!!,fixed-verified,async-dns-family-completion,no-further-action,"Fixed for the retained async DNS regression reported in recent comments: an AAAA success is no longer suppressed by a failed or pending A lookup. Evidence: src/AsyncNameResolverMan.cc, tests/AsyncNameResolverManTest.cc, make -C tests aria2c -j2, and ./aria2c from tests directory passed OK (986)." 1987,P2,filesystem-session,Was download ARM Windows 10 UUP and gets exception error,environment-or-permission,filesystem-permission-or-caller-path,environment-or-permission,"Issue is primarily permissions, read-only filesystem, package manager, or caller script path; no core fix unless reproduction shows false success." 2059,P2,rpc-websocket,有任务下载时,局域网rpc会断连,needs-architecture/no-code,rpc-starvation-under-download-load,no-code,"LAN RPC stalls during active downloads while localhost RPC still responds are consistent with main-loop starvation from download, disk, and network commands. Later comments in the issue discuss experimental dedicated RPC queues and logging slow commands, but note DownloadEngine is a singleton and not trivially made multithreaded. This requires an architecture plan and runtime profiling, not a small unverified code change." 1131,P2,bittorrent-dht,BitTorrent errorCode=26 Detected directory traversal directive,fixed-verified,torrent-path-traversal-policy,fixed-verified,"Fixed in src/bittorrent_helper.cc by skipping malformed zero-length torrent directory entries whose final path component is empty while preserving directory traversal rejection for real files. Added BittorrentHelperTest::testLoadFromMemory_skipsEmptyDirectoryEntry in tests/BittorrentHelperTest.cc. Red verification failed with Detected directory traversal directive in content/bad/. Green verification rebuilt src/bittorrent_helper.lo, libaria2.la, BittorrentHelperTest.o, and tests/aria2c; the targeted regression no longer appears in failures, with remaining failures limited to sandbox socket bind restrictions." 1535,P2,filesystem-session,aria2c creates a ./dev directory and a ./dev/null file when attempting to run a speed tests,fixed-verified,file-allocation-path-semantics,fixed-verified,"Fixed output path joining so absolute user-supplied output paths are preserved instead of being prefixed by --dir. This fixes the reported macOS/Linux speed-tests sink case where -o /dev/null became ./dev/null and created ./dev/null under the current directory. Regression coverage added in tests/UtilTest2.cc for POSIX absolute paths and Windows drive paths. Verification: make -C src util.lo libaria2.la and make -C tests UtilTest2.o aria2c pass; after a forced relink, cd tests && ./aria2c UtilTest2::testApplyDir is blocked only by existing sandbox socket-bind failures and UtilTest2::testApplyDir is no longer in the failure list." 2184,P2,tls-cert,关于开启https无法访问的问题,environment-or-config,reverse-proxy-certificate-config,environment-or-config,"Logs show reverse proxy connection refused or config path/syntax issue, not aria2 core TLS behavior; no code change without native aria2 reproduction." 2272,P2,tls-cert,Inconsistent Header Order for User-Agent Between Config File and --header Flag Causes Issues with Strict Servers,fixed-verified,http-header-order-stability,fixed-verified,"Fixed HTTP request header ordering so configured User-Agent and user-supplied User-Agent headers both occupy the same stable builtin position after Accept and Host, while preserving user override value and avoiding duplicate appended User-Agent. Regression coverage added in tests/HttpRequestTest.cc::testUserAgentHeaderOrder. Verification: make -C src HttpRequest.lo libaria2.la, make -C tests HttpRequestTest.o aria2c, and cd tests && ./aria2c HttpRequestTest::testUserAgentHeaderOrder; the full runner remains blocked only by sandbox socket bind failures, and HttpRequestTest no longer fails." 1888,P2,tls-cert,Exception: [AbstractOptionHandler.cc:69] errorCode=28 on MacOS command-line,config-or-input-validation,option-error-message,config-or-input-validation,Option parse error likely correct but diagnostics may be improved; source path: AbstractOptionHandler.cc. 2050,P2,http-range-retry,msys2 mingw64 configure failed,fixed-verified,autoconf-multiline-macro-compat,fixed-verified,Flattened deps/wslay/configure.ac AC_CHECK_HEADERS and AC_CHECK_FUNCS argument lists to avoid MSYS2/autoconf shell generation failures around as_ac_Header/as_ac_Func loops. autoreconf -fi in deps/wslay completed successfully; regenerated configure contains direct ac_fn_c_check_header_compile/ac_fn_c_check_func calls for each header/function. Build verification: make -C src SimpleRandomizer.lo SocketCore.lo util.lo libaria2.la && make -C tests SocketCoreTest.o UtilTest2.o aria2c => exit 0. 2251,P2,build-tests,make check fail,environment-or-build/no-code,test-suite-path-sensitive-output,no-code,"macOS 10.13.6 make check link failure is an unresolved CppUnit linkage/ABI problem: undefined CppUnit::SourceLine, TestRunner, Message, Asserter, TestCase, and other CppUnit symbols while linking tests/aria2c. Current local tests/aria2c links successfully with the available CppUnit. No aria2 source defect is identified; the evidence points to the reporter build environment or CppUnit library mismatch." 2049,P2,dns-ipv6,Can not download LAN site file,environment-or-network,rpc-or-lan-networking,environment-or-network,LAN/RPC connectivity reports are mostly firewall/proxy/listen-host/network environment unless source evidence says otherwise. 2263,P2,filesystem-session,aria2 1.37 make check fail aria2c tests - failure and reason not obvious,fixed-verified,test-suite-path-sensitive-output,fixed-verified,Fixed tests/ExceptionTest.cc to verify exception stack trace content and causal ordering without depending on absolute debug-source paths or exact source line numbers. This addresses the Cygwin package failure where stackTrace() included /usr/src/debug/.../tests/ExceptionTest.cc. Verification rebuilt ExceptionTest.o and tests/aria2c; ExceptionTest::testStackTrace no longer appears in the failure list. Remaining failures are socket bind environment restrictions. 852,P3,bittorrent-dht,aria2c stalls until I restart the seeder process.,environment-or-tracker/no-code,tracker-backlog-and-routing,no-code,"The single-seeder stall investigation was traced in comments to tracker visibility and network routing: tracker callback/listener backlog was improved by upstream commit 6289aafaf850e854e5b03710726db984df7cf82b, and later logs showed tracker overload/EOF plus multi-NIC gateway selection issues. That backlog commit is present in this fork; remaining evidence points to tracker capacity or routing configuration, not a new isolated aria2 defect." 801,P3,bittorrent-dht,Cannot start aria2 in RPC mode,environment-or-network,rpc-or-lan-networking,environment-or-network,LAN/RPC connectivity reports are mostly firewall/proxy/listen-host/network environment unless source evidence says otherwise. 139,P3,bittorrent-dht,banned peers,documented-behavior/no-code,peer-disconnect-log-wording,no-code,"Maintainer clarified that the historical ""Peer ... banned"" log means the peer disconnected or was dropped after protocol inactivity, EOF, or bad behavior; it is not an IP blocklist policy. The separate 1.18.0 assertion report had mismatched source line numbers and no current reproducible stack. Current bad-peer entries are temporary with randomized 120-720 second expiry in DefaultPeerStorage. No code change is warranted." 650,P3,bittorrent-dht,aria2c 1.22.0 Segmentation fault,already-fixed,crash-with-insufficient-repro,no-code,"The stack points to DHT get_peers reply compact peer generation using a corrupted DHTNode IP string. Current DHTNode stores ipaddr_ by value and getIPAddress() returns a stable const std::string&, while bittorrent::packcompact() returns 0 for invalid numeric addresses. Current DHTGetPeersReplyMessage skips entries whose compact length does not match the requested family. The issue has no reproducible torrent or current crash data, and the reporter said the error disappeared after changing DHT settings. No new code change is justified from retained evidence." 1407,P3,tls-cert,min-tls-version=TLSv1.3 fails on Windows,fixed-partially-verified,tls13-backend-capability,verify-on-windows,Root cause confirmed in src/WinTLSContext.cc: TLS_PROTO_TLS13 previously reached assert(0)/abort in WinTLS setup because only TLS 1.1 and 1.2 were handled. WinTLS now accepts TLS 1.3 when the Windows SDK exposes SCH_CREDENTIALS/TLS_PARAMETERS and reports an explicit unsupported-backend error on older SDKs instead of aborting. src/WinTLSSession.cc now maps negotiated protocol 0x304 to TLS_PROTO_TLS13 and no longer aborts on unknown protocol values. Regression coverage added in tests/SocketCoreTest.cc under HAVE_WINTLS. Local verification: make -C tests SocketCoreTest.o aria2c => exit 0. Direct WinTLS object compilation is blocked on this macOS host because windows.h is unavailable; Windows cross-build verification remains required. 1016,P3,filesystem-session,--file-allocation=falloc failed at High Sierra,environment-or-platform/no-code,file-allocation-path-semantics,no-code,"The report is specific to macOS High Sierra/APFS in 2017. Current macOS falloc code already uses fcntl(F_PREALLOCATE) followed by ftruncate, and later comments report fast falloc behavior on macOS Catalina. This host cannot reproduce High Sierra/APFS allocator behavior; no current allocator defect is confirmed." 1137,P3,tls-cert,output path is always prefixed with the cwd,config-or-documented-behavior,path-session-option-semantics,config-or-documented-behavior,Behavior matches existing option semantics or needs docs unless current code violates documented behavior; verify with focused tests before changing. 1243,P3,bittorrent-dht,version 1.34 won't close,environment-or-platform/no-code,windows-kb4338818-shutdown-hang,no-code,"The Windows 7 shutdown hang was isolated by the reporter to Windows update KB4338818, and uninstalling that update made aria2 close normally. The same issue affected multiple builds and could not be killed even by Task Manager, pointing to a Windows networking/kernel state rather than aria2 shutdown lifecycle logic." 1309,P3,dns-ipv6,"errorCode=1 Failed to resolve the hostname 104.17.109.77, cause: System error",environment-or-config,numeric-host-ipv6-config,environment-or-config,Numeric host resolution failed in a Docker/webui build and workaround was disable-ipv6=true; verify current SocketCore numeric host path but likely environment/build config. 1655,P3,bittorrent-dht,Torrent end status Err,usage-or-config/no-code,bt-seeding-status-behavior,no-code,"RPC torrent status after 100% download remains active while seeding until seed-ratio or seed-time conditions complete. Comments resolved the question with --seed-time=0. This matches current BitTorrent lifecycle semantics and documented options, so it is usage/config behavior rather than a bug." 1873,P3,core-other,Can't deal with Chinese file name?,config-or-documented-behavior,content-disposition-utf8-option,no-code,"The issue has no concrete failing header or URL, and the comments confirm --content-disposition-default-utf8=true resolves the reported Chinese filename behavior when passed with the URI. Existing tests already cover raw UTF-8 filename handling with defaultUTF8=true, so no core change is justified without a reproducible header that still fails." 688,P3,bittorrent-dht,failed to handle duplicate bt source when concurrent download with metalink,unsupported-behavior,duplicate-bt-source-handling,no-code,"No code fix applied. Source review confirms aria2 models each active BitTorrent download by unique infoHash: RequestGroup.cc rejects a second active BT RequestGroup for the same infoHash through BtRegistry, which matches the reported errorCode=12. Metalink grouping with metaurl@name can map multiple entries into one dependant RequestGroup, but BtDependency.cc resolves torrent file entries by originalName and cannot fan out one torrent file to multiple output names. The maintainer comment also identifies the requested behavior as same content under different names using the same torrent, which aria2 does not support. A correct implementation would require a new post-download copy/link fan-out model, not a duplicate-source bug fix." 692,P3,bittorrent-dht,Unable to acess Aria2 frontend from LAN,environment-or-network,rpc-or-lan-networking,environment-or-network,LAN/RPC connectivity reports are mostly firewall/proxy/listen-host/network environment unless source evidence says otherwise. 759,P3,filesystem-session,"Errorcode 18 failed to make directory, permission denied",environment-or-permission,filesystem-permission-or-caller-path,environment-or-permission,"Issue is primarily permissions, read-only filesystem, package manager, or caller script path; no core fix unless reproduction shows false success." 1471,P3,http-range-retry,"""Loop range missing/overflow"" error due to ridiculously small data type",fixed-verified,parameterized-uri-range-width,fixed-verified,"Fixed parameterized URI loop parsing to accept decimal and alphabetic range values up to INT32_MAX, keep invalid oversized values on the Loop range overflow path, and guard generated loop size before allocation; regression coverage added in tests/ParamedStringTest.cc. Verification: make -C tests aria2c && cd tests && ./aria2c => OK (989)." 1400,P3,tls-cert,Aria2c redirects https to http,site-or-usage,remote-site-or-option-usage,site-or-usage,"Report is site-specific, auth/cookie/header usage, or TLS backend selection; reproduce current URL before any code change." 1574,P3,core-other,daemon stoped with no error,needs-reproduction-closed,crash-with-insufficient-repro,no-code,"The report only says the daemon sometimes stopped, and follow-up logs show ordinary per-download errors such as invalid BitTorrent metainfo and HTTP 503. No process crash, stack trace, reproducer, or current source location is provided. No evidence-backed code fix is possible." 849,P3,tls-cert,Errorcode=22 only with rpc ,site-or-usage,remote-site-or-option-usage,site-or-usage,"Report is site-specific, auth/cookie/header usage, or TLS backend selection; reproduce current URL before any code change." 926,P3,http-range-retry,Content-Range: bytes x-y/* handling,fixed-verified,http-content-range-tolerance,fixed-verified,"Fixed HTTP Content-Range validation to accept explicit ranged responses whose start byte matches the requested segment, whose response end byte covers the requested end byte, and whose entity length is not smaller than the known file length. This preserves rejection for shifted starts, missing entity length, shorter entity length, and open-ended Range responses with mismatched totals. Regression coverage added in tests/HttpRequestTest.cc. Verification: make -C src libaria2.la && make -C tests HttpRequestTest.o aria2c && cd tests && ./aria2c => OK (994)." 1461,P3,http-range-retry,HTTP Response Header with empty value causes error,fixed-verified,http-empty-header-value,no-further-action,"Fixed by ignoring malformed empty response header fields without a colon while preserving existing validation for whitespace and colon-starting field names. Evidence: src/HttpHeaderProcessor.cc, tests/HttpHeaderProcessorTest.cc, make -C src libaria2.la, make -C tests aria2c, and ./aria2c from tests directory passed OK (987)." 1927,P3,bittorrent-dht,Incorrect info hash calculation on hybrid torrents loaded from URL,not-reproducible,hybrid-torrent-infohash,no-code,"No code fix applied. Source review shows aria2.addTorrent and torrent files loaded after aria2.addUri both converge on createRequestGroupForBitTorrent and bittorrent::processRootDictionary, so there is no separate URL-loaded infohash calculation path in current source. processRootDictionary computes the v1 infohash from bencode2::encode(infoDict), and Dict uses std::map ordering, giving canonical key ordering for hybrid torrents that still contain the v1 pieces field. The maintainer could not reproduce the report, and the reporter later suggested a local or Windows build-specific problem. No sample torrent is available in the retained issue data to reproduce a wrong hash." 985,P3,core-other,memory usage is too high in Windows10,usage-or-config/no-code,windows-large-file-memory-and-allocation,no-code,"Windows 10 memory growth during a 40 GiB ISO download has no logs, command line, or reproduction. The only follow-up asks the reporter to try prealloc and shorter save-session intervals, and no confirmation returned. Current source has bounded disk-cache semantics by PREF_DISK_CACHE; without memory profiles this remains configuration/environment evidence, not a confirmed leak." 1361,P3,rpc-websocket,auto-file-renaming doesn't work if force-save is true,config-or-documented-behavior,path-session-option-semantics,config-or-documented-behavior,Behavior matches existing option semantics or needs docs unless current code violates documented behavior; verify with focused tests before changing. 1883,P3,filesystem-session,Error: Permission denied @ rb_sysopen - /private/tmp/github_api_headers20220214-522-1wj8841,environment-or-permission,filesystem-permission-or-caller-path,environment-or-permission,"Issue is primarily permissions, read-only filesystem, package manager, or caller script path; no core fix unless reproduction shows false success." 2008,P3,http-range-retry,errorCode=22 status=403 Cannot download,site-or-usage,remote-site-or-option-usage,site-or-usage,"Report is site-specific, auth/cookie/header usage, or TLS backend selection; reproduce current URL before any code change." 1303,P3,tls-cert,Could not get file status: Permission denied,environment-or-permission,filesystem-permission-or-caller-path,environment-or-permission,"Issue is primarily permissions, read-only filesystem, package manager, or caller script path; no core fix unless reproduction shows false success."