diff options
author | Mike Lockwood <lockwood@google.com> | 2011-12-07 08:17:59 -0800 |
---|---|---|
committer | Mike Lockwood <lockwood@google.com> | 2012-02-08 10:12:43 -0800 |
commit | 1305e95ba6ff9fa202d0818caf10405df4b0f648 (patch) | |
tree | 6003d5fc2cb7c43cf28ed53dc9c880500c9bcd98 /hostfile.h | |
parent | 8273adc47a9f7405a0e038e9364a3c45f3609347 (diff) |
Initial commit of openssh-5.9p1
Change-Id: I991b8d22c9904ed6ced33a096776f4f342af52a8
Signed-off-by: Mike Lockwood <lockwood@google.com>
Diffstat (limited to 'hostfile.h')
-rw-r--r-- | hostfile.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/hostfile.h b/hostfile.h new file mode 100644 index 00000000..d84d422f --- /dev/null +++ b/hostfile.h @@ -0,0 +1,54 @@ +/* $OpenBSD: hostfile.h,v 1.19 2010/11/29 23:45:51 djm Exp $ */ + +/* + * Author: Tatu Ylonen <ylo@cs.hut.fi> + * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland + * All rights reserved + * + * As far as I am concerned, the code I have written for this software + * can be used freely for any purpose. Any derived versions of this + * software must be clearly marked as such, and if the derived work is + * incompatible with the protocol description in the RFC file, it must be + * called by a name other than "ssh" or "Secure Shell". + */ +#ifndef HOSTFILE_H +#define HOSTFILE_H + +typedef enum { + HOST_OK, HOST_NEW, HOST_CHANGED, HOST_REVOKED, HOST_FOUND +} HostStatus; + +typedef enum { + MRK_ERROR, MRK_NONE, MRK_REVOKE, MRK_CA +} HostkeyMarker; + +struct hostkey_entry { + char *host; + char *file; + u_long line; + Key *key; + HostkeyMarker marker; +}; +struct hostkeys; + +struct hostkeys *init_hostkeys(void); +void load_hostkeys(struct hostkeys *, const char *, const char *); +void free_hostkeys(struct hostkeys *); + +HostStatus check_key_in_hostkeys(struct hostkeys *, Key *, + const struct hostkey_entry **); +int lookup_key_in_hostkeys_by_type(struct hostkeys *, int, + const struct hostkey_entry **); + +int hostfile_read_key(char **, u_int *, Key *); +int add_host_to_hostfile(const char *, const char *, const Key *, int); + +#define HASH_MAGIC "|1|" +#define HASH_DELIM '|' + +#define CA_MARKER "@cert-authority" +#define REVOKE_MARKER "@revoked" + +char *host_hash(const char *, const char *, u_int); + +#endif |