version 1.38, 2005/11/04 05:15:59 |
version 1.38.2.1, 2006/09/30 04:06:50 |
|
|
/* $OpenBSD$ */ |
/* $OpenBSD$ */ |
|
|
/* |
/* |
* Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. |
* Copyright (c) 2000, 2001 Markus Friedl. All rights reserved. |
|
|
#define KEX_H |
#define KEX_H |
|
|
#include <openssl/evp.h> |
#include <openssl/evp.h> |
#include "buffer.h" |
|
#include "cipher.h" |
|
#include "key.h" |
|
|
|
#define KEX_DH1 "diffie-hellman-group1-sha1" |
#define KEX_DH1 "diffie-hellman-group1-sha1" |
#define KEX_DH14 "diffie-hellman-group14-sha1" |
#define KEX_DH14 "diffie-hellman-group14-sha1" |
#define KEX_DHGEX_SHA1 "diffie-hellman-group-exchange-sha1" |
#define KEX_DHGEX_SHA1 "diffie-hellman-group-exchange-sha1" |
|
#define KEX_DHGEX_SHA256 "diffie-hellman-group-exchange-sha256" |
|
|
#define COMP_NONE 0 |
#define COMP_NONE 0 |
#define COMP_ZLIB 1 |
#define COMP_ZLIB 1 |
|
|
KEX_DH_GRP1_SHA1, |
KEX_DH_GRP1_SHA1, |
KEX_DH_GRP14_SHA1, |
KEX_DH_GRP14_SHA1, |
KEX_DH_GEX_SHA1, |
KEX_DH_GEX_SHA1, |
|
KEX_DH_GEX_SHA256, |
KEX_MAX |
KEX_MAX |
}; |
}; |
|
|
|
|
int kex_type; |
int kex_type; |
Buffer my; |
Buffer my; |
Buffer peer; |
Buffer peer; |
int done; |
sig_atomic_t done; |
int flags; |
int flags; |
const EVP_MD *evp_md; |
const EVP_MD *evp_md; |
char *client_version_string; |
char *client_version_string; |
|
|
BIGNUM *, BIGNUM *, BIGNUM *, u_char **, u_int *); |
BIGNUM *, BIGNUM *, BIGNUM *, u_char **, u_int *); |
void |
void |
kexgex_hash(const EVP_MD *, char *, char *, char *, int, char *, |
kexgex_hash(const EVP_MD *, char *, char *, char *, int, char *, |
int, u_char *, int, int, int, int, BIGNUM *, BIGNUM *, BIGNUM *, |
int, u_char *, int, int, int, int, BIGNUM *, BIGNUM *, BIGNUM *, |
BIGNUM *, BIGNUM *, u_char **, u_int *); |
BIGNUM *, BIGNUM *, u_char **, u_int *); |
|
|
void |
void |