version 1.37, 2000/04/12 07:45:44 |
version 1.38, 2000/04/14 10:30:33 |
|
|
/* |
/* |
* |
* |
* ssh.h |
* ssh.h |
* |
* |
* Author: Tatu Ylonen <ylo@cs.hut.fi> |
* Author: Tatu Ylonen <ylo@cs.hut.fi> |
* |
* |
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
* All rights reserved |
* All rights reserved |
* |
* |
* Created: Fri Mar 17 17:09:37 1995 ylo |
* Created: Fri Mar 17 17:09:37 1995 ylo |
* |
* |
* Generic header file for ssh. |
* Generic header file for ssh. |
* |
* |
*/ |
*/ |
|
|
/* RCSID("$Id$"); */ |
/* RCSID("$Id$"); */ |
|
|
* information is not available. This must be called before record_login. |
* information is not available. This must be called before record_login. |
* The host from which the user logged in is stored in buf. |
* The host from which the user logged in is stored in buf. |
*/ |
*/ |
unsigned long |
unsigned long |
get_last_login_time(uid_t uid, const char *logname, |
get_last_login_time(uid_t uid, const char *logname, |
char *buf, unsigned int bufsize); |
char *buf, unsigned int bufsize); |
|
|
|
|
* Records that the user has logged in. This does many things normally done |
* Records that the user has logged in. This does many things normally done |
* by login(1). |
* by login(1). |
*/ |
*/ |
void |
void |
record_login(int pid, const char *ttyname, const char *user, uid_t uid, |
record_login(int pid, const char *ttyname, const char *user, uid_t uid, |
const char *host, struct sockaddr *addr); |
const char *host, struct sockaddr *addr); |
|
|
|
|
* and zero on failure. If the connection is successful, this calls |
* and zero on failure. If the connection is successful, this calls |
* packet_set_connection for the connection. |
* packet_set_connection for the connection. |
*/ |
*/ |
int |
int |
ssh_connect(const char *host, struct sockaddr_storage * hostaddr, |
ssh_connect(const char *host, struct sockaddr_storage * hostaddr, |
u_short port, int connection_attempts, |
u_short port, int connection_attempts, |
int anonymous, uid_t original_real_uid, |
int anonymous, uid_t original_real_uid, |
|
|
* references from the packet module). |
* references from the packet module). |
*/ |
*/ |
|
|
void |
void |
ssh_login(int host_key_valid, RSA * host_key, const char *host, |
ssh_login(int host_key_valid, RSA * host_key, const char *host, |
struct sockaddr * hostaddr, uid_t original_real_uid); |
struct sockaddr * hostaddr, uid_t original_real_uid); |
|
|
|
|
* Tries to authenticate the user using the .rhosts file and the host using |
* Tries to authenticate the user using the .rhosts file and the host using |
* its host key. Returns true if authentication succeeds. |
* its host key. Returns true if authentication succeeds. |
*/ |
*/ |
int |
int |
auth_rhosts_rsa(struct passwd * pw, const char *client_user, RSA* client_host_key); |
auth_rhosts_rsa(struct passwd * pw, const char *client_user, RSA* client_host_key); |
|
|
/* |
/* |
|
|
* precede the key to provide identification of the key without needing a |
* precede the key to provide identification of the key without needing a |
* passphrase. |
* passphrase. |
*/ |
*/ |
int |
int |
save_private_key(const char *filename, const char *passphrase, |
save_private_key(const char *filename, const char *passphrase, |
RSA * private_key, const char *comment); |
RSA * private_key, const char *comment); |
|
|
|
|
* comment of the key is returned in comment_return if it is non-NULL; the |
* comment of the key is returned in comment_return if it is non-NULL; the |
* caller must free the value with xfree. |
* caller must free the value with xfree. |
*/ |
*/ |
int |
int |
load_public_key(const char *filename, RSA * pub, |
load_public_key(const char *filename, RSA * pub, |
char **comment_return); |
char **comment_return); |
|
|
|
|
* comment_return if it is non-NULL; the caller must free the value with |
* comment_return if it is non-NULL; the caller must free the value with |
* xfree. |
* xfree. |
*/ |
*/ |
int |
int |
load_private_key(const char *filename, const char *passphrase, |
load_private_key(const char *filename, const char *passphrase, |
RSA * private_key, char **comment_return); |
RSA * private_key, char **comment_return); |
|
|