├── .gitattributes ├── .gitignore ├── .idea ├── .gitignore ├── compiler.xml ├── gradle.xml ├── jarRepositories.xml ├── kotlinc.xml ├── migrations.xml ├── misc.xml └── vcs.xml ├── BUILDING ├── BUILDING-CONFIG-NOTES ├── BUILDING-SIGNING ├── LICENSE ├── README.md ├── TESTING-ON-WINDOWS.md ├── app ├── .gitignore ├── CMakeLists.txt ├── build.gradle ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── hardbacknutter │ │ └── sshd │ │ ├── UserArgsTest.java │ │ └── UserPasswordTest.java │ └── main │ ├── AndroidManifest.xml │ ├── cpp │ ├── dropbear │ │ ├── .github │ │ │ ├── multiwrapper │ │ │ └── workflows │ │ │ │ ├── autoconf.yml │ │ │ │ ├── build.yml │ │ │ │ ├── cifuzz.yml │ │ │ │ ├── outoftree.yml │ │ │ │ └── tarball.yml │ │ ├── .gitignore │ │ ├── CHANGES │ │ ├── DEVELOPING.md │ │ ├── INSTALL.md │ │ ├── LICENSE │ │ ├── MULTI.md │ │ ├── Makefile.in │ │ ├── README.md │ │ ├── SMALL.md │ │ ├── config.h │ │ ├── configure │ │ ├── configure.ac │ │ ├── debian │ │ │ ├── README.Debian │ │ │ ├── README.Debian.diet │ │ │ ├── README.runit │ │ │ ├── changelog │ │ │ ├── control │ │ │ ├── copyright.in │ │ │ ├── dropbear.README.Debian │ │ │ ├── dropbear.conffiles │ │ │ ├── dropbear.default │ │ │ ├── dropbear.docs │ │ │ ├── dropbear.init │ │ │ ├── dropbear.postinst │ │ │ ├── dropbear.postrm │ │ │ ├── dropbear.prerm │ │ │ ├── implicit │ │ │ ├── rules │ │ │ └── service │ │ │ │ ├── log │ │ │ │ └── run │ │ ├── fuzz │ │ │ ├── fuzz-common.c │ │ │ ├── fuzz-harness.c │ │ │ ├── fuzz-hostkeys.c │ │ │ ├── fuzz-sshpacketmutator.c │ │ │ ├── fuzz-wrapfd.c │ │ │ ├── fuzzer-cliconf.c │ │ │ ├── fuzzer-client.c │ │ │ ├── fuzzer-client_nomaths.c │ │ │ ├── fuzzer-kexcurve25519.c │ │ │ ├── fuzzer-kexdh.c │ │ │ ├── fuzzer-kexecdh.c │ │ │ ├── fuzzer-kexmlkem-cli.c │ │ │ ├── fuzzer-kexmlkem-srv.c │ │ │ ├── fuzzer-kexsntrup-cli.c │ │ │ ├── fuzzer-kexsntrup-srv.c │ │ │ ├── fuzzer-postauth_nomaths.c │ │ │ ├── fuzzer-preauth.c │ │ │ ├── fuzzer-preauth_nomaths.c │ │ │ ├── fuzzer-pubkey.c │ │ │ └── fuzzer-verify.c │ │ ├── fuzzers_test.sh │ │ ├── libtomcrypt │ │ │ ├── .travis.yml │ │ │ ├── Doxyfile │ │ │ ├── LICENSE │ │ │ ├── Makefile.in │ │ │ ├── README │ │ │ ├── TODO │ │ │ ├── build.sh │ │ │ ├── changes │ │ │ ├── check_source.sh │ │ │ ├── coverage.sh │ │ │ ├── coverage_more.sh │ │ │ ├── coverity.sh │ │ │ ├── crypt.lof │ │ │ ├── demos │ │ │ │ ├── constants.c │ │ │ │ ├── demo_dynamic.py │ │ │ │ ├── encrypt.c │ │ │ │ ├── hashsum.c │ │ │ │ ├── ltcrypt.c │ │ │ │ ├── multi.c │ │ │ │ ├── openssl-enc.c │ │ │ │ ├── sizes.c │ │ │ │ ├── small.c │ │ │ │ ├── test.c │ │ │ │ ├── timing.c │ │ │ │ └── tv_gen.c │ │ │ ├── doc │ │ │ │ ├── Doxyfile │ │ │ │ ├── crypt.tex │ │ │ │ ├── footer.html │ │ │ │ ├── header.html │ │ │ │ └── libtomsm.png │ │ │ ├── filter.pl │ │ │ ├── fixupind.pl │ │ │ ├── genlist.sh │ │ │ ├── helper.pl │ │ │ ├── makefile.icc │ │ │ ├── makefile.mingw │ │ │ ├── makefile.msvc │ │ │ ├── makefile.shared │ │ │ ├── makefile.unix │ │ │ ├── makefile_include.mk │ │ │ ├── mess.sh │ │ │ ├── notes │ │ │ │ ├── base64_tv.txt │ │ │ │ ├── ccm_tv.txt │ │ │ │ ├── cipher_tv.txt │ │ │ │ ├── eax_tv.txt │ │ │ │ ├── ecc_tv.txt │ │ │ │ ├── etc │ │ │ │ │ ├── NoekeonVects.java │ │ │ │ │ ├── saferp_optimizer.c │ │ │ │ │ ├── whirlgen.c │ │ │ │ │ └── whirltest.c │ │ │ │ ├── gcm_tv.txt │ │ │ │ ├── hash_tv.txt │ │ │ │ ├── hmac_tv.txt │ │ │ │ ├── lrw_tv.txt │ │ │ │ ├── ocb_tv.txt │ │ │ │ ├── omac_tv.txt │ │ │ │ ├── pmac_tv.txt │ │ │ │ ├── rsa-testvectors │ │ │ │ │ ├── oaep-int.txt │ │ │ │ │ ├── oaep-vect.c │ │ │ │ │ ├── oaep-vect.txt │ │ │ │ │ ├── pkcs1v15crypt-vectors.c │ │ │ │ │ ├── pkcs1v15crypt-vectors.txt │ │ │ │ │ ├── pkcs1v15sign-vectors.c │ │ │ │ │ ├── pkcs1v15sign-vectors.txt │ │ │ │ │ ├── pss-int.txt │ │ │ │ │ ├── pss-vect.c │ │ │ │ │ ├── pss-vect.txt │ │ │ │ │ ├── readme.txt │ │ │ │ │ └── rt.py │ │ │ │ ├── tech0001.txt │ │ │ │ ├── tech0002.txt │ │ │ │ ├── tech0003.txt │ │ │ │ ├── tech0004.txt │ │ │ │ ├── tech0005.txt │ │ │ │ ├── tech0006.txt │ │ │ │ └── tech0007.txt │ │ │ ├── parsenames.pl │ │ │ ├── printinfo.sh │ │ │ ├── run.sh │ │ │ ├── scan_build.sh │ │ │ ├── src │ │ │ │ ├── ciphers │ │ │ │ │ ├── aes │ │ │ │ │ │ ├── aes.c │ │ │ │ │ │ └── aes_tab.c │ │ │ │ │ ├── anubis.c │ │ │ │ │ ├── blowfish.c │ │ │ │ │ ├── camellia.c │ │ │ │ │ ├── cast5.c │ │ │ │ │ ├── des.c │ │ │ │ │ ├── kasumi.c │ │ │ │ │ ├── khazad.c │ │ │ │ │ ├── kseed.c │ │ │ │ │ ├── multi2.c │ │ │ │ │ ├── noekeon.c │ │ │ │ │ ├── rc2.c │ │ │ │ │ ├── rc5.c │ │ │ │ │ ├── rc6.c │ │ │ │ │ ├── safer │ │ │ │ │ │ ├── safer.c │ │ │ │ │ │ ├── safer_tab.c │ │ │ │ │ │ └── saferp.c │ │ │ │ │ ├── skipjack.c │ │ │ │ │ ├── twofish │ │ │ │ │ │ ├── twofish.c │ │ │ │ │ │ └── twofish_tab.c │ │ │ │ │ └── xtea.c │ │ │ │ ├── encauth │ │ │ │ │ ├── ccm │ │ │ │ │ │ ├── ccm_add_aad.c │ │ │ │ │ │ ├── ccm_add_nonce.c │ │ │ │ │ │ ├── ccm_done.c │ │ │ │ │ │ ├── ccm_init.c │ │ │ │ │ │ ├── ccm_memory.c │ │ │ │ │ │ ├── ccm_process.c │ │ │ │ │ │ ├── ccm_reset.c │ │ │ │ │ │ └── ccm_test.c │ │ │ │ │ ├── chachapoly │ │ │ │ │ │ ├── chacha20poly1305_add_aad.c │ │ │ │ │ │ ├── chacha20poly1305_decrypt.c │ │ │ │ │ │ ├── chacha20poly1305_done.c │ │ │ │ │ │ ├── chacha20poly1305_encrypt.c │ │ │ │ │ │ ├── chacha20poly1305_init.c │ │ │ │ │ │ ├── chacha20poly1305_memory.c │ │ │ │ │ │ ├── chacha20poly1305_setiv.c │ │ │ │ │ │ ├── chacha20poly1305_setiv_rfc7905.c │ │ │ │ │ │ └── chacha20poly1305_test.c │ │ │ │ │ ├── eax │ │ │ │ │ │ ├── eax_addheader.c │ │ │ │ │ │ ├── eax_decrypt.c │ │ │ │ │ │ ├── eax_decrypt_verify_memory.c │ │ │ │ │ │ ├── eax_done.c │ │ │ │ │ │ ├── eax_encrypt.c │ │ │ │ │ │ ├── eax_encrypt_authenticate_memory.c │ │ │ │ │ │ ├── eax_init.c │ │ │ │ │ │ └── eax_test.c │ │ │ │ │ ├── gcm │ │ │ │ │ │ ├── gcm_add_aad.c │ │ │ │ │ │ ├── gcm_add_iv.c │ │ │ │ │ │ ├── gcm_done.c │ │ │ │ │ │ ├── gcm_gf_mult.c │ │ │ │ │ │ ├── gcm_init.c │ │ │ │ │ │ ├── gcm_memory.c │ │ │ │ │ │ ├── gcm_mult_h.c │ │ │ │ │ │ ├── gcm_process.c │ │ │ │ │ │ ├── gcm_reset.c │ │ │ │ │ │ └── gcm_test.c │ │ │ │ │ ├── ocb │ │ │ │ │ │ ├── ocb_decrypt.c │ │ │ │ │ │ ├── ocb_decrypt_verify_memory.c │ │ │ │ │ │ ├── ocb_done_decrypt.c │ │ │ │ │ │ ├── ocb_done_encrypt.c │ │ │ │ │ │ ├── ocb_encrypt.c │ │ │ │ │ │ ├── ocb_encrypt_authenticate_memory.c │ │ │ │ │ │ ├── ocb_init.c │ │ │ │ │ │ ├── ocb_ntz.c │ │ │ │ │ │ ├── ocb_shift_xor.c │ │ │ │ │ │ ├── ocb_test.c │ │ │ │ │ │ └── s_ocb_done.c │ │ │ │ │ └── ocb3 │ │ │ │ │ │ ├── ocb3_add_aad.c │ │ │ │ │ │ ├── ocb3_decrypt.c │ │ │ │ │ │ ├── ocb3_decrypt_last.c │ │ │ │ │ │ ├── ocb3_decrypt_verify_memory.c │ │ │ │ │ │ ├── ocb3_done.c │ │ │ │ │ │ ├── ocb3_encrypt.c │ │ │ │ │ │ ├── ocb3_encrypt_authenticate_memory.c │ │ │ │ │ │ ├── ocb3_encrypt_last.c │ │ │ │ │ │ ├── ocb3_init.c │ │ │ │ │ │ ├── ocb3_int_ntz.c │ │ │ │ │ │ ├── ocb3_int_xor_blocks.c │ │ │ │ │ │ └── ocb3_test.c │ │ │ │ ├── hashes │ │ │ │ │ ├── blake2b.c │ │ │ │ │ ├── blake2s.c │ │ │ │ │ ├── chc │ │ │ │ │ │ └── chc.c │ │ │ │ │ ├── helper │ │ │ │ │ │ ├── hash_file.c │ │ │ │ │ │ ├── hash_filehandle.c │ │ │ │ │ │ ├── hash_memory.c │ │ │ │ │ │ └── hash_memory_multi.c │ │ │ │ │ ├── md2.c │ │ │ │ │ ├── md4.c │ │ │ │ │ ├── md5.c │ │ │ │ │ ├── rmd128.c │ │ │ │ │ ├── rmd160.c │ │ │ │ │ ├── rmd256.c │ │ │ │ │ ├── rmd320.c │ │ │ │ │ ├── sha1.c │ │ │ │ │ ├── sha2 │ │ │ │ │ │ ├── sha224.c │ │ │ │ │ │ ├── sha256.c │ │ │ │ │ │ ├── sha384.c │ │ │ │ │ │ ├── sha512.c │ │ │ │ │ │ ├── sha512_224.c │ │ │ │ │ │ └── sha512_256.c │ │ │ │ │ ├── sha3.c │ │ │ │ │ ├── sha3_test.c │ │ │ │ │ ├── tiger.c │ │ │ │ │ └── whirl │ │ │ │ │ │ ├── whirl.c │ │ │ │ │ │ └── whirltab.c │ │ │ │ ├── headers │ │ │ │ │ ├── tomcrypt.h │ │ │ │ │ ├── tomcrypt_argchk.h │ │ │ │ │ ├── tomcrypt_cfg.h │ │ │ │ │ ├── tomcrypt_cipher.h │ │ │ │ │ ├── tomcrypt_custom.h │ │ │ │ │ ├── tomcrypt_dropbear.h │ │ │ │ │ ├── tomcrypt_hash.h │ │ │ │ │ ├── tomcrypt_mac.h │ │ │ │ │ ├── tomcrypt_macros.h │ │ │ │ │ ├── tomcrypt_math.h │ │ │ │ │ ├── tomcrypt_misc.h │ │ │ │ │ ├── tomcrypt_pk.h │ │ │ │ │ ├── tomcrypt_pkcs.h │ │ │ │ │ └── tomcrypt_prng.h │ │ │ │ ├── mac │ │ │ │ │ ├── blake2 │ │ │ │ │ │ ├── blake2bmac.c │ │ │ │ │ │ ├── blake2bmac_file.c │ │ │ │ │ │ ├── blake2bmac_memory.c │ │ │ │ │ │ ├── blake2bmac_memory_multi.c │ │ │ │ │ │ ├── blake2bmac_test.c │ │ │ │ │ │ ├── blake2smac.c │ │ │ │ │ │ ├── blake2smac_file.c │ │ │ │ │ │ ├── blake2smac_memory.c │ │ │ │ │ │ ├── blake2smac_memory_multi.c │ │ │ │ │ │ └── blake2smac_test.c │ │ │ │ │ ├── f9 │ │ │ │ │ │ ├── f9_done.c │ │ │ │ │ │ ├── f9_file.c │ │ │ │ │ │ ├── f9_init.c │ │ │ │ │ │ ├── f9_memory.c │ │ │ │ │ │ ├── f9_memory_multi.c │ │ │ │ │ │ ├── f9_process.c │ │ │ │ │ │ └── f9_test.c │ │ │ │ │ ├── hmac │ │ │ │ │ │ ├── hmac_done.c │ │ │ │ │ │ ├── hmac_file.c │ │ │ │ │ │ ├── hmac_init.c │ │ │ │ │ │ ├── hmac_memory.c │ │ │ │ │ │ ├── hmac_memory_multi.c │ │ │ │ │ │ ├── hmac_process.c │ │ │ │ │ │ └── hmac_test.c │ │ │ │ │ ├── omac │ │ │ │ │ │ ├── omac_done.c │ │ │ │ │ │ ├── omac_file.c │ │ │ │ │ │ ├── omac_init.c │ │ │ │ │ │ ├── omac_memory.c │ │ │ │ │ │ ├── omac_memory_multi.c │ │ │ │ │ │ ├── omac_process.c │ │ │ │ │ │ └── omac_test.c │ │ │ │ │ ├── pelican │ │ │ │ │ │ ├── pelican.c │ │ │ │ │ │ ├── pelican_memory.c │ │ │ │ │ │ └── pelican_test.c │ │ │ │ │ ├── pmac │ │ │ │ │ │ ├── pmac_done.c │ │ │ │ │ │ ├── pmac_file.c │ │ │ │ │ │ ├── pmac_init.c │ │ │ │ │ │ ├── pmac_memory.c │ │ │ │ │ │ ├── pmac_memory_multi.c │ │ │ │ │ │ ├── pmac_ntz.c │ │ │ │ │ │ ├── pmac_process.c │ │ │ │ │ │ ├── pmac_shift_xor.c │ │ │ │ │ │ └── pmac_test.c │ │ │ │ │ ├── poly1305 │ │ │ │ │ │ ├── poly1305.c │ │ │ │ │ │ ├── poly1305_file.c │ │ │ │ │ │ ├── poly1305_memory.c │ │ │ │ │ │ ├── poly1305_memory_multi.c │ │ │ │ │ │ └── poly1305_test.c │ │ │ │ │ └── xcbc │ │ │ │ │ │ ├── xcbc_done.c │ │ │ │ │ │ ├── xcbc_file.c │ │ │ │ │ │ ├── xcbc_init.c │ │ │ │ │ │ ├── xcbc_memory.c │ │ │ │ │ │ ├── xcbc_memory_multi.c │ │ │ │ │ │ ├── xcbc_process.c │ │ │ │ │ │ └── xcbc_test.c │ │ │ │ ├── math │ │ │ │ │ ├── fp │ │ │ │ │ │ └── ltc_ecc_fp_mulmod.c │ │ │ │ │ ├── gmp_desc.c │ │ │ │ │ ├── ltm_desc.c │ │ │ │ │ ├── multi.c │ │ │ │ │ ├── radix_to_bin.c │ │ │ │ │ ├── rand_bn.c │ │ │ │ │ ├── rand_prime.c │ │ │ │ │ └── tfm_desc.c │ │ │ │ ├── misc │ │ │ │ │ ├── adler32.c │ │ │ │ │ ├── base64 │ │ │ │ │ │ ├── base64_decode.c │ │ │ │ │ │ └── base64_encode.c │ │ │ │ │ ├── burn_stack.c │ │ │ │ │ ├── compare_testvector.c │ │ │ │ │ ├── crc32.c │ │ │ │ │ ├── crypt │ │ │ │ │ │ ├── crypt.c │ │ │ │ │ │ ├── crypt_argchk.c │ │ │ │ │ │ ├── crypt_cipher_descriptor.c │ │ │ │ │ │ ├── crypt_cipher_is_valid.c │ │ │ │ │ │ ├── crypt_constants.c │ │ │ │ │ │ ├── crypt_find_cipher.c │ │ │ │ │ │ ├── crypt_find_cipher_any.c │ │ │ │ │ │ ├── crypt_find_cipher_id.c │ │ │ │ │ │ ├── crypt_find_hash.c │ │ │ │ │ │ ├── crypt_find_hash_any.c │ │ │ │ │ │ ├── crypt_find_hash_id.c │ │ │ │ │ │ ├── crypt_find_hash_oid.c │ │ │ │ │ │ ├── crypt_find_prng.c │ │ │ │ │ │ ├── crypt_fsa.c │ │ │ │ │ │ ├── crypt_hash_descriptor.c │ │ │ │ │ │ ├── crypt_hash_is_valid.c │ │ │ │ │ │ ├── crypt_inits.c │ │ │ │ │ │ ├── crypt_ltc_mp_descriptor.c │ │ │ │ │ │ ├── crypt_prng_descriptor.c │ │ │ │ │ │ ├── crypt_prng_is_valid.c │ │ │ │ │ │ ├── crypt_prng_rng_descriptor.c │ │ │ │ │ │ ├── crypt_register_all_ciphers.c │ │ │ │ │ │ ├── crypt_register_all_hashes.c │ │ │ │ │ │ ├── crypt_register_all_prngs.c │ │ │ │ │ │ ├── crypt_register_cipher.c │ │ │ │ │ │ ├── crypt_register_hash.c │ │ │ │ │ │ ├── crypt_register_prng.c │ │ │ │ │ │ ├── crypt_sizes.c │ │ │ │ │ │ ├── crypt_unregister_cipher.c │ │ │ │ │ │ ├── crypt_unregister_hash.c │ │ │ │ │ │ └── crypt_unregister_prng.c │ │ │ │ │ ├── error_to_string.c │ │ │ │ │ ├── hkdf │ │ │ │ │ │ ├── hkdf.c │ │ │ │ │ │ └── hkdf_test.c │ │ │ │ │ ├── mem_neq.c │ │ │ │ │ ├── pk_get_oid.c │ │ │ │ │ ├── pkcs5 │ │ │ │ │ │ ├── pkcs_5_1.c │ │ │ │ │ │ ├── pkcs_5_2.c │ │ │ │ │ │ └── pkcs_5_test.c │ │ │ │ │ └── zeromem.c │ │ │ │ ├── modes │ │ │ │ │ ├── cbc │ │ │ │ │ │ ├── cbc_decrypt.c │ │ │ │ │ │ ├── cbc_done.c │ │ │ │ │ │ ├── cbc_encrypt.c │ │ │ │ │ │ ├── cbc_getiv.c │ │ │ │ │ │ ├── cbc_setiv.c │ │ │ │ │ │ └── cbc_start.c │ │ │ │ │ ├── cfb │ │ │ │ │ │ ├── cfb_decrypt.c │ │ │ │ │ │ ├── cfb_done.c │ │ │ │ │ │ ├── cfb_encrypt.c │ │ │ │ │ │ ├── cfb_getiv.c │ │ │ │ │ │ ├── cfb_setiv.c │ │ │ │ │ │ └── cfb_start.c │ │ │ │ │ ├── ctr │ │ │ │ │ │ ├── ctr_decrypt.c │ │ │ │ │ │ ├── ctr_done.c │ │ │ │ │ │ ├── ctr_encrypt.c │ │ │ │ │ │ ├── ctr_getiv.c │ │ │ │ │ │ ├── ctr_setiv.c │ │ │ │ │ │ ├── ctr_start.c │ │ │ │ │ │ └── ctr_test.c │ │ │ │ │ ├── ecb │ │ │ │ │ │ ├── ecb_decrypt.c │ │ │ │ │ │ ├── ecb_done.c │ │ │ │ │ │ ├── ecb_encrypt.c │ │ │ │ │ │ └── ecb_start.c │ │ │ │ │ ├── f8 │ │ │ │ │ │ ├── f8_decrypt.c │ │ │ │ │ │ ├── f8_done.c │ │ │ │ │ │ ├── f8_encrypt.c │ │ │ │ │ │ ├── f8_getiv.c │ │ │ │ │ │ ├── f8_setiv.c │ │ │ │ │ │ ├── f8_start.c │ │ │ │ │ │ └── f8_test_mode.c │ │ │ │ │ ├── lrw │ │ │ │ │ │ ├── lrw_decrypt.c │ │ │ │ │ │ ├── lrw_done.c │ │ │ │ │ │ ├── lrw_encrypt.c │ │ │ │ │ │ ├── lrw_getiv.c │ │ │ │ │ │ ├── lrw_process.c │ │ │ │ │ │ ├── lrw_setiv.c │ │ │ │ │ │ ├── lrw_start.c │ │ │ │ │ │ └── lrw_test.c │ │ │ │ │ ├── ofb │ │ │ │ │ │ ├── ofb_decrypt.c │ │ │ │ │ │ ├── ofb_done.c │ │ │ │ │ │ ├── ofb_encrypt.c │ │ │ │ │ │ ├── ofb_getiv.c │ │ │ │ │ │ ├── ofb_setiv.c │ │ │ │ │ │ └── ofb_start.c │ │ │ │ │ └── xts │ │ │ │ │ │ ├── xts_decrypt.c │ │ │ │ │ │ ├── xts_done.c │ │ │ │ │ │ ├── xts_encrypt.c │ │ │ │ │ │ ├── xts_init.c │ │ │ │ │ │ ├── xts_mult_x.c │ │ │ │ │ │ └── xts_test.c │ │ │ │ ├── pk │ │ │ │ │ ├── asn1 │ │ │ │ │ │ └── der │ │ │ │ │ │ │ ├── bit │ │ │ │ │ │ │ ├── der_decode_bit_string.c │ │ │ │ │ │ │ ├── der_decode_raw_bit_string.c │ │ │ │ │ │ │ ├── der_encode_bit_string.c │ │ │ │ │ │ │ ├── der_encode_raw_bit_string.c │ │ │ │ │ │ │ └── der_length_bit_string.c │ │ │ │ │ │ │ ├── boolean │ │ │ │ │ │ │ ├── der_decode_boolean.c │ │ │ │ │ │ │ ├── der_encode_boolean.c │ │ │ │ │ │ │ └── der_length_boolean.c │ │ │ │ │ │ │ ├── choice │ │ │ │ │ │ │ └── der_decode_choice.c │ │ │ │ │ │ │ ├── generalizedtime │ │ │ │ │ │ │ ├── der_decode_generalizedtime.c │ │ │ │ │ │ │ ├── der_encode_generalizedtime.c │ │ │ │ │ │ │ └── der_length_generalizedtime.c │ │ │ │ │ │ │ ├── ia5 │ │ │ │ │ │ │ ├── der_decode_ia5_string.c │ │ │ │ │ │ │ ├── der_encode_ia5_string.c │ │ │ │ │ │ │ └── der_length_ia5_string.c │ │ │ │ │ │ │ ├── integer │ │ │ │ │ │ │ ├── der_decode_integer.c │ │ │ │ │ │ │ ├── der_encode_integer.c │ │ │ │ │ │ │ └── der_length_integer.c │ │ │ │ │ │ │ ├── object_identifier │ │ │ │ │ │ │ ├── der_decode_object_identifier.c │ │ │ │ │ │ │ ├── der_encode_object_identifier.c │ │ │ │ │ │ │ └── der_length_object_identifier.c │ │ │ │ │ │ │ ├── octet │ │ │ │ │ │ │ ├── der_decode_octet_string.c │ │ │ │ │ │ │ ├── der_encode_octet_string.c │ │ │ │ │ │ │ └── der_length_octet_string.c │ │ │ │ │ │ │ ├── printable_string │ │ │ │ │ │ │ ├── der_decode_printable_string.c │ │ │ │ │ │ │ ├── der_encode_printable_string.c │ │ │ │ │ │ │ └── der_length_printable_string.c │ │ │ │ │ │ │ ├── sequence │ │ │ │ │ │ │ ├── der_decode_sequence_ex.c │ │ │ │ │ │ │ ├── der_decode_sequence_flexi.c │ │ │ │ │ │ │ ├── der_decode_sequence_multi.c │ │ │ │ │ │ │ ├── der_decode_subject_public_key_info.c │ │ │ │ │ │ │ ├── der_encode_sequence_ex.c │ │ │ │ │ │ │ ├── der_encode_sequence_multi.c │ │ │ │ │ │ │ ├── der_encode_subject_public_key_info.c │ │ │ │ │ │ │ ├── der_length_sequence.c │ │ │ │ │ │ │ ├── der_sequence_free.c │ │ │ │ │ │ │ └── der_sequence_shrink.c │ │ │ │ │ │ │ ├── set │ │ │ │ │ │ │ ├── der_encode_set.c │ │ │ │ │ │ │ └── der_encode_setof.c │ │ │ │ │ │ │ ├── short_integer │ │ │ │ │ │ │ ├── der_decode_short_integer.c │ │ │ │ │ │ │ ├── der_encode_short_integer.c │ │ │ │ │ │ │ └── der_length_short_integer.c │ │ │ │ │ │ │ ├── teletex_string │ │ │ │ │ │ │ ├── der_decode_teletex_string.c │ │ │ │ │ │ │ └── der_length_teletex_string.c │ │ │ │ │ │ │ ├── utctime │ │ │ │ │ │ │ ├── der_decode_utctime.c │ │ │ │ │ │ │ ├── der_encode_utctime.c │ │ │ │ │ │ │ └── der_length_utctime.c │ │ │ │ │ │ │ └── utf8 │ │ │ │ │ │ │ ├── der_decode_utf8_string.c │ │ │ │ │ │ │ ├── der_encode_utf8_string.c │ │ │ │ │ │ │ └── der_length_utf8_string.c │ │ │ │ │ ├── dh │ │ │ │ │ │ ├── dh.c │ │ │ │ │ │ ├── dh_check_pubkey.c │ │ │ │ │ │ ├── dh_export.c │ │ │ │ │ │ ├── dh_export_key.c │ │ │ │ │ │ ├── dh_free.c │ │ │ │ │ │ ├── dh_generate_key.c │ │ │ │ │ │ ├── dh_import.c │ │ │ │ │ │ ├── dh_set.c │ │ │ │ │ │ ├── dh_set_pg_dhparam.c │ │ │ │ │ │ └── dh_shared_secret.c │ │ │ │ │ ├── dsa │ │ │ │ │ │ ├── dsa_decrypt_key.c │ │ │ │ │ │ ├── dsa_encrypt_key.c │ │ │ │ │ │ ├── dsa_export.c │ │ │ │ │ │ ├── dsa_free.c │ │ │ │ │ │ ├── dsa_generate_key.c │ │ │ │ │ │ ├── dsa_generate_pqg.c │ │ │ │ │ │ ├── dsa_import.c │ │ │ │ │ │ ├── dsa_make_key.c │ │ │ │ │ │ ├── dsa_set.c │ │ │ │ │ │ ├── dsa_set_pqg_dsaparam.c │ │ │ │ │ │ ├── dsa_shared_secret.c │ │ │ │ │ │ ├── dsa_sign_hash.c │ │ │ │ │ │ ├── dsa_verify_hash.c │ │ │ │ │ │ └── dsa_verify_key.c │ │ │ │ │ ├── ecc │ │ │ │ │ │ ├── ecc.c │ │ │ │ │ │ ├── ecc_ansi_x963_export.c │ │ │ │ │ │ ├── ecc_ansi_x963_import.c │ │ │ │ │ │ ├── ecc_decrypt_key.c │ │ │ │ │ │ ├── ecc_encrypt_key.c │ │ │ │ │ │ ├── ecc_export.c │ │ │ │ │ │ ├── ecc_free.c │ │ │ │ │ │ ├── ecc_get_size.c │ │ │ │ │ │ ├── ecc_import.c │ │ │ │ │ │ ├── ecc_make_key.c │ │ │ │ │ │ ├── ecc_shared_secret.c │ │ │ │ │ │ ├── ecc_sign_hash.c │ │ │ │ │ │ ├── ecc_sizes.c │ │ │ │ │ │ ├── ecc_test.c │ │ │ │ │ │ ├── ecc_verify_hash.c │ │ │ │ │ │ ├── ltc_ecc_is_valid_idx.c │ │ │ │ │ │ ├── ltc_ecc_map.c │ │ │ │ │ │ ├── ltc_ecc_mul2add.c │ │ │ │ │ │ ├── ltc_ecc_mulmod.c │ │ │ │ │ │ ├── ltc_ecc_mulmod_timing.c │ │ │ │ │ │ ├── ltc_ecc_points.c │ │ │ │ │ │ ├── ltc_ecc_projective_add_point.c │ │ │ │ │ │ └── ltc_ecc_projective_dbl_point.c │ │ │ │ │ ├── katja │ │ │ │ │ │ ├── katja_decrypt_key.c │ │ │ │ │ │ ├── katja_encrypt_key.c │ │ │ │ │ │ ├── katja_export.c │ │ │ │ │ │ ├── katja_exptmod.c │ │ │ │ │ │ ├── katja_free.c │ │ │ │ │ │ ├── katja_import.c │ │ │ │ │ │ └── katja_make_key.c │ │ │ │ │ ├── pkcs1 │ │ │ │ │ │ ├── pkcs_1_i2osp.c │ │ │ │ │ │ ├── pkcs_1_mgf1.c │ │ │ │ │ │ ├── pkcs_1_oaep_decode.c │ │ │ │ │ │ ├── pkcs_1_oaep_encode.c │ │ │ │ │ │ ├── pkcs_1_os2ip.c │ │ │ │ │ │ ├── pkcs_1_pss_decode.c │ │ │ │ │ │ ├── pkcs_1_pss_encode.c │ │ │ │ │ │ ├── pkcs_1_v1_5_decode.c │ │ │ │ │ │ └── pkcs_1_v1_5_encode.c │ │ │ │ │ └── rsa │ │ │ │ │ │ ├── rsa_decrypt_key.c │ │ │ │ │ │ ├── rsa_encrypt_key.c │ │ │ │ │ │ ├── rsa_export.c │ │ │ │ │ │ ├── rsa_exptmod.c │ │ │ │ │ │ ├── rsa_free.c │ │ │ │ │ │ ├── rsa_get_size.c │ │ │ │ │ │ ├── rsa_import.c │ │ │ │ │ │ ├── rsa_import_pkcs8.c │ │ │ │ │ │ ├── rsa_import_x509.c │ │ │ │ │ │ ├── rsa_make_key.c │ │ │ │ │ │ ├── rsa_set.c │ │ │ │ │ │ ├── rsa_sign_hash.c │ │ │ │ │ │ ├── rsa_sign_saltlen_get.c │ │ │ │ │ │ └── rsa_verify_hash.c │ │ │ │ ├── prngs │ │ │ │ │ ├── chacha20.c │ │ │ │ │ ├── fortuna.c │ │ │ │ │ ├── rc4.c │ │ │ │ │ ├── rng_get_bytes.c │ │ │ │ │ ├── rng_make_prng.c │ │ │ │ │ ├── sober128.c │ │ │ │ │ ├── sober128tab.c │ │ │ │ │ ├── sprng.c │ │ │ │ │ └── yarrow.c │ │ │ │ └── stream │ │ │ │ │ ├── chacha │ │ │ │ │ ├── chacha_crypt.c │ │ │ │ │ ├── chacha_done.c │ │ │ │ │ ├── chacha_ivctr32.c │ │ │ │ │ ├── chacha_ivctr64.c │ │ │ │ │ ├── chacha_keystream.c │ │ │ │ │ ├── chacha_setup.c │ │ │ │ │ └── chacha_test.c │ │ │ │ │ ├── rc4 │ │ │ │ │ ├── rc4_stream.c │ │ │ │ │ └── rc4_test.c │ │ │ │ │ └── sober128 │ │ │ │ │ ├── sober128_stream.c │ │ │ │ │ ├── sober128_test.c │ │ │ │ │ └── sober128tab.c │ │ │ ├── testbuild.sh │ │ │ ├── testme.sh │ │ │ ├── testprof │ │ │ │ ├── base64_test.c │ │ │ │ ├── cipher_hash_test.c │ │ │ │ ├── der_tests.c │ │ │ │ ├── dsa_test.c │ │ │ │ ├── ecc_test.c │ │ │ │ ├── katja_test.c │ │ │ │ ├── mac_test.c │ │ │ │ ├── makefile.icc │ │ │ │ ├── makefile.msvc │ │ │ │ ├── makefile.shared │ │ │ │ ├── modes_test.c │ │ │ │ ├── pkcs_1_test.c │ │ │ │ ├── rsa_test.c │ │ │ │ ├── store_test.c │ │ │ │ ├── test.der │ │ │ │ ├── test.key │ │ │ │ ├── test_driver.c │ │ │ │ ├── tomcrypt_test.h │ │ │ │ └── x86_prof.c │ │ │ ├── tests │ │ │ │ ├── base64_test.c │ │ │ │ ├── cipher_hash_test.c │ │ │ │ ├── common.c │ │ │ │ ├── common.h │ │ │ │ ├── der_test.c │ │ │ │ ├── dh_test.c │ │ │ │ ├── dsa_test.c │ │ │ │ ├── ecc_test.c │ │ │ │ ├── file_test.c │ │ │ │ ├── katja_test.c │ │ │ │ ├── mac_test.c │ │ │ │ ├── misc_test.c │ │ │ │ ├── modes_test.c │ │ │ │ ├── mpi_test.c │ │ │ │ ├── multi_test.c │ │ │ │ ├── no_prng.c │ │ │ │ ├── pkcs_1_eme_test.c │ │ │ │ ├── pkcs_1_emsa_test.c │ │ │ │ ├── pkcs_1_oaep_test.c │ │ │ │ ├── pkcs_1_pss_test.c │ │ │ │ ├── pkcs_1_test.c │ │ │ │ ├── prng_test.c │ │ │ │ ├── rotate_test.c │ │ │ │ ├── rsa_test.c │ │ │ │ ├── store_test.c │ │ │ │ ├── test.c │ │ │ │ ├── test.der │ │ │ │ ├── test.key │ │ │ │ ├── test_dsa.key │ │ │ │ └── tomcrypt_test.h │ │ │ └── updatemakes.sh │ │ ├── libtommath │ │ │ ├── LICENSE │ │ │ ├── Makefile.in │ │ │ ├── README.md │ │ │ ├── astylerc │ │ │ ├── bn_cutoffs.c │ │ │ ├── bn_deprecated.c │ │ │ ├── bn_mp_2expt.c │ │ │ ├── bn_mp_abs.c │ │ │ ├── bn_mp_add.c │ │ │ ├── bn_mp_add_d.c │ │ │ ├── bn_mp_addmod.c │ │ │ ├── bn_mp_and.c │ │ │ ├── bn_mp_clamp.c │ │ │ ├── bn_mp_clear.c │ │ │ ├── bn_mp_clear_multi.c │ │ │ ├── bn_mp_cmp.c │ │ │ ├── bn_mp_cmp_d.c │ │ │ ├── bn_mp_cmp_mag.c │ │ │ ├── bn_mp_cnt_lsb.c │ │ │ ├── bn_mp_complement.c │ │ │ ├── bn_mp_copy.c │ │ │ ├── bn_mp_count_bits.c │ │ │ ├── bn_mp_decr.c │ │ │ ├── bn_mp_div.c │ │ │ ├── bn_mp_div_2.c │ │ │ ├── bn_mp_div_2d.c │ │ │ ├── bn_mp_div_3.c │ │ │ ├── bn_mp_div_d.c │ │ │ ├── bn_mp_dr_is_modulus.c │ │ │ ├── bn_mp_dr_reduce.c │ │ │ ├── bn_mp_dr_setup.c │ │ │ ├── bn_mp_error_to_string.c │ │ │ ├── bn_mp_exch.c │ │ │ ├── bn_mp_expt_u32.c │ │ │ ├── bn_mp_exptmod.c │ │ │ ├── bn_mp_exteuclid.c │ │ │ ├── bn_mp_fread.c │ │ │ ├── bn_mp_from_sbin.c │ │ │ ├── bn_mp_from_ubin.c │ │ │ ├── bn_mp_fwrite.c │ │ │ ├── bn_mp_gcd.c │ │ │ ├── bn_mp_get_i32.c │ │ │ ├── bn_mp_get_i64.c │ │ │ ├── bn_mp_get_l.c │ │ │ ├── bn_mp_get_ll.c │ │ │ ├── bn_mp_get_mag_u32.c │ │ │ ├── bn_mp_get_mag_u64.c │ │ │ ├── bn_mp_get_mag_ul.c │ │ │ ├── bn_mp_get_mag_ull.c │ │ │ ├── bn_mp_grow.c │ │ │ ├── bn_mp_incr.c │ │ │ ├── bn_mp_init.c │ │ │ ├── bn_mp_init_copy.c │ │ │ ├── bn_mp_init_i32.c │ │ │ ├── bn_mp_init_i64.c │ │ │ ├── bn_mp_init_l.c │ │ │ ├── bn_mp_init_ll.c │ │ │ ├── bn_mp_init_multi.c │ │ │ ├── bn_mp_init_set.c │ │ │ ├── bn_mp_init_size.c │ │ │ ├── bn_mp_init_u32.c │ │ │ ├── bn_mp_init_u64.c │ │ │ ├── bn_mp_init_ul.c │ │ │ ├── bn_mp_init_ull.c │ │ │ ├── bn_mp_invmod.c │ │ │ ├── bn_mp_is_square.c │ │ │ ├── bn_mp_iseven.c │ │ │ ├── bn_mp_isodd.c │ │ │ ├── bn_mp_kronecker.c │ │ │ ├── bn_mp_lcm.c │ │ │ ├── bn_mp_log_u32.c │ │ │ ├── bn_mp_lshd.c │ │ │ ├── bn_mp_mod.c │ │ │ ├── bn_mp_mod_2d.c │ │ │ ├── bn_mp_mod_d.c │ │ │ ├── bn_mp_montgomery_calc_normalization.c │ │ │ ├── bn_mp_montgomery_reduce.c │ │ │ ├── bn_mp_montgomery_setup.c │ │ │ ├── bn_mp_mul.c │ │ │ ├── bn_mp_mul_2.c │ │ │ ├── bn_mp_mul_2d.c │ │ │ ├── bn_mp_mul_d.c │ │ │ ├── bn_mp_mulmod.c │ │ │ ├── bn_mp_neg.c │ │ │ ├── bn_mp_or.c │ │ │ ├── bn_mp_pack.c │ │ │ ├── bn_mp_pack_count.c │ │ │ ├── bn_mp_prime_fermat.c │ │ │ ├── bn_mp_prime_frobenius_underwood.c │ │ │ ├── bn_mp_prime_is_prime.c │ │ │ ├── bn_mp_prime_miller_rabin.c │ │ │ ├── bn_mp_prime_next_prime.c │ │ │ ├── bn_mp_prime_rabin_miller_trials.c │ │ │ ├── bn_mp_prime_rand.c │ │ │ ├── bn_mp_prime_strong_lucas_selfridge.c │ │ │ ├── bn_mp_radix_size.c │ │ │ ├── bn_mp_radix_smap.c │ │ │ ├── bn_mp_rand.c │ │ │ ├── bn_mp_read_radix.c │ │ │ ├── bn_mp_reduce.c │ │ │ ├── bn_mp_reduce_2k.c │ │ │ ├── bn_mp_reduce_2k_l.c │ │ │ ├── bn_mp_reduce_2k_setup.c │ │ │ ├── bn_mp_reduce_2k_setup_l.c │ │ │ ├── bn_mp_reduce_is_2k.c │ │ │ ├── bn_mp_reduce_is_2k_l.c │ │ │ ├── bn_mp_reduce_setup.c │ │ │ ├── bn_mp_root_u32.c │ │ │ ├── bn_mp_rshd.c │ │ │ ├── bn_mp_sbin_size.c │ │ │ ├── bn_mp_set.c │ │ │ ├── bn_mp_set_i32.c │ │ │ ├── bn_mp_set_i64.c │ │ │ ├── bn_mp_set_l.c │ │ │ ├── bn_mp_set_ll.c │ │ │ ├── bn_mp_set_u32.c │ │ │ ├── bn_mp_set_u64.c │ │ │ ├── bn_mp_set_ul.c │ │ │ ├── bn_mp_set_ull.c │ │ │ ├── bn_mp_shrink.c │ │ │ ├── bn_mp_signed_rsh.c │ │ │ ├── bn_mp_sqr.c │ │ │ ├── bn_mp_sqrmod.c │ │ │ ├── bn_mp_sqrt.c │ │ │ ├── bn_mp_sqrtmod_prime.c │ │ │ ├── bn_mp_sub.c │ │ │ ├── bn_mp_sub_d.c │ │ │ ├── bn_mp_submod.c │ │ │ ├── bn_mp_to_radix.c │ │ │ ├── bn_mp_to_sbin.c │ │ │ ├── bn_mp_to_ubin.c │ │ │ ├── bn_mp_ubin_size.c │ │ │ ├── bn_mp_unpack.c │ │ │ ├── bn_mp_xor.c │ │ │ ├── bn_mp_zero.c │ │ │ ├── bn_prime_tab.c │ │ │ ├── bn_s_mp_add.c │ │ │ ├── bn_s_mp_balance_mul.c │ │ │ ├── bn_s_mp_exptmod.c │ │ │ ├── bn_s_mp_exptmod_fast.c │ │ │ ├── bn_s_mp_get_bit.c │ │ │ ├── bn_s_mp_invmod_fast.c │ │ │ ├── bn_s_mp_invmod_slow.c │ │ │ ├── bn_s_mp_karatsuba_mul.c │ │ │ ├── bn_s_mp_karatsuba_sqr.c │ │ │ ├── bn_s_mp_montgomery_reduce_fast.c │ │ │ ├── bn_s_mp_mul_digs.c │ │ │ ├── bn_s_mp_mul_digs_fast.c │ │ │ ├── bn_s_mp_mul_high_digs.c │ │ │ ├── bn_s_mp_mul_high_digs_fast.c │ │ │ ├── bn_s_mp_prime_is_divisible.c │ │ │ ├── bn_s_mp_rand_jenkins.c │ │ │ ├── bn_s_mp_rand_platform.c │ │ │ ├── bn_s_mp_reverse.c │ │ │ ├── bn_s_mp_sqr.c │ │ │ ├── bn_s_mp_sqr_fast.c │ │ │ ├── bn_s_mp_sub.c │ │ │ ├── bn_s_mp_toom_mul.c │ │ │ ├── bn_s_mp_toom_sqr.c │ │ │ ├── changes.txt │ │ │ ├── gen.pl │ │ │ ├── helper.pl │ │ │ ├── makefile_include.mk │ │ │ ├── testme.sh │ │ │ ├── tommath.h │ │ │ ├── tommath_class.h │ │ │ ├── tommath_cutoffs.h │ │ │ ├── tommath_private.h │ │ │ └── tommath_superclass.h │ │ ├── manpages │ │ │ ├── dbclient.1 │ │ │ ├── dropbear.8 │ │ │ ├── dropbearconvert.1 │ │ │ └── dropbearkey.1 │ │ ├── release.sh │ │ ├── src │ │ │ ├── agentfwd.h │ │ │ ├── algo.h │ │ │ ├── atomicio.c │ │ │ ├── atomicio.h │ │ │ ├── auth.h │ │ │ ├── bignum.c │ │ │ ├── bignum.h │ │ │ ├── buffer.c │ │ │ ├── buffer.h │ │ │ ├── chachapoly.c │ │ │ ├── chachapoly.h │ │ │ ├── channel.h │ │ │ ├── chansession.h │ │ │ ├── circbuffer.c │ │ │ ├── circbuffer.h │ │ │ ├── cli-agentfwd.c │ │ │ ├── cli-auth.c │ │ │ ├── cli-authinteract.c │ │ │ ├── cli-authpasswd.c │ │ │ ├── cli-authpubkey.c │ │ │ ├── cli-channel.c │ │ │ ├── cli-chansession.c │ │ │ ├── cli-kex.c │ │ │ ├── cli-main.c │ │ │ ├── cli-readconf.c │ │ │ ├── cli-runopts.c │ │ │ ├── cli-session.c │ │ │ ├── cli-tcpfwd.c │ │ │ ├── common-algo.c │ │ │ ├── common-channel.c │ │ │ ├── common-chansession.c │ │ │ ├── common-kex.c │ │ │ ├── common-runopts.c │ │ │ ├── common-session.c │ │ │ ├── compat.c │ │ │ ├── compat.h │ │ │ ├── config.guess │ │ │ ├── config.h.in │ │ │ ├── config.sub │ │ │ ├── crypto_desc.c │ │ │ ├── crypto_desc.h │ │ │ ├── curve25519.c │ │ │ ├── curve25519.h │ │ │ ├── dbhelpers.c │ │ │ ├── dbhelpers.h │ │ │ ├── dbmalloc.c │ │ │ ├── dbmalloc.h │ │ │ ├── dbmulti.c │ │ │ ├── dbrandom.c │ │ │ ├── dbrandom.h │ │ │ ├── dbutil.c │ │ │ ├── dbutil.h │ │ │ ├── debug.h │ │ │ ├── default_options.h │ │ │ ├── dh_groups.c │ │ │ ├── dh_groups.h │ │ │ ├── dropbear_lint.sh │ │ │ ├── dropbearconvert.c │ │ │ ├── dropbearkey.c │ │ │ ├── dss.c │ │ │ ├── dss.h │ │ │ ├── ecc.c │ │ │ ├── ecc.h │ │ │ ├── ecdsa.c │ │ │ ├── ecdsa.h │ │ │ ├── ed25519.c │ │ │ ├── ed25519.h │ │ │ ├── fake-rfc2553.c │ │ │ ├── fake-rfc2553.h │ │ │ ├── filelist.txt │ │ │ ├── fuzz-wrapfd.h │ │ │ ├── fuzz.h │ │ │ ├── gcm.c │ │ │ ├── gcm.h │ │ │ ├── gendss.c │ │ │ ├── gendss.h │ │ │ ├── gened25519.c │ │ │ ├── gened25519.h │ │ │ ├── genrsa.c │ │ │ ├── genrsa.h │ │ │ ├── gensignkey.c │ │ │ ├── gensignkey.h │ │ │ ├── ifndef_wrapper.sh │ │ │ ├── includes.h │ │ │ ├── install-sh │ │ │ ├── kex-dh.c │ │ │ ├── kex-ecdh.c │ │ │ ├── kex-pqhybrid.c │ │ │ ├── kex-x25519.c │ │ │ ├── kex.h │ │ │ ├── keyimport.c │ │ │ ├── keyimport.h │ │ │ ├── libcrux_mlkem768_sha3.h │ │ │ ├── list.c │ │ │ ├── list.h │ │ │ ├── listener.c │ │ │ ├── listener.h │ │ │ ├── localoptions.h │ │ │ ├── loginrec.c │ │ │ ├── loginrec.h │ │ │ ├── ltc_prng.c │ │ │ ├── ltc_prng.h │ │ │ ├── mlkem768.c │ │ │ ├── mlkem768.h │ │ │ ├── mlkem768.sh │ │ │ ├── netio.c │ │ │ ├── netio.h │ │ │ ├── options.h │ │ │ ├── packet.c │ │ │ ├── packet.h │ │ │ ├── process-packet.c │ │ │ ├── progressmeter.c │ │ │ ├── progressmeter.h │ │ │ ├── pubkeyapi.h │ │ │ ├── queue.c │ │ │ ├── queue.h │ │ │ ├── rsa.c │ │ │ ├── rsa.h │ │ │ ├── runopts.h │ │ │ ├── scp.c │ │ │ ├── scpmisc.c │ │ │ ├── scpmisc.h │ │ │ ├── service.h │ │ │ ├── session.h │ │ │ ├── signkey.c │ │ │ ├── signkey.h │ │ │ ├── signkey_ossh.c │ │ │ ├── signkey_ossh.h │ │ │ ├── sk-ecdsa.c │ │ │ ├── sk-ecdsa.h │ │ │ ├── sk-ed25519.c │ │ │ ├── sk-ed25519.h │ │ │ ├── sntrup761.c │ │ │ ├── sntrup761.h │ │ │ ├── sntrup761.sh │ │ │ ├── sntrup761_compat.h │ │ │ ├── ssh.h │ │ │ ├── sshpty.c │ │ │ ├── sshpty.h │ │ │ ├── svr-agentfwd.c │ │ │ ├── svr-auth.c │ │ │ ├── svr-authpam.c │ │ │ ├── svr-authpasswd.c │ │ │ ├── svr-authpubkey.c │ │ │ ├── svr-authpubkeyoptions.c │ │ │ ├── svr-chansession.c │ │ │ ├── svr-kex.c │ │ │ ├── svr-main.c │ │ │ ├── svr-runopts.c │ │ │ ├── svr-service.c │ │ │ ├── svr-session.c │ │ │ ├── svr-tcpfwd.c │ │ │ ├── svr-x11fwd.c │ │ │ ├── sysoptions.h │ │ │ ├── tcp-accept.c │ │ │ ├── tcpfwd.h │ │ │ ├── termcodes.c │ │ │ ├── termcodes.h │ │ │ └── x11fwd.h │ │ └── test │ │ │ ├── Makefile.in │ │ │ ├── conftest.py │ │ │ ├── parent_dropbear_map.py │ │ │ ├── requirements.txt │ │ │ ├── test_aslr.py │ │ │ ├── test_channels.py │ │ │ ├── test_concurrent.py │ │ │ ├── test_dropbear.py │ │ │ ├── test_dropbearconvert.py │ │ │ └── test_svrauth.py │ ├── jni-dropbear.c │ ├── jni-dropbear.h │ ├── openssh │ │ ├── .depend │ │ ├── .git_allowed_signers │ │ ├── .git_allowed_signers.asc │ │ ├── .github │ │ │ ├── ci-status.md │ │ │ ├── configs │ │ │ ├── configure.sh │ │ │ ├── run_test.sh │ │ │ ├── setup_ci.sh │ │ │ └── workflows │ │ │ │ ├── c-cpp.yml │ │ │ │ ├── cifuzz.yml │ │ │ │ ├── selfhosted.yml │ │ │ │ └── upstream.yml │ │ ├── .gitignore │ │ ├── .skipped-commit-ids │ │ ├── CREDITS │ │ ├── ChangeLog │ │ ├── INSTALL │ │ ├── LICENCE │ │ ├── Makefile.in │ │ ├── OVERVIEW │ │ ├── PROTOCOL │ │ ├── PROTOCOL.agent │ │ ├── PROTOCOL.certkeys │ │ ├── PROTOCOL.chacha20poly1305 │ │ ├── PROTOCOL.key │ │ ├── PROTOCOL.krl │ │ ├── PROTOCOL.mux │ │ ├── PROTOCOL.sshsig │ │ ├── PROTOCOL.u2f │ │ ├── README │ │ ├── README.dns │ │ ├── README.md │ │ ├── README.platform │ │ ├── README.privsep │ │ ├── README.tun │ │ ├── SECURITY.md │ │ ├── TODO │ │ ├── aclocal.m4 │ │ ├── addr.c │ │ ├── addr.h │ │ ├── addrmatch.c │ │ ├── atomicio.c │ │ ├── atomicio.h │ │ ├── audit-bsm.c │ │ ├── audit-linux.c │ │ ├── audit.c │ │ ├── audit.h │ │ ├── auth-bsdauth.c │ │ ├── auth-krb5.c │ │ ├── auth-options.c │ │ ├── auth-options.h │ │ ├── auth-pam.c │ │ ├── auth-pam.h │ │ ├── auth-passwd.c │ │ ├── auth-rhosts.c │ │ ├── auth-shadow.c │ │ ├── auth-sia.c │ │ ├── auth-sia.h │ │ ├── auth.c │ │ ├── auth.h │ │ ├── auth2-chall.c │ │ ├── auth2-gss.c │ │ ├── auth2-hostbased.c │ │ ├── auth2-kbdint.c │ │ ├── auth2-methods.c │ │ ├── auth2-none.c │ │ ├── auth2-passwd.c │ │ ├── auth2-pubkey.c │ │ ├── auth2-pubkeyfile.c │ │ ├── auth2.c │ │ ├── authfd.c │ │ ├── authfd.h │ │ ├── authfile.c │ │ ├── authfile.h │ │ ├── bitmap.c │ │ ├── bitmap.h │ │ ├── buildpkg.sh.in │ │ ├── canohost.c │ │ ├── canohost.h │ │ ├── chacha.c │ │ ├── chacha.h │ │ ├── channels.c │ │ ├── channels.h │ │ ├── cipher-aes.c │ │ ├── cipher-aesctr.c │ │ ├── cipher-aesctr.h │ │ ├── cipher-chachapoly-libcrypto.c │ │ ├── cipher-chachapoly.c │ │ ├── cipher-chachapoly.h │ │ ├── cipher.c │ │ ├── cipher.h │ │ ├── cleanup.c │ │ ├── clientloop.c │ │ ├── clientloop.h │ │ ├── compat.c │ │ ├── compat.h │ │ ├── config.guess │ │ ├── config.h │ │ ├── config.h.in │ │ ├── config.h_9_7_P1 │ │ ├── config.sub │ │ ├── configure │ │ ├── configure.ac │ │ ├── contrib │ │ │ ├── README │ │ │ ├── aix │ │ │ │ ├── README │ │ │ │ ├── buildbff.sh │ │ │ │ ├── inventory.sh │ │ │ │ └── pam.conf │ │ │ ├── cygwin │ │ │ │ ├── README │ │ │ │ ├── ssh-host-config │ │ │ │ ├── ssh-user-config │ │ │ │ └── sshd-inetd │ │ │ ├── findssl.sh │ │ │ ├── gnome-ssh-askpass1.c │ │ │ ├── gnome-ssh-askpass2.c │ │ │ ├── gnome-ssh-askpass3.c │ │ │ ├── hpux │ │ │ │ ├── README │ │ │ │ ├── egd │ │ │ │ ├── egd.rc │ │ │ │ └── sshd.rc │ │ │ ├── redhat │ │ │ │ ├── gnome-ssh-askpass.csh │ │ │ │ ├── gnome-ssh-askpass.sh │ │ │ │ ├── openssh.spec │ │ │ │ ├── sshd.init │ │ │ │ └── sshd.pam │ │ │ ├── solaris │ │ │ │ └── README │ │ │ ├── ssh-copy-id │ │ │ ├── ssh-copy-id.1 │ │ │ ├── sshd.pam.freebsd │ │ │ ├── sshd.pam.generic │ │ │ └── suse │ │ │ │ ├── openssh.spec │ │ │ │ ├── rc.config.sshd │ │ │ │ ├── rc.sshd │ │ │ │ └── sysconfig.ssh │ │ ├── crypto_api.h │ │ ├── defines.h │ │ ├── dh.c │ │ ├── dh.h │ │ ├── digest-libc.c │ │ ├── digest-openssl.c │ │ ├── digest.h │ │ ├── dispatch.c │ │ ├── dispatch.h │ │ ├── dns.c │ │ ├── dns.h │ │ ├── ed25519.c │ │ ├── ed25519.sh │ │ ├── entropy.c │ │ ├── entropy.h │ │ ├── fatal.c │ │ ├── fe25519.c │ │ ├── fe25519.h │ │ ├── fixalgorithms │ │ ├── fixpaths │ │ ├── ge25519.c │ │ ├── ge25519.h │ │ ├── ge25519_base.data │ │ ├── groupaccess.c │ │ ├── groupaccess.h │ │ ├── gss-genr.c │ │ ├── gss-serv-krb5.c │ │ ├── gss-serv.c │ │ ├── hash.c │ │ ├── hmac.c │ │ ├── hmac.h │ │ ├── hostfile.c │ │ ├── hostfile.h │ │ ├── includes.h │ │ ├── install-sh │ │ ├── kex-names.c │ │ ├── kex.c │ │ ├── kex.h │ │ ├── kexc25519.c │ │ ├── kexdh.c │ │ ├── kexecdh.c │ │ ├── kexgen.c │ │ ├── kexgex.c │ │ ├── kexgexc.c │ │ ├── kexgexs.c │ │ ├── kexmlkem768x25519.c │ │ ├── kexsntrup761x25519.c │ │ ├── krl.c │ │ ├── krl.h │ │ ├── libcrux_mlkem768_sha3.h │ │ ├── log.c │ │ ├── log.h │ │ ├── loginrec.c │ │ ├── loginrec.h │ │ ├── logintest.c │ │ ├── m4 │ │ │ └── openssh.m4 │ │ ├── mac.c │ │ ├── mac.h │ │ ├── match.c │ │ ├── match.h │ │ ├── mdoc2man.awk │ │ ├── misc.c │ │ ├── misc.h │ │ ├── mkinstalldirs │ │ ├── mlkem768.sh │ │ ├── moduli │ │ ├── moduli.0 │ │ ├── moduli.5 │ │ ├── moduli.c │ │ ├── monitor.c │ │ ├── monitor.h │ │ ├── monitor_fdpass.c │ │ ├── monitor_fdpass.h │ │ ├── monitor_wrap.c │ │ ├── monitor_wrap.h │ │ ├── msg.c │ │ ├── msg.h │ │ ├── mux.c │ │ ├── myproposal.h │ │ ├── nchan.c │ │ ├── nchan.ms │ │ ├── nchan2.ms │ │ ├── openbsd-compat │ │ │ ├── Makefile.in │ │ │ ├── arc4random.c │ │ │ ├── arc4random.h │ │ │ ├── arc4random_uniform.c │ │ │ ├── base64.c │ │ │ ├── base64.h │ │ │ ├── basename.c │ │ │ ├── bcrypt_pbkdf.c │ │ │ ├── bindresvport.c │ │ │ ├── blf.h │ │ │ ├── blowfish.c │ │ │ ├── bsd-asprintf.c │ │ │ ├── bsd-closefrom.c │ │ │ ├── bsd-cygwin_util.c │ │ │ ├── bsd-cygwin_util.h │ │ │ ├── bsd-err.c │ │ │ ├── bsd-flock.c │ │ │ ├── bsd-getentropy.c │ │ │ ├── bsd-getline.c │ │ │ ├── bsd-getpagesize.c │ │ │ ├── bsd-getpeereid.c │ │ │ ├── bsd-malloc.c │ │ │ ├── bsd-misc.c │ │ │ ├── bsd-misc.h │ │ │ ├── bsd-nextstep.c │ │ │ ├── bsd-nextstep.h │ │ │ ├── bsd-openpty.c │ │ │ ├── bsd-poll.c │ │ │ ├── bsd-poll.h │ │ │ ├── bsd-pselect.c │ │ │ ├── bsd-setres_id.c │ │ │ ├── bsd-setres_id.h │ │ │ ├── bsd-signal.c │ │ │ ├── bsd-signal.h │ │ │ ├── bsd-snprintf.c │ │ │ ├── bsd-statvfs.c │ │ │ ├── bsd-statvfs.h │ │ │ ├── bsd-timegm.c │ │ │ ├── bsd-waitpid.c │ │ │ ├── bsd-waitpid.h │ │ │ ├── chacha_private.h │ │ │ ├── charclass.h │ │ │ ├── daemon.c │ │ │ ├── dirname.c │ │ │ ├── explicit_bzero.c │ │ │ ├── fake-rfc2553.c │ │ │ ├── fake-rfc2553.h │ │ │ ├── fmt_scaled.c │ │ │ ├── fnmatch.c │ │ │ ├── fnmatch.h │ │ │ ├── freezero.c │ │ │ ├── getcwd.c │ │ │ ├── getgrouplist.c │ │ │ ├── getopt.h │ │ │ ├── getopt_long.c │ │ │ ├── getrrsetbyname-ldns.c │ │ │ ├── getrrsetbyname.c │ │ │ ├── getrrsetbyname.h │ │ │ ├── glob.c │ │ │ ├── glob.h │ │ │ ├── inet_aton.c │ │ │ ├── inet_ntoa.c │ │ │ ├── inet_ntop.c │ │ │ ├── kludge-fd_set.c │ │ │ ├── libressl-api-compat.c │ │ │ ├── md5.c │ │ │ ├── md5.h │ │ │ ├── memmem.c │ │ │ ├── mktemp.c │ │ │ ├── openbsd-compat.h │ │ │ ├── openssl-compat.c │ │ │ ├── openssl-compat.h │ │ │ ├── port-aix.c │ │ │ ├── port-aix.h │ │ │ ├── port-irix.c │ │ │ ├── port-irix.h │ │ │ ├── port-linux.c │ │ │ ├── port-linux.h │ │ │ ├── port-net.c │ │ │ ├── port-net.h │ │ │ ├── port-prngd.c │ │ │ ├── port-solaris.c │ │ │ ├── port-solaris.h │ │ │ ├── port-uw.c │ │ │ ├── port-uw.h │ │ │ ├── pwcache.c │ │ │ ├── readpassphrase.c │ │ │ ├── readpassphrase.h │ │ │ ├── reallocarray.c │ │ │ ├── recallocarray.c │ │ │ ├── regress │ │ │ │ ├── Makefile.in │ │ │ │ ├── closefromtest.c │ │ │ │ ├── opensslvertest.c │ │ │ │ ├── snprintftest.c │ │ │ │ ├── strduptest.c │ │ │ │ ├── strtonumtest.c │ │ │ │ └── utimensattest.c │ │ │ ├── rresvport.c │ │ │ ├── setenv.c │ │ │ ├── setproctitle.c │ │ │ ├── sha1.c │ │ │ ├── sha1.h │ │ │ ├── sha2.c │ │ │ ├── sha2.h │ │ │ ├── sigact.c │ │ │ ├── sigact.h │ │ │ ├── strcasestr.c │ │ │ ├── strlcat.c │ │ │ ├── strlcpy.c │ │ │ ├── strmode.c │ │ │ ├── strndup.c │ │ │ ├── strnlen.c │ │ │ ├── strptime.c │ │ │ ├── strsep.c │ │ │ ├── strtoll.c │ │ │ ├── strtonum.c │ │ │ ├── strtoul.c │ │ │ ├── strtoull.c │ │ │ ├── sys-queue.h │ │ │ ├── sys-tree.h │ │ │ ├── timingsafe_bcmp.c │ │ │ ├── vis.c │ │ │ ├── vis.h │ │ │ └── xcrypt.c │ │ ├── openssh.xml.in │ │ ├── opensshd.init.in │ │ ├── packet.c │ │ ├── packet.h │ │ ├── pathnames.h │ │ ├── pkcs11.h │ │ ├── platform-listen.c │ │ ├── platform-misc.c │ │ ├── platform-pledge.c │ │ ├── platform-tracing.c │ │ ├── platform.c │ │ ├── platform.h │ │ ├── poly1305.c │ │ ├── poly1305.h │ │ ├── progressmeter.c │ │ ├── progressmeter.h │ │ ├── readconf.c │ │ ├── readconf.h │ │ ├── readpass.c │ │ ├── regress │ │ │ ├── README.regress │ │ │ ├── addrmatch.sh │ │ │ ├── agent-getpeereid.sh │ │ │ ├── agent-pkcs11-cert.sh │ │ │ ├── agent-pkcs11-restrict.sh │ │ │ ├── agent-pkcs11.sh │ │ │ ├── agent-ptrace.sh │ │ │ ├── agent-restrict.sh │ │ │ ├── agent-subprocess.sh │ │ │ ├── agent-timeout.sh │ │ │ ├── agent.sh │ │ │ ├── allow-deny-users.sh │ │ │ ├── authinfo.sh │ │ │ ├── banner.sh │ │ │ ├── broken-pipe.sh │ │ │ ├── brokenkeys.sh │ │ │ ├── cert-file.sh │ │ │ ├── cert-hostkey.sh │ │ │ ├── cert-userkey.sh │ │ │ ├── cfginclude.sh │ │ │ ├── cfgmatch.sh │ │ │ ├── cfgmatchlisten.sh │ │ │ ├── cfgparse.sh │ │ │ ├── channel-timeout.sh │ │ │ ├── check-perm.c │ │ │ ├── cipher-speed.sh │ │ │ ├── conch-ciphers.sh │ │ │ ├── connect-privsep.sh │ │ │ ├── connect-uri.sh │ │ │ ├── connect.sh │ │ │ ├── connection-timeout.sh │ │ │ ├── dhgex.sh │ │ │ ├── dropbear-ciphers.sh │ │ │ ├── dropbear-kex.sh │ │ │ ├── dsa_ssh2.prv │ │ │ ├── dsa_ssh2.pub │ │ │ ├── dynamic-forward.sh │ │ │ ├── ed25519_openssh.prv │ │ │ ├── ed25519_openssh.pub │ │ │ ├── envpass.sh │ │ │ ├── exit-status-signal.sh │ │ │ ├── exit-status.sh │ │ │ ├── forcecommand.sh │ │ │ ├── forward-control.sh │ │ │ ├── forwarding.sh │ │ │ ├── host-expand.sh │ │ │ ├── hostbased.sh │ │ │ ├── hostkey-agent.sh │ │ │ ├── hostkey-rotate.sh │ │ │ ├── integrity.sh │ │ │ ├── kextype.sh │ │ │ ├── key-options.sh │ │ │ ├── keygen-change.sh │ │ │ ├── keygen-comment.sh │ │ │ ├── keygen-convert.sh │ │ │ ├── keygen-knownhosts.sh │ │ │ ├── keygen-moduli.sh │ │ │ ├── keygen-sshfp.sh │ │ │ ├── keys-command.sh │ │ │ ├── keyscan.sh │ │ │ ├── keytype.sh │ │ │ ├── knownhosts-command.sh │ │ │ ├── knownhosts.sh │ │ │ ├── krl.sh │ │ │ ├── limit-keytype.sh │ │ │ ├── localcommand.sh │ │ │ ├── login-timeout.sh │ │ │ ├── match-subsystem.sh │ │ │ ├── misc │ │ │ │ ├── Makefile │ │ │ │ ├── fuzz-harness │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── README │ │ │ │ │ ├── agent_fuzz.cc │ │ │ │ │ ├── agent_fuzz_helper.c │ │ │ │ │ ├── authkeys_fuzz.cc │ │ │ │ │ ├── authopt_fuzz.cc │ │ │ │ │ ├── fixed-keys.h │ │ │ │ │ ├── kex_fuzz.cc │ │ │ │ │ ├── mkcorpus_sntrup761.c │ │ │ │ │ ├── privkey_fuzz.cc │ │ │ │ │ ├── pubkey_fuzz.cc │ │ │ │ │ ├── sig_fuzz.cc │ │ │ │ │ ├── sntrup761_dec_fuzz.cc │ │ │ │ │ ├── sntrup761_enc_fuzz.cc │ │ │ │ │ ├── ssh-sk-null.cc │ │ │ │ │ ├── sshsig_fuzz.cc │ │ │ │ │ ├── sshsigopt_fuzz.cc │ │ │ │ │ ├── testdata │ │ │ │ │ │ ├── README │ │ │ │ │ │ ├── create-agent-corpus.sh │ │ │ │ │ │ ├── id_dsa │ │ │ │ │ │ ├── id_dsa-cert.pub │ │ │ │ │ │ ├── id_dsa.pub │ │ │ │ │ │ ├── id_ecdsa │ │ │ │ │ │ ├── id_ecdsa-cert.pub │ │ │ │ │ │ ├── id_ecdsa.pub │ │ │ │ │ │ ├── id_ecdsa_sk │ │ │ │ │ │ ├── id_ecdsa_sk-cert.pub │ │ │ │ │ │ ├── id_ecdsa_sk.pub │ │ │ │ │ │ ├── id_ed25519 │ │ │ │ │ │ ├── id_ed25519-cert.pub │ │ │ │ │ │ ├── id_ed25519.pub │ │ │ │ │ │ ├── id_ed25519_sk │ │ │ │ │ │ ├── id_ed25519_sk-cert.pub │ │ │ │ │ │ ├── id_ed25519_sk.pub │ │ │ │ │ │ ├── id_rsa │ │ │ │ │ │ ├── id_rsa-cert.pub │ │ │ │ │ │ └── id_rsa.pub │ │ │ │ │ └── watch-sntrup761.sh │ │ │ │ ├── sk-dummy │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── fatal.c │ │ │ │ │ └── sk-dummy.c │ │ │ │ └── ssh-verify-attestation │ │ │ │ │ ├── Makefile │ │ │ │ │ └── ssh-verify-attestation.c │ │ │ ├── mkdtemp.c │ │ │ ├── modpipe.c │ │ │ ├── moduli.in │ │ │ ├── multiplex.sh │ │ │ ├── multipubkey.sh │ │ │ ├── netcat.c │ │ │ ├── penalty-expire.sh │ │ │ ├── penalty.sh │ │ │ ├── percent.sh │ │ │ ├── portnum.sh │ │ │ ├── principals-command.sh │ │ │ ├── proto-mismatch.sh │ │ │ ├── proto-version.sh │ │ │ ├── proxy-connect.sh │ │ │ ├── putty-ciphers.sh │ │ │ ├── putty-kex.sh │ │ │ ├── putty-transfer.sh │ │ │ ├── reconfigure.sh │ │ │ ├── reexec.sh │ │ │ ├── rekey.sh │ │ │ ├── rsa_openssh.prv │ │ │ ├── rsa_openssh.pub │ │ │ ├── rsa_ssh2.prv │ │ │ ├── scp-ssh-wrapper.sh │ │ │ ├── scp-uri.sh │ │ │ ├── scp.sh │ │ │ ├── scp3.sh │ │ │ ├── servcfginclude.sh │ │ │ ├── setuid-allowed.c │ │ │ ├── sftp-badcmds.sh │ │ │ ├── sftp-batch.sh │ │ │ ├── sftp-chroot.sh │ │ │ ├── sftp-cmds.sh │ │ │ ├── sftp-glob.sh │ │ │ ├── sftp-perm.sh │ │ │ ├── sftp-resume.sh │ │ │ ├── sftp-uri.sh │ │ │ ├── sftp.sh │ │ │ ├── ssh-com-client.sh │ │ │ ├── ssh-com-keygen.sh │ │ │ ├── ssh-com-sftp.sh │ │ │ ├── ssh-com.sh │ │ │ ├── ssh2putty.sh │ │ │ ├── sshcfgparse.sh │ │ │ ├── sshd-log-wrapper.sh │ │ │ ├── sshfp-connect.sh │ │ │ ├── sshsig.sh │ │ │ ├── stderr-after-eof.sh │ │ │ ├── stderr-data.sh │ │ │ ├── t11.ok │ │ │ ├── t4.ok │ │ │ ├── t5.ok │ │ │ ├── test-exec.sh │ │ │ ├── timestamp.c │ │ │ ├── transfer.sh │ │ │ ├── try-ciphers.sh │ │ │ ├── unittests │ │ │ │ ├── Makefile │ │ │ │ ├── Makefile.inc │ │ │ │ ├── authopt │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── testdata │ │ │ │ │ │ ├── all_permit.cert │ │ │ │ │ │ ├── bad_sourceaddr.cert │ │ │ │ │ │ ├── force_command.cert │ │ │ │ │ │ ├── host.cert │ │ │ │ │ │ ├── mktestdata.sh │ │ │ │ │ │ ├── no_agentfwd.cert │ │ │ │ │ │ ├── no_permit.cert │ │ │ │ │ │ ├── no_portfwd.cert │ │ │ │ │ │ ├── no_pty.cert │ │ │ │ │ │ ├── no_user_rc.cert │ │ │ │ │ │ ├── no_x11fwd.cert │ │ │ │ │ │ ├── only_agentfwd.cert │ │ │ │ │ │ ├── only_portfwd.cert │ │ │ │ │ │ ├── only_pty.cert │ │ │ │ │ │ ├── only_user_rc.cert │ │ │ │ │ │ ├── only_x11fwd.cert │ │ │ │ │ │ ├── sourceaddr.cert │ │ │ │ │ │ └── unknown_critical.cert │ │ │ │ │ └── tests.c │ │ │ │ ├── bitmap │ │ │ │ │ ├── Makefile │ │ │ │ │ └── tests.c │ │ │ │ ├── conversion │ │ │ │ │ ├── Makefile │ │ │ │ │ └── tests.c │ │ │ │ ├── hostkeys │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── mktestdata.sh │ │ │ │ │ ├── test_iterate.c │ │ │ │ │ ├── testdata │ │ │ │ │ │ ├── dsa_1.pub │ │ │ │ │ │ ├── dsa_2.pub │ │ │ │ │ │ ├── dsa_3.pub │ │ │ │ │ │ ├── dsa_4.pub │ │ │ │ │ │ ├── dsa_5.pub │ │ │ │ │ │ ├── dsa_6.pub │ │ │ │ │ │ ├── ecdsa_1.pub │ │ │ │ │ │ ├── ecdsa_2.pub │ │ │ │ │ │ ├── ecdsa_3.pub │ │ │ │ │ │ ├── ecdsa_4.pub │ │ │ │ │ │ ├── ecdsa_5.pub │ │ │ │ │ │ ├── ecdsa_6.pub │ │ │ │ │ │ ├── ed25519_1.pub │ │ │ │ │ │ ├── ed25519_2.pub │ │ │ │ │ │ ├── ed25519_3.pub │ │ │ │ │ │ ├── ed25519_4.pub │ │ │ │ │ │ ├── ed25519_5.pub │ │ │ │ │ │ ├── ed25519_6.pub │ │ │ │ │ │ ├── known_hosts │ │ │ │ │ │ ├── rsa1_1.pub │ │ │ │ │ │ ├── rsa1_2.pub │ │ │ │ │ │ ├── rsa1_3.pub │ │ │ │ │ │ ├── rsa1_4.pub │ │ │ │ │ │ ├── rsa1_5.pub │ │ │ │ │ │ ├── rsa1_6.pub │ │ │ │ │ │ ├── rsa_1.pub │ │ │ │ │ │ ├── rsa_2.pub │ │ │ │ │ │ ├── rsa_3.pub │ │ │ │ │ │ ├── rsa_4.pub │ │ │ │ │ │ ├── rsa_5.pub │ │ │ │ │ │ └── rsa_6.pub │ │ │ │ │ └── tests.c │ │ │ │ ├── kex │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── test_kex.c │ │ │ │ │ ├── test_proposal.c │ │ │ │ │ └── tests.c │ │ │ │ ├── match │ │ │ │ │ ├── Makefile │ │ │ │ │ └── tests.c │ │ │ │ ├── misc │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── test_argv.c │ │ │ │ │ ├── test_convtime.c │ │ │ │ │ ├── test_expand.c │ │ │ │ │ ├── test_hpdelim.c │ │ │ │ │ ├── test_parse.c │ │ │ │ │ ├── test_ptimeout.c │ │ │ │ │ ├── test_strdelim.c │ │ │ │ │ └── tests.c │ │ │ │ ├── sshbuf │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── test_sshbuf.c │ │ │ │ │ ├── test_sshbuf_fixed.c │ │ │ │ │ ├── test_sshbuf_fuzz.c │ │ │ │ │ ├── test_sshbuf_getput_basic.c │ │ │ │ │ ├── test_sshbuf_getput_crypto.c │ │ │ │ │ ├── test_sshbuf_getput_fuzz.c │ │ │ │ │ ├── test_sshbuf_misc.c │ │ │ │ │ └── tests.c │ │ │ │ ├── sshkey │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── common.c │ │ │ │ │ ├── common.h │ │ │ │ │ ├── mktestdata.sh │ │ │ │ │ ├── test_file.c │ │ │ │ │ ├── test_fuzz.c │ │ │ │ │ ├── test_sshkey.c │ │ │ │ │ ├── testdata │ │ │ │ │ │ ├── dsa_1 │ │ │ │ │ │ ├── dsa_1-cert.fp │ │ │ │ │ │ ├── dsa_1-cert.pub │ │ │ │ │ │ ├── dsa_1.fp │ │ │ │ │ │ ├── dsa_1.fp.bb │ │ │ │ │ │ ├── dsa_1.param.g │ │ │ │ │ │ ├── dsa_1.param.priv │ │ │ │ │ │ ├── dsa_1.param.pub │ │ │ │ │ │ ├── dsa_1.pub │ │ │ │ │ │ ├── dsa_1_pw │ │ │ │ │ │ ├── dsa_2 │ │ │ │ │ │ ├── dsa_2.fp │ │ │ │ │ │ ├── dsa_2.fp.bb │ │ │ │ │ │ ├── dsa_2.pub │ │ │ │ │ │ ├── dsa_n │ │ │ │ │ │ ├── dsa_n_pw │ │ │ │ │ │ ├── ecdsa_1 │ │ │ │ │ │ ├── ecdsa_1-cert.fp │ │ │ │ │ │ ├── ecdsa_1-cert.pub │ │ │ │ │ │ ├── ecdsa_1.fp │ │ │ │ │ │ ├── ecdsa_1.fp.bb │ │ │ │ │ │ ├── ecdsa_1.param.curve │ │ │ │ │ │ ├── ecdsa_1.param.priv │ │ │ │ │ │ ├── ecdsa_1.param.pub │ │ │ │ │ │ ├── ecdsa_1.pub │ │ │ │ │ │ ├── ecdsa_1_pw │ │ │ │ │ │ ├── ecdsa_2 │ │ │ │ │ │ ├── ecdsa_2.fp │ │ │ │ │ │ ├── ecdsa_2.fp.bb │ │ │ │ │ │ ├── ecdsa_2.param.curve │ │ │ │ │ │ ├── ecdsa_2.param.priv │ │ │ │ │ │ ├── ecdsa_2.param.pub │ │ │ │ │ │ ├── ecdsa_2.pub │ │ │ │ │ │ ├── ecdsa_n │ │ │ │ │ │ ├── ecdsa_n_pw │ │ │ │ │ │ ├── ecdsa_sk1 │ │ │ │ │ │ ├── ecdsa_sk1-cert.fp │ │ │ │ │ │ ├── ecdsa_sk1-cert.pub │ │ │ │ │ │ ├── ecdsa_sk1.fp │ │ │ │ │ │ ├── ecdsa_sk1.fp.bb │ │ │ │ │ │ ├── ecdsa_sk1.pub │ │ │ │ │ │ ├── ecdsa_sk1_pw │ │ │ │ │ │ ├── ecdsa_sk2 │ │ │ │ │ │ ├── ecdsa_sk2.fp │ │ │ │ │ │ ├── ecdsa_sk2.fp.bb │ │ │ │ │ │ ├── ecdsa_sk2.pub │ │ │ │ │ │ ├── ed25519_1 │ │ │ │ │ │ ├── ed25519_1-cert.fp │ │ │ │ │ │ ├── ed25519_1-cert.pub │ │ │ │ │ │ ├── ed25519_1.fp │ │ │ │ │ │ ├── ed25519_1.fp.bb │ │ │ │ │ │ ├── ed25519_1.pub │ │ │ │ │ │ ├── ed25519_1_pw │ │ │ │ │ │ ├── ed25519_2 │ │ │ │ │ │ ├── ed25519_2.fp │ │ │ │ │ │ ├── ed25519_2.fp.bb │ │ │ │ │ │ ├── ed25519_2.pub │ │ │ │ │ │ ├── ed25519_sk1 │ │ │ │ │ │ ├── ed25519_sk1-cert.fp │ │ │ │ │ │ ├── ed25519_sk1-cert.pub │ │ │ │ │ │ ├── ed25519_sk1.fp │ │ │ │ │ │ ├── ed25519_sk1.fp.bb │ │ │ │ │ │ ├── ed25519_sk1.pub │ │ │ │ │ │ ├── ed25519_sk1_pw │ │ │ │ │ │ ├── ed25519_sk2 │ │ │ │ │ │ ├── ed25519_sk2.fp │ │ │ │ │ │ ├── ed25519_sk2.fp.bb │ │ │ │ │ │ ├── ed25519_sk2.pub │ │ │ │ │ │ ├── pw │ │ │ │ │ │ ├── rsa_1 │ │ │ │ │ │ ├── rsa_1-cert.fp │ │ │ │ │ │ ├── rsa_1-cert.pub │ │ │ │ │ │ ├── rsa_1.fp │ │ │ │ │ │ ├── rsa_1.fp.bb │ │ │ │ │ │ ├── rsa_1.param.n │ │ │ │ │ │ ├── rsa_1.param.p │ │ │ │ │ │ ├── rsa_1.param.q │ │ │ │ │ │ ├── rsa_1.pub │ │ │ │ │ │ ├── rsa_1_pw │ │ │ │ │ │ ├── rsa_1_sha1 │ │ │ │ │ │ ├── rsa_1_sha1-cert.pub │ │ │ │ │ │ ├── rsa_1_sha1.pub │ │ │ │ │ │ ├── rsa_1_sha512 │ │ │ │ │ │ ├── rsa_1_sha512-cert.pub │ │ │ │ │ │ ├── rsa_1_sha512.pub │ │ │ │ │ │ ├── rsa_2 │ │ │ │ │ │ ├── rsa_2.fp │ │ │ │ │ │ ├── rsa_2.fp.bb │ │ │ │ │ │ ├── rsa_2.param.n │ │ │ │ │ │ ├── rsa_2.param.p │ │ │ │ │ │ ├── rsa_2.param.q │ │ │ │ │ │ ├── rsa_2.pub │ │ │ │ │ │ ├── rsa_n │ │ │ │ │ │ └── rsa_n_pw │ │ │ │ │ └── tests.c │ │ │ │ ├── sshsig │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── mktestdata.sh │ │ │ │ │ ├── testdata │ │ │ │ │ │ ├── dsa │ │ │ │ │ │ ├── dsa.pub │ │ │ │ │ │ ├── dsa.sig │ │ │ │ │ │ ├── ecdsa │ │ │ │ │ │ ├── ecdsa.pub │ │ │ │ │ │ ├── ecdsa.sig │ │ │ │ │ │ ├── ecdsa_sk │ │ │ │ │ │ ├── ecdsa_sk.pub │ │ │ │ │ │ ├── ecdsa_sk.sig │ │ │ │ │ │ ├── ecdsa_sk_webauthn.pub │ │ │ │ │ │ ├── ecdsa_sk_webauthn.sig │ │ │ │ │ │ ├── ed25519 │ │ │ │ │ │ ├── ed25519.pub │ │ │ │ │ │ ├── ed25519.sig │ │ │ │ │ │ ├── ed25519_sk │ │ │ │ │ │ ├── ed25519_sk.pub │ │ │ │ │ │ ├── ed25519_sk.sig │ │ │ │ │ │ ├── namespace │ │ │ │ │ │ ├── rsa │ │ │ │ │ │ ├── rsa.pub │ │ │ │ │ │ ├── rsa.sig │ │ │ │ │ │ └── signed-data │ │ │ │ │ ├── tests.c │ │ │ │ │ └── webauthn.html │ │ │ │ ├── test_helper │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── fuzz.c │ │ │ │ │ ├── test_helper.c │ │ │ │ │ └── test_helper.h │ │ │ │ └── utf8 │ │ │ │ │ ├── Makefile │ │ │ │ │ └── tests.c │ │ │ ├── valgrind-unit.sh │ │ │ └── yes-head.sh │ │ ├── rijndael.c │ │ ├── rijndael.h │ │ ├── sandbox-capsicum.c │ │ ├── sandbox-darwin.c │ │ ├── sandbox-null.c │ │ ├── sandbox-pledge.c │ │ ├── sandbox-rlimit.c │ │ ├── sandbox-seccomp-filter.c │ │ ├── sandbox-solaris.c │ │ ├── sandbox-systrace.c │ │ ├── sc25519.c │ │ ├── sc25519.h │ │ ├── scp.0 │ │ ├── scp.1 │ │ ├── scp.c │ │ ├── servconf.c │ │ ├── servconf.h │ │ ├── serverloop.c │ │ ├── serverloop.h │ │ ├── session.c │ │ ├── session.h │ │ ├── sftp-client.c │ │ ├── sftp-client.h │ │ ├── sftp-common.c │ │ ├── sftp-common.h │ │ ├── sftp-glob.c │ │ ├── sftp-realpath.c │ │ ├── sftp-server-main.c │ │ ├── sftp-server.0 │ │ ├── sftp-server.8 │ │ ├── sftp-server.c │ │ ├── sftp-usergroup.c │ │ ├── sftp-usergroup.h │ │ ├── sftp.0 │ │ ├── sftp.1 │ │ ├── sftp.c │ │ ├── sftp.h │ │ ├── sk-api.h │ │ ├── sk-usbhid.c │ │ ├── smult_curve25519_ref.c │ │ ├── sntrup761.c │ │ ├── sntrup761.sh │ │ ├── srclimit.c │ │ ├── srclimit.h │ │ ├── ssh-add.0 │ │ ├── ssh-add.1 │ │ ├── ssh-add.c │ │ ├── ssh-agent.0 │ │ ├── ssh-agent.1 │ │ ├── ssh-agent.c │ │ ├── ssh-dss.c │ │ ├── ssh-ecdsa-sk.c │ │ ├── ssh-ecdsa.c │ │ ├── ssh-ed25519-sk.c │ │ ├── ssh-ed25519.c │ │ ├── ssh-gss.h │ │ ├── ssh-keygen.0 │ │ ├── ssh-keygen.1 │ │ ├── ssh-keygen.c │ │ ├── ssh-keyscan.0 │ │ ├── ssh-keyscan.1 │ │ ├── ssh-keyscan.c │ │ ├── ssh-keysign.0 │ │ ├── ssh-keysign.8 │ │ ├── ssh-keysign.c │ │ ├── ssh-pkcs11-client.c │ │ ├── ssh-pkcs11-helper.0 │ │ ├── ssh-pkcs11-helper.8 │ │ ├── ssh-pkcs11-helper.c │ │ ├── ssh-pkcs11.c │ │ ├── ssh-pkcs11.h │ │ ├── ssh-rsa.c │ │ ├── ssh-sandbox.h │ │ ├── ssh-sk-client.c │ │ ├── ssh-sk-helper.0 │ │ ├── ssh-sk-helper.8 │ │ ├── ssh-sk-helper.c │ │ ├── ssh-sk.c │ │ ├── ssh-sk.h │ │ ├── ssh-xmss.c │ │ ├── ssh.0 │ │ ├── ssh.1 │ │ ├── ssh.c │ │ ├── ssh.h │ │ ├── ssh2.h │ │ ├── ssh_api.c │ │ ├── ssh_api.h │ │ ├── ssh_config │ │ ├── ssh_config.0 │ │ ├── ssh_config.5 │ │ ├── sshbuf-getput-basic.c │ │ ├── sshbuf-getput-crypto.c │ │ ├── sshbuf-io.c │ │ ├── sshbuf-misc.c │ │ ├── sshbuf.c │ │ ├── sshbuf.h │ │ ├── sshconnect.c │ │ ├── sshconnect.h │ │ ├── sshconnect2.c │ │ ├── sshd-auth.c │ │ ├── sshd-debug.sh │ │ ├── sshd-session.c │ │ ├── sshd.0 │ │ ├── sshd.8 │ │ ├── sshd.c │ │ ├── sshd_config │ │ ├── sshd_config.0 │ │ ├── sshd_config.5 │ │ ├── ssherr.c │ │ ├── ssherr.h │ │ ├── sshkey-xmss.c │ │ ├── sshkey-xmss.h │ │ ├── sshkey.c │ │ ├── sshkey.h │ │ ├── sshlogin.c │ │ ├── sshlogin.h │ │ ├── sshpty.c │ │ ├── sshpty.h │ │ ├── sshsig.c │ │ ├── sshsig.h │ │ ├── sshtty.c │ │ ├── survey.sh.in │ │ ├── ttymodes.c │ │ ├── ttymodes.h │ │ ├── uidswap.c │ │ ├── uidswap.h │ │ ├── umac.c │ │ ├── umac.h │ │ ├── umac128.c │ │ ├── utf8.c │ │ ├── utf8.h │ │ ├── verify.c │ │ ├── version.h │ │ ├── xmalloc.c │ │ ├── xmalloc.h │ │ ├── xmss_commons.c │ │ ├── xmss_commons.h │ │ ├── xmss_fast.c │ │ ├── xmss_fast.h │ │ ├── xmss_hash.c │ │ ├── xmss_hash.h │ │ ├── xmss_hash_address.c │ │ ├── xmss_hash_address.h │ │ ├── xmss_wots.c │ │ └── xmss_wots.h │ ├── prebuild-dropbear.sh │ ├── prebuild-rsyn.sh │ └── rsync │ │ ├── .cirrus.yml │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── COPYING │ │ ├── Doxyfile │ │ ├── INSTALL.md │ │ ├── Makefile.in │ │ ├── NEWS.md │ │ ├── README.md │ │ ├── SECURITY.md │ │ ├── TODO │ │ ├── access.c │ │ ├── acls.c │ │ ├── authenticate.c │ │ ├── backup.c │ │ ├── batch.c │ │ ├── byteorder.h │ │ ├── case_N.h │ │ ├── checksum.c │ │ ├── chmod.c │ │ ├── cleanup.c │ │ ├── clientname.c │ │ ├── clientserver.c │ │ ├── cmd-or-msg │ │ ├── compat.c │ │ ├── config.guess │ │ ├── config.h │ │ ├── config.sub │ │ ├── configure │ │ ├── configure.ac │ │ ├── connection.c │ │ ├── csprotocol.txt │ │ ├── daemon-parm.awk │ │ ├── daemon-parm.txt │ │ ├── define-from-md.awk │ │ ├── delete.c │ │ ├── doc │ │ ├── README-SGML │ │ ├── profile.txt │ │ └── rsync.sgml │ │ ├── errcode.h │ │ ├── exclude.c │ │ ├── fileio.c │ │ ├── flist.c │ │ ├── generator.c │ │ ├── getfsdev.c │ │ ├── getgroups.c │ │ ├── hashtable.c │ │ ├── help-from-md.awk │ │ ├── hlink.c │ │ ├── ifuncs.h │ │ ├── install-sh │ │ ├── inums.h │ │ ├── io.c │ │ ├── io.h │ │ ├── itypes.h │ │ ├── latest-year.h │ │ ├── lib │ │ ├── addrinfo.h │ │ ├── compat.c │ │ ├── dummy.in │ │ ├── getaddrinfo.c │ │ ├── getpass.c │ │ ├── inet_ntop.c │ │ ├── inet_pton.c │ │ ├── md-defines.h │ │ ├── md5-asm-x86_64.S │ │ ├── md5.c │ │ ├── mdfour.c │ │ ├── mdigest.h │ │ ├── permstring.c │ │ ├── permstring.h │ │ ├── pool_alloc.3 │ │ ├── pool_alloc.c │ │ ├── pool_alloc.h │ │ ├── snprintf.c │ │ ├── sysacls.c │ │ ├── sysacls.h │ │ ├── sysxattrs.c │ │ ├── sysxattrs.h │ │ ├── wildmatch.c │ │ └── wildmatch.h │ │ ├── loadparm.c │ │ ├── log.c │ │ ├── m4 │ │ ├── have_type.m4 │ │ ├── header_major_fixed.m4 │ │ ├── socklen_t.m4 │ │ └── validate_cache_system_type.m4 │ │ ├── main.c │ │ ├── match.c │ │ ├── maybe-make-man │ │ ├── md-convert │ │ ├── mkgitver │ │ ├── mkproto.awk │ │ ├── options.c │ │ ├── packaging │ │ ├── auto-Makefile │ │ ├── branch-from-patch │ │ ├── cull-options │ │ ├── lsb │ │ │ ├── rsync.spec │ │ │ └── rsync.xinetd │ │ ├── openssl-rsync.cnf │ │ ├── patch-update │ │ ├── pkglib.py │ │ ├── pre-push │ │ ├── prep-auto-dir │ │ ├── release-rsync │ │ ├── samba-rsync │ │ ├── send-news │ │ ├── smart-make │ │ ├── solaris │ │ │ └── build_pkg.sh │ │ ├── systemd │ │ │ ├── rsync.service │ │ │ ├── rsync.socket │ │ │ └── rsync@.service │ │ ├── var-checker │ │ └── year-tweak │ │ ├── params.c │ │ ├── pipe.c │ │ ├── popt │ │ ├── CHANGES │ │ ├── COPYING │ │ ├── README │ │ ├── README.rsync │ │ ├── dummy.in │ │ ├── findme.c │ │ ├── findme.h │ │ ├── lookup3.c │ │ ├── popt.c │ │ ├── popt.h │ │ ├── poptconfig.c │ │ ├── popthelp.c │ │ ├── poptint.c │ │ ├── poptint.h │ │ ├── poptparse.c │ │ └── system.h │ │ ├── prepare-source │ │ ├── prepare-source.mak │ │ ├── progress.c │ │ ├── receiver.c │ │ ├── rounding.c │ │ ├── rsync-ssl │ │ ├── rsync-ssl.1.md │ │ ├── rsync.1.md │ │ ├── rsync.c │ │ ├── rsync.h │ │ ├── rsync3.txt │ │ ├── rsyncd.conf.5.md │ │ ├── rsyncsh.txt │ │ ├── runtests.sh │ │ ├── sender.c │ │ ├── shconfig.in │ │ ├── simd-checksum-avx2.S │ │ ├── simd-checksum-x86_64.cpp │ │ ├── socket.c │ │ ├── stunnel-rsyncd.conf.in │ │ ├── support │ │ ├── atomic-rsync │ │ ├── cvs2includes │ │ ├── deny-rsync │ │ ├── file-attr-restore │ │ ├── files-to-excludes │ │ ├── git-set-file-times │ │ ├── idmap │ │ ├── install_deps_ubuntu.sh │ │ ├── instant-rsyncd │ │ ├── json-rsync-version │ │ ├── logfilter │ │ ├── lsh │ │ ├── lsh.sh │ │ ├── mapfrom │ │ ├── mapto │ │ ├── mnt-excl │ │ ├── munge-symlinks │ │ ├── nameconvert │ │ ├── rrsync │ │ ├── rrsync.1.md │ │ ├── rsync-no-vanished │ │ ├── rsync-slash-strip │ │ ├── rsyncstats │ │ └── savetransfer.c │ │ ├── syscall.c │ │ ├── t_stub.c │ │ ├── t_unsafe.c │ │ ├── tech_report.tex │ │ ├── testhelp │ │ └── maketree.py │ │ ├── testrun.c │ │ ├── testsuite │ │ ├── 00-hello.test │ │ ├── README.testsuite │ │ ├── acls-default.test │ │ ├── acls.test │ │ ├── alt-dest.test │ │ ├── atimes.test │ │ ├── backup.test │ │ ├── batch-mode.test │ │ ├── chgrp.test │ │ ├── chmod-option.test │ │ ├── chmod-temp-dir.test │ │ ├── chmod.test │ │ ├── chown.test │ │ ├── crtimes.test │ │ ├── daemon-gzip-download.test │ │ ├── daemon-gzip-upload.test │ │ ├── daemon.test │ │ ├── delay-updates.test │ │ ├── delete.test │ │ ├── devices.test │ │ ├── dir-sgid.test │ │ ├── duplicates.test │ │ ├── exclude-lsh.test │ │ ├── exclude.test │ │ ├── executability.test │ │ ├── files-from.test │ │ ├── fuzzy.test │ │ ├── hands.test │ │ ├── hardlinks.test │ │ ├── itemize.test │ │ ├── longdir.test │ │ ├── merge.test │ │ ├── missing.test │ │ ├── mkpath.test │ │ ├── protected-regular.test │ │ ├── relative.test │ │ ├── rsync.fns │ │ ├── safe-links.test │ │ ├── ssh-basic.test │ │ ├── symlink-ignore.test │ │ ├── trimslash.test │ │ ├── unsafe-byname.test │ │ ├── unsafe-links.test │ │ ├── wildmatch.test │ │ └── xattrs.test │ │ ├── tls.c │ │ ├── token.c │ │ ├── trimslash.c │ │ ├── uidlist.c │ │ ├── usage.c │ │ ├── util1.c │ │ ├── util2.c │ │ ├── version.h │ │ ├── wildtest.c │ │ ├── wildtest.txt │ │ ├── xattrs.c │ │ └── zlib │ │ ├── ChangeLog │ │ ├── README │ │ ├── README.rsync │ │ ├── adler32.c │ │ ├── compress.c │ │ ├── crc32.c │ │ ├── crc32.h │ │ ├── deflate.c │ │ ├── deflate.h │ │ ├── dummy.in │ │ ├── gzguts.h │ │ ├── inffast.c │ │ ├── inffast.h │ │ ├── inffixed.h │ │ ├── inflate.c │ │ ├── inflate.h │ │ ├── inftrees.c │ │ ├── inftrees.h │ │ ├── trees.c │ │ ├── trees.h │ │ ├── zconf.h │ │ ├── zlib.h │ │ ├── zutil.c │ │ └── zutil.h │ ├── java │ └── com │ │ └── hardbacknutter │ │ ├── sshd │ │ ├── App.java │ │ ├── BootReceiver.java │ │ ├── MainActivity.java │ │ ├── MainFragment.java │ │ ├── ServiceViewModel.java │ │ ├── SshdService.java │ │ ├── SshdSettings.java │ │ ├── StartMode.java │ │ └── settings │ │ │ ├── ExtPreferenceCategory.java │ │ │ ├── Prefs.java │ │ │ ├── SettingsFragment.java │ │ │ ├── SettingsViewModel.java │ │ │ └── UserPassStorage.java │ │ └── util │ │ └── theme │ │ └── NightMode.java │ └── res │ ├── color │ └── dialog_button_background_color.xml │ ├── drawable │ ├── app.xml │ ├── app_banner.xml │ ├── arrow_back_24px.xml │ ├── error_24px.xml │ ├── github_24px.xml │ ├── home_24px.xml │ ├── info_24px.xml │ ├── password_24px.xml │ ├── security_24px.xml │ ├── settings_24px.xml │ ├── settings_brightness_24px.xml │ ├── supervisor_account_24px.xml │ ├── terminal_24px.xml │ ├── vpn_key_24px.xml │ └── warning_24px.xml │ ├── layout │ ├── activity.xml │ ├── dialog_about.xml │ ├── fragment_main.xml │ ├── preference_widget_material_switch.xml │ └── toolbar_menu_buttons_start.xml │ ├── menu │ └── main_menu.xml │ ├── mipmap-anydpi │ ├── ic_banner.xml │ └── ic_launcher.xml │ ├── values-de │ └── strings.xml │ ├── values-fr │ └── strings.xml │ ├── values-night │ └── themes.xml │ ├── values-ta │ └── strings.xml │ ├── values-zh-rCN │ └── strings.xml │ ├── values │ ├── attrs.xml │ ├── colors.xml │ ├── dimens.xml │ ├── donottranslate.xml │ ├── strings.xml │ ├── styles-toolbar.xml │ ├── styles-widgets.xml │ ├── styles.xml │ └── themes.xml │ └── xml │ ├── backup_rules.xml │ ├── data_extraction_rules.xml │ └── preferences.xml ├── build.gradle ├── gradle.properties ├── gradle ├── libs.versions.toml └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── metadata ├── app.id.yml ├── en-US │ ├── changelogs │ │ ├── 1.txt │ │ ├── 10.txt │ │ ├── 11.txt │ │ ├── 12.txt │ │ ├── 13.txt │ │ ├── 3.txt │ │ ├── 4.txt │ │ ├── 5.txt │ │ ├── 6.txt │ │ ├── 7.txt │ │ ├── 8.txt │ │ └── 9.txt │ ├── full_description.txt │ ├── images │ │ ├── IzzyOnDroid.png │ │ ├── get-it-on-github.png │ │ ├── icon.png │ │ └── phoneScreenshots │ │ │ ├── 01.png │ │ │ ├── 02.png │ │ │ ├── 03.png │ │ │ ├── 04.png │ │ │ ├── 05.png │ │ │ ├── 06.png │ │ │ └── 07.png │ ├── short_description.txt │ └── title.txt └── zh-CN │ ├── changelogs │ ├── 1.txt │ ├── 3.txt │ ├── 4.txt │ ├── 5.txt │ ├── 6.txt │ └── 7.txt │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt └── settings.gradle /.gitattributes: -------------------------------------------------------------------------------- 1 | * text eol=lf 2 | *.txt text 3 | *.png binary 4 | 5 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .DS_Store 3 | .cxx 4 | .externalNativeBuild 5 | .gradle 6 | /.idea/AndroidProjectSystem.xml 7 | /.idea/androidTestResultsUserPreferences.xml 8 | /.idea/assetWizardSettings.xml 9 | /.idea/caches 10 | /.idea/checkstyle-idea.xml 11 | /.idea/codeStyles/Project.xml 12 | /.idea/codeStyles/codeStyleConfig.xml 13 | /.idea/deploymentTargetDropDown.xml 14 | /.idea/deploymentTargetSelector.xml 15 | /.idea/deviceManager.xml 16 | /.idea/inspectionProfiles/Project_Default.xml 17 | /.idea/libraries 18 | /.idea/modules.xml 19 | /.idea/navEditor.xml 20 | /.idea/other.xml 21 | /.idea/runConfigurations.xml 22 | /.idea/workspace.xml 23 | /build 24 | /captures 25 | /local.properties 26 | local.properties 27 | -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 18 | 19 | -------------------------------------------------------------------------------- /.idea/kotlinc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /.idea/migrations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /BUILDING-SIGNING: -------------------------------------------------------------------------------- 1 | Setup signing: 2 | 3 | Edit your private/local "~/.gradle/gradle.properties" and add a line: 4 | 5 | Sshd4a.properties=/path/to/Sshd4a.properties 6 | 7 | Edit/create the file "/path/to/Sshd4a.properties": 8 | 9 | sign.storeFile=/path/to/myKeystore.jks 10 | sign.storePassword=myPass 11 | sign.keyAlias=myAlias 12 | sign.keyPassword=myPass 13 | -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/.github/multiwrapper: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # symlink this to dropbear/dbclient/dropbearkey next to dropbearmulti 4 | # good enough for testing purposes. 5 | 6 | DIR=$(dirname $0) 7 | PROG=$(basename $0) 8 | exec $DIR/dropbearmulti $PROG "$@" 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/.github/workflows/autoconf.yml: -------------------------------------------------------------------------------- 1 | # Checks that autoconf has been run if configure.ac was updated 2 | # Assumes that autoconf 2.71 was run, the same as ubuntu 22.04 3 | name: Autoconf Up To Date 4 | on: 5 | pull_request: 6 | push: 7 | branches: 8 | - master 9 | jobs: 10 | autoconf: 11 | runs-on: 'ubuntu-22.04' 12 | 13 | steps: 14 | - name: deps 15 | run: | 16 | sudo apt-get -y update 17 | sudo apt-get -y install autoconf 18 | 19 | - uses: actions/checkout@v4 20 | 21 | - name: run autoconf 22 | run: autoconf && autoheader 23 | 24 | - name: check no difference 25 | run: git diff --exit-code 26 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/.github/workflows/outoftree.yml: -------------------------------------------------------------------------------- 1 | # Can be used locally with https://github.com/nektos/act 2 | 3 | name: Out of tree build 4 | on: 5 | pull_request: 6 | workflow_dispatch: 7 | push: 8 | branches: 9 | - master 10 | jobs: 11 | outoftree: 12 | runs-on: 'ubuntu-22.04' 13 | 14 | steps: 15 | - uses: actions/checkout@v4 16 | 17 | - name: build 18 | run: | 19 | mkdir build 20 | cd build 21 | ../configure --enable-fuzz --enable-bundled-libtom --prefix=$PWD/inst 22 | make -j3 23 | make -j3 fuzzstandalone 24 | make install 25 | test -x inst/bin/dbclient 26 | test -f inst/share/man/man8/dropbear.8 27 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | *.o 3 | *.a 4 | *.da 5 | *.bb 6 | *.bbg 7 | *.prof 8 | .*.swp 9 | /obj 10 | /autom4te.cache 11 | /config.log 12 | /config.status 13 | /dbclient 14 | /dropbear 15 | /dropbearconvert 16 | /dropbearkey 17 | /dropbearmulti 18 | /fuzzcorpus 19 | /fuzzer-* 20 | /fuzzer-*.options 21 | /scp 22 | /scp-progress 23 | config.h 24 | default_options_guard.h 25 | localoptions.h 26 | Makefile 27 | tags 28 | .pytest* 29 | *.pyc 30 | /test/venv/ 31 | /test/init/ 32 | /test/fakekey 33 | .vscode/ 34 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/MULTI.md: -------------------------------------------------------------------------------- 1 | ## Multi-Binary Compilation 2 | 3 | To compile for systems without much space (floppy distributions etc), you can create a single binary. 4 | This will save disk space by avoiding repeated code between the various parts. 5 | If you are familiar with BusyBox, it's the same principle. 6 | 7 | To compile the multi-binary, first `make clean` (if you've compiled previously), then 8 | 9 | ```sh 10 | make PROGRAMS="programs you want here" MULTI=1 11 | ``` 12 | 13 | To use the binary, symlink it from the desired executable: 14 | 15 | ```sh 16 | ln -s dropbearmulti dropbear 17 | ln -s dropbearmulti dbclient 18 | ``` 19 | etc. 20 | 21 | Then execute as normal: 22 | 23 | ``` 24 | ./dropbear 25 | ``` 26 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/debian/README.Debian.diet: -------------------------------------------------------------------------------- 1 | Building with the diet libc 2 | --------------------------- 3 | 4 | This package optionally can be built with the diet libc instead of the 5 | glibc to provide small statically linked programs. The resulting package 6 | has no dependency on any other package. 7 | 8 | To use the diet libc, make sure the latest versions of the dietlibc-dev 9 | package is installed, and set DEB_BUILD_OPTIONS=diet in the environment 10 | when building the package, e.g.: 11 | 12 | # apt-get install dietlibc-dev 13 | $ DEB_BUILD_OPTIONS=diet fakeroot apt-get source -b dropbear 14 | 15 | -- Gerrit Pape , Sat, 17 Jul 2004 19:09:34 +0000 16 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/debian/control: -------------------------------------------------------------------------------- 1 | Source: dropbear 2 | Section: net 3 | Priority: optional 4 | Maintainer: Gerrit Pape 5 | Build-Depends: libz-dev 6 | Standards-Version: 3.7.3.0 7 | 8 | Package: dropbear 9 | Architecture: any 10 | Depends: ${shlibs:Depends} 11 | Suggests: openssh-client, runit 12 | Description: lightweight SSH2 server and client 13 | dropbear is a SSH 2 server and client designed to be small enough to 14 | be used in small memory environments, while still being functional and 15 | secure enough for general use. 16 | . 17 | It implements most required features of the SSH 2 protocol, and other 18 | features such as X11 and authentication agent forwarding. 19 | . 20 | See http://matt.ucc.asn.au/dropbear/dropbear.html 21 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/debian/copyright.in: -------------------------------------------------------------------------------- 1 | This package was debianized by Grahame Bowland on 2 | Tue, 17 Jun 2003 15:04:47 +0800, maintained temporarily by Matt Johnston 3 | , and was adopted by Gerrit Pape on 4 | Sun, 16 May 2004 14:38:33 +0000. 5 | 6 | It was downloaded from http://matt.ucc.asn.au/dropbear/ 7 | 8 | Upstream Author: Matt Johnston 9 | 10 | Copyright: 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/debian/dropbear.conffiles: -------------------------------------------------------------------------------- 1 | /etc/init.d/dropbear 2 | /etc/dropbear/run 3 | /etc/dropbear/log/run 4 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/debian/dropbear.default: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfonteyn/Sshd4a/46e9bab35021b212de4123cb1e9473828f78694c/app/src/main/cpp/dropbear/debian/dropbear.default -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/debian/dropbear.docs: -------------------------------------------------------------------------------- 1 | README.md 2 | debian/README.runit 3 | debian/README.Debian.diet 4 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/debian/dropbear.postrm: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | set -e 3 | 4 | test "$1" = 'purge' || exit 0 5 | if test -e /etc/dropbear; then 6 | rm -f /etc/dropbear/dropbear_rsa_host_key 7 | rm -f /etc/dropbear/dropbear_dss_host_key 8 | rmdir --ignore-fail-on-non-empty /etc/dropbear 9 | fi 10 | update-rc.d dropbear remove >/dev/null 11 | rm -f /etc/default/dropbear 12 | rm -rf /etc/dropbear/supervise /etc/dropbear/log/supervise 13 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/debian/dropbear.prerm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | test "$1" = 'remove' || test "$1" = 'deconfigure' || exit 0 5 | if test -x /etc/init.d/dropbear; then 6 | if test -x /usr/sbin/invoke-rc.d; then 7 | invoke-rc.d dropbear stop 8 | else 9 | /etc/init.d/dropbear stop 10 | fi 11 | fi 12 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/debian/service/log: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | exec chpst -udropbearlog svlogd -tt ./main 3 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/debian/service/run: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | exec 2>&1 3 | exec dropbear -d ./dropbear_dss_host_key -r ./dropbear_rsa_host_key -F -E -p 22 4 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/fuzz/fuzzer-client.c: -------------------------------------------------------------------------------- 1 | #include "fuzz.h" 2 | 3 | int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { 4 | return fuzz_run_client(Data, Size, 0); 5 | } 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/fuzz/fuzzer-client_nomaths.c: -------------------------------------------------------------------------------- 1 | #include "fuzz.h" 2 | 3 | int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { 4 | return fuzz_run_client(Data, Size, 1); 5 | } 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/fuzz/fuzzer-postauth_nomaths.c: -------------------------------------------------------------------------------- 1 | #include "fuzz.h" 2 | 3 | int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { 4 | return fuzz_run_server(Data, Size, 1, 1); 5 | } 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/fuzz/fuzzer-preauth.c: -------------------------------------------------------------------------------- 1 | #include "fuzz.h" 2 | 3 | int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { 4 | return fuzz_run_server(Data, Size, 0, 0); 5 | } 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/fuzz/fuzzer-preauth_nomaths.c: -------------------------------------------------------------------------------- 1 | #include "fuzz.h" 2 | 3 | int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { 4 | return fuzz_run_server(Data, Size, 1, 0); 5 | } 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/fuzzers_test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # runs fuzz corpus with standalone fuzzers 4 | 5 | result=0 6 | 7 | test -d fuzzcorpus && hg --repository fuzzcorpus/ pull || hg clone https://hg.ucc.asn.au/dropbear-fuzzcorpus fuzzcorpus || exit 1 8 | for f in `make list-fuzz-targets`; do 9 | # use xargs to split the too-long argument list 10 | # -q quiet because travis has a logfile limit 11 | echo fuzzcorpus/$f/* | xargs -n 1000 ./$f -q || result=1 12 | done 13 | 14 | exit $result 15 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtomcrypt/README: -------------------------------------------------------------------------------- 1 | See doc/crypt.pdf 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtomcrypt/TODO: -------------------------------------------------------------------------------- 1 | for 1.18 2 | - document new ECC functions 3 | - add test for new functions 4 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtomcrypt/check_source.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # output version 4 | bash printinfo.sh 5 | 6 | make clean > /dev/null 7 | 8 | echo "checking..." 9 | ./helper.pl --check-source --check-makefiles --check-defines|| exit 1 10 | 11 | exit 0 12 | 13 | # ref: $Format:%D$ 14 | # git commit: $Format:%H$ 15 | # commit time: $Format:%ai$ 16 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtomcrypt/coverage_more.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | ./sizes 6 | ./constants 7 | 8 | for i in $(for j in $(echo $(./hashsum -h | awk '/Algorithms/,EOF' | tail -n +2)); do echo $j; done | sort); do echo -n "$i: " && ./hashsum -a $i tests/test.key ; done > hashsum_tv.txt 9 | difftroubles=$(diff -i -w -B hashsum_tv.txt notes/hashsum_tv.txt | grep '^<') || true 10 | if [ -n "$difftroubles" ]; then 11 | echo "FAILURE: hashsum_tv.tx" 12 | diff -i -w -B hashsum_tv.txt notes/hashsum_tv.txt 13 | echo "hashsum failed" 14 | exit 1 15 | else 16 | echo "hashsum okay" 17 | fi 18 | 19 | 20 | exit 0 21 | 22 | # ref: $Format:%D$ 23 | # git commit: $Format:%H$ 24 | # commit time: $Format:%ai$ 25 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtomcrypt/demos/small.c: -------------------------------------------------------------------------------- 1 | /* LibTomCrypt, modular cryptographic library -- Tom St Denis 2 | * 3 | * LibTomCrypt is a library that provides various cryptographic 4 | * algorithms in a highly modular and flexible manner. 5 | * 6 | * The library is free for all purposes without any express 7 | * guarantee it works. 8 | */ 9 | /* small demo app that just includes a cipher/hash/prng */ 10 | #include 11 | 12 | int main(void) 13 | { 14 | register_cipher(&rijndael_enc_desc); 15 | register_prng(&yarrow_desc); 16 | register_hash(&sha256_desc); 17 | return 0; 18 | } 19 | 20 | /* ref: $Format:%D$ */ 21 | /* git commit: $Format:%H$ */ 22 | /* commit time: $Format:%ai$ */ 23 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtomcrypt/doc/footer.html: -------------------------------------------------------------------------------- 1 |
2 | Code by Tom
3 | Docs using doxygen 4 | 5 | 6 | 11 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtomcrypt/doc/header.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | LibTomCrypt: Main Page 4 | 5 | 6 | 7 | 8 | 13 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtomcrypt/doc/libtomsm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfonteyn/Sshd4a/46e9bab35021b212de4123cb1e9473828f78694c/app/src/main/cpp/dropbear/libtomcrypt/doc/libtomsm.png -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtomcrypt/filter.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | 3 | # we want to filter every between START_INS and END_INS out and then insert crap from another file (this is fun) 4 | 5 | $dst = shift; 6 | $ins = shift; 7 | 8 | open(SRC,"<$dst"); 9 | open(INS,"<$ins"); 10 | open(TMP,">tmp.delme"); 11 | 12 | $l = 0; 13 | while () { 14 | if ($_ =~ /START_INS/) { 15 | print TMP $_; 16 | $l = 1; 17 | while () { 18 | print TMP $_; 19 | } 20 | close INS; 21 | } elsif ($_ =~ /END_INS/) { 22 | print TMP $_; 23 | $l = 0; 24 | } elsif ($l == 0) { 25 | print TMP $_; 26 | } 27 | } 28 | 29 | close TMP; 30 | close SRC; 31 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtomcrypt/fixupind.pl: -------------------------------------------------------------------------------- 1 | open(IN,"crypt.ind.tmp"); 3 | $a = ; 4 | print OUT "$a\n\\addcontentsline{toc}{chapter}{Index}\n"; 5 | while () { 6 | print OUT $_; 7 | } 8 | close OUT; 9 | close IN; 10 | system("mv -f crypt.ind.tmp crypt.ind"); 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtomcrypt/genlist.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # aes_tab.o is a pseudo object as it's made from aes.o and MPI is optional 3 | export a=`echo -n "src/ciphers/aes/aes_enc.o " ; find . -type f | sort | grep "[.]/src" | grep "[.]c" | grep -v "sha224" | grep -v "sha384" | grep -v "aes_tab" | grep -v "twofish_tab" | grep -v "whirltab" | grep -v "dh_sys" | grep -v "ecc_sys" | grep -v "mpi[.]c" | grep -v "sober128tab" | sed -e 'sE\./EE' | sed -e 's/\.c/\.o/' | xargs` 4 | perl ./parsenames.pl OBJECTS "$a" 5 | export a=`find . -type f | grep [.]/src | grep [.]h | sed -e 'se\./ee' | xargs` 6 | perl ./parsenames.pl HEADERS "$a" 7 | 8 | # $Source: /cvs/libtom/libtomcrypt/genlist.sh,v $ 9 | # $Revision: 1.4 $ 10 | # $Date: 2005/07/17 23:15:12 $ 11 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtomcrypt/mess.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | if cvs log $1 >/dev/null 2>/dev/null; then exit 0; else echo "$1 shouldn't be here, removed"; rm -f $1 ; fi 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtomcrypt/notes/etc/whirltest.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int main(void) 4 | { 5 | char buf[4096]; 6 | int x; 7 | 8 | while (fgets(buf, sizeof(buf)-2, stdin) != NULL) { 9 | for (x = 0; x < 128; ) { 10 | printf("0x%c%c, ", buf[x], buf[x+1]); 11 | if (!((x += 2) & 31)) printf("\n"); 12 | } 13 | } 14 | } 15 | 16 | 17 | /* ref: $Format:%D$ */ 18 | /* git commit: $Format:%H$ */ 19 | /* commit time: $Format:%ai$ */ 20 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtomcrypt/notes/tech0007.txt: -------------------------------------------------------------------------------- 1 | Tech Note #7 2 | Quick building for testing with LTM 3 | 4 | EXTRALIBS=-ltommath CFLAGS="-g3 -DLTC_NO_ASM -DUSE_LTM -DLTM_DESC" make -j3 IGNORE_SPEED=1 test 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtomcrypt/parsenames.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | # 3 | # Splits the list of files and outputs for makefile type files 4 | # wrapped at 80 chars 5 | # 6 | # Tom St Denis 7 | @a = split(" ", $ARGV[1]); 8 | $b = "$ARGV[0]="; 9 | $len = length($b); 10 | print $b; 11 | foreach my $obj (@a) { 12 | $len = $len + length($obj); 13 | $obj =~ s/\*/\$/; 14 | if ($len > 100) { 15 | printf "\\\n"; 16 | $len = length($obj); 17 | } 18 | print "$obj "; 19 | } 20 | if ($ARGV[0] eq "HEADERS") { print "testprof/tomcrypt_test.h"; } 21 | 22 | print "\n\n"; 23 | 24 | # $Source: /cvs/libtom/libtomcrypt/parsenames.pl,v $ 25 | # $Revision: 1.3 $ 26 | # $Date: 2005/05/05 14:49:27 $ 27 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtomcrypt/printinfo.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | version=$(git describe --tags --always --dirty 2>/dev/null) 4 | if [ ! -e ".git" ] || [ -z $version ] 5 | then 6 | version=$(grep "^VERSION=" makefile_include.mk | sed "s/.*=//") 7 | fi 8 | echo "Testing version:" $version 9 | #grep "VERSION=" makefile | perl -e "@a = split('=', <>); print @a[1];"` 10 | 11 | # get uname 12 | echo "uname="`uname -a` 13 | 14 | # get gcc name 15 | if [ -z ${CC} ] 16 | then 17 | CC="gcc" 18 | fi 19 | echo "${CC}="`${CC} -dumpversion` 20 | echo 21 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtomcrypt/src/misc/crypt/crypt_ltc_mp_descriptor.c: -------------------------------------------------------------------------------- 1 | /* LibTomCrypt, modular cryptographic library -- Tom St Denis 2 | * 3 | * LibTomCrypt is a library that provides various cryptographic 4 | * algorithms in a highly modular and flexible manner. 5 | * 6 | * The library is free for all purposes without any express 7 | * guarantee it works. 8 | */ 9 | #include "tomcrypt.h" 10 | 11 | /* Initialize ltc_mp to nulls, to force allocation on all platforms, including macOS. */ 12 | ltc_math_descriptor ltc_mp = { 0 }; 13 | 14 | /* ref: $Format:%D$ */ 15 | /* git commit: $Format:%H$ */ 16 | /* commit time: $Format:%ai$ */ 17 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtomcrypt/src/misc/crypt/crypt_prng_rng_descriptor.c: -------------------------------------------------------------------------------- 1 | /* LibTomCrypt, modular cryptographic library -- Tom St Denis 2 | * 3 | * LibTomCrypt is a library that provides various cryptographic 4 | * algorithms in a highly modular and flexible manner. 5 | * 6 | * The library is free for all purposes without any express 7 | * guarantee it works. 8 | */ 9 | #include "tomcrypt.h" 10 | 11 | #ifdef LTC_PRNG_ENABLE_LTC_RNG 12 | unsigned long (*ltc_rng)(unsigned char *out, unsigned long outlen, void (*callback)(void)); 13 | #endif 14 | 15 | /* ref: $Format:%D$ */ 16 | /* git commit: $Format:%H$ */ 17 | /* commit time: $Format:%ai$ */ 18 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtomcrypt/testbuild.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # output version 4 | bash printinfo.sh 5 | 6 | echo "$1 (Build Only, $2, $3)..." 7 | make clean 1>/dev/null 2>/dev/null 8 | echo -n "building..." 9 | touch testok.txt 10 | CFLAGS="$2 $CFLAGS $4" EXTRALIBS="$5" make -f $3 test tv_gen 1>gcc_1.txt 2>gcc_2.txt || (echo "build $1 failed see gcc_2.txt for more information" && cat gcc_2.txt && rm -f testok.txt && exit 1) 11 | if find testok.txt -type f 1>/dev/null 2>/dev/null ; then 12 | echo "successful" 13 | exit 0 14 | fi 15 | exit 1 16 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtomcrypt/testprof/base64_test.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int base64_test(void) 4 | { 5 | unsigned char in[64], out[256], tmp[64]; 6 | unsigned long x, l1, l2; 7 | 8 | for (x = 0; x < 64; x++) { 9 | yarrow_read(in, x, &yarrow_prng); 10 | l1 = sizeof(out); 11 | DO(base64_encode(in, x, out, &l1)); 12 | l2 = sizeof(tmp); 13 | DO(base64_decode(out, l1, tmp, &l2)); 14 | if (l2 != x || memcmp(tmp, in, x)) { 15 | fprintf(stderr, "base64 failed %lu %lu %lu", x, l1, l2); 16 | return 1; 17 | } 18 | } 19 | return 0; 20 | } 21 | 22 | /* $Source$ */ 23 | /* $Revision$ */ 24 | /* $Date$ */ 25 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtomcrypt/testprof/makefile.icc: -------------------------------------------------------------------------------- 1 | CFLAGS += -I../src/headers -I./ 2 | CC=icc 3 | 4 | OBJECTS = base64_test.o cipher_hash_test.o der_tests.o \ 5 | dsa_test.o ecc_test.o mac_test.o modes_test.o pkcs_1_test.o rsa_test.o \ 6 | store_test.o test_driver.o x86_prof.o katja_test.o 7 | 8 | ifndef LIBTEST_S 9 | LIBTEST_S = libtomcrypt_prof.a 10 | endif 11 | 12 | default: $(LIBTEST_S) 13 | 14 | $(LIBTEST_S): $(OBJECTS) 15 | $(AR) $(ARFLAGS) $@ $(OBJECTS) 16 | ranlib $@ 17 | 18 | clean: 19 | rm -f *.o *.a 20 | 21 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtomcrypt/testprof/makefile.msvc: -------------------------------------------------------------------------------- 1 | CFLAGS = /I../src/headers/ /I./ /Ox /DWIN32 /DLTC_SOURCE /W3 /Fo$@ 2 | 3 | OBJECTS=base64_test.obj cipher_hash_test.obj der_tests.obj \ 4 | dsa_test.obj ecc_test.obj mac_test.obj modes_test.obj pkcs_1_test.obj \ 5 | rsa_test.obj store_test.obj test_driver.obj x86_prof.obj katja_test.obj 6 | 7 | tomcrypt_prof.lib: $(OBJECTS) 8 | lib /out:tomcrypt_prof.lib $(OBJECTS) 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtomcrypt/testprof/test.der: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfonteyn/Sshd4a/46e9bab35021b212de4123cb1e9473828f78694c/app/src/main/cpp/dropbear/libtomcrypt/testprof/test.der -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtomcrypt/testprof/test_driver.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | void run_cmd(int res, int line, char *file, char *cmd) 4 | { 5 | if (res != CRYPT_OK) { 6 | fprintf(stderr, "%s (%d)\n%s:%d:%s\n", error_to_string(res), res, file, line, cmd); 7 | if (res != CRYPT_NOP) { 8 | exit(EXIT_FAILURE); 9 | } 10 | } 11 | } 12 | 13 | /* $Source$ */ 14 | /* $Revision$ */ 15 | /* $Date$ */ 16 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtomcrypt/tests/test.der: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfonteyn/Sshd4a/46e9bab35021b212de4123cb1e9473828f78694c/app/src/main/cpp/dropbear/libtomcrypt/tests/test.der -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtomcrypt/tests/test_dsa.key: -------------------------------------------------------------------------------- 1 | -----BEGIN DSA PRIVATE KEY----- 2 | MIIBuwIBAAKBgQDFCjdRXKvWGNWicL1Kb2tK+eE5lQ8rmTh9mmTWTLWWetztrKis 3 | xhtlWt7bAGElGhgs7qEHkGJeTRIxkMcDIfoJ57Fz146v2/2/s++t0aEqA23nBpJK 4 | hSr/egFmUx/qxmdBhFrAbO1i+cJiYgWk+kigZuw1yagR/rmBq+6+Mba/zwIVAKpb 5 | 1/TlBiQT5Yg1ygDHpjVxYZTFAoGAO5Lk/1kpFQsImVp78q0UQFVvoEf/kJmzRLPU 6 | /EUVBa5nIkOcujcQpYlHN+zM9a6tqLR6Ncudk1zt5rB+lpTEpgx91nCKCU+BSg7C 7 | E/vrFr/qpPRW/3IwBd6KRD++xoUmVdYtHR7bFdqkRYM8F5eYC42H80kNkL2pq2du 8 | h2hyI9wCgYBTFrD7v1mKXlWVwU+sQ7gIU+bPDZIj+rGEWVI5v8vyLTg63ZNSBUl+ 9 | KxLEYXPjb1S9luWnqqlaWKS3Z9LAvcgesToST5jABe85XWq6tws72LeV3XluotKE 10 | c0cDiLRk2bm4T/HJNLv5c2b1fC4R/sMx5gg4WWeB621BJ9cNdK+gNQIVAJk25eTp 11 | +yi+kfUGX+jJNbP12B/F 12 | -----END DSA PRIVATE KEY----- 13 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtomcrypt/updatemakes.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ./helper.pl --update-makefiles || exit 1 4 | 5 | makefiles=(makefile makefile_include.mk makefile.shared makefile.unix makefile.mingw makefile.msvc) 6 | vcproj=(libtomcrypt_VS2008.vcproj) 7 | 8 | if [ $# -eq 1 ] && [ "$1" == "-c" ]; then 9 | git add ${makefiles[@]} ${vcproj[@]} doc/Doxyfile && git commit -m 'Update makefiles' 10 | fi 11 | 12 | exit 0 13 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/astylerc: -------------------------------------------------------------------------------- 1 | # Artistic Style, see http://astyle.sourceforge.net/ 2 | # full documentation, see: http://astyle.sourceforge.net/astyle.html 3 | # 4 | # usage: 5 | # astyle --options=astylerc *.[ch] 6 | 7 | # Do not create backup, annonying in the times of git 8 | suffix=none 9 | 10 | ## Bracket Style Options 11 | style=kr 12 | 13 | ## Tab Options 14 | indent=spaces=3 15 | 16 | ## Bracket Modify Options 17 | 18 | ## Indentation Options 19 | min-conditional-indent=0 20 | 21 | ## Padding Options 22 | pad-header 23 | unpad-paren 24 | align-pointer=name 25 | 26 | ## Formatting Options 27 | break-after-logical 28 | max-code-length=120 29 | convert-tabs 30 | mode=c 31 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_cutoffs.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_CUTOFFS_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | #ifndef MP_FIXED_CUTOFFS 7 | #include "tommath_cutoffs.h" 8 | int KARATSUBA_MUL_CUTOFF = MP_DEFAULT_KARATSUBA_MUL_CUTOFF, 9 | KARATSUBA_SQR_CUTOFF = MP_DEFAULT_KARATSUBA_SQR_CUTOFF, 10 | TOOM_MUL_CUTOFF = MP_DEFAULT_TOOM_MUL_CUTOFF, 11 | TOOM_SQR_CUTOFF = MP_DEFAULT_TOOM_SQR_CUTOFF; 12 | #endif 13 | 14 | #endif 15 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_abs.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_ABS_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | /* b = |a| 7 | * 8 | * Simple function copies the input and fixes the sign to positive 9 | */ 10 | mp_err mp_abs(const mp_int *a, mp_int *b) 11 | { 12 | mp_err err; 13 | 14 | /* copy a to b */ 15 | if (a != b) { 16 | if ((err = mp_copy(a, b)) != MP_OKAY) { 17 | return err; 18 | } 19 | } 20 | 21 | /* force the sign of b to positive */ 22 | b->sign = MP_ZPOS; 23 | 24 | return MP_OKAY; 25 | } 26 | #endif 27 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_addmod.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_ADDMOD_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | /* d = a + b (mod c) */ 7 | mp_err mp_addmod(const mp_int *a, const mp_int *b, const mp_int *c, mp_int *d) 8 | { 9 | mp_err err; 10 | mp_int t; 11 | 12 | if ((err = mp_init(&t)) != MP_OKAY) { 13 | return err; 14 | } 15 | 16 | if ((err = mp_add(a, b, &t)) != MP_OKAY) { 17 | goto LBL_ERR; 18 | } 19 | err = mp_mod(&t, c, d); 20 | 21 | LBL_ERR: 22 | mp_clear(&t); 23 | return err; 24 | } 25 | #endif 26 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_clear.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_CLEAR_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | /* clear one (frees) */ 7 | void mp_clear(mp_int *a) 8 | { 9 | /* only do anything if a hasn't been freed previously */ 10 | if (a->dp != NULL) { 11 | /* free ram */ 12 | MP_FREE_DIGITS(a->dp, a->alloc); 13 | 14 | /* reset members to make debugging easier */ 15 | a->dp = NULL; 16 | a->alloc = a->used = 0; 17 | a->sign = MP_ZPOS; 18 | } 19 | } 20 | #endif 21 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_clear_multi.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_CLEAR_MULTI_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | #include 7 | 8 | void mp_clear_multi(mp_int *mp, ...) 9 | { 10 | mp_int *next_mp = mp; 11 | va_list args; 12 | va_start(args, mp); 13 | while (next_mp != NULL) { 14 | mp_clear(next_mp); 15 | next_mp = va_arg(args, mp_int *); 16 | } 17 | va_end(args); 18 | } 19 | #endif 20 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_cmp.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_CMP_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | /* compare two ints (signed)*/ 7 | mp_ord mp_cmp(const mp_int *a, const mp_int *b) 8 | { 9 | /* compare based on sign */ 10 | if (a->sign != b->sign) { 11 | if (a->sign == MP_NEG) { 12 | return MP_LT; 13 | } else { 14 | return MP_GT; 15 | } 16 | } 17 | 18 | /* compare digits */ 19 | if (a->sign == MP_NEG) { 20 | /* if negative compare opposite direction */ 21 | return mp_cmp_mag(b, a); 22 | } else { 23 | return mp_cmp_mag(a, b); 24 | } 25 | } 26 | #endif 27 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_cmp_d.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_CMP_D_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | /* compare a digit */ 7 | mp_ord mp_cmp_d(const mp_int *a, mp_digit b) 8 | { 9 | /* compare based on sign */ 10 | if (a->sign == MP_NEG) { 11 | return MP_LT; 12 | } 13 | 14 | /* compare based on magnitude */ 15 | if (a->used > 1) { 16 | return MP_GT; 17 | } 18 | 19 | /* compare the only digit of a to b */ 20 | if (a->dp[0] > b) { 21 | return MP_GT; 22 | } else if (a->dp[0] < b) { 23 | return MP_LT; 24 | } else { 25 | return MP_EQ; 26 | } 27 | } 28 | #endif 29 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_complement.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_COMPLEMENT_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | /* b = ~a */ 7 | mp_err mp_complement(const mp_int *a, mp_int *b) 8 | { 9 | mp_err err = mp_neg(a, b); 10 | return (err == MP_OKAY) ? mp_sub_d(b, 1uL, b) : err; 11 | } 12 | #endif 13 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_count_bits.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_COUNT_BITS_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | /* returns the number of bits in an int */ 7 | int mp_count_bits(const mp_int *a) 8 | { 9 | int r; 10 | mp_digit q; 11 | 12 | /* shortcut */ 13 | if (MP_IS_ZERO(a)) { 14 | return 0; 15 | } 16 | 17 | /* get number of digits and add that */ 18 | r = (a->used - 1) * MP_DIGIT_BIT; 19 | 20 | /* take the last digit and count the bits in it */ 21 | q = a->dp[a->used - 1]; 22 | while (q > 0u) { 23 | ++r; 24 | q >>= 1u; 25 | } 26 | return r; 27 | } 28 | #endif 29 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_dr_setup.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_DR_SETUP_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | /* determines the setup value */ 7 | void mp_dr_setup(const mp_int *a, mp_digit *d) 8 | { 9 | /* the casts are required if MP_DIGIT_BIT is one less than 10 | * the number of bits in a mp_digit [e.g. MP_DIGIT_BIT==31] 11 | */ 12 | *d = (mp_digit)(((mp_word)1 << (mp_word)MP_DIGIT_BIT) - (mp_word)a->dp[0]); 13 | } 14 | 15 | #endif 16 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_exch.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_EXCH_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | /* swap the elements of two integers, for cases where you can't simply swap the 7 | * mp_int pointers around 8 | */ 9 | void mp_exch(mp_int *a, mp_int *b) 10 | { 11 | mp_int t; 12 | 13 | t = *a; 14 | *a = *b; 15 | *b = t; 16 | } 17 | #endif 18 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_get_i32.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_GET_I32_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | MP_GET_SIGNED(mp_get_i32, mp_get_mag_u32, int32_t, uint32_t) 7 | #endif 8 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_get_i64.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_GET_I64_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | MP_GET_SIGNED(mp_get_i64, mp_get_mag_u64, int64_t, uint64_t) 7 | #endif 8 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_get_l.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_GET_L_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | MP_GET_SIGNED(mp_get_l, mp_get_mag_ul, long, unsigned long) 7 | #endif 8 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_get_ll.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_GET_LL_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | MP_GET_SIGNED(mp_get_ll, mp_get_mag_ull, long long, unsigned long long) 7 | #endif 8 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_get_mag_u32.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_GET_MAG_U32_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | MP_GET_MAG(mp_get_mag_u32, uint32_t) 7 | #endif 8 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_get_mag_u64.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_GET_MAG_U64_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | MP_GET_MAG(mp_get_mag_u64, uint64_t) 7 | #endif 8 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_get_mag_ul.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_GET_MAG_UL_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | MP_GET_MAG(mp_get_mag_ul, unsigned long) 7 | #endif 8 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_get_mag_ull.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_GET_MAG_ULL_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | MP_GET_MAG(mp_get_mag_ull, unsigned long long) 7 | #endif 8 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_init.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_INIT_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | /* init a new mp_int */ 7 | mp_err mp_init(mp_int *a) 8 | { 9 | /* allocate memory required and clear it */ 10 | a->dp = (mp_digit *) MP_CALLOC((size_t)MP_PREC, sizeof(mp_digit)); 11 | if (a->dp == NULL) { 12 | return MP_MEM; 13 | } 14 | 15 | /* set the used to zero, allocated digits to the default precision 16 | * and sign to positive */ 17 | a->used = 0; 18 | a->alloc = MP_PREC; 19 | a->sign = MP_ZPOS; 20 | 21 | return MP_OKAY; 22 | } 23 | #endif 24 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_init_copy.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_INIT_COPY_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | /* creates "a" then copies b into it */ 7 | mp_err mp_init_copy(mp_int *a, const mp_int *b) 8 | { 9 | mp_err err; 10 | 11 | if ((err = mp_init_size(a, b->used)) != MP_OKAY) { 12 | return err; 13 | } 14 | 15 | if ((err = mp_copy(b, a)) != MP_OKAY) { 16 | mp_clear(a); 17 | } 18 | 19 | return err; 20 | } 21 | #endif 22 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_init_i32.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_INIT_I32_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | MP_INIT_INT(mp_init_i32, mp_set_i32, int32_t) 7 | #endif 8 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_init_i64.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_INIT_I64_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | MP_INIT_INT(mp_init_i64, mp_set_i64, int64_t) 7 | #endif 8 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_init_l.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_INIT_L_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | MP_INIT_INT(mp_init_l, mp_set_l, long) 7 | #endif 8 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_init_ll.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_INIT_LL_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | MP_INIT_INT(mp_init_ll, mp_set_ll, long long) 7 | #endif 8 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_init_set.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_INIT_SET_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | /* initialize and set a digit */ 7 | mp_err mp_init_set(mp_int *a, mp_digit b) 8 | { 9 | mp_err err; 10 | if ((err = mp_init(a)) != MP_OKAY) { 11 | return err; 12 | } 13 | mp_set(a, b); 14 | return err; 15 | } 16 | #endif 17 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_init_size.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_INIT_SIZE_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | /* init an mp_init for a given size */ 7 | mp_err mp_init_size(mp_int *a, int size) 8 | { 9 | 10 | if (size < 0) { 11 | return MP_VAL; 12 | } 13 | 14 | size = MP_MAX(MP_MIN_PREC, size); 15 | 16 | /* alloc mem */ 17 | a->dp = (mp_digit *) MP_CALLOC((size_t)size, sizeof(mp_digit)); 18 | if (a->dp == NULL) { 19 | return MP_MEM; 20 | } 21 | 22 | /* set the members */ 23 | a->used = 0; 24 | a->alloc = size; 25 | a->sign = MP_ZPOS; 26 | 27 | return MP_OKAY; 28 | } 29 | #endif 30 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_init_u32.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_INIT_U32_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | MP_INIT_INT(mp_init_u32, mp_set_u32, uint32_t) 7 | #endif 8 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_init_u64.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_INIT_U64_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | MP_INIT_INT(mp_init_u64, mp_set_u64, uint64_t) 7 | #endif 8 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_init_ul.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_INIT_UL_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | MP_INIT_INT(mp_init_ul, mp_set_ul, unsigned long) 7 | #endif 8 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_init_ull.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_INIT_ULL_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | MP_INIT_INT(mp_init_ull, mp_set_ull, unsigned long long) 7 | #endif 8 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_iseven.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_ISEVEN_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | mp_bool mp_iseven(const mp_int *a) 7 | { 8 | return MP_IS_EVEN(a) ? MP_YES : MP_NO; 9 | } 10 | #endif 11 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_isodd.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_ISODD_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | mp_bool mp_isodd(const mp_int *a) 7 | { 8 | return MP_IS_ODD(a) ? MP_YES : MP_NO; 9 | } 10 | #endif 11 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_mod_d.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_MOD_D_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | mp_err mp_mod_d(const mp_int *a, mp_digit b, mp_digit *c) 7 | { 8 | return mp_div_d(a, b, NULL, c); 9 | } 10 | #endif 11 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_mulmod.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_MULMOD_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | /* d = a * b (mod c) */ 7 | mp_err mp_mulmod(const mp_int *a, const mp_int *b, const mp_int *c, mp_int *d) 8 | { 9 | mp_err err; 10 | mp_int t; 11 | 12 | if ((err = mp_init_size(&t, c->used)) != MP_OKAY) { 13 | return err; 14 | } 15 | 16 | if ((err = mp_mul(a, b, &t)) != MP_OKAY) { 17 | goto LBL_ERR; 18 | } 19 | err = mp_mod(&t, c, d); 20 | 21 | LBL_ERR: 22 | mp_clear(&t); 23 | return err; 24 | } 25 | #endif 26 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_neg.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_NEG_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | /* b = -a */ 7 | mp_err mp_neg(const mp_int *a, mp_int *b) 8 | { 9 | mp_err err; 10 | if (a != b) { 11 | if ((err = mp_copy(a, b)) != MP_OKAY) { 12 | return err; 13 | } 14 | } 15 | 16 | if (!MP_IS_ZERO(b)) { 17 | b->sign = (a->sign == MP_ZPOS) ? MP_NEG : MP_ZPOS; 18 | } else { 19 | b->sign = MP_ZPOS; 20 | } 21 | 22 | return MP_OKAY; 23 | } 24 | #endif 25 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_pack_count.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_PACK_COUNT_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | size_t mp_pack_count(const mp_int *a, size_t nails, size_t size) 7 | { 8 | size_t bits = (size_t)mp_count_bits(a); 9 | return ((bits / ((size * 8u) - nails)) + (((bits % ((size * 8u) - nails)) != 0u) ? 1u : 0u)); 10 | } 11 | 12 | #endif 13 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_reduce_2k_setup_l.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_REDUCE_2K_SETUP_L_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | /* determines the setup value */ 7 | mp_err mp_reduce_2k_setup_l(const mp_int *a, mp_int *d) 8 | { 9 | mp_err err; 10 | mp_int tmp; 11 | 12 | if ((err = mp_init(&tmp)) != MP_OKAY) { 13 | return err; 14 | } 15 | 16 | if ((err = mp_2expt(&tmp, mp_count_bits(a))) != MP_OKAY) { 17 | goto LBL_ERR; 18 | } 19 | 20 | if ((err = s_mp_sub(&tmp, a, d)) != MP_OKAY) { 21 | goto LBL_ERR; 22 | } 23 | 24 | LBL_ERR: 25 | mp_clear(&tmp); 26 | return err; 27 | } 28 | #endif 29 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_reduce_setup.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_REDUCE_SETUP_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | /* pre-calculate the value required for Barrett reduction 7 | * For a given modulus "b" it calulates the value required in "a" 8 | */ 9 | mp_err mp_reduce_setup(mp_int *a, const mp_int *b) 10 | { 11 | mp_err err; 12 | if ((err = mp_2expt(a, b->used * 2 * MP_DIGIT_BIT)) != MP_OKAY) { 13 | return err; 14 | } 15 | return mp_div(a, b, a, NULL); 16 | } 17 | #endif 18 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_sbin_size.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_SBIN_SIZE_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | /* get the size for an signed equivalent */ 7 | size_t mp_sbin_size(const mp_int *a) 8 | { 9 | return 1u + mp_ubin_size(a); 10 | } 11 | #endif 12 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_set.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_SET_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | /* set to a digit */ 7 | void mp_set(mp_int *a, mp_digit b) 8 | { 9 | a->dp[0] = b & MP_MASK; 10 | a->sign = MP_ZPOS; 11 | a->used = (a->dp[0] != 0u) ? 1 : 0; 12 | MP_ZERO_DIGITS(a->dp + a->used, a->alloc - a->used); 13 | } 14 | #endif 15 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_set_i32.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_SET_I32_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | MP_SET_SIGNED(mp_set_i32, mp_set_u32, int32_t, uint32_t) 7 | #endif 8 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_set_i64.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_SET_I64_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | MP_SET_SIGNED(mp_set_i64, mp_set_u64, int64_t, uint64_t) 7 | #endif 8 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_set_l.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_SET_L_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | MP_SET_SIGNED(mp_set_l, mp_set_ul, long, unsigned long) 7 | #endif 8 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_set_ll.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_SET_LL_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | MP_SET_SIGNED(mp_set_ll, mp_set_ull, long long, unsigned long long) 7 | #endif 8 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_set_u32.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_SET_U32_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | MP_SET_UNSIGNED(mp_set_u32, uint32_t) 7 | #endif 8 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_set_u64.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_SET_U64_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | MP_SET_UNSIGNED(mp_set_u64, uint64_t) 7 | #endif 8 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_set_ul.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_SET_UL_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | MP_SET_UNSIGNED(mp_set_ul, unsigned long) 7 | #endif 8 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_set_ull.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_SET_ULL_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | MP_SET_UNSIGNED(mp_set_ull, unsigned long long) 7 | #endif 8 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_shrink.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_SHRINK_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | /* shrink a bignum */ 7 | mp_err mp_shrink(mp_int *a) 8 | { 9 | mp_digit *tmp; 10 | int alloc = MP_MAX(MP_MIN_PREC, a->used); 11 | if (a->alloc != alloc) { 12 | if ((tmp = (mp_digit *) MP_REALLOC(a->dp, 13 | (size_t)a->alloc * sizeof(mp_digit), 14 | (size_t)alloc * sizeof(mp_digit))) == NULL) { 15 | return MP_MEM; 16 | } 17 | a->dp = tmp; 18 | a->alloc = alloc; 19 | } 20 | return MP_OKAY; 21 | } 22 | #endif 23 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_signed_rsh.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_SIGNED_RSH_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | /* shift right by a certain bit count with sign extension */ 7 | mp_err mp_signed_rsh(const mp_int *a, int b, mp_int *c) 8 | { 9 | mp_err res; 10 | if (a->sign == MP_ZPOS) { 11 | return mp_div_2d(a, b, c, NULL); 12 | } 13 | 14 | res = mp_add_d(a, 1uL, c); 15 | if (res != MP_OKAY) { 16 | return res; 17 | } 18 | 19 | res = mp_div_2d(c, b, c, NULL); 20 | return (res == MP_OKAY) ? mp_sub_d(c, 1uL, c) : res; 21 | } 22 | #endif 23 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_sqrmod.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_SQRMOD_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | /* c = a * a (mod b) */ 7 | mp_err mp_sqrmod(const mp_int *a, const mp_int *b, mp_int *c) 8 | { 9 | mp_err err; 10 | mp_int t; 11 | 12 | if ((err = mp_init(&t)) != MP_OKAY) { 13 | return err; 14 | } 15 | 16 | if ((err = mp_sqr(a, &t)) != MP_OKAY) { 17 | goto LBL_ERR; 18 | } 19 | err = mp_mod(&t, b, c); 20 | 21 | LBL_ERR: 22 | mp_clear(&t); 23 | return err; 24 | } 25 | #endif 26 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_submod.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_SUBMOD_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | /* d = a - b (mod c) */ 7 | mp_err mp_submod(const mp_int *a, const mp_int *b, const mp_int *c, mp_int *d) 8 | { 9 | mp_err err; 10 | mp_int t; 11 | 12 | if ((err = mp_init(&t)) != MP_OKAY) { 13 | return err; 14 | } 15 | 16 | if ((err = mp_sub(a, b, &t)) != MP_OKAY) { 17 | goto LBL_ERR; 18 | } 19 | err = mp_mod(&t, c, d); 20 | 21 | LBL_ERR: 22 | mp_clear(&t); 23 | return err; 24 | } 25 | #endif 26 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_to_sbin.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_TO_SBIN_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | /* store in signed [big endian] format */ 7 | mp_err mp_to_sbin(const mp_int *a, unsigned char *buf, size_t maxlen, size_t *written) 8 | { 9 | mp_err err; 10 | if (maxlen == 0u) { 11 | return MP_BUF; 12 | } 13 | if ((err = mp_to_ubin(a, buf + 1, maxlen - 1u, written)) != MP_OKAY) { 14 | return err; 15 | } 16 | if (written != NULL) { 17 | (*written)++; 18 | } 19 | buf[0] = (a->sign == MP_ZPOS) ? (unsigned char)0 : (unsigned char)1; 20 | return MP_OKAY; 21 | } 22 | #endif 23 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_ubin_size.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_UBIN_SIZE_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | /* get the size for an unsigned equivalent */ 7 | size_t mp_ubin_size(const mp_int *a) 8 | { 9 | size_t size = (size_t)mp_count_bits(a); 10 | return (size / 8u) + (((size & 7u) != 0u) ? 1u : 0u); 11 | } 12 | #endif 13 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_mp_zero.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_MP_ZERO_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | /* set to zero */ 7 | void mp_zero(mp_int *a) 8 | { 9 | a->sign = MP_ZPOS; 10 | a->used = 0; 11 | MP_ZERO_DIGITS(a->dp, a->alloc); 12 | } 13 | #endif 14 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_s_mp_get_bit.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_S_MP_GET_BIT_C 3 | 4 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 5 | /* SPDX-License-Identifier: Unlicense */ 6 | 7 | /* Get bit at position b and return MP_YES if the bit is 1, MP_NO if it is 0 */ 8 | mp_bool s_mp_get_bit(const mp_int *a, unsigned int b) 9 | { 10 | mp_digit bit; 11 | int limb = (int)(b / MP_DIGIT_BIT); 12 | 13 | if (limb >= a->used) { 14 | return MP_NO; 15 | } 16 | 17 | bit = (mp_digit)1 << (b % MP_DIGIT_BIT); 18 | return ((a->dp[limb] & bit) != 0u) ? MP_YES : MP_NO; 19 | } 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/bn_s_mp_reverse.c: -------------------------------------------------------------------------------- 1 | #include "tommath_private.h" 2 | #ifdef BN_S_MP_REVERSE_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 4 | /* SPDX-License-Identifier: Unlicense */ 5 | 6 | /* reverse an array, used for radix code */ 7 | void s_mp_reverse(unsigned char *s, size_t len) 8 | { 9 | size_t ix, iy; 10 | unsigned char t; 11 | 12 | ix = 0u; 13 | iy = len - 1u; 14 | while (ix < iy) { 15 | t = s[ix]; 16 | s[ix] = s[iy]; 17 | s[iy] = t; 18 | ++ix; 19 | --iy; 20 | } 21 | } 22 | #endif 23 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/libtommath/tommath_cutoffs.h: -------------------------------------------------------------------------------- 1 | /* LibTomMath, multiple-precision integer library -- Tom St Denis */ 2 | /* SPDX-License-Identifier: Unlicense */ 3 | /* 4 | Current values evaluated on an AMD A8-6600K (64-bit). 5 | Type "make tune" to optimize them for your machine but 6 | be aware that it may take a long time. It took 2:30 minutes 7 | on the aforementioned machine for example. 8 | */ 9 | 10 | #define MP_DEFAULT_KARATSUBA_MUL_CUTOFF 80 11 | #define MP_DEFAULT_KARATSUBA_SQR_CUTOFF 120 12 | #define MP_DEFAULT_TOOM_MUL_CUTOFF 350 13 | #define MP_DEFAULT_TOOM_SQR_CUTOFF 400 14 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/src/crypto_desc.h: -------------------------------------------------------------------------------- 1 | #ifndef DROPBEAR_CRYPTO_DESC_H 2 | #define DROPBEAR_CRYPTO_DESC_H 3 | 4 | void crypto_init(void); 5 | 6 | extern int dropbear_ltc_prng; 7 | 8 | #endif /* DROPBEAR_CRYPTO_DESC_H */ 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/src/dbhelpers.c: -------------------------------------------------------------------------------- 1 | #include "dbhelpers.h" 2 | #include "includes.h" 3 | 4 | /* Erase data */ 5 | void m_burn(void *data, unsigned int len) { 6 | 7 | #if defined(HAVE_MEMSET_S) 8 | memset_s(data, len, 0x0, len); 9 | #elif defined(HAVE_EXPLICIT_BZERO) 10 | explicit_bzero(data, len); 11 | #else 12 | /* This must be volatile to avoid compiler optimisation */ 13 | volatile void *p = data; 14 | memset((void*)p, 0x0, len); 15 | #endif 16 | } 17 | 18 | 19 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/src/dbhelpers.h: -------------------------------------------------------------------------------- 1 | #ifndef DROPBEAR_DBHELPERS_H_ 2 | #define DROPBEAR_DBHELPERS_H_ 3 | 4 | /* This header defines some things that are also used by libtomcrypt/math. 5 | We avoid including normal include.h since that can result in conflicting 6 | definitions - only include config.h */ 7 | #include "config.h" 8 | 9 | #ifdef __GNUC__ 10 | #define ATTRIB_PRINTF(fmt,args) __attribute__((format(printf, fmt, args))) 11 | #define ATTRIB_NORETURN __attribute__((noreturn)) 12 | #define ATTRIB_SENTINEL __attribute__((sentinel)) 13 | #else 14 | #define ATTRIB_PRINTF(fmt,args) 15 | #define ATTRIB_NORETURN 16 | #define ATTRIB_SENTINEL 17 | #endif 18 | 19 | void m_burn(void* data, unsigned int len); 20 | 21 | #endif /* DROPBEAR_DBHELPERS_H_ */ 22 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/src/dbmalloc.h: -------------------------------------------------------------------------------- 1 | #ifndef DBMALLOC_H_ 2 | #define DBMALLOC_H_ 3 | 4 | #include "options.h" 5 | #include 6 | #include 7 | 8 | void * m_malloc(size_t size); 9 | void * m_calloc(size_t nmemb, size_t size); 10 | void * m_strdup(const char * str); 11 | void * m_realloc(void* ptr, size_t size); 12 | 13 | #if DROPBEAR_TRACKING_MALLOC 14 | void m_free_direct(void* ptr); 15 | void m_malloc_set_epoch(unsigned int epoch); 16 | void m_malloc_free_epoch(unsigned int epoch, int dofree); 17 | 18 | #else 19 | /* plain wrapper */ 20 | #define m_free_direct free 21 | 22 | #endif 23 | 24 | #define m_free(X) do {m_free_direct(X); (X) = NULL;} while (0) 25 | 26 | 27 | #endif /* DBMALLOC_H_ */ 28 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/src/dh_groups.h: -------------------------------------------------------------------------------- 1 | #ifndef DROPBEAR_DH_GROUPS_H 2 | #define DROPBEAR_DH_GROUPS_H 3 | #include "options.h" 4 | 5 | #if DROPBEAR_NORMAL_DH 6 | 7 | #if DROPBEAR_DH_GROUP1 8 | #define DH_P_1_LEN 128 9 | extern const unsigned char dh_p_1[DH_P_1_LEN]; 10 | #endif 11 | 12 | #if DROPBEAR_DH_GROUP14 13 | #define DH_P_14_LEN 256 14 | extern const unsigned char dh_p_14[DH_P_14_LEN]; 15 | #endif 16 | 17 | #if DROPBEAR_DH_GROUP16 18 | #define DH_P_16_LEN 512 19 | extern const unsigned char dh_p_16[DH_P_16_LEN]; 20 | #endif 21 | 22 | extern const int DH_G_VAL; 23 | 24 | #endif /* DROPBEAR_NORMAL_DH */ 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/src/dropbear_lint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | EXITCODE=0 4 | 5 | # #ifdef instead of #if 6 | grep '#ifdef DROPBEAR' -I -- *.c *.h && EXITCODE=1 7 | 8 | exit $EXITCODE 9 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/src/gensignkey.h: -------------------------------------------------------------------------------- 1 | #ifndef DROPBEAR_GENSIGNKEY_H 2 | #define DROPBEAR_GENSIGNKEY_H 3 | 4 | #include "signkey.h" 5 | 6 | int signkey_generate(enum signkey_type type, int bits, const char* filename, int skip_exist); 7 | int signkey_generate_get_bits(enum signkey_type keytype, int bits); 8 | 9 | #endif 10 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/src/ifndef_wrapper.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Wrap all "#define X Y" with a #ifndef X...#endif" 4 | 5 | sed 's/^\( *#define \([^ ][^ ]*\) .*\)/#ifndef \2\ 6 | \1\ 7 | #endif/' 8 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/src/list.h: -------------------------------------------------------------------------------- 1 | #ifndef DROPBEAR_DROPBEAR_LIST_H 2 | #define DROPBEAR_DROPBEAR_LIST_H 3 | 4 | struct _m_list; 5 | 6 | struct _m_list_elem { 7 | void *item; 8 | struct _m_list_elem *next; 9 | struct _m_list_elem *prev; 10 | struct _m_list *list; 11 | }; 12 | 13 | typedef struct _m_list_elem m_list_elem; 14 | 15 | struct _m_list { 16 | m_list_elem *first; 17 | m_list_elem *last; 18 | }; 19 | 20 | typedef struct _m_list m_list; 21 | 22 | m_list * list_new(void); 23 | void list_append(m_list *list, void *item); 24 | /* returns the item for the element removed */ 25 | void * list_remove(m_list_elem *elem); 26 | 27 | 28 | #endif /* DROPBEAR_DROPBEAR_LIST_H */ 29 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/src/ltc_prng.h: -------------------------------------------------------------------------------- 1 | #ifndef DROPBEAR_LTC_PRNG_H_DROPBEAR 2 | #define DROPBEAR_LTC_PRNG_H_DROPBEAR 3 | 4 | #include "includes.h" 5 | 6 | #if DROPBEAR_LTC_PRNG 7 | 8 | extern const struct ltc_prng_descriptor dropbear_prng_desc; 9 | 10 | #endif /* DROPBEAR_LTC_PRNG */ 11 | 12 | #endif /* DROPBEAR_LTC_PRNG_H_DROPBEAR */ 13 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/src/mlkem768.h: -------------------------------------------------------------------------------- 1 | #ifndef MLKEM768_H 2 | #define MLKEM768_H 3 | #define crypto_kem_mlkem768_PUBLICKEYBYTES 1184 4 | #define crypto_kem_mlkem768_SECRETKEYBYTES 2400 5 | #define crypto_kem_mlkem768_CIPHERTEXTBYTES 1088 6 | #define crypto_kem_mlkem768_BYTES 32 7 | int crypto_kem_mlkem768_keypair(unsigned char *pk, unsigned char *sk); 8 | int crypto_kem_mlkem768_enc(unsigned char *c, unsigned char *k, const unsigned char *pk); 9 | int crypto_kem_mlkem768_dec(unsigned char *k, const unsigned char *c, const unsigned char *sk); 10 | #endif /* MLKEM768_H */ 11 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/src/signkey_ossh.h: -------------------------------------------------------------------------------- 1 | #ifndef DROPBEAR_SIGNKEY_OSSH_H_ 2 | #define DROPBEAR_SIGNKEY_OSSH_H_ 3 | 4 | #include "signkey.h" 5 | 6 | /* Helpers for OpenSSH format keys in dropbearconvert */ 7 | 8 | void buf_put_rsa_priv_ossh(buffer *buf, const sign_key *akey); 9 | int buf_get_rsa_priv_ossh(buffer *buf, sign_key *akey); 10 | void buf_put_ed25519_priv_ossh(buffer *buf, const sign_key *akey); 11 | int buf_get_ed25519_priv_ossh(buffer *buf, sign_key *akey); 12 | void buf_put_ecdsa_priv_ossh(buffer *buf, const sign_key *akey); 13 | int buf_get_ecdsa_priv_ossh(buffer *buf, sign_key *akey); 14 | 15 | #endif /* DROPBEAR_SIGNKEY_OSSH_H_ */ 16 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/src/sk-ecdsa.h: -------------------------------------------------------------------------------- 1 | #ifndef DROPBEAR_SK_ECDSA_H_ 2 | #define DROPBEAR_SK_ECDSA_H_ 3 | 4 | #include "includes.h" 5 | 6 | #if DROPBEAR_SK_ECDSA 7 | 8 | #include "buffer.h" 9 | #include "signkey.h" 10 | 11 | int buf_sk_ecdsa_verify(buffer *buf, const ecc_key *key, const buffer *data_buf, 12 | const char* app, unsigned int applen, 13 | unsigned char sk_flags_mask); 14 | 15 | #endif 16 | 17 | #endif /* DROPBEAR_SK_ECDSA_H_ */ 18 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/src/sk-ed25519.h: -------------------------------------------------------------------------------- 1 | #ifndef DROPBEAR_SK_ED25519_H_ 2 | #define DROPBEAR_SK_ED25519_H_ 3 | 4 | #include "includes.h" 5 | 6 | #if DROPBEAR_SK_ED25519 7 | 8 | #include "buffer.h" 9 | #include "ed25519.h" 10 | 11 | int buf_sk_ed25519_verify(buffer *buf, const dropbear_ed25519_key *key, const buffer *data_buf, 12 | const char* app, unsigned int applen, 13 | unsigned char sk_flags_mask); 14 | 15 | #endif 16 | 17 | #endif /* DROPBEAR_SK_ED25519_H_ */ 18 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/src/sntrup761.h: -------------------------------------------------------------------------------- 1 | #ifndef SNTRUP761_H 2 | #define SNTRUP761_H 3 | 4 | #define crypto_kem_sntrup761_PUBLICKEYBYTES 1158 5 | #define crypto_kem_sntrup761_SECRETKEYBYTES 1763 6 | #define crypto_kem_sntrup761_CIPHERTEXTBYTES 1039 7 | #define crypto_kem_sntrup761_BYTES 32 8 | 9 | int crypto_kem_sntrup761_keypair(unsigned char *pk, unsigned char *sk); 10 | int crypto_kem_sntrup761_enc(unsigned char *c, unsigned char *k, const unsigned char *pk); 11 | int crypto_kem_sntrup761_dec(unsigned char *k, const unsigned char *c, const unsigned char *sk); 12 | 13 | #endif /* SNTRUP761_H */ 14 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/test/Makefile.in: -------------------------------------------------------------------------------- 1 | srcdir=@srcdir@ 2 | 3 | SHELL=bash 4 | 5 | all: test 6 | 7 | test: venv/bin/pytest fakekey 8 | (source ./venv/bin/activate; pytest --hostkey=fakekey --dbclient=../dbclient --dropbear=../dropbear $(srcdir) ) 9 | 10 | one: venv/bin/pytest fakekey 11 | (source ./venv/bin/activate; pytest --hostkey=fakekey --dbclient=../dbclient --dropbear=../dropbear $(srcdir) -k exit) 12 | 13 | fakekey: 14 | ../dropbearkey -t ecdsa -f $@ 15 | 16 | venv/bin/pytest: $(srcdir)/requirements.txt 17 | python3 -m venv init venv 18 | ./venv/bin/pip install --upgrade pip 19 | ./venv/bin/pip install -r $(srcdir)/requirements.txt 20 | 21 | .PHONY: test 22 | -------------------------------------------------------------------------------- /app/src/main/cpp/dropbear/test/requirements.txt: -------------------------------------------------------------------------------- 1 | attrs==21.2.0 2 | iniconfig==2.0.0 3 | packaging==24.1 4 | pluggy==1.5.0 5 | psutil==6.0.0 6 | pyparsing==2.4.7 7 | pytest==8.3.2 8 | toml==0.10.2 9 | asyncssh==2.17.0 10 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/.github/configure.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | . .github/configs $1 4 | 5 | printf "$ " 6 | 7 | if [ "x$CC" != "x" ]; then 8 | printf "CC='$CC' " 9 | fi 10 | if [ "x$CFLAGS" != "x" ]; then 11 | printf "CFLAGS='$CFLAGS' " 12 | fi 13 | if [ "x$CPPFLAGS" != "x" ]; then 14 | printf "CPPFLAGS='$CPPFLAGS' " 15 | fi 16 | if [ "x$LDFLAGS" != "x" ]; then 17 | printf "LDFLAGS='$LDFLAGS' " 18 | fi 19 | 20 | echo ./configure ${CONFIGFLAGS} 21 | ./configure ${CONFIGFLAGS} 2>&1 22 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile 2 | buildpkg.sh 3 | config.h 4 | config.h.in~ 5 | config.log 6 | config.status 7 | openbsd-compat/Makefile 8 | openbsd-compat/regress/Makefile 9 | openssh.xml 10 | opensshd.init 11 | survey.sh 12 | **/*.o 13 | **/*.lo 14 | **/*.so 15 | **/*.dylib 16 | **/*.dll 17 | **/*.out 18 | **/*.a 19 | **/*.un~ 20 | **/.*.swp 21 | autom4te.cache/ 22 | scp 23 | sftp 24 | sftp-server 25 | ssh 26 | ssh-add 27 | ssh-agent 28 | ssh-keygen 29 | ssh-keyscan 30 | ssh-keysign 31 | ssh-pkcs11-helper 32 | ssh-sk-helper 33 | sshd 34 | sshd-session 35 | sshd-auth 36 | !regress/misc/**/Makefile 37 | !regress/unittests/**/Makefile 38 | tags 39 | 40 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/SECURITY.md: -------------------------------------------------------------------------------- 1 | # Reporting OpenSSH Security Issues 2 | 3 | To report security issues in OpenSSH, please refer to our website 4 | [OpenSSH Security](https://www.openssh.com/security.html). 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/contrib/cygwin/sshd-inetd: -------------------------------------------------------------------------------- 1 | # This file can be used to enable sshd as a slave of the inetd service 2 | # To do so, the line below should be uncommented. 3 | @COMMENT@ ssh stream tcp nowait root /usr/sbin/sshd sshd -i 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/contrib/hpux/egd: -------------------------------------------------------------------------------- 1 | # EGD_START: Set to 1 to start entropy gathering daemon 2 | # EGD_ARGS: Command line arguments to pass to egd 3 | # EGD_LOG: EGD stdout and stderr log file (default /etc/opt/egd/egd.log) 4 | # 5 | # To configure the egd environment: 6 | 7 | # groupadd egd 8 | # useradd -g egd egd 9 | # mkdir -p /etc/opt/egd 10 | # chown egd:egd /etc/opt/egd 11 | # chmod 711 /etc/opt/egd 12 | 13 | EGD_START=1 14 | EGD_ARGS='/etc/opt/egd/entropy' 15 | EGD_LOG= 16 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/contrib/redhat/gnome-ssh-askpass.csh: -------------------------------------------------------------------------------- 1 | setenv SSH_ASKPASS /usr/libexec/openssh/gnome-ssh-askpass 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/contrib/redhat/gnome-ssh-askpass.sh: -------------------------------------------------------------------------------- 1 | SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass 2 | export SSH_ASKPASS 3 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/contrib/redhat/sshd.pam: -------------------------------------------------------------------------------- 1 | #%PAM-1.0 2 | auth required pam_stack.so service=system-auth 3 | account required pam_nologin.so 4 | account required pam_stack.so service=system-auth 5 | password required pam_stack.so service=system-auth 6 | session required pam_stack.so service=system-auth 7 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/contrib/sshd.pam.freebsd: -------------------------------------------------------------------------------- 1 | sshd auth required pam_unix.so try_first_pass 2 | sshd account required pam_unix.so 3 | sshd password required pam_permit.so 4 | sshd session required pam_permit.so 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/contrib/sshd.pam.generic: -------------------------------------------------------------------------------- 1 | #%PAM-1.0 2 | auth required /lib/security/pam_unix.so shadow nodelay 3 | account required /lib/security/pam_nologin.so 4 | account required /lib/security/pam_unix.so 5 | password required /lib/security/pam_cracklib.so 6 | password required /lib/security/pam_unix.so shadow nullok use_authtok 7 | session required /lib/security/pam_unix.so 8 | session required /lib/security/pam_limits.so 9 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/contrib/suse/rc.config.sshd: -------------------------------------------------------------------------------- 1 | # 2 | # Start the Secure Shell (SSH) Daemon? 3 | # 4 | START_SSHD="yes" 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/contrib/suse/sysconfig.ssh: -------------------------------------------------------------------------------- 1 | ## Path: Network/Remote access/SSH 2 | ## Description: SSH server settings 3 | ## Type: string 4 | ## Default: "" 5 | ## ServiceRestart: sshd 6 | # 7 | # Options for sshd 8 | # 9 | SSHD_OPTS="" 10 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/fixalgorithms: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # fixciphers - remove unsupported ciphers from man pages. 4 | # Usage: fixpaths /path/to/sed cipher1 [cipher2] outfile 5 | # 6 | # Author: Darren Tucker (dtucker at zip com.au). Placed in the public domain. 7 | 8 | die() { 9 | echo $* 10 | exit -1 11 | } 12 | 13 | SED=$1 14 | shift 15 | 16 | for c in $*; do 17 | subs="$subs -e /.Dq.$c.*$/d" 18 | subs="$subs -e s/$c,//g" 19 | done 20 | 21 | # now remove any entirely empty lines 22 | subs="$subs -e /^$/d" 23 | 24 | ${SED} $subs 25 | 26 | exit 0 27 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/fixpaths: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # fixpaths - substitute makefile variables into text files 4 | # Usage: fixpaths -Dsomething=somethingelse ... 5 | 6 | die() { 7 | echo $* 8 | exit -1 9 | } 10 | 11 | test -n "`echo $1|grep -- -D`" || \ 12 | die $0: nothing to do - no substitutions listed! 13 | 14 | test -n "`echo $1|grep -- '-D[^=]\+=[^ ]\+'`" || \ 15 | die $0: error in command line arguments. 16 | 17 | test -n "`echo $*|grep -- ' [^-]'`" || \ 18 | die Usage: $0 '[-Dstring=replacement] [[infile] ...]' 19 | 20 | sed `echo $*|sed -e 's/-D\([^=]\+\)=\([^ ]*\)/-e s=\1=\2=g/g'` 21 | 22 | exit 0 23 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/openbsd-compat/bsd-getpagesize.c: -------------------------------------------------------------------------------- 1 | /* Placed in the public domain */ 2 | 3 | #include "includes.h" 4 | 5 | #ifndef HAVE_GETPAGESIZE 6 | 7 | #include 8 | #include 9 | 10 | int 11 | getpagesize(void) 12 | { 13 | #if defined(HAVE_SYSCONF) && defined(_SC_PAGESIZE) 14 | long r = sysconf(_SC_PAGESIZE); 15 | if (r > 0 && r < INT_MAX) 16 | return (int)r; 17 | #endif 18 | /* 19 | * This is at the lower end of common values and appropriate for 20 | * our current use of getpagesize() in recallocarray(). 21 | */ 22 | return 4096; 23 | } 24 | 25 | #endif /* HAVE_GETPAGESIZE */ 26 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/poly1305.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: poly1305.h,v 1.4 2014/05/02 03:27:54 djm Exp $ */ 2 | 3 | /* 4 | * Public Domain poly1305 from Andrew Moon 5 | * poly1305-donna-unrolled.c from https://github.com/floodyberry/poly1305-donna 6 | */ 7 | 8 | #ifndef POLY1305_H 9 | #define POLY1305_H 10 | 11 | #include 12 | 13 | #define POLY1305_KEYLEN 32 14 | #define POLY1305_TAGLEN 16 15 | 16 | void poly1305_auth(u_char out[POLY1305_TAGLEN], const u_char *m, size_t inlen, 17 | const u_char key[POLY1305_KEYLEN]) 18 | __attribute__((__bounded__(__minbytes__, 1, POLY1305_TAGLEN))) 19 | __attribute__((__bounded__(__buffer__, 2, 3))) 20 | __attribute__((__bounded__(__minbytes__, 4, POLY1305_KEYLEN))); 21 | 22 | #endif /* POLY1305_H */ 23 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/agent-subprocess.sh: -------------------------------------------------------------------------------- 1 | # $OpenBSD: agent-subprocess.sh,v 1.1 2020/06/19 05:07:09 dtucker Exp $ 2 | # Placed in the Public Domain. 3 | 4 | tid="agent subprocess" 5 | 6 | trace "ensure agent exits when run as subprocess" 7 | ${SSHAGENT} sh -c "echo \$SSH_AGENT_PID >$OBJ/pidfile; sleep 1" 8 | 9 | pid=`cat $OBJ/pidfile` 10 | 11 | # Currently ssh-agent polls every 10s so we need to wait at least that long. 12 | n=12 13 | while kill -0 $pid >/dev/null 2>&1 && test "$n" -gt "0"; do 14 | n=$(($n - 1)) 15 | sleep 1 16 | done 17 | 18 | if test "$n" -eq "0"; then 19 | fail "agent still running" 20 | fi 21 | 22 | rm -f $OBJ/pidfile 23 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/authinfo.sh: -------------------------------------------------------------------------------- 1 | # $OpenBSD: authinfo.sh,v 1.3 2018/04/10 00:13:27 djm Exp $ 2 | # Placed in the Public Domain. 3 | 4 | tid="authinfo" 5 | 6 | # Ensure the environment variable doesn't leak when ExposeAuthInfo=no. 7 | verbose "ExposeAuthInfo=no" 8 | env SSH_USER_AUTH=blah ${SSH} -F $OBJ/ssh_proxy x \ 9 | 'env | grep SSH_USER_AUTH >/dev/null' && fail "SSH_USER_AUTH present" 10 | 11 | verbose "ExposeAuthInfo=yes" 12 | echo ExposeAuthInfo=yes >> $OBJ/sshd_proxy 13 | ${SSH} -F $OBJ/ssh_proxy x \ 14 | 'grep ^publickey "$SSH_USER_AUTH" /dev/null >/dev/null' || 15 | fail "ssh with ExposeAuthInfo failed" 16 | 17 | # XXX test multiple auth and key contents 18 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/broken-pipe.sh: -------------------------------------------------------------------------------- 1 | # $OpenBSD: broken-pipe.sh,v 1.6 2017/04/30 23:34:55 djm Exp $ 2 | # Placed in the Public Domain. 3 | 4 | tid="broken pipe test" 5 | 6 | for i in 1 2 3 4; do 7 | ${SSH} -F $OBJ/ssh_config_config nexthost echo $i 2> /dev/null | true 8 | r=$? 9 | if [ $r -ne 0 ]; then 10 | fail "broken pipe returns $r" 11 | fi 12 | done 13 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/brokenkeys.sh: -------------------------------------------------------------------------------- 1 | # $OpenBSD: brokenkeys.sh,v 1.2 2017/04/30 23:34:55 djm Exp $ 2 | # Placed in the Public Domain. 3 | 4 | tid="broken keys" 5 | 6 | KEYS="$OBJ/authorized_keys_${USER}" 7 | 8 | start_sshd 9 | 10 | mv ${KEYS} ${KEYS}.bak 11 | 12 | # Truncated key 13 | echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEABTM= bad key" > $KEYS 14 | cat ${KEYS}.bak >> ${KEYS} 15 | cat $OBJ/$t.pub >> $OBJ/authorized_keys_$USER 16 | 17 | ${SSH} -F $OBJ/ssh_config somehost true 18 | if [ $? -ne 0 ]; then 19 | fail "ssh connect with failed" 20 | fi 21 | 22 | mv ${KEYS}.bak ${KEYS} 23 | 24 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/connect.sh: -------------------------------------------------------------------------------- 1 | # $OpenBSD: connect.sh,v 1.8 2020/01/25 02:57:53 dtucker Exp $ 2 | # Placed in the Public Domain. 3 | 4 | tid="simple connect" 5 | 6 | start_sshd 7 | 8 | trace "direct connect" 9 | ${SSH} -F $OBJ/ssh_config somehost true 10 | if [ $? -ne 0 ]; then 11 | fail "ssh direct connect failed" 12 | fi 13 | 14 | trace "proxy connect" 15 | ${SSH} -F $OBJ/ssh_config -o "proxycommand $NC %h %p" somehost true 16 | if [ $? -ne 0 ]; then 17 | fail "ssh proxycommand connect failed" 18 | fi 19 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/ed25519_openssh.prv: -------------------------------------------------------------------------------- 1 | -----BEGIN OPENSSH PRIVATE KEY----- 2 | b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW 3 | QyNTUxOQAAACDE8/0FM7Yw6xc53QpiZUQAh/LK2mEAwNDNYdSR6GIGIwAAAKC+Cfdzvgn3 4 | cwAAAAtzc2gtZWQyNTUxOQAAACDE8/0FM7Yw6xc53QpiZUQAh/LK2mEAwNDNYdSR6GIGIw 5 | AAAEBm+60DgH0WMW7Z5oyvu1dxo7MaXe5RRMWTMJCfLkHexMTz/QUztjDrFzndCmJlRACH 6 | 8sraYQDA0M1h1JHoYgYjAAAAGWR0dWNrZXJAcXVvbGwuZHR1Y2tlci5uZXQBAgME 7 | -----END OPENSSH PRIVATE KEY----- 8 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/ed25519_openssh.pub: -------------------------------------------------------------------------------- 1 | ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMTz/QUztjDrFzndCmJlRACH8sraYQDA0M1h1JHoYgYj 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/exit-status-signal.sh: -------------------------------------------------------------------------------- 1 | # This test performs validation that ssh client is not successive on being terminated 2 | 3 | tid="exit status on signal" 4 | 5 | # spawn client in background 6 | rm -f $OBJ/remote_pid 7 | ${SSH} -F $OBJ/ssh_proxy somehost 'echo $$ >'$OBJ'/remote_pid; sleep 444' & 8 | ssh_pid=$! 9 | 10 | # wait for it to start 11 | n=20 12 | while [ ! -f $OBJ/remote_pid ] && [ $n -gt 0 ]; do 13 | n=$(($n - 1)) 14 | sleep 1 15 | done 16 | 17 | kill $ssh_pid 18 | wait $ssh_pid 19 | exit_code=$? 20 | 21 | if [ $exit_code -eq 0 ]; then 22 | fail "ssh client should fail on signal" 23 | fi 24 | 25 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/exit-status.sh: -------------------------------------------------------------------------------- 1 | # $OpenBSD: exit-status.sh,v 1.8 2017/04/30 23:34:55 djm Exp $ 2 | # Placed in the Public Domain. 3 | 4 | tid="remote exit status" 5 | 6 | for s in 0 1 4 5 44; do 7 | trace "status $s" 8 | verbose "test $tid: status $s" 9 | ${SSH} -F $OBJ/ssh_proxy otherhost exit $s 10 | r=$? 11 | if [ $r -ne $s ]; then 12 | fail "exit code mismatch for: $r != $s" 13 | fi 14 | 15 | # same with early close of stdout/err 16 | ${SSH} -F $OBJ/ssh_proxy -n otherhost exec \ 17 | sh -c \'"sleep 2; exec > /dev/null 2>&1; sleep 3; exit $s"\' 18 | r=$? 19 | if [ $r -ne $s ]; then 20 | fail "exit code (with sleep) mismatch for: $r != $s" 21 | fi 22 | done 23 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/host-expand.sh: -------------------------------------------------------------------------------- 1 | # $OpenBSD: host-expand.sh,v 1.5 2017/04/30 23:34:55 djm Exp $ 2 | # Placed in the Public Domain. 3 | 4 | tid="expand %h and %n" 5 | 6 | echo 'PermitLocalCommand yes' >> $OBJ/ssh_proxy 7 | printf 'LocalCommand printf "%%%%s\\n" "%%n" "%%h"\n' >> $OBJ/ssh_proxy 8 | 9 | cat >$OBJ/expect <$OBJ/actual 15 | diff $OBJ/expect $OBJ/actual || fail "$tid" 16 | 17 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/kextype.sh: -------------------------------------------------------------------------------- 1 | # $OpenBSD: kextype.sh,v 1.6 2015/03/24 20:19:15 markus Exp $ 2 | # Placed in the Public Domain. 3 | 4 | tid="login with different key exchange algorithms" 5 | 6 | TIME=/usr/bin/time 7 | cp $OBJ/sshd_proxy $OBJ/sshd_proxy_bak 8 | cp $OBJ/ssh_proxy $OBJ/ssh_proxy_bak 9 | 10 | # Make server accept all key exchanges. 11 | ALLKEX=`${SSH} -Q kex` 12 | KEXOPT=`echo $ALLKEX | tr ' ' ,` 13 | echo "KexAlgorithms=$KEXOPT" >> $OBJ/sshd_proxy 14 | 15 | tries="1 2 3 4" 16 | for k in `${SSH} -Q kex`; do 17 | verbose "kex $k" 18 | for i in $tries; do 19 | ${SSH} -F $OBJ/ssh_proxy -o KexAlgorithms=$k x true 20 | if [ $? -ne 0 ]; then 21 | fail "ssh kex $k" 22 | fi 23 | done 24 | done 25 | 26 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/keygen-change.sh: -------------------------------------------------------------------------------- 1 | # $OpenBSD: keygen-change.sh,v 1.9 2019/12/16 02:39:05 djm Exp $ 2 | # Placed in the Public Domain. 3 | 4 | tid="change passphrase for key" 5 | 6 | S1="secret1" 7 | S2="2secret" 8 | 9 | for t in $SSH_KEYTYPES; do 10 | trace "generating $t key" 11 | rm -f $OBJ/$t-key 12 | ${SSHKEYGEN} -q -N ${S1} -t $t -f $OBJ/$t-key 13 | if [ $? -eq 0 ]; then 14 | ${SSHKEYGEN} -p -P ${S1} -N ${S2} -f $OBJ/$t-key > /dev/null 15 | if [ $? -ne 0 ]; then 16 | fail "ssh-keygen -p failed for $t-key" 17 | fi 18 | else 19 | fail "ssh-keygen for $t-key failed" 20 | fi 21 | rm -f $OBJ/$t-key $OBJ/$t-key.pub 22 | done 23 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/keyscan.sh: -------------------------------------------------------------------------------- 1 | # $OpenBSD: keyscan.sh,v 1.13 2020/01/22 07:31:27 dtucker Exp $ 2 | # Placed in the Public Domain. 3 | 4 | tid="keyscan" 5 | 6 | for i in $SSH_KEYTYPES; do 7 | if [ -z "$algs" ]; then 8 | algs="$i" 9 | else 10 | algs="$algs,$i" 11 | fi 12 | done 13 | echo "HostKeyAlgorithms $algs" >> $OBJ/sshd_config 14 | 15 | start_sshd 16 | 17 | for t in $SSH_KEYTYPES; do 18 | trace "keyscan type $t" 19 | ${SSHKEYSCAN} -t $t -T 15 -p $PORT 127.0.0.1 127.0.0.1 127.0.0.1 \ 20 | > /dev/null 2>&1 21 | r=$? 22 | if [ $r -ne 0 ]; then 23 | fail "ssh-keyscan -t $t failed with: $r" 24 | fi 25 | done 26 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/localcommand.sh: -------------------------------------------------------------------------------- 1 | # $OpenBSD: localcommand.sh,v 1.4 2017/04/30 23:34:55 djm Exp $ 2 | # Placed in the Public Domain. 3 | 4 | tid="localcommand" 5 | 6 | echo 'PermitLocalCommand yes' >> $OBJ/ssh_proxy 7 | echo 'LocalCommand echo foo' >> $OBJ/ssh_proxy 8 | 9 | verbose "test $tid: proto $p localcommand" 10 | a=`${SSH} -F $OBJ/ssh_proxy somehost true` 11 | if [ "$a" != "foo" ] ; then 12 | fail "$tid proto $p" 13 | fi 14 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/login-timeout.sh: -------------------------------------------------------------------------------- 1 | # $OpenBSD: login-timeout.sh,v 1.10 2021/09/30 05:20:08 dtucker Exp $ 2 | # Placed in the Public Domain. 3 | 4 | tid="connect after login grace timeout" 5 | 6 | trace "test login grace time" 7 | cp $OBJ/sshd_config $OBJ/sshd_config.orig 8 | grep -vi LoginGraceTime $OBJ/sshd_config.orig > $OBJ/sshd_config 9 | echo "LoginGraceTime 10s" >> $OBJ/sshd_config 10 | echo "MaxStartups 1" >> $OBJ/sshd_config 11 | start_sshd 12 | 13 | (echo SSH-2.0-fake; sleep 60) | telnet 127.0.0.1 ${PORT} >/dev/null 2>&1 & 14 | sleep 15 15 | ${SSH} -F $OBJ/ssh_config somehost true 16 | if [ $? -ne 0 ]; then 17 | fail "ssh connect after login grace timeout failed" 18 | fi 19 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/misc/Makefile: -------------------------------------------------------------------------------- 1 | SUBDIR= sk-dummy 2 | 3 | .include 4 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/misc/fuzz-harness/README: -------------------------------------------------------------------------------- 1 | This directory contains fuzzing harnesses for use with clang's libfuzzer. 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/misc/fuzz-harness/agent_fuzz.cc: -------------------------------------------------------------------------------- 1 | // cc_fuzz_target test for ssh-agent. 2 | extern "C" { 3 | 4 | #include 5 | #include 6 | 7 | extern void test_one(const uint8_t* s, size_t slen); 8 | 9 | int LLVMFuzzerTestOneInput(const uint8_t* s, size_t slen) 10 | { 11 | test_one(s, slen); 12 | return 0; 13 | } 14 | 15 | } // extern 16 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/misc/fuzz-harness/privkey_fuzz.cc: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | extern "C" { 6 | 7 | #include "sshkey.h" 8 | #include "sshbuf.h" 9 | 10 | int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) 11 | { 12 | struct sshkey *k = NULL; 13 | struct sshbuf *b = sshbuf_from(data, size); 14 | int r = sshkey_private_deserialize(b, &k); 15 | if (r == 0) sshkey_free(k); 16 | sshbuf_free(b); 17 | return 0; 18 | } 19 | 20 | } // extern 21 | 22 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/misc/fuzz-harness/pubkey_fuzz.cc: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | extern "C" { 6 | 7 | #include "sshkey.h" 8 | 9 | int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) 10 | { 11 | struct sshkey *k = NULL; 12 | int r = sshkey_from_blob(data, size, &k); 13 | if (r == 0) sshkey_free(k); 14 | return 0; 15 | } 16 | 17 | } // extern 18 | 19 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/misc/fuzz-harness/sshsigopt_fuzz.cc: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | extern "C" { 8 | 9 | #include "sshsig.h" 10 | 11 | int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) 12 | { 13 | char *cp = (char *)malloc(size + 1); 14 | struct sshsigopt *opts = NULL; 15 | 16 | if (cp == NULL) 17 | goto out; 18 | memcpy(cp, data, size); 19 | cp[size] = '\0'; 20 | if ((opts = sshsigopt_parse(cp, "libfuzzer", 0, NULL)) == NULL) 21 | goto out; 22 | 23 | out: 24 | free(cp); 25 | sshsigopt_free(opts); 26 | return 0; 27 | } 28 | 29 | } // extern "C" 30 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/misc/fuzz-harness/testdata/README: -------------------------------------------------------------------------------- 1 | This is preparatory data for fuzzing testing including scripts and test keys, 2 | corresponding to ../fixed-keys that are used in the fuzz tests and consequent 3 | fuzzing seed corpora. They should not be changed unless the affected seed 4 | corpora are also regenerated. 5 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/misc/fuzz-harness/testdata/id_dsa.pub: -------------------------------------------------------------------------------- 1 | ssh-dss AAAAB3NzaC1kc3MAAACBAKwZN+OlDjrkQ6R9Bckz0E699FATR+qXKQCWz6dzP5PuGtt5JxG7zGnDOzOck2bGVbyjpxQOIeYEnk4eBqZQL03tgl5T/p+c4BmJ+A3yaorqTykoe6N7wA06JiAcuXTKIBJADf/+ozLNn5b+F6agtKYsBsSqV9ZV7JjH7C1rVWb5AAAAFQC9bJ6G9S90e9DFq9iBLmnS3lB3tQAAAIEAhED1jL5/grOqm/+ogI87fOTjZS4/tYCFJbacJtB0uUKJJPFyMqBy9c1FyTAk/jgmNIc60nL8Ay0ms8hstgboq5ZN0GUQcWIboNp+8sb6o8xIvZs+NdM6G44xsIchn7lYGRZMd4b82/XWIjTU5/1Xq1eSKDbcrfvR+WRGRcWL0x0AAACAK3phRxCQ3AbsH97kzUVmws/06RUHcHAsA6OZZ0enKG7cenBIlrdcsS+Fc3SLohUjYqA+j/Ya1gDqse3Xgv7q7WmaGHywC9CSynepkH7GH80/6EGp/SxsdfTJhvMo68jlIJz+QorrJqBwFk6y5sz8oLxPHJWCYPlzpbNiyHlMSm8= 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/misc/fuzz-harness/testdata/id_ecdsa: -------------------------------------------------------------------------------- 1 | -----BEGIN OPENSSH PRIVATE KEY----- 2 | b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAaAAAABNlY2RzYS 3 | 1zaGEyLW5pc3RwMjU2AAAACG5pc3RwMjU2AAAAQQTDJ0VlMv+0rguNzaJ1DF2KueHaxRSQ 4 | 6LpIxGbulrg1a8RPbnMXwag5GcDiDllD2lDUJUuBEWyjXA0rZoZX35ELAAAAoE/Bbr5PwW 5 | 6+AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMMnRWUy/7SuC43N 6 | onUMXYq54drFFJDoukjEZu6WuDVrxE9ucxfBqDkZwOIOWUPaUNQlS4ERbKNcDStmhlffkQ 7 | sAAAAhAIhE6hCID5oOm1TDktc++KFKyScjLifcZ6Cgv5xSSyLOAAAAAAECAwQFBgc= 8 | -----END OPENSSH PRIVATE KEY----- 9 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/misc/fuzz-harness/testdata/id_ecdsa.pub: -------------------------------------------------------------------------------- 1 | ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMMnRWUy/7SuC43NonUMXYq54drFFJDoukjEZu6WuDVrxE9ucxfBqDkZwOIOWUPaUNQlS4ERbKNcDStmhlffkQs= 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/misc/fuzz-harness/testdata/id_ecdsa_sk.pub: -------------------------------------------------------------------------------- 1 | sk-ecdsa-sha2-nistp256@openssh.com AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBNjJTvrOinVU5vgN8pZidHlvRM4LfPDwPM5sB8dYHmjrGWz605iISV5e8gSLTQNraIIrjuFptlM6EvJ4FfYC+7kAAAAEc3NoOg== djm@djm.syd.corp.google.com 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/misc/fuzz-harness/testdata/id_ed25519: -------------------------------------------------------------------------------- 1 | -----BEGIN OPENSSH PRIVATE KEY----- 2 | b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW 3 | QyNTUxOQAAACAz0F5hFTFS5nhUcmnyjFVoDw5L/P7kQU8JnBA2rWczAwAAAIhWlP99VpT/ 4 | fQAAAAtzc2gtZWQyNTUxOQAAACAz0F5hFTFS5nhUcmnyjFVoDw5L/P7kQU8JnBA2rWczAw 5 | AAAEDE1rlcMC0s0X3TKVZAOVavZOywwkXw8tO5dLObxaCMEDPQXmEVMVLmeFRyafKMVWgP 6 | Dkv8/uRBTwmcEDatZzMDAAAAAAECAwQF 7 | -----END OPENSSH PRIVATE KEY----- 8 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/misc/fuzz-harness/testdata/id_ed25519-cert.pub: -------------------------------------------------------------------------------- 1 | ssh-ed25519-cert-v01@openssh.com AAAAIHNzaC1lZDI1NTE5LWNlcnQtdjAxQG9wZW5zc2guY29tAAAAIMDQjYH6XRzH3j3MW1DdjCoAfvrHfgjnVGF+sLK0pBfqAAAAIDPQXmEVMVLmeFRyafKMVWgPDkv8/uRBTwmcEDatZzMDAAAAAAAAA+sAAAABAAAAB3VseXNzZXMAAAAXAAAAB3VseXNzZXMAAAAIb2R5c3NldXMAAAAAAAAAAP//////////AAAAAAAAAIIAAAAVcGVybWl0LVgxMS1mb3J3YXJkaW5nAAAAAAAAABdwZXJtaXQtYWdlbnQtZm9yd2FyZGluZwAAAAAAAAAWcGVybWl0LXBvcnQtZm9yd2FyZGluZwAAAAAAAAAKcGVybWl0LXB0eQAAAAAAAAAOcGVybWl0LXVzZXItcmMAAAAAAAAAAAAAADMAAAALc3NoLWVkMjU1MTkAAAAgM9BeYRUxUuZ4VHJp8oxVaA8OS/z+5EFPCZwQNq1nMwMAAABTAAAAC3NzaC1lZDI1NTE5AAAAQBj0og+s09/HpwdHZbzN0twooKPDWWrxGfnP1Joy6cDnY2BCSQ7zg9vbq11kLF8H/sKOTZWAQrUZ7LlChOu9Ogw= id_ed25519.pub 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/misc/fuzz-harness/testdata/id_ed25519.pub: -------------------------------------------------------------------------------- 1 | ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDPQXmEVMVLmeFRyafKMVWgPDkv8/uRBTwmcEDatZzMD 2 | 3 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/misc/fuzz-harness/testdata/id_ed25519_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN OPENSSH PRIVATE KEY----- 2 | b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAASgAAABpzay1zc2 3 | gtZWQyNTUxOUBvcGVuc3NoLmNvbQAAACCTJtH10vWhIDxd62edvMLg9u2cwYKyqa7332je 4 | RArHjAAAAARzc2g6AAAAwN7vvE3e77xNAAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY2 5 | 9tAAAAIJMm0fXS9aEgPF3rZ528wuD27ZzBgrKprvffaN5ECseMAAAABHNzaDoBAAAAQEsS 6 | xLFiVzfpH2mt9xh8i/zmHV646Hud4QruNBAGNl8gkybR9dL1oSA8XetnnbzC4PbtnMGCsq 7 | mu999o3kQKx4wAAAAAAAAAG2RqbUBkam0uc3lkLmNvcnAuZ29vZ2xlLmNvbQECAwQFBg== 8 | -----END OPENSSH PRIVATE KEY----- 9 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/misc/fuzz-harness/testdata/id_ed25519_sk-cert.pub: -------------------------------------------------------------------------------- 1 | sk-ssh-ed25519-cert-v01@openssh.com AAAAI3NrLXNzaC1lZDI1NTE5LWNlcnQtdjAxQG9wZW5zc2guY29tAAAAIJiT+C/VLMWholFZ4xhOyJr0nSLZSFRIM3I07wUNTRPaAAAAIJMm0fXS9aEgPF3rZ528wuD27ZzBgrKprvffaN5ECseMAAAABHNzaDoAAAAAAAAD7AAAAAEAAAAHdWx5c3NlcwAAABcAAAAHdWx5c3NlcwAAAAhvZHlzc2V1cwAAAAAAAAAA//////////8AAAAAAAAAggAAABVwZXJtaXQtWDExLWZvcndhcmRpbmcAAAAAAAAAF3Blcm1pdC1hZ2VudC1mb3J3YXJkaW5nAAAAAAAAABZwZXJtaXQtcG9ydC1mb3J3YXJkaW5nAAAAAAAAAApwZXJtaXQtcHR5AAAAAAAAAA5wZXJtaXQtdXNlci1yYwAAAAAAAAAAAAAAMwAAAAtzc2gtZWQyNTUxOQAAACAz0F5hFTFS5nhUcmnyjFVoDw5L/P7kQU8JnBA2rWczAwAAAFMAAAALc3NoLWVkMjU1MTkAAABAX0Pu13B94pVR3qq8MJQGkOS1Cd7AAM1k6O2VSwyDPM/LfsWIQ4ywgxDmk3hjXWOY7BqljuMxo5VO4JymEIhQBA== djm@djm.syd.corp.google.com 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/misc/fuzz-harness/testdata/id_ed25519_sk.pub: -------------------------------------------------------------------------------- 1 | sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIJMm0fXS9aEgPF3rZ528wuD27ZzBgrKprvffaN5ECseMAAAABHNzaDo= djm@djm.syd.corp.google.com 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/misc/fuzz-harness/testdata/id_rsa.pub: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDf56l/5UYqgY9oBlet/pLRzK6ZCd12QYGdUVfQDl6HftG0u6DSpjm2HGwFRsYZWv2ZN3ZBfAu6MHBiDmXUw/8WaD7nfXZmDH2keZL6opQttqvSGU2Cm00Rv5o1R3ej2qDdpepebv5meMBXTl5/+bE1E3Zm+4STDtxGmlMlxsEj68XeVe4JedfaSUMj3kaXYBbdYdG1qeosdle4GSONEEMpzsxSr8Y/WGYuIB33l29Tt9mNGUgSw/zjMYQjUVvQv+SY8dw62JV8d+3wK2YL2/r73gms6I8EE1JxX53KuAAY+x0p2v/W8ilCYI2Ijyzc8KIPwntmIFpibQjx+rkb+qdT 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/misc/fuzz-harness/watch-sntrup761.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | mkdir -p sntrup761_dec_fuzzing sntrup761_enc_fuzzing 5 | (cd sntrup761_enc_fuzzing ; 6 | ../sntrup761_enc_fuzz -jobs=48 ../sntrup761_pubkey_corpus &) 7 | (cd sntrup761_dec_fuzzing ; 8 | ../sntrup761_dec_fuzz -jobs=48 ../sntrup761_ciphertext_corpus &) 9 | 10 | while true ; do 11 | clear 12 | uptime 13 | echo 14 | echo "Findings" 15 | ls -1 sntrup761_dec_fuzzing sntrup761_enc_fuzzing | grep -v '^fuzz-.*log$' 16 | printf "\n\n" 17 | printf "ciphertext_corpus: " ; ls -1 sntrup761_ciphertext_corpus | wc -l 18 | printf " pubkey_corpus: "; ls -1 sntrup761_pubkey_corpus | wc -l 19 | sleep 10; 20 | done 21 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/misc/sk-dummy/fatal.c: -------------------------------------------------------------------------------- 1 | /* public domain */ 2 | 3 | #include "includes.h" 4 | 5 | #include 6 | #include 7 | #include 8 | #include 9 | 10 | #include "log.h" 11 | 12 | void 13 | sshfatal(const char *file, const char *func, int line, int showfunc, 14 | LogLevel level, const char *suffix, const char *fmt, ...) 15 | { 16 | va_list ap; 17 | 18 | if (showfunc) 19 | fprintf(stderr, "%s: ", func); 20 | va_start(ap, fmt); 21 | vfprintf(stderr, fmt, ap); 22 | va_end(ap); 23 | if (suffix != NULL) 24 | fprintf(stderr, ": %s", suffix); 25 | fputc('\n', stderr); 26 | _exit(1); 27 | } 28 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/proto-mismatch.sh: -------------------------------------------------------------------------------- 1 | # $OpenBSD: proto-mismatch.sh,v 1.5 2017/04/30 23:34:55 djm Exp $ 2 | # Placed in the Public Domain. 3 | 4 | tid="protocol version mismatch" 5 | 6 | mismatch () 7 | { 8 | client=$2 9 | banner=`echo ${client} | ${SSHD} -i -f ${OBJ}/sshd_proxy` 10 | r=$? 11 | trace "sshd prints ${banner}" 12 | if [ $r -ne 255 ]; then 13 | fail "sshd prints ${banner} but accepts version ${client}" 14 | fi 15 | } 16 | 17 | mismatch SSH-1.5-HALLO 18 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/proto-version.sh: -------------------------------------------------------------------------------- 1 | # $OpenBSD: proto-version.sh,v 1.7 2017/06/07 01:48:15 djm Exp $ 2 | # Placed in the Public Domain. 3 | 4 | tid="sshd version with different protocol combinations" 5 | 6 | # we just start sshd in inetd mode and check the banner 7 | check_version () 8 | { 9 | expect=$1 10 | banner=`printf '' | ${SSHD} -i -f ${OBJ}/sshd_proxy` 11 | case ${banner} in 12 | SSH-1.99-*) 13 | proto=199 14 | ;; 15 | SSH-2.0-*) 16 | proto=20 17 | ;; 18 | SSH-1.5-*) 19 | proto=15 20 | ;; 21 | *) 22 | proto=0 23 | ;; 24 | esac 25 | if [ ${expect} -ne ${proto} ]; then 26 | fail "wrong protocol version ${banner}" 27 | fi 28 | } 29 | 30 | check_version 20 31 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/rsa_openssh.pub: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDsilwKcaKN6wSMNd1WgQ9+HRqQEkD0kCTVttrazGu0OhBU3Uko+dFD1Ip0CxdXmN25JQWxOYF7h/Ocu8P3jzv3RTX87xKR0YzlXTLX+SLtF/ySebS3xWPrlfRUDhh03hR5V+8xxvvy9widPYKw/oItwGSueOsEq1LTczCDv2dAjQ== 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/sshd-log-wrapper.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # $OpenBSD: sshd-log-wrapper.sh,v 1.5 2022/01/04 08:38:53 dtucker Exp $ 3 | # Placed in the Public Domain. 4 | # 5 | # simple wrapper for sshd proxy mode to catch stderr output 6 | # sh sshd-log-wrapper.sh /path/to/logfile /path/to/sshd [args...] 7 | 8 | log=$1 9 | shift 10 | 11 | echo "Executing: $@" >>$log 12 | exec "$@" -E$log 13 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/stderr-after-eof.sh: -------------------------------------------------------------------------------- 1 | # $OpenBSD: stderr-after-eof.sh,v 1.3 2017/04/30 23:34:55 djm Exp $ 2 | # Placed in the Public Domain. 3 | 4 | tid="stderr data after eof" 5 | 6 | # setup data 7 | rm -f ${DATA} ${COPY} 8 | cp /dev/null ${DATA} 9 | for i in 1 2 3 4 5 6; do 10 | (date;echo $i) | md5 >> ${DATA} 11 | done 12 | 13 | ${SSH} -F $OBJ/ssh_proxy otherhost \ 14 | exec sh -c \'"exec > /dev/null; sleep 2; cat ${DATA} 1>&2 $s"\' \ 15 | 2> ${COPY} 16 | r=$? 17 | if [ $r -ne 0 ]; then 18 | fail "ssh failed with exit code $r" 19 | fi 20 | egrep 'Disconnecting: Received extended_data after EOF' ${COPY} && 21 | fail "ext data received after eof" 22 | cmp ${DATA} ${COPY} || fail "stderr corrupt" 23 | 24 | rm -f ${DATA} ${COPY} 25 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/t11.ok: -------------------------------------------------------------------------------- 1 | SHA256:4w1rnrek3klTJOTVhwuCIFd5k+pq9Bfo5KTxxb8BqbY 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/t4.ok: -------------------------------------------------------------------------------- 1 | MD5:3b:dd:44:e9:49:18:84:95:f1:e7:33:6b:9d:93:b1:36 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/t5.ok: -------------------------------------------------------------------------------- 1 | xokes-lylis-byleh-zebib-kalus-bihas-tevah-haroz-suhar-foved-noxex 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/transfer.sh: -------------------------------------------------------------------------------- 1 | # $OpenBSD: transfer.sh,v 1.4 2017/04/30 23:34:55 djm Exp $ 2 | # Placed in the Public Domain. 3 | 4 | tid="transfer data" 5 | 6 | rm -f ${COPY} 7 | ${SSH} -n -q -F $OBJ/ssh_proxy somehost cat ${DATA} > ${COPY} 8 | if [ $? -ne 0 ]; then 9 | fail "ssh cat $DATA failed" 10 | fi 11 | cmp ${DATA} ${COPY} || fail "corrupted copy" 12 | 13 | for s in 10 100 1k 32k 64k 128k 256k; do 14 | trace "dd-size ${s}" 15 | rm -f ${COPY} 16 | dd if=$DATA obs=${s} 2> /dev/null | \ 17 | ${SSH} -q -F $OBJ/ssh_proxy somehost "cat > ${COPY}" 18 | if [ $? -ne 0 ]; then 19 | fail "ssh cat $DATA failed" 20 | fi 21 | cmp $DATA ${COPY} || fail "corrupted copy" 22 | done 23 | rm -f ${COPY} 24 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/Makefile: -------------------------------------------------------------------------------- 1 | # $OpenBSD: Makefile,v 1.13 2023/09/24 08:14:13 claudio Exp $ 2 | 3 | SUBDIR= test_helper sshbuf sshkey bitmap kex hostkeys utf8 match conversion 4 | SUBDIR+=authopt misc sshsig 5 | 6 | .include 7 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/authopt/testdata/all_permit.cert: -------------------------------------------------------------------------------- 1 | ssh-ed25519-cert-v01@openssh.com AAAAIHNzaC1lZDI1NTE5LWNlcnQtdjAxQG9wZW5zc2guY29tAAAAIOv/h7mJS1WkRHukSvqPwKDiNVrcib/VqBLpbHW6xjWCAAAAICeF4LbtRqwIRhewXifa5PKpbSU9P/K8CzeVYj8J/iBoAAAAAAAAAAEAAAABAAAABHVzZXIAAAAIAAAABHVzZXIAAAAANouDYAAAAAA4a2VgAAAAAAAAAIIAAAAVcGVybWl0LVgxMS1mb3J3YXJkaW5nAAAAAAAAABdwZXJtaXQtYWdlbnQtZm9yd2FyZGluZwAAAAAAAAAWcGVybWl0LXBvcnQtZm9yd2FyZGluZwAAAAAAAAAKcGVybWl0LXB0eQAAAAAAAAAOcGVybWl0LXVzZXItcmMAAAAAAAAAAAAAADMAAAALc3NoLWVkMjU1MTkAAAAgKFWCzCzQTh9UkoHphbgwaa86Q16Kern0UjqOr7Q+Jk8AAABTAAAAC3NzaC1lZDI1NTE5AAAAQNe1XDN+J4Eb82TH5J5sYypcabocufjTFRfpU57K+csRP41Yo1FCSEWx95ilUuNvK9Iv3yFDOeVPzdqRqzWoHwE= user key 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/authopt/testdata/bad_sourceaddr.cert: -------------------------------------------------------------------------------- 1 | ssh-ed25519-cert-v01@openssh.com AAAAIHNzaC1lZDI1NTE5LWNlcnQtdjAxQG9wZW5zc2guY29tAAAAILFEJyunlz9scYU3mwbOEJoSSkeO1z20uNBw13tEn+lJAAAAICeF4LbtRqwIRhewXifa5PKpbSU9P/K8CzeVYj8J/iBoAAAAAAAAAAEAAAABAAAABHVzZXIAAAAIAAAABHVzZXIAAAAANouDYAAAAAA4a2VgAAAAHwAAAA5zb3VyY2UtYWRkcmVzcwAAAAkAAAAFeHh4eHgAAACCAAAAFXBlcm1pdC1YMTEtZm9yd2FyZGluZwAAAAAAAAAXcGVybWl0LWFnZW50LWZvcndhcmRpbmcAAAAAAAAAFnBlcm1pdC1wb3J0LWZvcndhcmRpbmcAAAAAAAAACnBlcm1pdC1wdHkAAAAAAAAADnBlcm1pdC11c2VyLXJjAAAAAAAAAAAAAAAzAAAAC3NzaC1lZDI1NTE5AAAAIChVgsws0E4fVJKB6YW4MGmvOkNeinq59FI6jq+0PiZPAAAAUwAAAAtzc2gtZWQyNTUxOQAAAEA5xY/OEAJ3tgg8/KJqaBR5KMdYYRDiMJ6u4VKS9lQOV1HJQvDDvjj3F5k53BIqTJRVQx242YWs+B3C4db/uLgB user key 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/authopt/testdata/force_command.cert: -------------------------------------------------------------------------------- 1 | ssh-ed25519-cert-v01@openssh.com AAAAIHNzaC1lZDI1NTE5LWNlcnQtdjAxQG9wZW5zc2guY29tAAAAIJkpCeqaVl6qnp7qa90KehAmHFecx3HW8HZQ22KEqeKBAAAAICeF4LbtRqwIRhewXifa5PKpbSU9P/K8CzeVYj8J/iBoAAAAAAAAAAEAAAABAAAABHVzZXIAAAAIAAAABHVzZXIAAAAANouDYAAAAAA4a2VgAAAAHAAAAA1mb3JjZS1jb21tYW5kAAAABwAAAANmb28AAACCAAAAFXBlcm1pdC1YMTEtZm9yd2FyZGluZwAAAAAAAAAXcGVybWl0LWFnZW50LWZvcndhcmRpbmcAAAAAAAAAFnBlcm1pdC1wb3J0LWZvcndhcmRpbmcAAAAAAAAACnBlcm1pdC1wdHkAAAAAAAAADnBlcm1pdC11c2VyLXJjAAAAAAAAAAAAAAAzAAAAC3NzaC1lZDI1NTE5AAAAIChVgsws0E4fVJKB6YW4MGmvOkNeinq59FI6jq+0PiZPAAAAUwAAAAtzc2gtZWQyNTUxOQAAAEAxbhjgbXvfEumRP1E7VH8nUfuJyVlDChhCxiPg9Nvb9PFK8cHdDUEybDCzKCsIDieRc3mtLTyEu7Kb52va/B4C user key 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/authopt/testdata/host.cert: -------------------------------------------------------------------------------- 1 | ssh-ed25519-cert-v01@openssh.com AAAAIHNzaC1lZDI1NTE5LWNlcnQtdjAxQG9wZW5zc2guY29tAAAAIFWMw3ftP29RSefnxQwdvK1KiE2G9Y7rPRrJ7ZsrDiOeAAAAICeF4LbtRqwIRhewXifa5PKpbSU9P/K8CzeVYj8J/iBoAAAAAAAAAAEAAAACAAAABHVzZXIAAAAIAAAABHVzZXIAAAAANouDYAAAAAA4a2VgAAAAAAAAAAAAAAAAAAAAMwAAAAtzc2gtZWQyNTUxOQAAACAoVYLMLNBOH1SSgemFuDBprzpDXop6ufRSOo6vtD4mTwAAAFMAAAALc3NoLWVkMjU1MTkAAABAKTMqwPkaBg23RS7/aj347dc2kY4bWt/sHwzREYSrKRqZ5RNBnSvZOQ8m5euMCEuf92bZ8VJEdF653jRiW6VoBA== user key 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/authopt/testdata/no_agentfwd.cert: -------------------------------------------------------------------------------- 1 | ssh-ed25519-cert-v01@openssh.com AAAAIHNzaC1lZDI1NTE5LWNlcnQtdjAxQG9wZW5zc2guY29tAAAAIL2qEsLCVtKaBkbCrZicxbPUorcHHrQ8yw5h/26krTOlAAAAICeF4LbtRqwIRhewXifa5PKpbSU9P/K8CzeVYj8J/iBoAAAAAAAAAAEAAAABAAAABHVzZXIAAAAIAAAABHVzZXIAAAAANouDYAAAAAA4a2VgAAAAAAAAAGMAAAAVcGVybWl0LVgxMS1mb3J3YXJkaW5nAAAAAAAAABZwZXJtaXQtcG9ydC1mb3J3YXJkaW5nAAAAAAAAAApwZXJtaXQtcHR5AAAAAAAAAA5wZXJtaXQtdXNlci1yYwAAAAAAAAAAAAAAMwAAAAtzc2gtZWQyNTUxOQAAACAoVYLMLNBOH1SSgemFuDBprzpDXop6ufRSOo6vtD4mTwAAAFMAAAALc3NoLWVkMjU1MTkAAABAdRhISpol01OwV30g39PM/JD1t35muskX4lyCcGpFQ08GQtBuHE/hABOp6apbGBJIC7CZYYF+uHkD7PfGU3NPAQ== user key 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/authopt/testdata/no_permit.cert: -------------------------------------------------------------------------------- 1 | ssh-ed25519-cert-v01@openssh.com AAAAIHNzaC1lZDI1NTE5LWNlcnQtdjAxQG9wZW5zc2guY29tAAAAIGVQtVgp9sD4sc8esIhVWbZaM8d0NxpX3UbEVzTHm9feAAAAICeF4LbtRqwIRhewXifa5PKpbSU9P/K8CzeVYj8J/iBoAAAAAAAAAAEAAAABAAAABHVzZXIAAAAIAAAABHVzZXIAAAAANouDYAAAAAA4a2VgAAAAAAAAAAAAAAAAAAAAMwAAAAtzc2gtZWQyNTUxOQAAACAoVYLMLNBOH1SSgemFuDBprzpDXop6ufRSOo6vtD4mTwAAAFMAAAALc3NoLWVkMjU1MTkAAABAIKlI0TqqraKjYTjIuKhwoxAV/XnzWRJHq8lNs4aj5yDb84un2xXDF/0vXoLjPgVcLgEbksBKKn0i4whp+xn9Ag== user key 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/authopt/testdata/no_portfwd.cert: -------------------------------------------------------------------------------- 1 | ssh-ed25519-cert-v01@openssh.com AAAAIHNzaC1lZDI1NTE5LWNlcnQtdjAxQG9wZW5zc2guY29tAAAAIE6gC/QjjuzGWVDkr8ZyaHhja80V+lKLC/MvmEFa+CEBAAAAICeF4LbtRqwIRhewXifa5PKpbSU9P/K8CzeVYj8J/iBoAAAAAAAAAAEAAAABAAAABHVzZXIAAAAIAAAABHVzZXIAAAAANouDYAAAAAA4a2VgAAAAAAAAAGQAAAAVcGVybWl0LVgxMS1mb3J3YXJkaW5nAAAAAAAAABdwZXJtaXQtYWdlbnQtZm9yd2FyZGluZwAAAAAAAAAKcGVybWl0LXB0eQAAAAAAAAAOcGVybWl0LXVzZXItcmMAAAAAAAAAAAAAADMAAAALc3NoLWVkMjU1MTkAAAAgKFWCzCzQTh9UkoHphbgwaa86Q16Kern0UjqOr7Q+Jk8AAABTAAAAC3NzaC1lZDI1NTE5AAAAQEzpgckYlfc1BK1ir0reDSXo9OIDx4UoDMrNXrFO6I44NXoJJ4TlUUJH07WcKp/Xp5ESCdyVZtqwgHQxZr0+PwI= user key 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/authopt/testdata/no_pty.cert: -------------------------------------------------------------------------------- 1 | ssh-ed25519-cert-v01@openssh.com AAAAIHNzaC1lZDI1NTE5LWNlcnQtdjAxQG9wZW5zc2guY29tAAAAIFFjhISpSDR3blDejuCf2T9Fe4aHW53jG7KOH2PV/E7jAAAAICeF4LbtRqwIRhewXifa5PKpbSU9P/K8CzeVYj8J/iBoAAAAAAAAAAEAAAABAAAABHVzZXIAAAAIAAAABHVzZXIAAAAANouDYAAAAAA4a2VgAAAAAAAAAHAAAAAVcGVybWl0LVgxMS1mb3J3YXJkaW5nAAAAAAAAABdwZXJtaXQtYWdlbnQtZm9yd2FyZGluZwAAAAAAAAAWcGVybWl0LXBvcnQtZm9yd2FyZGluZwAAAAAAAAAOcGVybWl0LXVzZXItcmMAAAAAAAAAAAAAADMAAAALc3NoLWVkMjU1MTkAAAAgKFWCzCzQTh9UkoHphbgwaa86Q16Kern0UjqOr7Q+Jk8AAABTAAAAC3NzaC1lZDI1NTE5AAAAQF5c4BdxVYgqbMGAep414IGFK4deCFBCeNUTOLpKodrfb1M0gS4d2qoeMxZvMv5yMf/viKl/gallHzEmcrEcIQY= user key 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/authopt/testdata/no_user_rc.cert: -------------------------------------------------------------------------------- 1 | ssh-ed25519-cert-v01@openssh.com AAAAIHNzaC1lZDI1NTE5LWNlcnQtdjAxQG9wZW5zc2guY29tAAAAIFUM0VLATkYh05QeS5uuhB1X50NMom3jTWeQUmrPQ1FwAAAAICeF4LbtRqwIRhewXifa5PKpbSU9P/K8CzeVYj8J/iBoAAAAAAAAAAEAAAABAAAABHVzZXIAAAAIAAAABHVzZXIAAAAANouDYAAAAAA4a2VgAAAAAAAAAGwAAAAVcGVybWl0LVgxMS1mb3J3YXJkaW5nAAAAAAAAABdwZXJtaXQtYWdlbnQtZm9yd2FyZGluZwAAAAAAAAAWcGVybWl0LXBvcnQtZm9yd2FyZGluZwAAAAAAAAAKcGVybWl0LXB0eQAAAAAAAAAAAAAAMwAAAAtzc2gtZWQyNTUxOQAAACAoVYLMLNBOH1SSgemFuDBprzpDXop6ufRSOo6vtD4mTwAAAFMAAAALc3NoLWVkMjU1MTkAAABAcmJ3c2FCKJL9BCLv1Ij+uN1N+NWZmMXYionsSkv42Go4pMZiH3g8UfTd+OKq9Q7GAcCzGXa///6Dr/wqFssoDA== user key 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/authopt/testdata/no_x11fwd.cert: -------------------------------------------------------------------------------- 1 | ssh-ed25519-cert-v01@openssh.com AAAAIHNzaC1lZDI1NTE5LWNlcnQtdjAxQG9wZW5zc2guY29tAAAAIPRKPAP+b5S+4zihdgoJrYNcMovFBgKZaJupIhN1kUvkAAAAICeF4LbtRqwIRhewXifa5PKpbSU9P/K8CzeVYj8J/iBoAAAAAAAAAAEAAAABAAAABHVzZXIAAAAIAAAABHVzZXIAAAAANouDYAAAAAA4a2VgAAAAAAAAAGUAAAAXcGVybWl0LWFnZW50LWZvcndhcmRpbmcAAAAAAAAAFnBlcm1pdC1wb3J0LWZvcndhcmRpbmcAAAAAAAAACnBlcm1pdC1wdHkAAAAAAAAADnBlcm1pdC11c2VyLXJjAAAAAAAAAAAAAAAzAAAAC3NzaC1lZDI1NTE5AAAAIChVgsws0E4fVJKB6YW4MGmvOkNeinq59FI6jq+0PiZPAAAAUwAAAAtzc2gtZWQyNTUxOQAAAECMzj6VDfT+BJmIEo1qUKdr8VDLExF92K7KkbNxTH77n7uip7TL24HDfXjYBCvqxSSn9KAGBhnWsIC/GPx6A+cP user key 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/authopt/testdata/only_agentfwd.cert: -------------------------------------------------------------------------------- 1 | ssh-ed25519-cert-v01@openssh.com AAAAIHNzaC1lZDI1NTE5LWNlcnQtdjAxQG9wZW5zc2guY29tAAAAIOvJ28yW5uvA7yxE3ySuyFvPjcRYKAr03CYr4okGTNIFAAAAICeF4LbtRqwIRhewXifa5PKpbSU9P/K8CzeVYj8J/iBoAAAAAAAAAAEAAAABAAAABHVzZXIAAAAIAAAABHVzZXIAAAAANouDYAAAAAA4a2VgAAAAAAAAAB8AAAAXcGVybWl0LWFnZW50LWZvcndhcmRpbmcAAAAAAAAAAAAAADMAAAALc3NoLWVkMjU1MTkAAAAgKFWCzCzQTh9UkoHphbgwaa86Q16Kern0UjqOr7Q+Jk8AAABTAAAAC3NzaC1lZDI1NTE5AAAAQEG2uTgmOSk9dJ0s/Ol1EIERXFP9PF6AauF9t5jBMSthNyvSANSrC/1EIaf4TV5kMYfhZxJXoS0XHQjGndcq2AE= user key 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/authopt/testdata/only_portfwd.cert: -------------------------------------------------------------------------------- 1 | ssh-ed25519-cert-v01@openssh.com AAAAIHNzaC1lZDI1NTE5LWNlcnQtdjAxQG9wZW5zc2guY29tAAAAIGPoYoExiSyHMyDEvOFgoNZXk5z91u7xq/7357X23TotAAAAICeF4LbtRqwIRhewXifa5PKpbSU9P/K8CzeVYj8J/iBoAAAAAAAAAAEAAAABAAAABHVzZXIAAAAIAAAABHVzZXIAAAAANouDYAAAAAA4a2VgAAAAAAAAAB4AAAAWcGVybWl0LXBvcnQtZm9yd2FyZGluZwAAAAAAAAAAAAAAMwAAAAtzc2gtZWQyNTUxOQAAACAoVYLMLNBOH1SSgemFuDBprzpDXop6ufRSOo6vtD4mTwAAAFMAAAALc3NoLWVkMjU1MTkAAABAHN3YnwipcbDKVn+PObGSoaT9rwlau+yrPYZ50oetvCKng3RMjGaV+roqlv0vjjLcxE9J4Y0ti+9MXtQ0D7beBA== user key 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/authopt/testdata/only_pty.cert: -------------------------------------------------------------------------------- 1 | ssh-ed25519-cert-v01@openssh.com AAAAIHNzaC1lZDI1NTE5LWNlcnQtdjAxQG9wZW5zc2guY29tAAAAILvocWYto5Lg7P46YLbe7U4/b2h9Lr5rWqMZ4Cj4ra7RAAAAICeF4LbtRqwIRhewXifa5PKpbSU9P/K8CzeVYj8J/iBoAAAAAAAAAAEAAAABAAAABHVzZXIAAAAIAAAABHVzZXIAAAAANouDYAAAAAA4a2VgAAAAAAAAABIAAAAKcGVybWl0LXB0eQAAAAAAAAAAAAAAMwAAAAtzc2gtZWQyNTUxOQAAACAoVYLMLNBOH1SSgemFuDBprzpDXop6ufRSOo6vtD4mTwAAAFMAAAALc3NoLWVkMjU1MTkAAABASv2xQvp+Y6E8dCf5pzg3MZaan5bl1ToYXNcmQ3ysGrk9Djkcu8m3TytDpF471KmUejxy/iF4xjs9CDpk7h+SBQ== user key 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/authopt/testdata/only_user_rc.cert: -------------------------------------------------------------------------------- 1 | ssh-ed25519-cert-v01@openssh.com AAAAIHNzaC1lZDI1NTE5LWNlcnQtdjAxQG9wZW5zc2guY29tAAAAIJwsRZQ7kx4A8AQ0q/G/3i6sHM48kr4TxJtTcyy3lZAPAAAAICeF4LbtRqwIRhewXifa5PKpbSU9P/K8CzeVYj8J/iBoAAAAAAAAAAEAAAABAAAABHVzZXIAAAAIAAAABHVzZXIAAAAANouDYAAAAAA4a2VgAAAAAAAAABYAAAAOcGVybWl0LXVzZXItcmMAAAAAAAAAAAAAADMAAAALc3NoLWVkMjU1MTkAAAAgKFWCzCzQTh9UkoHphbgwaa86Q16Kern0UjqOr7Q+Jk8AAABTAAAAC3NzaC1lZDI1NTE5AAAAQDhgEXsvoHr21XrxmiZq/sIjWeYapp11XvEVkkTBPVhBnPwtrrUeJbPmGs3gmJkQdv8BYajYpT7TXEX8GvEeLwU= user key 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/authopt/testdata/only_x11fwd.cert: -------------------------------------------------------------------------------- 1 | ssh-ed25519-cert-v01@openssh.com AAAAIHNzaC1lZDI1NTE5LWNlcnQtdjAxQG9wZW5zc2guY29tAAAAIDAhZFZBl3eu8Qa8I5BaHCz/mpH8xCjaPusBwo1eJ9OGAAAAICeF4LbtRqwIRhewXifa5PKpbSU9P/K8CzeVYj8J/iBoAAAAAAAAAAEAAAABAAAABHVzZXIAAAAIAAAABHVzZXIAAAAANouDYAAAAAA4a2VgAAAAAAAAAB0AAAAVcGVybWl0LVgxMS1mb3J3YXJkaW5nAAAAAAAAAAAAAAAzAAAAC3NzaC1lZDI1NTE5AAAAIChVgsws0E4fVJKB6YW4MGmvOkNeinq59FI6jq+0PiZPAAAAUwAAAAtzc2gtZWQyNTUxOQAAAEDysfgbhniX/zdA8576rrDJpaO2D7QtQse2KWIM9XmREPkLKeP6FKiXKKFcPQiMyV28rptfvK8bBXAiOvITSUgL user key 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/authopt/testdata/sourceaddr.cert: -------------------------------------------------------------------------------- 1 | ssh-ed25519-cert-v01@openssh.com AAAAIHNzaC1lZDI1NTE5LWNlcnQtdjAxQG9wZW5zc2guY29tAAAAIJ54qqoPs87gtjN1aJoLUn7ZTYUtcaGxkzLyJvRkYG7nAAAAICeF4LbtRqwIRhewXifa5PKpbSU9P/K8CzeVYj8J/iBoAAAAAAAAAAEAAAABAAAABHVzZXIAAAAIAAAABHVzZXIAAAAANouDYAAAAAA4a2VgAAAALgAAAA5zb3VyY2UtYWRkcmVzcwAAABgAAAAUMTI3LjAuMC4xLzMyLDo6MS8xMjgAAACCAAAAFXBlcm1pdC1YMTEtZm9yd2FyZGluZwAAAAAAAAAXcGVybWl0LWFnZW50LWZvcndhcmRpbmcAAAAAAAAAFnBlcm1pdC1wb3J0LWZvcndhcmRpbmcAAAAAAAAACnBlcm1pdC1wdHkAAAAAAAAADnBlcm1pdC11c2VyLXJjAAAAAAAAAAAAAAAzAAAAC3NzaC1lZDI1NTE5AAAAIChVgsws0E4fVJKB6YW4MGmvOkNeinq59FI6jq+0PiZPAAAAUwAAAAtzc2gtZWQyNTUxOQAAAEAppSUKQ/a9tw/HgIazWceCO3d48GU7mkV4iQMpWWs2nB1dFryY1GDtZrBggAjMviwmBXyM3jIk5vxJDINZXGQJ user key 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/authopt/testdata/unknown_critical.cert: -------------------------------------------------------------------------------- 1 | ssh-ed25519-cert-v01@openssh.com AAAAIHNzaC1lZDI1NTE5LWNlcnQtdjAxQG9wZW5zc2guY29tAAAAIIjs/wRAB/p5QShSfqoU9cWnCLT3lSveUirk61A27KxVAAAAICeF4LbtRqwIRhewXifa5PKpbSU9P/K8CzeVYj8J/iBoAAAAAAAAAAEAAAABAAAABHVzZXIAAAAIAAAABHVzZXIAAAAANouDYAAAAAA4a2VgAAAAEwAAAARibGFoAAAABwAAAANmb28AAACCAAAAFXBlcm1pdC1YMTEtZm9yd2FyZGluZwAAAAAAAAAXcGVybWl0LWFnZW50LWZvcndhcmRpbmcAAAAAAAAAFnBlcm1pdC1wb3J0LWZvcndhcmRpbmcAAAAAAAAACnBlcm1pdC1wdHkAAAAAAAAADnBlcm1pdC11c2VyLXJjAAAAAAAAAAAAAAAzAAAAC3NzaC1lZDI1NTE5AAAAIChVgsws0E4fVJKB6YW4MGmvOkNeinq59FI6jq+0PiZPAAAAUwAAAAtzc2gtZWQyNTUxOQAAAEDix3FV7JIBuHNAwtZOVIqGBq8lqhnEwP51DqPA43qt+Tzynm56EWxuFzgGehBPF3L8gl+fVqxIJmiQ9iHB0LUD user key 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/bitmap/Makefile: -------------------------------------------------------------------------------- 1 | # $OpenBSD: Makefile,v 1.4 2017/12/21 00:41:22 djm Exp $ 2 | 3 | PROG=test_bitmap 4 | SRCS=tests.c 5 | 6 | # From usr.sbin/ssh 7 | SRCS+=bitmap.c atomicio.c 8 | 9 | REGRESS_TARGETS=run-regress-${PROG} 10 | 11 | run-regress-${PROG}: ${PROG} 12 | env ${TEST_ENV} ./${PROG} 13 | 14 | .include 15 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/conversion/Makefile: -------------------------------------------------------------------------------- 1 | # $OpenBSD: Makefile,v 1.4 2021/01/09 12:24:30 dtucker Exp $ 2 | 3 | PROG=test_conversion 4 | SRCS=tests.c 5 | 6 | # From usr.bin/ssh 7 | SRCS+=sshbuf-getput-basic.c sshbuf-getput-crypto.c sshbuf-misc.c sshbuf.c 8 | SRCS+=atomicio.c misc.c xmalloc.c log.c uidswap.c cleanup.c fatal.c ssherr.c 9 | SRCS+=match.c addr.c addrmatch.c 10 | 11 | REGRESS_TARGETS=run-regress-${PROG} 12 | 13 | run-regress-${PROG}: ${PROG} 14 | env ${TEST_ENV} ./${PROG} 15 | 16 | .include 17 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/hostkeys/testdata/dsa_1.pub: -------------------------------------------------------------------------------- 1 | ssh-dss AAAAB3NzaC1kc3MAAACBAOqffHxEW4c+Z9q/r3l4sYK8F7qrBsU8XF9upGsW62T9InROFFq9IO0x3pQ6mDA0Wtw0sqcDmkPCHPyP4Ok/fU3/drLaZusHoVYu8pBBrWsIDrKgkeX9TEodBsSrYdl4Sqtqq9EZv9+DttV6LStZrgYyUTOKwOF95wGantpLynX5AAAAFQDdt+zjRNlETDsgmxcSYFgREirJrQAAAIBQlrPaiPhR24FhnMLcHH4016vL7AqDDID6Qw7PhbXGa4/XlxWMIigjBKrIPKvnZ6p712LSnCKtcbfdx0MtmJlNa01CYqPaRhgRaf+uGdvTkTUcdaq8R5lLJL+JMNwUhcC8ijm3NqEjXjffuebGe1EzIeiITbA7Nndcd+GytwRDegAAAIEAkRYPjSVcUxfUHhHdpP6V8CuY1+CYSs9EPJ7iiWTDuXWVIBTU32oJLAnrmAcOwtIzEfPvm+rff5FI/Yhon2pB3VTXhPPEBjYzE5qANanAT4e6tzAVc5f3DUhHaDknwRYfDz86GFvuLtDjeE/UZ9t6OofYoEsCBpYozLAprBvNIQY= DSA #1 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/hostkeys/testdata/dsa_2.pub: -------------------------------------------------------------------------------- 1 | ssh-dss AAAAB3NzaC1kc3MAAACBAI38Hy/61/O5Bp6yUG8J5XQCeNjRS0xvjlCdzKLyXCueMa+L+X2L/u9PWUsy5SVbTjGgpB8sF6UkCNsV+va7S8zCCHas2MZ7GPlxP6GZBkRPTIFR0N/Pu7wfBzDQz0t0iL4VmxBfTBQv/SxkGWZg+yHihIQP9fwdSAwD/7aVh6ItAAAAFQDSyihIUlINlswM0PJ8wXSti3yIMwAAAIB+oqzaB6ozqs8YxpN5oQOBa/9HEBQEsp8RSIlQmVubXRNgktp42n+Ii1waU9UUk8DX5ahhIeR6B7ojWkqmDAji4SKpoHf4kmr6HvYo85ZSTSx0W4YK/gJHSpDJwhlT52tAfb1JCbWSObjl09B4STv7KedCHcR5oXQvvrV+XoKOSAAAAIAue/EXrs2INw1RfaKNHC0oqOMxmRitv0BFMuNVPo1VDj39CE5kA7AHjwvS1TNeaHtK5Hhgeb6vsmLmNPTOc8xCob0ilyQbt9O0GbONeF2Ge7D2UJyULA/hxql+tCYFIC6yUrmo35fF9XiNisXLoaflk9fjp7ROWWVwnki/jstaQw== DSA #2 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/hostkeys/testdata/dsa_3.pub: -------------------------------------------------------------------------------- 1 | ssh-dss AAAAB3NzaC1kc3MAAACBAI6lz2Ip9bzE7TGuDD4SjO9S4Ac90gq0h6ai1O06eI8t/Ot2uJ5Jk2QyVr2jvIZHDl/5bwBx7+5oyjlwRoUrAPPD814wf5tU2tSnmdu1Wbf0cBswif5q0r4tevzmopp/AtgH11QHo3u0/pfyJd10qBDLV2FaYSKMmZvyPfZJ0s9pAAAAFQD5Eqjl6Rx2qVePodD9OwAPT0bU6wAAAIAfnDm6csZF0sFaJR3NIJvaYgSGr8s7cqlsk2gLltB/1wOOO2yX+NeEC+B0H93hlMfaUsPa08bwgmYxnavSMqEBpmtPceefJiEd68zwYqXd38f88wyWZ9Z5iwaI/6OVZPHzCbDxOa4ewVTevRNYUKP1xUTZNT8/gSMfZLYPk4T2AQAAAIAUKroozRMyV+3V/rxt0gFnNxRXBKk+9cl3vgsQ7ktkI9cYg7V1T2K0XF21AVMK9gODszy6PBJjV6ruXBV6TRiqIbQauivp3bHHKYsG6wiJNqwdbVwIjfvv8nn1qFoZQLXG3sdONr9NwN8KzrX89OV0BlR2dVM5qqp+YxOXymP9yg== DSA #3 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/hostkeys/testdata/dsa_4.pub: -------------------------------------------------------------------------------- 1 | ssh-dss AAAAB3NzaC1kc3MAAACBAKvjnFHm0VvMr5h2Zu3nURsxQKGoxm+DCzYDxRYcilK07Cm5c4XTrFbA2X86+9sGs++W7QRMcTJUYIg0a+UtIMtAjwORd6ZPXM2K5dBW+gh1oHyvKi767tWX7I2c+1ZPJDY95mUUfZQUEfdy9eGDSBmw/pSsveQ1ur6XNUh/MtP/AAAAFQDHnXk/9jBJAdce1pHtLWnbdPSGdQAAAIEAm2OLy8tZBfiEO3c3X1yyB/GTcDwrQCqRMDkhnsmrliec3dWkOfNTzu+MrdvF8ymTWLEqPpbMheYtvNyZ3TF0HO5W7aVBpdGZbOdOAIfB+6skqGbI8A5Up1d7dak/bSsqL2r5NjwbDOdq+1hBzzvbl/qjh+sQarV2zHrpKoQaV28AAACANtkBVedBbqIAdphCrN/LbUi9WlyuF9UZz+tlpVLYrj8GJVwnplV2tvOmUw6yP5/pzCimTsao8dpL5PWxm7fKxLWVxA+lEsA4WeC885CiZn8xhdaJOCN+NyJ2bqkz+4VPI7oDGBm0aFwUqJn+M1PiSgvI50XdF2dBsFRTRNY0wzA= DSA #4 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/hostkeys/testdata/dsa_5.pub: -------------------------------------------------------------------------------- 1 | ssh-dss AAAAB3NzaC1kc3MAAACBALrFy7w5ihlaOG+qR+6fj+vm5EQaO3qwxgACLcgH+VfShuOG4mkx8qFJmf+OZ3fh5iKngjNZfKtfcqI7zHWdk6378TQfQC52/kbZukjNXOLCpyNkogahcjA00onIoTK1RUDuMW28edAHwPFbpttXDTaqis+8JPMY8hZwsZGENCzTAAAAFQD6+It5vozwGgaN9ROYPMlByhi6jwAAAIBz2mcAC694vNzz9b6614gkX9d9E99PzJYfU1MPkXDziKg7MrjBw7Opd5y1jL09S3iL6lSTlHkKwVKvQ3pOwWRwXXRrKVus4I0STveoApm526jmp6mY0YEtqR98vMJ0v97h1ydt8FikKlihefCsnXVicb8887PXs2Y8C6GuFT3tfQAAAIBbmHtV5tPcrMRDkULhaQ/Whap2VKvT2DUhIHA7lx6oy/KpkltOpxDZOIGUHKqffGbiR7Jh01/y090AY5L2eCf0S2Ytx93+eADwVVpJbFJo6zSwfeey2Gm6L2oA+rCz9zTdmtZoekpD3/RAOQjnJIAPwbs7mXwabZTw4xRtiYIRrw== DSA #5 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/hostkeys/testdata/dsa_6.pub: -------------------------------------------------------------------------------- 1 | ssh-dss AAAAB3NzaC1kc3MAAACBAIutigAse65TCW6hHDOEGXenE9L4L0talHbs65hj3UUNtWflKdQeXLofqXgW8AwaDKmnuRPrxRoxVNXj84n45wtBEdt4ztmdAZteAbXSnHqpcxME3jDxh3EtxzGPXLs+RUmKPVguraSgo7W2oN7KFx6VM+AcAtxANSTlvDid3s47AAAAFQCd9Q3kkHSLWe77sW0eRaayI45ovwAAAIAw6srGF6xvFasI44Y3r9JJ2K+3ezozl3ldL3p2+p2HG3iWafC4SdV8pB6ZIxKlYAywiiFb3LzH/JweGFq1jtoFDRM3MlYORBevydU4zPz7b5QLDVB0sY4evYtWmg2BFJvoWRfhLnlZVW7h5N8v4fNIwdVmVsw4Ljes7iF2HRGhHgAAAIBDFT3fww2Oby1xUA6G9pDAcVikrQFqp1sJRylNTUyeyQ37SNAGzYxwHJFgQr8gZLdRQ1UW+idYpqVbVNcYFMOiw/zSqK2OfVwPZ9U+TTKdc992ChSup6vJEKM/ZVIyDWDbJr7igQ4ahy7jo9mFvm8ljN926EnspQzCvs0Dxk6tHA== DSA #6 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/hostkeys/testdata/ecdsa_1.pub: -------------------------------------------------------------------------------- 1 | ecdsa-sha2-nistp384 AAAAE2VjZHNhLXNoYTItbmlzdHAzODQAAAAIbmlzdHAzODQAAABhBF6yQEtD9yBw9gmDRf477WBBzvWhAa0ioBI3nbA4emKykj0RbuQd5C4XdQAEOZGzE7v//FcCjwB2wi+JH5eKkxCtN6CjohDASZ1huoIV2UVyYIicZJEEOg1IWjjphvaxtw== ECDSA #1 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/hostkeys/testdata/ecdsa_2.pub: -------------------------------------------------------------------------------- 1 | ecdsa-sha2-nistp521 AAAAE2VjZHNhLXNoYTItbmlzdHA1MjEAAAAIbmlzdHA1MjEAAACFBAB8qVcXwgBM92NCmReQlPrZAoui4Bz/mW0VUBFOpHXXW1n+15b/Y7Pc6UBd/ITTZmaBciXY+PWaSBGdwc5GdqGdLgFyJ/QAGrFMPNpVutm/82gNQzlxpNwjbMcKyiZEXzSgnjS6DzMQ0WuSMdzIBXq8OW/Kafxg4ZkU6YqALUXxlQMZuQ== ECDSA #2 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/hostkeys/testdata/ecdsa_3.pub: -------------------------------------------------------------------------------- 1 | ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBIb3BhJZk+vUQPg5TQc1koIzuGqloCq7wjr9LjlhG24IBeiFHLsdWw74HDlH4DrOmlxToVYk2lTdnjARleRByjk= ECDSA #3 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/hostkeys/testdata/ecdsa_4.pub: -------------------------------------------------------------------------------- 1 | ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHZd0OXHIWwK3xnjAdMZ1tojxWycdu38pORO/UX5cqsKMgGCKQVBWWO3TFk1ePkGIE9VMWT1hCGqWRRwYlH+dSE= ECDSA #4 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/hostkeys/testdata/ecdsa_5.pub: -------------------------------------------------------------------------------- 1 | ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPIudcagzq4QPtP1jkpje34+0POLB0jwT64hqrbCqhTH2T800KDZ0h2vwlJYa3OP3Oqru9AB5pnuHsKw7mAhUGY= ECDSA #5 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/hostkeys/testdata/ecdsa_6.pub: -------------------------------------------------------------------------------- 1 | ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBK1wRLyKtvK3Mmhd0XPkKwW4ev1KBVf8J4aG8lESq1TsaqqfOXYGyxMq5pN8fCGiD5UPOqyTYz/ZNzClRhJRHao= ECDSA #6 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/hostkeys/testdata/ed25519_1.pub: -------------------------------------------------------------------------------- 1 | ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK9ks7jkua5YWIwByRnnnc6UPJQWI75O0e/UJdPYU1JI ED25519 #1 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/hostkeys/testdata/ed25519_2.pub: -------------------------------------------------------------------------------- 1 | ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIBp6PVW0z2o9C4Ukv/JOgmK7QMFe1pD1s3ADFF7IQob ED25519 #2 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/hostkeys/testdata/ed25519_3.pub: -------------------------------------------------------------------------------- 1 | ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBlYfExtYZAPqYvYdrlpGlSWhh/XNHcH3v3c2JzsVNbB ED25519 #3 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/hostkeys/testdata/ed25519_4.pub: -------------------------------------------------------------------------------- 1 | ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDFP8L9REfN/iYy1KIRtFqSCn3V2+vOCpoZYENFGLdOF ED25519 #4 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/hostkeys/testdata/ed25519_5.pub: -------------------------------------------------------------------------------- 1 | ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINf63qSV8rD57N+digID8t28WVhd3Yf2K2UhaoG8TsWQ ED25519 #5 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/hostkeys/testdata/ed25519_6.pub: -------------------------------------------------------------------------------- 1 | ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPLW0ZwCkRQldpLa4I5BpwGa/om+WE6OgC8jdVqakt0Z ED25519 #6 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/hostkeys/testdata/rsa1_1.pub: -------------------------------------------------------------------------------- 1 | 1024 65537 153895431603677073925890314548566704948446776958334195280085080329934839226701954473292358821568047724356487621573742372399387931887004184139835510820577359977148363519970774657801798872789118894962853659233045778161859413980935372685480527355016624825696983269800574755126132814333241868538220824608980319407 RSA1 #1 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/hostkeys/testdata/rsa1_2.pub: -------------------------------------------------------------------------------- 1 | 1024 65537 135970715082947442639683969597180728933388298633245835186618852623800675939308729462220235058285909679252157995530180587329132927339620517781785310829060832352381015614725360278571924286986474946772141568893116432268565829418506866604294073334978275702221949783314402806080929601995102334442541344606109853641 RSA1 #2 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/hostkeys/testdata/rsa1_3.pub: -------------------------------------------------------------------------------- 1 | 1024 65537 125895605498029643697051635076028105429632810811904702876152645261610759866299221305725069141163240694267669117205342283569102183636228981857946763978553664895308762890072813014496700601576921921752482059207749978374872713540759920335553799711267170948655579130584031555334229966603000896364091459595522912269 RSA1 #3 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/hostkeys/testdata/rsa1_4.pub: -------------------------------------------------------------------------------- 1 | 1024 65537 174143366122697048196335388217056770310345753698079464367148030836533360510864881734142526411160017107552815906024399248049666856133771656680462456979369587903909343046704480897527203474513676654933090991684252819423129896444427656841613263783484827101210734799449281639493127615902427443211183258155381810593 RSA1 #4 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/hostkeys/testdata/rsa1_5.pub: -------------------------------------------------------------------------------- 1 | 1024 65537 127931411493401587586867047972295564331543694182352197506125410692673654572057908999642645524647232712160516076508316152810117209181150078352725299319149726341058893406440426414316276977768958023952319602422835879783057966985348561111880658922724668687074412548487722084792283453716871417610020757212399252171 RSA1 #5 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/hostkeys/testdata/rsa1_6.pub: -------------------------------------------------------------------------------- 1 | 1024 65537 140883028436203600354693376066567741282115117509696517282419557936340193768851493584179972504103033755515036493433917203732876685813283050574208967197963391667532902202382549275760997891673884333346000558018002659506756213191532156293935482587878596032743105911487673274674568768638010598205190227631909167257 RSA1 #6 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/hostkeys/testdata/rsa_1.pub: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDg4hB4vAZHJ0PVRiJajOv/GlytFWNpv5/9xgB9+5BIbvp8LOrFZ5D9K0Gsmwpd4G4rfaAz8j896DhMArg0vtkilIPPGt/6VzWMERgvaIQPJ/IE99X3+fjcAG56oAWwy29JX10lQMzBPU6XJIaN/zqpkb6qUBiAHBdLpxrFBBU0/w== RSA #1 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/hostkeys/testdata/rsa_2.pub: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDmbUhNabB5AmBDX6GNHZ3lbn7pRxqfpW+f53QqNGlK0sLV+0gkMIrOfUp1kdE2ZLE6tfzdicatj/RlH6/wuo4yyYb+Pyx3G0vxdmAIiA4aANq38XweDucBC0TZkRWVHK+Gs5V/uV0z7N0axJvkkJujMLvST3CRiiWwlficBc6yVQ== RSA #2 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/hostkeys/testdata/rsa_3.pub: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDX8F93W3SH4ZSus4XUQ2cw9dqcuyUETTlKEeGv3zlknV3YCoe2Mp04naDhiuwj8sOsytrZSESzLY1ZEyzrjxE6ZFVv8NKgck/AbRjcwlRFOcx9oKUxOrXRa0IoXlTq0kyjKCJfaHBKnGitZThknCPTbVmpATkm5xx6J0WEDozfoQ== RSA #3 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/hostkeys/testdata/rsa_4.pub: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDI8AdjBAozcdRnIikVlt69iyDHKyrtxmpdkbRy9bWaL86OH+PTmLUk5e+T/ufiakpeE2pm0hkE3e4Sh/FsY+rsQdRoraWVNFfchcMeVlKvuy5RZN0ElvmaQebOJUeNeBn2LLw8aL8bJ4CP/bQRKrmrSSqjz3+4H9YNVyyk1OGBPQ== RSA #4 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/hostkeys/testdata/rsa_5.pub: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQC/C15Q4sfnk7BZff1er8bscay+5s51oD4eWArlHWMK/ZfYeeTAccTy+7B7Jv+MS4nKCpflrvJI2RQz4kS8vF0ATdBbi4jeWefStlHNg0HLhnCY7NAfDIlRdaN9lm3Pqm2vmr+CkqwcJaSpycDg8nPN9yNAuD6pv7NDuUnECezojQ== RSA #5 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/hostkeys/testdata/rsa_6.pub: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQClu/3I6GG1Ai89Imnw0vXmWJ2OW0ftQwRrsbIAD0qzLFYpkJ76QWnzpCehvK9u0L5hcw7z2Y6mRLcSBsqONc+HVU73Qi7M4zHRvtjprPs3SOyLpf0J9sL1WiHBDwg2P0miHMCdqHDd5nVXkJB2d4eeecmgezGLa29NOHZjbza5yw== RSA #6 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/hostkeys/tests.c: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: tests.c,v 1.1 2015/02/16 22:18:34 djm Exp $ */ 2 | /* 3 | * Regress test for known_hosts-related API. 4 | * 5 | * Placed in the public domain 6 | */ 7 | 8 | void tests(void); 9 | void test_iterate(void); /* test_iterate.c */ 10 | 11 | void 12 | tests(void) 13 | { 14 | test_iterate(); 15 | } 16 | 17 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/kex/tests.c: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: tests.c,v 1.3 2023/03/06 12:15:47 dtucker Exp $ */ 2 | /* 3 | * Placed in the public domain 4 | */ 5 | 6 | #include "../test_helper/test_helper.h" 7 | 8 | void kex_tests(void); 9 | void kex_proposal_tests(void); 10 | void kex_proposal_populate_tests(void); 11 | 12 | void 13 | tests(void) 14 | { 15 | kex_tests(); 16 | kex_proposal_tests(); 17 | kex_proposal_populate_tests(); 18 | } 19 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/match/Makefile: -------------------------------------------------------------------------------- 1 | # $OpenBSD: Makefile,v 1.5 2021/01/09 12:24:31 dtucker Exp $ 2 | 3 | PROG=test_match 4 | SRCS=tests.c 5 | 6 | # From usr.bin/ssh 7 | SRCS+=sshbuf-getput-basic.c sshbuf-getput-crypto.c sshbuf-misc.c sshbuf.c 8 | SRCS+=match.c misc.c log.c uidswap.c fatal.c ssherr.c addrmatch.c xmalloc.c 9 | SRCS+=cleanup.c atomicio.c addr.c 10 | 11 | REGRESS_TARGETS=run-regress-${PROG} 12 | 13 | run-regress-${PROG}: ${PROG} 14 | env ${TEST_ENV} ./${PROG} 15 | 16 | .include 17 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/dsa_1-cert.fp: -------------------------------------------------------------------------------- 1 | SHA256:kOLgXSoAT8O5T6r36n5NJUYigbux1d7gdH/rmWiJm6s 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/dsa_1.fp: -------------------------------------------------------------------------------- 1 | SHA256:kOLgXSoAT8O5T6r36n5NJUYigbux1d7gdH/rmWiJm6s 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/dsa_1.fp.bb: -------------------------------------------------------------------------------- 1 | xetag-todiz-mifah-torec-mynyv-cyvit-gopon-pygag-rupic-cenav-bexax 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/dsa_1.param.g: -------------------------------------------------------------------------------- 1 | 00eee5f505556d24a8cb996ae9c3adbe97fc525c0e6bafb30706e5a3882615dd51c17d725a403c910ed1ae109283c1dcea62069ca460291962ff72e06d27d9d286c525e86446d116b4de0f87c7d551e4bbe2241b23015078a9581c894d4d1a06b406dd8b79c7755f81064110735577ae3a98aa18cea33ff236c8332cd0f6e87add 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/dsa_1.param.priv: -------------------------------------------------------------------------------- 1 | 5821b43929f5ec66e04fb967b9149cf795d68483 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/dsa_1.param.pub: -------------------------------------------------------------------------------- 1 | 00e757a727e6a1b10168ea9902ebe08f53f4ba18c6d8fdf551fbabbf6d8558f054dc0f6aae4c5b397c04d0bc2f8c2bebb1057f96b621273fed8b2b38d1579a86e956644e520073171887fde4b88b4a0697323928ee3a28b7e2caf3896d2f29b067840c9d88e765249c95fd54bb240c714b5bdf8f88d2ef58727ca1a7699216c42d 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/dsa_1.pub: -------------------------------------------------------------------------------- 1 | ssh-dss AAAAB3NzaC1kc3MAAACBAPqS600VGwdPAQC/p3f0uGyrLVql0cFn1zYd/JGvtabKnIYjLaYprje/NcjwI3CZFJiz4Dp3S8kLs+X5/1DMn/Tg1Y4D4yLB+6vCtHcJF7rVBFhvw/KZwc7G54ez3khyOtsg82fzpyOc8/mq+/+C5TMKO7DDjMF0k5emWKCsa3ZfAAAAFQCjA/+dKkMu4/CWjJPtfl7YNaStNQAAAIEA7uX1BVVtJKjLmWrpw62+l/xSXA5rr7MHBuWjiCYV3VHBfXJaQDyRDtGuEJKDwdzqYgacpGApGWL/cuBtJ9nShsUl6GRG0Ra03g+Hx9VR5LviJBsjAVB4qVgciU1NGga0Bt2Lecd1X4EGQRBzVXeuOpiqGM6jP/I2yDMs0Pboet0AAACBAOdXpyfmobEBaOqZAuvgj1P0uhjG2P31Ufurv22FWPBU3A9qrkxbOXwE0LwvjCvrsQV/lrYhJz/tiys40VeahulWZE5SAHMXGIf95LiLSgaXMjko7joot+LK84ltLymwZ4QMnYjnZSSclf1UuyQMcUtb34+I0u9Ycnyhp2mSFsQt DSA test key #1 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/dsa_2.fp: -------------------------------------------------------------------------------- 1 | SHA256:ecwhWcXgpdBxZ2e+OjpRRY7dqXHHCD62BGtoVQQBwCk 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/dsa_2.fp.bb: -------------------------------------------------------------------------------- 1 | xeser-megad-pocan-rozit-belup-tapoh-fapif-kyvit-vonav-cehab-naxax 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/dsa_2.pub: -------------------------------------------------------------------------------- 1 | ssh-dss AAAAB3NzaC1kc3MAAACBAJvI9c10d4uyOmhs9UIyR9qAGS3XlmyW2p/88Y0/XLVy7PuuxNdl6RDBSRJM2blyipd75k7DY7i2OhskN3rQjX9U+BoHQ1iVBH0efzszbzhYPh/pVj5q6ceY/XfhrzJsbkbg2pU0XeKG/EBHalUhOpvuQTjqva5hk1w2Ucjy+hELAAAAFQDHD28KhTbEGx+aScmVt9MI+ClWdwAAAIEAgr3wFV4pBV/yoMWrH2i8y42BVLGl343Ri1rlkTLU4jbOK7lGGO54gzYrsarYyenfyhvUAzncFTGqVwElocQNrquPrK+4yBb2gIl0iYEzywgXF8Ftc1ukmIxoPBrpbJPzg6SkMTq64B6lMydY5RaRRWQCLKiQcNQZeQYbKhBuVtcAAACBAIsf7TaZ804sUWwRV0wI8DYx+hxD5QdrfYPYMtL2fHn3lICimGt0FTtUZ25jKg0E0DMBPdET6ZEHB3ZZkR8hFoUzZhdnyJMu3UjVtgaV88Ue3PrXxchk0W2jHPaAgQU3JIWzo8HFIFqvC/HEL+EyW3rBTY2uXM3XGI+YcWSA4ZrZ DSA test key #2 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ecdsa_1: -------------------------------------------------------------------------------- 1 | -----BEGIN EC PRIVATE KEY----- 2 | MHcCAQEEIPPNyUAnjvFr+eT/7t/IyjuQQd/aLFiTY92LB9gIjyrMoAoGCCqGSM49 3 | AwEHoUQDQgAEDFlblkOrW9ydKVhtM+9AY3c9saBE7SG3lFx38nBavkADDaI9jh3/ 4 | kvG/Jt9vpm22qwoklTCGDfzCkXkIKaWlBw== 5 | -----END EC PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ecdsa_1-cert.fp: -------------------------------------------------------------------------------- 1 | SHA256:8ty77fOpABat1y88aNdclQTfU+lVvWe7jYZGw8VYtfg 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ecdsa_1-cert.pub: -------------------------------------------------------------------------------- 1 | ecdsa-sha2-nistp256-cert-v01@openssh.com AAAAKGVjZHNhLXNoYTItbmlzdHAyNTYtY2VydC12MDFAb3BlbnNzaC5jb20AAAAgOtFRnMigkGliaYfPmX5IidVWfV3tRH6lqRXv0l8bvKoAAAAIbmlzdHAyNTYAAABBBAxZW5ZDq1vcnSlYbTPvQGN3PbGgRO0ht5Rcd/JwWr5AAw2iPY4d/5Lxvybfb6ZttqsKJJUwhg38wpF5CCmlpQcAAAAAAAAABwAAAAIAAAAGanVsaXVzAAAAEgAAAAVob3N0MQAAAAVob3N0MgAAAAA2jAHwAAAAAE0eYHAAAAAAAAAAAAAAAAAAAABoAAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBAxZW5ZDq1vcnSlYbTPvQGN3PbGgRO0ht5Rcd/JwWr5AAw2iPY4d/5Lxvybfb6ZttqsKJJUwhg38wpF5CCmlpQcAAABkAAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAABJAAAAIHbxGwTnue7KxhHXGFvRcxBnekhQ3Qx84vV/Vs4oVCrpAAAAIQC7vk2+d14aS7td7kVXLQn392oALjEBzMZoDvT1vT/zOA== ECDSA test key #1 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ecdsa_1.fp: -------------------------------------------------------------------------------- 1 | SHA256:8ty77fOpABat1y88aNdclQTfU+lVvWe7jYZGw8VYtfg 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ecdsa_1.fp.bb: -------------------------------------------------------------------------------- 1 | xibah-vocun-sogyn-byhen-rivem-hegyh-luneh-dozyr-vatyf-dufid-myxyx 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ecdsa_1.param.curve: -------------------------------------------------------------------------------- 1 | prime256v1 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ecdsa_1.param.priv: -------------------------------------------------------------------------------- 1 | 00f3cdc940278ef16bf9e4ffeedfc8ca3b9041dfda2c589363dd8b07d8088f2acc 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ecdsa_1.param.pub: -------------------------------------------------------------------------------- 1 | 040c595b9643ab5bdc9d29586d33ef4063773db1a044ed21b7945c77f2705abe40030da23d8e1dff92f1bf26df6fa66db6ab0a249530860dfcc291790829a5a507 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ecdsa_1.pub: -------------------------------------------------------------------------------- 1 | ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBAxZW5ZDq1vcnSlYbTPvQGN3PbGgRO0ht5Rcd/JwWr5AAw2iPY4d/5Lxvybfb6ZttqsKJJUwhg38wpF5CCmlpQc= ECDSA test key #1 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ecdsa_1_pw: -------------------------------------------------------------------------------- 1 | -----BEGIN EC PRIVATE KEY----- 2 | Proc-Type: 4,ENCRYPTED 3 | DEK-Info: AES-128-CBC,7BA38DE00F67851E4207216809C3BB15 4 | 5 | 8QkFoZHQkj9a2mt032sp+WKaJ1fwteqWDd4RpAW9OzDgqzMx1QO43qJgBDTfhzjt 6 | M2Q8YfiGjfBEYpg4kCbacfcV68DEV4z6Ll7rIzzzO7OfWUNL++brD64vKx4z6f46 7 | +sn4nbZTXilpkzi/nmPDVzrNmTSywA8T7Yf0QcBUxks= 8 | -----END EC PRIVATE KEY----- 9 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ecdsa_2: -------------------------------------------------------------------------------- 1 | -----BEGIN EC PRIVATE KEY----- 2 | MIHcAgEBBEIBqBtN7e6Essd3dlsgISViPCXXC0atlNkGtoMgSQdBTKVUfeJOi4lc 3 | RZaXJdXnqWUqI/KEsH8h8QN4YcB8ugmAcc+gBwYFK4EEACOhgYkDgYYABAHZ2VNy 4 | oDedBwqsdzY+kkNptc9DrtRCVmO6cULLj+691MhItqVqTMJbTFlI4MnAg9PoGTF/ 5 | 0KmLJfy8vSffXGKqqwGKcFNtd1XCo+7Qu9tXbxron9g6Dmu7y8jaLkixcwZwnwLs 6 | 6GmA9qZGuiAfOGV0Gf9/u98sr+vikOa4Ow5JFDTw5g== 7 | -----END EC PRIVATE KEY----- 8 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ecdsa_2.fp: -------------------------------------------------------------------------------- 1 | SHA256:ed8YniRHA6qCrErCRnzrWxPHxYuA62a+CAFYUVxJgaI 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ecdsa_2.fp.bb: -------------------------------------------------------------------------------- 1 | xufag-danul-putub-mokin-pugaz-covid-dofag-nihuz-sysab-genar-zaxyx 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ecdsa_2.param.curve: -------------------------------------------------------------------------------- 1 | secp521r1 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ecdsa_2.param.priv: -------------------------------------------------------------------------------- 1 | 01a81b4dedee84b2c777765b202125623c25d70b46ad94d906b683204907414ca5547de24e8b895c45969725d5e7a9652a23f284b07f21f1037861c07cba098071cf 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ecdsa_2.param.pub: -------------------------------------------------------------------------------- 1 | 0401d9d95372a0379d070aac77363e924369b5cf43aed4425663ba7142cb8feebdd4c848b6a56a4cc25b4c5948e0c9c083d3e819317fd0a98b25fcbcbd27df5c62aaab018a70536d7755c2a3eed0bbdb576f1ae89fd83a0e6bbbcbc8da2e48b17306709f02ece86980f6a646ba201f38657419ff7fbbdf2cafebe290e6b83b0e491434f0e6 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ecdsa_2.pub: -------------------------------------------------------------------------------- 1 | ecdsa-sha2-nistp521 AAAAE2VjZHNhLXNoYTItbmlzdHA1MjEAAAAIbmlzdHA1MjEAAACFBAHZ2VNyoDedBwqsdzY+kkNptc9DrtRCVmO6cULLj+691MhItqVqTMJbTFlI4MnAg9PoGTF/0KmLJfy8vSffXGKqqwGKcFNtd1XCo+7Qu9tXbxron9g6Dmu7y8jaLkixcwZwnwLs6GmA9qZGuiAfOGV0Gf9/u98sr+vikOa4Ow5JFDTw5g== ECDSA test key #2 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ecdsa_n: -------------------------------------------------------------------------------- 1 | -----BEGIN OPENSSH PRIVATE KEY----- 2 | b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAaAAAABNlY2RzYS 3 | 1zaGEyLW5pc3RwMjU2AAAACG5pc3RwMjU2AAAAQQQMWVuWQ6tb3J0pWG0z70Bjdz2xoETt 4 | IbeUXHfycFq+QAMNoj2OHf+S8b8m32+mbbarCiSVMIYN/MKReQgppaUHAAAAoFrmmZBa5p 5 | mQAAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBAxZW5ZDq1vcnSlY 6 | bTPvQGN3PbGgRO0ht5Rcd/JwWr5AAw2iPY4d/5Lxvybfb6ZttqsKJJUwhg38wpF5CCmlpQ 7 | cAAAAhAPPNyUAnjvFr+eT/7t/IyjuQQd/aLFiTY92LB9gIjyrMAAAAAAECAwQFBgc= 8 | -----END OPENSSH PRIVATE KEY----- 9 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ecdsa_n_pw: -------------------------------------------------------------------------------- 1 | -----BEGIN OPENSSH PRIVATE KEY----- 2 | b3BlbnNzaC1rZXktdjEAAAAACmFlczI1Ni1jYmMAAAAGYmNyeXB0AAAAGAAAABC4UwEov5 3 | z0RrCm7AMCxbuiAAAAEAAAAAEAAABoAAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlz 4 | dHAyNTYAAABBBAxZW5ZDq1vcnSlYbTPvQGN3PbGgRO0ht5Rcd/JwWr5AAw2iPY4d/5Lxvy 5 | bfb6ZttqsKJJUwhg38wpF5CCmlpQcAAACgbCnAklQTHrf5qiHiMxKYwQJ7k/X9mp4fXD4v 6 | xUbgNZiXSxN26mn8mC2rH+WA6Lk3CexR/hrtLI2ndpBsYu1h6HhVkOwwm3Kd/PMKArCupW 7 | l6sYEabrT0EghXR/3aDEZvj79hgKSdu3RpayLvMdbCR8k1cg0/mDmR9hicWfeJ61n/IH05 8 | tUR268+0BVRW9kDhh/cuv8tVY4L09jCCQ6CpsA== 9 | -----END OPENSSH PRIVATE KEY----- 10 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ecdsa_sk1-cert.fp: -------------------------------------------------------------------------------- 1 | SHA256:Go7HO0CVPYG+BSDSk9ZUJBKGSrtBExp6obTa9iqzIUo 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ecdsa_sk1-cert.pub: -------------------------------------------------------------------------------- 1 | sk-ecdsa-sha2-nistp256-cert-v01@openssh.com AAAAK3NrLWVjZHNhLXNoYTItbmlzdHAyNTYtY2VydC12MDFAb3BlbnNzaC5jb20AAAAgE012YoSBE9hEC2FRzblcSx784JNo2A4g611A7I75YMMAAAAIbmlzdHAyNTYAAABBBGdVPkKOLUMZ7b6rZfS8BOHotic4NX4MmuyEmiuvkaeKlbb1F+5oNezRYHpcF6P104trNVEONCu1XX1CA7px+QUAAAAEc3NoOgAAAAAAAAAHAAAAAgAAAAZqdWxpdXMAAAASAAAABWhvc3QxAAAABWhvc3QyAAAAADaLg2AAAAAATR3h4AAAAAAAAAAAAAAAAAAAAGgAAAATZWNkc2Etc2hhMi1uaXN0cDI1NgAAAAhuaXN0cDI1NgAAAEEEAlTtPiWUHubBeCys4Xp0QF91dYARpkyqtCnzg10HRS+ZDgkMrSUvPPG+Ge8iqtnB951MBxDq9FqDFIkhQBYXDAAAAGQAAAATZWNkc2Etc2hhMi1uaXN0cDI1NgAAAEkAAAAhALY+eXRJjVGnMk38Sm5S+H5CloNq757ypsoxt+WYoadtAAAAIA42/mAhUfLij1GY7wl+OFrI+icB/t4tGiEUZmhx6Foo ECDSA-SK test key #1 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ecdsa_sk1.fp: -------------------------------------------------------------------------------- 1 | SHA256:Go7HO0CVPYG+BSDSk9ZUJBKGSrtBExp6obTa9iqzIUo 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ecdsa_sk1.fp.bb: -------------------------------------------------------------------------------- 1 | xovem-sacac-dageg-vovoc-symyz-bozal-cibiv-cyvat-vylyn-romib-hoxax 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ecdsa_sk1.pub: -------------------------------------------------------------------------------- 1 | sk-ecdsa-sha2-nistp256@openssh.com AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBGdVPkKOLUMZ7b6rZfS8BOHotic4NX4MmuyEmiuvkaeKlbb1F+5oNezRYHpcF6P104trNVEONCu1XX1CA7px+QUAAAAEc3NoOg== ECDSA-SK test key #1 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ecdsa_sk2.fp: -------------------------------------------------------------------------------- 1 | SHA256:pz8VkgtRY3r50F4zSuzRlmq9c6vPTpJXLKKOgkyUcKE 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ecdsa_sk2.fp.bb: -------------------------------------------------------------------------------- 1 | xobel-gavur-gorym-pedop-rarob-bunek-gucer-lofeg-syhaf-fylur-zoxix 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ecdsa_sk2.pub: -------------------------------------------------------------------------------- 1 | sk-ecdsa-sha2-nistp256@openssh.com AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBJOX5JHqtOCU5mZxCQK0nc936VaKd7Oj+AeTihl1lxNCyYRizvroGVYa4HYHPepBEtrpxew/7gr2QCMAnvN2gVQAAAAEc3NoOg== ECDSA-SK test key #2 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ed25519_1: -------------------------------------------------------------------------------- 1 | -----BEGIN OPENSSH PRIVATE KEY----- 2 | b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW 3 | QyNTUxOQAAACBThupGO0X+FLQhbz8CoKPwc7V3JNsQuGtlsgN+F7SMGQAAAJjnj4Ao54+A 4 | KAAAAAtzc2gtZWQyNTUxOQAAACBThupGO0X+FLQhbz8CoKPwc7V3JNsQuGtlsgN+F7SMGQ 5 | AAAED3KgoDbjR54V7bdNpfKlQY5m20UK1QaHytkCR+6rZEDFOG6kY7Rf4UtCFvPwKgo/Bz 6 | tXck2xC4a2WyA34XtIwZAAAAE0VEMjU1MTkgdGVzdCBrZXkgIzEBAg== 7 | -----END OPENSSH PRIVATE KEY----- 8 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ed25519_1-cert.fp: -------------------------------------------------------------------------------- 1 | SHA256:L3k/oJubblSY0lB9Ulsl7emDMnRPKm/8udf2ccwk560 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ed25519_1-cert.pub: -------------------------------------------------------------------------------- 1 | ssh-ed25519-cert-v01@openssh.com AAAAIHNzaC1lZDI1NTE5LWNlcnQtdjAxQG9wZW5zc2guY29tAAAAIIxzuxl4z3uwAIslne8Huft+1n1IhHAlNbWZkQyyECCGAAAAIFOG6kY7Rf4UtCFvPwKgo/BztXck2xC4a2WyA34XtIwZAAAAAAAAAAgAAAACAAAABmp1bGl1cwAAABIAAAAFaG9zdDEAAAAFaG9zdDIAAAAANowB8AAAAABNHmBwAAAAAAAAAAAAAAAAAAAAMwAAAAtzc2gtZWQyNTUxOQAAACBThupGO0X+FLQhbz8CoKPwc7V3JNsQuGtlsgN+F7SMGQAAAFMAAAALc3NoLWVkMjU1MTkAAABABGTn+Bmz86Ajk+iqKCSdP5NClsYzn4alJd0V5bizhP0Kumc/HbqQfSt684J1WdSzih+EjvnTgBhK9jTBKb90AQ== ED25519 test key #1 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ed25519_1.fp: -------------------------------------------------------------------------------- 1 | SHA256:L3k/oJubblSY0lB9Ulsl7emDMnRPKm/8udf2ccwk560 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ed25519_1.fp.bb: -------------------------------------------------------------------------------- 1 | xubop-rekyd-bakal-nubuf-pahaf-gicuh-logeb-gocif-petod-galip-fuxux 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ed25519_1.pub: -------------------------------------------------------------------------------- 1 | ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFOG6kY7Rf4UtCFvPwKgo/BztXck2xC4a2WyA34XtIwZ ED25519 test key #1 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ed25519_1_pw: -------------------------------------------------------------------------------- 1 | -----BEGIN OPENSSH PRIVATE KEY----- 2 | b3BlbnNzaC1rZXktdjEAAAAACmFlczI1Ni1jdHIAAAAGYmNyeXB0AAAAGAAAABDKT56mBA 3 | tXIMsWqmuuA2gdAAAAEAAAAAEAAAAzAAAAC3NzaC1lZDI1NTE5AAAAIFOG6kY7Rf4UtCFv 4 | PwKgo/BztXck2xC4a2WyA34XtIwZAAAAoC13U47yfUOSZJePNUAwWXuFOk3aOKwPM5PMvK 5 | 0zwRnMZZjgn+tsMAYPwhsT3Mx3h5QzvVGFyFEqsiK7j4vAotD+LVQeBN5TwWbUBx4lnoGs 6 | 3iAfYVDakO/gNvVBDDGOqv5kdCc4cgn5HacjHQLKOAx6KzHe7JFn7uCywMdVVQjlpI6LHb 7 | mHkaKiVX/C2oiRnsoe17HZ8Fxyt3vd1qNM8BE= 8 | -----END OPENSSH PRIVATE KEY----- 9 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ed25519_2: -------------------------------------------------------------------------------- 1 | -----BEGIN OPENSSH PRIVATE KEY----- 2 | b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW 3 | QyNTUxOQAAACDPVKyLnm3eZE0lm0IfM3Uy9AsdGSBtozcoCt21blYBCwAAAJix1mBGsdZg 4 | RgAAAAtzc2gtZWQyNTUxOQAAACDPVKyLnm3eZE0lm0IfM3Uy9AsdGSBtozcoCt21blYBCw 5 | AAAECZEQHXs18o3DKjhUYaTyt+bUbhqfMeqmsKjYyFvzGVgs9UrIuebd5kTSWbQh8zdTL0 6 | Cx0ZIG2jNygK3bVuVgELAAAAE0VEMjU1MTkgdGVzdCBrZXkgIzEBAg== 7 | -----END OPENSSH PRIVATE KEY----- 8 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ed25519_2.fp: -------------------------------------------------------------------------------- 1 | SHA256:vMbaARqVciRgXyZPNHDo+P5p5WK5yWG1Oo6VC35Bomw 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ed25519_2.fp.bb: -------------------------------------------------------------------------------- 1 | xuces-bapyb-vikob-zesyv-budod-nupip-kebon-tacyc-fofed-lezic-soxax 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ed25519_2.pub: -------------------------------------------------------------------------------- 1 | ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM9UrIuebd5kTSWbQh8zdTL0Cx0ZIG2jNygK3bVuVgEL ED25519 test key #1 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ed25519_sk1: -------------------------------------------------------------------------------- 1 | -----BEGIN OPENSSH PRIVATE KEY----- 2 | b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAASgAAABpzay1zc2 3 | gtZWQyNTUxOUBvcGVuc3NoLmNvbQAAACAhaP5OS1PPOt7uumAvXlDtte9EHbqIT1EZEJ2y 4 | 2v3XMwAAAARzc2g6AAAAuBocY6UaHGOlAAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY2 5 | 9tAAAAICFo/k5LU8863u66YC9eUO2170QduohPURkQnbLa/dczAAAABHNzaDoBAAAAQJYq 6 | lGHhFoA25/q8X/rdTqDAb7dhqs4ehhd/w8x99CwiIWj+TktTzzre7rpgL15Q7bXvRB26iE 7 | 9RGRCdstr91zMAAAAAAAAAFkVEMjU1MTktU0sgdGVzdCBrZXkgIzEBAgM= 8 | -----END OPENSSH PRIVATE KEY----- 9 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ed25519_sk1-cert.fp: -------------------------------------------------------------------------------- 1 | SHA256:6WZVJ44bqhAWLVP4Ns0TDkoSQSsZo/h2K+mEvOaNFbw 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ed25519_sk1-cert.pub: -------------------------------------------------------------------------------- 1 | sk-ssh-ed25519-cert-v01@openssh.com AAAAI3NrLXNzaC1lZDI1NTE5LWNlcnQtdjAxQG9wZW5zc2guY29tAAAAIJr7CuMntQKvHoUshx374fJLFEkyxKsEOBA1H6hk5scoAAAAICFo/k5LU8863u66YC9eUO2170QduohPURkQnbLa/dczAAAABHNzaDoAAAAAAAAACAAAAAIAAAAGanVsaXVzAAAAEgAAAAVob3N0MQAAAAVob3N0MgAAAAA2i4NgAAAAAE0d4eAAAAAAAAAAAAAAAAAAAAAzAAAAC3NzaC1lZDI1NTE5AAAAIOo/0xneV3iM2qWEo5RUwvUYa2bjff292T5vvuXRomGQAAAAUwAAAAtzc2gtZWQyNTUxOQAAAECgsRGLDh1SI3m66MRp9D2iLP4wabQ0OrDgGidk7LsVn2XZHV5jBZN1RtNfe6PBMeVzfRtGUzOg18sO7H7uU+EC ED25519-SK test key #1 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ed25519_sk1.fp: -------------------------------------------------------------------------------- 1 | SHA256:6WZVJ44bqhAWLVP4Ns0TDkoSQSsZo/h2K+mEvOaNFbw 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ed25519_sk1.fp.bb: -------------------------------------------------------------------------------- 1 | xucac-vusip-tydoz-dudad-nerif-raran-tezun-cogyd-pamoh-bahef-ruxix 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ed25519_sk1.pub: -------------------------------------------------------------------------------- 1 | sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAICFo/k5LU8863u66YC9eUO2170QduohPURkQnbLa/dczAAAABHNzaDo= ED25519-SK test key #1 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ed25519_sk1_pw: -------------------------------------------------------------------------------- 1 | -----BEGIN OPENSSH PRIVATE KEY----- 2 | b3BlbnNzaC1rZXktdjEAAAAACmFlczI1Ni1jdHIAAAAGYmNyeXB0AAAAGAAAABDr5R9Yf/ 3 | ucEh0Ns6c34tcIAAAAEAAAAAEAAABKAAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29t 4 | AAAAICFo/k5LU8863u66YC9eUO2170QduohPURkQnbLa/dczAAAABHNzaDoAAADA2T6owx 5 | OSgKz4DvLnS3UJ/renbuew5mbkIWB1/y8xd3y5Usm08iUCAlKxep9dVRQvmyoTrc/7rHOM 6 | DkokNw+WgKambnlYT/9QfqViZ9iCBtbdmhLM6ksUCgQefvquRyXoJxlWstjXUll6Ru+ZbT 7 | H//Ss8C1bYtAiXR68OQ+rhDrvQxA9P8J1sGIlkuV3h8YXddSpyBW2Sn0LTHHBXYZo86cXZ 8 | G4Lnc8aGYm65eqdHgkfRmht3eS8DTdzEBfBNH5Ml 9 | -----END OPENSSH PRIVATE KEY----- 10 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ed25519_sk2: -------------------------------------------------------------------------------- 1 | -----BEGIN OPENSSH PRIVATE KEY----- 2 | b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAASgAAABpzay1zc2 3 | gtZWQyNTUxOUBvcGVuc3NoLmNvbQAAACAV8fu1Sc31QLK2R/zGPdN3ve5xuFvDc7mEAWxb 4 | aI+YcwAAAARzc2g6AAAAuJCMX5uQjF+bAAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY2 5 | 9tAAAAIBXx+7VJzfVAsrZH/MY903e97nG4W8NzuYQBbFtoj5hzAAAABHNzaDoBAAAAQObE 6 | PajcKI1W30EKOhBb6u+Fgx464kf7EjnqDSg4l7gAFfH7tUnN9UCytkf8xj3Td73ucbhbw3 7 | O5hAFsW2iPmHMAAAAAAAAAFkVEMjU1MTktU0sgdGVzdCBrZXkgIzIBAgM= 8 | -----END OPENSSH PRIVATE KEY----- 9 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ed25519_sk2.fp: -------------------------------------------------------------------------------- 1 | SHA256:b9BVPS5vuU4yu/FgweojLLg6zbfmBBoWLUgibdxxsoo 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ed25519_sk2.fp.bb: -------------------------------------------------------------------------------- 1 | xemac-tizim-dihep-supar-zupib-cukak-pasis-febeg-dyguv-hutec-dyxox 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/ed25519_sk2.pub: -------------------------------------------------------------------------------- 1 | sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIBXx+7VJzfVAsrZH/MY903e97nG4W8NzuYQBbFtoj5hzAAAABHNzaDo= ED25519-SK test key #2 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/pw: -------------------------------------------------------------------------------- 1 | mekmitasdigoat 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/rsa_1-cert.fp: -------------------------------------------------------------------------------- 1 | SHA256:l6itGumSMcRBBAFteCgmjQBIXqLK/jFGUH3viHX1RmE 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/rsa_1-cert.pub: -------------------------------------------------------------------------------- 1 | ssh-rsa-cert-v01@openssh.com AAAAHHNzaC1yc2EtY2VydC12MDFAb3BlbnNzaC5jb20AAAAg98LhS2EHxLOWCLopZPwHdg/RJXusnkOqQXSc9R7aITkAAAADAQABAAAAgQDLV5lUTt7FrADseB/CGhEZzpoojjEW5y8+ePvLppmK3MmMI18ud6vxzpK3bwZLYkVSyfJYI0HmIuGhdu7yMrW6wb84gbq8C31Xoe9EORcIUuGSvDKdNSM1SjlhDquRblDFB8kToqXyx1lqrXecXylxIUOL0jE+u0rU1967pDJx+wAAAAAAAAAFAAAAAgAAAAZqdWxpdXMAAAASAAAABWhvc3QxAAAABWhvc3QyAAAAADaMAfAAAAAATR5gcAAAAAAAAAAAAAAAAAAAADMAAAALc3NoLWVkMjU1MTkAAAAgU4bqRjtF/hS0IW8/AqCj8HO1dyTbELhrZbIDfhe0jBkAAABTAAAAC3NzaC1lZDI1NTE5AAAAQI3QGlUCzC07KorupxpDkkGy6tniaZ8EvBflzvv+itXWNchGvfUeHmVT6aX0sRqehdz/lR+GmXRoZBhofwh0qAM= RSA test key #1 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/rsa_1.fp: -------------------------------------------------------------------------------- 1 | SHA256:l6itGumSMcRBBAFteCgmjQBIXqLK/jFGUH3viHX1RmE 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/rsa_1.fp.bb: -------------------------------------------------------------------------------- 1 | xosis-fodod-votot-dibum-ryvac-rediz-naruf-votun-kevis-halis-gexux 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/rsa_1.param.n: -------------------------------------------------------------------------------- 1 | 00cb5799544edec5ac00ec781fc21a1119ce9a288e3116e72f3e78fbcba6998adcc98c235f2e77abf1ce92b76f064b624552c9f2582341e622e1a176eef232b5bac1bf3881babc0b7d57a1ef4439170852e192bc329d3523354a39610eab916e50c507c913a2a5f2c7596aad779c5f297121438bd2313ebb4ad4d7debba43271fb 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/rsa_1.param.p: -------------------------------------------------------------------------------- 1 | 00f56077ef05be4574906f52175ed8897e8da1626bc9b055534d6a20f6102c57c7a0b31b3e7864b101f4d3d57c35192bc949e14243a9e956361de23c5dd179f583 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/rsa_1.param.q: -------------------------------------------------------------------------------- 1 | 00d42541cc014be26370a657953f3adfcbaf713f781639adba33133f184eb3c7d8c2ec7810dca3da58a746fc5b87b34f396934436832e619c67c22f32ebbb36029 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/rsa_1.pub: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDLV5lUTt7FrADseB/CGhEZzpoojjEW5y8+ePvLppmK3MmMI18ud6vxzpK3bwZLYkVSyfJYI0HmIuGhdu7yMrW6wb84gbq8C31Xoe9EORcIUuGSvDKdNSM1SjlhDquRblDFB8kToqXyx1lqrXecXylxIUOL0jE+u0rU1967pDJx+w== RSA test key #1 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/rsa_1_sha1.pub: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDLV5lUTt7FrADseB/CGhEZzpoojjEW5y8+ePvLppmK3MmMI18ud6vxzpK3bwZLYkVSyfJYI0HmIuGhdu7yMrW6wb84gbq8C31Xoe9EORcIUuGSvDKdNSM1SjlhDquRblDFB8kToqXyx1lqrXecXylxIUOL0jE+u0rU1967pDJx+w== RSA test key #1 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/rsa_1_sha512.pub: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDLV5lUTt7FrADseB/CGhEZzpoojjEW5y8+ePvLppmK3MmMI18ud6vxzpK3bwZLYkVSyfJYI0HmIuGhdu7yMrW6wb84gbq8C31Xoe9EORcIUuGSvDKdNSM1SjlhDquRblDFB8kToqXyx1lqrXecXylxIUOL0jE+u0rU1967pDJx+w== RSA test key #1 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/rsa_2.fp: -------------------------------------------------------------------------------- 1 | SHA256:NoQh0XBUuYUSWqnzOzOBnfpgJTRWLMj7BlWAb8IbjeE 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/rsa_2.fp.bb: -------------------------------------------------------------------------------- 1 | xogit-gupof-mydon-hocep-zuval-feson-rarif-cefar-tobar-ryvap-kuxex 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/rsa_2.param.n: -------------------------------------------------------------------------------- 1 | 00f4d1145e9efc4809262f8f9e023e260733ce8e4f9c7023d5ce44d1fa66497724f09090011d4378727e1ada44e687b12bf8df025c2b22ab120e57519f1f67f068288194e117790262fdc323c6bf645563b81610ba97552a6ef3d476b5025198c54c0f7f021f4c2a093ba8662ae528c4de9fac9f818b85129baa6abd2e388780c9a406ebff6b54a58adfab5c7cced85f1f1f98648de1e2bf2615830e3968dbc609ed9145f6e9a1e5b6991b6022fef2f7049ec2de9a9a11035d2a3f17a9a4a80ef15629f3ae8e4d7adb445cba3dd6d03d1dbe9feb1fcc73f1890cd5d32a1a56086789eb17969c079f0d939158063b63d61bb80c61109562f502f9356a05380d02eb 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/rsa_2.param.p: -------------------------------------------------------------------------------- 1 | 00fb82dee3474e88898acebcf23b8a970737490ea07abe5f7c0837c9a36111ca4792f3ad759945fc27d7f78c5accca2ffd8a85c24be949274ab17f8f797b9aaa76f584f28d617e6de3953d46307fa31ec12108ffdab3f105fb3df54156f4728fe07b1598bbb5c5e260d4f73d8b29532bfc6b9f07d8899f87ec819571c8b38e7a87 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/rsa_2.param.q: -------------------------------------------------------------------------------- 1 | 00f92f9f57e501dc41cc91ff3b4ad7a2283612d66c0d130f639d4c18376a54e5b5e1939f4d5966bb43929e448a426dadc1fae84cf0d56f64d8df04d1badcfc1fdc8e156d5cd4dcf860ec936fc166261136156010f6df10a70525867d7989fef6752fd8db6faf3fe018bbbc1fa862fb4155445e1a398468d78b4e77884bdf5c197d 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/testdata/rsa_2.pub: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD00RRenvxICSYvj54CPiYHM86OT5xwI9XORNH6Zkl3JPCQkAEdQ3hyfhraROaHsSv43wJcKyKrEg5XUZ8fZ/BoKIGU4Rd5AmL9wyPGv2RVY7gWELqXVSpu89R2tQJRmMVMD38CH0wqCTuoZirlKMTen6yfgYuFEpuqar0uOIeAyaQG6/9rVKWK36tcfM7YXx8fmGSN4eK/JhWDDjlo28YJ7ZFF9umh5baZG2Ai/vL3BJ7C3pqaEQNdKj8XqaSoDvFWKfOujk1620Rcuj3W0D0dvp/rH8xz8YkM1dMqGlYIZ4nrF5acB58Nk5FYBjtj1hu4DGEQlWL1Avk1agU4DQLr RSA test key #2 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshkey/tests.c: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: tests.c,v 1.1 2014/06/24 01:14:18 djm Exp $ */ 2 | /* 3 | * Regress test for sshbuf.h buffer API 4 | * 5 | * Placed in the public domain 6 | */ 7 | 8 | #include "includes.h" 9 | 10 | #include "../test_helper/test_helper.h" 11 | 12 | void sshkey_tests(void); 13 | void sshkey_file_tests(void); 14 | void sshkey_fuzz_tests(void); 15 | 16 | void 17 | tests(void) 18 | { 19 | sshkey_tests(); 20 | sshkey_file_tests(); 21 | sshkey_fuzz_tests(); 22 | } 23 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshsig/testdata/dsa: -------------------------------------------------------------------------------- 1 | -----BEGIN DSA PRIVATE KEY----- 2 | MIIBuwIBAAKBgQCXpndQdz2mQVnk+lYOF3nxDT+h6SiJmUvBFhnFWBv8tG4pTOkb 3 | EwGufLEzGpzjTj+3bjVau7LFt37AFrqs4Num272BWNsYNIjOlGPgq7Xjv32FN00x 4 | JYh1DoRs1cGGnvohlsWEamGGhTHD1a9ipctPEBV+NrxtZMrl+pO/ZZg8vQIVAKJB 5 | P3iNYSpSuW74+q4WxLCuK8O3AoGAQldE+BIuxlvoG1IFiWesx0CU+H2KO0SEZc9A 6 | SX/qjOabh0Fb78ofTlEf9gWHFfat8SvSJQIOPMVlb76Lio8AAMT8Eaa/qQKKYmQL 7 | dNq4MLhhjxx5KLGt6J2JyFPExCv+qnHYHD59ngtLwKyqGjpSC8LPLktdXn8W/Aad 8 | Ly1K7+MCgYBsMHBczhSeUh8w7i20CVg4OlNTmfJRVU2tO6OpMxZ/quitRm3hLKSN 9 | u4xRkvHJwi4LhQtv1SXvLI5gs5P3gCG8tsIAiyCqLinHha63iBdJpqhnV/x/j7dB 10 | yJr3xJbnmLdWLkkCtNk1Ir1/CuEz+ufAyLGdKWksEAu1UUlb501BkwIVAILIa3Rg 11 | 0h7J9lQpHJphvF3K0M1T 12 | -----END DSA PRIVATE KEY----- 13 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshsig/testdata/dsa.pub: -------------------------------------------------------------------------------- 1 | ssh-dss AAAAB3NzaC1kc3MAAACBAJemd1B3PaZBWeT6Vg4XefENP6HpKImZS8EWGcVYG/y0bilM6RsTAa58sTManONOP7duNVq7ssW3fsAWuqzg26bbvYFY2xg0iM6UY+CrteO/fYU3TTEliHUOhGzVwYae+iGWxYRqYYaFMcPVr2Kly08QFX42vG1kyuX6k79lmDy9AAAAFQCiQT94jWEqUrlu+PquFsSwrivDtwAAAIBCV0T4Ei7GW+gbUgWJZ6zHQJT4fYo7RIRlz0BJf+qM5puHQVvvyh9OUR/2BYcV9q3xK9IlAg48xWVvvouKjwAAxPwRpr+pAopiZAt02rgwuGGPHHkosa3onYnIU8TEK/6qcdgcPn2eC0vArKoaOlILws8uS11efxb8Bp0vLUrv4wAAAIBsMHBczhSeUh8w7i20CVg4OlNTmfJRVU2tO6OpMxZ/quitRm3hLKSNu4xRkvHJwi4LhQtv1SXvLI5gs5P3gCG8tsIAiyCqLinHha63iBdJpqhnV/x/j7dByJr3xJbnmLdWLkkCtNk1Ir1/CuEz+ufAyLGdKWksEAu1UUlb501Bkw== DSA test 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshsig/testdata/ecdsa: -------------------------------------------------------------------------------- 1 | -----BEGIN EC PRIVATE KEY----- 2 | MHcCAQEEIFg0ZCSEB5LNeLsXYL25g3kqEWsqh52DR+yNOjyQJqyZoAoGCCqGSM49 3 | AwEHoUQDQgAE3sud88FV0N8FPspZSV7LWqj6uPPLRZiSsenNuEYAteWPyDgrZsWb 4 | LzXBuUJucepaCNuW/QWgHBRbrjWj3ERm3A== 5 | -----END EC PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshsig/testdata/ecdsa.pub: -------------------------------------------------------------------------------- 1 | ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBN7LnfPBVdDfBT7KWUley1qo+rjzy0WYkrHpzbhGALXlj8g4K2bFmy81wblCbnHqWgjblv0FoBwUW641o9xEZtw= ECDSA test 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshsig/testdata/ecdsa.sig: -------------------------------------------------------------------------------- 1 | -----BEGIN SSH SIGNATURE----- 2 | U1NIU0lHAAAAAQAAAGgAAAATZWNkc2Etc2hhMi1uaXN0cDI1NgAAAAhuaXN0cDI1NgAAAE 3 | EE3sud88FV0N8FPspZSV7LWqj6uPPLRZiSsenNuEYAteWPyDgrZsWbLzXBuUJucepaCNuW 4 | /QWgHBRbrjWj3ERm3AAAAAh1bml0dGVzdAAAAAAAAAAGc2hhNTEyAAAAZQAAABNlY2RzYS 5 | 1zaGEyLW5pc3RwMjU2AAAASgAAACEAycVNsTlE+XEZYyYiDxWZlliruf/pPMhEEMR/XLdQ 6 | a4MAAAAhALQt+5gES7L3uKGptHB6UZQMuZ2WyI0C6FJs4v6AtMIU 7 | -----END SSH SIGNATURE----- 8 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshsig/testdata/ecdsa_sk.pub: -------------------------------------------------------------------------------- 1 | sk-ecdsa-sha2-nistp256@openssh.com AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBKDVa5jRcT5V7E6ysmwVi7HJWh7p5D+hebLPakQcpnD2ajJZ6G/4WzuhlYWnclWY63JspDp299Rlhq5AT86/g8AAAAAEc3NoOg== ECDSA-SK test key 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshsig/testdata/ecdsa_sk.sig: -------------------------------------------------------------------------------- 1 | -----BEGIN SSH SIGNATURE----- 2 | U1NIU0lHAAAAAQAAAH8AAAAic2stZWNkc2Etc2hhMi1uaXN0cDI1NkBvcGVuc3NoLmNvbQ 3 | AAAAhuaXN0cDI1NgAAAEEEoNVrmNFxPlXsTrKybBWLsclaHunkP6F5ss9qRBymcPZqMlno 4 | b/hbO6GVhadyVZjrcmykOnb31GWGrkBPzr+DwAAAAARzc2g6AAAACHVuaXR0ZXN0AAAAAA 5 | AAAAZzaGE1MTIAAAB3AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20A 6 | AABIAAAAIHohGwyy8iKT3zwd1TYA9V/Ioo7h/3zCJUtyq/Qigt/HAAAAIGzidTwq7D/kFa 7 | 7Xjcp/KkdbIs4MfQpfAW/0OciajlpzARI0Vng= 8 | -----END SSH SIGNATURE----- 9 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshsig/testdata/ecdsa_sk_webauthn.pub: -------------------------------------------------------------------------------- 1 | sk-ecdsa-sha2-nistp256@openssh.com AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBBRGwDjs4HhJFcn4tJ5Gr72KcmRmCS1OirETxaXvnsNApgoOLF1a/7rxldfSMHm73eT1nhHe97W8qicPPEAKDJQAAAALbWluZHJvdC5vcmc= 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshsig/testdata/ed25519: -------------------------------------------------------------------------------- 1 | -----BEGIN OPENSSH PRIVATE KEY----- 2 | b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW 3 | QyNTUxOQAAACCJYs0iDdw0Fe/FTzY1b78I4H/j+R6mz2AmLtwTjHYwBAAAAJjpGas/6Rmr 4 | PwAAAAtzc2gtZWQyNTUxOQAAACCJYs0iDdw0Fe/FTzY1b78I4H/j+R6mz2AmLtwTjHYwBA 5 | AAAEDpSKRA1QKW6kYiQftGRWh+H0fNekzYLG6c3bzseoCpEolizSIN3DQV78VPNjVvvwjg 6 | f+P5HqbPYCYu3BOMdjAEAAAAEEVEMjU1MTkgdGVzdCBrZXkBAgMEBQ== 7 | -----END OPENSSH PRIVATE KEY----- 8 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshsig/testdata/ed25519.pub: -------------------------------------------------------------------------------- 1 | ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIlizSIN3DQV78VPNjVvvwjgf+P5HqbPYCYu3BOMdjAE ED25519 test key 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshsig/testdata/ed25519.sig: -------------------------------------------------------------------------------- 1 | -----BEGIN SSH SIGNATURE----- 2 | U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgiWLNIg3cNBXvxU82NW+/COB/4/ 3 | keps9gJi7cE4x2MAQAAAAIdW5pdHRlc3QAAAAAAAAABnNoYTUxMgAAAFMAAAALc3NoLWVk 4 | MjU1MTkAAABAihQsbUzuNEFflk5Tw1+H9aLS7tZQk0RG8KW1DtOmDYYnWe3D3UKiG3fcJa 5 | DNg4vBWp1j1gLRiBMOF+gwYNegDg== 6 | -----END SSH SIGNATURE----- 7 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshsig/testdata/ed25519_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN OPENSSH PRIVATE KEY----- 2 | b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAASgAAABpzay1zc2 3 | gtZWQyNTUxOUBvcGVuc3NoLmNvbQAAACCbGg2F0GK7nOm4pQmAyCuGEjnhvs5q0TtjPbdN 4 | //+yxwAAAARzc2g6AAAAuBw56jAcOeowAAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY2 5 | 9tAAAAIJsaDYXQYruc6bilCYDIK4YSOeG+zmrRO2M9t03//7LHAAAABHNzaDoBAAAAQFXc 6 | 6dCwWewIk1EBofAouGZApW8+s0XekXenxtb78+x0mxoNhdBiu5zpuKUJgMgrhhI54b7Oat 7 | E7Yz23Tf//sscAAAAAAAAAE0VEMjU1MTktU0sgdGVzdCBrZXkBAgMEBQY= 8 | -----END OPENSSH PRIVATE KEY----- 9 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshsig/testdata/ed25519_sk.pub: -------------------------------------------------------------------------------- 1 | sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIJsaDYXQYruc6bilCYDIK4YSOeG+zmrRO2M9t03//7LHAAAABHNzaDo= ED25519-SK test key 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshsig/testdata/ed25519_sk.sig: -------------------------------------------------------------------------------- 1 | -----BEGIN SSH SIGNATURE----- 2 | U1NIU0lHAAAAAQAAAEoAAAAac2stc3NoLWVkMjU1MTlAb3BlbnNzaC5jb20AAAAgmxoNhd 3 | Biu5zpuKUJgMgrhhI54b7OatE7Yz23Tf//sscAAAAEc3NoOgAAAAh1bml0dGVzdAAAAAAA 4 | AAAGc2hhNTEyAAAAZwAAABpzay1zc2gtZWQyNTUxOUBvcGVuc3NoLmNvbQAAAEAi+7eTjW 5 | /+LQ2M+sCD+KFtH1n7VFFJon/SZFsxODyV8cWTlFKj617Ys1Ur5TV6uaEXQhck8rBA2oQI 6 | HTPANLIPARI0Vng= 7 | -----END SSH SIGNATURE----- 8 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshsig/testdata/namespace: -------------------------------------------------------------------------------- 1 | unittest -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshsig/testdata/rsa.pub: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDfzqWaNEe0mnKPzsGtL6ywya29z/VI83SBdM+z2NnWFgCr3w9xrf9FhUzgdpK7oI7O1AnZmdkPdN79d4GchTaZ+69ASX4OLCKwZ42CVXJEKLvvzt88UV9zHNl8NrsQHapjxLehpIZkrxCrO4bCYYAiaOVBfPon4cJ394P/nwagJJKKsgQIVYIC3642s4L8SaADOxt9x9ohttXMDjS2WBTeE7YnjaR13PwKKwNO0MpAAEVw5pBnJxJ+fscM/5aBctdcFQj3BUzVOJ/V/70xfTzEiy8K8bOjvIuBttMUtIavlKQD606ti6gDtXx+B7SJ3/emdW0bVSLcju96N4DB/Qdmq0V4ESc7CQgkWZl4y0V45V/7iSLiHWsOoC9Kxw28y0uno5elsABMBMC4RYSQhAGXWueCcR7SIL2JT2K0oxbqongW0hvgAIfUShTXHy+qsV5yDaG+p+TkJkEkhtXbwkW4aNpzc7EFnXsWpvyWOiZSKvUasRPbPro0yBvlOMMPsFU= RSA test 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/sshsig/testdata/signed-data: -------------------------------------------------------------------------------- 1 | This is a test, this is only a test -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/test_helper/Makefile: -------------------------------------------------------------------------------- 1 | # $OpenBSD: Makefile,v 1.3 2016/07/04 18:01:44 guenther Exp $ 2 | 3 | LIB= test_helper 4 | SRCS= test_helper.c fuzz.c 5 | 6 | NOPROFILE= yes 7 | NOPIC= yes 8 | 9 | # Hack to allow building with SUBDIR in ../../Makefile 10 | regress: all 11 | 12 | install: 13 | @echo -n 14 | 15 | .include 16 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/unittests/utf8/Makefile: -------------------------------------------------------------------------------- 1 | # $OpenBSD: Makefile,v 1.5 2017/12/21 00:41:22 djm Exp $ 2 | 3 | PROG=test_utf8 4 | SRCS=tests.c 5 | 6 | # From usr.bin/ssh 7 | SRCS+=utf8.c atomicio.c 8 | 9 | REGRESS_TARGETS=run-regress-${PROG} 10 | 11 | run-regress-${PROG}: ${PROG} 12 | env ${TEST_ENV} ./${PROG} 13 | 14 | .include 15 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/regress/yes-head.sh: -------------------------------------------------------------------------------- 1 | # $OpenBSD: yes-head.sh,v 1.7 2023/01/14 10:05:54 dtucker Exp $ 2 | # Placed in the Public Domain. 3 | 4 | tid="yes pipe head" 5 | 6 | lines=`${SSH} -F $OBJ/ssh_proxy thishost 'sh -c "while true;do echo yes;done | _POSIX2_VERSION=199209 head -2000"' | (sleep 3 ; wc -l)` 7 | if [ $? -ne 0 ]; then 8 | fail "yes|head test failed" 9 | lines=0 10 | fi 11 | if [ $lines -ne 2000 ]; then 12 | fail "yes|head returns $lines lines instead of 2000" 13 | fi 14 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/umac128.c: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: umac128.c,v 1.2 2018/02/08 04:12:32 dtucker Exp $ */ 2 | 3 | #define UMAC_OUTPUT_LEN 16 4 | #define umac_new umac128_new 5 | #define umac_update umac128_update 6 | #define umac_final umac128_final 7 | #define umac_delete umac128_delete 8 | #define umac_ctx umac128_ctx 9 | 10 | #include "umac.c" 11 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/version.h: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: version.h,v 1.105 2025/04/09 07:00:21 djm Exp $ */ 2 | 3 | #define SSH_VERSION "OpenSSH_10.0" 4 | 5 | #define SSH_PORTABLE "p2" 6 | #define SSH_RELEASE SSH_VERSION SSH_PORTABLE 7 | -------------------------------------------------------------------------------- /app/src/main/cpp/openssh/xmss_commons.h: -------------------------------------------------------------------------------- 1 | #ifdef WITH_XMSS 2 | /* $OpenBSD: xmss_commons.h,v 1.3 2018/02/26 03:56:44 dtucker Exp $ */ 3 | /* 4 | xmss_commons.h 20160722 5 | Andreas Hülsing 6 | Joost Rijneveld 7 | Public domain. 8 | */ 9 | #ifndef XMSS_COMMONS_H 10 | #define XMSS_COMMONS_H 11 | 12 | #include 13 | #ifdef HAVE_STDINT_H 14 | #include 15 | #endif 16 | #endif 17 | void to_byte(unsigned char *output, unsigned long long in, uint32_t bytes); 18 | #if 0 19 | void hexdump(const unsigned char *a, size_t len); 20 | #endif 21 | #endif /* WITH_XMSS */ 22 | -------------------------------------------------------------------------------- /app/src/main/cpp/prebuild-dropbear.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | cd dropbear/src || { echo "Must be executed from the 'cpp' directory"; exit 1; } 4 | 5 | # -nt Compares modification time of two files and determines which one is newer. 6 | [ default_options.h -nt default_options_guard.h ] && ./ifndef_wrapper.sh < default_options.h > default_options_guard.h 7 | 8 | cd ../.. 9 | -------------------------------------------------------------------------------- /app/src/main/cpp/rsync/.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto eol=lf 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/rsync/SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | ## Supported Versions 4 | 5 | Only the current release of the software is actively supported. If you need 6 | help backporting fixes into an older release, feel free to ask. 7 | 8 | ## Reporting a Vulnerability 9 | 10 | Email your vulnerability information to rsync's maintainer: 11 | 12 | Rsync Project 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/cpp/rsync/cmd-or-msg: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | srcdir=`dirname $0` 4 | opt="$1" 5 | shift 6 | 7 | echo "$*" 8 | if ! "${@}"; then 9 | echo "If you can't fix the issue, re-run $srcdir/configure with --$opt." 10 | exit 1 11 | fi 12 | -------------------------------------------------------------------------------- /app/src/main/cpp/rsync/getfsdev.c: -------------------------------------------------------------------------------- 1 | #include "rsync.h" 2 | 3 | int main(int argc, char *argv[]) 4 | { 5 | STRUCT_STAT st; 6 | int ret; 7 | 8 | while (--argc > 0) { 9 | #ifdef USE_STAT64_FUNCS 10 | ret = stat64(*++argv, &st); 11 | #else 12 | ret = stat(*++argv, &st); 13 | #endif 14 | if (ret < 0) { 15 | fprintf(stderr, "Unable to stat `%s'\n", *argv); 16 | exit(1); 17 | } 18 | printf("%ld/%ld\n", (long)major(st.st_dev), (long)minor(st.st_dev)); 19 | } 20 | 21 | return 0; 22 | } 23 | -------------------------------------------------------------------------------- /app/src/main/cpp/rsync/latest-year.h: -------------------------------------------------------------------------------- 1 | #define LATEST_YEAR "2025" 2 | -------------------------------------------------------------------------------- /app/src/main/cpp/rsync/lib/dummy.in: -------------------------------------------------------------------------------- 1 | This is a dummy file to ensure that the lib directory gets created 2 | by configure when a VPATH is used. 3 | -------------------------------------------------------------------------------- /app/src/main/cpp/rsync/lib/permstring.h: -------------------------------------------------------------------------------- 1 | #define PERMSTRING_SIZE 11 2 | 3 | void permstring(char *perms, mode_t mode); 4 | -------------------------------------------------------------------------------- /app/src/main/cpp/rsync/lib/wildmatch.h: -------------------------------------------------------------------------------- 1 | /* wildmatch.h */ 2 | 3 | int wildmatch(const char *pattern, const char *text); 4 | int iwildmatch(const char *pattern, const char *text); 5 | int wildmatch_array(const char *pattern, const char*const *texts, int where); 6 | int litmatch_array(const char *string, const char*const *texts, int where); 7 | -------------------------------------------------------------------------------- /app/src/main/cpp/rsync/m4/have_type.m4: -------------------------------------------------------------------------------- 1 | dnl AC_HAVE_TYPE(TYPE,INCLUDES) 2 | AC_DEFUN([AC_HAVE_TYPE], [ 3 | cv=`echo "$1" | sed 'y%./+- %__p__%'` 4 | AC_MSG_CHECKING(for $1) 5 | AC_CACHE_VAL([ac_cv_type_$cv], 6 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ 7 | AC_INCLUDES_DEFAULT 8 | $2]], 9 | [[$1 foo;]])], 10 | [eval "ac_cv_type_$cv=yes"], 11 | [eval "ac_cv_type_$cv=no"]))dnl 12 | ac_foo=`eval echo \\$ac_cv_type_$cv` 13 | AC_MSG_RESULT($ac_foo) 14 | if test "$ac_foo" = yes; then 15 | ac_tr_hdr=HAVE_`echo $1 | sed 'y%abcdefghijklmnopqrstuvwxyz./- %ABCDEFGHIJKLMNOPQRSTUVWXYZ____%'` 16 | if false; then 17 | AC_CHECK_TYPES($1) 18 | fi 19 | AC_DEFINE_UNQUOTED($ac_tr_hdr, 1, [Define if you have type `$1']) 20 | fi 21 | ]) 22 | -------------------------------------------------------------------------------- /app/src/main/cpp/rsync/packaging/auto-Makefile: -------------------------------------------------------------------------------- 1 | TARGETS := all install install-ssl-daemon install-all install-strip conf gen reconfigure restatus \ 2 | proto man clean cleantests distclean test check check29 check30 installcheck splint \ 3 | doxygen doxygen-upload finddead rrsync 4 | 5 | .PHONY: $(TARGETS) auto-prep 6 | 7 | $(TARGETS): auto-prep 8 | make -C build $@ 9 | 10 | auto-prep: 11 | @if test x`packaging/prep-auto-dir` = x; then echo "auto-build-save is not setup"; exit 1; fi 12 | @echo 'Build branch: '`readlink build/.branch | tr % /` 13 | -------------------------------------------------------------------------------- /app/src/main/cpp/rsync/packaging/lsb/rsync.xinetd: -------------------------------------------------------------------------------- 1 | # default: off 2 | # description: The rsync server is a good addition to an ftp server, as it 3 | # allows crc checksumming etc. 4 | service rsync 5 | { 6 | disable = yes 7 | socket_type = stream 8 | wait = no 9 | user = root 10 | server = /usr/bin/rsync 11 | server_args = --daemon 12 | log_on_failure += USERID 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/cpp/rsync/packaging/openssl-rsync.cnf: -------------------------------------------------------------------------------- 1 | # This config file can be used with rsync to enable legacy digests 2 | # (such as MD4) by using the OPENSSL_CONF environment variable. 3 | # See rsync's configure --with-openssl-conf=/path/name option. 4 | 5 | openssl_conf = openssl_init 6 | 7 | [openssl_init] 8 | providers = provider_sect 9 | 10 | [provider_sect] 11 | default = default_sect 12 | legacy = legacy_sect 13 | 14 | [default_sect] 15 | activate = 1 16 | 17 | [legacy_sect] 18 | activate = 1 19 | -------------------------------------------------------------------------------- /app/src/main/cpp/rsync/packaging/pre-push: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | 3 | cat >/dev/null # Just discard stdin data 4 | 5 | if [[ -f /proc/$PPID/cmdline ]]; then 6 | while read -d $'\0' arg ; do 7 | if [[ "$arg" == '--tags' ]] ; then 8 | exit 0 9 | fi 10 | done ) { 13 | push @_, "$2:$1" if /^(\w+):[^:]+:(\d+)/; 14 | } 15 | print join(',', @_), "\n"; 16 | -------------------------------------------------------------------------------- /app/src/main/cpp/rsync/support/mapto: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env perl 2 | # This helper script makes it easy to use a passwd or group file to map 3 | # values in a LOCAL transfer. For instance, if you mount a backup that 4 | # does not have the same passwd setup as the local machine, you can do 5 | # a copy TO the backup area as follows and get the differing ID values 6 | # mapped just like a remote transfer TO the backed-up machine would do: 7 | # 8 | # rsync -av --usermap=`mapto /mnt/backup/etc/passwd` \ 9 | # --groupmap=`mapto /mnt/backup/etc/group` \ 10 | # /some/src/ /mnt/backup/some/dest/ 11 | 12 | while (<>) { 13 | push @_, "$1:$2" if /^(\w+):[^:]+:(\d+)/; 14 | } 15 | print join(',', @_), "\n"; 16 | -------------------------------------------------------------------------------- /app/src/main/cpp/rsync/support/rsync-no-vanished: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | REAL_RSYNC=/usr/bin/rsync 4 | IGNOREEXIT=24 5 | IGNOREOUT='^(file has vanished: |rsync warning: some files vanished before they could be transferred)' 6 | 7 | # If someone installs this as "rsync", make sure we don't affect a server run. 8 | for arg in "${@}"; do 9 | if [[ "$arg" == --server ]]; then 10 | exec $REAL_RSYNC "${@}" 11 | exit $? # Not reached 12 | fi 13 | done 14 | 15 | set -o pipefail 16 | 17 | # This filters stderr without merging it with stdout: 18 | { $REAL_RSYNC "${@}" 2>&1 1>&3 3>&- | grep -E -v "$IGNOREOUT"; ret=${PIPESTATUS[0]}; } 3>&1 1>&2 19 | 20 | if [[ $ret == $IGNOREEXIT ]]; then 21 | ret=0 22 | fi 23 | 24 | exit $ret 25 | -------------------------------------------------------------------------------- /app/src/main/cpp/rsync/testsuite/atimes.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Test rsync copying atimes 4 | 5 | . "$suitedir/rsync.fns" 6 | 7 | $RSYNC -VV | grep '"atimes": true' >/dev/null || test_skipped "Rsync is configured without atimes support" 8 | 9 | mkdir "$fromdir" 10 | 11 | touch "$fromdir/foo" 12 | touch -a -t 200102031717.42 "$fromdir/foo" 13 | 14 | TLS_ARGS=--atimes 15 | 16 | checkit "$RSYNC -rtUgvvv \"$fromdir/\" \"$todir/\"" "$fromdir" "$todir" 17 | 18 | # The script would have aborted on error, so getting here means we've won. 19 | exit 0 20 | -------------------------------------------------------------------------------- /app/src/main/cpp/rsync/testsuite/delay-updates.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Test rsync --delay-updates 4 | 5 | . "$suitedir/rsync.fns" 6 | 7 | mkdir "$fromdir" 8 | 9 | echo 1 > "$fromdir/foo" 10 | 11 | checkit "$RSYNC -aiv --delay-updates \"$fromdir/\" \"$todir/\"" "$fromdir" "$todir" 12 | 13 | mkdir "$todir/.~tmp~" 14 | echo 2 > "$todir/.~tmp~/foo" 15 | touch -r .. "$todir/.~tmp~/foo" "$todir/foo" 16 | echo 3 > "$fromdir/foo" 17 | 18 | checkit "$RSYNC -aiv --delay-updates \"$fromdir/\" \"$todir/\"" "$fromdir" "$todir" 19 | 20 | # The script would have aborted on error, so getting here means we've won. 21 | exit 0 22 | -------------------------------------------------------------------------------- /app/src/main/cpp/rsync/testsuite/exclude-lsh.test: -------------------------------------------------------------------------------- 1 | exclude.test -------------------------------------------------------------------------------- /app/src/main/cpp/rsync/testsuite/fuzzy.test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Copyright (C) 2005-2022 Wayne Davison 4 | 5 | # This program is distributable under the terms of the GNU GPL (see 6 | # COPYING). 7 | 8 | # Test rsync handling of the --fuzzy option. 9 | 10 | . "$suitedir/rsync.fns" 11 | 12 | mkdir "$fromdir" 13 | mkdir "$todir" 14 | 15 | cp_p "$srcdir"/rsync.c "$fromdir"/rsync.c 16 | cp_touch "$fromdir"/rsync.c "$todir"/rsync2.c 17 | sleep 1 18 | 19 | # Let's do it! 20 | checkit "$RSYNC -avvi --no-whole-file --fuzzy --delete-delay \ 21 | '$fromdir/' '$todir/'" "$fromdir" "$todir" 22 | 23 | # The script would have aborted on error, so getting here means we've won. 24 | exit 0 25 | -------------------------------------------------------------------------------- /app/src/main/cpp/rsync/version.h: -------------------------------------------------------------------------------- 1 | #define RSYNC_VERSION "3.4.1" 2 | #define MAINTAINER_TZ_OFFSET -7.0 3 | -------------------------------------------------------------------------------- /app/src/main/cpp/rsync/wildtest.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfonteyn/Sshd4a/46e9bab35021b212de4123cb1e9473828f78694c/app/src/main/cpp/rsync/wildtest.txt -------------------------------------------------------------------------------- /app/src/main/cpp/rsync/zlib/ChangeLog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tfonteyn/Sshd4a/46e9bab35021b212de4123cb1e9473828f78694c/app/src/main/cpp/rsync/zlib/ChangeLog -------------------------------------------------------------------------------- /app/src/main/cpp/rsync/zlib/dummy.in: -------------------------------------------------------------------------------- 1 | This is a dummy file to ensure that the lib directory gets created 2 | by configure when a VPATH is used. 3 | -------------------------------------------------------------------------------- /app/src/main/cpp/rsync/zlib/inffast.h: -------------------------------------------------------------------------------- 1 | /* inffast.h -- header to use inffast.c 2 | * Copyright (C) 1995-2003, 2010 Mark Adler 3 | * For conditions of distribution and use, see copyright notice in zlib.h 4 | */ 5 | 6 | /* WARNING: this file should *not* be used by applications. It is 7 | part of the implementation of the compression library and is 8 | subject to change. Applications should only use zlib.h. 9 | */ 10 | 11 | void ZLIB_INTERNAL inflate_fast OF((z_streamp strm, unsigned start)); 12 | -------------------------------------------------------------------------------- /app/src/main/java/com/hardbacknutter/sshd/App.java: -------------------------------------------------------------------------------- 1 | package com.hardbacknutter.sshd; 2 | 3 | import android.app.Application; 4 | 5 | import com.hardbacknutter.util.theme.NightMode; 6 | 7 | public class App 8 | extends Application { 9 | 10 | @Override 11 | public void onCreate() { 12 | super.onCreate(); 13 | 14 | NightMode.init(this); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /app/src/main/java/com/hardbacknutter/sshd/StartMode.java: -------------------------------------------------------------------------------- 1 | package com.hardbacknutter.sshd; 2 | 3 | enum StartMode { 4 | /** User started, or started when the app starts. */ 5 | ByUser, 6 | /** An external (to this app) start request. */ 7 | ByIntent, 8 | /** We're starting the service when the device is booting. */ 9 | OnBoot 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/res/color/dialog_button_background_color.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/arrow_back_24px.xml: -------------------------------------------------------------------------------- 1 | 8 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/home_24px.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/security_24px.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/warning_24px.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/layout/toolbar_menu_buttons_start.xml: -------------------------------------------------------------------------------- 1 | 2 |