1.13.3
by Colin Watson
Import upstream version 5.1p1 |
1 |
/* $OpenBSD: misc.h,v 1.38 2008/06/12 20:38:28 dtucker Exp $ */
|
1
by Noah Meyerhans
Import upstream version 3.8.1p1 |
2 |
|
3 |
/*
|
|
4 |
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
|
5 |
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
|
6 |
* All rights reserved
|
|
7 |
*
|
|
8 |
* As far as I am concerned, the code I have written for this software
|
|
9 |
* can be used freely for any purpose. Any derived versions of this
|
|
10 |
* software must be clearly marked as such, and if the derived work is
|
|
11 |
* incompatible with the protocol description in the RFC file, it must be
|
|
12 |
* called by a name other than "ssh" or "Secure Shell".
|
|
13 |
*/
|
|
14 |
||
1.13.1
by Colin Watson
Import upstream version 4.6p1 |
15 |
#ifndef _MISC_H
|
16 |
#define _MISC_H
|
|
17 |
||
1.1.1
by Colin Watson
Import upstream version 3.9p1 |
18 |
/* misc.c */
|
19 |
||
1
by Noah Meyerhans
Import upstream version 3.8.1p1 |
20 |
char *chop(char *); |
21 |
char *strdelim(char **); |
|
1.1.1
by Colin Watson
Import upstream version 3.9p1 |
22 |
int set_nonblock(int); |
23 |
int unset_nonblock(int); |
|
1
by Noah Meyerhans
Import upstream version 3.8.1p1 |
24 |
void set_nodelay(int); |
25 |
int a2port(const char *); |
|
1.6.1
by Colin Watson
Import upstream version 4.3p2 |
26 |
int a2tun(const char *, int *); |
1.13.1
by Colin Watson
Import upstream version 4.6p1 |
27 |
char *put_host_port(const char *, u_short); |
1.1.2
by Colin Watson
Import upstream version 4.1p1 |
28 |
char *hpdelim(char **); |
1
by Noah Meyerhans
Import upstream version 3.8.1p1 |
29 |
char *cleanhostname(char *); |
30 |
char *colon(char *); |
|
31 |
long convtime(const char *); |
|
1.1.3
by Colin Watson
Import upstream version 4.2p1 |
32 |
char *tilde_expand_filename(const char *, uid_t); |
33 |
char *percent_expand(const char *, ...) __attribute__((__sentinel__)); |
|
1.13.1
by Colin Watson
Import upstream version 4.6p1 |
34 |
char *tohex(const void *, size_t); |
1.6.1
by Colin Watson
Import upstream version 4.3p2 |
35 |
void sanitise_stdfd(void); |
1.13.3
by Colin Watson
Import upstream version 5.1p1 |
36 |
void ms_subtract_diff(struct timeval *, int *); |
37 |
void ms_to_timeval(struct timeval *, int); |
|
1
by Noah Meyerhans
Import upstream version 3.8.1p1 |
38 |
|
39 |
struct passwd *pwcopy(struct passwd *); |
|
1.13.3
by Colin Watson
Import upstream version 5.1p1 |
40 |
const char *ssh_gai_strerror(int); |
1
by Noah Meyerhans
Import upstream version 3.8.1p1 |
41 |
|
42 |
typedef struct arglist arglist; |
|
43 |
struct arglist { |
|
44 |
char **list; |
|
1.1.1
by Colin Watson
Import upstream version 3.9p1 |
45 |
u_int num; |
46 |
u_int nalloc; |
|
1
by Noah Meyerhans
Import upstream version 3.8.1p1 |
47 |
};
|
6
by Martin Pitt
* SECURITY UPDATE: Shell code injection with crafted file names in scp. |
48 |
void addargs(arglist *, char *, ...) |
49 |
__attribute__((format(printf, 2, 3))); |
|
50 |
void replacearg(arglist *, u_int, char *, ...) |
|
51 |
__attribute__((format(printf, 3, 4))); |
|
52 |
void freeargs(arglist *); |
|
1.1.1
by Colin Watson
Import upstream version 3.9p1 |
53 |
|
1.6.1
by Colin Watson
Import upstream version 4.3p2 |
54 |
int tun_open(int, int); |
55 |
||
56 |
/* Common definitions for ssh tunnel device forwarding */
|
|
57 |
#define SSH_TUNMODE_NO 0x00
|
|
58 |
#define SSH_TUNMODE_POINTOPOINT 0x01
|
|
59 |
#define SSH_TUNMODE_ETHERNET 0x02
|
|
60 |
#define SSH_TUNMODE_DEFAULT SSH_TUNMODE_POINTOPOINT
|
|
61 |
#define SSH_TUNMODE_YES (SSH_TUNMODE_POINTOPOINT|SSH_TUNMODE_ETHERNET)
|
|
62 |
||
63 |
#define SSH_TUNID_ANY 0x7fffffff
|
|
64 |
#define SSH_TUNID_ERR (SSH_TUNID_ANY - 1)
|
|
65 |
#define SSH_TUNID_MAX (SSH_TUNID_ANY - 2)
|
|
1.13.1
by Colin Watson
Import upstream version 4.6p1 |
66 |
|
67 |
/* Functions to extract or store big-endian words of various sizes */
|
|
68 |
u_int64_t get_u64(const void *) |
|
69 |
__attribute__((__bounded__( __minbytes__, 1, 8))); |
|
70 |
u_int32_t get_u32(const void *) |
|
71 |
__attribute__((__bounded__( __minbytes__, 1, 4))); |
|
72 |
u_int16_t get_u16(const void *) |
|
73 |
__attribute__((__bounded__( __minbytes__, 1, 2))); |
|
74 |
void put_u64(void *, u_int64_t) |
|
75 |
__attribute__((__bounded__( __minbytes__, 1, 8))); |
|
76 |
void put_u32(void *, u_int32_t) |
|
77 |
__attribute__((__bounded__( __minbytes__, 1, 4))); |
|
78 |
void put_u16(void *, u_int16_t) |
|
79 |
__attribute__((__bounded__( __minbytes__, 1, 2))); |
|
80 |
||
81 |
||
82 |
/* readpass.c */
|
|
83 |
||
84 |
#define RP_ECHO 0x0001
|
|
85 |
#define RP_ALLOW_STDIN 0x0002
|
|
86 |
#define RP_ALLOW_EOF 0x0004
|
|
87 |
#define RP_USE_ASKPASS 0x0008
|
|
88 |
||
89 |
char *read_passphrase(const char *, int); |
|
90 |
int ask_permission(const char *, ...) __attribute__((format(printf, 1, 2))); |
|
91 |
int read_keyfile_line(FILE *, const char *, char *, size_t, u_long *); |
|
92 |
||
93 |
#endif /* _MISC_H */ |