1. 23 Sep, 2025 9 commits
    • Stefy Lanza (nextime / spora )'s avatar
      Fix WebSocket masking issue in VNC connections · b6d4fdb0
      Stefy Lanza (nextime / spora ) authored
      - Added retry logic with partial write handling to ws_send_binary_frame()
      - Prevents WebSocket frame corruption during large VNC data transmission
      - Fixes 'server must not mask frames' error in noVNC browser connections
      - ws_send_binary_frame now handles SSL write interruptions properly
      b6d4fdb0
    • Stefy Lanza (nextime / spora )'s avatar
      Add test_vnc_client.c: Minimal VNC client for testing VNC tunneling over wsssht · f141f3ab
      Stefy Lanza (nextime / spora ) authored
      - Implements VNC protocol handshake (version exchange, security negotiation, client init)
      - Uses wsssht --pipe mode for bidirectional communication
      - Includes timeout handling and proper error management
      - Tested successfully with VNC server negotiation
      f141f3ab
    • Stefy Lanza (nextime / spora )'s avatar
      Fix VNC connection dropping immediately after connect · 079f6c9c
      Stefy Lanza (nextime / spora ) authored
      - Replace ws_send_frame with ws_send_binary_frame for VNC WebSocket data
      - This ensures proper binary frame handling for VNC protocol data
      - Fixes immediate disconnection after 'VNC connected' message
      079f6c9c
    • Stefy Lanza (nextime / spora )'s avatar
      Fix VNC connection issue: correct corrupted base64.js file · e4033f9f
      Stefy Lanza (nextime / spora ) authored
      - Fix Base64 object definition in wssshd2/templates/novnc/base64.js
      - Change 'window.{' to 'window.Base64 = {' to properly define global Base64 object
      - This resolves ReferenceError when decoding JPEG rectangles in Tight encoding
      - VNC connections now establish successfully instead of disconnecting immediately
      e4033f9f
    • Stefy Lanza (nextime / spora )'s avatar
      Fix VNC WebSocket connection hanging after initial RFB handshake · c1ba79e1
      Stefy Lanza (nextime / spora ) authored
      - Implement bidirectional pipe communication for VNC sessions
      - Replace single pipe with separate stdin/stdout pipes
      - Fix child process redirection to properly handle both input and output
      - Add enhanced debug logging for VNC data flow
      - Update resource cleanup in vnc_free_session()
      
      This resolves the issue where VNC connections would hang after exchanging
      the first 12 bytes (RFB protocol version strings) because input from
      noVNC WebSocket wasn't reaching the wsssht process.
      c1ba79e1
    • Stefy Lanza (nextime / spora )'s avatar
      Fix critical VNC pipe bug and add debug logging · 8545d971
      Stefy Lanza (nextime / spora ) authored
      - Fix pipe handling in vnc.c: was writing to read end instead of write end
      - Add separate read_fd/write_fd fields to vnc_session_t struct
      - Add debug logging for VNC data exchange in websocket handler
      - Add hex dump logging for VNC pipe communication
      
      This resolves the 'Wrote -1 bytes to pipe' error that was preventing
      VNC connections from working properly.
      8545d971
    • Stefy Lanza (nextime / spora )'s avatar
      Connect wsssht stdin/stdout to VNC WebSocket channel · 79fa8426
      Stefy Lanza (nextime / spora ) authored
      - Add output buffering to vnc_session_t structure
      - Modify read_pipe_output to buffer wsssht stdout
      - Update vnc_get_output to return buffered data
      - Modify websocket_vnc_handler to send output to WebSocket client
      - Enable bidirectional communication for VNC WebSocket connections
      79fa8426
    • Stefy Lanza (nextime / spora )'s avatar
      Enable non-TLS WebSocket connections for noVNC · 5a4dcbd2
      Stefy Lanza (nextime / spora ) authored
      - Remove secure context check in noVNC RFB.js to allow HTTP usage
      - Add --websocket-tls-only configuration option (defaults to true for security)
      - Implement mixed TLS/non-TLS WebSocket server support
      - Add plain WebSocket connection support in protocol layer
      - Fix critical bugs: buffer overflows, race conditions, HTML template issues
      - All changes maintain backward compatibility while enabling HTTP WebSocket usage
      5a4dcbd2
    • Stefy Lanza (nextime / spora )'s avatar
      Fix SyntaxError: Convert pako zlib modules from CommonJS to ES6 · 5fff97e9
      Stefy Lanza (nextime / spora ) authored
      - Fix embed_assets.sh sed regex for CommonJS to ES6 conversion
      - Convert require() calls to import statements in deflate.js
      - Add missing messages.js file for error messages
      - Remove module.exports statements from deflate.js
      - Update all pako zlib files to use ES6 modules
      
      This resolves the 'require is not defined' and 'module is not defined' errors in the browser.
      5fff97e9
  2. 22 Sep, 2025 14 commits
  3. 21 Sep, 2025 17 commits