Home | History | Annotate | Download | only in in.ftpd
      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"
    269