philkunz
9cb6e397b9
fix(ts/index.ts): Fix export order in ts/index.ts by moving the port proxy export back and adding interfaces export for proper module exposure
2025-03-18 12:49:52 +00:00
philkunz
4b30e377b9
fix(connectionhandler): Remove unnecessary delay in TLS session ticket handling for connections without SNI
2025-03-18 00:32:01 +00:00
philkunz
426249e70e
fix(connectionhandler): Ensure proper termination of TLS connections without SNI by explicitly ending the socket after sending the unrecognized_name alert. This prevents the connection from hanging and avoids potential duplicate handling.
2025-03-18 00:29:17 +00:00
philkunz
151b8f498c
fix(core): No uncommitted changes detected in the project.
2025-03-17 14:28:08 +00:00
philkunz
b55e2da23e
feat(tlsalert): add sendForceSniSequence and sendFatalAndClose helper functions to TlsAlert for improved SNI enforcement
2025-03-17 14:27:10 +00:00
philkunz
ca6f6de798
fix(tls): Improve TLS alert handling in connection handler: use the new TlsAlert class to send proper unrecognized_name alerts when a ClientHello is missing SNI and wait for a retry on the same connection before closing. Also, add alertFallbackTimeout tracking to connection records for better timeout management.
2025-03-17 13:37:48 +00:00
philkunz
22f46700f1
fix(connectionhandler): Delay socket termination in TLS session resumption handling to allow proper alert processing
2025-03-17 13:23:07 +00:00
philkunz
c6350e271a
fix(ConnectionHandler): Use the correct TLS alert data and increase the delay before socket termination when session resumption without SNI is detected.
2025-03-17 13:19:18 +00:00
philkunz
35f6739b3c
fix(tls-handshake): Set certificate_expired TLS alert level to warning instead of fatal to allow graceful termination.
2025-03-17 13:15:12 +00:00
philkunz
e126032b61
fix(classes.pp.connectionhandler): Replace unrecognized_name alert data with certificate_expired alert in TLS handshake handling for session resumption without SNI
2025-03-17 13:09:54 +00:00
philkunz
e8639e1b01
fix(connectionhandler): Increase delay before cleaning up connections when session resumption is blocked due to missing SNI, allowing more natural socket termination.
2025-03-17 13:00:02 +00:00
philkunz
a70c123007
fix(connectionhandler): Increase delay timings for TLS alert transmission in session ticket blocking to allow graceful socket termination
2025-03-16 14:49:25 +00:00
philkunz
f72db86e37
fix(ConnectionHandler): Replace closeNotify alert with handshake failure alert in TLS ClientHello handling to properly signal missing SNI and enforce session ticket restrictions.
2025-03-16 14:13:35 +00:00
philkunz
1c34578c36
fix(ConnectionHandler/tls): Change the TLS alert sent when a ClientHello lacks SNI: use the close_notify alert instead of handshake_failure to prompt immediate retry with SNI.
2025-03-16 14:02:18 +00:00
philkunz
67ddf97547
fix(classes.pp.connectionhandler): Improve TLS alert handling in ClientHello when SNI is missing and session tickets are disallowed
2025-03-16 13:47:34 +00:00
philkunz
2b6464acd5
fix(tls): Refine TLS ClientHello handling when allowSessionTicket is false by replacing extensive alert timeout logic with a concise warning alert and short delay, encouraging immediate client retry with proper SNI
2025-03-16 13:28:48 +00:00
philkunz
9dd402054d
fix(TLS/ConnectionHandler): Improve handling of TLS session resumption without SNI by sending an unrecognized_name alert instead of immediately terminating the connection. This change adds a grace period for the client to retry the handshake with proper SNI and cleans up the connection if no valid response is received.
2025-03-16 13:19:37 +00:00
philkunz
cad0e6a2b2
fix(ConnectionHandler): Refactor ConnectionHandler code formatting for improved readability and consistency in log messages and whitespace handling
2025-03-15 19:10:54 +00:00
philkunz
ee79f9ab7c
fix(connectionhandler): Improve handling of TLS ClientHello messages when allowSessionTicket is disabled and no SNI is provided by sending a warning alert (unrecognized_name, code 0x70) with a proper callback and delay to ensure the alert is transmitted before closing the connection.
2025-03-15 18:51:50 +00:00
philkunz
97982976c8
fix(connectionhandler): Send proper TLS alert before terminating connections when SNI is missing and session tickets are disallowed.
2025-03-15 17:16:18 +00:00
philkunz
252a987344
fix(tls): Enforce strict SNI handling in TLS connections by terminating ClientHello messages lacking SNI when session tickets are disallowed and removing legacy session cache code.
2025-03-15 17:00:10 +00:00
philkunz
9aa747b5d4
feat(SniHandler): Enhance SNI extraction to support session caching and tab reactivation by adding session cache initialization, cleanup and helper methods. Update processTlsPacket to use cached SNI for session resumption and connection racing scenarios.
2025-03-14 11:34:52 +00:00
philkunz
e2ee673197
BREAKING CHANGE(core): refactor: reorganize internal module structure to use classes.pp.* modules
...
- Renamed port proxy and SNI handler source files to classes.pp.portproxy.js and classes.pp.snihandler.js respectively
- Updated import paths in index.ts and test files (e.g. in test.ts and test.router.ts) to reference the new file names
- This refactor improves code organization but breaks direct imports from the old paths
2025-03-14 09:53:25 +00:00
philkunz
4c0105ad09
fix(portproxy): Improve TLS handshake timeout handling and connection piping in PortProxy
2025-03-12 15:49:41 +00:00
philkunz
7fe455b4df
fix(core): Refactor PortProxy and SniHandler: improve configuration handling, logging, and whitespace consistency
2025-03-12 12:19:36 +00:00
philkunz
ddfbcdb1f3
fix(SniHandler): Refactor SniHandler: update whitespace, comment formatting, and consistent type definitions
2025-03-12 10:54:24 +00:00
philkunz
baaee0ad4d
fix(portproxy): Enforce TLS handshake and SNI validation on port 443 by blocking non-TLS connections and terminating session resumption attempts without SNI when allowSessionTicket is disabled.
2025-03-12 10:27:25 +00:00
philkunz
ab1ec84832
fix(tls/sni): Improve logging for TLS session resumption by extracting and logging SNI values from ClientHello messages.
2025-03-12 10:01:54 +00:00
philkunz
1a90566622
fix(TLS/SNI): Improve TLS session resumption handling and logging. Now, session resumption attempts are always logged with details, and connections without a proper SNI are rejected when allowSessionTicket is disabled. In addition, empty SNI extensions are explicitly treated as missing, ensuring stricter and more consistent TLS handshake validation.
2025-03-12 09:56:21 +00:00
philkunz
124f8d48b7
fix(SniHandler): Refactor hasSessionResumption to return detailed session resumption info
2025-03-11 19:41:04 +00:00
philkunz
62a3e1f4b7
fix(SniHandler): Improve TLS SNI session resumption handling: connections containing a session ticket are now only rejected when no SNI is present and allowSessionTicket is disabled. Updated return values and logging for clearer resumption detection.
2025-03-11 19:38:41 +00:00
philkunz
9dbf6fdeb5
feat(PortProxy/TLS): Add allowSessionTicket option to control TLS session ticket handling
2025-03-11 19:31:20 +00:00
philkunz
29d28fba93
feat(SniHandler): Add session cache support and tab reactivation detection to improve SNI extraction in TLS handshakes
2025-03-11 18:05:20 +00:00
philkunz
6fddafe9fd
feat(PortProxy): Add domain-specific NetworkProxy integration support to PortProxy
2025-03-11 17:50:56 +00:00
philkunz
21a24fd95b
fix(core): No code changes detected; bumping patch version for consistency.
2025-03-11 17:38:32 +00:00
philkunz
415b82a84a
fix(PortProxy): Improve SNI extraction handling in PortProxy by passing explicit connection info to extractSNIWithResumptionSupport for better TLS renegotiation and debug logging.
2025-03-11 17:37:43 +00:00
philkunz
0e12706176
feat(SniHandler): Enhance SNI extraction to support fragmented ClientHello messages, TLS 1.3 early data, and improved PSK parsing
2025-03-11 17:33:31 +00:00
philkunz
36e4341315
fix(snihandler): Enhance SNI extraction to support TLS 1.3 PSK-based session resumption by adding a dedicated extractSNIFromPSKExtension method and improved logging for session resumption indicators.
2025-03-11 17:23:57 +00:00
philkunz
43378becd2
fix(PortProxy): Improve buffering and data handling during connection setup in PortProxy to prevent data loss
2025-03-11 17:05:15 +00:00
philkunz
87d26c86a1
fix(PortProxy/SNI): Refactor SNI extraction in PortProxy to use the dedicated SniHandler class
2025-03-11 17:01:07 +00:00
philkunz
8d06f1533e
feat(portproxy): Add ACME certificate management options to PortProxy, update ACME settings handling, and bump dependency versions
2025-03-11 12:56:03 +00:00
philkunz
223be61c8d
3.35.0
2025-03-11 12:45:55 +00:00
philkunz
6a693f4d86
feat(NetworkProxy): Integrate Port80Handler for automatic ACME certificate management
...
- Add ACME certificate management capabilities to NetworkProxy
- Implement automatic certificate issuance and renewal
- Add SNI support for serving the correct certificates
- Create certificate storage and caching system
- Enable dynamic certificate issuance for new domains
- Support automatic HTTP-to-HTTPS redirects for secured domains
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-03-11 12:45:22 +00:00
philkunz
27a2bcb556
feat(NetworkProxy): Add support for array-based destinations and integration with PortProxy
...
- Update NetworkProxy to support new IReverseProxyConfig interface with destinationIps[] and destinationPorts[]
- Add load balancing with round-robin selection of destination endpoints
- Create automatic conversion of PortProxy domain configs to NetworkProxy configs
- Implement backward compatibility to ensure tests continue to work
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-03-11 12:34:24 +00:00
philkunz
e31c84493f
feat(core): Improve wildcard domain matching and enhance NetworkProxy integration in PortProxy. Added support for TLD wildcards and complex wildcard patterns in the router, and refactored TLS renegotiation handling for stricter SNI enforcement.
2025-03-11 11:34:29 +00:00
philkunz
df7a12041e
feat(portproxy): Add browser-friendly mode and SNI renegotiation configuration options to PortProxy
2025-03-11 09:57:06 +00:00
philkunz
85cc57ae10
fix(PortProxy): Simplify TLS handshake SNI extraction and update timeout settings in PortProxy for improved maintainability and reliability.
2025-03-11 09:12:40 +00:00
philkunz
865d21b36a
fix(portproxy): Relax TLS handshake and connection timeout settings for improved stability in chained proxy scenarios; update TLS session cache defaults and add keep-alive flags to connection records.
2025-03-11 04:39:17 +00:00
philkunz
ccccc5b8c8
feat(PortProxy): Enhance TLS session cache, SNI extraction, and chained proxy support in PortProxy. Improve handling of multiple and fragmented TLS records, and add new configuration options (isChainedProxy, chainPosition, aggressiveTlsRefresh, tlsSessionCache) for robust TLS certificate refresh.
2025-03-11 04:24:29 +00:00
philkunz
119b643690
fix(PortProxy): Improve SNI renegotiation handling by adding flexible domain configuration matching on rehandshake and session resumption events.
2025-03-11 03:56:09 +00:00