Mercurial > dropbear
view ecdsa.h @ 1851:7f549ee3df48
Use HOME before /etc/passwd to find id_dropbear (#137)
Currently dbclient uses the value of HOME by default when looking for
~/.ssh/known_hosts, falling back to /etc/passwd if HOME is not set (so
that people can work around broken values in /etc/passwd).
However, when locating the default authentication key (defaults to
~/.ssh/id_dropbear), paths not starting with / are always prefixed with
the value from /etc/passwd.
Make the behaviour consistent by adjusting expand_homedir_path to use
the value of HOME, falling back to /etc/passwd if HOME is not set.
author | Matt Robinson <git@nerdoftheherd.com> |
---|---|
date | Tue, 19 Oct 2021 06:02:47 +0100 |
parents | 99ca393afc56 |
children |
line wrap: on
line source
#ifndef DROPBEAR_ECDSA_H_ #define DROPBEAR_ECDSA_H_ #include "includes.h" #include "buffer.h" #include "signkey.h" #if DROPBEAR_ECDSA /* prefer 256 or 384 since those are SHOULD for draft-ietf-curdle-ssh-kex-sha2.txt */ #if DROPBEAR_ECC_256 #define ECDSA_DEFAULT_SIZE 256 #elif DROPBEAR_ECC_384 #define ECDSA_DEFAULT_SIZE 384 #elif DROPBEAR_ECC_521 #define ECDSA_DEFAULT_SIZE 521 #else #error ECDSA cannot be enabled without enabling at least one size (256, 384, 521) #endif ecc_key *gen_ecdsa_priv_key(unsigned int bit_size); ecc_key *buf_get_ecdsa_pub_key(buffer* buf); ecc_key *buf_get_ecdsa_priv_key(buffer *buf); void buf_put_ecdsa_pub_key(buffer *buf, ecc_key *key); void buf_put_ecdsa_priv_key(buffer *buf, ecc_key *key); enum signkey_type ecdsa_signkey_type(const ecc_key * key); void buf_put_ecdsa_sign(buffer *buf, const ecc_key *key, const buffer *data_buf); int buf_ecdsa_verify(buffer *buf, const ecc_key *key, const buffer *data_buf); /* Returns 1 on success */ int signkey_is_ecdsa(enum signkey_type type); #endif #endif /* DROPBEAR_ECDSA_H_ */