2025-08-14 - 2026-08-14
Overview
52 Pull requests merged by 1 user
Merged
#210 Evaluation of codebase by human
Merged
#209 Remove unimplemented CLI options
Merged
#208 fix: complete issues #201-#206 remediation
Merged
#207 fix: validate delta output and integration test skips
Merged
#200 refactor: extract CLI parser helpers, fix validation bugs
Merged
#199 docs: rsync feature compatibility matrix
Merged
#198 Batch fix: security, bugs, quality, and features (v2)
Merged
#173 Comprehensive fix: security, bugs, refactoring, tests, and rsync parity features
Merged
#148 Merge all 5 batch PRs: security, CLI features, protocol, performance, tests/docs
Merged
#145 Revert PR #143 merge to main
Merged
#143 Merge all 5 batch PRs: security, CLI features, protocol, performance, tests/docs
Merged
#144 feat: add --fastsync-server-path flag to configure remote server binary path
Merged
#94 docs: add batch PR workflow and CI troubleshooting to AGENTS.md
Merged
#93 Merge remaining 4 PRs: memory safety, refactoring, test coverage, integration cleanup
Merged
#88 Fix logic/correctness bugs (#73, #68, #67, #66, #59, #58, #54, #48, #53)
Merged
#90 Features and enhancements (#70, #36, #34, #33, #32, #57, #40, #37)
Merged
#86 Revert all 6 merged PRs (#80-#85)
Merged
#85 Fix integration issues: ssl_ctx init + test API updates
Merged
#84 Features and enhancements (#70, #36, #34, #33, #32, #57, #40, #37)
Merged
#83 Add unit test coverage (#71, #63, #62, #56, #55)
Merged
#82 Fix logic/correctness bugs (#73, #68, #67, #66, #59, #58, #54, #48, #53)
Merged
#81 Fix refactoring and portability issues (#61, #51, #52)
Merged
#80 Fix memory/null safety bugs (#74, #72, #69, #64, #60, #50, #49, #65)
Merged
#47 Fix 11 Gitea issues — bugs, quality, security, and refactoring
Merged
#75 ci: fix double CI runs on PR pushes
Merged
#25 testing: add comprehensive test suite for test-driven development
Merged
#28 Improve agentic workflow — CI rules, branch strategy, deprecation rules, and new agents
Merged
#26 feat: update AI automation agents, add reviewer agent, enhance CI
Merged
#27 docs: add AGENTS.md with custom-image dependency install rule
Merged
#24 ci: add static analysis, sanitizers, and formatting enforcement
Merged
#22 feat: add delta transfer for incremental sync
Merged
#21 refactor: split test.py into modular pytest integration tests + benchmark tool
Merged
#23 feat: add opencode agents and skills for development workflows
Merged
#20 docs: update README with TLS, incremental sync, server CLI, and corrected build requirements
Merged
#13 TLS transport: OpenSSL-based encrypted TCP
Merged
#14 Incremental sync: --incremental to skip unchanged files
Merged
#18 test: add --full flag for lightweight default mode
Merged
#19 refactor: merge sendfile and single_calls _no_path variants with send_path bool
Merged
#17 ci: add build and unit test pipeline
Merged
#15 Bandwidth throttling: --bwlimit <KB/s> with token bucket
Merged
#16 Add custom opencode agents for FastSync development
Merged
#11 Multi-client server, protocol versioning, streaming decompression
Merged
#12 Fix exit() in library code, add --include/--max-size/--min-size
Merged
#10 Fair benchmark: random data, exclude dry run from metrics
Merged
#8 Rsync-compatible flags: -a, -n, -p, --exclude, --delete
Merged
#9 Update README and add feature tests for rsync-compatible flags
Merged
#7 Streaming zstd: switch to ZSTD_compressStream2 / ZSTD_decompressStream
Merged
#6 Quick wins: ControlMaster, -z alias, --progress, fix write warning
Merged
#5 Performance tuning: test data, SSH buffer, and configurable chunk size
Merged
#4 Phase 1+2: bug fixes and dead code cleanup
Merged
#1 refactor: split monolithic modules and extract shared components
Merged
#3 fixup: address PR review comments
138 Issues closed from 1 user
Closed
#202 Harden receiver cancellation, deadlines, and manifest validation
Closed
#203 Implement checksum-aware incremental synchronization
Closed
#204 Make CI exercise dev and execute meaningful integration/fuzz coverage
Closed
#205 Use descriptor-relative no-follow writes for destination confinement
Closed
#206 Make parsed receiver and scanner options affect behavior or fail explicitly
Closed
#201 Require server-side authorization for destination and deletion
Closed
#174 Feature: Partial/incomplete transfer resumption (--partial, --partial-dir, --inplace)
Closed
#175 Feature: Rich filter rules and file lists (--filter, --files-from, --exclude-from)
Closed
#176 Feature: Transfer statistics output (--stats)
Closed
#177 Feature: Preserve symlinks, hard links, and special files (-l, -H, -D)
Closed
#178 Feature: Backup and versioning (--backup, --backup-dir, --suffix)
Closed
#179 Feature: Delete policies and ordering (--delete-before, --delete-after, --delete-excluded, --max-delete)
Closed
#180 Feature: Connection timeouts, retries, and keepalive
Closed
#181 Feature: IPv6 and bind-address support
Closed
#182 Feature: Daemon/server mode equivalent to rsyncd
Closed
#183 Feature: Checksum-based whole-file comparison (-c, --checksum)
Closed
#184 Feature: Compression algorithm negotiation (not just zstd)
Closed
#185 Feature: SSH key/agent options and remote shell customization
Closed
#186 Feature: Sparse file handling (--sparse)
Closed
#187 Security: Unbounded network allocation allows denial-of-service
Closed
#188 Security: Path traversal in received file paths
Closed
#189 Security: TLS client does not verify server hostname
Closed
#190 Security: No connection limits or timeouts enables fork-bomb / slowloris
Closed
#191 Security: SUID/SGID bits preserved via metadata can escalate privileges
Closed
#192 Security: Scanner follows symlinks and can traverse outside source tree
Closed
#193 Bug: --progress output is missing in multithreaded mode
Closed
#194 Bug: TCP client only accepts IPv4 addresses, not hostnames
Closed
#195 Quality: Replace strcpy/strcat with bounded string functions
Closed
#196 Quality: Refactor long sender functions and duplicated dry-run logic
Closed
#168 Bug/Performance: sendfile() loop treats EAGAIN / EINTR as fatal errors
Closed
#169 Bug/Security: chown() failures during metadata restoration are silently ignored
Closed
#170 Security: Delta and chunk deserialization don't validate array counts/sizes from network
Closed
#158 Bug: Server leaks Config in non-multithreaded handler path
Closed
#159 Security: zstd decompression may allocate ZSTD_CONTENTSIZE_UNKNOWN bytes
Closed
#160 Security: TLS I/O doesn't handle SSL_ERROR_WANT_READ / SSL_ERROR_WANT_WRITE
Closed
#161 Security: TLS client lacks hostname verification
Closed
#162 Security: --delete follows symlinks and may delete outside destination tree
Closed
#163 Bug: --delete manifest sending ignores send_status / send_int / send_str failures
Closed
#164 Bug: Transfer functions return -1, causing implementation-defined exit status
Closed
#165 Bug/Quality: Protocol layer uses global I/O state; io_ssl is not thread-local
Closed
#166 Bug: client_cli.c may free() a string literal for server_host
Closed
#167 Bug: Server receive_thread doesn't propagate file_receive / chunk receive errors
Closed
#134 Testing: missing end-to-end integration tests for delta, multiprocessing, and server pipeline
Closed
#135 Testing: fuzz targets exist but are never run — no CI integration
Closed
#136 Testing: no coverage data for client_cli.c and server.c — CLI and server entry points untested
Closed
#137 Testing: multiprocessing.c has only 42% coverage — server thread functions untested
Closed
#149 Refactor: main() in client_cli.c is a 277-line god function
Closed
#150 Refactor: config_create() 11-parameter constructor is unmaintainable
Closed
#151 Refactor: send_files() and send_files_multithreaded() share massive code duplication
Closed
#152 Bug: Missing NULL-checks and weak input validation in CLI argument parsing
Closed
#156 Security: Unbounded wire sizes enable OOM denial of service
Closed
#157 Security: Metadata restoration applies arbitrary mode bits including setuid/setgid
Closed
#121 Rsync parity: extended metadata preservation (hard links, ACLs, xattrs, devices, sparse files)
Closed
#122 Rsync parity: output and logging options (--itemize-changes, --out-format, --info, --debug, --list-only, --files-from, --human-readable)
Closed
#127 Rsync parity: update/inplace/append transfer modes
Closed
#128 Rsync parity: extended delete options
Closed
#129 Rsync parity: advanced file selection (--filter, --files-from, --cvs-exclude, --prune-empty-dirs, --relative)
Closed
#130 Rsync parity: remote shell and connection options
Closed
#131 Testing: transport layer has 0% unit test coverage (TCP, TLS, SSH)
Closed
#132 Testing: file.c has only 21% coverage — many critical functions untested
Closed
#133 Testing: config.c has only 33% coverage — protocol serialization untested
Closed
#120 Rsync parity: symlink handling flags (--links, --copy-links, --safe-links, --copy-unsafe-links)
Closed
#154 Security: Path traversal allows writes/deletes outside destination root
Closed
#39 quality: no unit tests for transport modules (TCP, SSH, TLS, Protocol)
Closed
#123 Rsync parity: update/inplace/append transfer modes
Closed
#124 Rsync parity: extended delete options
Closed
#125 Rsync parity: advanced file selection (--filter, --files-from, --cvs-exclude, --prune-empty-dirs, --relative)
Closed
#126 Rsync parity: remote shell and connection options
Closed
#147 Agents must never merge PRs onto main — use tea CLI instead
Closed
#102 Missing atomic file writes on receiver (write-then-rename)
Closed
#106 Incremental check causes per-file network round-trip -- batch it
Closed
#107 Loader thread loads all file data into memory causing high memory usage
Closed
#108 Fixed queue capacity 100 may cause pipeline stalls for varied file sizes
Closed
#109 Single-threaded BFS scanner is a bottleneck for large directory trees
Closed
#110 Static compression level wastes CPU on incompressible files
Closed
#111 Bandwidth limiter uses nanosleep causing jitter, and SSL thread-local limits threading
Closed
#119 Update README for new features, missing flags, and stale content
Closed
#100 Missing heartbeat/keep-alive messages in protocol
Closed
#101 Missing cancellation/abort mechanism in protocol
Closed
#97 Missing --backup / --backup-dir flags for safe destructive operations
Closed
#98 Missing --stats flag for transfer statistics summary
Closed
#99 Missing --exclude-from / --include-from for pattern files
Closed
#103 Missing --max-depth directory traversal limit flag
Closed
#104 Missing --log-file option for persistent logging
Closed
#105 Hardcoded queue capacity 100 should be configurable via --queue-size
Closed
#95 Missing --timeout / --contimeout CLI flags for connection and I/O timeouts
Closed
#96 Missing --quiet / --silent flag to suppress non-error output
Closed
#115 Fixed 512-byte stack buffer for SSH user@host can truncate silently
Closed
#116 No per-message receive timeout allows slow loris / hang DoS
Closed
#117 MAX_DATA_SIZE = 1GB allows large memory allocation from network input
Closed
#118 TLS client disables certificate verification when no CA is provided
Closed
#112 strstr(..) path traversal check is weak and has false positives
Closed
#113 No connection limit on server creates fork bomb DoS vector
Closed
#114 Integer overflow in delta_signature_deserialize allocation
Closed
#37 feature: no partial transfer resume or --partial support
Closed
#32 security: TLS does not verify server certificate when no CA is provided
Closed
#33 enhancement: TCP transport only supports IPv4, no IPv6 support
Closed
#34 feature: no symbolic link handling (ignored or broken)
Closed
#36 feature: no network timeout handling — operations can hang indefinitely
Closed
#40 performance: entire file content loaded into RAM -- no streaming for large files
Closed
#48 data_compress() ignores compression_level parameter — always uses zstd default (3)
Closed
#53 log_message() format parameter should be const char*
Closed
#54 Duplicate file receive logic in delta fallback path in file.c
Closed
#57 Exclude/include patterns and size filters not transmitted over wire to server
Closed
#58 Return values of chmod() and chown() in file_restore_metadata() are ignored
Closed
#59 atoi() used for ssh_port and server_port without error validation
Closed
#51 FILE_METADATA_WIRE_SIZE is not portable between 32-bit and 64-bit systems
Closed
#52 Add --version flag to both client and server binaries
Closed
#55 No unit tests for transport modules (TCP, SSH, TLS)
Closed
#56 Scanner exclude/include pattern tests lack edge case coverage
Closed
#61 data.h includes <stdlib.h> via quotes instead of angle brackets
Closed
#62 No unit tests for the logging module (log.c/log.h)
Closed
#63 No dedicated unit tests for multiprocessing module
Closed
#66 Global g_server variable in server.c is not thread-safe for signal handling
Closed
#67 glob_match() does not support double-star (**) recursive glob patterns
Closed
#68 Potential integer overflow in bandwidth throttling timing calculation
Closed
#70 TCP connections lack timeout/keepalive configuration
Closed
#71 No test coverage for sendfile zero-copy transfer path
Closed
#73 send_n_data SSL path does not handle SSL_ERROR_WANT_WRITE properly
Closed
#49 chunk_size truncated to int during wire transfer — values > 2GB silently corrupted
Closed
#50 mkdir_r() has potential buffer overflow in path construction loop
Closed
#60 SSH transport uses fixed-size argv array that may overflow with more options
Closed
#64 Scanner stores pointers to exclude/include patterns without ownership
Closed
#65 Compression module may truncate decompressed size on 32-bit platforms
Closed
#69 send_str() will segfault if passed NULL pointer
Closed
#72 receive_str() has no size limit — potential memory exhaustion DoS
Closed
#74 data_create_empty with size 0 calls malloc(0) — undefined behavior per C standard
Closed
#43 bug: delete_extras_walk unconditionally calls rmdir on directories
Closed
#44 quality: server_host and server_port are mutable global variables (not thread-safe)
Closed
#45 security: SSH transport uses fixed-size buffers in parse_remote_dest
Closed
#46 quality: send_chunk has deeply nested if-else with duplicated file-sending loops
Closed
#29 bug: compression_level parameter silently ignored in data_compress()
Closed
#30 bug: chunk_size truncated from 64-bit to 32-bit on send and receive
Closed
#31 bug: chmod() and chown() return values silently ignored in metadata restore
Closed
#35 bug: mkdir_r uses strtok() which is not thread-safe
Closed
#38 bug: open_next_directory returns 0 for both empty queue and opendir failure
Closed
#41 bug: file_send_sendfile accepts compression_level parameter but ignores it
Closed
#42 bug: to_disk uses dirname() which may modify its argument (POSIX undefined)
138 Issues created by 0 users
Opened
#29 bug: compression_level parameter silently ignored in data_compress()
Opened
#30 bug: chunk_size truncated from 64-bit to 32-bit on send and receive
Opened
#31 bug: chmod() and chown() return values silently ignored in metadata restore
Opened
#32 security: TLS does not verify server certificate when no CA is provided
Opened
#33 enhancement: TCP transport only supports IPv4, no IPv6 support
Opened
#34 feature: no symbolic link handling (ignored or broken)
Opened
#35 bug: mkdir_r uses strtok() which is not thread-safe
Opened
#36 feature: no network timeout handling — operations can hang indefinitely
Opened
#37 feature: no partial transfer resume or --partial support
Opened
#38 bug: open_next_directory returns 0 for both empty queue and opendir failure
Opened
#39 quality: no unit tests for transport modules (TCP, SSH, TLS, Protocol)
Opened
#40 performance: entire file content loaded into RAM -- no streaming for large files
Opened
#41 bug: file_send_sendfile accepts compression_level parameter but ignores it
Opened
#42 bug: to_disk uses dirname() which may modify its argument (POSIX undefined)
Opened
#43 bug: delete_extras_walk unconditionally calls rmdir on directories
Opened
#44 quality: server_host and server_port are mutable global variables (not thread-safe)
Opened
#45 security: SSH transport uses fixed-size buffers in parse_remote_dest
Opened
#46 quality: send_chunk has deeply nested if-else with duplicated file-sending loops
Opened
#48 data_compress() ignores compression_level parameter — always uses zstd default (3)
Opened
#49 chunk_size truncated to int during wire transfer — values > 2GB silently corrupted
Opened
#50 mkdir_r() has potential buffer overflow in path construction loop
Opened
#51 FILE_METADATA_WIRE_SIZE is not portable between 32-bit and 64-bit systems
Opened
#52 Add --version flag to both client and server binaries
Opened
#53 log_message() format parameter should be const char*
Opened
#54 Duplicate file receive logic in delta fallback path in file.c
Opened
#55 No unit tests for transport modules (TCP, SSH, TLS)
Opened
#56 Scanner exclude/include pattern tests lack edge case coverage
Opened
#57 Exclude/include patterns and size filters not transmitted over wire to server
Opened
#58 Return values of chmod() and chown() in file_restore_metadata() are ignored
Opened
#59 atoi() used for ssh_port and server_port without error validation
Opened
#60 SSH transport uses fixed-size argv array that may overflow with more options
Opened
#61 data.h includes <stdlib.h> via quotes instead of angle brackets
Opened
#62 No unit tests for the logging module (log.c/log.h)
Opened
#63 No dedicated unit tests for multiprocessing module
Opened
#64 Scanner stores pointers to exclude/include patterns without ownership
Opened
#65 Compression module may truncate decompressed size on 32-bit platforms
Opened
#66 Global g_server variable in server.c is not thread-safe for signal handling
Opened
#67 glob_match() does not support double-star (**) recursive glob patterns
Opened
#68 Potential integer overflow in bandwidth throttling timing calculation
Opened
#69 send_str() will segfault if passed NULL pointer
Opened
#70 TCP connections lack timeout/keepalive configuration
Opened
#71 No test coverage for sendfile zero-copy transfer path
Opened
#72 receive_str() has no size limit — potential memory exhaustion DoS
Opened
#73 send_n_data SSL path does not handle SSL_ERROR_WANT_WRITE properly
Opened
#74 data_create_empty with size 0 calls malloc(0) — undefined behavior per C standard
Opened
#95 Missing --timeout / --contimeout CLI flags for connection and I/O timeouts
Opened
#96 Missing --quiet / --silent flag to suppress non-error output
Opened
#97 Missing --backup / --backup-dir flags for safe destructive operations
Opened
#98 Missing --stats flag for transfer statistics summary
Opened
#99 Missing --exclude-from / --include-from for pattern files
Opened
#100 Missing heartbeat/keep-alive messages in protocol
Opened
#101 Missing cancellation/abort mechanism in protocol
Opened
#102 Missing atomic file writes on receiver (write-then-rename)
Opened
#103 Missing --max-depth directory traversal limit flag
Opened
#104 Missing --log-file option for persistent logging
Opened
#105 Hardcoded queue capacity 100 should be configurable via --queue-size
Opened
#106 Incremental check causes per-file network round-trip -- batch it
Opened
#107 Loader thread loads all file data into memory causing high memory usage
Opened
#108 Fixed queue capacity 100 may cause pipeline stalls for varied file sizes
Opened
#109 Single-threaded BFS scanner is a bottleneck for large directory trees
Opened
#110 Static compression level wastes CPU on incompressible files
Opened
#111 Bandwidth limiter uses nanosleep causing jitter, and SSL thread-local limits threading
Opened
#112 strstr(..) path traversal check is weak and has false positives
Opened
#113 No connection limit on server creates fork bomb DoS vector
Opened
#114 Integer overflow in delta_signature_deserialize allocation
Opened
#115 Fixed 512-byte stack buffer for SSH user@host can truncate silently
Opened
#116 No per-message receive timeout allows slow loris / hang DoS
Opened
#117 MAX_DATA_SIZE = 1GB allows large memory allocation from network input
Opened
#118 TLS client disables certificate verification when no CA is provided
Opened
#119 Update README for new features, missing flags, and stale content
Opened
#120 Rsync parity: symlink handling flags (--links, --copy-links, --safe-links, --copy-unsafe-links)
Opened
#121 Rsync parity: extended metadata preservation (hard links, ACLs, xattrs, devices, sparse files)
Opened
#122 Rsync parity: output and logging options (--itemize-changes, --out-format, --info, --debug, --list-only, --files-from, --human-readable)
Opened
#123 Rsync parity: update/inplace/append transfer modes
Opened
#124 Rsync parity: extended delete options
Opened
#125 Rsync parity: advanced file selection (--filter, --files-from, --cvs-exclude, --prune-empty-dirs, --relative)
Opened
#126 Rsync parity: remote shell and connection options
Opened
#127 Rsync parity: update/inplace/append transfer modes
Opened
#128 Rsync parity: extended delete options
Opened
#129 Rsync parity: advanced file selection (--filter, --files-from, --cvs-exclude, --prune-empty-dirs, --relative)
Opened
#130 Rsync parity: remote shell and connection options
Opened
#131 Testing: transport layer has 0% unit test coverage (TCP, TLS, SSH)
Opened
#132 Testing: file.c has only 21% coverage — many critical functions untested
Opened
#133 Testing: config.c has only 33% coverage — protocol serialization untested
Opened
#134 Testing: missing end-to-end integration tests for delta, multiprocessing, and server pipeline
Opened
#135 Testing: fuzz targets exist but are never run — no CI integration
Opened
#136 Testing: no coverage data for client_cli.c and server.c — CLI and server entry points untested
Opened
#137 Testing: multiprocessing.c has only 42% coverage — server thread functions untested
Opened
#147 Agents must never merge PRs onto main — use tea CLI instead
Opened
#149 Refactor: main() in client_cli.c is a 277-line god function
Opened
#150 Refactor: config_create() 11-parameter constructor is unmaintainable
Opened
#151 Refactor: send_files() and send_files_multithreaded() share massive code duplication
Opened
#152 Bug: Missing NULL-checks and weak input validation in CLI argument parsing
Opened
#154 Security: Path traversal allows writes/deletes outside destination root
Opened
#156 Security: Unbounded wire sizes enable OOM denial of service
Opened
#157 Security: Metadata restoration applies arbitrary mode bits including setuid/setgid
Opened
#158 Bug: Server leaks Config in non-multithreaded handler path
Opened
#159 Security: zstd decompression may allocate ZSTD_CONTENTSIZE_UNKNOWN bytes
Opened
#160 Security: TLS I/O doesn't handle SSL_ERROR_WANT_READ / SSL_ERROR_WANT_WRITE
Opened
#161 Security: TLS client lacks hostname verification
Opened
#162 Security: --delete follows symlinks and may delete outside destination tree
Opened
#163 Bug: --delete manifest sending ignores send_status / send_int / send_str failures
Opened
#164 Bug: Transfer functions return -1, causing implementation-defined exit status
Opened
#165 Bug/Quality: Protocol layer uses global I/O state; io_ssl is not thread-local
Opened
#166 Bug: client_cli.c may free() a string literal for server_host
Opened
#167 Bug: Server receive_thread doesn't propagate file_receive / chunk receive errors
Opened
#168 Bug/Performance: sendfile() loop treats EAGAIN / EINTR as fatal errors
Opened
#169 Bug/Security: chown() failures during metadata restoration are silently ignored
Opened
#170 Security: Delta and chunk deserialization don't validate array counts/sizes from network
Opened
#174 Feature: Partial/incomplete transfer resumption (--partial, --partial-dir, --inplace)
Opened
#175 Feature: Rich filter rules and file lists (--filter, --files-from, --exclude-from)
Opened
#176 Feature: Transfer statistics output (--stats)
Opened
#177 Feature: Preserve symlinks, hard links, and special files (-l, -H, -D)
Opened
#178 Feature: Backup and versioning (--backup, --backup-dir, --suffix)
Opened
#179 Feature: Delete policies and ordering (--delete-before, --delete-after, --delete-excluded, --max-delete)
Opened
#180 Feature: Connection timeouts, retries, and keepalive
Opened
#181 Feature: IPv6 and bind-address support
Opened
#182 Feature: Daemon/server mode equivalent to rsyncd
Opened
#183 Feature: Checksum-based whole-file comparison (-c, --checksum)
Opened
#184 Feature: Compression algorithm negotiation (not just zstd)
Opened
#185 Feature: SSH key/agent options and remote shell customization
Opened
#186 Feature: Sparse file handling (--sparse)
Opened
#187 Security: Unbounded network allocation allows denial-of-service
Opened
#188 Security: Path traversal in received file paths
Opened
#189 Security: TLS client does not verify server hostname
Opened
#190 Security: No connection limits or timeouts enables fork-bomb / slowloris
Opened
#191 Security: SUID/SGID bits preserved via metadata can escalate privileges
Opened
#192 Security: Scanner follows symlinks and can traverse outside source tree
Opened
#193 Bug: --progress output is missing in multithreaded mode
Opened
#194 Bug: TCP client only accepts IPv4 addresses, not hostnames
Opened
#195 Quality: Replace strcpy/strcat with bounded string functions
Opened
#196 Quality: Refactor long sender functions and duplicated dry-run logic
Opened
#201 Require server-side authorization for destination and deletion
Opened
#202 Harden receiver cancellation, deadlines, and manifest validation
Opened
#203 Implement checksum-aware incremental synchronization
Opened
#204 Make CI exercise dev and execute meaningful integration/fuzz coverage
Opened
#205 Use descriptor-relative no-follow writes for destination confinement
Opened
#206 Make parsed receiver and scanner options affect behavior or fail explicitly