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