[BACK]Return to authfd.h CVS log [TXT][DIR] Up to [local] / src / usr.bin / ssh

Diff for /src/usr.bin/ssh/authfd.h between version 1.16 and 1.16.2.2

version 1.16, 2000/12/20 19:37:21 version 1.16.2.2, 2002/03/09 00:20:44
Line 1 
Line 1 
   /*      $OpenBSD$       */
   
 /*  /*
  * 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
Line 11 
Line 13 
  * called by a name other than "ssh" or "Secure Shell".   * called by a name other than "ssh" or "Secure Shell".
  */   */
   
 /* RCSID("$OpenBSD$"); */  
   
 #ifndef AUTHFD_H  #ifndef AUTHFD_H
 #define AUTHFD_H  #define AUTHFD_H
   
Line 38 
Line 38 
 #define SSH2_AGENTC_REMOVE_IDENTITY             18  #define SSH2_AGENTC_REMOVE_IDENTITY             18
 #define SSH2_AGENTC_REMOVE_ALL_IDENTITIES       19  #define SSH2_AGENTC_REMOVE_ALL_IDENTITIES       19
   
   /* smartcard */
   #define SSH_AGENTC_ADD_SMARTCARD_KEY            20
   #define SSH_AGENTC_REMOVE_SMARTCARD_KEY         21
   
   /* extended failure messages */
   #define SSH2_AGENT_FAILURE                      30
   
 /* additional error code for ssh.com's ssh-agent2 */  /* additional error code for ssh.com's ssh-agent2 */
 #define SSH_COM_AGENT2_FAILURE                   102  #define SSH_COM_AGENT2_FAILURE                  102
   
 #define SSH_AGENT_OLD_SIGNATURE                 0x01  #define SSH_AGENT_OLD_SIGNATURE                 0x01
   
   
 typedef struct {  typedef struct {
         int     fd;          int     fd;
         Buffer  identities;          Buffer  identities;
         int     howmany;          int     howmany;
 }       AuthenticationConnection;  }       AuthenticationConnection;
   
 /* Returns the number of the authentication fd, or -1 if there is none. */  int      ssh_get_authentication_socket(void);
 int     ssh_get_authentication_socket(void);  void     ssh_close_authentication_socket(int);
   
 /*  
  * This should be called for any descriptor returned by  
  * ssh_get_authentication_socket().  Depending on the way the descriptor was  
  * obtained, this may close the descriptor.  
  */  
 void    ssh_close_authentication_socket(int authfd);  
   
 /*  
  * Opens and connects a private socket for communication with the  
  * authentication agent.  Returns NULL if an error occurred and the  
  * connection could not be opened.  The connection should be closed by the  
  * caller by calling ssh_close_authentication_connection().  
  */  
 AuthenticationConnection *ssh_get_authentication_connection(void);  AuthenticationConnection *ssh_get_authentication_connection(void);
   void     ssh_close_authentication_connection(AuthenticationConnection *);
   int      ssh_get_num_identities(AuthenticationConnection *, int);
   Key     *ssh_get_first_identity(AuthenticationConnection *, char **, int);
   Key     *ssh_get_next_identity(AuthenticationConnection *, char **, int);
   int      ssh_add_identity(AuthenticationConnection *, Key *, const char *);
   int      ssh_remove_identity(AuthenticationConnection *, Key *);
   int      ssh_remove_all_identities(AuthenticationConnection *, int);
   int      ssh_update_card(AuthenticationConnection *, int, const char *);
   
 /*  
  * Closes the connection to the authentication agent and frees any associated  
  * memory.  
  */  
 void    ssh_close_authentication_connection(AuthenticationConnection *auth);  
   
 /*  
  * Returns the number authentication identity held by the agent.  
  */  
 int     ssh_get_num_identities(AuthenticationConnection *auth, int version);  
   
 /*  
  * Returns the first authentication identity held by the agent or NULL if  
  * no identies are available. Caller must free comment and key.  
  * Note that you cannot mix calls with different versions.  
  */  
 Key     *ssh_get_first_identity(AuthenticationConnection *auth, char **comment, int version);  
   
 /*  
  * Returns the next authentication identity for the agent.  Other functions  
  * can be called between this and ssh_get_first_identity or two calls of this  
  * function.  This returns NULL if there are no more identities.  The caller  
  * must free key and comment after a successful return.  
  */  
 Key     *ssh_get_next_identity(AuthenticationConnection *auth, char **comment, int version);  
   
 /*  
  * Requests the agent to decrypt the given challenge.  Returns true if the  
  * agent claims it was able to decrypt it.  
  */  
 int  int
 ssh_decrypt_challenge(AuthenticationConnection *auth,  ssh_decrypt_challenge(AuthenticationConnection *, Key *, BIGNUM *, u_char[16],
     Key *key, BIGNUM * challenge,      u_int, u_char[16]);
     u_char session_id[16],  
     u_int response_type,  
     u_char response[16]);  
   
 /* Requests the agent to sign data using key */  
 int  int
 ssh_agent_sign(AuthenticationConnection *auth,  ssh_agent_sign(AuthenticationConnection *, Key *, u_char **, u_int *, u_char *,
     Key *key,      u_int);
     u_char **sigp, int *lenp,  
     u_char *data, int datalen);  
   
 /*  
  * Adds an identity to the authentication server.  This call is not meant to  
  * be used by normal applications.  This returns true if the identity was  
  * successfully added.  
  */  
 int  
 ssh_add_identity(AuthenticationConnection *auth, Key *key,  
     const char *comment);  
   
 /*  
  * Removes the identity from the authentication server.  This call is not  
  * meant to be used by normal applications.  This returns true if the  
  * identity was successfully added.  
  */  
 int     ssh_remove_identity(AuthenticationConnection *auth, Key *key);  
   
 /*  
  * Removes all identities from the authentication agent.  This call is not  
  * meant to be used by normal applications.  This returns true if the  
  * operation was successful.  
  */  
 int     ssh_remove_all_identities(AuthenticationConnection *auth, int version);  
   
 #endif                          /* AUTHFD_H */  #endif                          /* AUTHFD_H */

Legend:
Removed from v.1.16  
changed lines
  Added in v.1.16.2.2