maziggy
7b90c743c2
Strip explanatory text from nosec comments to silence Bandit warnings
...
Bandit parses all words after `# nosec BXXX` as test IDs, producing
~35 "not a test name or id" warnings. Trim to just `# nosec BXXX`.
2026-02-06 12:57:37 +01:00
maziggy
5b0a985da2
Add explanatory comments to 265 empty except blocks
...
CodeQL flags except blocks where `pass` has no comment explaining
why the exception is silently ignored (py/empty-except rule).
Added context-specific comments to all 265 instances across 31 files:
- database.py (~112): ALTER TABLE migrations — "Already applied"
- archive/library/3MF parsing (~64): "Skip unparseable metadata"
- virtual_printer network cleanup (~32): "Best-effort socket cleanup"
- discovery/SSDP (~13): "SO_REUSEPORT not available" / socket cleanup
- bambu_ftp/mqtt (~13): FTP cleanup, JSON decode, signal parsing
- remaining routes/services (~31): context-specific comments
2026-02-06 11:58:38 +01:00
maziggy
a0133fb43b
Fix safe security findings: hashlib, log injection, broad excepts, bandit suppressions
...
- Add usedforsecurity=False to MD5 (AMS fingerprint) and SHA1 (git blob
hash) calls to silence Bandit B303 / CodeQL weak-crypto findings
- Convert ~996 f-string logging calls to parameterized %s-style across
55 files to prevent log injection (Bandit G201 / CodeQL log-injection)
- Narrow ~199 broad except Exception blocks to specific types:
OperationalError for DB migrations, OSError for network/file cleanup,
(OSError, ftplib.error_reply) for FTP, and targeted tuples for
ZIP/XML/JSON parsing — 36 intentionally left broad (mixed async,
re-raise patterns)
- Add # nosec comments to 9 known-safe lines (0.0.0.0 virtual printer
binds, ftplib imports) and exclude backend/tests/ from bandit scan
- Bandit now reports 0 medium/high findings
2026-02-06 11:45:12 +01:00
maziggy
53bd4fadb3
Fix safe security findings: hashlib, log injection, broad excepts
...
- Add usedforsecurity=False to MD5 (AMS fingerprint) and SHA1 (git blob
hash) calls to silence Bandit B303 / CodeQL weak-crypto findings
- Convert ~996 f-string logging calls to parameterized %s-style across
55 files to prevent log injection (Bandit G201 / CodeQL log-injection)
- Narrow ~199 broad except Exception blocks to specific types:
OperationalError for DB migrations, OSError for network/file cleanup,
(OSError, ftplib.error_reply) for FTP, and targeted tuples for
ZIP/XML/JSON parsing — 36 intentionally left broad (mixed async,
re-raise patterns)
2026-02-06 11:37:59 +01:00
maziggy
bb37a8c8a8
Fix virtual printer model codes and serial prefixes
...
- Correct SSDP model codes: C11=P1P, C12=P1S, N7=P2S, C13=X1E
- Fix serial prefixes based on actual Bambu serial format
- Add confirmation modal for pending upload discard
- Sort model dropdown alphabetically, remove internal codes
- Add "Setup Required" warning with link to wiki documentation
- Update wiki with certificate installation and platform setup guides
2026-01-04 14:05:08 +01:00
maziggy
88e84ca45a
- Add Virtual Printer feature - emulate Bambu printer on network
...
- Virtual printer appears in Bambu Studio/Orca Slicer via SSDP discovery
- Secure TLS/MQTT communication with auto-generated certificates
- Queue mode (pending uploads) or auto-start mode
- Configurable access code for authentication
- Docker support with network_mode: host and certificate persistence
- Fix backup/restore for virtual printer settings (auto-save no longer overwrites)
2025-12-29 15:52:48 +01:00