diff options
-rw-r--r-- | source4/heimdal_build/config.h | 5 | ||||
-rw-r--r-- | source4/heimdal_build/config.m4 | 6 | ||||
-rw-r--r-- | source4/heimdal_build/config.mk | 4 | ||||
-rw-r--r-- | source4/heimdal_build/replace.c | 29 | ||||
-rw-r--r-- | source4/lib/replace/replace.h | 12 |
5 files changed, 54 insertions, 2 deletions
diff --git a/source4/heimdal_build/config.h b/source4/heimdal_build/config.h index 02b3705ba1..6bbe947155 100644 --- a/source4/heimdal_build/config.h +++ b/source4/heimdal_build/config.h @@ -3,6 +3,9 @@ Samba source tree */ +#ifndef HAVE_HEIMDAL_CONFIG_H +#define HAVE_HEIMDAL_CONFIG_H 1 + /* bring in the samba4 config.h */ #include "include/config.h" @@ -42,3 +45,5 @@ static /**/const char *const rcsid[] = { (const char *)rcsid, "\100(#)" msg } #include <stdarg.h> #include "lib/replace/replace.h" #endif + +#endif diff --git a/source4/heimdal_build/config.m4 b/source4/heimdal_build/config.m4 index 90fb7a930d..342ab6901f 100644 --- a/source4/heimdal_build/config.m4 +++ b/source4/heimdal_build/config.m4 @@ -87,6 +87,8 @@ AC_CHECK_FUNCS([ \ hstrerror \ err \ errx \ + warnx \ + flock \ writev ]) @@ -174,6 +176,10 @@ SMB_BINARY_ENABLE(compile_et, NO) AC_PROG_LEX AC_PROG_YACC +AC_CHECK_TYPES(u_int32_t) +AC_CHECK_TYPES(u_int16_t) +AC_CHECK_TYPES(u_int8_t) + # to enable kerberos, unpack a heimdal source tree in the heimdal directory # of the samba source tree if test -d heimdal; then diff --git a/source4/heimdal_build/config.mk b/source4/heimdal_build/config.mk index 9b1ee96edf..25abfa9542 100644 --- a/source4/heimdal_build/config.mk +++ b/source4/heimdal_build/config.mk @@ -179,7 +179,6 @@ ADD_OBJ_FILES = \ heimdal/lib/asn1/der_length.o \ heimdal/lib/asn1/der_copy.o \ heimdal/lib/asn1/der_cmp.o \ - heimdal/lib/asn1/timegm.o \ heimdal/lib/asn1/asn1_AD_IF_RELEVANT.o \ heimdal/lib/asn1/asn1_APOptions.o \ heimdal/lib/asn1/asn1_AP_REP.o \ @@ -282,7 +281,8 @@ ADD_OBJ_FILES = \ heimdal/lib/roken/strlwr.o \ heimdal/lib/roken/strsep_copy.o \ heimdal/lib/roken/strupr.o \ - heimdal/lib/roken/strpool.o + heimdal/lib/roken/strpool.o \ + heimdal_build/replace.o NOPROTO = YES # End SUBSYSTEM HEIMDAL_ROKEN ####################### diff --git a/source4/heimdal_build/replace.c b/source4/heimdal_build/replace.c index 0b7e1943f8..46019d7bb5 100644 --- a/source4/heimdal_build/replace.c +++ b/source4/heimdal_build/replace.c @@ -24,6 +24,7 @@ #include "config.h" #include <stdio.h> #include "err.h" +#include "roken.h" #ifndef HAVE_ERR void err(int eval, const char *format, ...) @@ -47,3 +48,31 @@ exit(eval); } #endif + +#ifndef HAVE_WARNX + void warnx(const char *format, ...) +{ + va_list ap; + va_start(ap, format); + vfprintf(stderr, format, ap); + va_end(ap); +} +#endif + +#ifndef HAVE_FLOCK + int flock(int fd, int op) +{ + switch (op & (LOCK_UN|LOCK_SH|LOCK_EX)) { + case LOCK_UN: + return fcntl_lock(fd, F_SETLK, 0, 0, F_UNLCK); + case LOCK_SH: + return fcntl_lock(fd, (op&LOCK_NB)?F_SETLK:F_SETLKW, + 0, 0, F_RDLCK); + case LOCK_EX: + return fcntl_lock(fd, (op&LOCK_NB)?F_SETLK:F_SETLKW, + 0, 0, F_WRLCK); + } + errno = EINVAL; + return -1; +} +#endif diff --git a/source4/lib/replace/replace.h b/source4/lib/replace/replace.h index 89225d3d65..48e46ba18e 100644 --- a/source4/lib/replace/replace.h +++ b/source4/lib/replace/replace.h @@ -119,4 +119,16 @@ int asprintf(char **,const char *, ...) PRINTF_ATTRIBUTE(2,3); typedef int (*comparison_fn_t)(const void *, const void *); #endif +#ifndef HAVE_U_INT32_T +typedef unsigned u_int32_t; +#endif + +#ifndef HAVE_U_INT16_T +typedef unsigned short u_int16_t; +#endif + +#ifndef HAVE_U_INT8_T +typedef unsigned char u_int8_t; +#endif + #endif |