/* * Copyright (c) 1996-2007, OpenFWTK Development Group * All rights reserved. See LICENSE. */ /* * S/KEY * * Main client header * * $OpenBSD: skey.h,v 1.12 1998/07/03 02:06:21 angelos Exp $ */ /* Maximum sequence number we allow */ #ifndef SKEY_MAX_SEQ #define SKEY_MAX_SEQ 10000 #endif /* Minimum secret password length (rfc1938) */ #ifndef SKEY_MIN_PW_LEN #define SKEY_MIN_PW_LEN 10 #endif /* Max secret password length (rfc1938 says 63 but allows more) */ #ifndef SKEY_MAX_PW_LEN #define SKEY_MAX_PW_LEN 255 #endif /* Max length of an S/Key seed (rfc1938) */ #ifndef SKEY_MAX_SEED_LEN #define SKEY_MAX_SEED_LEN 16 #endif /* Max length of S/Key challenge (otp-???? 9999 seed) */ #ifndef SKEY_MAX_CHALLENGE #define SKEY_MAX_CHALLENGE (11 + SKEY_MAX_HASHNAME_LEN + SKEY_MAX_SEED_LEN) #endif /* Max length of hash algorithm name (md4/md5/sha1/rmd160) */ #define SKEY_MAX_HASHNAME_LEN 6 /* Size of a binary key (not NULL-terminated) */ #define SKEY_BINKEY_SIZE 8 /* Location of random file for bogus challenges */ #define _SKEY_RAND_FILE_PATH_ "/etc/host.random" /* Prototypes */ void f(char *x); int keycrunch(char *result, char *seed, char *passwd); char *btoe(char *engout, char *c); char *put8(char *out, char *s); int etob(char *out, char *e); void rip(char *buf); void sevenbit(char *s); void backspace(char *s); char *skipspace(char *s); int atob8(char *out, char *in); int btoa8(char *out, char *in); int htoi(int c); const char *skey_get_algorithm(void); char *skey_set_algorithm(char *new);