source: trunk/third/openssh/authfd.h @ 16801

Revision 16801, 2.7 KB checked in by ghudson, 23 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r16800, which included commits to RCS files with non-trunk default branches.
Line 
1/*
2 * Author: Tatu Ylonen <ylo@cs.hut.fi>
3 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
4 *                    All rights reserved
5 * Functions to interface with the SSH_AUTHENTICATION_FD socket.
6 *
7 * As far as I am concerned, the code I have written for this software
8 * can be used freely for any purpose.  Any derived versions of this
9 * software must be clearly marked as such, and if the derived work is
10 * incompatible with the protocol description in the RFC file, it must be
11 * called by a name other than "ssh" or "Secure Shell".
12 */
13
14/* RCSID("$OpenBSD: authfd.h,v 1.21 2001/08/07 10:37:46 markus Exp $"); */
15
16#ifndef AUTHFD_H
17#define AUTHFD_H
18
19#include "buffer.h"
20
21/* Messages for the authentication agent connection. */
22#define SSH_AGENTC_REQUEST_RSA_IDENTITIES       1
23#define SSH_AGENT_RSA_IDENTITIES_ANSWER         2
24#define SSH_AGENTC_RSA_CHALLENGE                3
25#define SSH_AGENT_RSA_RESPONSE                  4
26#define SSH_AGENT_FAILURE                       5
27#define SSH_AGENT_SUCCESS                       6
28#define SSH_AGENTC_ADD_RSA_IDENTITY             7
29#define SSH_AGENTC_REMOVE_RSA_IDENTITY          8
30#define SSH_AGENTC_REMOVE_ALL_RSA_IDENTITIES    9
31
32/* private OpenSSH extensions for SSH2 */
33#define SSH2_AGENTC_REQUEST_IDENTITIES          11
34#define SSH2_AGENT_IDENTITIES_ANSWER            12
35#define SSH2_AGENTC_SIGN_REQUEST                13
36#define SSH2_AGENT_SIGN_RESPONSE                14
37#define SSH2_AGENTC_ADD_IDENTITY                17
38#define SSH2_AGENTC_REMOVE_IDENTITY             18
39#define SSH2_AGENTC_REMOVE_ALL_IDENTITIES       19
40
41/* smartcard */
42#define SSH_AGENTC_ADD_SMARTCARD_KEY            20
43#define SSH_AGENTC_REMOVE_SMARTCARD_KEY         21
44
45/* extended failure messages */
46#define SSH2_AGENT_FAILURE                      30
47
48/* additional error code for ssh.com's ssh-agent2 */
49#define SSH_COM_AGENT2_FAILURE                  102
50
51#define SSH_AGENT_OLD_SIGNATURE                 0x01
52
53typedef struct {
54        int     fd;
55        Buffer  identities;
56        int     howmany;
57}       AuthenticationConnection;
58
59int      ssh_get_authentication_socket(void);
60void     ssh_close_authentication_socket(int);
61
62AuthenticationConnection *ssh_get_authentication_connection(void);
63void     ssh_close_authentication_connection(AuthenticationConnection *);
64int      ssh_get_num_identities(AuthenticationConnection *, int);
65Key     *ssh_get_first_identity(AuthenticationConnection *, char **, int);
66Key     *ssh_get_next_identity(AuthenticationConnection *, char **, int);
67int      ssh_add_identity(AuthenticationConnection *, Key *, const char *);
68int      ssh_remove_identity(AuthenticationConnection *, Key *);
69int      ssh_remove_all_identities(AuthenticationConnection *, int);
70int      ssh_update_card(AuthenticationConnection *, int, const char *);
71
72int
73ssh_decrypt_challenge(AuthenticationConnection *, Key *, BIGNUM *, u_char[16],
74    u_int, u_char[16]);
75
76int
77ssh_agent_sign(AuthenticationConnection *, Key *, u_char **, int *, u_char *,
78    int);
79
80#endif                          /* AUTHFD_H */
Note: See TracBrowser for help on using the repository browser.