@annadata/capacitor-mqtt-quic 0.1.6 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AnnadataCapacitorMqttQuic.podspec +2 -1
- package/README.md +121 -12
- package/android/NGTCP2_BUILD_INSTRUCTIONS.md +65 -44
- package/android/build-openssl.sh +1 -1
- package/android/install/nghttp3-android/arm64-v8a/include/nghttp3/nghttp3.h +3295 -0
- package/android/install/nghttp3-android/arm64-v8a/include/nghttp3/version.h +46 -0
- package/android/install/nghttp3-android/arm64-v8a/lib/cmake/nghttp3/nghttp3Config.cmake +3 -0
- package/android/install/nghttp3-android/arm64-v8a/lib/cmake/nghttp3/nghttp3ConfigVersion.cmake +65 -0
- package/android/install/nghttp3-android/arm64-v8a/lib/cmake/nghttp3/nghttp3Targets-release.cmake +29 -0
- package/android/install/nghttp3-android/arm64-v8a/lib/cmake/nghttp3/nghttp3Targets.cmake +114 -0
- package/android/install/nghttp3-android/arm64-v8a/lib/libnghttp3.a +0 -0
- package/android/install/nghttp3-android/arm64-v8a/lib/libnghttp3.so +0 -0
- package/android/install/nghttp3-android/arm64-v8a/lib/pkgconfig/libnghttp3.pc +34 -0
- package/android/install/nghttp3-android/arm64-v8a/share/doc/nghttp3/README.rst +75 -0
- package/android/install/nghttp3-android/armeabi-v7a/include/nghttp3/nghttp3.h +3295 -0
- package/android/install/nghttp3-android/armeabi-v7a/include/nghttp3/version.h +46 -0
- package/android/install/nghttp3-android/armeabi-v7a/lib/cmake/nghttp3/nghttp3Config.cmake +3 -0
- package/android/install/nghttp3-android/armeabi-v7a/lib/cmake/nghttp3/nghttp3ConfigVersion.cmake +65 -0
- package/android/install/nghttp3-android/armeabi-v7a/lib/cmake/nghttp3/nghttp3Targets-release.cmake +29 -0
- package/android/install/nghttp3-android/armeabi-v7a/lib/cmake/nghttp3/nghttp3Targets.cmake +114 -0
- package/android/install/nghttp3-android/armeabi-v7a/lib/libnghttp3.a +0 -0
- package/android/install/nghttp3-android/armeabi-v7a/lib/libnghttp3.so +0 -0
- package/android/install/nghttp3-android/armeabi-v7a/lib/pkgconfig/libnghttp3.pc +34 -0
- package/android/install/nghttp3-android/armeabi-v7a/share/doc/nghttp3/README.rst +75 -0
- package/android/install/nghttp3-android/x86_64/include/nghttp3/nghttp3.h +3295 -0
- package/android/install/nghttp3-android/x86_64/include/nghttp3/version.h +46 -0
- package/android/install/nghttp3-android/x86_64/lib/cmake/nghttp3/nghttp3Config.cmake +3 -0
- package/android/install/nghttp3-android/x86_64/lib/cmake/nghttp3/nghttp3ConfigVersion.cmake +65 -0
- package/android/install/nghttp3-android/x86_64/lib/cmake/nghttp3/nghttp3Targets-release.cmake +29 -0
- package/android/install/nghttp3-android/x86_64/lib/cmake/nghttp3/nghttp3Targets.cmake +114 -0
- package/android/install/nghttp3-android/x86_64/lib/libnghttp3.a +0 -0
- package/android/install/nghttp3-android/x86_64/lib/libnghttp3.so +0 -0
- package/android/install/nghttp3-android/x86_64/lib/pkgconfig/libnghttp3.pc +34 -0
- package/android/install/nghttp3-android/x86_64/share/doc/nghttp3/README.rst +75 -0
- package/android/install/ngtcp2-android/arm64-v8a/include/ngtcp2/ngtcp2.h +6254 -0
- package/android/install/ngtcp2-android/arm64-v8a/include/ngtcp2/ngtcp2_crypto.h +1037 -0
- package/android/install/ngtcp2-android/arm64-v8a/include/ngtcp2/ngtcp2_crypto_wolfssl.h +106 -0
- package/android/install/ngtcp2-android/arm64-v8a/include/ngtcp2/version.h +51 -0
- package/android/install/ngtcp2-android/arm64-v8a/lib/cmake/ngtcp2/ngtcp2Config.cmake +6 -0
- package/android/install/ngtcp2-android/arm64-v8a/lib/cmake/ngtcp2/ngtcp2ConfigVersion.cmake +65 -0
- package/android/install/ngtcp2-android/arm64-v8a/lib/cmake/ngtcp2/ngtcp2Targets-release.cmake +29 -0
- package/android/install/ngtcp2-android/arm64-v8a/lib/cmake/ngtcp2/ngtcp2Targets.cmake +114 -0
- package/android/install/ngtcp2-android/arm64-v8a/lib/libngtcp2.a +0 -0
- package/android/install/ngtcp2-android/arm64-v8a/lib/libngtcp2.so +0 -0
- package/android/install/ngtcp2-android/arm64-v8a/lib/libngtcp2_crypto_wolfssl.a +0 -0
- package/android/install/ngtcp2-android/arm64-v8a/lib/libngtcp2_crypto_wolfssl.so +0 -0
- package/android/install/ngtcp2-android/arm64-v8a/lib/pkgconfig/libngtcp2.pc +33 -0
- package/android/install/ngtcp2-android/arm64-v8a/lib/pkgconfig/libngtcp2_crypto_wolfssl.pc +34 -0
- package/android/install/ngtcp2-android/arm64-v8a/share/doc/ngtcp2/README.rst +385 -0
- package/android/install/ngtcp2-android/armeabi-v7a/include/ngtcp2/ngtcp2.h +6254 -0
- package/android/install/ngtcp2-android/armeabi-v7a/include/ngtcp2/ngtcp2_crypto.h +1037 -0
- package/android/install/ngtcp2-android/armeabi-v7a/include/ngtcp2/ngtcp2_crypto_wolfssl.h +106 -0
- package/android/install/ngtcp2-android/armeabi-v7a/include/ngtcp2/version.h +51 -0
- package/android/install/ngtcp2-android/armeabi-v7a/lib/cmake/ngtcp2/ngtcp2Config.cmake +6 -0
- package/android/install/ngtcp2-android/armeabi-v7a/lib/cmake/ngtcp2/ngtcp2ConfigVersion.cmake +65 -0
- package/android/install/ngtcp2-android/armeabi-v7a/lib/cmake/ngtcp2/ngtcp2Targets-release.cmake +29 -0
- package/android/install/ngtcp2-android/armeabi-v7a/lib/cmake/ngtcp2/ngtcp2Targets.cmake +114 -0
- package/android/install/ngtcp2-android/armeabi-v7a/lib/libngtcp2.a +0 -0
- package/android/install/ngtcp2-android/armeabi-v7a/lib/libngtcp2.so +0 -0
- package/android/install/ngtcp2-android/armeabi-v7a/lib/libngtcp2_crypto_wolfssl.a +0 -0
- package/android/install/ngtcp2-android/armeabi-v7a/lib/libngtcp2_crypto_wolfssl.so +0 -0
- package/android/install/ngtcp2-android/armeabi-v7a/lib/pkgconfig/libngtcp2.pc +33 -0
- package/android/install/ngtcp2-android/armeabi-v7a/lib/pkgconfig/libngtcp2_crypto_wolfssl.pc +34 -0
- package/android/install/ngtcp2-android/armeabi-v7a/share/doc/ngtcp2/README.rst +385 -0
- package/android/install/ngtcp2-android/x86_64/include/ngtcp2/ngtcp2.h +6254 -0
- package/android/install/ngtcp2-android/x86_64/include/ngtcp2/ngtcp2_crypto.h +1037 -0
- package/android/install/ngtcp2-android/x86_64/include/ngtcp2/ngtcp2_crypto_wolfssl.h +106 -0
- package/android/install/ngtcp2-android/x86_64/include/ngtcp2/version.h +51 -0
- package/android/install/ngtcp2-android/x86_64/lib/cmake/ngtcp2/ngtcp2Config.cmake +6 -0
- package/android/install/ngtcp2-android/x86_64/lib/cmake/ngtcp2/ngtcp2ConfigVersion.cmake +65 -0
- package/android/install/ngtcp2-android/x86_64/lib/cmake/ngtcp2/ngtcp2Targets-release.cmake +29 -0
- package/android/install/ngtcp2-android/x86_64/lib/cmake/ngtcp2/ngtcp2Targets.cmake +114 -0
- package/android/install/ngtcp2-android/x86_64/lib/libngtcp2.a +0 -0
- package/android/install/ngtcp2-android/x86_64/lib/libngtcp2.so +0 -0
- package/android/install/ngtcp2-android/x86_64/lib/libngtcp2_crypto_wolfssl.a +0 -0
- package/android/install/ngtcp2-android/x86_64/lib/libngtcp2_crypto_wolfssl.so +0 -0
- package/android/install/ngtcp2-android/x86_64/lib/pkgconfig/libngtcp2.pc +33 -0
- package/android/install/ngtcp2-android/x86_64/lib/pkgconfig/libngtcp2_crypto_wolfssl.pc +34 -0
- package/android/install/ngtcp2-android/x86_64/share/doc/ngtcp2/README.rst +385 -0
- package/android/install/wolfssl-android/arm64-v8a/bin/wolfssl-config +117 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/callbacks.h +93 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/certs_test.h +7073 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/certs_test_sm.h +2913 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/crl.h +58 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/error-ssl.h +280 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/ocsp.h +191 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/aes.h +117 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/asn1.h +315 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/asn1t.h +30 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/bio.h +237 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/bn.h +332 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/buffer.h +57 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/camellia.h +27 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/cmac.h +66 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/cms.h +26 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/compat_types.h +70 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/conf.h +117 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/crypto.h +171 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/des.h +124 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/dh.h +144 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/dsa.h +164 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ec.h +525 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ec25519.h +46 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ec448.h +46 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ecdh.h +49 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ecdsa.h +87 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ed25519.h +49 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ed448.h +49 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/engine.h +9 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/err.h +84 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/evp.h +1540 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/fips_rand.h +125 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/hmac.h +98 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/kdf.h +45 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/lhash.h +64 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/md4.h +66 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/md5.h +108 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/modes.h +45 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/obj_mac.h +92 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/objects.h +86 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ocsp.h +108 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/opensslconf.h +8 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/opensslv.h +78 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ossl_typ.h +32 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/pem.h +301 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/pkcs12.h +57 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/pkcs7.h +110 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/rand.h +38 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/rc4.h +64 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ripemd.h +58 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/rsa.h +291 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/safestack.h +40 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/sha.h +331 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/sha3.h +158 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/srp.h +33 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ssl.h +1923 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ssl23.h +1 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/stack.h +61 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/tls1.h +64 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/txt_db.h +60 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/ui.h +2 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/x509.h +227 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/x509_vfy.h +50 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/openssl/x509v3.h +237 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/options.h +273 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/quic.h +310 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/sniffer.h +359 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/sniffer_error.h +151 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/ssl.h +6300 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/test.h +4989 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/version.h +40 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/aes.h +1074 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/arc4.h +69 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ascon.h +109 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/asn.h +2855 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/asn_public.h +1009 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/blake2-impl.h +155 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/blake2-int.h +174 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/blake2.h +108 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/camellia.h +116 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/chacha.h +133 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/chacha20_poly1305.h +157 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/cmac.h +168 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/coding.h +107 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/compress.h +60 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/cpuid.h +153 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/cryptocb.h +770 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/curve25519.h +225 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/curve448.h +151 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/des3.h +167 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/dh.h +210 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/dilithium.h +1051 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/dsa.h +121 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ecc.h +1074 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/eccsi.h +176 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ed25519.h +239 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ed448.h +214 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/error-crypt.h +368 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ext_lms.h +62 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ext_mlkem.h +74 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ext_xmss.h +53 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/falcon.h +180 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/fe_448.h +122 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/fe_operations.h +189 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/fips_test.h +131 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ge_448.h +84 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ge_operations.h +134 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/hash.h +296 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/hmac.h +231 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/hpke.h +145 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/integer.h +449 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/kdf.h +199 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/lms.h +202 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/logging.h +588 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/md2.h +83 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/md4.h +77 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/md5.h +141 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/mem_track.h +968 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/memory.h +545 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/misc.h +214 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/mlkem.h +377 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/mpi_class.h +1021 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/mpi_superclass.h +96 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/oid_sum.h +1907 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/pkcs12.h +79 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/pkcs7.h +578 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/poly1305.h +207 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/pwdbased.h +81 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/random.h +300 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/rc2.h +68 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/ripemd.h +67 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/rsa.h +494 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sakke.h +228 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/settings.h +4762 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sha.h +237 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sha256.h +360 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sha3.h +274 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sha512.h +372 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/signature.h +87 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/siphash.h +101 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sm2.h +27 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sm3.h +27 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sm4.h +27 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sp_int.h +1396 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/sphincs.h +167 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/srp.h +313 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/tfm.h +941 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/types.h +2383 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/visibility.h +97 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/wc_encrypt.h +126 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/wc_lms.h +506 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/wc_mlkem.h +370 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/wc_port.h +1764 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/wc_xmss.h +285 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/wolfevent.h +120 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/wolfmath.h +175 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfcrypt/xmss.h +203 -0
- package/android/install/wolfssl-android/arm64-v8a/include/wolfssl/wolfio.h +1035 -0
- package/android/install/wolfssl-android/arm64-v8a/lib/libwolfssl.a +0 -0
- package/android/install/wolfssl-android/arm64-v8a/lib/libwolfssl.la +41 -0
- package/android/install/wolfssl-android/arm64-v8a/lib/pkgconfig/wolfssl.pc +11 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/QUIC.md +117 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/README.txt +8 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/async_client.c +245 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/async_server.c +331 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/client.c +4885 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/echoclient.c +341 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/echoserver.c +498 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/sctp-client-dtls.c +135 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/sctp-client.c +78 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/sctp-server-dtls.c +134 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/sctp-server.c +83 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/server.c +4124 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/example/tls_bench.c +2357 -0
- package/android/install/wolfssl-android/arm64-v8a/share/doc/wolfssl/taoCert.txt +176 -0
- package/android/install/wolfssl-android/armeabi-v7a/bin/wolfssl-config +117 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/callbacks.h +93 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/certs_test.h +7073 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/certs_test_sm.h +2913 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/crl.h +58 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/error-ssl.h +280 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/ocsp.h +191 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/aes.h +117 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/asn1.h +315 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/asn1t.h +30 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/bio.h +237 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/bn.h +332 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/buffer.h +57 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/camellia.h +27 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/cmac.h +66 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/cms.h +26 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/compat_types.h +70 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/conf.h +117 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/crypto.h +171 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/des.h +124 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/dh.h +144 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/dsa.h +164 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ec.h +525 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ec25519.h +46 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ec448.h +46 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ecdh.h +49 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ecdsa.h +87 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ed25519.h +49 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ed448.h +49 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/engine.h +9 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/err.h +84 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/evp.h +1540 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/fips_rand.h +125 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/hmac.h +98 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/kdf.h +45 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/lhash.h +64 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/md4.h +66 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/md5.h +108 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/modes.h +45 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/obj_mac.h +92 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/objects.h +86 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ocsp.h +108 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/opensslconf.h +8 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/opensslv.h +78 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ossl_typ.h +32 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/pem.h +301 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/pkcs12.h +57 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/pkcs7.h +110 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/rand.h +38 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/rc4.h +64 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ripemd.h +58 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/rsa.h +291 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/safestack.h +40 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/sha.h +331 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/sha3.h +158 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/srp.h +33 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ssl.h +1923 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ssl23.h +1 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/stack.h +61 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/tls1.h +64 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/txt_db.h +60 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/ui.h +2 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/x509.h +227 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/x509_vfy.h +50 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/openssl/x509v3.h +237 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/options.h +261 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/quic.h +310 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/sniffer.h +359 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/sniffer_error.h +151 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/ssl.h +6300 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/test.h +4989 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/version.h +40 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/aes.h +1074 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/arc4.h +69 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ascon.h +109 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/asn.h +2855 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/asn_public.h +1009 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/blake2-impl.h +155 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/blake2-int.h +174 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/blake2.h +108 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/camellia.h +116 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/chacha.h +133 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/chacha20_poly1305.h +157 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/cmac.h +168 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/coding.h +107 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/compress.h +60 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/cpuid.h +153 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/cryptocb.h +770 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/curve25519.h +225 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/curve448.h +151 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/des3.h +167 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/dh.h +210 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/dilithium.h +1051 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/dsa.h +121 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ecc.h +1074 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/eccsi.h +176 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ed25519.h +239 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ed448.h +214 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/error-crypt.h +368 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ext_lms.h +62 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ext_mlkem.h +74 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ext_xmss.h +53 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/falcon.h +180 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/fe_448.h +122 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/fe_operations.h +189 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/fips_test.h +131 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ge_448.h +84 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ge_operations.h +134 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/hash.h +296 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/hmac.h +231 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/hpke.h +145 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/integer.h +449 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/kdf.h +199 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/lms.h +202 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/logging.h +588 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/md2.h +83 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/md4.h +77 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/md5.h +141 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/mem_track.h +968 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/memory.h +545 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/misc.h +214 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/mlkem.h +377 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/mpi_class.h +1021 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/mpi_superclass.h +96 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/oid_sum.h +1907 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/pkcs12.h +79 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/pkcs7.h +578 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/poly1305.h +207 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/pwdbased.h +81 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/random.h +300 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/rc2.h +68 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/ripemd.h +67 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/rsa.h +494 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sakke.h +228 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/settings.h +4762 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sha.h +237 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sha256.h +360 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sha3.h +274 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sha512.h +372 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/signature.h +87 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/siphash.h +101 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sm2.h +27 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sm3.h +27 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sm4.h +27 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sp_int.h +1396 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/sphincs.h +167 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/srp.h +313 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/tfm.h +941 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/types.h +2383 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/visibility.h +97 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/wc_encrypt.h +126 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/wc_lms.h +506 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/wc_mlkem.h +370 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/wc_port.h +1764 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/wc_xmss.h +285 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/wolfevent.h +120 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/wolfmath.h +175 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfcrypt/xmss.h +203 -0
- package/android/install/wolfssl-android/armeabi-v7a/include/wolfssl/wolfio.h +1035 -0
- package/android/install/wolfssl-android/armeabi-v7a/lib/libwolfssl.a +0 -0
- package/android/install/wolfssl-android/armeabi-v7a/lib/libwolfssl.la +41 -0
- package/android/install/wolfssl-android/armeabi-v7a/lib/pkgconfig/wolfssl.pc +11 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/QUIC.md +117 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/README.txt +8 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/async_client.c +245 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/async_server.c +331 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/client.c +4885 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/echoclient.c +341 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/echoserver.c +498 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/sctp-client-dtls.c +135 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/sctp-client.c +78 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/sctp-server-dtls.c +134 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/sctp-server.c +83 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/server.c +4124 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/example/tls_bench.c +2357 -0
- package/android/install/wolfssl-android/armeabi-v7a/share/doc/wolfssl/taoCert.txt +176 -0
- package/android/install/wolfssl-android/x86_64/bin/wolfssl-config +117 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/callbacks.h +93 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/certs_test.h +7073 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/certs_test_sm.h +2913 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/crl.h +58 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/error-ssl.h +280 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/ocsp.h +191 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/aes.h +117 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/asn1.h +315 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/asn1t.h +30 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/bio.h +237 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/bn.h +332 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/buffer.h +57 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/camellia.h +27 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/cmac.h +66 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/cms.h +26 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/compat_types.h +70 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/conf.h +117 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/crypto.h +171 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/des.h +124 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/dh.h +144 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/dsa.h +164 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ec.h +525 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ec25519.h +46 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ec448.h +46 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ecdh.h +49 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ecdsa.h +87 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ed25519.h +49 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ed448.h +49 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/engine.h +9 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/err.h +84 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/evp.h +1540 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/fips_rand.h +125 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/hmac.h +98 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/kdf.h +45 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/lhash.h +64 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/md4.h +66 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/md5.h +108 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/modes.h +45 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/obj_mac.h +92 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/objects.h +86 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ocsp.h +108 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/opensslconf.h +8 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/opensslv.h +78 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ossl_typ.h +32 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/pem.h +301 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/pkcs12.h +57 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/pkcs7.h +110 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/rand.h +38 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/rc4.h +64 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ripemd.h +58 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/rsa.h +291 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/safestack.h +40 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/sha.h +331 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/sha3.h +158 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/srp.h +33 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ssl.h +1923 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ssl23.h +1 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/stack.h +61 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/tls1.h +64 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/txt_db.h +60 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/ui.h +2 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/x509.h +227 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/x509_vfy.h +50 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/openssl/x509v3.h +237 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/options.h +273 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/quic.h +310 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/sniffer.h +359 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/sniffer_error.h +151 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/ssl.h +6300 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/test.h +4989 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/version.h +40 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/aes.h +1074 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/arc4.h +69 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ascon.h +109 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/asn.h +2855 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/asn_public.h +1009 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/blake2-impl.h +155 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/blake2-int.h +174 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/blake2.h +108 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/camellia.h +116 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/chacha.h +133 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/chacha20_poly1305.h +157 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/cmac.h +168 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/coding.h +107 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/compress.h +60 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/cpuid.h +153 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/cryptocb.h +770 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/curve25519.h +225 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/curve448.h +151 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/des3.h +167 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/dh.h +210 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/dilithium.h +1051 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/dsa.h +121 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ecc.h +1074 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/eccsi.h +176 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ed25519.h +239 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ed448.h +214 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/error-crypt.h +368 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ext_lms.h +62 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ext_mlkem.h +74 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ext_xmss.h +53 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/falcon.h +180 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/fe_448.h +122 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/fe_operations.h +189 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/fips_test.h +131 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ge_448.h +84 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ge_operations.h +134 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/hash.h +296 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/hmac.h +231 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/hpke.h +145 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/integer.h +449 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/kdf.h +199 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/lms.h +202 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/logging.h +588 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/md2.h +83 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/md4.h +77 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/md5.h +141 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/mem_track.h +968 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/memory.h +545 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/misc.h +214 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/mlkem.h +377 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/mpi_class.h +1021 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/mpi_superclass.h +96 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/oid_sum.h +1907 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/pkcs12.h +79 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/pkcs7.h +578 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/poly1305.h +207 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/pwdbased.h +81 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/random.h +300 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/rc2.h +68 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/ripemd.h +67 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/rsa.h +494 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sakke.h +228 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/settings.h +4762 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sha.h +237 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sha256.h +360 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sha3.h +274 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sha512.h +372 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/signature.h +87 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/siphash.h +101 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sm2.h +27 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sm3.h +27 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sm4.h +27 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sp_int.h +1396 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/sphincs.h +167 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/srp.h +313 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/tfm.h +941 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/types.h +2383 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/visibility.h +97 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/wc_encrypt.h +126 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/wc_lms.h +506 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/wc_mlkem.h +370 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/wc_port.h +1764 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/wc_xmss.h +285 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/wolfevent.h +120 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/wolfmath.h +175 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfcrypt/xmss.h +203 -0
- package/android/install/wolfssl-android/x86_64/include/wolfssl/wolfio.h +1035 -0
- package/android/install/wolfssl-android/x86_64/lib/libwolfssl.a +0 -0
- package/android/install/wolfssl-android/x86_64/lib/libwolfssl.la +41 -0
- package/android/install/wolfssl-android/x86_64/lib/pkgconfig/wolfssl.pc +11 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/QUIC.md +117 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/README.txt +8 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/async_client.c +245 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/async_server.c +331 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/client.c +4885 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/echoclient.c +341 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/echoserver.c +498 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/sctp-client-dtls.c +135 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/sctp-client.c +78 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/sctp-server-dtls.c +134 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/sctp-server.c +83 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/server.c +4124 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/example/tls_bench.c +2357 -0
- package/android/install/wolfssl-android/x86_64/share/doc/wolfssl/taoCert.txt +176 -0
- package/android/src/main/cpp/CMakeLists.txt +19 -27
- package/android/src/main/cpp/ngtcp2_jni.cpp +30 -36
- package/android/src/main/kotlin/ai/annadata/mqttquic/MqttQuicPlugin.kt +15 -0
- package/android/src/main/kotlin/ai/annadata/mqttquic/client/MQTTClient.kt +6 -2
- package/build-native.sh +397 -0
- package/deps-versions.sh +25 -0
- package/dist/esm/definitions.d.ts +20 -0
- package/dist/esm/definitions.d.ts.map +1 -1
- package/dist/esm/web.d.ts +26 -3
- package/dist/esm/web.d.ts.map +1 -1
- package/dist/esm/web.js +230 -10
- package/dist/esm/web.js.map +1 -1
- package/dist/plugin.cjs.js +11363 -13
- package/dist/plugin.cjs.js.map +1 -1
- package/dist/plugin.js +11364 -14
- package/dist/plugin.js.map +1 -1
- package/docs/ARCHITECTURAL_ANALYSIS.md +710 -0
- package/docs/CAPACITOR_MQTT_QUIC_PRODUCTION_PLUGIN.md +190 -0
- package/docs/CAPACITOR_VERSION_SUPPORT.md +65 -0
- package/docs/IMPLEMENTATION_SUMMARY.md +246 -0
- package/docs/MQTT5_CLIENT_COMPLIANCE.md +48 -0
- package/docs/MQTT5_IMPLEMENTATION_COMPLETE.md +178 -0
- package/docs/MQTT_VERSION_ANALYSIS.md +233 -0
- package/docs/NGTCP2_IMPLEMENTATION_STATUS.md +214 -0
- package/docs/NGTCP2_INTEGRATION_PLAN.md +597 -0
- package/docs/P0_P1_CHANGELOG.md +79 -0
- package/docs/PRODUCTION_PUBLISH_STEPS.md +161 -0
- package/docs/PROJECT_OVERVIEW.md +193 -0
- package/ios/.swiftpm/xcode/xcuserdata/annadata.xcuserdatad/xcschemes/xcschememanagement.plist +1 -1
- package/ios/NGTCP2_BUILD_INSTRUCTIONS.md +12 -0
- package/ios/Sources/MqttQuicPlugin/MqttQuicPlugin.swift +6 -0
- package/ios/Sources/MqttQuicPlugin/QUIC/NGTCP2Bridge.mm +6 -0
- package/ios/build-openssl.sh +1 -1
- package/ios/libs/MqttQuicLibs.xcframework/Info.plist +44 -0
- package/ios/libs/MqttQuicLibs.xcframework/ios-arm64/libmqttquic_native_device.a +0 -0
- package/ios/libs/MqttQuicLibs.xcframework/ios-arm64_x86_64-simulator/libmqttquic_native_simulator.a +0 -0
- package/ios/libs/libnghttp3.a +0 -0
- package/ios/libs/libngtcp2.a +0 -0
- package/ios/libs/libngtcp2_crypto_wolfssl.a +0 -0
- package/ios/libs/libwolfssl.a +0 -0
- package/ios/libs-simulator/libnghttp3.a +0 -0
- package/ios/libs-simulator/libngtcp2.a +0 -0
- package/ios/libs-simulator/libngtcp2_crypto_wolfssl.a +0 -0
- package/ios/libs-simulator/libwolfssl.a +0 -0
- package/ios/libs-simulator-x86_64/libnghttp3.a +0 -0
- package/ios/libs-simulator-x86_64/libngtcp2.a +0 -0
- package/ios/libs-simulator-x86_64/libngtcp2_crypto_wolfssl.a +0 -0
- package/ios/libs-simulator-x86_64/libwolfssl.a +0 -0
- package/package.json +22 -9
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
# Making @annadata/capacitor-mqtt-quic a Production-Ready Plugin
|
|
2
|
+
|
|
3
|
+
This document describes how the **capacitor-mqtt-quic** plugin is made production-ready so that **anyone can use it directly** (`npm install @annadata/capacitor-mqtt-quic`) and build Android/iOS **without app-side workarounds**.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Start here: Publish a production plugin
|
|
8
|
+
|
|
9
|
+
**This plugin is production-ready** when Options 1, 2, and 4 below are in place (they are). To **generate and publish** the production plugin, follow the step-by-step checklist:
|
|
10
|
+
|
|
11
|
+
- **[docs/PRODUCTION_PUBLISH_STEPS.md](./PRODUCTION_PUBLISH_STEPS.md)** — Build native libs, clean, build JS, verify package, bump version, publish to npm.
|
|
12
|
+
|
|
13
|
+
After publishing, consumers can `npm install @annadata/capacitor-mqtt-quic` and follow the README’s **Production / First-time build** section if they need to run the one-time WolfSSL/ngtcp2 build for Android.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Current Situation
|
|
18
|
+
|
|
19
|
+
- **Development:** Apps (e.g. annadata-app, test16) may work around the plugin by providing `deps-versions.sh` (pinned WolfSSL/ngtcp2 versions) and/or running setup scripts.
|
|
20
|
+
- **Production / direct use:** A consumer who only runs `npm install` and `ionic cap run android` may hit:
|
|
21
|
+
- **Android:** CMake fails with "WolfSSL not found" if `android/install/wolfssl-android` (and ngtcp2/nghttp3 installs) are not shipped. Run the one-time `./build-native.sh --android-only` (or ship prebuilts).
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## TLS backend: WolfSSL on both iOS and Android
|
|
26
|
+
|
|
27
|
+
**iOS** and **Android** both use **WolfSSL** as the only TLS backend (license/size/QUIC support):
|
|
28
|
+
|
|
29
|
+
- **iOS:** Podspec ships `libngtcp2_crypto_wolfssl.a` and `libwolfssl.a`; `NGTCP2Bridge.mm` uses `wolfSSL_*` APIs only.
|
|
30
|
+
- **Android:** `android/src/main/cpp/CMakeLists.txt` finds and links WolfSSL (`libwolfssl.a`) and `libngtcp2_crypto_wolfssl.a`. `ngtcp2_jni.cpp` uses `ngtcp2_crypto_wolfssl.h` and `<wolfssl/ssl.h>` (same as iOS).
|
|
31
|
+
|
|
32
|
+
For the **Android build** you need **WolfSSL** (and nghttp3, ngtcp2 built with WolfSSL) in `android/install/wolfssl-android/<abi>/`, etc. One-time setup: `./build-native.sh --android-only --abi <abi>` (or the individual `build-wolfssl.sh`, `build-nghttp3.sh`, `build-ngtcp2.sh` scripts).
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Process to Make the Plugin Complete (Production Setup)
|
|
37
|
+
|
|
38
|
+
Choose **one** of the approaches below (or combine 1 + 2 for best UX).
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
### Option 1: Ship `deps-versions.sh` in the Plugin (Recommended minimum)
|
|
43
|
+
|
|
44
|
+
**Goal:** One-time run of the plugin’s own `build-openssl.sh` works without the app providing any file.
|
|
45
|
+
|
|
46
|
+
**Steps:**
|
|
47
|
+
|
|
48
|
+
1. **Add `deps-versions.sh` in the plugin repo** (e.g. at repo root, next to `package.json`), with a **pinned QuicTLS commit** that still has the Perl `Configure` script:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
# deps-versions.sh (in plugin root)
|
|
52
|
+
export QUICTLS_REPO_URL="${QUICTLS_REPO_URL:-https://github.com/quictls/quictls.git}"
|
|
53
|
+
export OPENSSL_COMMIT="${OPENSSL_COMMIT:-2cc13b7c86fd76e5b45b5faa4ca365a602f92392}"
|
|
54
|
+
|
|
55
|
+
export NGHTTP3_REPO_URL="${NGHTTP3_REPO_URL:-https://github.com/ngtcp2/nghttp3.git}"
|
|
56
|
+
export NGHTTP3_COMMIT="${NGHTTP3_COMMIT:-78f27c1}"
|
|
57
|
+
export NGTCP2_REPO_URL="${NGTCP2_REPO_URL:-https://github.com/ngtcp2/ngtcp2.git}"
|
|
58
|
+
export NGTCP2_COMMIT="${NGTCP2_COMMIT:-3ce3bbead}"
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
2. **Include it in the published package:** in `package.json` add `"deps-versions.sh"` to the `files` array:
|
|
62
|
+
|
|
63
|
+
```json
|
|
64
|
+
"files": ["dist", "ios", "android", "deps-versions.sh", "AnnadataCapacitorMqttQuic.podspec", "README.md"]
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
3. **Document one-time setup** in the plugin README (see “Consumer instructions” below).
|
|
68
|
+
|
|
69
|
+
**Result:** Consumers run the plugin’s `build-openssl.sh` once (or your documented script); it sources `deps-versions.sh` from the plugin and uses `OPENSSL_COMMIT`, so the clone has `Configure` and the build succeeds. No app-side keys or copy steps.
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
### Option 2: Change Default Branch in `build-openssl.sh`
|
|
74
|
+
|
|
75
|
+
**Goal:** Even without `deps-versions.sh`, cloning QuicTLS works (branch still has `Configure`).
|
|
76
|
+
|
|
77
|
+
**Steps:**
|
|
78
|
+
|
|
79
|
+
1. In **`android/build-openssl.sh`** (and iOS if applicable), change the default branch from `main` to a branch that still has the Perl Configure script, e.g.:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
QUICTLS_BRANCH="${QUICTLS_BRANCH:-openssl-3.2}"
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
(Use the same in iOS `build-openssl.sh` if it uses QuicTLS.)
|
|
86
|
+
|
|
87
|
+
2. Optionally still ship **Option 1** so that when `deps-versions.sh` is present, pinned commit takes precedence for reproducible builds.
|
|
88
|
+
|
|
89
|
+
**Result:** If the consumer doesn’t have `deps-versions.sh`, the script still clones a branch that has `Configure` and builds.
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
### Option 3: Ship Prebuilt WolfSSL (wolfssl-android) in the npm Package (Zero-config)
|
|
94
|
+
|
|
95
|
+
**Goal:** `npm install` + `ionic cap run android` works with **no** run of `build-wolfssl.sh`.
|
|
96
|
+
|
|
97
|
+
**Steps:**
|
|
98
|
+
|
|
99
|
+
1. **Build WolfSSL (wolfssl-android) once per ABI** using the plugin’s `build-wolfssl.sh` (or `./build-native.sh --android-only --abi <abi>`), for:
|
|
100
|
+
- `arm64-v8a`, `armeabi-v7a`, `x86_64` (and `x86` if you support it).
|
|
101
|
+
|
|
102
|
+
2. **Keep the artifacts** under:
|
|
103
|
+
- `android/install/wolfssl-android/arm64-v8a/`
|
|
104
|
+
- `android/install/wolfssl-android/armeabi-v7a/`
|
|
105
|
+
- `android/install/wolfssl-android/x86_64/`
|
|
106
|
+
(each with `include/` and `lib/libwolfssl.a`). Also build nghttp3 and ngtcp2 so `android/install/nghttp3-android/<abi>/` and `android/install/ngtcp2-android/<abi>/` exist.
|
|
107
|
+
|
|
108
|
+
3. **Include them in the published package:**
|
|
109
|
+
- Do **not** remove `android/install` in `clean:build-artifacts` (so prepack/prepublishOnly do not delete it).
|
|
110
|
+
- `android` is already in the `files` array, so `android/install/` is published when present.
|
|
111
|
+
|
|
112
|
+
4. **iOS:** Ship prebuilt libs in `ios/libs/` and `ios/include/` (built with `./build-native.sh --ios-only`); the clean script already keeps these.
|
|
113
|
+
|
|
114
|
+
**Result:** Consumers get WolfSSL (wolfssl-android) and ngtcp2/nghttp3 with the plugin; Gradle/CMake find them and the app builds without any one-time setup. Trade-off: larger npm package size.
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
### Option 4: Clear Docs and Build-Time Message
|
|
119
|
+
|
|
120
|
+
**Goal:** When something is missing, the failure is clear and points to a single place.
|
|
121
|
+
|
|
122
|
+
**Steps:**
|
|
123
|
+
|
|
124
|
+
1. **README:** Add a short “Production / first-time build” section:
|
|
125
|
+
- **Android:** Before first `ionic cap run android`, run once (from project root):
|
|
126
|
+
```bash
|
|
127
|
+
cd node_modules/@annadata/capacitor-mqtt-quic && \
|
|
128
|
+
./build-native.sh --android-only --abi arm64-v8a && \
|
|
129
|
+
./build-native.sh --android-only --abi armeabi-v7a && \
|
|
130
|
+
./build-native.sh --android-only --abi x86_64
|
|
131
|
+
```
|
|
132
|
+
- Or add an npm script in your app that runs the above.
|
|
133
|
+
- Require Android NDK (r25+).
|
|
134
|
+
|
|
135
|
+
2. **Optional:** In the plugin’s Android CMake or Gradle, if WolfSSL is not found, fail with a message that points to the README (e.g. “WolfSSL not found. Run the one-time setup: …” and link to the plugin README).
|
|
136
|
+
|
|
137
|
+
**Result:** No change to plugin code, but production users have a single, clear path and no guesswork.
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## Recommended Combination for Production
|
|
142
|
+
|
|
143
|
+
- **Do Option 1 + Option 2:**
|
|
144
|
+
- Ship `deps-versions.sh` in the plugin and add it to `files`.
|
|
145
|
+
- Default `QUICTLS_BRANCH` in `build-openssl.sh` to `openssl-3.2` (or another branch that has `Configure`).
|
|
146
|
+
This gives reproducible builds when the file is used, and a working default when it is not.
|
|
147
|
+
|
|
148
|
+
- **Do Option 4** in the plugin README so every consumer sees the one-time Android (and iOS if needed) setup.
|
|
149
|
+
|
|
150
|
+
- **Option 3** is optional: only if you want true zero-config and accept a larger package.
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Consumer Instructions (for Plugin README)
|
|
155
|
+
|
|
156
|
+
After the above are done, the plugin README can say:
|
|
157
|
+
|
|
158
|
+
**Android (one-time setup)**
|
|
159
|
+
Before the first Android build, build WolfSSL (wolfssl-android) and ngtcp2/nghttp3 once. From your project root:
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
cd node_modules/@annadata/capacitor-mqtt-quic
|
|
163
|
+
./build-native.sh --android-only --abi arm64-v8a
|
|
164
|
+
./build-native.sh --android-only --abi armeabi-v7a
|
|
165
|
+
./build-native.sh --android-only --abi x86_64
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
Or add to your app’s `package.json`:
|
|
169
|
+
|
|
170
|
+
```json
|
|
171
|
+
"setup:wolfssl-android": "cd node_modules/@annadata/capacitor-mqtt-quic && ./build-native.sh --android-only --abi arm64-v8a && ./build-native.sh --android-only --abi armeabi-v7a && ./build-native.sh --android-only --abi x86_64"
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
Then run `npm run setup:wolfssl-android` once. Requires Android NDK (r25+).
|
|
175
|
+
|
|
176
|
+
**iOS**
|
|
177
|
+
(If applicable, add the corresponding one-time build steps for iOS here.)
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## Summary
|
|
182
|
+
|
|
183
|
+
| Approach | Effort | Result |
|
|
184
|
+
|----------|--------|--------|
|
|
185
|
+
| **1. Ship deps-versions.sh** | Low | One-time `build-native.sh` (or build-wolfssl.sh) works without app providing keys. |
|
|
186
|
+
| **2. Default branch openssl-3.2** | Low | Clone works even without deps-versions.sh. |
|
|
187
|
+
| **3. Ship prebuilt WolfSSL (wolfssl-android)** | Medium (build + package size) | No WolfSSL one-time step for consumers. |
|
|
188
|
+
| **4. README + clear failure message** | Low | Direct use is documented and failures are understandable. |
|
|
189
|
+
|
|
190
|
+
Making the **complete** production plugin means: at least **1 + 2 + 4** so that anyone who installs the plugin and follows the README can build without app-side workarounds.
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Capacitor Version Support
|
|
2
|
+
|
|
3
|
+
This plugin supports **Capacitor >= 7.0.0**, including Capacitor 8. The following analysis and changes were applied to support the latest Capacitor JS version.
|
|
4
|
+
|
|
5
|
+
## Architecture Analysis (ref-code/capacitor-mqtt-quic)
|
|
6
|
+
|
|
7
|
+
### TypeScript / Web layer (`src/`)
|
|
8
|
+
|
|
9
|
+
| File | Role | Capacitor API | Notes |
|
|
10
|
+
|------|------|---------------|--------|
|
|
11
|
+
| `index.ts` | Plugin registration | `registerPlugin<MqttQuicPlugin>('MqttQuic', { web: () => ... })` | Unchanged; API is stable in Cap 7 & 8. |
|
|
12
|
+
| `definitions.ts` | Plugin interface | TypeScript interfaces only | No runtime Capacitor dependency. |
|
|
13
|
+
| `web.ts` | Web/PWA implementation | None (uses `mqtt` npm package) | Fallback when not on native. |
|
|
14
|
+
|
|
15
|
+
**Conclusion:** No code changes required for Capacitor 8. `registerPlugin` and the web fallback pattern are compatible with both versions.
|
|
16
|
+
|
|
17
|
+
### Android (`android/`)
|
|
18
|
+
|
|
19
|
+
| Component | Role | Changes for Cap 8 |
|
|
20
|
+
|-----------|------|-------------------|
|
|
21
|
+
| `MqttQuicPlugin.kt` | Bridge: `@CapacitorPlugin`, `Plugin`, `PluginCall`, `@PluginMethod` | None; same APIs in Cap 7 & 8. |
|
|
22
|
+
| `build.gradle` | Build and Capacitor dependency | Updated (see below). |
|
|
23
|
+
|
|
24
|
+
**Build changes applied:**
|
|
25
|
+
|
|
26
|
+
- **Capacitor dependency:** Was `compileOnly 'com.getcapacitor:core:6.0.0'`. Now uses a variable so both Cap 7 and Cap 8 work:
|
|
27
|
+
- Cap 8: `com.capacitorjs:core:8.0.0` (default).
|
|
28
|
+
- Cap 7: app can set `capacitorCoreVersion` (e.g. `7.0.0`) and plugin uses `com.getcapacitor:core`.
|
|
29
|
+
- **Gradle:** AGP 8.13.0, Gradle property assignment uses `=` where required.
|
|
30
|
+
- **SDK:** `compileSdk`/`targetSdk` 36, `minSdkVersion` 24.
|
|
31
|
+
- **AndroidX:** Optional versions aligned with Capacitor 8 plugin guide (e.g. JUnit 1.3.0, Espresso 3.7.0).
|
|
32
|
+
|
|
33
|
+
### iOS (`ios/` and root `AnnadataCapacitorMqttQuic.podspec`)
|
|
34
|
+
|
|
35
|
+
| Component | Role | Changes for Cap 8 |
|
|
36
|
+
|-----------|------|-------------------|
|
|
37
|
+
| `MqttQuicPlugin.swift` | Bridge: `CAPPlugin`, `CAPPluginCall`, `CAPBridgedPlugin`, `@objc` methods | None; same APIs in Cap 7 & 8. |
|
|
38
|
+
| `AnnadataCapacitorMqttQuic.podspec` | CocoaPods spec | `s.ios.deployment_target = '15.0'` (was 14.0). |
|
|
39
|
+
|
|
40
|
+
**Conclusion:** Plugin Swift code is unchanged. Only deployment target was raised to match Capacitor 8 (iOS 15+).
|
|
41
|
+
|
|
42
|
+
## Summary of File Changes
|
|
43
|
+
|
|
44
|
+
1. **package.json**
|
|
45
|
+
- `peerDependencies["@capacitor/core"]`: `"^7.0.0"` → `">=7.0.0"` (supports 7 and 8).
|
|
46
|
+
- `devDependencies`: All `@capacitor/*` set to `^8.0.0` for development against latest.
|
|
47
|
+
|
|
48
|
+
2. **android/build.gradle**
|
|
49
|
+
- Capacitor dependency: variable-based `compileOnly` (Cap 7: `com.getcapacitor`, Cap 8: `com.capacitorjs`).
|
|
50
|
+
- `compileSdk`/`targetSdk` 36, `minSdkVersion` 24.
|
|
51
|
+
- Gradle 8–style property assignments (`=`) where applicable.
|
|
52
|
+
- AGP 8.13.0, optional AndroidX versions updated.
|
|
53
|
+
|
|
54
|
+
3. **AnnadataCapacitorMqttQuic.podspec**
|
|
55
|
+
- `s.ios.deployment_target = '15.0'`.
|
|
56
|
+
|
|
57
|
+
## Consuming Apps
|
|
58
|
+
|
|
59
|
+
- **Capacitor 8:** Use as-is; plugin defaults to Cap 8 in Android build.
|
|
60
|
+
- **Capacitor 7:** Ensure app uses `@capacitor/core@^7.x`. For Android, the plugin will resolve `com.getcapacitor:core` when `capacitorCoreVersion` is set to a 7.x value in the app’s root project.
|
|
61
|
+
|
|
62
|
+
## References
|
|
63
|
+
|
|
64
|
+
- [Updating Capacitor to 8.0 in your plugin](https://capacitorjs.com/docs/updating/plugins/8-0)
|
|
65
|
+
- [Updating from Capacitor 7 to Capacitor 8](https://capacitorjs.com/docs/updating/8-0)
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
# MQTT-over-QUIC Client Implementation Summary
|
|
2
|
+
|
|
3
|
+
## ✅ Completed Phases
|
|
4
|
+
|
|
5
|
+
### Phase 1: MQTT Protocol Layer + Transport Abstraction ✅
|
|
6
|
+
**Status:** Complete
|
|
7
|
+
|
|
8
|
+
**iOS (Swift):**
|
|
9
|
+
- `MQTT/MQTTTypes.swift` - MQTT message types and constants
|
|
10
|
+
- `MQTT/MQTTProtocol.swift` - Full MQTT 3.1.1 encode/decode (CONNECT, CONNACK, PUBLISH, SUBSCRIBE, SUBACK, UNSUBSCRIBE, UNSUBACK, PINGREQ, PINGRESP, DISCONNECT)
|
|
11
|
+
- `Transport/StreamTransport.swift` - StreamReader/StreamWriter interfaces + mock implementations
|
|
12
|
+
- `Tests/MQTTProtocolTests.swift` - Unit tests
|
|
13
|
+
|
|
14
|
+
**Android (Kotlin):**
|
|
15
|
+
- `mqtt/MQTTTypes.kt` - MQTT message types and constants
|
|
16
|
+
- `mqtt/MQTTProtocol.kt` - Full MQTT 3.1.1 encode/decode
|
|
17
|
+
- `transport/StreamTransport.kt` - StreamReader/StreamWriter interfaces + mock implementations
|
|
18
|
+
- `test/mqtt/MQTTProtocolTest.kt` - Unit tests
|
|
19
|
+
|
|
20
|
+
**Deliverables:**
|
|
21
|
+
- ✅ MQTT packet encode/decode (Swift + Kotlin)
|
|
22
|
+
- ✅ Transport abstraction interfaces
|
|
23
|
+
- ✅ Mock implementations for testing
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
### Phase 2: QUIC Transport Integration (ngtcp2 + nghttp3) ✅
|
|
28
|
+
**Status:** Structure complete, ngtcp2 build pending
|
|
29
|
+
|
|
30
|
+
**iOS (Swift):**
|
|
31
|
+
- `QUIC/QuicTypes.swift` - QUIC stream and client protocols
|
|
32
|
+
- `QUIC/QuicClientStub.swift` - Stub QUIC client (uses mock transport)
|
|
33
|
+
- `Transport/QUICStreamAdapter.swift` - StreamReader/Writer adapters over QUIC stream
|
|
34
|
+
|
|
35
|
+
**Android (Kotlin):**
|
|
36
|
+
- `quic/QuicTypes.kt` - QUIC stream and client interfaces
|
|
37
|
+
- `quic/QuicClientStub.kt` - Stub QUIC client (uses mock transport)
|
|
38
|
+
- `transport/QUICStreamAdapter.kt` - StreamReader/Writer adapters over QUIC stream
|
|
39
|
+
|
|
40
|
+
**Next Steps (ngtcp2/nghttp3 Integration):**
|
|
41
|
+
1. **iOS:** Build ngtcp2/nghttp3 + OpenSSL/BoringSSL as static libraries, integrate via Xcode
|
|
42
|
+
2. **Android:** Build ngtcp2/nghttp3 with NDK (CMake), produce `libngtcp2_client.so`
|
|
43
|
+
3. Replace `QuicClientStub` with real ngtcp2-backed implementations
|
|
44
|
+
4. Implement UDP: iOS `NWConnection`, Android `DatagramSocket`
|
|
45
|
+
5. TLS 1.3 handshake integration
|
|
46
|
+
|
|
47
|
+
**Deliverables:**
|
|
48
|
+
- ✅ QUIC interface structure
|
|
49
|
+
- ✅ Stream adapters (ready for ngtcp2)
|
|
50
|
+
- ⏳ ngtcp2 build and integration (pending)
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
### Phase 3: MQTT Client API + Capacitor Plugin ✅
|
|
55
|
+
**Status:** Complete
|
|
56
|
+
|
|
57
|
+
**iOS (Swift):**
|
|
58
|
+
- `Client/MQTTClient.swift` - High-level MQTT client (connect, publish, subscribe, unsubscribe, disconnect)
|
|
59
|
+
- `MqttQuicPlugin.swift` - Capacitor plugin bridge
|
|
60
|
+
|
|
61
|
+
**Android (Kotlin):**
|
|
62
|
+
- `client/MQTTClient.kt` - High-level MQTT client
|
|
63
|
+
- `MqttQuicPlugin.kt` - Capacitor plugin bridge
|
|
64
|
+
|
|
65
|
+
**TypeScript:**
|
|
66
|
+
- `src/definitions.ts` - Plugin interface definitions
|
|
67
|
+
- `src/index.ts` - Plugin registration
|
|
68
|
+
- `src/web.ts` - Web fallback stub
|
|
69
|
+
|
|
70
|
+
**Deliverables:**
|
|
71
|
+
- ✅ Native MQTT client API (Swift/Kotlin)
|
|
72
|
+
- ✅ Capacitor plugin exposing API to TypeScript
|
|
73
|
+
- ✅ Async/await support
|
|
74
|
+
- ✅ Message loop for incoming PUBLISH
|
|
75
|
+
- ✅ Error handling
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
### Phase 4: Platform Integration ✅
|
|
80
|
+
**Status:** Complete
|
|
81
|
+
|
|
82
|
+
**annadata-production Integration:**
|
|
83
|
+
- ✅ Plugin added to `package.json`
|
|
84
|
+
- ✅ MQTT endpoints added to `environment.ts` (`mqttQuic`, `mqttWs`)
|
|
85
|
+
- ✅ `EndpointService` extended with `getMqttQuicUrl()`, `buildMqttQuicUrl()`
|
|
86
|
+
- ✅ `MqttQuicService.ts` - Service using plugin on native, WSS fallback on web
|
|
87
|
+
- ✅ Auth integration (device ID, token)
|
|
88
|
+
|
|
89
|
+
**Deliverables:**
|
|
90
|
+
- ✅ Plugin integrated in annadata-production
|
|
91
|
+
- ✅ Endpoint configuration
|
|
92
|
+
- ✅ MqttQuicService with native/web support
|
|
93
|
+
- ✅ Auth and client ID alignment
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## 📋 Remaining Work
|
|
98
|
+
|
|
99
|
+
### Critical: ngtcp2/nghttp3 Build and Integration
|
|
100
|
+
|
|
101
|
+
**iOS:**
|
|
102
|
+
1. Build ngtcp2/nghttp3 + TLS library (OpenSSL or BoringSSL) as static libs
|
|
103
|
+
2. Add to Xcode project (CocoaPods/SPM/vendored)
|
|
104
|
+
3. Create `NGTCP2Client.swift` replacing `QuicClientStub`
|
|
105
|
+
4. Implement UDP with `NWConnection`
|
|
106
|
+
5. TLS 1.3 handshake
|
|
107
|
+
|
|
108
|
+
**Android:**
|
|
109
|
+
1. Build ngtcp2/nghttp3 with Android NDK (CMake)
|
|
110
|
+
2. Create JNI wrapper (`quic/ngtcp2_jni.c`)
|
|
111
|
+
3. Create `NGTCP2Client.kt` replacing `QuicClientStub`
|
|
112
|
+
4. Implement UDP with `DatagramSocket`
|
|
113
|
+
5. TLS 1.3 handshake
|
|
114
|
+
|
|
115
|
+
**Resources:**
|
|
116
|
+
- ngtcp2: https://github.com/ngtcp2/ngtcp2
|
|
117
|
+
- nghttp3: https://github.com/ngtcp2/nghttp3
|
|
118
|
+
- Server reference: `MQTTD/mqttd/transport_quic_ngtcp2.py`, `ngtcp2_bindings.py`
|
|
119
|
+
|
|
120
|
+
### Optional: Web MQTT over WSS
|
|
121
|
+
|
|
122
|
+
Implement `MqttQuicService` web fallback using `mqtt.js` or similar library.
|
|
123
|
+
|
|
124
|
+
### Testing
|
|
125
|
+
|
|
126
|
+
1. Unit tests: ✅ MQTT protocol tests exist
|
|
127
|
+
2. Integration tests: Test against MQTTD QUIC server
|
|
128
|
+
3. E2E: Connect from app → MQTTD, publish, subscribe, receive
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## 🏗️ Architecture
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
┌─────────────────────────────────────┐
|
|
136
|
+
│ annadata-production (TypeScript) │
|
|
137
|
+
│ ┌───────────────────────────────┐ │
|
|
138
|
+
│ │ MqttQuicService │ │
|
|
139
|
+
│ └──────────────┬────────────────┘ │
|
|
140
|
+
└─────────────────┼───────────────────┘
|
|
141
|
+
│
|
|
142
|
+
┌─────────────────▼───────────────────┐
|
|
143
|
+
│ Capacitor Plugin (JS Bridge) │
|
|
144
|
+
│ ┌───────────────────────────────┐ │
|
|
145
|
+
│ │ MqttQuicPlugin │ │
|
|
146
|
+
│ └──────────────┬────────────────┘ │
|
|
147
|
+
└─────────────────┼───────────────────┘
|
|
148
|
+
│
|
|
149
|
+
┌────────────┴────────────┐
|
|
150
|
+
│ │
|
|
151
|
+
┌────▼─────┐ ┌───────▼──────┐
|
|
152
|
+
│ iOS │ │ Android │
|
|
153
|
+
│ (Swift) │ │ (Kotlin) │
|
|
154
|
+
└────┬─────┘ └───────┬──────┘
|
|
155
|
+
│ │
|
|
156
|
+
┌────▼────────────────────────▼─────┐
|
|
157
|
+
│ MQTTClient │
|
|
158
|
+
│ ┌──────────────────────────────┐ │
|
|
159
|
+
│ │ MQTT Protocol Layer │ │
|
|
160
|
+
│ └──────────────┬───────────────┘ │
|
|
161
|
+
│ │ │
|
|
162
|
+
│ ┌──────────────▼───────────────┐ │
|
|
163
|
+
│ │ Transport Abstraction │ │
|
|
164
|
+
│ │ (StreamReader/Writer) │ │
|
|
165
|
+
│ └──────────────┬───────────────┘ │
|
|
166
|
+
│ │ │
|
|
167
|
+
│ ┌──────────────▼───────────────┐ │
|
|
168
|
+
│ │ QUIC Transport (ngtcp2) │ │
|
|
169
|
+
│ │ [Currently: Stub] │ │
|
|
170
|
+
│ └──────────────────────────────┘ │
|
|
171
|
+
└───────────────────────────────────┘
|
|
172
|
+
│
|
|
173
|
+
┌─────────────────▼──────────────────┐
|
|
174
|
+
│ MQTTD Server (Python + ngtcp2) │
|
|
175
|
+
└────────────────────────────────────┘
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## 📦 Project Structure
|
|
181
|
+
|
|
182
|
+
```
|
|
183
|
+
capacitor-mqtt-quic/
|
|
184
|
+
├── ios/
|
|
185
|
+
│ ├── MqttQuicPlugin.podspec
|
|
186
|
+
│ └── Sources/MqttQuicPlugin/
|
|
187
|
+
│ ├── MQTT/ # Phase 1
|
|
188
|
+
│ ├── Transport/ # Phase 1, 2
|
|
189
|
+
│ ├── QUIC/ # Phase 2
|
|
190
|
+
│ ├── Client/ # Phase 3
|
|
191
|
+
│ └── MqttQuicPlugin.swift
|
|
192
|
+
├── android/
|
|
193
|
+
│ ├── build.gradle
|
|
194
|
+
│ └── src/main/kotlin/ai/annadata/mqttquic/
|
|
195
|
+
│ ├── mqtt/ # Phase 1
|
|
196
|
+
│ ├── transport/ # Phase 1, 2
|
|
197
|
+
│ ├── quic/ # Phase 2
|
|
198
|
+
│ ├── client/ # Phase 3
|
|
199
|
+
│ └── MqttQuicPlugin.kt
|
|
200
|
+
└── src/ # TypeScript bridge
|
|
201
|
+
├── definitions.ts
|
|
202
|
+
├── index.ts
|
|
203
|
+
└── web.ts
|
|
204
|
+
|
|
205
|
+
annadata-production/
|
|
206
|
+
└── src/
|
|
207
|
+
├── config/
|
|
208
|
+
│ └── environment.ts # Added mqttQuic, mqttWs
|
|
209
|
+
└── services/
|
|
210
|
+
├── EndpointService.ts # Added MQTT methods
|
|
211
|
+
└── MqttQuicService.ts # New service
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## 🚀 Next Steps
|
|
217
|
+
|
|
218
|
+
1. **Build ngtcp2 for iOS/Android** (4-6 weeks)
|
|
219
|
+
- Follow ngtcp2 build documentation
|
|
220
|
+
- Integrate with existing QUIC interfaces
|
|
221
|
+
- Test against MQTTD server
|
|
222
|
+
|
|
223
|
+
2. **Replace stubs with real QUIC** (1-2 weeks)
|
|
224
|
+
- Implement `NGTCP2Client` (iOS/Android)
|
|
225
|
+
- UDP integration
|
|
226
|
+
- TLS 1.3 handshake
|
|
227
|
+
|
|
228
|
+
3. **Testing** (1-2 weeks)
|
|
229
|
+
- Integration tests
|
|
230
|
+
- E2E with MQTTD server
|
|
231
|
+
- Performance testing
|
|
232
|
+
|
|
233
|
+
4. **Web fallback** (optional, 1 week)
|
|
234
|
+
- Implement MQTT over WSS using mqtt.js
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
## 📝 Notes
|
|
239
|
+
|
|
240
|
+
- All MQTT protocol code matches server format (`MQTTD/mqttd/protocol.py`)
|
|
241
|
+
- Transport abstraction mirrors server pattern (`StreamReader`/`StreamWriter`)
|
|
242
|
+
- QUIC structure ready for ngtcp2 integration
|
|
243
|
+
- Plugin API matches Capacitor 7 patterns
|
|
244
|
+
- Service integrates with existing auth/device ID system
|
|
245
|
+
|
|
246
|
+
**Total Implementation Time:** ~10-15 weeks (with ngtcp2 build)
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# MQTT v5.0 Client Compliance Checklist
|
|
2
|
+
|
|
3
|
+
This document describes how the Capacitor MQTT-over-QUIC plugin aligns with the **OASIS MQTT v5.0** specification and interoperability with the **mqttd** server.
|
|
4
|
+
|
|
5
|
+
- **Specification:** [OASIS MQTT v5.0](https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html)
|
|
6
|
+
- **Server compliance:** See [ref-code/mqttd/docs/MQTT5_SPEC_COMPLIANCE.md](../mqttd/docs/MQTT5_SPEC_COMPLIANCE.md) in the mqttd repo.
|
|
7
|
+
|
|
8
|
+
## Implemented (required for spec and mqttd)
|
|
9
|
+
|
|
10
|
+
| Area | Spec reference | Status | Notes |
|
|
11
|
+
|------|----------------|--------|-------|
|
|
12
|
+
| **§3.1 CONNECT** | Protocol name "MQTT", version 5; Connect Flags (reserved bit 0); CONNECT properties | ✅ | Reserved bit 0 explicitly masked to 0 (`flags & 0xFE`). No Will in CONNECT yet (optional). |
|
|
13
|
+
| **§3.2 CONNACK** | Session Present, Reason Code, CONNACK properties | ✅ | **Server Keep Alive** (0x13) and **Assigned Client Identifier** (0x12) are read and applied; effective keepalive and client ID used for the session. |
|
|
14
|
+
| **§3.3 PUBLISH** | V5 variable header and payload parsing; Topic Alias | ✅ | `parsePublishV5` in Android/iOS; Topic Alias resolved when topic length is 0; map updated when topic + alias present. |
|
|
15
|
+
| **§3.8–3.9 SUBSCRIBE/SUBACK** | Subscription Options (at least QoS); reserved bits 6–7 = 0 | ✅ | Single topic per SUBSCRIBE; options byte masked with `0x3F` so reserved bits 6–7 are always 0 [MQTT-3.8.3-5]. |
|
|
16
|
+
| **§3.14 DISCONNECT** | Handle server DISCONNECT | ✅ | Message loop handles DISCONNECT (0xE0); connection closed, state updated, loop exits. |
|
|
17
|
+
| **§4.3.3 QoS 2 receive** | PUBREC → PUBREL → PUBCOMP | ✅ | Incoming QoS 2 PUBLISH: send PUBREC; on PUBREL send PUBCOMP. |
|
|
18
|
+
| **§4.12 AUTH** | Connect loop until CONNACK | ✅ | After CONNECT, loop until CONNACK; if **AUTH** (packet type 15, 0xF0) received, client sends DISCONNECT (Bad authentication method) and closes—enhanced auth not supported. |
|
|
19
|
+
|
|
20
|
+
## Packet type AUTH
|
|
21
|
+
|
|
22
|
+
- **Spec:** AUTH is packet type **15**; fixed header first byte = `0xF0` (15 << 4).
|
|
23
|
+
- **Android:** `MQTTTypes.kt` — `MQTTMessageType.AUTH: Byte = 0xF0`.
|
|
24
|
+
- **iOS:** `MQTTTypes.swift` — `MQTTMessageType.AUTH = 0xF0`.
|
|
25
|
+
|
|
26
|
+
Both platforms use this value in the connect loop to detect AUTH and fail cleanly when the server uses enhanced authentication.
|
|
27
|
+
|
|
28
|
+
## Optional (not required for basic compliance)
|
|
29
|
+
|
|
30
|
+
| Feature | Spec | Status | Notes |
|
|
31
|
+
|---------|------|--------|-------|
|
|
32
|
+
| **Subscription Options** | §3.8.3.1 No Local, Retain As Published, Retain Handling (0/1/2); reserved bits 6–7 = 0 | Optional | Currently only QoS (bits 0–1) sent; other options could be added to the API. |
|
|
33
|
+
| **Multiple topic filters in one SUBSCRIBE** | §3.8 | Optional | One topic per SUBSCRIBE today; API could accept multiple filters + options. |
|
|
34
|
+
| **Will message** | §3.1.2.5 Will Flag, Will Properties, Will Topic, Will Payload | Optional | CONNECT sends no Will; could add connect options for Will (topic, payload, QoS, retain, Will Delay Interval). |
|
|
35
|
+
| **Flow control (Receive Maximum)** | §4.9 | Optional | Client can send Receive Maximum in CONNECT and read CONNACK; no enforcement of send quota for QoS 1/2 PUBLISH yet (could block when quota 0). |
|
|
36
|
+
|
|
37
|
+
## Files (summary)
|
|
38
|
+
|
|
39
|
+
| Area | Android (Kotlin) | iOS (Swift) |
|
|
40
|
+
|------|------------------|-------------|
|
|
41
|
+
| CONNACK props | `MQTTClient.kt` (connect path) | `MQTTClient.swift` (connect path) |
|
|
42
|
+
| AUTH / connect loop | `MQTTClient.kt` | `MQTTClient.swift` |
|
|
43
|
+
| Packet type AUTH | `MQTTTypes.kt` (AUTH = 0xF0) | `MQTTTypes.swift` (AUTH = 0xF0) |
|
|
44
|
+
| DISCONNECT in loop | `MQTTClient.kt` (startMessageLoop) | `MQTTClient.swift` (startMessageLoop) |
|
|
45
|
+
| parsePublishV5 + Topic Alias | `MQTT5Protocol.kt`, `MQTTClient.kt` | `MQTT5Protocol.swift`, `MQTTClient.swift` |
|
|
46
|
+
| QoS 2 receive (PUBREC/PUBREL/PUBCOMP) | `MQTTProtocol.kt`, `MQTTClient.kt` | `MQTTProtocol.swift`, `MQTTClient.swift` |
|
|
47
|
+
|
|
48
|
+
No changes to the mqttd server are required; the plugin is aligned with the server and the MQTT v5.0 spec for the implemented features above.
|