an efficient feature complete C++ bittorrent implementation
This report presents the forensic synthetic code analysis of arvidn/libtorrent, a C++ project with 5,979 GitHub stars. SynthScan v2.0 examined 298,313 lines of code across 931 source files, recording 1325 pattern matches distributed across 18 syntactic categories. The overall adjusted score of 4.6 places this repository in the Likely human-written band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 1325 distinct pattern matches across 18 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tox.ini | 1 | [tox] | COMMENT |
| LOW | tox.ini | 41 | # numerous DeprecationWarnings are fired from builtin code, especially | COMMENT |
| LOW | tools/parse_session_stats.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tools/parse_session_stats.py | 21 | # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | COMMENT |
| LOW | tools/parse_session_stats.py | 621 | # ( | COMMENT |
| LOW | tools/parse_session_stats.py | 921 | "", | COMMENT |
| LOW | tools/run_benchmark.py | 861 | ) | COMMENT |
| LOW | tools/perf_call_tree.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tools/perf_call_tree.py | 21 | # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | COMMENT |
| LOW | tools/benchmark_load_torrent.py | 61 | COMMENT | |
| LOW | tools/gen_corpus.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tools/gen_corpus.py | 21 | # | COMMENT |
| LOW | tools/gen_corpus.py | 621 | c.add("share_mode_true", FLAGS_EXTENDED, ext_msg(SHARE_MODE_MSG, b"\x01")) | COMMENT |
| LOW | tools/gen_corpus.py | 2781 | COMMENT | |
| LOW | tools/gen_corpus.py | 2801 | # 6 bits : verified_pieces bit-count | COMMENT |
| LOW | tools/bencher.cpp | 21 | "do_not_optimize() relies on GNU inline asm to act as a compiler optimization barrier, and is only supported on GCC and | COMMENT |
| LOW | tools/gen_torture_torrent.cpp | 21 | #include <fstream> | COMMENT |
| LOW | tools/gen_torture_torrent.cpp | 61 | // takes the extension-pickup branch when added >= 240. | COMMENT |
| LOW | tools/gen_torture_torrent.cpp | 81 | std::string symlink_mode = "file"; | COMMENT |
| LOW | tools/benchmark_load_torrent.cpp | 1 | /* | COMMENT |
| LOW | tools/benchmark_load_torrent.cpp | 21 | // content printing (file list, trackers, info hash, web seeds, ...), no | COMMENT |
| LOW | tools/vmstat.py | 221 | # Private_Dirty: 11384 kB | COMMENT |
| LOW | test/setup_transfer.cpp | 21 | #include "libtorrent/hasher.hpp" | COMMENT |
| LOW | test/setup_transfer.cpp | 41 | #include "setup_transfer.hpp" | COMMENT |
| LOW | test/test_receive_buffer.cpp | 221 | // previous packet | COMMENT |
| LOW | test/broadcast_socket.hpp | 101 | // and receive unicast responses | COMMENT |
| LOW | test/test_piece_picker.cpp | 721 | } | COMMENT |
| LOW | test/test_torrent.cpp | 21 | #include "libtorrent/alert_types.hpp" | COMMENT |
| LOW | test/test_storage.cpp | 21 | #include "libtorrent/aux_/mmap_storage.hpp" | COMMENT |
| LOW | test/test_fast_extension.cpp | 21 | #include "libtorrent/time.hpp" | COMMENT |
| LOW | test/test_webtorrent_transfer.cpp | 121 | &ses1, &ses2, nullptr, true, use_metadata_transfer, false, suffix, piece_size, &atp); | COMMENT |
| LOW | test/test_tracker.cpp | 21 | #include "test_utils.hpp" | COMMENT |
| LOW | test/test_priority.cpp | 21 | #include "libtorrent/read_resume_data.hpp" | COMMENT |
| LOW | test/test_remap_files.cpp | 21 | #include "settings.hpp" | COMMENT |
| LOW | test/test_ssl.cpp | 21 | COMMENT | |
| LOW | test/swarm_suite.cpp | 21 | #include <iostream> | COMMENT |
| LOW | test/test_file_storage.cpp | 1341 | rf.rename_file(fs, 1_file, "test\\bar"); | COMMENT |
| LOW | test/test_similar_torrent.cpp | 1 | /* | COMMENT |
| LOW | test/test_resume.cpp | 21 | #include "libtorrent/bencode.hpp" | COMMENT |
| LOW | test/test_disk_cache.cpp | 801 | f.flush_storage_for(); | COMMENT |
| LOW | test/test_create_torrent.cpp | 21 | #include "libtorrent/aux_/escape_string.hpp" // for convert_path_to_posix | COMMENT |
| LOW | test/test.hpp | 21 | #include <vector> | COMMENT |
| LOW | test/test_rtc.cpp | 21 | COMMENT | |
| LOW | test/test_rtc.cpp | 341 | if (stream1) | COMMENT |
| LOW | test/test_dht.cpp | 21 | #include "libtorrent/kademlia/msg.hpp" // for verify_message | COMMENT |
| LOW | test/test_dht.cpp | 2941 | // test a node with the same IP:port changing ID | COMMENT |
| LOW | test/test_disk_io.cpp | 1 | /* | COMMENT |
| LOW | test/test_disk_io.cpp | 461 | // partial cases check the two halves are stitched together correctly. | COMMENT |
| LOW | test/test_disk_io.cpp | 661 | if (p == fence_piece) continue; | COMMENT |
| LOW | test/web_seed_suite.cpp | 21 | #include "libtorrent/string_view.hpp" | COMMENT |
| LOW | test/test_torrent_info.cpp | 21 | #include "libtorrent/aux_/path.hpp" | COMMENT |
| LOW | test/test_torrent_info.cpp | 481 | // TODO: torrent with 'l' (symlink) attribute | COMMENT |
| LOW | test/test_torrent_info.cpp | 1681 | { | COMMENT |
| LOW | test/test_checking.cpp | 21 | #include "test_utils.hpp" | COMMENT |
| LOW | test/test_merkle_tree.cpp | 961 | // the set_block above ran allocate_full(), bringing us back to full_tree | COMMENT |
| LOW | test/main.cpp | 21 | #include "test.hpp" | COMMENT |
| LOW | test/disk_io_test.hpp | 21 | COMMENT | |
| LOW | test/disk_io_test.hpp | 41 | // Registers one test per disk I/O backend (mmap_disk_io_constructor where | COMMENT |
| LOW | test/test_slow_hash.cpp | 21 | COMMENT | |
| LOW | test/test_slow_hash.cpp | 41 | #include "libtorrent/error_code.hpp" | COMMENT |
| 938 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/run_benchmark.py | 203 | def _warn_if_ineffective_drop(path: Path) -> None: | CODE |
| LOW | tools/run_benchmark.py | 660 | def suggest_dirty_limit_if_high_ram() -> None: | CODE |
| LOW | tools/check_installed_headers.py | 20 | def check_no_vendored_headers(include_dir: str) -> None: | CODE |
| LOW | tools/check_installed_headers.py | 47 | def check_public_headers_compile(prefix: str) -> None: | CODE |
| LOW | tools/gen_corpus.py | 3184 | def generate_rtc_parse_endpoint(outdir: str) -> None: | CODE |
| LOW | tools/gen_corpus.py | 3227 | def generate_rtc_tracker_offer(outdir: str) -> None: | CODE |
| LOW | test/socks.py | 278 | def send_user_pass_auth_method(self): | CODE |
| LOW⚡ | examples/run_benchmarks.py | 109 | def build_utorrent_commandline(config, port): | CODE |
| LOW⚡ | examples/run_benchmarks.py | 157 | def build_rtorrent_commandline(config, port): | CODE |
| LOW⚡ | examples/run_benchmarks.py | 181 | def build_libtorrent_commandline(config, port): | CODE |
| LOW | bindings/python/tests/simple_client_test.py | 69 | def test_download_from_web_seed(self) -> None: | CODE |
| LOW | bindings/python/tests/sha256_hash_test.py | 18 | def test_init_long_buffer_deprecated(self) -> None: | CODE |
| LOW | bindings/python/tests/torrent_handle_test.py | 33 | def test_deprecated_move_flags_t(self) -> None: | CODE |
| LOW | bindings/python/tests/torrent_handle_test.py | 78 | def test_file_open_mode_deprecated(self) -> None: | CODE |
| LOW | bindings/python/tests/torrent_handle_test.py | 82 | def test_file_progress_flags_t(self) -> None: | CODE |
| LOW | bindings/python/tests/torrent_handle_test.py | 154 | def test_connect_and_get_info(self) -> None: | CODE |
| LOW | bindings/python/tests/torrent_handle_test.py | 317 | def test_http_seeds_deprecated(self) -> None: | CODE |
| LOW | bindings/python/tests/torrent_handle_test.py | 563 | def test_renamed_files_round_trip(self) -> None: | CODE |
| LOW | bindings/python/tests/torrent_handle_test.py | 827 | def test_rename_file_and_export(self) -> None: | CODE |
| LOW | bindings/python/tests/torrent_handle_test.py | 839 | def test_file_path_with_save_path(self) -> None: | CODE |
| LOW | bindings/python/tests/torrent_handle_test.py | 874 | def test_import_then_export_roundtrip(self) -> None: | CODE |
| LOW | bindings/python/tests/torrent_handle_test.py | 947 | def test_old_sequential_download(self) -> None: | CODE |
| LOW | bindings/python/tests/session_settings_test.py | 15 | def test_choking_algorithm_t_deprecated(self) -> None: | CODE |
| LOW | bindings/python/tests/session_settings_test.py | 22 | def test_seed_choking_algorithm_t(self) -> None: | CODE |
| LOW | bindings/python/tests/session_settings_test.py | 40 | def test_io_buffer_mode_t_deprecated(self) -> None: | CODE |
| LOW | bindings/python/tests/session_settings_test.py | 47 | def test_bandwidth_mixed_algo_t(self) -> None: | CODE |
| LOW | bindings/python/tests/session_settings_test.py | 61 | def test_enc_policy_deprecated(self) -> None: | CODE |
| LOW | bindings/python/tests/session_settings_test.py | 80 | def test_enc_level_deprecated(self) -> None: | CODE |
| LOW | bindings/python/tests/session_settings_test.py | 110 | def test_proxy_type_deprecated(self) -> None: | CODE |
| LOW | bindings/python/tests/create_torrent_test.py | 24 | def test_file_storage_static_vars(self) -> None: | CODE |
| LOW | bindings/python/tests/create_torrent_test.py | 36 | def test_create_torrent_static_vars(self) -> None: | CODE |
| LOW | bindings/python/tests/create_torrent_test.py | 46 | def test_create_torrent_flags_t(self) -> None: | CODE |
| LOW | bindings/python/tests/create_torrent_test.py | 403 | def test_set_hash_long_deprecated(self) -> None: | CODE |
| LOW | bindings/python/tests/create_torrent_test.py | 419 | def test_set_file_hash_invalid(self) -> None: | CODE |
| LOW | bindings/python/tests/create_torrent_test.py | 438 | def test_set_file_hash_long_deprecated(self) -> None: | CODE |
| LOW | bindings/python/tests/create_torrent_test.py | 453 | def test_http_seed_deprecated(self) -> None: | CODE |
| LOW | bindings/python/tests/create_torrent_test.py | 571 | def test_args_pred_positional(self) -> None: | CODE |
| LOW | bindings/python/tests/create_torrent_test.py | 620 | def test_args_pred_positional(self) -> None: | CODE |
| LOW | bindings/python/tests/create_torrent_test.py | 691 | def test_path_non_unicode_str(self) -> None: | CODE |
| LOW | bindings/python/tests/create_torrent_test.py | 700 | def test_path_non_unicode_bytes(self) -> None: | CODE |
| LOW | bindings/python/tests/create_torrent_test.py | 718 | def test_path_surrogate_bytes(self) -> None: | CODE |
| LOW | bindings/python/tests/create_torrent_test.py | 790 | def test_path_non_ascii_bytes(self) -> None: | CODE |
| LOW⚡ | bindings/python/tests/create_torrent_test.py | 810 | def test_path_surrogate_bytes(self) -> None: | CODE |
| LOW⚡ | bindings/python/tests/create_torrent_test.py | 820 | def test_path_non_unicode_str(self) -> None: | CODE |
| LOW⚡ | bindings/python/tests/create_torrent_test.py | 830 | def test_path_non_unicode_bytes(self) -> None: | CODE |
| LOW | bindings/python/tests/alert_test.py | 64 | def test_category_t_deprecated(self) -> None: | CODE |
| LOW | bindings/python/tests/alert_test.py | 152 | def test_listen_succeeded_alert_socket_type_t(self) -> None: | CODE |
| LOW | bindings/python/tests/alert_test.py | 162 | def test_listen_succeeded_alert_socket_type_t_deprecated(self) -> None: | CODE |
| LOW | bindings/python/tests/alert_test.py | 183 | def test_listen_failed_alert_socket_type_t(self) -> None: | CODE |
| LOW | bindings/python/tests/alert_test.py | 193 | def test_listen_failed_alert_socket_type_t_deprecated(self) -> None: | CODE |
| LOW | bindings/python/tests/alert_test.py | 221 | def test_socket_type_t_deprecated(self) -> None: | CODE |
| LOW | bindings/python/tests/alert_test.py | 234 | def test_performance_warning_t(self) -> None: | CODE |
| LOW | bindings/python/tests/alert_test.py | 258 | def test_performance_warning_t_deprecated(self) -> None: | CODE |
| LOW | bindings/python/tests/alert_test.py | 281 | def test_stats_channel_deprecated(self) -> None: | CODE |
| LOW | bindings/python/tests/alert_test.py | 564 | def test_torrent_removed_alert(self) -> None: | CODE |
| LOW | bindings/python/tests/alert_test.py | 672 | class LambdaRequestHandler(http.server.BaseHTTPRequestHandler): | CODE |
| LOW | bindings/python/tests/alert_test.py | 781 | def test_tracker_warning_alert(self) -> None: | CODE |
| LOW | bindings/python/tests/alert_test.py | 829 | def test_hash_failed_alert_test(self) -> None: | CODE |
| LOW | bindings/python/tests/alert_test.py | 862 | def test_invalid_request_alert(self) -> None: | CODE |
| LOW | bindings/python/tests/alert_test.py | 892 | def test_torrent_finished_alert(self) -> None: | CODE |
| 84 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/parse_session_stats.py | 79 | except Exception as e: | CODE |
| LOW | tools/parse_session_stats.py | 118 | except Exception: | CODE |
| LOW | tools/parse_session_stats.py | 136 | except Exception: | CODE |
| LOW | tools/parse_session_stats.py | 155 | except Exception: | CODE |
| LOW | tools/parse_session_stats.py | 179 | except Exception: | CODE |
| LOW | tools/parse_session_stats.py | 205 | except Exception: | CODE |
| LOW | tools/parse_session_stats.py | 228 | except Exception: | CODE |
| LOW | tools/parse_session_stats.py | 968 | except Exception: | CODE |
| LOW | tools/run_benchmark.py | 1263 | except Exception: | CODE |
| LOW | tools/run_benchmark.py | 1268 | except Exception: | CODE |
| LOW | tools/parse_dht_log.py | 84 | except Exception: | CODE |
| LOW | tools/parse_dht_log.py | 156 | except Exception: | CODE |
| LOW | tools/parse_dht_log.py | 161 | except Exception as e: | CODE |
| LOW | tools/parse_sample.py | 30 | except Exception: | CODE |
| LOW | tools/clean.py | 78 | except Exception as e: | CODE |
| LOW | tools/clean.py | 83 | except Exception as e: | CODE |
| LOW | tools/test_filesystems.py | 103 | except Exception: | CODE |
| LOW | tools/parse_utp_log.py | 30 | except Exception: | CODE |
| LOW | tools/parse_utp_log.py | 146 | except Exception: | CODE |
| LOW | tools/parse_utp_log.py | 220 | except Exception: | CODE |
| LOW | tools/benchmark_checking.py | 62 | except Exception: | CODE |
| LOW | tools/benchmark_checking.py | 111 | except Exception: | CODE |
| LOW | tools/benchmark_checking.py | 116 | except Exception: | CODE |
| LOW | tools/parse_lookup_log.py | 37 | except Exception: | CODE |
| MEDIUM | tools/parse_lookup_log.py | 33 | def plot_nodes(nodes, frame): | CODE |
| LOW | tools/vmstat.py | 148 | except Exception: | CODE |
| LOW | tools/vmstat.py | 245 | except Exception: | CODE |
| LOW | test/http_proxy.py | 272 | except Exception: | CODE |
| LOW | test/http_proxy.py | 285 | except Exception: | CODE |
| LOW | test/http_proxy.py | 471 | except Exception: | CODE |
| LOW | test/http_proxy.py | 480 | except Exception: | CODE |
| LOW | test/websocket_server.py | 39 | except Exception as e: | CODE |
| MEDIUM | test/websocket_server.py | 20 | def handle(websocket): | CODE |
| LOW | test/web_server.py | 23 | except Exception: | CODE |
| LOW | test/web_server.py | 47 | except Exception: | CODE |
| LOW⚡ | test/web_server.py | 189 | except Exception as e: | CODE |
| LOW⚡ | test/web_server.py | 197 | except Exception: | CODE |
| LOW⚡ | test/web_server.py | 202 | except Exception: | CODE |
| LOW⚡ | test/web_server.py | 212 | except Exception: | CODE |
| LOW | test/web_server.py | 249 | except Exception as e: | CODE |
| LOW | test/web_server.py | 257 | except Exception: | CODE |
| MEDIUM | test/web_server.py | 44 | def do_GET(self): | CODE |
| MEDIUM | test/web_server.py | 209 | def do_POST(self): | CODE |
| LOW | test/socks.py | 52 | except Exception: | CODE |
| LOW | test/socks.py | 103 | except Exception: | CODE |
| LOW | test/socks.py | 219 | except Exception as e: | CODE |
| LOW | test/socks.py | 232 | except Exception as e: | CODE |
| LOW | test/socks.py | 245 | except Exception as e: | CODE |
| MEDIUM | test/socks.py | 100 | def handle(self): | CODE |
| LOW | docs/gen_reference_doc.py | 823 | except Exception: | CODE |
| LOW⚡ | examples/run_benchmarks.py | 94 | except Exception: | CODE |
| LOW⚡ | examples/run_benchmarks.py | 103 | except Exception: | CODE |
| LOW⚡ | examples/run_benchmarks.py | 116 | except Exception: | CODE |
| LOW⚡ | examples/run_benchmarks.py | 146 | except Exception: | CODE |
| LOW⚡ | examples/run_benchmarks.py | 150 | except Exception: | CODE |
| LOW⚡ | examples/run_benchmarks.py | 167 | except Exception: | CODE |
| LOW⚡ | examples/run_benchmarks.py | 172 | except Exception: | CODE |
| LOW⚡ | examples/run_benchmarks.py | 213 | except Exception: | CODE |
| LOW⚡ | examples/run_benchmarks.py | 216 | except Exception: | CODE |
| LOW⚡ | examples/run_benchmarks.py | 220 | except Exception: | CODE |
| 10 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/perf_call_tree.py | 541 | var selected = null; | CODE |
| HIGH⚡ | tools/perf_call_tree.py | 574 | if (!ul) return null; | CODE |
| HIGH⚡ | tools/perf_call_tree.py | 576 | return li ? li.querySelector(':scope > .node') : null; | CODE |
| HIGH⚡ | tools/perf_call_tree.py | 581 | if (!ul || !ul.classList.contains('children')) return null; | CODE |
| HIGH⚡ | tools/perf_call_tree.py | 589 | while (el && el.parentNode) { | CODE |
| HIGH⚡ | tools/perf_call_tree.py | 591 | if (ul.classList && ul.classList.contains('children') && ul.hidden) | CODE |
| HIGH⚡ | tools/perf_call_tree.py | 593 | el = ul.closest ? ul.closest('li') : null; | CODE |
| HIGH | tools/perf_call_tree.py | 617 | if (next >= 0 && next < vis.length) select(vis[next]); | CODE |
| HIGH | tools/gen_corpus.py | 2145 | # not a dict: dict_find_dict() returns null, piece layers skipped | COMMENT |
| HIGH | tools/benchmark_checking.py | 20 | ret = os.system(f"cd ../examples && b2 release {args.toolset} stage_client_test stage_connection_tester") | CODE |
| HIGH | docs/gen_todo.py | 16 | os.system('(cd .. ; ctags %s 2>/dev/null)' % ' '.join(paths)) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/benchmark_load_torrent.py | 62 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/benchmark_load_torrent.py | 64 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/benchmark_load_torrent.py | 312 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/benchmark_load_torrent.py | 314 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/benchmark_load_torrent.py | 334 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/benchmark_load_torrent.py | 336 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/benchmark_load_torrent.py | 617 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/benchmark_load_torrent.py | 619 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/benchmark_load_torrent.py | 824 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/benchmark_load_torrent.py | 826 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | docs/gen_reference_doc.py | 1130 | # ==================================================================== | COMMENT |
| MEDIUM | docs/gen_reference_doc.py | 1134 | # ==================================================================== | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/parse_session_stats.py | 94 | CODE | |
| LOW | tools/update_copyright.py | 9 | CODE | |
| LOW | tools/run_benchmark.py | 85 | CODE | |
| LOW | tools/run_benchmark.py | 169 | CODE | |
| LOW | tools/run_benchmark.py | 259 | CODE | |
| LOW | tools/run_benchmark.py | 660 | CODE | |
| LOW | tools/run_benchmark.py | 725 | CODE | |
| LOW | tools/run_benchmark.py | 963 | CODE | |
| LOW | tools/copyright.py | 70 | CODE | |
| LOW | tools/clean.py | 9 | CODE | |
| LOW | tools/disk_latency.py | 91 | CODE | |
| LOW | tools/perf_call_tree.py | 115 | CODE | |
| LOW | tools/perf_call_tree.py | 189 | CODE | |
| LOW | tools/set_version.py | 31 | CODE | |
| LOW | tools/vmstat.py | 310 | CODE | |
| LOW | tools/vmstat.py | 137 | CODE | |
| LOW | tools/libtorrent_lldb.py | 161 | CODE | |
| LOW | test/http_proxy.py | 43 | CODE | |
| LOW | test/http_proxy.py | 62 | CODE | |
| LOW | test/http_proxy.py | 291 | CODE | |
| LOW | test/web_server.py | 52 | CODE | |
| LOW | docs/gen_reference_doc.py | 353 | CODE | |
| LOW | docs/gen_reference_doc.py | 453 | CODE | |
| LOW | docs/gen_reference_doc.py | 533 | CODE | |
| LOW | docs/gen_reference_doc.py | 762 | CODE | |
| LOW | docs/gen_todo.py | 32 | CODE | |
| LOW | examples/run_benchmarks.py | 208 | CODE | |
| LOW | examples/run_benchmarks.py | 259 | CODE | |
| LOW | bindings/python/client.py | 126 | CODE | |
| LOW | bindings/python/client.py | 168 | CODE | |
| LOW | bindings/python/client.py | 214 | CODE | |
| LOW | bindings/python/setup.py | 383 | CODE | |
| LOW | bindings/python/tests/tdummy.py | 126 | CODE | |
| LOW | bindings/python/tests/alert_test.py | 1829 | CODE | |
| LOW | bindings/python/tests/client_test.py | 92 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/http_proxy.py | 435 | # through. Use this "hack" to pass through the encoding, and just use | COMMENT |
| MEDIUM | include/libtorrent/torrent_flags.hpp | 152 | // The behavior is more robust when setting this flag as part of adding | COMMENT |
| MEDIUM | include/libtorrent/alert_types.hpp | 745 | // This alert is generated when a peer is un-snubbed. Essentially when it was snubbed for stalling | COMMENT |
| MEDIUM | include/libtorrent/settings_pack.hpp | 494 | // likely to utilize all available bandwidth, and avoid having | COMMENT |
| MEDIUM | include/libtorrent/settings_pack.hpp | 1122 | // time from this peer. The benefit of this is to better utilize disk | COMMENT |
| MEDIUM | simulation/test_http_connection.cpp | 253 | // it has robust retry behavior (which the simple test proxy that comes with | COMMENT |
| MEDIUM | bindings/python/setup.py | 122 | # robust, and we trust it more. In case distutils gives empty results, | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/test_slow_hash.cpp | 86 | // Step 1: pre-create the file so the retried hash job can read block 1. | COMMENT |
| LOW | test/test_slow_hash.cpp | 124 | // Step 2: issue async_hash before inserting any block. | COMMENT |
| LOW⚡ | test/test_slow_hash.cpp | 137 | // Step 3: write block 0 without flush_piece so its buffer stays in cache. | COMMENT |
| LOW⚡ | test/test_slow_hash.cpp | 147 | // Step 4: wake hash thread B so it can pick up the hash job and park it. | COMMENT |
| LOW | include/libtorrent/aux_/receive_buffer.hpp | 83 | // the purpose of this function is to free up and cut off all messages | COMMENT |
| LOW | fuzzers/src/pe_conn.cpp | 137 | // Step 1: send our DH public key + PadA. | COMMENT |
| LOW | fuzzers/src/pe_conn.cpp | 150 | // Step 2: read the server's DH public key (first 96 bytes). | COMMENT |
| LOW | fuzzers/src/pe_conn.cpp | 172 | // Step 3: compute sync hash and obfuscated SKEY hash. | COMMENT |
| LOW | src/posix_storage.cpp | 408 | // if some files have priority 0, we need to check if they exist on the | COMMENT |
| LOW | src/receive_buffer.cpp | 149 | // the purpose of this function is to free up and cut off all messages | COMMENT |
| LOW | src/pread_storage.cpp | 240 | // if some files have priority 0, we need to check if they exist on the | COMMENT |
| LOW | src/mmap_storage.cpp | 348 | // if some files have priority 0, we need to check if they exist on the | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/parse_dht_log.py | 4 | CODE | |
| LOW | tools/parse_utp_log.py | 4 | CODE | |
| LOW | tools/parse_lookup_log.py | 5 | CODE | |
| LOW | tools/parse_peer_log.py | 4 | CODE | |
| LOW | tools/parse_dht_rtt.py | 4 | CODE | |
| LOW | docs/gen_reference_doc.py | 3 | CODE | |
| LOW | docs/gen_stats_doc.py | 2 | CODE | |
| LOW | examples/run_benchmarks.py | 3 | CODE | |
| LOW | bindings/python/client.py | 2 | CODE | |
| LOW | bindings/python/simple_client.py | 5 | CODE | |
| LOW | bindings/python/tests/simple_client_test.py | 20 | CODE | |
| LOW | bindings/python/tests/torrent_handle_test.py | 1 | CODE | |
| LOW | bindings/python/tests/create_torrent_test.py | 18 | CODE | |
| LOW | bindings/python/tests/alert_test.py | 29 | CODE | |
| LOW | bindings/python/tests/client_test.py | 22 | CODE | |
| LOW | bindings/python/tests/session_test.py | 18 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/test_slow_hash.cpp | 86 | // Step 1: pre-create the file so the retried hash job can read block 1. | COMMENT |
| LOW | test/test_slow_hash.cpp | 124 | // Step 2: issue async_hash before inserting any block. | COMMENT |
| LOW⚡ | test/test_slow_hash.cpp | 137 | // Step 3: write block 0 without flush_piece so its buffer stays in cache. | COMMENT |
| LOW⚡ | test/test_slow_hash.cpp | 147 | // Step 4: wake hash thread B so it can pick up the hash job and park it. | COMMENT |
| LOW | fuzzers/src/pe_conn.cpp | 137 | // Step 1: send our DH public key + PadA. | COMMENT |
| LOW | fuzzers/src/pe_conn.cpp | 150 | // Step 2: read the server's DH public key (first 96 bytes). | COMMENT |
| LOW | fuzzers/src/pe_conn.cpp | 172 | // Step 3: compute sync hash and obfuscated SKEY hash. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | bindings/python/tests/torrent_handle_test.py | 113 | # Create a session and add a handle | COMMENT |
| MEDIUM | bindings/python/tests/torrent_handle_test.py | 155 | # Create a peer, to ensure get_peer_info returns something | COMMENT |
| MEDIUM | bindings/python/tests/torrent_handle_test.py | 564 | # Create a multi-file torrent named "test" so that renaming with the | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | test/test_piece_picker.cpp | 144 | // trying to mark a block as requested after it has been completed | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | test/http_proxy.py | 44 | Reads a chunked-encoded stream from a file-like object. This will read up to the end of the chunked encoding, inclu | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/http_proxy.py | 208 | # Check if Host header is present (useful for debugging libtorrent | COMMENT |
| LOW | test/http_proxy.py | 214 | # Check if Host header matches CONNECT target | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/gen_corpus.py | 1010 | CODE | |
| LOW | tools/gen_corpus.py | 2902 | CODE | |
| LOW | examples/run_benchmarks.py | 224 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/check_installed_headers.py | 9 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | include/libtorrent/aux_/torrent.hpp | 1336 | // member functions. Don't forget to also call peers_erased() | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/kademlia/item.cpp | 120 | // TODO: implement ctor for entry from bdecode_node? | COMMENT |