Commit Graph

1139 Commits (master)

Author SHA1 Message Date
JacobBarthelmeh 6acd852fb1
Merge pull request #275 from cconlon/jniLockFixes
Fixes to avoid use-after-free issues in WolfSSLSocket
2025-06-12 16:33:46 -06:00
Chris Conlon 8692585e12 JNI: set SSLAppData back to NULL inside WOLFSSL struct in freeSSL() 2025-06-12 14:45:47 -06:00
David Garske 3ee581da6b
Merge pull request #276 from cconlon/ghActionASAN
Testing: add GitHub Action for -fsanitize=address
2025-06-12 12:07:03 -07:00
Chris Conlon 9d2524aa66 Testing: add actions/cache to GitHub Actions for JUnit and Hamcrest JAR files 2025-06-11 10:43:19 -06:00
Chris Conlon 8ce56a6ae2 Testing: add GitHub Action for -fsanitize=address 2025-06-11 10:36:49 -06:00
JacobBarthelmeh 1dc7d5a741
Merge pull request #272 from cconlon/WolfSSLKeyX509_CachedEntries
JSSE: cache KeyStore entries in X509ExtendedKeyManager
2025-06-11 10:06:08 -06:00
Chris Conlon 07380615b5 JSSE: skip calling freeSSL() inside SSLSocket.close() if InputStream or OutputStream are still active 2025-06-11 09:57:58 -06:00
JacobBarthelmeh b85d4a18a4
Merge pull request #274 from cconlon/WolfSSLAuthStoreLock
Reduce synchronization overhead in WolfSSLAuthStore
2025-06-10 16:33:58 -06:00
JacobBarthelmeh 3577420751
Merge pull request #273 from cconlon/setLocalServerNamesProperties
JSSE: get System/Security properties on class initialization for WolfSSLEngineHelper
2025-06-10 16:29:43 -06:00
Chris Conlon 81bc1c0deb JSSE: skip storeLock synchronization in printSessionStoreStatus() if debug not enabled, reduces thread contention 2025-06-10 12:07:33 -06:00
Chris Conlon 5be4a99e0d JSSE: optimize locking of storeLock inside WolfSSLAuthStore to reduce thread contention 2025-06-10 10:50:20 -06:00
Chris Conlon d2bb9d64d2 JSSE: WolfSSLEngineHelper.setLocalServerNames() - get System/Security properties on class creation to avoid potential thread contention during handshake 2025-06-10 09:40:26 -06:00
Chris Conlon e3eab4dee0 JSSE: defer creation of List<SNIServerName> ArrayList until needed in getRequestedServerNames() 2025-06-09 16:23:38 -06:00
Chris Conlon dab6d57011 JSSE: refactor WolfSSLKeyX509 (X509ExtendedKeyManager) to cache KeyStore entries instead of doing direct access for each operation 2025-06-09 16:23:34 -06:00
Chris Conlon 9ee4cadde7
Merge pull request #271 from rlm2002/updateSessionVals
Update additional stored session values
2025-06-03 12:13:52 -06:00
Ruby Martin bbc16f1f24 updateStoredSessionValues updates packet size, cipher suite, peer certs
cache when updated value is found
2025-06-03 11:52:25 -06:00
Chris Conlon d53d9d840c
Merge pull request #270 from rlm2002/JSSEprotocols
always disable DTLSv1 and DTLSv1.2
2025-05-30 16:41:55 -06:00
Ruby Martin dd29707c55 always disable DTLSv1 and DTLSv1.2 2025-05-30 14:07:58 -06:00
JacobBarthelmeh 1587e6b865
Merge pull request #268 from cconlon/sslSessionBufferPool
Use static pool of direct ByteBuffers for WolfSSLSession read/write()
2025-05-29 15:14:16 -06:00
Chris Conlon 0c4b3190c7 JNI: add support for Java Security properties:
- wolfssl.readWriteByteBufferPool.disabled
- wolfssl.readWriteByteBufferPool.size
- wolfssl.readWriteByteBufferPool.bufferSize
2025-05-21 14:01:49 -06:00
Chris Conlon 8b939f46ef
Merge pull request #269 from rlm2002/JSSEprotocols
change wolfSSL logging cb to stderr
2025-05-21 13:44:45 -06:00
Ruby Martin d8458bce6b change wolfSSL logging cb to stderr 2025-05-21 12:00:42 -06:00
Chris Conlon 1c8963e4fe JNI: initial implementation of static direct ByteBuffer pool for WolfSSLSession.write(), avoids unaligned memory access at JNI layer 2025-05-16 15:25:14 -06:00
Chris Conlon 6b1e7a6299 JNI: initial implementation of static direct ByteBuffer pool for WolfSSLSession.read(), avoids unaligned memory access at JNI layer 2025-05-15 10:26:08 -06:00
JacobBarthelmeh a306dfff0e
Merge pull request #267 from cconlon/aarch64
Use `-fPIC` on Aarch64, add GitHub Actions ARM with armasm test
2025-05-14 16:57:24 -06:00
Chris Conlon 985edddf91
Merge pull request #259 from rlm2002/implementSniMatchers
implement SNI matcher logic
2025-05-14 16:24:23 -06:00
Ruby Martin 62bdb9e609 add SNI matcher test 2025-05-14 16:11:23 -06:00
Ruby Martin 74bf974354 JSSE: implement SNIMatcher logic for wolfSSLSockets
add thread safety
2025-05-14 16:11:23 -06:00
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