Commit Graph

1111 Commits (5069e46759b3878830ec1e847a88c097e83e33e3)

Author SHA1 Message Date
Chris Conlon 5069e46759 Make CLAUDE.md instructions more strict around trailing whitespace 2025-05-13 16:46:51 -06:00
Chris Conlon 12f7654b5c Testing: adjust WolfSSLEngineTest to properly close sockets and close ExecutorService 2025-05-13 16:46:30 -06:00
Chris Conlon ca24a84dca Testing: add GitHub Actions test with Ubuntu ARM runner and --enable-armasm 2025-05-13 16:16:30 -06:00
Chris Conlon 78488527dd JNI/JSSE: add -fPIC to CFLAGS in java.sh for Aarch64 2025-05-13 16:12:42 -06:00
JacobBarthelmeh 26b542cf8c
Merge pull request #264 from cconlon/dtls13Examples
JSSE examples: add DTLS 1.3 example client and server
2025-05-13 09:35:37 -06:00
JacobBarthelmeh f4da9f3b25
Merge pull request #265 from cconlon/claude
Add CLAUDE.md for consumption by Claude Code
2025-05-12 16:26:36 -06:00
JacobBarthelmeh 35083fad34
Merge pull request #266 from cconlon/cursorFixes
Clean up Cursor/VSCode IDE warnings
2025-05-12 16:16:20 -06:00
Chris Conlon 48c970a2ea Fix Cursor/VSCode IDE warnings 2025-05-12 10:53:33 -06:00
Chris Conlon 4a42a122f5 JSSE examples: add DTLS 1.3 example client and server 2025-05-09 16:59:23 -06:00
Chris Conlon 525b6b26c9 Add CLAUDE.md for consumption by Claude Code 2025-05-09 16:58:29 -06:00
JacobBarthelmeh 9e35d6ba84
Merge pull request #263 from cconlon/oidFix
Get ASN algorithm enum values dynamically in `WolfSSL.java`
2025-05-09 16:55:24 -06:00
Chris Conlon 2c7f12627c JNI: get ASN algo enum values dynamically, more flexible if native enum values change 2025-05-08 17:02:34 -06:00
JacobBarthelmeh bd6154c046
Merge pull request #262 from cconlon/jniOptimizations
JNI Optimizations WolfSSLSession.read(ByteBuffer)
2025-05-05 09:29:58 -06:00
Chris Conlon 995ef5ea34 JNI: avoid call to ExceptionOccurred() in WolfSSLSession.read(ByteBuffer) unless GetByteArrayElements returns null, improves performance 2025-05-01 15:23:17 -06:00
Chris Conlon 3368a5eb47 JNI: optimize out CallIntMethod/CallBooleanMethod() calls from WolfSSLSession.read(ByteBuffer), improves performance 2025-05-01 15:04:25 -06:00
JacobBarthelmeh 6f880d8d85
Merge pull request #261 from cconlon/javaLogging
Switch to Java Logging (`java.util.logging`)
2025-05-01 12:47:49 -06:00
Chris Conlon e60387d4f6 JNI/JSSE: switch to Java Logging, use Lambda expressions to defer String creation 2025-04-30 15:41:18 -06:00
JacobBarthelmeh 30bffcc6da
Merge pull request #260 from cconlon/jniSessionTestCleanup
Add more checks to JNI WolfSSLSession.read(ByteBuffer)
2025-04-30 15:33:38 -06:00
Chris Conlon fc24d7f3b6 JNI test: add WANT_READ/WANT_WRITE loops inside WolfSSLSessionTest test_WolfSSLSession_ioBuffers() 2025-04-30 14:34:31 -06:00
Chris Conlon 342eb2f25a JNI: add additional error checks to JNI WolfSSLSession.read(ByteBuffer) function 2025-04-30 14:34:28 -06:00
JacobBarthelmeh 994950fffb
Merge pull request #258 from cconlon/nativeALPNSelectCbXSTRTOKFix
Null terminate `NativeALPNSelectCb()` peer protocol list before XSTRTOK
2025-04-29 15:33:20 -06:00
JacobBarthelmeh e858d7590d
Merge pull request #257 from cconlon/sslEngineFixups
SSLEngine Performance Optimizations
2025-04-29 15:31:54 -06:00
Chris Conlon d466ff16e4 JNI test: remove min ECC key size not divisible by 8 test, no longer fails with https://github.com/wolfSSL/wolfssl/pull/8691 2025-04-25 16:09:58 -06:00
Chris Conlon 34d3e873a6 JNI: NativeALPNSelectCb() fix to make sure peer proto array is null terminated before calling XSTRTOK() 2025-04-25 16:08:46 -06:00
Chris Conlon 6a243c4149 JNI test: add JUnit tests for WolfSSLSession I/O ByteBuffer callbacks 2025-04-22 09:56:51 -06:00
Chris Conlon 6853e02af8 JNI test: remove min ECC key size not divisible by 8 test, no longer fails with https://github.com/wolfSSL/wolfssl/pull/8691 2025-04-17 16:45:20 -06:00
Chris Conlon 8ebd050a5a JSSE: add ByteBuffer I/O callbacks for performance, plug them into WolfSSLEngine 2025-04-17 16:35:52 -06:00
Chris Conlon 3aa056c607 JSSE: new helper functions to throw exceptions (throwWolfSSLJNIException, throwWolfSSLException), avoids calling FindClass unnecessarily, improves performance 2025-04-17 16:34:00 -06:00
Chris Conlon 767a289113 JSSE: cache jmethodIDs used in native I/O callbacks globally, improves performance 2025-04-17 16:34:00 -06:00
Chris Conlon d95297f12c JSSE: refactor WolfSSLEngine to use static output array instead of allocating for each send 2025-04-17 16:34:00 -06:00
Chris Conlon e8826acc4b JSSE: use single direct ByteBuffer in SSLEngine.SendAppData() instead of allocating each time method is called 2025-04-17 16:33:57 -06:00
Chris Conlon 1a7534c726 JSSE: adjust SSLSession.getPacketBufferSize() for tls-channel compatibility, wrap native wolfSSL_GetMaxOutputSize() 2025-04-10 15:10:53 -06:00
Chris Conlon 95bedabeb2
Merge pull request #255 from gasbytes/ResumeTLS13withSNI-patch
Fix TLS 1.3 session resumption to preserve SNI extension
2025-03-12 10:23:19 -06:00
Reda Chouk fd143de8bb Fix TLS 1.3 session resumption to preserve SNI extension 2025-02-27 13:22:20 +01:00
JacobBarthelmeh ad23ac20e9
Merge pull request #254 from cconlon/dtls
Add support for DTLS 1.3 (`DTLSv1.3`) through `SSLContext` / `SSLEngine`
2025-02-26 16:40:05 -07:00
Chris Conlon 5d37d5c13d JSSE: fix SSLEngine client session storage, store when WolfSSLSession error state is not fatal 2025-02-17 15:40:18 -07:00
Chris Conlon 8449b6744e JNI/JSSE: wrap wolfSSL_set_SessionTicket_cb(), add session ticket callback to SSLEngine for detection of ticket received 2025-02-17 15:40:18 -07:00
Chris Conlon d245630133 JNI: skip throwing Java exceptions from NativeLoggingCallback 2025-02-17 15:40:18 -07:00
Chris Conlon 8dfd9aebf8 JSSE: add DTLSv1.3 tests to SSLEngine JUnit test class 2025-02-17 15:40:15 -07:00
Chris Conlon bda5d81afc JNI/JSSE: wrap wolfSSL_dtls_get_drop_stats() for use in WolfSSLEngine DTLS dropped packet detection for BUFFER_UNDERFLOW status 2025-02-17 10:53:19 -07:00
Chris Conlon e82f8373d9 JNI/JSSE: wrap wolfSSL_send_hrr_cookie() in WolfSSLSession.sendHrrCookie(), enable HelloRetryRequest in SSLEngine DTLS 2025-02-17 10:53:19 -07:00
Chris Conlon c373b6b53e JSSE: wait for wolfSSL_connect/accept() to return success before seeing WolfSSLEngine handshakeFinished to true 2025-02-17 10:53:19 -07:00
Chris Conlon b00f14ebbb JNI/JSSE: wrap wolfSSL_DisableExtendedMasterSecret(), add support for System property jdk.tls.useExtendedMasterSecret 2025-02-17 10:53:19 -07:00
Chris Conlon 372ef97746 JSSE: add initial SSLEngine support for DTLSv1.3 2025-02-17 10:53:19 -07:00
Chris Conlon 36a1057366 JNI: add DTLS 1.3 to JNI-only layer 2025-02-17 10:53:17 -07:00
Chris Conlon 45810c8fbf
Merge pull request #253 from gasbytes/HttpsURLConnection/ImpactOnSNI-patch
wolfjsse: auto-enable SNI for HttpsURLConnection
2025-02-05 10:03:06 -07:00
Reda Chouk d075893cbc wolfjsse: auto-enable SNI for HttpsURLConnection
Enable SNI automatically when detecting HttpsURLConnection's unique initialization pattern, fixing ImpactOnSNI test while preserving default SNI behavior for SSL sockets.
2025-02-05 15:23:52 +01:00
Chris Conlon 1e530a911e
Merge pull request #249 from gasbytes/SSLSocketExplorerWithSrvSNI-patch
Add wolfjsse.autoSNI Security property
2025-01-31 16:57:25 -07:00
Reda Chouk 9657eee8a0 Add wolfjsse.autoSNI Security property
Introduce wolfjsse.autoSNI property to make SNI behavior configurable. When
set to true, enables legacy automatic SNI based on hostname/peer. By default,
SNI is only set through explicit SSLParameters configuration.

- Fixes SSLSocketExplorerWithSrvSNI test failures
- Maintains compatibility for existing applications
- Adds test coverage in WolfSSLSocketTest
2025-02-01 00:25:10 +01:00
JacobBarthelmeh 7cf0c4e7ba
Merge pull request #252 from cconlon/classRename
Refactor wolfCrypt level classes to avoid `wolfcrypt-jni` namespace conflicts
2025-01-31 10:29:54 -07:00