mirror of
				https://github.com/PowerShell/Win32-OpenSSH.git
				synced 2025-11-03 21:24:40 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			91 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* $OpenBSD: authfd.h,v 1.38 2015/01/14 20:05:27 djm Exp $ */
 | 
						|
 | 
						|
/*
 | 
						|
 * Author: Tatu Ylonen <ylo@cs.hut.fi>
 | 
						|
 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
 | 
						|
 *                    All rights reserved
 | 
						|
 * Functions to interface with the SSH_AUTHENTICATION_FD socket.
 | 
						|
 *
 | 
						|
 * As far as I am concerned, the code I have written for this software
 | 
						|
 * can be used freely for any purpose.  Any derived versions of this
 | 
						|
 * software must be clearly marked as such, and if the derived work is
 | 
						|
 * incompatible with the protocol description in the RFC file, it must be
 | 
						|
 * called by a name other than "ssh" or "Secure Shell".
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef AUTHFD_H
 | 
						|
#define AUTHFD_H
 | 
						|
 | 
						|
/* List of identities returned by ssh_fetch_identitylist() */
 | 
						|
struct ssh_identitylist {
 | 
						|
	size_t nkeys;
 | 
						|
	struct sshkey **keys;
 | 
						|
	char **comments;
 | 
						|
};
 | 
						|
 | 
						|
int	ssh_get_authentication_socket(int *fdp);
 | 
						|
void	ssh_close_authentication_socket(int sock);
 | 
						|
 | 
						|
int	ssh_lock_agent(int sock, int lock, const char *password);
 | 
						|
int	ssh_fetch_identitylist(int sock, int version,
 | 
						|
	    struct ssh_identitylist **idlp);
 | 
						|
void	ssh_free_identitylist(struct ssh_identitylist *idl);
 | 
						|
int	ssh_add_identity_constrained(int sock, struct sshkey *key,
 | 
						|
	    const char *comment, u_int life, u_int confirm);
 | 
						|
int	ssh_remove_identity(int sock, struct sshkey *key);
 | 
						|
int	ssh_update_card(int sock, int add, const char *reader_id,
 | 
						|
	    const char *pin, u_int life, u_int confirm);
 | 
						|
int	ssh_remove_all_identities(int sock, int version);
 | 
						|
 | 
						|
int	ssh_decrypt_challenge(int sock, struct sshkey* key, BIGNUM *challenge,
 | 
						|
	    u_char session_id[16], u_char response[16]);
 | 
						|
int	ssh_agent_sign(int sock, struct sshkey *key,
 | 
						|
	    u_char **sigp, size_t *lenp,
 | 
						|
	    const u_char *data, size_t datalen, u_int compat);
 | 
						|
 | 
						|
/* Messages for the authentication agent connection. */
 | 
						|
#define SSH_AGENTC_REQUEST_RSA_IDENTITIES	1
 | 
						|
#define SSH_AGENT_RSA_IDENTITIES_ANSWER		2
 | 
						|
#define SSH_AGENTC_RSA_CHALLENGE		3
 | 
						|
#define SSH_AGENT_RSA_RESPONSE			4
 | 
						|
#define SSH_AGENT_FAILURE			5
 | 
						|
#define SSH_AGENT_SUCCESS			6
 | 
						|
#define SSH_AGENTC_ADD_RSA_IDENTITY		7
 | 
						|
#define SSH_AGENTC_REMOVE_RSA_IDENTITY		8
 | 
						|
#define SSH_AGENTC_REMOVE_ALL_RSA_IDENTITIES	9
 | 
						|
 | 
						|
/* private OpenSSH extensions for SSH2 */
 | 
						|
#define SSH2_AGENTC_REQUEST_IDENTITIES		11
 | 
						|
#define SSH2_AGENT_IDENTITIES_ANSWER		12
 | 
						|
#define SSH2_AGENTC_SIGN_REQUEST		13
 | 
						|
#define SSH2_AGENT_SIGN_RESPONSE		14
 | 
						|
#define SSH2_AGENTC_ADD_IDENTITY		17
 | 
						|
#define SSH2_AGENTC_REMOVE_IDENTITY		18
 | 
						|
#define SSH2_AGENTC_REMOVE_ALL_IDENTITIES	19
 | 
						|
 | 
						|
/* smartcard */
 | 
						|
#define SSH_AGENTC_ADD_SMARTCARD_KEY		20
 | 
						|
#define SSH_AGENTC_REMOVE_SMARTCARD_KEY		21
 | 
						|
 | 
						|
/* lock/unlock the agent */
 | 
						|
#define SSH_AGENTC_LOCK				22
 | 
						|
#define SSH_AGENTC_UNLOCK			23
 | 
						|
 | 
						|
/* add key with constraints */
 | 
						|
#define SSH_AGENTC_ADD_RSA_ID_CONSTRAINED	24
 | 
						|
#define SSH2_AGENTC_ADD_ID_CONSTRAINED		25
 | 
						|
#define SSH_AGENTC_ADD_SMARTCARD_KEY_CONSTRAINED 26
 | 
						|
 | 
						|
#define	SSH_AGENT_CONSTRAIN_LIFETIME		1
 | 
						|
#define	SSH_AGENT_CONSTRAIN_CONFIRM		2
 | 
						|
 | 
						|
/* extended failure messages */
 | 
						|
#define SSH2_AGENT_FAILURE			30
 | 
						|
 | 
						|
/* additional error code for ssh.com's ssh-agent2 */
 | 
						|
#define SSH_COM_AGENT2_FAILURE			102
 | 
						|
 | 
						|
#define	SSH_AGENT_OLD_SIGNATURE			0x01
 | 
						|
 | 
						|
#endif				/* AUTHFD_H */
 |