xref: /onnv-gate/usr/src/cmd/cmd-inet/usr.sbin/in.ftpd/config.h (revision 0:68f95e015346)
1*0Sstevel@tonic-gate /*
2*0Sstevel@tonic-gate  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
3*0Sstevel@tonic-gate  * Use is subject to license terms.
4*0Sstevel@tonic-gate  */
5*0Sstevel@tonic-gate 
6*0Sstevel@tonic-gate #pragma ident	"%Z%%M%	%I%	%E% SMI"
7*0Sstevel@tonic-gate 
8*0Sstevel@tonic-gate /* src/config.h.  Generated automatically by configure.  */
9*0Sstevel@tonic-gate /****************************************************************************
10*0Sstevel@tonic-gate 
11*0Sstevel@tonic-gate   Copyright (c) 1999,2000 WU-FTPD Development Group.
12*0Sstevel@tonic-gate   All rights reserved.
13*0Sstevel@tonic-gate 
14*0Sstevel@tonic-gate   Portions Copyright (c) 1980, 1985, 1988, 1989, 1990, 1991, 1993, 1994
15*0Sstevel@tonic-gate     The Regents of the University of California.
16*0Sstevel@tonic-gate   Portions Copyright (c) 1993, 1994 Washington University in Saint Louis.
17*0Sstevel@tonic-gate   Portions Copyright (c) 1996, 1998 Berkeley Software Design, Inc.
18*0Sstevel@tonic-gate   Portions Copyright (c) 1989 Massachusetts Institute of Technology.
19*0Sstevel@tonic-gate   Portions Copyright (c) 1998 Sendmail, Inc.
20*0Sstevel@tonic-gate   Portions Copyright (c) 1983, 1995, 1996, 1997 Eric P.  Allman.
21*0Sstevel@tonic-gate   Portions Copyright (c) 1997 by Stan Barber.
22*0Sstevel@tonic-gate   Portions Copyright (c) 1997 by Kent Landfield.
23*0Sstevel@tonic-gate   Portions Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997
24*0Sstevel@tonic-gate     Free Software Foundation, Inc.
25*0Sstevel@tonic-gate 
26*0Sstevel@tonic-gate   Use and distribution of this software and its source code are governed
27*0Sstevel@tonic-gate   by the terms and conditions of the WU-FTPD Software License ("LICENSE").
28*0Sstevel@tonic-gate 
29*0Sstevel@tonic-gate   If you did not receive a copy of the license, it may be obtained online
30*0Sstevel@tonic-gate   at http://www.wu-ftpd.org/license.html.
31*0Sstevel@tonic-gate 
32*0Sstevel@tonic-gate   $Id: config.h.in,v 1.31 2000/07/01 18:04:21 wuftpd Exp $
33*0Sstevel@tonic-gate 
34*0Sstevel@tonic-gate ****************************************************************************/
35*0Sstevel@tonic-gate 
36*0Sstevel@tonic-gate #define SOLARIS_2
37*0Sstevel@tonic-gate #define SVR4
38*0Sstevel@tonic-gate #define HAVE_STATVFS
39*0Sstevel@tonic-gate #define NO_UTMP
40*0Sstevel@tonic-gate #define HAVE_FGETPWENT
41*0Sstevel@tonic-gate #define HAVE_MKSTEMP
42*0Sstevel@tonic-gate #define HAVE_SYS_SENDFILE_H
43*0Sstevel@tonic-gate 
44*0Sstevel@tonic-gate /*
45*0Sstevel@tonic-gate  * Configuration file for autoconf - will be modified by configure
46*0Sstevel@tonic-gate  */
47*0Sstevel@tonic-gate 
48*0Sstevel@tonic-gate #define HAVE_FCNTL_H 1
49*0Sstevel@tonic-gate #define HAVE_DIRENT_H 1
50*0Sstevel@tonic-gate #define HAVE_REGEX_H 1
51*0Sstevel@tonic-gate #define TIME_WITH_SYS_TIME 1
52*0Sstevel@tonic-gate /* #undef HAVE_SYS_TIME_H */
53*0Sstevel@tonic-gate /* #undef HAVE_TIME_H */
54*0Sstevel@tonic-gate /* #undef HAVE_MNTENT_H */
55*0Sstevel@tonic-gate #define HAVE_SYS_MNTENT_H 1
56*0Sstevel@tonic-gate #define HAVE_SYS_MNTTAB_H 1
57*0Sstevel@tonic-gate /* #undef HAVE_NDIR_H */
58*0Sstevel@tonic-gate #define HAVE_STRING_H 1
59*0Sstevel@tonic-gate /* #undef HAVE_SYS_DIR_H */
60*0Sstevel@tonic-gate /* #undef HAVE_SYS_NDIR_H */
61*0Sstevel@tonic-gate /* #undef HAVE_SYS_QUOTA_H */
62*0Sstevel@tonic-gate #define HAVE_SYS_FS_UFS_QUOTA_H 1
63*0Sstevel@tonic-gate /* #undef HAVE_UFS_QUOTA_H */
64*0Sstevel@tonic-gate /* #undef HAVE_JFS_QUOTA_H */
65*0Sstevel@tonic-gate /* #undef HAVE_UFS_UFS_QUOTA_H */
66*0Sstevel@tonic-gate /* #undef HAVE_LINUX_QUOTA_H */
67*0Sstevel@tonic-gate #define HAVE_STDLIB_H 1
68*0Sstevel@tonic-gate #define HAVE_UNISTD_H 1
69*0Sstevel@tonic-gate #define HAVE_SYS_TYPES_H 1
70*0Sstevel@tonic-gate #define HAVE_GLOB_H 1
71*0Sstevel@tonic-gate #define HAVE_GRP_H 1
72*0Sstevel@tonic-gate #define HAVE_SHADOW_H 1
73*0Sstevel@tonic-gate /* #undef HAVE_VMSDIR_H */
74*0Sstevel@tonic-gate 
75*0Sstevel@tonic-gate /* #undef QUOTA_INODE */
76*0Sstevel@tonic-gate #define QUOTA_DEVICE
77*0Sstevel@tonic-gate #define QSORT_IS_VOID 1
78*0Sstevel@tonic-gate 
79*0Sstevel@tonic-gate #define HAVE_SIGPROCMASK 1
80*0Sstevel@tonic-gate #define HAVE_VSNPRINTF 1
81*0Sstevel@tonic-gate /* #undef HAVE_DIRFD */
82*0Sstevel@tonic-gate /* #undef HAVE_FLOCK */
83*0Sstevel@tonic-gate #define HAVE_FTW 1
84*0Sstevel@tonic-gate #define HAVE_GETCWD 1
85*0Sstevel@tonic-gate #define HAVE_GETDTABLESIZE 1
86*0Sstevel@tonic-gate #define HAVE_GETRLIMIT 1
87*0Sstevel@tonic-gate /* #undef HAVE_PSTAT */
88*0Sstevel@tonic-gate #define HAVE_LSTAT 1
89*0Sstevel@tonic-gate #define HAVE_VPRINTF 1
90*0Sstevel@tonic-gate #define HAVE_SNPRINTF 1
91*0Sstevel@tonic-gate #define HAVE_REGEX 1
92*0Sstevel@tonic-gate #define HAVE_REGEXEC 1
93*0Sstevel@tonic-gate #define HAVE_SETSID 1
94*0Sstevel@tonic-gate #define HAVE_MEMMOVE 1
95*0Sstevel@tonic-gate #define HAVE_STRTOUL 1
96*0Sstevel@tonic-gate /* #undef HAVE_SIGLIST */
97*0Sstevel@tonic-gate #define FACILITY LOG_DAEMON
98*0Sstevel@tonic-gate 
99*0Sstevel@tonic-gate #define HAVE_LIMITS_H 1
100*0Sstevel@tonic-gate #define HAVE_VALUES_H 1
101*0Sstevel@tonic-gate /* #undef HAVE_BSD_BSD_H */
102*0Sstevel@tonic-gate #define HAVE_SYS_PARAM_H 1
103*0Sstevel@tonic-gate /* #undef NEED_LIMITS_H */
104*0Sstevel@tonic-gate /* #undef NEED_VALUES_H */
105*0Sstevel@tonic-gate /* #undef NEED_BSD_BSD_H */
106*0Sstevel@tonic-gate #define NEED_SYS_PARAM_H 1
107*0Sstevel@tonic-gate #if defined(HAVE_SYS_PARAM_H) && defined(NEED_SYS_PARAM_H)
108*0Sstevel@tonic-gate #include <sys/param.h>
109*0Sstevel@tonic-gate #endif
110*0Sstevel@tonic-gate #if defined(HAVE_VALUES_H) && defined(NEED_VALUES_H)
111*0Sstevel@tonic-gate #include <values.h>
112*0Sstevel@tonic-gate #endif
113*0Sstevel@tonic-gate #if defined(HAVE_LIMITS_H) && defined(NEED_LIMITS_H)
114*0Sstevel@tonic-gate #include <limits.h>
115*0Sstevel@tonic-gate #endif
116*0Sstevel@tonic-gate #if defined(HAVE_BSD_BSD_H) && defined(NEED_BSD_BSD_H)
117*0Sstevel@tonic-gate #include <bsd/bsd.h>
118*0Sstevel@tonic-gate #endif
119*0Sstevel@tonic-gate /* #undef NBBY */
120*0Sstevel@tonic-gate 
121*0Sstevel@tonic-gate #define SIGNAL_TYPE void
122*0Sstevel@tonic-gate #define HAVE_SETUID 1
123*0Sstevel@tonic-gate #define HAVE_SETEUID 1
124*0Sstevel@tonic-gate /* #undef HAVE_SETREUID */
125*0Sstevel@tonic-gate /* #undef HAVE_SETRESUID */
126*0Sstevel@tonic-gate #define HAVE_SETEGID 1
127*0Sstevel@tonic-gate /* #undef HAVE_SETREGID */
128*0Sstevel@tonic-gate /* #undef HAVE_SETRESGID */
129*0Sstevel@tonic-gate #define HAVE_ST_BLKSIZE 1
130*0Sstevel@tonic-gate #define HAVE_SYSCONF 1
131*0Sstevel@tonic-gate #define HAVE_SYS_SYSTEMINFO_H 1
132*0Sstevel@tonic-gate /* #undef HAVE_PATHS_H */
133*0Sstevel@tonic-gate #define HAVE_SYSLOG_H 1
134*0Sstevel@tonic-gate #define HAVE_SYS_SYSLOG_H 1
135*0Sstevel@tonic-gate #define HAVE_FCHDIR 1
136*0Sstevel@tonic-gate /* #undef HAVE_QUOTACTL */
137*0Sstevel@tonic-gate #define HAS_OLDSTYLE_GETMNTENT
138*0Sstevel@tonic-gate /* #undef HAS_PW_EXPIRE */
139*0Sstevel@tonic-gate #define SHADOW_PASSWORD 1
140*0Sstevel@tonic-gate #define AUTOCONF 1
141*0Sstevel@tonic-gate #if _FILE_OFFSET_BITS == 64
142*0Sstevel@tonic-gate #define L_FORMAT "lld"
143*0Sstevel@tonic-gate #else
144*0Sstevel@tonic-gate #define L_FORMAT "ld"
145*0Sstevel@tonic-gate #endif
146*0Sstevel@tonic-gate #define T_FORMAT "ld"
147*0Sstevel@tonic-gate #define PW_UID_FORMAT "ld"
148*0Sstevel@tonic-gate #define GR_GID_FORMAT "ld"
149*0Sstevel@tonic-gate 
150*0Sstevel@tonic-gate /* #undef HAVE_UT_UT_HOST */
151*0Sstevel@tonic-gate #define HAVE_UT_UT_EXIT_E_TERMINATION 1
152*0Sstevel@tonic-gate 
153*0Sstevel@tonic-gate /* Here instead of everywhere: */
154*0Sstevel@tonic-gate #include <stdio.h>
155*0Sstevel@tonic-gate #include <stdlib.h>
156*0Sstevel@tonic-gate #ifdef HAVE_UNISTD_H
157*0Sstevel@tonic-gate #include <unistd.h>
158*0Sstevel@tonic-gate #endif
159*0Sstevel@tonic-gate 
160*0Sstevel@tonic-gate /* Newer systems will have seteuid/setegid */
161*0Sstevel@tonic-gate /* Older systems may have the BSD setreuid/setregid */
162*0Sstevel@tonic-gate /* HP/UX has setresuid/setresgid */
163*0Sstevel@tonic-gate /* Some SCO systems appearently have none of this.
164*0Sstevel@tonic-gate    so if HAVE_SETUID is not defined we'll presume it's
165*0Sstevel@tonic-gate    all needed since we're compiling support/sco.c */
166*0Sstevel@tonic-gate 
167*0Sstevel@tonic-gate #ifdef HAVE_SETUID
168*0Sstevel@tonic-gate 
169*0Sstevel@tonic-gate #ifndef HAVE_SETEUID
170*0Sstevel@tonic-gate #ifdef HAVE_SETREUID
171*0Sstevel@tonic-gate #define seteuid(euid) setreuid(-1,(euid))
172*0Sstevel@tonic-gate #else
173*0Sstevel@tonic-gate #ifdef HAVE_SETRESUID
174*0Sstevel@tonic-gate #define seteuid(euid) setresuid(-1,(euid),-1)
175*0Sstevel@tonic-gate #else
176*0Sstevel@tonic-gate #error No seteuid() functions.
177*0Sstevel@tonic-gate #endif
178*0Sstevel@tonic-gate #endif
179*0Sstevel@tonic-gate #endif
180*0Sstevel@tonic-gate 
181*0Sstevel@tonic-gate #ifndef HAVE_SETEGID
182*0Sstevel@tonic-gate #ifdef HAVE_SETREGID
183*0Sstevel@tonic-gate #define setegid(egid) setregid(-1,(egid))
184*0Sstevel@tonic-gate #else
185*0Sstevel@tonic-gate #ifdef HAVE_SETRESGID
186*0Sstevel@tonic-gate #define setegid(egid) setresgid(-1,(egid),-1)
187*0Sstevel@tonic-gate #else
188*0Sstevel@tonic-gate #error No setegid() functions.
189*0Sstevel@tonic-gate #endif
190*0Sstevel@tonic-gate #endif
191*0Sstevel@tonic-gate #endif
192*0Sstevel@tonic-gate 
193*0Sstevel@tonic-gate #endif /* HAVE_SETUID */
194*0Sstevel@tonic-gate 
195*0Sstevel@tonic-gate #ifndef HAVE_FCHDIR
196*0Sstevel@tonic-gate #define HAS_NO_FCHDIR 1
197*0Sstevel@tonic-gate #endif
198*0Sstevel@tonic-gate #ifndef HAVE_QUOTACTL
199*0Sstevel@tonic-gate #define HAS_NO_QUOTACTL
200*0Sstevel@tonic-gate #endif
201*0Sstevel@tonic-gate #ifdef HAVE_SYS_SYSTEMINFO_H
202*0Sstevel@tonic-gate #define HAVE_SYSINFO 1
203*0Sstevel@tonic-gate #endif
204*0Sstevel@tonic-gate #ifndef HAVE_SETSID
205*0Sstevel@tonic-gate #define NO_SETSID 1
206*0Sstevel@tonic-gate #endif
207*0Sstevel@tonic-gate 
208*0Sstevel@tonic-gate #ifndef HAVE_MEMMOVE
209*0Sstevel@tonic-gate #define memmove(a,b,c) bcopy(b,a,c)
210*0Sstevel@tonic-gate #endif
211*0Sstevel@tonic-gate #ifndef HAVE_STRTOUL
212*0Sstevel@tonic-gate #define strtoul(a,b,c) (unsigned long)strtol(a,b,c)
213*0Sstevel@tonic-gate #endif
214*0Sstevel@tonic-gate 
215*0Sstevel@tonic-gate #ifndef RAND_MAX
216*0Sstevel@tonic-gate #define RAND_MAX 2147483647
217*0Sstevel@tonic-gate #endif
218*0Sstevel@tonic-gate 
219*0Sstevel@tonic-gate #define USE_PAM 1
220*0Sstevel@tonic-gate 
221*0Sstevel@tonic-gate /*
222*0Sstevel@tonic-gate  * Socket macros which help with socket structure manipulation in a mixed
223*0Sstevel@tonic-gate  * IPv4 / IPv6 environment.
224*0Sstevel@tonic-gate  */
225*0Sstevel@tonic-gate #ifdef INET6
226*0Sstevel@tonic-gate #define HAVE_SIN6_SCOPE_ID
227*0Sstevel@tonic-gate #ifdef HAVE__SS_FAMILY
228*0Sstevel@tonic-gate #define ss_family __ss_family
229*0Sstevel@tonic-gate #endif
230*0Sstevel@tonic-gate #define SOCKSTORAGE sockaddr_storage
231*0Sstevel@tonic-gate #define SOCK_FAMILY(ss) ((ss).ss_family)
232*0Sstevel@tonic-gate #define SOCK_PORT(ss) ((ss).ss_family == AF_INET6 ? \
233*0Sstevel@tonic-gate 		     ((struct sockaddr_in6 *)&(ss))->sin6_port : \
234*0Sstevel@tonic-gate 		     ((struct sockaddr_in *)&(ss))->sin_port)
235*0Sstevel@tonic-gate #define SOCK_LEN(ss) ((ss).ss_family == AF_INET6 ? \
236*0Sstevel@tonic-gate 		    sizeof(struct sockaddr_in6) : sizeof(struct sockaddr_in))
237*0Sstevel@tonic-gate #define SOCK_ADDR(ss) ((ss).ss_family == AF_INET6 ? \
238*0Sstevel@tonic-gate 		     (void *)&((struct sockaddr_in6 *)&(ss))->sin6_addr : \
239*0Sstevel@tonic-gate 		     (void *)&((struct sockaddr_in *)&(ss))->sin_addr)
240*0Sstevel@tonic-gate #define SET_SOCK_FAMILY(ss, family) (SOCK_FAMILY(ss) = (family))
241*0Sstevel@tonic-gate #define SET_SOCK_PORT(ss, port) \
242*0Sstevel@tonic-gate 		((ss).ss_family == AF_INET6 ? \
243*0Sstevel@tonic-gate 		 (((struct sockaddr_in6 *)&(ss))->sin6_port = (port)) : \
244*0Sstevel@tonic-gate 		 (((struct sockaddr_in *)&(ss))->sin_port = (port)))
245*0Sstevel@tonic-gate #define SET_SOCK_ADDR4(ss, addr) ((void)(sock_set_inaddr(&(ss), (addr))))
246*0Sstevel@tonic-gate #define SET_SOCK_ADDR_ANY(ss) \
247*0Sstevel@tonic-gate 		((void)((ss).ss_family == AF_INET6 ? \
248*0Sstevel@tonic-gate 		 (void)(((struct sockaddr_in6 *)&(ss))->sin6_addr = \
249*0Sstevel@tonic-gate 			in6addr_any) : \
250*0Sstevel@tonic-gate 		 (void)(((struct sockaddr_in *)&(ss))->sin_addr.s_addr = \
251*0Sstevel@tonic-gate 			htonl(INADDR_ANY))))
252*0Sstevel@tonic-gate #define SET_SOCK_SCOPE(dst, src) sock_set_scope(&(dst), &(src))
253*0Sstevel@tonic-gate #else
254*0Sstevel@tonic-gate #define SOCKSTORAGE sockaddr_in
255*0Sstevel@tonic-gate #define SOCK_FAMILY(sin) ((sin).sin_family)
256*0Sstevel@tonic-gate #define SOCK_PORT(sin) ((sin).sin_port)
257*0Sstevel@tonic-gate #define SOCK_LEN(sin) (sizeof(sin))
258*0Sstevel@tonic-gate #define SOCK_ADDR(sin) ((void *)&(sin).sin_addr)
259*0Sstevel@tonic-gate #define SET_SOCK_FAMILY(sin, family) (SOCK_FAMILY(sin) = (family))
260*0Sstevel@tonic-gate #define SET_SOCK_PORT(sin, port) ((sin).sin_port = (port))
261*0Sstevel@tonic-gate #define SET_SOCK_ADDR4(sin, addr) ((sin).sin_addr = (addr))
262*0Sstevel@tonic-gate #define SET_SOCK_ADDR_ANY(sin) ((sin).sin_addr.s_addr = htonl(INADDR_ANY))
263*0Sstevel@tonic-gate #endif /* INET6 */
264*0Sstevel@tonic-gate 
265*0Sstevel@tonic-gate #define delay_signaling()
266*0Sstevel@tonic-gate #define enable_signaling()
267*0Sstevel@tonic-gate 
268*0Sstevel@tonic-gate #include "wu_config.h"
269