├── .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 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/migrations.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
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
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 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi/ic_banner.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/values/attrs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4dp
4 | 4dp
5 | 4dp
6 | 4dp
7 | 4dp
8 |
9 | 100dp
10 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/backup_rules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
9 |
12 |
13 |
16 |
19 |
20 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/data_extraction_rules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
10 |
13 |
16 |
19 |
20 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tfonteyn/Sshd4a/46e9bab35021b212de4123cb1e9473828f78694c/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | distributionSha256Sum=845952a9d6afa783db70bb3b0effaae45ae5542ca2bb7929619e8af49cb634cf
4 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.1-bin.zip
5 | networkTimeout=10000
6 | validateDistributionUrl=true
7 | zipStoreBase=GRADLE_USER_HOME
8 | zipStorePath=wrapper/dists
9 |
--------------------------------------------------------------------------------
/metadata/en-US/changelogs/1.txt:
--------------------------------------------------------------------------------
1 | First release.
--------------------------------------------------------------------------------
/metadata/en-US/changelogs/10.txt:
--------------------------------------------------------------------------------
1 | Updated services:
2 | - Dropbear 2025.87
3 | - rsync 3.4.1
4 | - sftp-server from OpenSSH 9.9p2
5 |
6 | Added support for Android/Google TV:
7 | - Not supported on versions 11/12
8 | - Supported/tested on the Google TV emulator version 13/14.
9 | - Not tested on actual TV's; all feedback with brand/models welcome!
10 |
11 | Tamil translation kindly provided by: [தமிழ்நேரம்](https://hosted.weblate.org/user/TamilNeram/)
12 |
--------------------------------------------------------------------------------
/metadata/en-US/changelogs/11.txt:
--------------------------------------------------------------------------------
1 | Updated services:
2 | - Dropbear 2025.87
3 | - rsync 3.4.1
4 | - sftp-server from OpenSSH 9.9p2
5 |
6 | Added support for Android/Google TV:
7 | - Not supported on versions 11/12
8 | - Supported/tested on the Google TV emulator version 13/14.
9 | - Not tested on actual TV's
10 |
11 | Tamil translation kindly provided by: தமிழ்நேரம்
12 |
13 | FIXES:
14 | - #8,#14: poor colour contrast issue in dark-mode
15 | - #16: correct feedback on the system-password presence/absence in the settings
16 | - don't show the permissions dialog twice in some circumstances
--------------------------------------------------------------------------------
/metadata/en-US/changelogs/12.txt:
--------------------------------------------------------------------------------
1 | NEW
2 |
3 | - #15, #19 Google TV improvements: buttons instead of the menu, more contrast improvements
4 | - show "all interfaces" and "configured listeners"
5 | - adding "-p" custom options for listeners now disables the default "*:port" listener.
6 |
7 | FIXES
8 | - prevent setting the port to "not set"
--------------------------------------------------------------------------------
/metadata/en-US/changelogs/13.txt:
--------------------------------------------------------------------------------
1 | NEW
2 | - openssh 10.0p2
3 | - dropbear 2025.88
4 |
5 | FIXES:
6 | - only stop service if user/on-app-start started the service when quitting the app.
7 | - #22 disabled build-flag SSHD4A_ALLOW_RSA_KEY_SIGNATURE_MISMATCH which was related to https://github.com/mkj/dropbear/pull/106
8 | This flag/code will be totally removed soon.
9 |
--------------------------------------------------------------------------------
/metadata/en-US/changelogs/3.txt:
--------------------------------------------------------------------------------
1 | fix start on-boot/on-open
--------------------------------------------------------------------------------
/metadata/en-US/changelogs/4.txt:
--------------------------------------------------------------------------------
1 | OpenSSH upgraded to 9.6p1
--------------------------------------------------------------------------------
/metadata/en-US/changelogs/5.txt:
--------------------------------------------------------------------------------
1 | - Added support for a locally stored user/password
2 | - Added user-settings to enable/disable individual authentication method.
3 | - Updated services:
4 | - Dropbear 2024.85
5 | - rsync 3.3.0
6 | - sftp-server from OpenSSH 9.7p1
--------------------------------------------------------------------------------
/metadata/en-US/changelogs/6.txt:
--------------------------------------------------------------------------------
1 | - new: UI translations for Chinese, French, German.
2 | - new: #4: the app/services can now be started by an external intent ("com.hardbacknutter.sshd.fg.START", "com.hardbacknutter.sshd.fg.STOP")
3 | This functionality can be enabled/disabled in the settings. Note that when enabled, any other application can send these intents.
4 | - fix #6: OpenSSH 9.8p1 to fix CVE-2024-6387
5 | - removed supersu
6 |
--------------------------------------------------------------------------------
/metadata/en-US/changelogs/7.txt:
--------------------------------------------------------------------------------
1 | "com.hardbacknutter.sshd.fg.STOP" intent will now properly quit the app.
2 |
--------------------------------------------------------------------------------
/metadata/en-US/changelogs/8.txt:
--------------------------------------------------------------------------------
1 | Updated services:
2 | Dropbear 2024.86
3 | sftp-server from OpenSSH 9.9p1
4 | Support for Android 15
5 | full-screen support for older Android versions.
6 |
7 | Potential fix for issue #8 : the missing text for the dialog buttons should now be visible even on OEM devices with missing text resources.
8 |
--------------------------------------------------------------------------------
/metadata/en-US/changelogs/9.txt:
--------------------------------------------------------------------------------
1 | adds x86_64 support
2 | No code changes
--------------------------------------------------------------------------------
/metadata/en-US/full_description.txt:
--------------------------------------------------------------------------------
1 | Sshd4a provides an 'sshd' server with shell access, rsync and scp/sftp services.
2 | Services are provided by:
3 | - https://matt.ucc.asn.au/dropbear/dropbear.html
4 | - https://rsync.samba.org/
5 | - https://github.com/openssh/openssh-portable
--------------------------------------------------------------------------------
/metadata/en-US/images/IzzyOnDroid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tfonteyn/Sshd4a/46e9bab35021b212de4123cb1e9473828f78694c/metadata/en-US/images/IzzyOnDroid.png
--------------------------------------------------------------------------------
/metadata/en-US/images/get-it-on-github.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tfonteyn/Sshd4a/46e9bab35021b212de4123cb1e9473828f78694c/metadata/en-US/images/get-it-on-github.png
--------------------------------------------------------------------------------
/metadata/en-US/images/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tfonteyn/Sshd4a/46e9bab35021b212de4123cb1e9473828f78694c/metadata/en-US/images/icon.png
--------------------------------------------------------------------------------
/metadata/en-US/images/phoneScreenshots/01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tfonteyn/Sshd4a/46e9bab35021b212de4123cb1e9473828f78694c/metadata/en-US/images/phoneScreenshots/01.png
--------------------------------------------------------------------------------
/metadata/en-US/images/phoneScreenshots/02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tfonteyn/Sshd4a/46e9bab35021b212de4123cb1e9473828f78694c/metadata/en-US/images/phoneScreenshots/02.png
--------------------------------------------------------------------------------
/metadata/en-US/images/phoneScreenshots/03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tfonteyn/Sshd4a/46e9bab35021b212de4123cb1e9473828f78694c/metadata/en-US/images/phoneScreenshots/03.png
--------------------------------------------------------------------------------
/metadata/en-US/images/phoneScreenshots/04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tfonteyn/Sshd4a/46e9bab35021b212de4123cb1e9473828f78694c/metadata/en-US/images/phoneScreenshots/04.png
--------------------------------------------------------------------------------
/metadata/en-US/images/phoneScreenshots/05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tfonteyn/Sshd4a/46e9bab35021b212de4123cb1e9473828f78694c/metadata/en-US/images/phoneScreenshots/05.png
--------------------------------------------------------------------------------
/metadata/en-US/images/phoneScreenshots/06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tfonteyn/Sshd4a/46e9bab35021b212de4123cb1e9473828f78694c/metadata/en-US/images/phoneScreenshots/06.png
--------------------------------------------------------------------------------
/metadata/en-US/images/phoneScreenshots/07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tfonteyn/Sshd4a/46e9bab35021b212de4123cb1e9473828f78694c/metadata/en-US/images/phoneScreenshots/07.png
--------------------------------------------------------------------------------
/metadata/en-US/short_description.txt:
--------------------------------------------------------------------------------
1 | An 'sshd' server with shell access, rsync and scp/sftp services.
--------------------------------------------------------------------------------
/metadata/en-US/title.txt:
--------------------------------------------------------------------------------
1 | Sshd4a
--------------------------------------------------------------------------------
/metadata/zh-CN/changelogs/1.txt:
--------------------------------------------------------------------------------
1 | 首次发布。
2 |
--------------------------------------------------------------------------------
/metadata/zh-CN/changelogs/3.txt:
--------------------------------------------------------------------------------
1 | 修复开机时/打开时启动的问题
2 |
--------------------------------------------------------------------------------
/metadata/zh-CN/changelogs/4.txt:
--------------------------------------------------------------------------------
1 | OpenSSH升级到9.6p1
2 |
--------------------------------------------------------------------------------
/metadata/zh-CN/changelogs/5.txt:
--------------------------------------------------------------------------------
1 | -新增对本地存储用户/密码的支持
2 | -增加了用户设置,以启用/禁用个人认证方式。
3 | -更新服务:
4 | - Dropbear 2024.85
5 | - rsync 3.3.0
6 | - sftp-server from OpenSSH 9.7p1
7 |
--------------------------------------------------------------------------------
/metadata/zh-CN/changelogs/6.txt:
--------------------------------------------------------------------------------
1 | OpenSSH 9.8p1: CVE-2024-6387
--------------------------------------------------------------------------------
/metadata/zh-CN/changelogs/7.txt:
--------------------------------------------------------------------------------
1 | 「com.hardbacknutter.sshd.fg.STOP」意向現在會正確退出應用程式。
--------------------------------------------------------------------------------
/metadata/zh-CN/full_description.txt:
--------------------------------------------------------------------------------
1 | Sshd4a 提供了一个带有 shell 访问,rsync 和 scp/sftp 的“sshd”服务器。
2 | 服务由以下组件提供:
3 | - https://matt.ucc.asn.au/dropbear/dropbear.html
4 | - https://rsync.samba.org/
5 | - https://github.com/openssh/openssh-portable
6 |
--------------------------------------------------------------------------------
/metadata/zh-CN/short_description.txt:
--------------------------------------------------------------------------------
1 | 具有shell访问权限、rsync和scp/sftp服务的sshd服务器。
2 |
--------------------------------------------------------------------------------
/metadata/zh-CN/title.txt:
--------------------------------------------------------------------------------
1 | Sshd4a
2 |
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | pluginManagement {
2 | repositories {
3 | google()
4 | mavenCentral()
5 | gradlePluginPortal()
6 | }
7 | }
8 | dependencyResolutionManagement {
9 | repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
10 | repositories {
11 | google()
12 | mavenCentral()
13 | }
14 | }
15 |
16 | rootProject.name = "Sshd4a"
17 | include ':app'
18 |
--------------------------------------------------------------------------------