• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Dropbear - a SSH2 server
3  *
4  * Copyright (c) 2002,2003 Matt Johnston
5  * All rights reserved.
6  *
7  * Permission is hereby granted, free of charge, to any person obtaining a copy
8  * of this software and associated documentation files (the "Software"), to deal
9  * in the Software without restriction, including without limitation the rights
10  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11  * copies of the Software, and to permit persons to whom the Software is
12  * furnished to do so, subject to the following conditions:
13  *
14  * The above copyright notice and this permission notice shall be included in
15  * all copies or substantial portions of the Software.
16  *
17  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23  * SOFTWARE. */
24 
25 #ifndef _INCLUDES_H_
26 #define _INCLUDES_H_
27 
28 
29 #include "config.h"
30 #include "options.h"
31 #include "debug.h"
32 
33 #include <sys/types.h>
34 #include <sys/ioctl.h>
35 #include <sys/param.h> /* required for BSD4_4 define */
36 #include <sys/socket.h>
37 #include <sys/stat.h>
38 #include <sys/time.h>
39 #include <sys/un.h>
40 #include <sys/wait.h>
41 #include <sys/resource.h>
42 
43 #include <stdio.h>
44 #include <errno.h>
45 #include <fcntl.h>
46 #include <grp.h>
47 #include <limits.h>
48 #include <pwd.h>
49 #include <signal.h>
50 #include <stdlib.h>
51 #include <string.h>
52 #include <termios.h>
53 #include <unistd.h>
54 #include <syslog.h>
55 #include <netdb.h>
56 #include <ctype.h>
57 #include <stdarg.h>
58 #include <dirent.h>
59 
60 #ifdef HAVE_UTMP_H
61 #include <utmp.h>
62 #endif
63 
64 #ifdef HAVE_UTMPX_H
65 #include <utmpx.h>
66 #endif
67 
68 #ifdef HAVE_PATHS_H
69 #include <paths.h>
70 #endif
71 
72 #ifdef HAVE_LASTLOG_H
73 #include <lastlog.h>
74 #endif
75 
76 #ifdef HAVE_NETINET_IN_H
77 #include <netinet/in.h>
78 #endif
79 
80 #include <arpa/inet.h>
81 
82 /* netbsd 1.6 needs this to be included before netinet/ip.h for some
83  * undocumented reason */
84 #ifdef HAVE_NETINET_IN_SYSTM_H
85 #include <netinet/in_systm.h>
86 #endif
87 
88 #include <netinet/ip.h>
89 
90 #ifdef HAVE_NETINET_TCP_H
91 #include <netinet/tcp.h>
92 #endif
93 
94 #ifdef HAVE_INTTYPES_H
95 #include <inttypes.h>
96 #endif
97 
98 #ifdef HAVE_LIBUTIL_H
99 #include <libutil.h>
100 #endif
101 
102 #ifdef HAVE_CRYPT_H
103 #include <crypt.h>
104 #endif
105 
106 #ifndef DISABLE_ZLIB
107 #include <zlib.h>
108 #endif
109 
110 #ifdef HAVE_UTIL_H
111 #include <util.h>
112 #endif
113 
114 #ifdef HAVE_SHADOW_H
115 #include <shadow.h>
116 #endif
117 
118 #ifdef HAVE_LIBGEN_H
119 #include <libgen.h>
120 #endif
121 
122 #include "libtomcrypt/src/headers/tomcrypt.h"
123 #include "libtommath/tommath.h"
124 
125 #include "compat.h"
126 #include "fake-rfc2553.h"
127 
128 #ifndef HAVE_UINT16_T
129 #ifndef HAVE_U_INT16_T
130 typedef unsigned short u_int16_t;
131 #endif /* HAVE_U_INT16_T */
132 typedef u_int16_t uint16_t;
133 #endif /* HAVE_UINT16_T */
134 
135 #ifndef LOG_AUTHPRIV
136 #define LOG_AUTHPRIV LOG_AUTH
137 #endif
138 
139 /* so we can avoid warnings about unused params (ie in signal handlers etc) */
140 #ifdef UNUSED
141 #elif defined(__GNUC__)
142 # define UNUSED(x) UNUSED_ ## x __attribute__((unused))
143 #elif defined(__LCLINT__)
144 # define UNUSED(x) /*@unused@*/ x
145 #else
146 # define UNUSED(x) x
147 #endif
148 
149 #endif /* _INCLUDES_H_ */
150