Changeset 29343


Ignore:
Timestamp:
2011-11-27T19:28:39+01:00 (6 years ago)
Author:
jow
Message:

[PATCH-v6] samba 3.0.37 update
Samba3 patch is updated again so it applies after the new serive function
update (#29075).
I just tested it on my router and everything (still) seems to work.
So please commit it.
Through all versions these things are added to the original package in the
repositories:

  • Updates samba3 package to version 3.0.37
  • Splits nmbd and mountcifs into separate packages
  • Added settings to remove printing support and to make smbd even smaller
  • Removed LDAP, Kerebos and AD support
  • Added iconv support

Signed-off-by: Maarten Bezemer <m.m.bezemer@…>

Location:
packages/net/samba3
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • packages/net/samba3/Config.in

    r12278 r29343  
    1 config SAMBA3_DEBUG  
     1config SAMBA3_CONFIG_DEBUG  
    22        bool "Enable Logging for samba3" 
    33        depends PACKAGE_samba3 
    44        default n 
     5        help 
     6                Enables debugging support (will make binaries *much* bigger) 
     7                Also increases MAX_DEBUG_LEVEL to get more messages (also increases binary sizes!) 
     8 
     9config SAMBA3_CONFIG_SMALLER 
     10        bool "Make samba3 even smaller" 
     11        depends PACKAGE_samba3 
     12        default y 
     13        help 
     14                Removes support for ??? 
     15                Saves about 18kB for smbd, about 16kB for nmbd and about 17kB for smbpasswd 
     16 
     17config SAMBA3_CONFIG_NO_PRINTING 
     18        bool "Remove shared printing support" 
     19        depends PACKAGE_samba3 
     20        default y 
     21        help 
     22                Removes shared printing support. 
     23                Saves about 18kB for smbd, about 15kB for nmbd and about 18kB for smbpasswd 
  • packages/net/samba3/Makefile

    r29075 r29343  
    88 
    99PKG_NAME:=samba3 
    10 PKG_VERSION:=3.0.24 
    11 PKG_RELEASE:=9 
     10PKG_VERSION:=3.0.37 
     11PKG_RELEASE:=1 
    1212 
    13 PKG_MD5SUM:=89273f67a6d8067cbbecefaa13747153 
     13PKG_MD5SUM:=11ed2bfef4090bd5736b194b43f67289 
    1414 
    1515PKG_SOURCE_URL:=ftp://ftp.samba.org/pub/samba/old-versions/ 
    1616PKG_SOURCE:=samba-$(PKG_VERSION).tar.gz 
    17 PKG_BUILD_DIR:=$(BUILD_DIR)/samba-$(PKG_VERSION)/ 
     17PKG_BUILD_DIR:=$(BUILD_DIR)/samba-$(PKG_VERSION) 
     18PKG_BUILD_PARALLEL:=1 
    1819 
    1920include $(INCLUDE_DIR)/package.mk 
     21include $(INCLUDE_DIR)/nls.mk 
    2022 
    21 TARGET_CFLAGS+=$(if $(CONFIG_SAMBA3_DEBUG),-DSAMBA_DEBUG) 
    22  
    23 define Package/samba3 
     23define Package/samba3/Default 
    2424  SECTION:=net 
    2525  CATEGORY:=Network 
    2626  SUBMENU:=Filesystem 
    27   TITLE:=samba3 
    28   DEPENDS:=+libpthread 
    2927  URL:=http://www.samba.org/ 
    3028endef 
    3129 
    32 define Package/samba3/Description 
    33   Samba3 - made small with patches taken from AVM GPL releases and freetz  
     30define Package/samba3 
     31$(call Package/samba3/Default) 
     32  TITLE:=SMB server for file and printer sharing 
     33  DEPENDS:=+libpthread +libpopt $(ICONV_DEPENDS) 
     34endef 
     35 
     36define Package/samba3-nmbd 
     37$(call Package/samba3/Default) 
     38  TITLE:=NetBIOS name server 
     39  DEPENDS:=+samba3 
     40endef 
     41 
     42define Package/samba3-mountcifs 
     43$(call Package/samba3/Default) 
     44  SECTION:=utils 
     45  CATEGORY:=Utilities 
     46  TITLE:=Mount utility for samba shares 
     47endef 
     48 
     49define Package/samba3/description 
     50SMB server for file and printer sharing 
     51Also contains a SMB password utility (smbpasswd) 
     52 
     53Made small with patches taken from AVM GPL releases and freetz  
     54endef 
     55 
     56define Package/samba3-nmbd/description 
     57NetBIOS name server 
     58 
     59Made small with patches taken from AVM GPL releases and freetz  
     60endef 
     61 
     62define Package/cifsmount/description 
     63An user space helper utility for mounting remote CIFS shares. 
    3464endef 
    3565 
     
    4373endef 
    4474 
    45 define Build/Prepare/LFS 
    46 endef 
     75TARGET_CFLAGS+=$(if $(CONFIG_SAMBA3_CONFIG_DEBUG),-DSAMBA_DEBUG,-DMAX_DEBUG_LEVEL=2) 
     76TARGET_CFLAGS+=$(if $(CONFIG_SAMBA3_CONFIG_SMALLER),-DAVM_SMALLER) 
     77TARGET_CFLAGS+=$(if $(CONFIG_SAMBA3_CONFIG_NO_PRINTING),-DAVM_NO_PRINTING) 
     78CONFIGURE_PATH:=source 
     79CONFIGURE_ARGS+= \ 
     80        $(if $(CONFIG_SAMBA3_CONFIG_DEBUG),--enable-debug) \ 
     81        --without-krb5 \ 
     82        --without-ads \ 
     83        --without-ldap \ 
     84        --enable-largefile \ 
     85        --with-configdir=/etc/samba \ 
     86        --with-libiconv=$(ICONV_PREFIX) \ 
     87        --with-privatedir=/etc/samba 
    4788 
    48 define Build/Prepare 
    49 $(call Build/Prepare/Default) 
    50 endef 
     89# Make sure we tell the configure script that we support negative enum values and want to use setresuid 
     90CONFIGURE_VARS+= \ 
     91        SMB_BUILD_CC_NEGATIVE_ENUM_VALUES=yes \ 
     92        samba_cv_USE_SETEUID=no \ 
     93        samba_cv_have_setresuid=yes \ 
     94        samba_cv_USE_SETRESUID=yes \ 
     95        samba_cv_HAVE_C99_VSNPRINTF=yes \ 
     96        samba_cv_have_longlong=yes \ 
     97        ac_cv_type_long_long=yes \ 
    5198 
    52 define Build/Configure 
    53         [ -f "$(PKG_BUILD_DIR)/source/include/config.h.save" ] || \ 
    54                 $(CP) $(PKG_BUILD_DIR)/source/include/config.h \ 
    55                         $(PKG_BUILD_DIR)/source/include/config.h.save 
    56         cat \ 
    57                 $(PKG_BUILD_DIR)/source/include/config.h.save \ 
    58                 ./files/config-lfs.h >> $(PKG_BUILD_DIR)/source/include/config.h 
    59         $(Build/Configure/Default) 
    60 endef 
     99MAKE_PATH=source 
     100MAKE_FLAGS += \ 
     101        $(if $(CONFIG_SAMBA3_CONFIG_NO_PRINTING),OWRT_NO_PRINTING=1) \ 
     102        $(if $(CONFIG_SAMBA3_CONFIG_SMALLER),OWRT_SMALLER=1) 
    61103 
    62104define Build/Compile 
    63         CC="$(TARGET_CC)" \ 
    64         CFLAGS="$(TARGET_CFLAGS)" \ 
    65         CPPFLAGS="$(TARGET_CPPFLAGS)" \ 
    66         LDFLAGS="$(TARGET_LDFLAGS)" \ 
    67         $(MAKE) -C $(PKG_BUILD_DIR)/source \ 
    68                 $(TARGET_CONFIGURE_OPTS) \ 
    69                 all bin/smbpasswd 
     105        # Ugly fix for parallel building (without this some generated files will be missing upon clean build) 
     106        $(call Build/Compile/Default, proto_exists) 
     107        $(call Build/Compile/Default, \ 
     108                $(if $(CONFIG_PACKAGE_samba3),bin/smbd bin/smbpasswd) \ 
     109                $(if $(CONFIG_PACKAGE_samba3-nmbd),bin/nmbd) \ 
     110                $(if $(CONFIG_PACKAGE_samba3-mountcifs),bin/mount.cifs bin/umount.cifs) \ 
     111        ) 
    70112endef 
    71113 
     
    79121        $(INSTALL_BIN) $(PKG_BUILD_DIR)/source/bin/smbpasswd $(1)/usr/sbin/ 
    80122        $(INSTALL_BIN) $(PKG_BUILD_DIR)/source/bin/smbd $(1)/usr/sbin/ 
     123endef 
     124 
     125define Package/samba3-nmbd/install 
     126        $(INSTALL_DIR) $(1)/etc/init.d 
     127        $(INSTALL_BIN) ./files/samba-nmbd.init $(1)/etc/init.d/samba-nmbd 
     128        $(INSTALL_DIR) $(1)/usr/sbin 
    81129        $(INSTALL_BIN) $(PKG_BUILD_DIR)/source/bin/nmbd $(1)/usr/sbin/ 
    82130endef 
    83131 
     132define Package/samba3-mountcifs/install 
     133        $(INSTALL_DIR) $(1)/usr/sbin 
     134        $(INSTALL_BIN) $(PKG_BUILD_DIR)/source/bin/mount.cifs $(1)/usr/sbin/ 
     135        $(INSTALL_BIN) $(PKG_BUILD_DIR)/source/bin/umount.cifs $(1)/usr/sbin/ 
     136endef 
     137 
    84138$(eval $(call BuildPackage,samba3)) 
     139$(eval $(call BuildPackage,samba3-nmbd)) 
     140$(eval $(call BuildPackage,samba3-mountcifs)) 
  • packages/net/samba3/files/config-lfs.h

    r12676 r29343  
    1 #undef HAVE_CREAT64 
    2 #define HAVE_CREAT64 1 
    3  
    4 #undef HAVE_FSEEKO64 
    5 #define HAVE_FSEEKO64 1 
    6  
    7 #undef HAVE_FSTAT64 
    8 #define HAVE_FSTAT64 1 
    9  
    10 #undef HAVE_FTELLO64 
    11 #define HAVE_FTELLO64 1 
    12  
    13 #undef HAVE_FTRUNCATE64 
    14 #define HAVE_FTRUNCATE64 1 
    15  
    16 #undef HAVE_LSEEK64 
    17 #define HAVE_LSEEK64 1 
    18  
    19 #undef HAVE_LSTAT64 
    20 #define HAVE_LSTAT64 1 
    21  
    22 #undef HAVE_OPEN64 
    23 #define HAVE_OPEN64 1 
    24  
    25 #undef HAVE_PREAD64 
    26 #define HAVE_PREAD64 1 
    27  
    28 #undef HAVE_PWRITE64 
    29 #define HAVE_PWRITE64 1 
    30  
    31 #undef HAVE_READDIR64 
    32 #define HAVE_READDIR64 1 
    33  
    34 #undef HAVE_STAT64 
    35 #define HAVE_STAT64 1 
    36  
    37 #undef HAVE_STRUCT_FLOCK64 
    38 #define HAVE_STRUCT_FLOCK64 1 
    39  
    40 #undef SIZEOF_LONG_LONG 
    41 #define SIZEOF_LONG_LONG 8 
    42  
    43 #undef SIZEOF_OFF_T 
    44 #define SIZEOF_OFF_T 8 
    45  
    46 #undef _FILE_OFFSET_BITS 
    47 #define _FILE_OFFSET_BITS 64 
    48  
    49 #undef _GNU_SOURCE 
    50 #define _GNU_SOURCE 1 
    51  
    52 #undef _LARGEFILE_SOURCE 
    53 #define _LARGEFILE_SOURCE 1 
    54  
    55 #undef _LARGEFILE64_SOURCE 
    56 #define _LARGEFILE64_SOURCE 1 
  • packages/net/samba3/files/samba.init

    r29075 r29343  
    6161        config_foreach smb_add_share sambashare 
    6262        service_start /usr/sbin/smbd -D 
    63         service_start /usr/sbin/nmbd -D 
    6463} 
    6564 
    6665stop() { 
    6766        service_stop /usr/sbin/smbd 
    68         service_stop /usr/sbin/nmbd 
    6967} 
  • packages/net/samba3/files/smb.conf.template

    r22410 r29343  
    1515        invalid users = root 
    1616        smb passwd file = /etc/samba/smbpasswd 
     17        interfaces = br-lan 
  • packages/net/samba3/patches/100-avm.patch

    r20042 r29343  
    1 diff -urN samba-3.0.24.orig/source/auth/auth_compat.c samba-3.0.24/source/auth/auth_compat.c 
    2 --- samba-3.0.24.orig/source/auth/auth_compat.c 2006-04-20 04:29:20.000000000 +0200 
    3 +++ samba-3.0.24/source/auth/auth_compat.c      2007-07-17 13:19:05.000000000 +0200 
    4 @@ -92,18 +92,25 @@ 
    5  check if a username/password pair is ok via the auth subsystem. 
    6  return True if the password is correct, False otherwise 
    7  ****************************************************************************/ 
    8 + 
    9  BOOL password_ok(char *smb_name, DATA_BLOB password_blob) 
    10  { 
    11 +  
    12 +       DATA_BLOB null_password = data_blob(NULL, 0); 
    13 +       BOOL encrypted = (global_encrypted_passwords_negotiated && (password_blob.length == 24 || password_blob.length > 46)); 
    14 +        
    15 +       if (encrypted) { 
    16 +               /*  
    17 +                * The password could be either NTLM or plain LM.  Try NTLM first,  
    18 +                * but fall-through as required. 
    19 +                * Vista sends NTLMv2 here - we need to try the client given workgroup. 
    20 +                */ 
    21 +               if (get_session_workgroup()) { 
    22 +                       if (NT_STATUS_IS_OK(pass_check_smb(smb_name, get_session_workgroup(), null_password, password_blob, null_password, encrypted))) { 
    23 +                               return True; 
    24 +                       } 
    25 +               } 
    26   
    27 -       DATA_BLOB null_password = data_blob(NULL, 0); 
    28 -       BOOL encrypted = (global_encrypted_passwords_negotiated && password_blob.length == 24); 
    29 -        
    30 -       if (encrypted) { 
    31 -               /*  
    32 -                * The password could be either NTLM or plain LM.  Try NTLM first,  
    33 -                * but fall-through as required. 
    34 -                * NTLMv2 makes no sense here. 
    35 -                */ 
    36                 if (NT_STATUS_IS_OK(pass_check_smb(smb_name, lp_workgroup(), null_password, password_blob, null_password, encrypted))) { 
    37                         return True; 
    38                 } 
    39 @@ -119,5 +126,3 @@ 
    40   
    41         return False; 
    42  } 
    43 - 
    44 - 
    45 diff -urN samba-3.0.24.orig/source/auth/auth_util.c samba-3.0.24/source/auth/auth_util.c 
    46 --- samba-3.0.24.orig/source/auth/auth_util.c   2007-02-04 19:59:14.000000000 +0100 
    47 +++ samba-3.0.24/source/auth/auth_util.c        2007-07-17 13:19:05.000000000 +0200 
    48 @@ -2043,18 +2043,20 @@ 
     1Index: samba-3.0.37/source/auth/auth_util.c 
     2=================================================================== 
     3--- samba-3.0.37.orig/source/auth/auth_util.c   2009-09-30 14:21:56.000000000 +0200 
     4+++ samba-3.0.37/source/auth/auth_util.c        2011-08-09 00:02:34.854444169 +0200 
     5@@ -2284,18 +2284,20 @@ 
    496                /* The only other possible result is that winbind is not up 
    507                   and running. We need to update the trustdom_cache 
    518                   ourselves */ 
    529-                
    53 +#ifndef AVM_SMALLER             
     10+#ifndef AVM_SMALLER 
    5411                update_trustdom_cache(); 
    5512+#endif 
     
    6926 } 
    7027  
    71  
    72 diff -urN samba-3.0.24.orig/source/bin/dummy samba-3.0.24/source/bin/dummy 
    73 --- samba-3.0.24.orig/source/bin/dummy  1970-01-01 01:00:00.000000000 +0100 
    74 +++ samba-3.0.24/source/bin/dummy       2007-07-17 13:19:05.000000000 +0200 
    75 @@ -0,0 +1 @@ 
    76 +x 
    77 diff -urN samba-3.0.24.orig/source/.dmallocrc samba-3.0.24/source/.dmallocrc 
    78 --- samba-3.0.24.orig/source/.dmallocrc 2005-02-25 18:59:36.000000000 +0100 
    79 +++ samba-3.0.24/source/.dmallocrc      1970-01-01 01:00:00.000000000 +0100 
    80 @@ -1,2 +0,0 @@ 
    81 -samba allow-free-null, log-stats, log-non-free, log-trans, \ 
    82 -        check-fence, check-heap, check-lists, error-abort 
    83 \ No newline at end of file 
    84 diff -urN samba-3.0.24.orig/source/include/config.h samba-3.0.24/source/include/config.h 
    85 --- samba-3.0.24.orig/source/include/config.h   1970-01-01 01:00:00.000000000 +0100 
    86 +++ samba-3.0.24/source/include/config.h        2008-01-28 10:18:38.000000000 +0100 
    87 @@ -0,0 +1,2229 @@ 
    88 +/* include/config.h.  Generated by configure.  */ 
    89 +/* include/config.h.in.  Generated from configure.in by autoheader.  */ 
    90 + 
    91 +/* Whether the host os is aix */ 
    92 +/* #undef AIX */ 
    93 + 
    94 +/* Whether the AIX send_file() API is available */ 
    95 +/* #undef AIX_SENDFILE_API */ 
    96 + 
    97 +/* Does extattr API work */ 
    98 +/* #undef BROKEN_EXTATTR */ 
    99 + 
    100 +/* Does getgrnam work correctly */ 
    101 +/* #undef BROKEN_GETGRNAM */ 
    102 + 
    103 +/* Whether the nisplus include files are broken */ 
    104 +#define BROKEN_NISPLUS_INCLUDE_FILES 1 
    105 + 
    106 +/* Broken RedHat 7.2 system header files */ 
    107 +/* #undef BROKEN_REDHAT_7_SYSTEM_HEADERS */ 
    108 + 
    109 +/* Does strndup work correctly */ 
    110 +/* #undef BROKEN_STRNDUP */ 
    111 + 
    112 +/* Does strnlen work correctly */ 
    113 +/* #undef BROKEN_STRNLEN */ 
    114 + 
    115 +/* Does this system use unicode compose characters */ 
    116 +/* #undef BROKEN_UNICODE_COMPOSE_CHARACTERS */ 
    117 + 
    118 +/* Whether the compiler supports the LL prefix on long long integers */ 
    119 +#define COMPILER_SUPPORTS_LL 1 
    120 + 
    121 +/* Whether the host os is Darwin/MacOSX */ 
    122 +/* #undef DARWINOS */ 
    123 + 
    124 +/* Default display charset name */ 
    125 +#define DEFAULT_DISPLAY_CHARSET "ASCII" 
    126 + 
    127 +/* Default dos charset name */ 
    128 +#define DEFAULT_DOS_CHARSET "CP850" 
    129 + 
    130 +/* Default unix charset name */ 
    131 +#define DEFAULT_UNIX_CHARSET "UTF-8" 
    132 + 
    133 +/* Define to check invariants around some common functions */ 
    134 +/* #undef DMALLOC_FUNC_CHECK */ 
    135 + 
    136 +/* Define to turn on dmalloc debugging */ 
    137 +/* #undef ENABLE_DMALLOC */ 
    138 + 
    139 +/* Whether the host os is FreeBSD */ 
    140 +/* #undef FREEBSD */ 
    141 + 
    142 +/* Whether the FreeBSD sendfile() API is available */ 
    143 +/* #undef FREEBSD_SENDFILE_API */ 
    144 + 
    145 +/* Whether we are running on 64bit linux */ 
    146 +/* #undef HAVE_64BIT_LINUX */ 
    147 + 
    148 +/* Whether acl_get_perm_np() is available */ 
    149 +/* #undef HAVE_ACL_GET_PERM_NP */ 
    150 + 
    151 +/* Whether the krb5_address struct has a addrtype property */ 
    152 +/* #undef HAVE_ADDRTYPE_IN_KRB5_ADDRESS */ 
    153 + 
    154 +/* Whether the krb5_address struct has a addr_type property */ 
    155 +/* #undef HAVE_ADDR_TYPE_IN_KRB5_ADDRESS */ 
    156 + 
    157 +/* Define to 1 if you have the <afs/afs.h> header file. */ 
    158 +/* #undef HAVE_AFS_AFS_H */ 
    159 + 
    160 +/* Define to 1 if you have the <afs.h> header file. */ 
    161 +/* #undef HAVE_AFS_H */ 
    162 + 
    163 +/* Whether 64 bit aio is available */ 
    164 +/* #undef HAVE_AIOCB64 */ 
    165 + 
    166 +/* Have aio_cancel */ 
    167 +/* #undef HAVE_AIO_CANCEL */ 
    168 + 
    169 +/* Have aio_cancel64 */ 
    170 +/* #undef HAVE_AIO_CANCEL64 */ 
    171 + 
    172 +/* Have aio_error */ 
    173 +/* #undef HAVE_AIO_ERROR */ 
    174 + 
    175 +/* Have aio_error64 */ 
    176 +/* #undef HAVE_AIO_ERROR64 */ 
    177 + 
    178 +/* Have aio_fsync */ 
    179 +/* #undef HAVE_AIO_FSYNC */ 
    180 + 
    181 +/* Have aio_fsync64 */ 
    182 +/* #undef HAVE_AIO_FSYNC64 */ 
    183 + 
    184 +/* Define to 1 if you have the <aio.h> header file. */ 
    185 +/* AR7 #define HAVE_AIO_H 1 */ 
    186 + 
    187 +/* Have aio_read */ 
    188 +/* #undef HAVE_AIO_READ */ 
    189 + 
    190 +/* Have aio_read64 */ 
    191 +/* #undef HAVE_AIO_READ64 */ 
    192 + 
    193 +/* Have aio_return */ 
    194 +/* #undef HAVE_AIO_RETURN */ 
    195 + 
    196 +/* Have aio_return64 */ 
    197 +/* #undef HAVE_AIO_RETURN64 */ 
    198 + 
    199 +/* Have aio_suspend */ 
    200 +/* #undef HAVE_AIO_SUSPEND */ 
    201 + 
    202 +/* Have aio_suspend64 */ 
    203 +/* #undef HAVE_AIO_SUSPEND64 */ 
    204 + 
    205 +/* Have aio_write */ 
    206 +/* #undef HAVE_AIO_WRITE */ 
    207 + 
    208 +/* Have aio_write64 */ 
    209 +/* #undef HAVE_AIO_WRITE64 */ 
    210 + 
    211 +/* Whether AIX ACLs are available */ 
    212 +/* #undef HAVE_AIX_ACLS */ 
    213 + 
    214 +/* Define to 1 if you have the <alloca.h> header file. */ 
    215 +#define HAVE_ALLOCA_H 1 
    216 + 
    217 +/* Whether the AP_OPTS_USE_SUBKEY ap option is available */ 
    218 +/* #undef HAVE_AP_OPTS_USE_SUBKEY */ 
    219 + 
    220 +/* Define to 1 if you have the <arpa/inet.h> header file. */ 
    221 +#define HAVE_ARPA_INET_H 1 
    222 + 
    223 +/* check for <asm/types.h> */ 
    224 +#define HAVE_ASM_TYPES_H 1 
    225 + 
    226 +/* Define to 1 if you have the `asprintf' function. */ 
    227 +#define HAVE_ASPRINTF 1 
    228 + 
    229 +/* Whether asprintf() is available */ 
    230 +#define HAVE_ASPRINTF_DECL 1 
    231 + 
    232 +/* Define to 1 if you have the `atexit' function. */ 
    233 +#define HAVE_ATEXIT 1 
    234 + 
    235 +/* Define to 1 if you have the `attr_get' function. */ 
    236 +/* #undef HAVE_ATTR_GET */ 
    237 + 
    238 +/* Define to 1 if you have the `attr_getf' function. */ 
    239 +/* #undef HAVE_ATTR_GETF */ 
    240 + 
    241 +/* Define to 1 if you have the `attr_list' function. */ 
    242 +/* #undef HAVE_ATTR_LIST */ 
    243 + 
    244 +/* Define to 1 if you have the `attr_listf' function. */ 
    245 +/* #undef HAVE_ATTR_LISTF */ 
    246 + 
    247 +/* Define to 1 if you have the `attr_remove' function. */ 
    248 +/* #undef HAVE_ATTR_REMOVE */ 
    249 + 
    250 +/* Define to 1 if you have the `attr_removef' function. */ 
    251 +/* #undef HAVE_ATTR_REMOVEF */ 
    252 + 
    253 +/* Define to 1 if you have the `attr_set' function. */ 
    254 +/* #undef HAVE_ATTR_SET */ 
    255 + 
    256 +/* Define to 1 if you have the `attr_setf' function. */ 
    257 +/* #undef HAVE_ATTR_SETF */ 
    258 + 
    259 +/* Define to 1 if you have the <attr/xattr.h> header file. */ 
    260 +/* #undef HAVE_ATTR_XATTR_H */ 
    261 + 
    262 +/* Define to 1 if you have the `backtrace_symbols' function. */ 
    263 +/* AR7 #define HAVE_BACKTRACE_SYMBOLS 1 */ 
    264 + 
    265 +/* Define to 1 if you have the `ber_scanf' function. */ 
    266 +/* #undef HAVE_BER_SCANF */ 
    267 + 
    268 +/* What header to include for iconv() function: biconv.h */ 
    269 +/* #undef HAVE_BICONV */ 
    270 + 
    271 +/* Define to 1 if you have the `bigcrypt' function. */ 
    272 +/* #undef HAVE_BIGCRYPT */ 
    273 + 
    274 +/* Whether fcntl64 locks are broken */ 
    275 +/* #undef HAVE_BROKEN_FCNTL64_LOCKS */ 
    276 + 
    277 +/* Whether getgroups is broken */ 
    278 +/* #undef HAVE_BROKEN_GETGROUPS */ 
    279 + 
    280 +/* Whether readdir() is broken */ 
    281 +/* #undef HAVE_BROKEN_READDIR */ 
    282 + 
    283 +/* Whether there is a C99 compliant vsnprintf */ 
    284 +#define HAVE_C99_VSNPRINTF 1 
    285 + 
    286 +/* Define to 1 if you have the <CFStringEncodingConverter.h> header file. */ 
    287 +/* #undef HAVE_CFSTRINGENCODINGCONVERTER_H */ 
    288 + 
    289 +/* Define to 1 if you have the `chmod' function. */ 
    290 +#define HAVE_CHMOD 1 
    291 + 
    292 +/* Define to 1 if you have the `chown' function. */ 
    293 +#define HAVE_CHOWN 1 
    294 + 
    295 +/* Define to 1 if you have the `chroot' function. */ 
    296 +#define HAVE_CHROOT 1 
    297 + 
    298 +/* Define to 1 if you have the `chsize' function. */ 
    299 +/* #undef HAVE_CHSIZE */ 
    300 + 
    301 +/* Define to 1 if you have the `closedir64' function. */ 
    302 +/* #undef HAVE_CLOSEDIR64 */ 
    303 + 
    304 +/* Whether the compiler will optimize out function calls */ 
    305 +#define HAVE_COMPILER_WILL_OPTIMIZE_OUT_FNS 1 
    306 + 
    307 +/* Define to 1 if you have the <com_err.h> header file. */ 
    308 +/* #undef HAVE_COM_ERR_H */ 
    309 + 
    310 +/* Whether the system has connect() */ 
    311 +#define HAVE_CONNECT 1 
    312 + 
    313 +/* Define to 1 if you have the `copy_Authenticator' function. */ 
    314 +/* #undef HAVE_COPY_AUTHENTICATOR */ 
    315 + 
    316 +/* Define to 1 if you have the <CoreFoundation/CFStringEncodingConverter.h> 
    317 +   header file. */ 
    318 +/* #undef HAVE_COREFOUNDATION_CFSTRINGENCODINGCONVERTER_H */ 
    319 + 
    320 +/* Define to 1 if you have the `creat64' function. */ 
    321 +/* AR7 #define HAVE_CREAT64 1 */ 
    322 + 
    323 +/* Whether the system has the crypt() function */ 
    324 +#define HAVE_CRYPT 1 
    325 + 
    326 +/* Define to 1 if you have the `crypt16' function. */ 
    327 +/* #undef HAVE_CRYPT16 */ 
    328 + 
    329 +/* Define to 1 if you have the <ctype.h> header file. */ 
    330 +#define HAVE_CTYPE_H 1 
    331 + 
    332 +/* Whether we have CUPS */ 
    333 +/* #undef HAVE_CUPS */ 
    334 + 
    335 +/* Define to 1 if you have the `des_set_key' function. */ 
    336 +/* #undef HAVE_DES_SET_KEY */ 
    337 + 
    338 +/* Whether the 'dev64_t' type is available */ 
    339 +/* #undef HAVE_DEV64_T */ 
    340 + 
    341 +/* Whether the major macro for dev_t is available */ 
    342 +#define HAVE_DEVICE_MAJOR_FN 1 
    343 + 
    344 +/* Whether the minor macro for dev_t is available */ 
    345 +#define HAVE_DEVICE_MINOR_FN 1 
    346 + 
    347 +/* Define to 1 if you have the `devnm' function. */ 
    348 +/* #undef HAVE_DEVNM */ 
    349 + 
    350 +/* Define to 1 if you have the <devnm.h> header file. */ 
    351 +/* #undef HAVE_DEVNM_H */ 
    352 + 
    353 +/* Whether dirent has a d_off member */ 
    354 +#define HAVE_DIRENT_D_OFF 1 
    355 + 
    356 +/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'. 
    357 +   */ 
    358 +#define HAVE_DIRENT_H 1 
    359 + 
    360 +/* Define to 1 if you have the `dlclose' function. */ 
    361 +#define HAVE_DLCLOSE 1 
    362 + 
    363 +/* Define to 1 if you have the `dlerror' function. */ 
    364 +#define HAVE_DLERROR 1 
    365 + 
    366 +/* Define to 1 if you have the <dlfcn.h> header file. */ 
    367 +#define HAVE_DLFCN_H 1 
    368 + 
    369 +/* Define to 1 if you have the `dlopen' function. */ 
    370 +#define HAVE_DLOPEN 1 
    371 + 
    372 +/* Define to 1 if you have the `dlsym' function. */ 
    373 +#define HAVE_DLSYM 1 
    374 + 
    375 +/* Define to 1 if you have the `dlsym_prepend_underscore' function. */ 
    376 +/* #undef HAVE_DLSYM_PREPEND_UNDERSCORE */ 
    377 + 
    378 +/* struct dqblk .dqb_fsoftlimit */ 
    379 +/* #undef HAVE_DQB_FSOFTLIMIT */ 
    380 + 
    381 +/* Define to 1 if you have the `dup2' function. */ 
    382 +#define HAVE_DUP2 1 
    383 + 
    384 +/* Whether the ENCTYPE_ARCFOUR_HMAC_MD5 key type is available */ 
    385 +/* #undef HAVE_ENCTYPE_ARCFOUR_HMAC_MD5 */ 
    386 + 
    387 +/* Define to 1 if you have the `endmntent' function. */ 
    388 +#define HAVE_ENDMNTENT 1 
    389 + 
    390 +/* Define to 1 if you have the `endnetgrent' function. */ 
    391 +/* AR7 #define HAVE_ENDNETGRENT 1 */ 
    392 + 
    393 +/* Whether errno() is available */ 
    394 +#define HAVE_ERRNO_DECL 1 
    395 + 
    396 +/* Define to 1 if you have the <execinfo.h> header file. */ 
    397 +/* AR7 #define HAVE_EXECINFO_H 1 */ 
    398 + 
    399 + 
    400 +/* Define to 1 if you have the `execl' function. */ 
    401 +#define HAVE_EXECL 1 
    402 + 
    403 +/* Whether large file support can be enabled */ 
    404 +/* AR7 #define HAVE_EXPLICIT_LARGEFILE_SUPPORT 1 */ 
    405 + 
    406 +/* Define to 1 if you have the `extattr_delete_fd' function. */ 
    407 +/* #undef HAVE_EXTATTR_DELETE_FD */ 
    408 + 
    409 +/* Define to 1 if you have the `extattr_delete_file' function. */ 
    410 +/* #undef HAVE_EXTATTR_DELETE_FILE */ 
    411 + 
    412 +/* Define to 1 if you have the `extattr_delete_link' function. */ 
    413 +/* #undef HAVE_EXTATTR_DELETE_LINK */ 
    414 + 
    415 +/* Define to 1 if you have the `extattr_get_fd' function. */ 
    416 +/* #undef HAVE_EXTATTR_GET_FD */ 
    417 + 
    418 +/* Define to 1 if you have the `extattr_get_file' function. */ 
    419 +/* #undef HAVE_EXTATTR_GET_FILE */ 
    420 + 
    421 +/* Define to 1 if you have the `extattr_get_link' function. */ 
    422 +/* #undef HAVE_EXTATTR_GET_LINK */ 
    423 + 
    424 +/* Define to 1 if you have the `extattr_list_fd' function. */ 
    425 +/* #undef HAVE_EXTATTR_LIST_FD */ 
    426 + 
    427 +/* Define to 1 if you have the `extattr_list_file' function. */ 
    428 +/* #undef HAVE_EXTATTR_LIST_FILE */ 
    429 + 
    430 +/* Define to 1 if you have the `extattr_list_link' function. */ 
    431 +/* #undef HAVE_EXTATTR_LIST_LINK */ 
    432 + 
    433 +/* Define to 1 if you have the `extattr_set_fd' function. */ 
    434 +/* #undef HAVE_EXTATTR_SET_FD */ 
    435 + 
    436 +/* Define to 1 if you have the `extattr_set_file' function. */ 
    437 +/* #undef HAVE_EXTATTR_SET_FILE */ 
    438 + 
    439 +/* Define to 1 if you have the `extattr_set_link' function. */ 
    440 +/* #undef HAVE_EXTATTR_SET_LINK */ 
    441 + 
    442 +/* Define to 1 if you have the `fchmod' function. */ 
    443 +#define HAVE_FCHMOD 1 
    444 + 
    445 +/* Define to 1 if you have the `fchown' function. */ 
    446 +#define HAVE_FCHOWN 1 
    447 + 
    448 +/* Define to 1 if you have the <fcntl.h> header file. */ 
    449 +#define HAVE_FCNTL_H 1 
    450 + 
    451 +/* Whether fcntl locking is available */ 
    452 +#define HAVE_FCNTL_LOCK 1 
    453 + 
    454 +/* Define to 1 if you have the `fcvt' function. */ 
    455 +#define HAVE_FCVT 1 
    456 + 
    457 +/* Define to 1 if you have the `fcvtl' function. */ 
    458 +/* #undef HAVE_FCVTL */ 
    459 + 
    460 +/* Define to 1 if you have the `fgetxattr' function. */ 
    461 +/* AR7 #define HAVE_FGETXATTR 1 */ 
    462 + 
    463 +/* Define to 1 if you have the `flistxattr' function. */ 
    464 +/* AR7 #define HAVE_FLISTXATTR 1 */ 
    465 + 
    466 +/* Define to 1 if you have the `fopen64' function. */ 
    467 +/* AR7 #define HAVE_FOPEN64 1 */ 
    468 + 
    469 +/* Define to 1 if you have the `fremovexattr' function. */ 
    470 +/* AR7 #define HAVE_FREMOVEXATTR 1 */ 
    471 + 
    472 +/* Define to 1 if you have the `fseek64' function. */ 
    473 +/* #undef HAVE_FSEEK64 */ 
    474 + 
    475 +/* Define to 1 if you have the `fseeko64' function. */ 
    476 +/* #define HAVE_FSEEKO64 1 */ 
    477 + 
    478 +/* Define to 1 if you have the `fsetxattr' function. */ 
    479 +/* AR7 #define HAVE_FSETXATTR 1 */ 
    480 + 
    481 +/* Define to 1 if you have the `fstat' function. */ 
    482 +#define HAVE_FSTAT 1 
    483 + 
    484 +/* Whether fstat64() is available */ 
    485 +/* AR7 #define HAVE_FSTAT64 1 */ 
    486 + 
    487 +/* Define to 1 if you have the `fsync' function. */ 
    488 +#define HAVE_FSYNC 1 
    489 + 
    490 +/* Define to 1 if you have the `ftell64' function. */ 
    491 +/* #undef HAVE_FTELL64 */ 
    492 + 
    493 +/* Define to 1 if you have the `ftello64' function. */ 
    494 +/* AR7 #define HAVE_FTELLO64 1 */ 
    495 + 
    496 +/* Define to 1 if you have the `ftruncate' function. */ 
    497 +#define HAVE_FTRUNCATE 1 
    498 + 
    499 +/* Define to 1 if you have the `ftruncate64' function. */ 
    500 +/* AR7 #define HAVE_FTRUNCATE64 1 */ 
    501 + 
    502 +/* Truncate extend */ 
    503 +#define HAVE_FTRUNCATE_EXTEND 1 
    504 + 
    505 +/* Whether there is a __FUNCTION__ macro */ 
    506 +#define HAVE_FUNCTION_MACRO 1 
    507 + 
    508 +/* Define to 1 if you have the `getauthuid' function. */ 
    509 +/* #undef HAVE_GETAUTHUID */ 
    510 + 
    511 +/* Define to 1 if you have the `getcwd' function. */ 
    512 +#define HAVE_GETCWD 1 
    513 + 
    514 +/* Define to 1 if you have the `getdents' function. */ 
    515 +/* #undef HAVE_GETDENTS */ 
    516 + 
    517 +/* Define to 1 if you have the `getdirentries' function. */ 
    518 +#define HAVE_GETDIRENTRIES 1 
    519 + 
    520 +/* Define to 1 if you have the `getgrent' function. */ 
    521 +#define HAVE_GETGRENT 1 
    522 + 
    523 +/* Define to 1 if you have the `getgrnam' function. */ 
    524 +#define HAVE_GETGRNAM 1 
    525 + 
    526 +/* Define to 1 if you have the `getgrouplist' function. */ 
    527 +/* #undef HAVE_GETGROUPLIST */ 
    528 + 
    529 +/* Define to 1 if you have the `getmntent' function. */ 
    530 +#define HAVE_GETMNTENT 1 
    531 + 
    532 +/* Define to 1 if you have the `getnetgrent' function. */ 
    533 +#define HAVE_GETNETGRENT 1 
    534 + 
    535 +/* Define to 1 if you have the `getprpwnam' function. */ 
    536 +/* #undef HAVE_GETPRPWNAM */ 
    537 + 
    538 +/* Define to 1 if you have the `getpwanam' function. */ 
    539 +/* #undef HAVE_GETPWANAM */ 
    540 + 
    541 +/* Define to 1 if you have the `getrlimit' function. */ 
    542 +#define HAVE_GETRLIMIT 1 
    543 + 
    544 +/* Define to 1 if you have the `getspnam' function. */ 
    545 +#define HAVE_GETSPNAM 1 
    546 + 
    547 +/* Whether gettimeofday() is available */ 
    548 +#define HAVE_GETTIMEOFDAY_TZ 1 
    549 + 
    550 +/* Define to 1 if you have the `getutmpx' function. */ 
    551 +#define HAVE_GETUTMPX 1 
    552 + 
    553 +/* Define to 1 if you have the `getxattr' function. */ 
    554 +/* AR7 #define HAVE_GETXATTR 1 */ 
    555 + 
    556 +/* What header to include for iconv() function: giconv.h */ 
    557 +/* #undef HAVE_GICONV */ 
    558 + 
    559 +/* Define to 1 if you have the `glob' function. */ 
    560 +#define HAVE_GLOB 1 
    561 + 
    562 +/* Define to 1 if you have the <glob.h> header file. */ 
    563 +#define HAVE_GLOB_H 1 
    564 + 
    565 +/* Define to 1 if you have the `grantpt' function. */ 
    566 +#define HAVE_GRANTPT 1 
    567 + 
    568 +/* Define to 1 if you have the <grp.h> header file. */ 
    569 +#define HAVE_GRP_H 1 
    570 + 
    571 +/* Whether GSSAPI is available */ 
    572 +/* #undef HAVE_GSSAPI */ 
    573 + 
    574 +/* Define to 1 if you have the <gssapi/gssapi_generic.h> header file. */ 
    575 +/* #undef HAVE_GSSAPI_GSSAPI_GENERIC_H */ 
    576 + 
    577 +/* Define to 1 if you have the <gssapi/gssapi.h> header file. */ 
    578 +/* #undef HAVE_GSSAPI_GSSAPI_H */ 
    579 + 
    580 +/* Define to 1 if you have the <gssapi.h> header file. */ 
    581 +/* #undef HAVE_GSSAPI_H */ 
    582 + 
    583 +/* Define to 1 if you have the `gss_display_status' function. */ 
    584 +/* #undef HAVE_GSS_DISPLAY_STATUS */ 
    585 + 
    586 +/* Define to 1 if you have the <history.h> header file. */ 
    587 +/* #undef HAVE_HISTORY_H */ 
    588 + 
    589 +/* Whether HPUX ACLs are available */ 
    590 +/* #undef HAVE_HPUX_ACLS */ 
    591 + 
    592 +/* What header to include for iconv() function: iconv.h */ 
    593 +/* AR7 #define HAVE_ICONV 1 */ 
    594 + 
    595 +/* Whether iface AIX is available */ 
    596 +/* #undef HAVE_IFACE_AIX */ 
    597 + 
    598 +/* Whether iface ifconf is available */ 
    599 +#define HAVE_IFACE_IFCONF 1 
    600 + 
    601 +/* Whether iface ifreq is available */ 
    602 +/* #undef HAVE_IFACE_IFREQ */ 
    603 + 
    604 +/* Whether the compiler supports immediate structures */ 
    605 +#define HAVE_IMMEDIATE_STRUCTURES 1 
    606 + 
    607 +/* Define to 1 if you have the `initgroups' function. */ 
    608 +#define HAVE_INITGROUPS 1 
    609 + 
    610 +/* Define to 1 if you have the `innetgr' function. */ 
    611 +/* AR7 #define HAVE_INNETGR 1 */ 
    612 + 
    613 +/* Whether the 'ino64_t' type is available */ 
    614 +/* #undef HAVE_INO64_T */ 
    615 + 
    616 +/* Whether int16 typedef is included by rpc/rpc.h */ 
    617 +/* #undef HAVE_INT16_FROM_RPC_RPC_H */ 
    618 + 
    619 +/* Whether int32 typedef is included by rpc/rpc.h */ 
    620 +/* #undef HAVE_INT32_FROM_RPC_RPC_H */ 
    621 + 
    622 +/* Define to 1 if you have the <inttypes.h> header file. */ 
    623 +#define HAVE_INTTYPES_H 1 
    624 + 
    625 +/* Whether IRIX ACLs are available */ 
    626 +/* #undef HAVE_IRIX_ACLS */ 
    627 + 
    628 +/* Whether IRIX specific capabilities are available */ 
    629 +/* #undef HAVE_IRIX_SPECIFIC_CAPABILITIES */ 
    630 + 
    631 +/* Whether kernel notifies changes */ 
    632 +#define HAVE_KERNEL_CHANGE_NOTIFY 1 
    633 + 
    634 +/* Whether IRIX kernel oplock type definitions are available */ 
    635 +/* #undef HAVE_KERNEL_OPLOCKS_IRIX */ 
    636 + 
    637 +/* Whether to use linux kernel oplocks */ 
    638 +#define HAVE_KERNEL_OPLOCKS_LINUX 1 
    639 + 
    640 +/* Whether the kernel supports share modes */ 
    641 +#define HAVE_KERNEL_SHARE_MODES 1 
    642 + 
    643 +/* Whether to have KRB5 support */ 
    644 +/* #undef HAVE_KRB5 */ 
    645 + 
    646 +/* Define to 1 if you have the `krb5_auth_con_setkey' function. */ 
    647 +/* #undef HAVE_KRB5_AUTH_CON_SETKEY */ 
    648 + 
    649 +/* Define to 1 if you have the `krb5_auth_con_setuseruserkey' function. */ 
    650 +/* #undef HAVE_KRB5_AUTH_CON_SETUSERUSERKEY */ 
    651 + 
    652 +/* Define to 1 if you have the `krb5_c_enctype_compare' function. */ 
    653 +/* #undef HAVE_KRB5_C_ENCTYPE_COMPARE */ 
    654 + 
    655 +/* Whether the type krb5_encrypt_block exists */ 
    656 +/* #undef HAVE_KRB5_ENCRYPT_BLOCK */ 
    657 + 
    658 +/* Define to 1 if you have the `krb5_encrypt_data' function. */ 
    659 +/* #undef HAVE_KRB5_ENCRYPT_DATA */ 
    660 + 
    661 +/* Define to 1 if you have the `krb5_enctypes_compatible_keys' function. */ 
    662 +/* #undef HAVE_KRB5_ENCTYPES_COMPATIBLE_KEYS */ 
    663 + 
    664 +/* Define to 1 if you have the `krb5_free_data_contents' function. */ 
    665 +/* #undef HAVE_KRB5_FREE_DATA_CONTENTS */ 
    666 + 
    667 +/* Define to 1 if you have the `krb5_free_keytab_entry_contents' function. */ 
    668 +/* #undef HAVE_KRB5_FREE_KEYTAB_ENTRY_CONTENTS */ 
    669 + 
    670 +/* Define to 1 if you have the `krb5_free_ktypes' function. */ 
    671 +/* #undef HAVE_KRB5_FREE_KTYPES */ 
    672 + 
    673 +/* Define to 1 if you have the `krb5_free_unparsed_name' function. */ 
    674 +/* #undef HAVE_KRB5_FREE_UNPARSED_NAME */ 
    675 + 
    676 +/* Define to 1 if you have the `krb5_get_default_in_tkt_etypes' function. */ 
    677 +/* #undef HAVE_KRB5_GET_DEFAULT_IN_TKT_ETYPES */ 
    678 + 
    679 +/* Define to 1 if you have the `krb5_get_permitted_enctypes' function. */ 
    680 +/* #undef HAVE_KRB5_GET_PERMITTED_ENCTYPES */ 
    681 + 
    682 +/* Define to 1 if you have the `krb5_get_pw_salt' function. */ 
    683 +/* #undef HAVE_KRB5_GET_PW_SALT */ 
    684 + 
    685 +/* Define to 1 if you have the <krb5.h> header file. */ 
    686 +/* #undef HAVE_KRB5_H */ 
    687 + 
    688 +/* Whether the krb5_creds struct has a keyblock property */ 
    689 +/* #undef HAVE_KRB5_KEYBLOCK_IN_CREDS */ 
    690 + 
    691 +/* Whether the krb5_keyblock struct has a keyvalue property */ 
    692 +/* #undef HAVE_KRB5_KEYBLOCK_KEYVALUE */ 
    693 + 
    694 +/* Whether krb5_keytab_entry has key member */ 
    695 +/* #undef HAVE_KRB5_KEYTAB_ENTRY_KEY */ 
    696 + 
    697 +/* Whether krb5_keytab_entry has keyblock member */ 
    698 +/* #undef HAVE_KRB5_KEYTAB_ENTRY_KEYBLOCK */ 
    699 + 
    700 +/* Define to 1 if you have the `krb5_krbhst_get_addrinfo' function. */ 
    701 +/* #undef HAVE_KRB5_KRBHST_GET_ADDRINFO */ 
    702 + 
    703 +/* Define to 1 if you have the `krb5_kt_compare' function. */ 
    704 +/* #undef HAVE_KRB5_KT_COMPARE */ 
    705 + 
    706 +/* Define to 1 if you have the `krb5_kt_free_entry' function. */ 
    707 +/* #undef HAVE_KRB5_KT_FREE_ENTRY */ 
    708 + 
    709 +/* Define to 1 if you have the `krb5_locate_kdc' function. */ 
    710 +/* #undef HAVE_KRB5_LOCATE_KDC */ 
    711 + 
    712 +/* Define to 1 if you have the `krb5_mk_req_extended' function. */ 
    713 +/* #undef HAVE_KRB5_MK_REQ_EXTENDED */ 
    714 + 
    715 +/* Define to 1 if you have the `krb5_principal2salt' function. */ 
    716 +/* #undef HAVE_KRB5_PRINCIPAL2SALT */ 
    717 + 
    718 +/* Define to 1 if you have the `krb5_principal_get_comp_string' function. */ 
    719 +/* #undef HAVE_KRB5_PRINCIPAL_GET_COMP_STRING */ 
    720 + 
    721 +/* Whether krb5_princ_component is available */ 
    722 +/* #undef HAVE_KRB5_PRINC_COMPONENT */ 
    723 + 
    724 +/* Whether the krb5_creds struct has a session property */ 
    725 +/* #undef HAVE_KRB5_SESSION_IN_CREDS */ 
    726 + 
    727 +/* Define to 1 if you have the `krb5_set_default_in_tkt_etypes' function. */ 
    728 +/* #undef HAVE_KRB5_SET_DEFAULT_IN_TKT_ETYPES */ 
    729 + 
    730 +/* Define to 1 if you have the `krb5_set_default_tgs_ktypes' function. */ 
    731 +/* #undef HAVE_KRB5_SET_DEFAULT_TGS_KTYPES */ 
    732 + 
    733 +/* Define to 1 if you have the `krb5_set_real_time' function. */ 
    734 +/* #undef HAVE_KRB5_SET_REAL_TIME */ 
    735 + 
    736 +/* Define to 1 if you have the `krb5_string_to_key' function. */ 
    737 +/* #undef HAVE_KRB5_STRING_TO_KEY */ 
    738 + 
    739 +/* Define to 1 if you have the `krb5_string_to_key_salt' function. */ 
    740 +/* #undef HAVE_KRB5_STRING_TO_KEY_SALT */ 
    741 + 
    742 +/* Whether the krb5_ticket struct has a enc_part2 property */ 
    743 +/* #undef HAVE_KRB5_TKT_ENC_PART2 */ 
    744 + 
    745 +/* Define to 1 if you have the `krb5_use_enctype' function. */ 
    746 +/* #undef HAVE_KRB5_USE_ENCTYPE */ 
    747 + 
    748 +/* Whether the KV5M_KEYTAB option is available */ 
    749 +/* #undef HAVE_KV5M_KEYTAB */ 
    750 + 
    751 +/* Define to 1 if you have the <langinfo.h> header file. */ 
    752 +#define HAVE_LANGINFO_H 1 
    753 + 
    754 +/* Define to 1 if you have the <lastlog.h> header file. */ 
    755 +#define HAVE_LASTLOG_H 1 
    756 + 
    757 +/* Define to 1 if you have the <lber.h> header file. */ 
    758 +/* #undef HAVE_LBER_H */ 
    759 + 
    760 +/* Whether ldap is available */ 
    761 +/* #undef HAVE_LDAP */ 
    762 + 
    763 +/* Define to 1 if you have the `ldap_domain2hostlist' function. */ 
    764 +/* #undef HAVE_LDAP_DOMAIN2HOSTLIST */ 
    765 + 
    766 +/* Define to 1 if you have the <ldap.h> header file. */ 
    767 +/* #undef HAVE_LDAP_H */ 
    768 + 
    769 +/* Define to 1 if you have the `ldap_init' function. */ 
    770 +/* #undef HAVE_LDAP_INIT */ 
    771 + 
    772 +/* Define to 1 if you have the `ldap_initialize' function. */ 
    773 +/* #undef HAVE_LDAP_INITIALIZE */ 
    774 + 
    775 +/* Define to 1 if you have the `ldap_set_rebind_proc' function. */ 
    776 +/* #undef HAVE_LDAP_SET_REBIND_PROC */ 
    777 + 
    778 +/* Define to 1 if you have the `lgetxattr' function. */ 
    779 +/* AR7 #define HAVE_LGETXATTR 1 */ 
    780 + 
    781 +/* Define to 1 if you have the `asn1' library (-lasn1). */ 
    782 +/* #undef HAVE_LIBASN1 */ 
    783 + 
    784 +/* Define to 1 if you have the `com_err' library (-lcom_err). */ 
    785 +/* #undef HAVE_LIBCOM_ERR */ 
    786 + 
    787 +/* Define to 1 if you have the `crypto' library (-lcrypto). */ 
    788 +/* #undef HAVE_LIBCRYPTO */ 
    789 + 
    790 +/* Define to 1 if you have the `dl' library (-ldl). */ 
    791 +/* #undef HAVE_LIBDL */ 
    792 + 
    793 +/* Define to 1 if you have the `exc' library (-lexc). */ 
    794 +/* #undef HAVE_LIBEXC */ 
    795 + 
    796 +/* Define to 1 if you have the <libexc.h> header file. */ 
    797 +/* #undef HAVE_LIBEXC_H */ 
    798 + 
    799 +/* Define to 1 if you have the `gen' library (-lgen). */ 
    800 +/* #undef HAVE_LIBGEN */ 
    801 + 
    802 +/* Define to 1 if you have the `gssapi' library (-lgssapi). */ 
    803 +/* #undef HAVE_LIBGSSAPI */ 
    804 + 
    805 +/* Define to 1 if you have the `gssapi_krb5' library (-lgssapi_krb5). */ 
    806 +/* #undef HAVE_LIBGSSAPI_KRB5 */ 
    807 + 
    808 +/* Define to 1 if you have the `inet' library (-linet). */ 
    809 +/* #undef HAVE_LIBINET */ 
    810 + 
    811 +/* Define to 1 if you have the `k5crypto' library (-lk5crypto). */ 
    812 +/* #undef HAVE_LIBK5CRYPTO */ 
    813 + 
    814 +/* Define to 1 if you have the `krb5' library (-lkrb5). */ 
    815 +/* #undef HAVE_LIBKRB5 */ 
    816 + 
    817 +/* Define to 1 if you have the `lber' library (-llber). */ 
    818 +/* #undef HAVE_LIBLBER */ 
    819 + 
    820 +/* Define to 1 if you have the `ldap' library (-lldap). */ 
    821 +/* #undef HAVE_LIBLDAP */ 
    822 + 
    823 +/* Define to 1 if you have the `nsl' library (-lnsl). */ 
    824 +/* #undef HAVE_LIBNSL */ 
    825 + 
    826 +/* Define to 1 if you have the `nsl_s' library (-lnsl_s). */ 
    827 +/* #undef HAVE_LIBNSL_S */ 
    828 + 
    829 +/* Whether libpam is available */ 
    830 +#define HAVE_LIBPAM 1 
    831 + 
    832 +/* Whether the system has readline */ 
    833 +/* AR7 #define HAVE_LIBREADLINE 1 */ 
    834 + 
    835 +/* Define to 1 if you have the `resolv' library (-lresolv). */ 
    836 +#define HAVE_LIBRESOLV 1 
    837 + 
    838 +/* Define to 1 if you have the `roken' library (-lroken). */ 
    839 +/* #undef HAVE_LIBROKEN */ 
    840 + 
    841 +/* Define to 1 if you have the `sec' library (-lsec). */ 
    842 +/* #undef HAVE_LIBSEC */ 
    843 + 
    844 +/* Define to 1 if you have the `security' library (-lsecurity). */ 
    845 +/* #undef HAVE_LIBSECURITY */ 
    846 + 
    847 +/* Define to 1 if you have the `sendfile' library (-lsendfile). */ 
    848 +/* #undef HAVE_LIBSENDFILE */ 
    849 + 
    850 +/* Define to 1 if you have the `socket' library (-lsocket). */ 
    851 +/* #undef HAVE_LIBSOCKET */ 
    852 + 
    853 +/* Define to 1 if you have the <limits.h> header file. */ 
    854 +#define HAVE_LIMITS_H 1 
    855 + 
    856 +/* Define to 1 if you have the `link' function. */ 
    857 +#define HAVE_LINK 1 
    858 + 
    859 +/* Whether Linux xfs quota support is available */ 
    860 +/* AR7 #define HAVE_LINUX_XFS_QUOTAS 1 */ 
    861 + 
    862 +/* Define to 1 if you have the `listxattr' function. */ 
    863 +/* AR7 #define HAVE_LISTXATTR 1 */ 
    864 + 
    865 +/* Define to 1 if you have the `llistxattr' function. */ 
    866 +/* AR7 #define HAVE_LLISTXATTR 1 */ 
    867 + 
    868 +/* Define to 1 if you have the `llseek' function. */ 
    869 +#define HAVE_LLSEEK 1 
    870 + 
    871 +/* Define to 1 if you have the <locale.h> header file. */ 
    872 +#define HAVE_LOCALE_H 1 
    873 + 
    874 +/* Whether the host supports long long's */ 
    875 +#define HAVE_LONGLONG 1 
    876 + 
    877 +/* Define to 1 if you have the `lremovexattr' function. */ 
    878 +/* AR7 #define HAVE_LREMOVEXATTR 1 */ 
    879 + 
    880 +/* Define to 1 if you have the `lseek64' function. */ 
    881 +/* AR7 #define HAVE_LSEEK64 1 */ 
    882 + 
    883 +/* Define to 1 if you have the `lsetxattr' function. */ 
    884 +/* AR7 #define HAVE_LSETXATTR 1 */ 
    885 + 
    886 +/* Define to 1 if you have the `lstat64' function. */ 
    887 +/* AR7 #define HAVE_LSTAT64 1 */ 
    888 + 
    889 +/* Whether the macro for makedev is available */ 
    890 +#define HAVE_MAKEDEV 1 
    891 + 
    892 +/* Define to 1 if you have the `memmove' function. */ 
    893 +#define HAVE_MEMMOVE 1 
    894 + 
    895 +/* Define to 1 if you have the <memory.h> header file. */ 
    896 +#define HAVE_MEMORY_H 1 
    897 + 
    898 +/* Whether memset() is available */ 
    899 +#define HAVE_MEMSET 1 
    900 + 
    901 +/* Define to 1 if you have the `mknod' function. */ 
    902 +#define HAVE_MKNOD 1 
    903 + 
    904 +/* Define to 1 if you have the `mknod64' function. */ 
    905 +/* #undef HAVE_MKNOD64 */ 
    906 + 
    907 +/* Define to 1 if you have the `mktime' function. */ 
    908 +#define HAVE_MKTIME 1 
    909 + 
    910 +/* Whether mmap works */ 
    911 +#define HAVE_MMAP 1 
    912 + 
    913 +/* Define to 1 if you have the <mntent.h> header file. */ 
    914 +#define HAVE_MNTENT_H 1 
    915 + 
    916 +/* Define to 1 if you have the `nanosleep' function. */ 
    917 +#define HAVE_NANOSLEEP 1 
    918 + 
    919 +/* Whether to use native iconv */ 
    920 +/* AR7 #define HAVE_NATIVE_ICONV 1 */ 
    921 + 
    922 +/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */ 
    923 +/* #undef HAVE_NDIR_H */ 
    924 + 
    925 +/* Define to 1 if you have the <netinet/in_ip.h> header file. */ 
    926 +/* #undef HAVE_NETINET_IN_IP_H */ 
    927 + 
    928 +/* Define to 1 if you have the <netinet/in_systm.h> header file. */ 
    929 +#define HAVE_NETINET_IN_SYSTM_H 1 
    930 + 
    931 +/* Define to 1 if you have the <netinet/ip.h> header file. */ 
    932 +#define HAVE_NETINET_IP_H 1 
    933 + 
    934 +/* Define to 1 if you have the <netinet/tcp.h> header file. */ 
    935 +#define HAVE_NETINET_TCP_H 1 
    936 + 
    937 +/* Define to 1 if you have the <net/if.h> header file. */ 
    938 +#define HAVE_NET_IF_H 1 
    939 + 
    940 +/* Do we have rl_completion_matches? */ 
    941 +/* AR7 #define HAVE_NEW_LIBREADLINE 1 */ 
    942 + 
    943 +/* Define to 1 if you have the `nl_langinfo' function. */ 
    944 +#define HAVE_NL_LANGINFO 1 
    945 + 
    946 +/* Whether no ACLs support is available */ 
    947 +#define HAVE_NO_ACLS 1 
    948 + 
    949 +/* Whether no asynchronous io support is available */ 
    950 +#define HAVE_NO_AIO 1 
    951 + 
    952 +/* Define to 1 if you have the <nsswitch.h> header file. */ 
    953 +/* #undef HAVE_NSSWITCH_H */ 
    954 + 
    955 +/* Define to 1 if you have the <nss_common.h> header file. */ 
    956 +/* #undef HAVE_NSS_COMMON_H */ 
    957 + 
    958 +/* Define to 1 if you have the <nss.h> header file. */ 
    959 +/* AR7 #define HAVE_NSS_H 1 */ 
    960 + 
    961 +/* Define to 1 if you have the <ns_api.h> header file. */ 
    962 +/* #undef HAVE_NS_API_H */ 
    963 + 
    964 +/* Whether off64_t is available */ 
    965 +/* #undef HAVE_OFF64_T */ 
    966 + 
    967 +/* Define to 1 if you have the `open64' function. */ 
    968 +/* AR7 #define HAVE_OPEN64 1 */ 
    969 + 
    970 +/* Define to 1 if you have the `opendir64' function. */ 
    971 +/* #undef HAVE_OPENDIR64 */ 
    972 + 
    973 +/* Defined if struct passwd has pw_age field */ 
    974 +/* #undef HAVE_PASSWD_PW_AGE */ 
    975 + 
    976 +/* Defined if struct passwd has pw_comment field */ 
    977 +/* #undef HAVE_PASSWD_PW_COMMENT */ 
    978 + 
    979 +/* Define to 1 if you have the `pathconf' function. */ 
    980 +#define HAVE_PATHCONF 1 
    981 + 
    982 +/* Define to 1 if you have the `pipe' function. */ 
    983 +#define HAVE_PIPE 1 
    984 + 
    985 +/* Define to 1 if you have the `poll' function. */ 
    986 +#define HAVE_POLL 1 
    987 + 
    988 +/* Define to 1 if you have the <poll.h> header file. */ 
    989 +#define HAVE_POLL_H 1 
    990 + 
    991 +/* Whether POSIX ACLs are available */ 
    992 +/* #undef HAVE_POSIX_ACLS */ 
    993 + 
    994 +/* Whether prctl is available */ 
    995 +#define HAVE_PRCTL 1 
    996 + 
    997 +/* Define to 1 if you have the `pread' function. */ 
    998 +#define HAVE_PREAD 1 
    999 + 
    1000 +/* Define to 1 if you have the `pread64' function. */ 
    1001 +/* AR7 #define HAVE_PREAD64 1 */ 
    1002 + 
    1003 +/* Define to 1 if you have the `putprpwnam' function. */ 
    1004 +/* #undef HAVE_PUTPRPWNAM */ 
    1005 + 
    1006 +/* Define to 1 if you have the `pututline' function. */ 
    1007 +#define HAVE_PUTUTLINE 1 
    1008 + 
    1009 +/* Define to 1 if you have the `pututxline' function. */ 
    1010 +#define HAVE_PUTUTXLINE 1 
    1011 + 
    1012 +/* Define to 1 if you have the `pwrite' function. */ 
    1013 +#define HAVE_PWRITE 1 
    1014 + 
    1015 +/* Define to 1 if you have the `pwrite64' function. */ 
    1016 +/* AR7 #define HAVE_PWRITE64 1 */ 
    1017 + 
    1018 +/* Whether CRAY int quotactl (char *spec, int request, char *arg); is 
    1019 +   available */ 
    1020 +/* #undef HAVE_QUOTACTL_3 */ 
    1021 + 
    1022 +/* Whether long quotactl(int cmd, char *special, qid_t id, caddr_t addr) is 
    1023 +   available */ 
    1024 +/* #undef HAVE_QUOTACTL_4A */ 
    1025 + 
    1026 +/* Whether int quotactl(const char *path, int cmd, int id, char *addr) is 
    1027 +   available */ 
    1028 +/* #undef HAVE_QUOTACTL_4B */ 
    1029 + 
    1030 +/* Whether Linux quota support is available */ 
    1031 +/* AR7 #define HAVE_QUOTACTL_LINUX 1 */ 
    1032 + 
    1033 +/* Define to 1 if you have the `rand' function. */ 
    1034 +#define HAVE_RAND 1 
    1035 + 
    1036 +/* Define to 1 if you have the `random' function. */ 
    1037 +#define HAVE_RANDOM 1 
    1038 + 
    1039 +/* Define to 1 if you have the `rdchk' function. */ 
    1040 +/* #undef HAVE_RDCHK */ 
    1041 + 
    1042 +/* Define to 1 if you have the `readdir64' function. */ 
    1043 +/* AR7 #define HAVE_READDIR64 1 */ 
    1044 + 
    1045 +/* Define to 1 if you have the <readline.h> header file. */ 
    1046 +/* #undef HAVE_READLINE_H */ 
    1047 + 
    1048 +/* Define to 1 if you have the <readline/history.h> header file. */ 
    1049 +#define HAVE_READLINE_HISTORY_H 1 
    1050 + 
    1051 +/* Define to 1 if you have the <readline/readline.h> header file. */ 
    1052 +#define HAVE_READLINE_READLINE_H 1 
    1053 + 
    1054 +/* Define to 1 if you have the `readlink' function. */ 
    1055 +#define HAVE_READLINK 1 
    1056 + 
    1057 +/* Define to 1 if you have the `realpath' function. */ 
    1058 +#define HAVE_REALPATH 1 
    1059 + 
    1060 +/* Define to 1 if you have the `removexattr' function. */ 
    1061 +/* AR7 #define HAVE_REMOVEXATTR 1 */ 
    1062 + 
    1063 +/* Define to 1 if you have the `rename' function. */ 
    1064 +#define HAVE_RENAME 1 
    1065 + 
    1066 +/* Define to 1 if you have the `rewinddir64' function. */ 
    1067 +/* #undef HAVE_REWINDDIR64 */ 
    1068 + 
    1069 +/* Define to 1 if you have the `roken_getaddrinfo_hostspec' function. */ 
    1070 +/* #undef HAVE_ROKEN_GETADDRINFO_HOSTSPEC */ 
    1071 + 
    1072 +/* Whether current user is root */ 
    1073 +/* #undef HAVE_ROOT */ 
    1074 + 
    1075 +/* Define to 1 if you have the <rpcsvc/nis.h> header file. */ 
    1076 +#define HAVE_RPCSVC_NIS_H 1 
    1077 + 
    1078 +/* Define to 1 if you have the <rpcsvc/ypclnt.h> header file. */ 
    1079 +#define HAVE_RPCSVC_YPCLNT_H 1 
    1080 + 
    1081 +/* Define to 1 if you have the <rpcsvc/yp_prot.h> header file. */ 
    1082 +#define HAVE_RPCSVC_YP_PROT_H 1 
    1083 + 
    1084 +/* Whether there is a conflicting AUTH_ERROR define in rpc/rpc.h */ 
    1085 +/* #undef HAVE_RPC_AUTH_ERROR_CONFLICT */ 
    1086 + 
    1087 +/* Define to 1 if you have the <rpc/nettype.h> header file. */ 
    1088 +/* #undef HAVE_RPC_NETTYPE_H */ 
    1089 + 
    1090 +/* Define to 1 if you have the <rpc/rpc.h> header file. */ 
    1091 +#define HAVE_RPC_RPC_H 1 
    1092 + 
    1093 +/* Whether mkstemp is secure */ 
    1094 +#define HAVE_SECURE_MKSTEMP 1 
    1095 + 
    1096 +/* Define to 1 if you have the <security/pam_appl.h> header file. */ 
    1097 +#define HAVE_SECURITY_PAM_APPL_H 1 
    1098 + 
    1099 +/* Define to 1 if you have the <security/pam_modules.h> header file. */ 
    1100 +#define HAVE_SECURITY_PAM_MODULES_H 1 
    1101 + 
    1102 +/* Define to 1 if you have the <security/_pam_macros.h> header file. */ 
    1103 +#define HAVE_SECURITY__PAM_MACROS_H 1 
    1104 + 
    1105 +/* Define to 1 if you have the `seekdir64' function. */ 
    1106 +/* #undef HAVE_SEEKDIR64 */ 
    1107 + 
    1108 +/* Define to 1 if you have the `select' function. */ 
    1109 +#define HAVE_SELECT 1 
    1110 + 
    1111 +/* Whether sendfile() is available */ 
    1112 +/* #undef HAVE_SENDFILE */ 
    1113 + 
    1114 +/* Whether sendfile64() is available */ 
    1115 +/* AR7 #define HAVE_SENDFILE64 1 */ 
    1116 + 
    1117 +/* Whether sendfilev() is available */ 
    1118 +/* #undef HAVE_SENDFILEV */ 
    1119 + 
    1120 +/* Whether sendfilev64() is available */ 
    1121 +/* #undef HAVE_SENDFILEV64 */ 
    1122 + 
    1123 +/* Define to 1 if you have the `setbuffer' function. */ 
    1124 +#define HAVE_SETBUFFER 1 
    1125 + 
    1126 +/* Define to 1 if you have the `setenv' function. */ 
    1127 +#define HAVE_SETENV 1 
    1128 + 
    1129 +/* Define to 1 if you have the `setgidx' function. */ 
    1130 +/* #undef HAVE_SETGIDX */ 
    1131 + 
    1132 +/* Define to 1 if you have the `setgroups' function. */ 
    1133 +#define HAVE_SETGROUPS 1 
    1134 + 
    1135 +/* Define to 1 if you have the `setlinebuf' function. */ 
    1136 +#define HAVE_SETLINEBUF 1 
    1137 + 
    1138 +/* Define to 1 if you have the `setlocale' function. */ 
    1139 +#define HAVE_SETLOCALE 1 
    1140 + 
    1141 +/* Define to 1 if you have the `setluid' function. */ 
    1142 +/* #undef HAVE_SETLUID */ 
    1143 + 
    1144 +/* Define to 1 if you have the `setmntent' function. */ 
    1145 +#define HAVE_SETMNTENT 1 
    1146 + 
    1147 +/* Define to 1 if you have the `setnetgrent' function. */ 
    1148 +#define HAVE_SETNETGRENT 1 
    1149 + 
    1150 +/* Define to 1 if you have the `setpgid' function. */ 
    1151 +#define HAVE_SETPGID 1 
    1152 + 
    1153 +/* Define to 1 if you have the `setpriv' function. */ 
    1154 +/* #undef HAVE_SETPRIV */ 
    1155 + 
    1156 +/* Whether the system has setresgid */ 
    1157 +#define HAVE_SETRESGID 1 
    1158 + 
    1159 +/* Whether setresgid() is available */ 
    1160 +#define HAVE_SETRESGID_DECL 1 
    1161 + 
    1162 +/* Whether the system has setresuid */ 
    1163 +#define HAVE_SETRESUID 1 
    1164 + 
    1165 +/* Whether setresuid() is available */ 
    1166 +#define HAVE_SETRESUID_DECL 1 
    1167 + 
    1168 +/* Define to 1 if you have the `setsid' function. */ 
    1169 +#define HAVE_SETSID 1 
    1170 + 
    1171 +/* Define to 1 if you have the `setuidx' function. */ 
    1172 +/* #undef HAVE_SETUIDX */ 
    1173 + 
    1174 +/* Define to 1 if you have the `setxattr' function. */ 
    1175 +/* AR7 #define HAVE_SETXATTR 1 */ 
    1176 + 
    1177 +/* Define to 1 if you have the `set_auth_parameters' function. */ 
    1178 +/* #undef HAVE_SET_AUTH_PARAMETERS */ 
    1179 + 
    1180 +/* Define to 1 if you have the <shadow.h> header file. */ 
    1181 +#define HAVE_SHADOW_H 1 
    1182 + 
    1183 +/* Define to 1 if you have the `shmget' function. */ 
    1184 +#define HAVE_SHMGET 1 
    1185 + 
    1186 +/* Define to 1 if you have the `shm_open' function. */ 
    1187 +/* #undef HAVE_SHM_OPEN */ 
    1188 + 
    1189 +/* Define to 1 if you have the `sigaction' function. */ 
    1190 +#define HAVE_SIGACTION 1 
    1191 + 
    1192 +/* Define to 1 if you have the `sigblock' function. */ 
    1193 +#define HAVE_SIGBLOCK 1 
    1194 + 
    1195 +/* Define to 1 if you have the `sigprocmask' function. */ 
    1196 +#define HAVE_SIGPROCMASK 1 
    1197 + 
    1198 +/* Define to 1 if you have the `sigset' function. */ 
    1199 +#define HAVE_SIGSET 1 
    1200 + 
    1201 +/* Whether we have the atomic_t variable type */ 
    1202 +#define HAVE_SIG_ATOMIC_T_TYPE 1 
    1203 + 
    1204 +/* Define to 1 if you have the `snprintf' function. */ 
    1205 +#define HAVE_SNPRINTF 1 
    1206 + 
    1207 +/* Whether snprintf() is available */ 
    1208 +#define HAVE_SNPRINTF_DECL 1 
    1209 + 
    1210 +/* Whether we have the variable type socklen_t */ 
    1211 +#define HAVE_SOCKLEN_T_TYPE 1 
    1212 + 
    1213 +/* Whether the sockaddr_in struct has a sin_len property */ 
    1214 +/* #undef HAVE_SOCK_SIN_LEN */ 
    1215 + 
    1216 +/* Whether solaris ACLs are available */ 
    1217 +/* #undef HAVE_SOLARIS_ACLS */ 
    1218 + 
    1219 +/* Define to 1 if you have the `srand' function. */ 
    1220 +#define HAVE_SRAND 1 
    1221 + 
    1222 +/* Define to 1 if you have the `srandom' function. */ 
    1223 +#define HAVE_SRANDOM 1 
    1224 + 
    1225 +/* Whether stat64() is available */ 
    1226 +/* AR7 #define HAVE_STAT64 1 */ 
    1227 + 
    1228 +/* whether struct stat has sub-second timestamps */ 
    1229 +/* AR7 #define HAVE_STAT_HIRES_TIMESTAMPS 1 */ 
    1230 + 
    1231 +/* whether struct stat contains st_atim */ 
    1232 +#define HAVE_STAT_ST_ATIM 1 
    1233 + 
    1234 +/* Whether the stat struct has a st_blksize property */ 
    1235 +#define HAVE_STAT_ST_BLKSIZE 1 
    1236 + 
    1237 +/* Whether the stat struct has a st_block property */ 
    1238 +#define HAVE_STAT_ST_BLOCKS 1 
    1239 + 
    1240 +/* whether struct stat contains st_ctim */ 
    1241 +#define HAVE_STAT_ST_CTIM 1 
    1242 + 
    1243 +/* whether struct stat contains st_mtim */ 
    1244 +#define HAVE_STAT_ST_MTIM 1 
    1245 + 
    1246 +/* Define to 1 if you have the <stdarg.h> header file. */ 
    1247 +#define HAVE_STDARG_H 1 
    1248 + 
    1249 +/* Define to 1 if you have the <stdint.h> header file. */ 
    1250 +#define HAVE_STDINT_H 1 
    1251 + 
    1252 +/* Define to 1 if you have the <stdlib.h> header file. */ 
    1253 +#define HAVE_STDLIB_H 1 
    1254 + 
    1255 +/* Define to 1 if you have the `strcasecmp' function. */ 
    1256 +#define HAVE_STRCASECMP 1 
    1257 + 
    1258 +/* Define to 1 if you have the `strchr' function. */ 
    1259 +#define HAVE_STRCHR 1 
    1260 + 
    1261 +/* Define to 1 if you have the `strdup' function. */ 
    1262 +#define HAVE_STRDUP 1 
    1263 + 
    1264 +/* Define to 1 if you have the `strerror' function. */ 
    1265 +#define HAVE_STRERROR 1 
    1266 + 
    1267 +/* Define to 1 if you have the `strftime' function. */ 
    1268 +#define HAVE_STRFTIME 1 
    1269 + 
    1270 +/* Define to 1 if you have the <strings.h> header file. */ 
    1271 +#define HAVE_STRINGS_H 1 
    1272 + 
    1273 +/* Define to 1 if you have the <string.h> header file. */ 
    1274 +#define HAVE_STRING_H 1 
    1275 + 
    1276 +/* Define to 1 if you have the `strlcat' function. */ 
    1277 +/* #undef HAVE_STRLCAT */ 
    1278 + 
    1279 +/* Define to 1 if you have the `strlcpy' function. */ 
    1280 +/* #undef HAVE_STRLCPY */ 
    1281 + 
    1282 +/* Define to 1 if you have the `strndup' function. */ 
    1283 +#define HAVE_STRNDUP 1 
    1284 + 
    1285 +/* Define to 1 if you have the `strnlen' function. */ 
    1286 +#define HAVE_STRNLEN 1 
    1287 + 
    1288 +/* Define to 1 if you have the <stropts.h> header file. */ 
    1289 +/* AR7 #define HAVE_STROPTS_H 1 */ 
    1290 + 
    1291 +/* Define to 1 if you have the `strpbrk' function. */ 
    1292 +#define HAVE_STRPBRK 1 
    1293 + 
    1294 +/* Define to 1 if you have the `strtoul' function. */ 
    1295 +#define HAVE_STRTOUL 1 
    1296 + 
    1297 +/* Whether the 'DIR64' abstract data type is available */ 
    1298 +/* #undef HAVE_STRUCT_DIR64 */ 
    1299 + 
    1300 +/* Whether the 'dirent64' struct is available */ 
    1301 +/* AR7 #define HAVE_STRUCT_DIRENT64 1 */ 
    1302 + 
    1303 +/* Whether the flock64 struct is available */ 
    1304 +/* AR7 #define HAVE_STRUCT_FLOCK64 1 */ 
    1305 + 
    1306 +/* Define to 1 if `method_attrlist' is member of `struct secmethod_table'. */ 
    1307 +/* #undef HAVE_STRUCT_SECMETHOD_TABLE_METHOD_ATTRLIST */ 
    1308 + 
    1309 +/* Define to 1 if `method_version' is member of `struct secmethod_table'. */ 
    1310 +/* #undef HAVE_STRUCT_SECMETHOD_TABLE_METHOD_VERSION */ 
    1311 + 
    1312 +/* Define to 1 if `st_rdev' is member of `struct stat'. */ 
    1313 +#define HAVE_STRUCT_STAT_ST_RDEV 1 
    1314 + 
    1315 +/* Whether we have struct timespec */ 
    1316 +#define HAVE_STRUCT_TIMESPEC 1 
    1317 + 
    1318 +/* Define to 1 if your `struct stat' has `st_rdev'. Deprecated, use 
    1319 +   `HAVE_STRUCT_STAT_ST_RDEV' instead. */ 
    1320 +#define HAVE_ST_RDEV 1 
    1321 + 
    1322 +/* Define to 1 if you have the `symlink' function. */ 
    1323 +#define HAVE_SYMLINK 1 
    1324 + 
    1325 +/* Define to 1 if you have the `syscall' function. */ 
    1326 +#define HAVE_SYSCALL 1 
    1327 + 
    1328 +/* Define to 1 if you have the <syscall.h> header file. */ 
    1329 +#define HAVE_SYSCALL_H 1 
    1330 + 
    1331 +/* Define to 1 if you have the `sysconf' function. */ 
    1332 +#define HAVE_SYSCONF 1 
    1333 + 
    1334 +/* Define to 1 if you have the `syslog' function. */ 
    1335 +#define HAVE_SYSLOG 1 
    1336 + 
    1337 +/* Define to 1 if you have the <syslog.h> header file. */ 
    1338 +#define HAVE_SYSLOG_H 1 
    1339 + 
    1340 +/* Define to 1 if you have the <sys/acl.h> header file. */ 
    1341 +/* #undef HAVE_SYS_ACL_H */ 
    1342 + 
    1343 +/* Define to 1 if you have the <sys/attributes.h> header file. */ 
    1344 +/* #undef HAVE_SYS_ATTRIBUTES_H */ 
    1345 + 
    1346 +/* Define to 1 if you have the <sys/capability.h> header file. */ 
    1347 +/* #undef HAVE_SYS_CAPABILITY_H */ 
    1348 + 
    1349 +/* Define to 1 if you have the <sys/cdefs.h> header file. */ 
    1350 +#define HAVE_SYS_CDEFS_H 1 
    1351 + 
    1352 +/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'. 
    1353 +   */ 
    1354 +/* #undef HAVE_SYS_DIR_H */ 
    1355 + 
    1356 +/* Define to 1 if you have the <sys/dustat.h> header file. */ 
    1357 +/* #undef HAVE_SYS_DUSTAT_H */ 
    1358 + 
    1359 +/* Define to 1 if you have the <sys/extattr.h> header file. */ 
    1360 +/* #undef HAVE_SYS_EXTATTR_H */ 
    1361 + 
    1362 +/* Define to 1 if you have the <sys/fcntl.h> header file. */ 
    1363 +#define HAVE_SYS_FCNTL_H 1 
    1364 + 
    1365 +/* Define to 1 if you have the <sys/filio.h> header file. */ 
    1366 +/* #undef HAVE_SYS_FILIO_H */ 
    1367 + 
    1368 +/* Define to 1 if you have the <sys/filsys.h> header file. */ 
    1369 +/* #undef HAVE_SYS_FILSYS_H */ 
    1370 + 
    1371 +/* Define to 1 if you have the <sys/fs/s5param.h> header file. */ 
    1372 +/* #undef HAVE_SYS_FS_S5PARAM_H */ 
    1373 + 
    1374 +/* Define to 1 if you have the <sys/fs/vx_quota.h> header file. */ 
    1375 +/* #undef HAVE_SYS_FS_VX_QUOTA_H */ 
    1376 + 
    1377 +/* Define to 1 if you have the <sys/id.h> header file. */ 
    1378 +/* #undef HAVE_SYS_ID_H */ 
    1379 + 
    1380 +/* Define to 1 if you have the <sys/ioctl.h> header file. */ 
    1381 +#define HAVE_SYS_IOCTL_H 1 
    1382 + 
    1383 +/* Define to 1 if you have the <sys/ipc.h> header file. */ 
    1384 +#define HAVE_SYS_IPC_H 1 
    1385 + 
    1386 +/* Define to 1 if you have the <sys/mman.h> header file. */ 
    1387 +#define HAVE_SYS_MMAN_H 1 
    1388 + 
    1389 +/* Define to 1 if you have the <sys/mode.h> header file. */ 
    1390 +/* #undef HAVE_SYS_MODE_H */ 
    1391 + 
    1392 +/* Define to 1 if you have the <sys/mount.h> header file. */ 
    1393 +#define HAVE_SYS_MOUNT_H 1 
    1394 + 
    1395 +/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'. 
    1396 +   */ 
    1397 +/* #undef HAVE_SYS_NDIR_H */ 
    1398 + 
    1399 +/* Define to 1 if you have the <sys/param.h> header file. */ 
    1400 +#define HAVE_SYS_PARAM_H 1 
    1401 + 
    1402 +/* Define to 1 if you have the <sys/prctl.h> header file. */ 
    1403 +#define HAVE_SYS_PRCTL_H 1 
    1404 + 
    1405 +/* Define to 1 if you have the <sys/priv.h> header file. */ 
    1406 +/* #undef HAVE_SYS_PRIV_H */ 
    1407 + 
    1408 +/* Whether the new lib/sysquotas.c interface can be used */ 
    1409 +/* AR7 #define HAVE_SYS_QUOTAS 1 */ 
    1410 + 
    1411 +/* Define to 1 if you have the <sys/quota.h> header file. */ 
    1412 +/* AR7 #define HAVE_SYS_QUOTA_H 1 */ 
    1413 + 
    1414 +/* Define to 1 if you have the <sys/resource.h> header file. */ 
    1415 +#define HAVE_SYS_RESOURCE_H 1 
    1416 + 
    1417 +/* Define to 1 if you have the <sys/security.h> header file. */ 
    1418 +/* #undef HAVE_SYS_SECURITY_H */ 
    1419 + 
    1420 +/* Define to 1 if you have the <sys/select.h> header file. */ 
    1421 +#define HAVE_SYS_SELECT_H 1 
    1422 + 
    1423 +/* Define to 1 if you have the <sys/shm.h> header file. */ 
    1424 +#define HAVE_SYS_SHM_H 1 
    1425 + 
    1426 +/* Define to 1 if you have the <sys/socket.h> header file. */ 
    1427 +#define HAVE_SYS_SOCKET_H 1 
    1428 + 
    1429 +/* Define to 1 if you have the <sys/sockio.h> header file. */ 
    1430 +/* #undef HAVE_SYS_SOCKIO_H */ 
    1431 + 
    1432 +/* Define to 1 if you have the <sys/statfs.h> header file. */ 
    1433 +#define HAVE_SYS_STATFS_H 1 
    1434 + 
    1435 +/* Define to 1 if you have the <sys/statvfs.h> header file. */ 
    1436 +#define HAVE_SYS_STATVFS_H 1 
    1437 + 
    1438 +/* Define to 1 if you have the <sys/stat.h> header file. */ 
    1439 +#define HAVE_SYS_STAT_H 1 
    1440 + 
    1441 +/* Define to 1 if you have the <sys/syscall.h> header file. */ 
    1442 +#define HAVE_SYS_SYSCALL_H 1 
    1443 + 
    1444 +/* Define to 1 if you have the <sys/syslog.h> header file. */ 
    1445 +#define HAVE_SYS_SYSLOG_H 1 
    1446 + 
    1447 +/* Define to 1 if you have the <sys/sysmacros.h> header file. */ 
    1448 +#define HAVE_SYS_SYSMACROS_H 1 
    1449 + 
    1450 +/* Define to 1 if you have the <sys/termio.h> header file. */ 
    1451 +/* #undef HAVE_SYS_TERMIO_H */ 
    1452 + 
    1453 +/* Define to 1 if you have the <sys/time.h> header file. */ 
    1454 +#define HAVE_SYS_TIME_H 1 
    1455 + 
    1456 +/* Define to 1 if you have the <sys/types.h> header file. */ 
    1457 +#define HAVE_SYS_TYPES_H 1 
    1458 + 
    1459 +/* Define to 1 if you have the <sys/uio.h> header file. */ 
    1460 +#define HAVE_SYS_UIO_H 1 
    1461 + 
    1462 +/* Define to 1 if you have the <sys/unistd.h> header file. */ 
    1463 +#define HAVE_SYS_UNISTD_H 1 
    1464 + 
    1465 +/* Define to 1 if you have the <sys/un.h> header file. */ 
    1466 +#define HAVE_SYS_UN_H 1 
    1467 + 
    1468 +/* Define to 1 if you have the <sys/vfs.h> header file. */ 
    1469 +#define HAVE_SYS_VFS_H 1 
    1470 + 
    1471 +/* Define to 1 if you have the <sys/wait.h> header file. */ 
    1472 +#define HAVE_SYS_WAIT_H 1 
    1473 + 
    1474 +/* Define to 1 if you have the <sys/xattr.h> header file. */ 
    1475 +/* AR7 #define HAVE_SYS_XATTR_H 1 */ 
    1476 + 
    1477 +/* Define to 1 if you have the `telldir64' function. */ 
    1478 +/* #undef HAVE_TELLDIR64 */ 
    1479 + 
    1480 +/* Define to 1 if you have the <termios.h> header file. */ 
    1481 +#define HAVE_TERMIOS_H 1 
    1482 + 
    1483 +/* Define to 1 if you have the <termio.h> header file. */ 
    1484 +#define HAVE_TERMIO_H 1 
    1485 + 
    1486 +/* Define to 1 if you have the `timegm' function. */ 
    1487 +/* AR7 #define HAVE_TIMEGM 1 */ 
    1488 + 
    1489 +/* Whether Tru64 ACLs are available */ 
    1490 +/* #undef HAVE_TRU64_ACLS */ 
    1491 + 
    1492 +/* Whether crypt needs truncated salt */ 
    1493 +/* #undef HAVE_TRUNCATED_SALT */ 
    1494 + 
    1495 +/* Whether uint16 typedef is included by rpc/rpc.h */ 
    1496 +/* #undef HAVE_UINT16_FROM_RPC_RPC_H */ 
    1497 + 
    1498 +/* Whether uint32 typedef is included by rpc/rpc.h */ 
    1499 +/* #undef HAVE_UINT32_FROM_RPC_RPC_H */ 
    1500 + 
    1501 +/* Define to 1 if you have the <unistd.h> header file. */ 
    1502 +#define HAVE_UNISTD_H 1 
    1503 + 
    1504 +/* If we need to build with unixscoket support */ 
    1505 +#define HAVE_UNIXSOCKET 1 
    1506 + 
    1507 +/* Whether UnixWare ACLs are available */ 
    1508 +/* #undef HAVE_UNIXWARE_ACLS */ 
    1509 + 
    1510 +/* Whether the 'unsigned char' type is available */ 
    1511 +/* #undef HAVE_UNSIGNED_CHAR */ 
    1512 + 
    1513 +/* Define to 1 if you have the `updwtmp' function. */ 
    1514 +#define HAVE_UPDWTMP 1 
    1515 + 
    1516 +/* Define to 1 if you have the `updwtmpx' function. */ 
    1517 +#define HAVE_UPDWTMPX 1 
    1518 + 
    1519 +/* Define to 1 if you have the `usleep' function. */ 
    1520 +#define HAVE_USLEEP 1 
    1521 + 
    1522 +/* Whether struct utimbuf is available */ 
    1523 +#define HAVE_UTIMBUF 1 
    1524 + 
    1525 +/* Define to 1 if you have the `utime' function. */ 
    1526 +#define HAVE_UTIME 1 
    1527 + 
    1528 +/* Define to 1 if you have the `utimes' function. */ 
    1529 +#define HAVE_UTIMES 1 
    1530 + 
    1531 +/* Define to 1 if you have the <utime.h> header file. */ 
    1532 +#define HAVE_UTIME_H 1 
    1533 + 
    1534 +/* Define to 1 if you have the <utmpx.h> header file. */ 
    1535 +/* #define HAVE_UTMPX_H 1 */ 
    1536 + 
    1537 +/* Define to 1 if you have the <utmp.h> header file. */ 
    1538 +#define HAVE_UTMP_H 1 
    1539 + 
    1540 +/* Whether the utmp struct has a property ut_addr */ 
    1541 +#define HAVE_UT_UT_ADDR 1 
    1542 + 
    1543 +/* Whether the utmp struct has a property ut_exit */ 
    1544 +#define HAVE_UT_UT_EXIT 1 
    1545 + 
    1546 +/* Whether the utmp struct has a property ut_host */ 
    1547 +#define HAVE_UT_UT_HOST 1 
    1548 + 
    1549 +/* Whether the utmp struct has a property ut_id */ 
    1550 +#define HAVE_UT_UT_ID 1 
    1551 + 
    1552 +/* Whether the utmp struct has a property ut_name */ 
    1553 +#define HAVE_UT_UT_NAME 1 
    1554 + 
    1555 +/* Whether the utmp struct has a property ut_pid */ 
    1556 +#define HAVE_UT_UT_PID 1 
    1557 + 
    1558 +/* Whether the utmp struct has a property ut_time */ 
    1559 +#define HAVE_UT_UT_TIME 1 
    1560 + 
    1561 +/* Whether the utmp struct has a property ut_tv */ 
    1562 +#define HAVE_UT_UT_TV 1 
    1563 + 
    1564 +/* Whether the utmp struct has a property ut_type */ 
    1565 +#define HAVE_UT_UT_TYPE 1 
    1566 + 
    1567 +/* Whether the utmp struct has a property ut_user */ 
    1568 +#define HAVE_UT_UT_USER 1 
    1569 + 
    1570 +/* Whether the utmpx struct has a property ut_syslen */ 
    1571 +/* #undef HAVE_UX_UT_SYSLEN */ 
    1572 + 
    1573 +/* Define to 1 if you have the <valgrind.h> header file. */ 
    1574 +/* #undef HAVE_VALGRIND_H */ 
    1575 + 
    1576 +/* Define to 1 if you have the <valgrind/memcheck.h> header file. */ 
    1577 +/* #undef HAVE_VALGRIND_MEMCHECK_H */ 
    1578 + 
    1579 +/* Define to 1 if you have the <valgrind/valgrind.h> header file. */ 
    1580 +/* #undef HAVE_VALGRIND_VALGRIND_H */ 
    1581 + 
    1582 +/* Define to 1 if you have the `vasprintf' function. */ 
    1583 +#define HAVE_VASPRINTF 1 
    1584 + 
    1585 +/* Whether vasprintf() is available */ 
    1586 +#define HAVE_VASPRINTF_DECL 1 
    1587 + 
    1588 +/* Whether va_copy() is available */ 
    1589 +#define HAVE_VA_COPY 1 
    1590 + 
    1591 +/* Whether the C compiler understands volatile */ 
    1592 +#define HAVE_VOLATILE 1 
    1593 + 
    1594 +/* Define to 1 if you have the `vsnprintf' function. */ 
    1595 +#define HAVE_VSNPRINTF 1 
    1596 + 
    1597 +/* Whether vsnprintf() is available */ 
    1598 +#define HAVE_VSNPRINTF_DECL 1 
    1599 + 
    1600 +/* Define to 1 if you have the `vsyslog' function. */ 
    1601 +#define HAVE_VSYSLOG 1 
    1602 + 
    1603 +/* Define to 1 if you have the `waitpid' function. */ 
    1604 +#define HAVE_WAITPID 1 
    1605 + 
    1606 +/* Define if you have working AF_LOCAL sockets */ 
    1607 +#define HAVE_WORKING_AF_LOCAL 1 
    1608 + 
    1609 +/* Whether the WRFILE:-keytab is supported */ 
    1610 +/* #undef HAVE_WRFILE_KEYTAB */ 
    1611 + 
    1612 +/* Whether xfs quota support is available */ 
    1613 +/* AR7 #define HAVE_XFS_QUOTAS 1 */ 
    1614 + 
    1615 +/* Define to 1 if you have the `yp_get_default_domain' function. */ 
    1616 +#define HAVE_YP_GET_DEFAULT_DOMAIN 1 
    1617 + 
    1618 +/* Define to 1 if you have the `_acl' function. */ 
    1619 +/* #undef HAVE__ACL */ 
    1620 + 
    1621 +/* Define to 1 if you have the `_chdir' function. */ 
    1622 +/* #undef HAVE__CHDIR */ 
    1623 + 
    1624 +/* Define to 1 if you have the `_close' function. */ 
    1625 +/* #undef HAVE__CLOSE */ 
    1626 + 
    1627 +/* Define to 1 if you have the `_closedir' function. */ 
    1628 +/* #undef HAVE__CLOSEDIR */ 
    1629 + 
    1630 +/* Define to 1 if you have the `_dup' function. */ 
    1631 +/* #undef HAVE__DUP */ 
    1632 + 
    1633 +/* Define to 1 if you have the `_dup2' function. */ 
    1634 +/* #undef HAVE__DUP2 */ 
    1635 + 
    1636 +/* Define to 1 if you have the `_et_list' function. */ 
    1637 +/* #undef HAVE__ET_LIST */ 
    1638 + 
    1639 +/* Define to 1 if you have the `_facl' function. */ 
    1640 +/* #undef HAVE__FACL */ 
    1641 + 
    1642 +/* Define to 1 if you have the `_fchdir' function. */ 
    1643 +/* #undef HAVE__FCHDIR */ 
    1644 + 
    1645 +/* Define to 1 if you have the `_fcntl' function. */ 
    1646 +/* #undef HAVE__FCNTL */ 
    1647 + 
    1648 +/* Define to 1 if you have the `_fork' function. */ 
    1649 +/* #undef HAVE__FORK */ 
    1650 + 
    1651 +/* Define to 1 if you have the `_fstat' function. */ 
    1652 +/* #undef HAVE__FSTAT */ 
    1653 + 
    1654 +/* Define to 1 if you have the `_fstat64' function. */ 
    1655 +/* #undef HAVE__FSTAT64 */ 
    1656 + 
    1657 +/* Define to 1 if you have the `_getcwd' function. */ 
    1658 +/* #undef HAVE__GETCWD */ 
    1659 + 
    1660 +/* Define to 1 if you have the `_getdents' function. */ 
    1661 +/* #undef HAVE__GETDENTS */ 
    1662 + 
    1663 +/* Define to 1 if you have the `_llseek' function. */ 
    1664 +/* #undef HAVE__LLSEEK */ 
    1665 + 
    1666 +/* Define to 1 if you have the `_lseek' function. */ 
    1667 +/* #undef HAVE__LSEEK */ 
    1668 + 
    1669 +/* Define to 1 if you have the `_lstat' function. */ 
    1670 +/* #undef HAVE__LSTAT */ 
    1671 + 
    1672 +/* Define to 1 if you have the `_lstat64' function. */ 
    1673 +/* #undef HAVE__LSTAT64 */ 
    1674 + 
    1675 +/* Define to 1 if you have the `_open' function. */ 
    1676 +/* #undef HAVE__OPEN */ 
    1677 + 
    1678 +/* Define to 1 if you have the `_open64' function. */ 
    1679 +/* #undef HAVE__OPEN64 */ 
    1680 + 
    1681 +/* Define to 1 if you have the `_opendir' function. */ 
    1682 +/* #undef HAVE__OPENDIR */ 
    1683 + 
    1684 +/* Define to 1 if you have the `_pread' function. */ 
    1685 +/* #undef HAVE__PREAD */ 
    1686 + 
    1687 +/* Define to 1 if you have the `_pread64' function. */ 
    1688 +/* #undef HAVE__PREAD64 */ 
    1689 + 
    1690 +/* Define to 1 if you have the `_pwrite' function. */ 
    1691 +/* #undef HAVE__PWRITE */ 
    1692 + 
    1693 +/* Define to 1 if you have the `_pwrite64' function. */ 
    1694 +/* #undef HAVE__PWRITE64 */ 
    1695 + 
    1696 +/* Define to 1 if you have the `_read' function. */ 
    1697 +/* #undef HAVE__READ */ 
    1698 + 
    1699 +/* Define to 1 if you have the `_readdir' function. */ 
    1700 +/* #undef HAVE__READDIR */ 
    1701 + 
    1702 +/* Define to 1 if you have the `_readdir64' function. */ 
    1703 +/* #undef HAVE__READDIR64 */ 
    1704 + 
    1705 +/* Define to 1 if you have the `_seekdir' function. */ 
    1706 +/* #undef HAVE__SEEKDIR */ 
    1707 + 
    1708 +/* Define to 1 if you have the `_stat' function. */ 
    1709 +/* #undef HAVE__STAT */ 
    1710 + 
    1711 +/* Define to 1 if you have the `_stat64' function. */ 
    1712 +/* #undef HAVE__STAT64 */ 
    1713 + 
    1714 +/* Define to 1 if you have the `_telldir' function. */ 
    1715 +/* #undef HAVE__TELLDIR */ 
    1716 + 
    1717 +/* Define to 1 if you have the `_write' function. */ 
    1718 +/* #undef HAVE__WRITE */ 
    1719 + 
    1720 +/* Define to 1 if you have the `__acl' function. */ 
    1721 +/* #undef HAVE___ACL */ 
    1722 + 
    1723 +/* Define to 1 if you have the `__chdir' function. */ 
    1724 +/* #undef HAVE___CHDIR */ 
    1725 + 
    1726 +/* Define to 1 if you have the `__close' function. */ 
    1727 +#define HAVE___CLOSE 1 
    1728 + 
    1729 +/* Define to 1 if you have the `__closedir' function. */ 
    1730 +/* #undef HAVE___CLOSEDIR */ 
    1731 + 
    1732 +/* Define to 1 if you have the `__dup' function. */ 
    1733 +/* #undef HAVE___DUP */ 
    1734 + 
    1735 +/* Define to 1 if you have the `__dup2' function. */ 
    1736 +#define HAVE___DUP2 1 
    1737 + 
    1738 +/* Define to 1 if you have the `__facl' function. */ 
    1739 +/* #undef HAVE___FACL */ 
    1740 + 
    1741 +/* Define to 1 if you have the `__fchdir' function. */ 
    1742 +/* #undef HAVE___FCHDIR */ 
    1743 + 
    1744 +/* Define to 1 if you have the `__fcntl' function. */ 
    1745 +#define HAVE___FCNTL 1 
    1746 + 
    1747 +/* Define to 1 if you have the `__fork' function. */ 
    1748 +#define HAVE___FORK 1 
    1749 + 
    1750 +/* Define to 1 if you have the `__fstat' function. */ 
    1751 +#define HAVE___FSTAT 1 
    1752 + 
    1753 +/* Define to 1 if you have the `__fstat64' function. */ 
    1754 +/* #undef HAVE___FSTAT64 */ 
    1755 + 
    1756 +/* Define to 1 if you have the `__fxstat' function. */ 
    1757 +#define HAVE___FXSTAT 1 
    1758 + 
    1759 +/* Define to 1 if you have the `__getcwd' function. */ 
    1760 +/* #undef HAVE___GETCWD */ 
    1761 + 
    1762 +/* Define to 1 if you have the `__getdents' function. */ 
    1763 +/* #undef HAVE___GETDENTS */ 
    1764 + 
    1765 +/* Define to 1 if you have the `__llseek' function. */ 
    1766 +/* #undef HAVE___LLSEEK */ 
    1767 + 
    1768 +/* Define to 1 if you have the `__lseek' function. */ 
    1769 +#define HAVE___LSEEK 1 
    1770 + 
    1771 +/* Define to 1 if you have the `__lstat' function. */ 
    1772 +#define HAVE___LSTAT 1 
    1773 + 
    1774 +/* Define to 1 if you have the `__lstat64' function. */ 
    1775 +/* #undef HAVE___LSTAT64 */ 
    1776 + 
    1777 +/* Define to 1 if you have the `__lxstat' function. */ 
    1778 +#define HAVE___LXSTAT 1 
    1779 + 
    1780 +/* Define to 1 if you have the `__open' function. */ 
    1781 +#define HAVE___OPEN 1 
    1782 + 
    1783 +/* Define to 1 if you have the `__open64' function. */ 
    1784 +/* AR7 #define HAVE___OPEN64 1 */ 
    1785 + 
    1786 +/* Define to 1 if you have the `__opendir' function. */ 
    1787 +/* #undef HAVE___OPENDIR */ 
    1788 + 
    1789 +/* Define to 1 if you have the `__pread' function. */ 
    1790 +/* #undef HAVE___PREAD */ 
    1791 + 
    1792 +/* Define to 1 if you have the `__pread64' function. */ 
    1793 +/* AR7 #define HAVE___PREAD64 1 */ 
    1794 + 
    1795 +/* Define to 1 if you have the `__pwrite' function. */ 
    1796 +/* #undef HAVE___PWRITE */ 
    1797 + 
    1798 +/* Define to 1 if you have the `__pwrite64' function. */ 
    1799 +/* AR7 #define HAVE___PWRITE64 1 */ 
    1800 + 
    1801 +/* Define to 1 if you have the `__read' function. */ 
    1802 +#define HAVE___READ 1 
    1803 + 
    1804 +/* Define to 1 if you have the `__readdir' function. */ 
    1805 +/* #undef HAVE___READDIR */ 
    1806 + 
    1807 +/* Define to 1 if you have the `__readdir64' function. */ 
    1808 +/* #undef HAVE___READDIR64 */ 
    1809 + 
    1810 +/* Define to 1 if you have the `__seekdir' function. */ 
    1811 +/* #undef HAVE___SEEKDIR */ 
    1812 + 
    1813 +/* Define to 1 if you have the `__stat' function. */ 
    1814 +#define HAVE___STAT 1 
    1815 + 
    1816 +/* Define to 1 if you have the `__stat64' function. */ 
    1817 +/* #undef HAVE___STAT64 */ 
    1818 + 
    1819 +/* Define to 1 if you have the `__sys_llseek' function. */ 
    1820 +/* #undef HAVE___SYS_LLSEEK */ 
    1821 + 
    1822 +/* Define to 1 if you have the `__telldir' function. */ 
    1823 +/* #undef HAVE___TELLDIR */ 
    1824 + 
    1825 +/* Whether __va_copy() is available */ 
    1826 +/* #undef HAVE___VA_COPY */ 
    1827 + 
    1828 +/* Define to 1 if you have the `__write' function. */ 
    1829 +#define HAVE___WRITE 1 
    1830 + 
    1831 +/* Define to 1 if you have the `__xstat' function. */ 
    1832 +#define HAVE___XSTAT 1 
    1833 + 
    1834 +/* Whether the host os is HPUX */ 
    1835 +/* #undef HPUX */ 
    1836 + 
    1837 +/* Whether the hpux sendfile() API is available */ 
    1838 +/* #undef HPUX_SENDFILE_API */ 
    1839 + 
    1840 +/* Whether to use intel spinlocks */ 
    1841 +/* #undef INTEL_SPINLOCKS */ 
    1842 + 
    1843 +/* Whether the host os is irix */ 
    1844 +/* #undef IRIX */ 
    1845 + 
    1846 +/* Whether the host os is irix6 */ 
    1847 +/* #undef IRIX6 */ 
    1848 + 
    1849 +/* Whether krb5_princ_realm returns krb5_realm or krb5_data */ 
    1850 +/* #undef KRB5_PRINC_REALM_RETURNS_REALM */ 
    1851 + 
    1852 +/* Number of arguments to ldap_set_rebind_proc */ 
    1853 +/* #undef LDAP_SET_REBIND_PROC_ARGS */ 
    1854 + 
    1855 +/* Whether the host os is linux */ 
    1856 +#define LINUX 1 
    1857 + 
    1858 +/* Whether (linux) sendfile() is broken */ 
    1859 +/* #undef LINUX_BROKEN_SENDFILE_API */ 
    1860 + 
    1861 +/* Whether linux sendfile() API is available */ 
    1862 +#define LINUX_SENDFILE_API 1 
    1863 + 
    1864 +/* Whether to use mips spinlocks */ 
    1865 +/* #undef MIPS_SPINLOCKS */ 
    1866 + 
    1867 +/* Whether MMAP is broken */ 
    1868 +/* #undef MMAP_BLACKLIST */ 
    1869 + 
    1870 +/* Whether the host os is NeXT v2 */ 
    1871 +/* #undef NEXT2 */ 
    1872 + 
    1873 +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ 
    1874 +/* #undef NO_MINUS_C_MINUS_O */ 
    1875 + 
    1876 +/* Whether the host os is osf1 */ 
    1877 +/* #undef OSF1 */ 
    1878 + 
    1879 +/* Define to the address where bug reports for this package should be sent. */ 
    1880 +#define PACKAGE_BUGREPORT "" 
    1881 + 
    1882 +/* Define to the full name of this package. */ 
    1883 +#define PACKAGE_NAME "" 
    1884 + 
    1885 +/* Define to the full name and version of this package. */ 
    1886 +#define PACKAGE_STRING "" 
    1887 + 
    1888 +/* Define to the one symbol short name of this package. */ 
    1889 +#define PACKAGE_TARNAME "" 
    1890 + 
    1891 +/* Define to the version of this package. */ 
    1892 +#define PACKAGE_VERSION "" 
    1893 + 
    1894 +/* Does a POSIX ACL need a mask element */ 
    1895 +/* #undef POSIX_ACL_NEEDS_MASK */ 
    1896 + 
    1897 +/* Whether to use powerpc spinlocks */ 
    1898 +/* #undef POWERPC_SPINLOCKS */ 
    1899 + 
    1900 +/* Whether pututline returns pointer */ 
    1901 +#define PUTUTLINE_RETURNS_UTMP 1 
    1902 + 
    1903 +/* Whether the host os is qnx */ 
    1904 +/* #undef QNX */ 
    1905 + 
    1906 +/* Whether the realpath function allows NULL */ 
    1907 +#define REALPATH_TAKES_NULL 1 
    1908 + 
    1909 +/* Whether the host os is reliantunix */ 
    1910 +/* #undef RELIANTUNIX */ 
    1911 + 
    1912 +/* Whether getpass should be replaced */ 
    1913 +#define REPLACE_GETPASS 1 
    1914 + 
    1915 +/* Whether inet_ntoa should be replaced */ 
    1916 +/* #undef REPLACE_INET_NTOA */ 
    1917 + 
    1918 +/* Define as the return type of signal handlers (`int' or `void'). */ 
    1919 +#define RETSIGTYPE void 
    1920 + 
    1921 +/* Whether the host os is sco unix */ 
    1922 +/* #undef SCO */ 
    1923 + 
    1924 +/* Whether seekdir returns void */ 
    1925 +#define SEEKDIR_RETURNS_VOID 1 
    1926 + 
    1927 +/* The size of the 'ino_t' type */ 
    1928 +/* AR7 #define SIZEOF_INO_T 8 */ 
    1929 +#define SIZEOF_INO_T 4 /* AR7 */ 
    1930 + 
    1931 +/* The size of a `int', as computed by sizeof. */ 
    1932 +#define SIZEOF_INT 4 
    1933 + 
    1934 +/* The size of a `long', as computed by sizeof. */ 
    1935 +#define SIZEOF_LONG 4 
    1936 + 
    1937 +/* The size of the 'off_t' type */ 
    1938 +/* AR7 #define SIZEOF_OFF_T 8 */ 
    1939 +#define SIZEOF_OFF_T 4 /* AR7 */ 
    1940 + 
    1941 +/* The size of a `short', as computed by sizeof. */ 
    1942 +#define SIZEOF_SHORT 2 
    1943 + 
    1944 +/* Use socket wrapper library */ 
    1945 +/* #undef SOCKET_WRAPPER */ 
    1946 + 
    1947 +/* Whether the solaris sendfile() API is available */ 
    1948 +/* #undef SOLARIS_SENDFILE_API */ 
    1949 + 
    1950 +/* Whether to use sparc spinlocks */ 
    1951 +/* #undef SPARC_SPINLOCKS */ 
    1952 + 
    1953 +/* Whether statfs requires two arguments and struct statfs has bsize property 
    1954 +   */ 
    1955 +/* #undef STAT_STATFS2_BSIZE */ 
    1956 + 
    1957 +/* Whether statfs requires 2 arguments and struct statfs has fsize */ 
    1958 +/* #undef STAT_STATFS2_FSIZE */ 
    1959 + 
    1960 +/* Whether statfs requires 2 arguments and struct fs_data is available */ 
    1961 +/* #undef STAT_STATFS2_FS_DATA */ 
    1962 + 
    1963 +/* Whether statfs requires 3 arguments */ 
    1964 +/* #undef STAT_STATFS3_OSF1 */ 
    1965 + 
    1966 +/* Whether statfs requires 4 arguments */ 
    1967 +/* #undef STAT_STATFS4 */ 
    1968 + 
    1969 +/* Whether statvfs() is available */ 
    1970 +#define STAT_STATVFS 1 /* AR7 */ 
    1971 + 
    1972 +/* Whether statvfs64() is available */ 
    1973 +/* AR7 #define STAT_STATVFS64 1 */ 
    1974 + 
    1975 +/* The size of a block */ 
    1976 +#define STAT_ST_BLOCKSIZE 512 
    1977 + 
    1978 +/* Define to 1 if you have the ANSI C header files. */ 
    1979 +#define STDC_HEADERS 1 
    1980 + 
    1981 +/* String list of builtin modules */ 
    1982 +#define STRING_STATIC_MODULES " pdb_smbpasswd pdb_tdbsam pdb_guest rpc_lsa rpc_reg rpc_lsa_ds rpc_wks rpc_svcctl rpc_net rpc_dfs rpc_srv rpc_spoolss rpc_eventlog rpc_samr idmap_tdb auth_rhosts auth_sam auth_unix auth_winbind auth_server auth_domain auth_builtin" 
    1983 + 
    1984 +/* Whether the host os is sunos4 */ 
    1985 +/* #undef SUNOS4 */ 
    1986 + 
    1987 +/* Whether the host os is solaris */ 
    1988 +/* #undef SUNOS5 */ 
    1989 + 
    1990 +/* Whether sysconf(_SC_NGROUPS_MAX) is available */ 
    1991 +#define SYSCONF_SC_NGROUPS_MAX 1 
    1992 + 
    1993 +/* Whether sysconf(_SC_NPROC_ONLN) is available */ 
    1994 +/* #undef SYSCONF_SC_NPROC_ONLN */ 
    1995 + 
    1996 +/* Whether this is a system V system */ 
    1997 +/* #undef SYSV */ 
    1998 + 
    1999 +/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */ 
    2000 +#define TIME_WITH_SYS_TIME 1 
    2001 + 
    2002 +/* Whether the host os is unixware */ 
    2003 +/* #undef UNIXWARE */ 
    2004 + 
    2005 +/* Whether to use both of HPUX' crypt calls */ 
    2006 +/* #undef USE_BOTH_CRYPT_CALLS */ 
    2007 + 
    2008 +/* Whether seteuid() is available */ 
    2009 +/* #undef USE_SETEUID */ 
    2010 + 
    2011 +/* Whether setresuid() is available */ 
    2012 +#define USE_SETRESUID 1 
    2013 + 
    2014 +/* Whether setreuid() is available */ 
    2015 +/* #undef USE_SETREUID */ 
    2016 + 
    2017 +/* Whether setuidx() is available */ 
    2018 +/* #undef USE_SETUIDX */ 
    2019 + 
    2020 +/* Whether to use spin locks instead of fcntl locks */ 
    2021 +/* #undef USE_SPINLOCKS */ 
    2022 + 
    2023 +/* Whether to include Active Directory support */ 
    2024 +/* #undef WITH_ADS */ 
    2025 + 
    2026 +/* Whether to include AFS clear-text auth support */ 
    2027 +/* #undef WITH_AFS */ 
    2028 + 
    2029 +/* Using asynchronous io */ 
    2030 +/* #undef WITH_AIO */ 
    2031 + 
    2032 +/* Whether to include automount support */ 
    2033 +/* #undef WITH_AUTOMOUNT */ 
    2034 + 
    2035 +/* Whether to include DFS support */ 
    2036 +/* #undef WITH_DFS */ 
    2037 + 
    2038 +/* Whether to include AFS fake-kaserver support */ 
    2039 +/* #undef WITH_FAKE_KASERVER */ 
    2040 + 
    2041 +/* Whether to include 2.2 compatible LDAP SAM configuration */ 
    2042 +/* #undef WITH_LDAP_SAMCONFIG */ 
    2043 + 
    2044 +/* Whether to include nisplus_home support */ 
    2045 +/* #undef WITH_NISPLUS_HOME */ 
    2046 + 
    2047 +/* Whether to include PAM support */ 
    2048 +/* #undef WITH_PAM */ 
    2049 + 
    2050 +/* Whether to use profiling */ 
    2051 +/* #undef WITH_PROFILE */ 
    2052 + 
    2053 +/* Whether to use disk quota support */ 
    2054 +/* AR7 #define WITH_QUOTAS 1 */ 
    2055 + 
    2056 +/* Whether to include sendfile() support */ 
    2057 +#define WITH_SENDFILE 1 
    2058 + 
    2059 +/* Whether to build smbmount */ 
    2060 +/* #undef WITH_SMBMOUNT */ 
    2061 + 
    2062 +/* Whether to include smbwrapper support */ 
    2063 +/* #undef WITH_SMBWRAPPER */ 
    2064 + 
    2065 +/* Whether to include experimental syslog support */ 
    2066 +/* #undef WITH_SYSLOG */ 
    2067 + 
    2068 +/* Whether to include experimental utmp accounting */ 
    2069 +#define WITH_UTMP 1 
    2070 + 
    2071 +/* Whether to build winbind */ 
    2072 +#define WITH_WINBIND 1 
    2073 + 
    2074 +/* Define to 1 if your processor stores words with the most significant byte 
    2075 +   first (like Motorola and SPARC, unlike Intel and VAX). */ 
    2076 +/* #undef WORDS_BIGENDIAN */ 
    2077 + 
    2078 +/* Required alignment */ 
    2079 +/* #undef _ALIGNMENT_REQUIRED */ 
    2080 + 
    2081 +/* File offset bits */ 
    2082 +#ifdef WITH_LFS 
    2083 +#define _FILE_OFFSET_BITS 64 /* Large File Support */ 
    2084 +#endif 
    2085 + 
    2086 +/* Whether to use GNU libc extensions */ 
    2087 +#define _GNU_SOURCE 1 
    2088 + 
    2089 +/* Whether to use HPUX extensions */ 
    2090 +/* #undef _HPUX_SOURCE */ 
    2091 + 
    2092 +/* Whether to enable large file support */ 
    2093 +/* AR7 #define _LARGEFILE64_SOURCE 1 */ 
    2094 + 
    2095 +/* Whether to enable large file support */ 
    2096 +/* #undef _LARGE_FILES */ 
    2097 + 
    2098 +/* Maximum alignment */ 
    2099 +/* #undef _MAX_ALIGNMENT */ 
    2100 + 
    2101 +/* Whether to enable POSIX support */ 
    2102 +/* #undef _POSIX_C_SOURCE */ 
    2103 + 
    2104 +/* Whether to use POSIX compatible functions */ 
    2105 +/* #undef _POSIX_SOURCE */ 
    2106 + 
    2107 +/* Whether to enable System V compatibility */ 
    2108 +/* #undef _SYSV */ 
    2109 + 
    2110 +/* Define to 1 if type `char' is unsigned and you are not using gcc.  */ 
    2111 +#ifndef __CHAR_UNSIGNED__ 
    2112 +/* # undef __CHAR_UNSIGNED__ */ 
    2113 +#endif 
    2114 + 
    2115 +/* Whether to build auth_builtin as shared module */ 
    2116 +/* #undef auth_builtin_init */ 
    2117 + 
    2118 +/* Whether to build auth_domain as shared module */ 
    2119 +/* #undef auth_domain_init */ 
    2120 + 
    2121 +/* Whether to build auth_rhosts as shared module */ 
    2122 +/* #undef auth_rhosts_init */ 
    2123 + 
    2124 +/* Whether to build auth_sam as shared module */ 
    2125 +/* #undef auth_sam_init */ 
    2126 + 
    2127 +/* Whether to build auth_server as shared module */ 
    2128 +/* #undef auth_server_init */ 
    2129 + 
    2130 +/* Whether to build auth_unix as shared module */ 
    2131 +/* #undef auth_unix_init */ 
    2132 + 
    2133 +/* Whether to build auth_winbind as shared module */ 
    2134 +/* #undef auth_winbind_init */ 
    2135 + 
    2136 +/* Whether to build charset_CP437 as shared module */ 
    2137 +#define charset_CP437_init init_module 
    2138 + 
    2139 +/* Whether to build charset_CP850 as shared module */ 
    2140 +#define charset_CP850_init init_module 
    2141 + 
    2142 +/* Whether to build charset_macosxfs as shared module */ 
    2143 +/* #undef charset_macosxfs_init */ 
    2144 + 
    2145 +/* Whether to build charset_weird as shared module */ 
    2146 +/* #undef charset_weird_init */ 
    2147 + 
    2148 +/* Define to empty if `const' does not conform to ANSI C. */ 
    2149 +/* #undef const */ 
    2150 + 
    2151 +/* Define to `int' if <sys/types.h> doesn't define. */ 
    2152 +/* #undef gid_t */ 
    2153 + 
    2154 +/* Whether to build idmap_ad as shared module */ 
    2155 +/* #undef idmap_ad_init */ 
    2156 + 
    2157 +/* Whether to build idmap_ldap as shared module */ 
    2158 +/* #undef idmap_ldap_init */ 
    2159 + 
    2160 +/* Whether to build idmap_rid as shared module */ 
    2161 +/* #undef idmap_rid_init */ 
    2162 + 
    2163 +/* Whether to build idmap_tdb as shared module */ 
    2164 +/* #undef idmap_tdb_init */ 
    2165 + 
    2166 +/* Define to `__inline__' or `__inline' if that's what the C compiler 
    2167 +   calls it, or to nothing if 'inline' is not supported under any name.  */ 
    2168 +#ifndef __cplusplus 
    2169 +/* #undef inline */ 
    2170 +#endif 
    2171 + 
    2172 +/* Define to `unsigned' if <sys/types.h> does not define. */ 
    2173 +/* #undef ino_t */ 
    2174 + 
    2175 +/* Define to `off_t' if <sys/types.h> does not define. */ 
    2176 +/* #undef loff_t */ 
    2177 + 
    2178 +/* Define to `int' if <sys/types.h> does not define. */ 
    2179 +/* #undef mode_t */ 
    2180 + 
    2181 +/* Define to `long' if <sys/types.h> does not define. */ 
    2182 +/* #undef off_t */ 
    2183 + 
    2184 +/* Define to `loff_t' if <sys/types.h> does not define. */ 
    2185 +#define offset_t loff_t 
    2186 + 
    2187 +/* Whether to build pdb_guest as shared module */ 
    2188 +/* #undef pdb_guest_init */ 
    2189 + 
    2190 +/* Whether to build pdb_ldap as shared module */ 
    2191 +/* #undef pdb_ldap_init */ 
    2192 + 
    2193 +/* Whether to build pdb_mysql as shared module */ 
    2194 +/* #undef pdb_mysql_init */ 
    2195 + 
    2196 +/* Whether to build pdb_pgsql as shared module */ 
    2197 +/* #undef pdb_pgsql_init */ 
    2198 + 
    2199 +/* Whether to build pdb_smbpasswd as shared module */ 
    2200 +/* #undef pdb_smbpasswd_init */ 
    2201 + 
    2202 +/* Whether to build pdb_tdbsam as shared module */ 
    2203 +/* #undef pdb_tdbsam_init */ 
    2204 + 
    2205 +/* Whether to build pdb_xml as shared module */ 
    2206 +/* #undef pdb_xml_init */ 
    2207 + 
    2208 +/* Define to `int' if <sys/types.h> does not define. */ 
    2209 +/* #undef pid_t */ 
    2210 + 
    2211 +/* Whether to build rpc_dfs as shared module */ 
    2212 +/* #undef rpc_dfs_init */ 
    2213 + 
    2214 +/* Whether to build rpc_echo as shared module */ 
    2215 +/* #undef rpc_echo_init */ 
    2216 + 
    2217 +/* Whether to build rpc_eventlog as shared module */ 
    2218 +/* #undef rpc_eventlog_init */ 
    2219 + 
    2220 +/* Whether to build rpc_lsa_ds as shared module */ 
    2221 +/* #undef rpc_lsa_ds_init */ 
    2222 + 
    2223 +/* Whether to build rpc_lsa as shared module */ 
    2224 +/* #undef rpc_lsa_init */ 
    2225 + 
    2226 +/* Whether to build rpc_net as shared module */ 
    2227 +/* #undef rpc_net_init */ 
    2228 + 
    2229 +/* Whether to build rpc_reg as shared module */ 
    2230 +/* #undef rpc_reg_init */ 
    2231 + 
    2232 +/* Whether to build rpc_samr as shared module */ 
    2233 +/* #undef rpc_samr_init */ 
    2234 + 
    2235 +/* Whether to build rpc_spoolss as shared module */ 
    2236 +/* #undef rpc_spoolss_init */ 
    2237 + 
    2238 +/* Whether to build rpc_srv as shared module */ 
    2239 +/* #undef rpc_srv_init */ 
    2240 + 
    2241 +/* Whether to build rpc_svcctl as shared module */ 
    2242 +/* #undef rpc_svcctl_init */ 
    2243 + 
    2244 +/* Whether to build rpc_wks as shared module */ 
    2245 +/* #undef rpc_wks_init */ 
    2246 + 
    2247 +/* Define to `unsigned' if <sys/types.h> does not define. */ 
    2248 +/* #undef size_t */ 
    2249 + 
    2250 +/* Define to `int' if <sys/types.h> does not define. */ 
    2251 +/* #undef ssize_t */ 
    2252 + 
    2253 +/* Static init functions */ 
    2254 +/* AR7  #define static_init_auth { auth_rhosts_init(); auth_sam_init(); auth_unix_init(); auth_winbind_init(); auth_server_init(); auth_domain_init(); auth_builtin_init();} */ 
    2255 +#define static_init_auth { auth_sam_init(); auth_builtin_init();} 
    2256 + 
    2257 +/* Static init functions */ 
    2258 +#define static_init_charset {} 
    2259 + 
    2260 +/* Static init functions */ 
    2261 +#define static_init_idmap { idmap_tdb_init();} 
    2262 + 
    2263 +/* Static init functions */ 
    2264 +#define static_init_pdb { pdb_smbpasswd_init(); pdb_tdbsam_init(); /* pdb_guest_init(); */} 
    2265 + 
    2266 +/* Static init functions */ 
    2267 +/* AR7 #define static_init_rpc { rpc_lsa_init(); rpc_reg_init(); rpc_lsa_ds_init(); rpc_wks_init(); rpc_svcctl_init(); rpc_net_init(); rpc_dfs_init(); rpc_srv_init(); rpc_spoolss_init(); rpc_eventlog_init(); rpc_samr_init();} */ 
    2268 +#define static_init_rpc { rpc_lsa_init(); /* rpc_reg_init();*/ rpc_lsa_ds_init(); rpc_wks_init(); /* rpc_svcctl_init(); */ rpc_net_init(); rpc_dfs_init(); /* rpc_srv_init(); */ /* rpc_eventlog_init(); */ /* rpc_samr_init(); */} 
    2269 + 
    2270 +/* Static init functions */ 
    2271 +#define static_init_vfs {} 
    2272 + 
    2273 +/* Define to `int' if <sys/types.h> doesn't define. */ 
    2274 +/* #undef uid_t */ 
    2275 + 
    2276 +/* Whether to build vfs_afsacl as shared module */ 
    2277 +/* #undef vfs_afsacl_init */ 
    2278 + 
    2279 +/* Whether to build vfs_audit as shared module */ 
    2280 +#define vfs_audit_init init_module 
    2281 + 
    2282 +/* Whether to build vfs_cap as shared module */ 
    2283 +#define vfs_cap_init init_module 
    2284 + 
    2285 +/* Whether to build vfs_catia as shared module */ 
    2286 +/* #undef vfs_catia_init */ 
    2287 + 
    2288 +/* Whether to build vfs_default_quota as shared module */ 
    2289 +#define vfs_default_quota_init init_module 
    2290 + 
    2291 +/* Whether to build vfs_expand_msdfs as shared module */ 
    2292 +#define vfs_expand_msdfs_init init_module 
    2293 + 
    2294 +/* Whether to build vfs_extd_audit as shared module */ 
    2295 +#define vfs_extd_audit_init init_module 
    2296 + 
    2297 +/* Whether to build vfs_fake_perms as shared module */ 
    2298 +#define vfs_fake_perms_init init_module 
    2299 + 
    2300 +/* Whether to build vfs_full_audit as shared module */ 
    2301 +#define vfs_full_audit_init init_module 
    2302 + 
    2303 +/* Whether to build vfs_netatalk as shared module */ 
    2304 +#define vfs_netatalk_init init_module 
    2305 + 
    2306 +/* Whether to build vfs_readonly as shared module */ 
    2307 +#define vfs_readonly_init init_module 
    2308 + 
    2309 +/* Whether to build vfs_recycle as shared module */ 
    2310 +#define vfs_recycle_init init_module 
    2311 + 
    2312 +/* Whether to build vfs_shadow_copy as shared module */ 
    2313 +#define vfs_shadow_copy_init init_module 
    2314 + 
    2315 +/* Define to `unsigned short' if <sys/types.h> does not define. */ 
    2316 +/* #undef wchar_t */ 
    2317 diff -urN samba-3.0.24.orig/source/include/debug.h samba-3.0.24/source/include/debug.h 
    2318 --- samba-3.0.24.orig/source/include/debug.h    2006-04-20 04:29:39.000000000 +0200 
    2319 +++ samba-3.0.24/source/include/debug.h 2007-08-07 09:38:18.000000000 +0200 
    2320 @@ -162,6 +162,26 @@ 
    2321   * will remove the extra conditional test. 
    2322   */ 
    2323   
    2324 +#if 1 /* AR7 */ 
    2325 + 
    2326 +#define DEBUGLVL( level ) (0) 
    2327 +#define DEBUGLVLC( dbgc_class, level ) (0) 
    2328 +#ifndef SAMBA_DEBUG 
    2329 +#define DEBUG( level, body ) (0) 
    2330 +#define Log(x) (0) 
    2331 +#else 
    2332 +void _fDebug(char *fmt, ...); 
    2333 +#define DEBUG( level, body ) _fDebug  body 
    2334 +#define Log(x) _fLog x 
    2335 +void _fLog(char *fmt, ...); 
    2336 +#endif 
    2337 + 
    2338 +#define DEBUGC( dbgc_class, level, body ) (0) 
    2339 +#define DEBUGADD( level, body ) (0) 
    2340 +#define DEBUGADDC( dbgc_class, level, body ) (0) 
    2341 + 
    2342 +#else 
    2343 + 
    2344  #define DEBUGLVL( level ) \ 
    2345    ( ((level) <= MAX_DEBUG_LEVEL) && \ 
    2346       ((DEBUGLEVEL_CLASS[ DBGC_CLASS ] >= (level))||  \ 
    2347 @@ -208,8 +228,13 @@ 
    2348              DEBUGLEVEL_CLASS[ DBGC_ALL   ] >= (level))  ) \ 
    2349         && (dbgtext body) ) 
    2350   
    2351 +#endif /* AR7 */ 
    2352 + 
    2353 + 
    2354  /* Print a separator to the debug log. */ 
    2355  #define DEBUGSEP(level)\ 
    2356         DEBUG((level),("===============================================================\n")) 
    2357   
    2358 + 
    2359 + 
    2360  #endif 
    2361 diff -urN samba-3.0.24.orig/source/include/local.h samba-3.0.24/source/include/local.h 
    2362 --- samba-3.0.24.orig/source/include/local.h    2006-04-20 04:29:39.000000000 +0200 
    2363 +++ samba-3.0.24/source/include/local.h 2007-07-17 13:19:05.000000000 +0200 
    2364 @@ -16,7 +16,8 @@ 
    2365     only important messages. This gives *much* smaller binaries 
    2366  */ 
    2367  #ifndef MAX_DEBUG_LEVEL 
    2368 -#define MAX_DEBUG_LEVEL 1000 
    2369 +/* AR7 #define MAX_DEBUG_LEVEL 1000 */ 
    2370 +#define MAX_DEBUG_LEVEL 0 
    2371  #endif 
    2372   
    2373  /* This defines the section name in the configuration file that will contain */ 
    2374 @@ -49,7 +50,8 @@ 
     28Index: samba-3.0.37/source/include/local.h 
     29=================================================================== 
     30--- samba-3.0.37.orig/source/include/local.h    2009-09-30 14:21:56.000000000 +0200 
     31+++ samba-3.0.37/source/include/local.h 2011-08-09 00:02:34.854444169 +0200 
     32@@ -49,7 +49,8 @@ 
    237533 #define MAX_DIRECTORY_HANDLES 2048 
    237634  
     
    238240 /* define what facility to use for syslog */ 
    238341 #ifndef SYSLOG_FACILITY 
    2384 diff -urN samba-3.0.24.orig/source/include/smb.h samba-3.0.24/source/include/smb.h 
    2385 --- samba-3.0.24.orig/source/include/smb.h      2007-02-04 19:59:23.000000000 +0100 
    2386 +++ samba-3.0.24/source/include/smb.h   2007-08-07 09:38:18.000000000 +0200 
    2387 @@ -1436,6 +1436,7 @@ 
    2388  #define FLAGS2_LONG_PATH_COMPONENTS    0x0001 
    2389  #define FLAGS2_EXTENDED_ATTRIBUTES     0x0002 
    2390  #define FLAGS2_SMB_SECURITY_SIGNATURES 0x0004 
    2391 +#define FLAGS2_UNKNOWN_BIT4            0x0010 
    2392  #define FLAGS2_IS_LONG_NAME            0x0040 
    2393  #define FLAGS2_EXTENDED_SECURITY       0x0800  
    2394  #define FLAGS2_DFS_PATHNAMES           0x1000 
    2395 @@ -1499,7 +1500,8 @@ 
    2396   
    2397  /* Remote architectures we know about. */ 
    2398  enum remote_arch_types {RA_UNKNOWN, RA_WFWG, RA_OS2, RA_WIN95, RA_WINNT, 
    2399 -                       RA_WIN2K, RA_WINXP, RA_WIN2K3, RA_SAMBA, RA_CIFSFS}; 
    2400 +                       RA_WIN2K, RA_WINXP, RA_WIN2K3, RA_VISTA, 
    2401 +                       RA_SAMBA, RA_CIFSFS}; 
    2402   
    2403  /* case handling */ 
    2404  enum case_handling {CASE_LOWER,CASE_UPPER}; 
    2405 diff -urN samba-3.0.24.orig/source/include/smb_macros.h samba-3.0.24/source/include/smb_macros.h 
    2406 --- samba-3.0.24.orig/source/include/smb_macros.h       2006-04-20 04:29:39.000000000 +0200 
    2407 +++ samba-3.0.24/source/include/smb_macros.h    2007-08-07 09:38:18.000000000 +0200 
    2408 @@ -310,7 +310,6 @@ 
    2409  #if defined(PARANOID_MALLOC_CHECKER) 
    2410   
    2411  #define PRS_ALLOC_MEM(ps, type, count) (type *)prs_alloc_mem_((ps),sizeof(type),(count)) 
    2412 -#define PRS_ALLOC_MEM_VOID(ps, size) prs_alloc_mem_((ps),(size),1) 
    2413   
    2414  /* Get medieval on our ass about malloc.... */ 
    2415   
    2416 @@ -354,7 +353,6 @@ 
    2417  #define __location__ __FILE__ ":" __LINESTR__ 
    2418   
    2419  #define PRS_ALLOC_MEM(ps, type, count) (type *)prs_alloc_mem((ps),sizeof(type),(count)) 
    2420 -#define PRS_ALLOC_MEM_VOID(ps, size) prs_alloc_mem((ps),(size),1) 
    2421   
    2422  /* Regular malloc code. */ 
    2423   
    2424 diff -urN samba-3.0.24.orig/source/lib/dummysmbd.c samba-3.0.24/source/lib/dummysmbd.c 
    2425 --- samba-3.0.24.orig/source/lib/dummysmbd.c    2006-04-20 04:29:23.000000000 +0200 
    2426 +++ samba-3.0.24/source/lib/dummysmbd.c 2007-08-07 09:38:18.000000000 +0200 
    2427 @@ -38,3 +38,9 @@ 
    2428  { 
    2429         return False; 
    2430  } 
    2431 + 
    2432 +NTSTATUS can_delete_directory(struct connection_struct *conn, 
    2433 +                                const char *dirname) 
    2434 +{ 
    2435 +       return NT_STATUS_OK; 
    2436 +} 
    2437 diff -urN samba-3.0.24.orig/source/lib/fsusage.c samba-3.0.24/source/lib/fsusage.c 
    2438 --- samba-3.0.24.orig/source/lib/fsusage.c      2005-02-25 18:59:32.000000000 +0100 
    2439 +++ samba-3.0.24/source/lib/fsusage.c   2007-07-17 13:19:05.000000000 +0200 
    2440 @@ -51,6 +51,8 @@ 
    2441  #define CONVERT_BLOCKS(B) adjust_blocks ((SMB_BIG_UINT)(B), (SMB_BIG_UINT)fsd.f_fsize, (SMB_BIG_UINT)512) 
    2442         struct statfs fsd; 
    2443   
    2444 + 
    2445 +// #error STAT_STATFS3_OSF1 
    2446         if (statfs (path, &fsd, sizeof (struct statfs)) != 0) 
    2447                 return -1; 
    2448  #endif /* STAT_STATFS3_OSF1 */ 
    2449 @@ -59,6 +61,7 @@ 
    2450  #define CONVERT_BLOCKS(B) adjust_blocks ((SMB_BIG_UINT)(B), (SMB_BIG_UINT)1024, (SMB_BIG_UINT)512)      
    2451         struct fs_data fsd; 
    2452          
    2453 +// #error STAT_STATFS2_FS_DATA 
    2454         if (statfs (path, &fsd) != 1) 
    2455                 return -1; 
    2456          
    2457 @@ -70,6 +73,7 @@ 
    2458  #define CONVERT_BLOCKS(B) adjust_blocks ((SMB_BIG_UINT)(B), (SMB_BIG_UINT)fsd.f_bsize, (SMB_BIG_UINT)512) 
    2459         struct statfs fsd; 
    2460          
    2461 +// #error STAT_STATFS2_FS_BSIZE 
    2462         if (statfs (path, &fsd) < 0) 
    2463                 return -1; 
    2464          
    2465 @@ -93,6 +97,7 @@ 
    2466          
    2467         struct statfs fsd; 
    2468          
    2469 +// #error STAT_STATFS2_FSIZE 
    2470         if (statfs (path, &fsd) < 0) 
    2471                 return -1; 
    2472  #endif /* STAT_STATFS2_FSIZE */ 
    2473 @@ -114,6 +119,7 @@ 
    2474          
    2475         struct statfs fsd; 
    2476   
    2477 +// #error STAT_STATFS4 
    2478         if (statfs (path, &fsd, sizeof fsd, 0) < 0) 
    2479                 return -1; 
    2480         /* Empirically, the block counts on most SVR3 and SVR3-derived 
    2481 @@ -127,9 +133,11 @@ 
    2482         adjust_blocks ((SMB_BIG_UINT)(B), fsd.f_frsize ? (SMB_BIG_UINT)fsd.f_frsize : (SMB_BIG_UINT)fsd.f_bsize, (SMB_BIG_UINT)512) 
    2483   
    2484  #ifdef STAT_STATVFS64 
    2485 +// #error STAT_STATVFS64 
    2486         struct statvfs64 fsd; 
    2487         if (statvfs64(path, &fsd) < 0) return -1; 
    2488  #else 
    2489 +// #error STAT_STATVFS 
    2490         struct statvfs fsd; 
    2491         if (statvfs(path, &fsd) < 0) return -1; 
    2492  #endif 
    2493 @@ -139,6 +147,7 @@ 
    2494  #endif /* STAT_STATVFS */ 
    2495   
    2496  #ifndef CONVERT_BLOCKS 
    2497 +#error no STAT_STATxxx defined - we have no dfree code! 
    2498         /* we don't have any dfree code! */ 
    2499         return -1; 
    2500  #else 
    2501 diff -urN samba-3.0.24.orig/source/lib/iconv.c samba-3.0.24/source/lib/iconv.c 
    2502 --- samba-3.0.24.orig/source/lib/iconv.c        2007-02-04 19:59:17.000000000 +0100 
    2503 +++ samba-3.0.24/source/lib/iconv.c     2007-07-17 13:19:05.000000000 +0200 
    2504 @@ -388,7 +388,10 @@ 
     42Index: samba-3.0.37/source/lib/iconv.c 
     43=================================================================== 
     44--- samba-3.0.37.orig/source/lib/iconv.c        2009-09-30 14:21:56.000000000 +0200 
     45+++ samba-3.0.37/source/lib/iconv.c     2011-08-09 00:02:34.854444169 +0200 
     46@@ -385,7 +385,10 @@ 
    250547  
    250648        while (*inbytesleft >= 2 && *outbytesleft >= 1) { 
     
    250951+               if ((*inbuf)[1]) { 
    251052+                       ir_count++; 
    2511 +                       (*outbuf)[0] = '_'; // AR7 
     53+                       (*outbuf)[0] = '_'; // AVM 
    251254+               } 
    251355                (*inbytesleft)  -= 2; 
    251456                (*outbytesleft) -= 1; 
    251557                (*inbuf)  += 2; 
    2516 diff -urN samba-3.0.24.orig/source/lib/pidfile.c samba-3.0.24/source/lib/pidfile.c 
    2517 --- samba-3.0.24.orig/source/lib/pidfile.c      2007-02-04 19:59:17.000000000 +0100 
    2518 +++ samba-3.0.24/source/lib/pidfile.c   2007-07-17 13:19:05.000000000 +0200 
    2519 @@ -82,19 +82,22 @@ 
    2520  { 
    2521         int     fd; 
    2522         char    buf[20]; 
    2523 -       char    *short_configfile; 
    2524         pstring name; 
     58Index: samba-3.0.37/source/lib/pidfile.c 
     59=================================================================== 
     60--- samba-3.0.37.orig/source/lib/pidfile.c      2009-09-30 14:21:56.000000000 +0200 
     61+++ samba-3.0.37/source/lib/pidfile.c   2011-08-09 00:02:34.854444169 +0200 
     62@@ -87,6 +87,7 @@ 
    252563        pstring pidFile; 
    252664        pid_t pid; 
     
    253068         * none default configuration file name. */ 
    253169        if (strcmp( CONFIGFILE, dyn_CONFIGFILE) == 0) { 
    2532                 strncpy( name, program_name, sizeof( name)-1); 
    2533         } else { 
    2534 -               short_configfile = strrchr( dyn_CONFIGFILE, '/'); 
    2535 +               char    *short_configfile = strrchr( dyn_CONFIGFILE, '/'); 
    2536                 slprintf( name, sizeof( name)-1, "%s-%s", program_name, short_configfile+1); 
     70@@ -103,6 +104,9 @@ 
     71                slprintf( name, sizeof( name)-1, "%s-%s", program_name, 
     72                          short_configfile ); 
    253773        } 
    253874+#else 
     
    254278        slprintf(pidFile, sizeof(pidFile)-1, "%s/%s.pid", lp_piddir(), name); 
    254379  
    2544 diff -urN samba-3.0.24.orig/source/lib/smbrun.c samba-3.0.24/source/lib/smbrun.c 
    2545 --- samba-3.0.24.orig/source/lib/smbrun.c       2006-04-20 04:29:23.000000000 +0200 
    2546 +++ samba-3.0.24/source/lib/smbrun.c    2007-08-07 09:38:18.000000000 +0200 
    2547 @@ -55,7 +55,7 @@ 
    2548  outfd (or discard it if outfd is NULL). 
    2549  ****************************************************************************/ 
    2550   
    2551 -int smbrun(const char *cmd, int *outfd) 
    2552 +static int smbrun_internal(const char *cmd, int *outfd, BOOL sanitize) 
    2553  { 
    2554         pid_t pid; 
    2555         uid_t uid = current_user.ut.uid; 
    2556 @@ -173,13 +173,36 @@ 
    2557         } 
     80Index: samba-3.0.37/source/lib/system.c 
     81=================================================================== 
     82--- samba-3.0.37.orig/source/lib/system.c       2009-09-30 14:21:56.000000000 +0200 
     83+++ samba-3.0.37/source/lib/system.c    2011-08-09 00:02:34.864444169 +0200 
     84@@ -1499,7 +1499,11 @@ 
     85 void *sys_dlopen(const char *name, int flags) 
     86 { 
     87 #if defined(HAVE_DLOPEN) 
     88+#if 1 /* FRITZBOX */ 
     89+       return NULL; 
     90+#else 
     91        return dlopen(name, flags); 
     92+#endif 
     93 #else 
     94        return NULL; 
    255895 #endif 
    2559   
    2560 -       execl("/bin/sh","sh","-c",cmd,NULL);   
    2561 +       { 
    2562 +               const char *newcmd = sanitize ? escape_shell_string(cmd) : cmd; 
    2563 +               if (!newcmd) { 
    2564 +                       exit(82); 
    2565 +               } 
    2566 +               execl("/bin/sh","sh","-c",newcmd,NULL);   
    2567 +       } 
    2568          
    2569         /* not reached */ 
    2570 -       exit(82); 
    2571 +       exit(83); 
    2572         return 1; 
    2573  } 
    2574   
    2575 +/**************************************************************************** 
    2576 + Use only in known safe shell calls (printing). 
    2577 +****************************************************************************/ 
    2578 + 
    2579 +int smbrun_no_sanitize(const char *cmd, int *outfd) 
    2580 +{ 
    2581 +       return smbrun_internal(cmd, outfd, False); 
    2582 +} 
    2583 + 
    2584 +/**************************************************************************** 
    2585 + By default this now sanitizes shell expansion. 
    2586 +****************************************************************************/ 
    2587 + 
    2588 +int smbrun(const char *cmd, int *outfd) 
    2589 +{ 
    2590 +       return smbrun_internal(cmd, outfd, True); 
    2591 +} 
    2592   
    2593  /**************************************************************************** 
    2594  run a command being careful about uid/gid handling and putting the output in 
    2595 @@ -302,7 +325,7 @@ 
    2596  #endif 
    2597   
    2598         execl("/bin/sh", "sh", "-c", cmd, NULL);   
    2599 -        
    2600 + 
    2601         /* not reached */ 
    2602         exit(82); 
    2603         return 1; 
    2604 diff -urN samba-3.0.24.orig/source/lib/util.c samba-3.0.24/source/lib/util.c 
    2605 --- samba-3.0.24.orig/source/lib/util.c 2007-02-04 19:59:17.000000000 +0100 
    2606 +++ samba-3.0.24/source/lib/util.c      2007-08-07 09:38:18.000000000 +0200 
    2607 @@ -300,7 +300,11 @@ 
     96Index: samba-3.0.37/source/lib/util.c 
     97=================================================================== 
     98--- samba-3.0.37.orig/source/lib/util.c 2009-09-30 14:21:56.000000000 +0200 
     99+++ samba-3.0.37/source/lib/util.c      2011-08-09 00:02:34.864444169 +0200 
     100@@ -301,7 +301,11 @@ 
    2608101        char *p; 
    2609102        if ((p = getenv("TMPDIR"))) 
    2610103                return p; 
    2611 +#if 1 /* AR7 */ 
     104+#if 0 /* AVM */ 
    2612105+       return "/var/tmp"; 
    2613106+#else 
     
    2617110  
    2618111 /**************************************************************************** 
    2619 @@ -2182,6 +2186,9 @@ 
    2620         case RA_WIN2K3: 
    2621                 fstrcpy(remote_arch, "Win2K3"); 
    2622                 break; 
    2623 +       case RA_VISTA: 
    2624 +               fstrcpy(remote_arch, "Vista"); 
    2625 +               break; 
    2626         case RA_SAMBA: 
    2627                 fstrcpy(remote_arch,"Samba"); 
    2628                 break; 
    2629 diff -urN samba-3.0.24.orig/source/lib/util_sec.c samba-3.0.24/source/lib/util_sec.c 
    2630 --- samba-3.0.24.orig/source/lib/util_sec.c     2007-02-04 19:59:17.000000000 +0100 
    2631 +++ samba-3.0.24/source/lib/util_sec.c  2007-08-07 09:38:18.000000000 +0200 
    2632 @@ -286,28 +286,6 @@ 
    2633  } 
    2634   
    2635  /**************************************************************************** 
    2636 - Lightweight become root - no group change. 
    2637 -****************************************************************************/ 
    2638 - 
    2639 -void become_root_uid_only(void) 
    2640 -{ 
    2641 -       save_re_uid(); 
    2642 -       set_effective_uid(0); 
    2643 -} 
    2644 - 
    2645 -/**************************************************************************** 
    2646 - Lightweight unbecome root - no group change. Expects we are root already, 
    2647 - saves errno across call boundary. 
    2648 -****************************************************************************/ 
    2649 - 
    2650 -void unbecome_root_uid_only(void) 
    2651 -{ 
    2652 -       int saved_errno = errno; 
    2653 -       restore_re_uid_fromroot(); 
    2654 -       errno = saved_errno; 
    2655 -} 
    2656 - 
    2657 -/**************************************************************************** 
    2658   save the real and effective gid for later restoration. Used by the  
    2659   getgroups code 
    2660  ****************************************************************************/ 
    2661 diff -urN samba-3.0.24.orig/source/lib/util_str.c samba-3.0.24/source/lib/util_str.c 
    2662 --- samba-3.0.24.orig/source/lib/util_str.c     2007-02-04 19:59:17.000000000 +0100 
    2663 +++ samba-3.0.24/source/lib/util_str.c  2007-08-07 09:38:18.000000000 +0200 
    2664 @@ -680,14 +680,14 @@ 
    2665   
    2666         for(i = 0; i < len; i++) { 
    2667                 int val = (src[i] & 0xff); 
    2668 -               if (isupper_ascii(val) || islower_ascii(val) || isdigit(val) || strchr_m(other_safe_chars, val)) 
    2669 +               if (isupper_ascii(val) || islower_ascii(val) || isdigit(val) || strchr_m(other_safe_chars, val)) { 
    2670                         dest[i] = src[i]; 
    2671 -               else 
    2672 +               } else { 
    2673                         dest[i] = '_'; 
    2674 +               } 
    2675         } 
    2676   
    2677         dest[i] = '\0'; 
    2678 - 
    2679         return dest; 
    2680  } 
    2681   
    2682 @@ -2426,3 +2426,165 @@ 
    2683         return True; 
    2684  } 
    2685   
    2686 + 
    2687 +/******************************************************************* 
    2688 + Add a shell escape character '\' to any character not in a known list 
    2689 + of characters. UNIX charset format. 
    2690 +*******************************************************************/ 
    2691 + 
    2692 +#define INCLUDE_LIST "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_/ \t.," 
    2693 +#define INSIDE_DQUOTE_LIST "$`\n\"\\" 
    2694 + 
    2695 +char *escape_shell_string(const char *src) 
    2696 +{ 
    2697 +       size_t srclen = strlen(src); 
    2698 +       char *ret = SMB_MALLOC((srclen * 2) + 1); 
    2699 +       char *dest = ret; 
    2700 +       BOOL in_s_quote = False; 
    2701 +       BOOL in_d_quote = False; 
    2702 +       BOOL next_escaped = False; 
    2703 + 
    2704 +       if (!ret) { 
    2705 +               return NULL; 
    2706 +       } 
    2707 + 
    2708 +       while (*src) { 
    2709 +               size_t c_size = next_mb_char_size(src); 
    2710 + 
    2711 +               if (c_size == (size_t)-1) { 
    2712 +                       SAFE_FREE(ret); 
    2713 +                       return NULL; 
    2714 +               } 
    2715 + 
    2716 +               if (c_size > 1) { 
    2717 +                       memcpy(dest, src, c_size); 
    2718 +                       src += c_size; 
    2719 +                       dest += c_size; 
    2720 +                       next_escaped = False; 
    2721 +                       continue; 
    2722 +               } 
    2723 + 
    2724 +               /* 
    2725 +                * Deal with backslash escaped state. 
    2726 +                * This only lasts for one character. 
    2727 +                */ 
    2728 + 
    2729 +               if (next_escaped) { 
    2730 +                       *dest++ = *src++; 
    2731 +                       next_escaped = False; 
    2732 +                       continue; 
    2733 +               } 
    2734 + 
    2735 +               /* 
    2736 +                * Deal with single quote state. The 
    2737 +                * only thing we care about is exiting 
    2738 +                * this state. 
    2739 +                */ 
    2740 + 
    2741 +               if (in_s_quote) { 
    2742 +                       if (*src == '\'') { 
    2743 +                               in_s_quote = False; 
    2744 +                       } 
    2745 +                       *dest++ = *src++; 
    2746 +                       continue; 
    2747 +               } 
    2748 + 
    2749 +               /*  
    2750 +                * Deal with double quote state. The most 
    2751 +                * complex state. We must cope with \, meaning 
    2752 +                * possibly escape next char (depending what it 
    2753 +                * is), ", meaning exit this state, and possibly 
    2754 +                * add an \ escape to any unprotected character 
    2755 +                * (listed in INSIDE_DQUOTE_LIST). 
    2756 +                */ 
    2757 + 
    2758 +               if (in_d_quote) { 
    2759 +                       if (*src == '\\') { 
    2760 +                               /*  
    2761 +                                * Next character might be escaped. 
    2762 +                                * We have to peek. Inside double 
    2763 +                                * quotes only INSIDE_DQUOTE_LIST 
    2764 +                                * characters are escaped by a \. 
    2765 +                                */ 
    2766 + 
    2767 +                               char nextchar; 
    2768 + 
    2769 +                               c_size = next_mb_char_size(&src[1]); 
    2770 +                               if (c_size == (size_t)-1) { 
    2771 +                                       SAFE_FREE(ret); 
    2772 +                                       return NULL; 
    2773 +                               } 
    2774 +                               if (c_size > 1) { 
    2775 +                                       /* 
    2776 +                                        * Don't escape the next char. 
    2777 +                                        * Just copy the \. 
    2778 +                                        */ 
    2779 +                                       *dest++ = *src++; 
    2780 +                                       continue; 
    2781 +                               } 
    2782 + 
    2783 +                               nextchar = src[1]; 
    2784 + 
    2785 +                               if (nextchar && strchr(INSIDE_DQUOTE_LIST, (int)nextchar)) { 
    2786 +                                       next_escaped = True; 
    2787 +                               } 
    2788 +                               *dest++ = *src++; 
    2789 +                               continue; 
    2790 +                       } 
    2791 + 
    2792 +                       if (*src == '\"') { 
    2793 +                               /* Exit double quote state. */ 
    2794 +                               in_d_quote = False; 
    2795 +                               *dest++ = *src++; 
    2796 +                               continue; 
    2797 +                       } 
    2798 + 
    2799 +                       /* 
    2800 +                        * We know the character isn't \ or ", 
    2801 +                        * so escape it if it's any of the other 
    2802 +                        * possible unprotected characters. 
    2803 +                        */ 
    2804 + 
    2805 +                       if (strchr(INSIDE_DQUOTE_LIST, (int)*src)) { 
    2806 +                               *dest++ = '\\'; 
    2807 +                       } 
    2808 +                       *dest++ = *src++; 
    2809 +                       continue; 
    2810 +               } 
    2811 + 
    2812 +               /*  
    2813 +                * From here to the end of the loop we're 
    2814 +                * not in the single or double quote state. 
    2815 +                */ 
    2816 + 
    2817 +               if (*src == '\\') { 
    2818 +                       /* Next character must be escaped. */ 
    2819 +                       next_escaped = True; 
    2820 +                       *dest++ = *src++; 
    2821 +                       continue; 
    2822 +               } 
    2823 + 
    2824 +               if (*src == '\'') { 
    2825 +                       /* Go into single quote state. */ 
    2826 +                       in_s_quote = True; 
    2827 +                       *dest++ = *src++; 
    2828 +                       continue; 
    2829 +               } 
    2830 + 
    2831 +               if (*src == '\"') { 
    2832 +                       /* Go into double quote state. */ 
    2833 +                       in_d_quote = True; 
    2834 +                       *dest++ = *src++; 
    2835 +                       continue; 
    2836 +               } 
    2837 + 
    2838 +               /* Check if we need to escape the character. */ 
    2839 + 
    2840 +               if (!strchr(INCLUDE_LIST, (int)*src)) { 
    2841 +                       *dest++ = '\\'; 
    2842 +               } 
    2843 +               *dest++ = *src++; 
    2844 +       } 
    2845 +       *dest++ = '\0'; 
    2846 +       return ret; 
    2847 +} 
    2848 diff -urN samba-3.0.24.orig/source/libads/authdata.c samba-3.0.24/source/libads/authdata.c 
    2849 --- samba-3.0.24.orig/source/libads/authdata.c  2006-02-23 17:29:34.000000000 +0100 
    2850 +++ samba-3.0.24/source/libads/authdata.c       2007-08-07 09:38:18.000000000 +0200 
    2851 @@ -120,10 +120,14 @@ 
    2852                 return False; 
    2853   
    2854         if (UNMARSHALLING(ps)) { 
    2855 -               array->krb_sid_and_attrs = PRS_ALLOC_MEM(ps, KRB_SID_AND_ATTRS, num); 
    2856 -               if (!array->krb_sid_and_attrs) { 
    2857 -                       DEBUG(3, ("No memory available\n")); 
    2858 -                       return False; 
    2859 +               if (num) { 
    2860 +                       array->krb_sid_and_attrs = PRS_ALLOC_MEM(ps, KRB_SID_AND_ATTRS, num); 
    2861 +                       if (!array->krb_sid_and_attrs) { 
    2862 +                               DEBUG(3, ("No memory available\n")); 
    2863 +                               return False; 
    2864 +                       } 
    2865 +               } else { 
    2866 +                       array->krb_sid_and_attrs = NULL; 
    2867                 } 
    2868         } 
    2869   
    2870 @@ -184,10 +188,14 @@ 
    2871                 return False; 
    2872   
    2873         if (UNMARSHALLING(ps)) { 
    2874 -               array->group_membership = PRS_ALLOC_MEM(ps, GROUP_MEMBERSHIP, num); 
    2875 -               if (!array->group_membership) { 
    2876 -                       DEBUG(3, ("No memory available\n")); 
    2877 -                       return False; 
    2878 +               if (num) { 
    2879 +                       array->group_membership = PRS_ALLOC_MEM(ps, GROUP_MEMBERSHIP, num); 
    2880 +                       if (!array->group_membership) { 
    2881 +                               DEBUG(3, ("No memory available\n")); 
    2882 +                               return False; 
    2883 +                       } 
    2884 +               } else { 
    2885 +                       array->group_membership = NULL; 
    2886                 } 
    2887         } 
    2888   
    2889 @@ -456,10 +464,14 @@ 
    2890                 return False; 
    2891   
    2892         if (UNMARSHALLING(ps) && length) { 
    2893 -               data->signature.buffer = PRS_ALLOC_MEM(ps, uint8, siglen); 
    2894 -               if (!data->signature.buffer) { 
    2895 -                       DEBUG(3, ("No memory available\n")); 
    2896 -                       return False; 
    2897 +               if (siglen) { 
    2898 +                       data->signature.buffer = PRS_ALLOC_MEM(ps, uint8, siglen); 
    2899 +                       if (!data->signature.buffer) { 
    2900 +                               DEBUG(3, ("No memory available\n")); 
    2901 +                               return False; 
    2902 +                       } 
    2903 +               } else { 
    2904 +                       data->signature.buffer = NULL; 
    2905                 } 
    2906         } 
    2907   
    2908 --- samba-3.0.24/source/libsmb/clifile.c.orig   2009-12-21 07:53:20.000000000 +0100 
    2909 +++ samba-3.0.24/source/libsmb/clifile.c        2009-12-21 07:51:10.000000000 +0100 
     112Index: samba-3.0.37/source/libsmb/clifile.c 
     113=================================================================== 
     114--- samba-3.0.37.orig/source/libsmb/clifile.c   2009-09-30 14:21:56.000000000 +0200 
     115+++ samba-3.0.37/source/libsmb/clifile.c        2011-08-09 00:02:34.864444169 +0200 
    2910116@@ -21,6 +21,8 @@ 
    2911117  
     
    2917123  Hard/Symlink a file (UNIX extensions). 
    2918124  Creates new name (sym)linked to oldname. 
    2919 @@ -71,6 +73,8 @@ 
     125@@ -71,6 +73,9 @@ 
    2920126        return True; 
    2921127 } 
    2922128  
    2923129+#endif /* AVM_SMALLER */ 
     130+ 
    2924131+ 
    2925132 /**************************************************************************** 
    2926133  Map standard UNIX permissions onto wire representations. 
    2927134 ****************************************************************************/ 
    2928 @@ -165,6 +169,8 @@ 
    2929         } 
    2930  } 
    2931   
     135@@ -165,6 +170,9 @@ 
     136        } 
     137 } 
     138  
     139+ 
    2932140+#ifndef AVM_SMALLER 
    2933141+ 
     
    2935143  Do a POSIX getfacl (UNIX extensions). 
    2936144 ****************************************************************************/ 
    2937 @@ -785,6 +791,8 @@ 
     145@@ -647,6 +655,7 @@ 
     146  
     147        return True; 
     148 } 
     149+#endif /* AVM_SMALLER */ 
     150  
     151 /**************************************************************************** 
     152  Open a file - exposing the full horror of the NT API :-). 
     153@@ -718,6 +727,7 @@ 
     154                                FILE_SHARE_READ|FILE_SHARE_WRITE, FILE_OPEN, 0x0, 0x0); 
     155 } 
     156  
     157+#ifndef AVM_SMALLER 
     158 /**************************************************************************** 
     159  Open a file 
     160  WARNING: if you open with O_WRONLY then getattrE won't work! 
     161@@ -796,6 +806,7 @@ 
     162  
    2938163        return SVAL(cli->inbuf,smb_vwv2); 
    2939164 } 
    2940   
    2941165+#endif /* AVM_SMALLER */ 
    2942 + 
     166  
    2943167 /**************************************************************************** 
    2944168  Close a file. 
    2945  ****************************************************************************/ 
    2946 @@ -813,6 +821,8 @@ 
    2947   
    2948   
     169@@ -823,6 +834,7 @@ 
     170        return !cli_is_error(cli); 
     171 } 
    2949172  
    2950173+#ifndef AVM_SMALLER 
    2951 + 
     174  
    2952175 /**************************************************************************** 
    2953176  send a lock with a specified locktype  
    2954   this is used for testing LOCKING_ANDX_CANCEL_LOCK 
    2955 @@ -1760,3 +1770,6 @@ 
    2956   
    2957         return cli_get_ea_list(cli, setup, param, 6, ctx, pnum_eas, pea_list); 
     177@@ -1972,3 +1984,6 @@ 
     178 { 
     179        return cli_posix_unlink_internal(cli, fname, True); 
    2958180 } 
    2959181+ 
    2960182+#endif /* AVM_SMALLER */ 
    2961183+ 
    2962   
    2963 diff -urN samba-3.0.24.orig/source/libsmb/namequery.c samba-3.0.24/source/libsmb/namequery.c 
    2964 --- samba-3.0.24.orig/source/libsmb/namequery.c 2007-02-04 19:59:20.000000000 +0100 
    2965 +++ samba-3.0.24/source/libsmb/namequery.c      2007-07-17 13:19:05.000000000 +0200 
    2966 @@ -1024,6 +1024,7 @@ 
    2967  static BOOL resolve_ads(const char *name, int name_type, 
     184Index: samba-3.0.37/source/libsmb/namequery.c 
     185=================================================================== 
     186--- samba-3.0.37.orig/source/libsmb/namequery.c 2009-09-30 14:21:56.000000000 +0200 
     187+++ samba-3.0.37/source/libsmb/namequery.c      2011-08-09 00:02:34.864444169 +0200 
     188@@ -1114,6 +1114,7 @@ 
     189                        const char *sitename, 
    2968190                          struct ip_service **return_iplist, int *return_count) 
    2969191 { 
     
    2972194        NTSTATUS                status; 
    2973195        TALLOC_CTX              *ctx; 
    2974 @@ -1100,6 +1101,9 @@ 
     196@@ -1194,6 +1195,9 @@ 
    2975197                 
    2976198        talloc_destroy(ctx); 
     
    2982204  
    2983205 /******************************************************************* 
    2984 diff -urN samba-3.0.24.orig/source/libsmb/namequery_dc.c samba-3.0.24/source/libsmb/namequery_dc.c 
    2985 --- samba-3.0.24.orig/source/libsmb/namequery_dc.c      2006-04-20 04:29:25.000000000 +0200 
    2986 +++ samba-3.0.24/source/libsmb/namequery_dc.c   2007-07-17 13:19:05.000000000 +0200 
    2987 @@ -31,6 +31,9 @@ 
    2988    
    2989  static BOOL ads_dc_name(const char *domain, const char *realm, struct in_addr *dc_ip, fstring srv_name) 
    2990  { 
    2991 +#if 1 /* AR7 */ 
     206Index: samba-3.0.37/source/libsmb/namequery_dc.c 
     207=================================================================== 
     208--- samba-3.0.37.orig/source/libsmb/namequery_dc.c      2009-09-30 14:21:56.000000000 +0200 
     209+++ samba-3.0.37/source/libsmb/namequery_dc.c   2011-08-09 00:02:34.864444169 +0200 
     210@@ -52,6 +52,9 @@ 
     211                        struct in_addr *dc_ip, 
     212                        fstring srv_name) 
     213 { 
     214+#if 1 /* AVM */ 
    2992215+       return False; 
    2993 +#else  
     216+#else 
    2994217        ADS_STRUCT *ads; 
    2995   
    2996         if (!realm && strequal(domain, lp_workgroup())) 
    2997 @@ -63,6 +66,7 @@ 
     218        char *sitename; 
     219        int i; 
     220@@ -139,6 +142,7 @@ 
    2998221                 srv_name, inet_ntoa(*dc_ip))); 
    2999222         
    3000223        return True; 
    3001 +#endif /* AR7 */ 
    3002  } 
    3003   
    3004  /**************************************************************************** 
    3005 diff -urN samba-3.0.24.orig/source/locking/locking.c samba-3.0.24/source/locking/locking.c 
    3006 --- samba-3.0.24.orig/source/locking/locking.c  2007-02-04 19:59:23.000000000 +0100 
    3007 +++ samba-3.0.24/source/locking/locking.c       2007-08-07 09:38:18.000000000 +0200 
    3008 @@ -1166,6 +1166,11 @@ 
    3009                 return NT_STATUS_ACCESS_DENIED; 
    3010         } 
    3011   
    3012 +       /* Don't allow delete on close for non-empty directories. */ 
    3013 +       if (fsp->is_directory) { 
    3014 +               return can_delete_directory(fsp->conn, fsp->fsp_name); 
     224+#endif /* AVM */ 
     225 } 
     226  
     227 /**************************************************************************** 
     228Index: samba-3.0.37/source/modules/vfs_default.c 
     229=================================================================== 
     230--- samba-3.0.37.orig/source/modules/vfs_default.c      2009-09-30 14:21:56.000000000 +0200 
     231+++ samba-3.0.37/source/modules/vfs_default.c   2011-08-09 14:13:37.593167315 +0200 
     232@@ -24,6 +24,78 @@ 
     233 #undef DBGC_CLASS 
     234 #define DBGC_CLASS DBGC_VFS 
     235  
     236+// AVM_SEC - avoid following NTFS symbolic links to "not allowed places" 
     237+// #define AVM_SEC 
     238+ 
     239+ 
     240+#ifdef AVM_SEC 
     241+static int IsAllowed(const char *pa) 
     242+{ 
     243+       // only allow access below /var/media/ftp/ 
     244+ 
     245+       if (!pa) return 0; 
     246+ 
     247+Log(("IsAllowed: checking %s", pa)); 
     248+ 
     249+       char *path = strdup(pa); 
     250+       if (!path) goto no; 
     251+ 
     252+       char buf[4096]; 
     253+       int ret; 
     254+       char *p = &path[strlen(path)]; 
     255+       char c = *p; 
     256+       do { 
     257+               if (path[0] == '\0') { 
     258+                       if (0 == getcwd(buf, sizeof(buf))) { 
     259+                               *p = c; 
     260+                               goto no; // failed - not allowed 
     261+                       } 
     262+                       ret = 0; 
     263+               } else { 
     264+                       if (0 == realpath(path, buf)) ret = -1; 
     265+                       else ret = 0; 
     266+               } 
     267+               if (ret) { 
     268+                       // realpath failed - remove prev path component 
     269+                       *p = c; 
     270+                       while(p > path && *(p-1) != '/') p--; 
     271+                       if (p <= path) { 
     272+                               p = path; 
     273+                       } else { 
     274+                               p--; 
     275+                       } 
     276+                       c = *p; 
     277+                       *p = '\0'; 
     278+               } 
     279+       } while(ret); 
     280+ 
     281+       *p = c; 
     282+ 
     283+#if 0 // TODO 
     284+       // weitere pfadkompontenen // /./ und /../ auswerten 
     285+       // assert (*p ist '\0' oder '/') 
     286+       while(*p != '\0') { 
     287+               xxx 
    3015288+       } 
    3016 + 
    3017         return NT_STATUS_OK; 
    3018  } 
    3019   
    3020 diff -urN samba-3.0.24.orig/source/Makefile samba-3.0.24/source/Makefile 
    3021 --- samba-3.0.24.orig/source/Makefile   1970-01-01 01:00:00.000000000 +0100 
    3022 +++ samba-3.0.24/source/Makefile        2008-02-28 11:21:14.000000000 +0100 
    3023 @@ -0,0 +1,1719 @@ 
    3024 +######################################################################### 
    3025 +# Makefile.in for Samba - rewritten for autoconf support 
    3026 +# Copyright Andrew Tridgell 1992-1998 
    3027 +# Copyright (C) 2001 by Martin Pool <mbp@samba.org> 
    3028 +# Copyright Andrew Bartlett 2002 
    3029 +# Copyright (C) 2003 Jim McDonough <jmcd@us.ibm.com> 
    3030 +# Copyright (C) 2002-2003 Jelmer Vernooij <jelmer@samba.org> 
    3031 +########################################################################### 
    3032 + 
    3033 +SOURCEROOT=$(shell pwd)/../../../.. 
    3034 +SHAREDLIBS=$(SOURCEROOT)/sharedlibs 
    3035 + 
    3036 +include ${SHAREDLIBS}/ar7def.mk 
    3037 + 
    3038 +# AR7 
    3039 +# prefix=/usr/local/samba 
    3040 +prefix=/var/samba 
    3041 +exec_prefix=${prefix} 
    3042 + 
    3043 +# AR7 
    3044 +# LIBS= -lcrypt -lresolv -lnsl -ldl 
    3045 +LIBS= -lcrypt -ldl -lpthread 
    3046 +# AR7 
    3047 +# CC=gcc 
    3048 +CC=${TARGET}-gcc 
    3049 +RANLIB = ${TARGET}-ranlib 
    3050 +AR = ${TARGET}-ar 
    3051 + 
    3052 +SHLD=${CC} ${CFLAGS} 
    3053 +# AR7 
    3054 +# CFLAGS= -O -D_SAMBA_BUILD_ 
    3055 +CFLAGS= -Os -D_SAMBA_BUILD_ -DAVM_NO_PRINTING 
    3056 +CFLAGS+= -DAVM_NO_POPT 
    3057 +CFLAGS+= -DAVM_SMALLER 
    3058 + 
    3059 +# uncomment this to get debugs 
    3060 +# CFLAGS += -DSAMBA_DEBUG 
    3061 + 
    3062 +# AR7 
    3063 +# CPPFLAGS= -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE 
    3064 +CPPFLAGS= -D_GNU_SOURCE 
    3065 +EXEEXT= 
    3066 +LDFLAGS= 
    3067 +AR=ar 
    3068 +LDSHFLAGS=-shared -Wl,-Bsymbolic  
    3069 +WINBIND_NSS_LDSHFLAGS=-shared -Wl,-Bsymbolic  
    3070 +AWK=gawk 
    3071 +DYNEXP=-Wl,--export-dynamic 
    3072 +PYTHON= 
    3073 +PERL=/usr/bin/perl 
    3074 + 
    3075 +ifeq ($(WITH_LFS),yes) 
    3076 +CFLAGS+= -DWITH_LFS 
    3077 +CPPFLAGS+= -DWITH_LFS 
    3078 +endif 
    3079 + 
    3080 +TERMLDFLAGS= 
    3081 +# AR7  
    3082 +# TERMLIBS=-lreadline -lncurses 
    3083 +TERMLIBS= 
    3084 +PRINT_LIBS= 
    3085 +AUTH_LIBS=-lcrypt  
    3086 +ACL_LIBS= 
    3087 +PASSDB_LIBS= 
    3088 +IDMAP_LIBS= 
    3089 +KRB5LIBS= 
    3090 +LDAP_LIBS= 
    3091 + 
    3092 +INSTALLCMD=/usr/bin/install -c 
    3093 +INSTALLCLIENTCMD_SH=$(INSTALLCMD) 
    3094 +INSTALLCLIENTCMD_A=: 
    3095 + 
    3096 + 
    3097 +srcdir=`pwd` 
    3098 +builddir=`pwd` 
    3099 +SHELL=/bin/sh 
    3100 +DESTDIR=/ 
    3101 + 
    3102 +# XXX: Perhaps this should be /bin/sh instead -- apparently autoconf 
    3103 +# will search for a POSIX-compliant shell, and that might not be 
    3104 +# /bin/sh on some platforms.  I guess it's not a big problem -- mbp 
    3105 + 
    3106 +# See the autoconf manual "Installation Directory Variables" for a 
    3107 +# discussion of the subtle use of these variables. 
    3108 + 
    3109 +# AR7 
    3110 +# BASEDIR= /usr/local/samba 
    3111 +BASEDIR= /var/samba 
    3112 +BINDIR = ${exec_prefix}/bin 
    3113 +# sbindir is mapped to bindir when compiling SAMBA in 2.0.x compatibility mode. 
    3114 +SBINDIR = ${exec_prefix}/sbin 
    3115 +LIBDIR = ${prefix}/lib 
    3116 +VFSLIBDIR = $(LIBDIR)/vfs 
    3117 +PDBLIBDIR = $(LIBDIR)/pdb 
    3118 +RPCLIBDIR = $(LIBDIR)/rpc 
    3119 +IDMAPLIBDIR = $(LIBDIR)/idmap 
    3120 +CHARSETLIBDIR = $(LIBDIR)/charset 
    3121 +AUTHLIBDIR = $(LIBDIR)/auth 
    3122 +CONFIGDIR = ${LIBDIR} 
    3123 +VARDIR = ${prefix}/var 
    3124 +MANDIR = ${prefix}/man 
    3125 +DATADIR = ${prefix}/share 
    3126 + 
    3127 +# The permissions to give the executables 
    3128 +INSTALLPERMS = 0755 
    3129 + 
    3130 +# set these to where to find various files 
    3131 +# These can be overridden by command line switches (see smbd(8)) 
    3132 +# or in smb.conf (see smb.conf(5)) 
    3133 +LOGFILEBASE = ${VARDIR} 
    3134 +CONFIGFILE = $(CONFIGDIR)/smb.conf 
    3135 +LMHOSTSFILE = $(CONFIGDIR)/lmhosts 
    3136 + 
    3137 +# This is where smbpasswd et al go 
    3138 +PRIVATEDIR = ${prefix}/private 
    3139 + 
    3140 +SMB_PASSWD_FILE = $(PRIVATEDIR)/smbpasswd 
    3141 +PRIVATE_DIR = $(PRIVATEDIR) 
    3142 + 
    3143 +# This is where SWAT images and help files go 
    3144 +SWATDIR = ${prefix}/swat 
    3145 + 
    3146 +# the directory where lock files go 
    3147 +LOCKDIR = ${VARDIR}/locks 
    3148 + 
    3149 +# the directory where pid files go 
    3150 +PIDDIR = ${VARDIR}/locks 
    3151 + 
    3152 +LIBSMBCLIENT=bin/libsmbclient.a bin/libsmbclient.so 
    3153 +LIBSMBCLIENT_MAJOR=0 
    3154 +LIBSMBCLIENT_MINOR=1 
    3155 + 
    3156 +LIBSMBSHAREMODES=bin/libsmbsharemodes.a bin/libsmbsharemodes.so 
    3157 +LIBSMBSHAREMODES_MAJOR=0 
    3158 +LIBSMBSHAREMODES_MINOR=1 
    3159 + 
    3160 + 
    3161 +FLAGS1 = $(CFLAGS) -I./popt -Iinclude -I$(srcdir)/include -I$(srcdir)/ubiqx  -I. $(CPPFLAGS) -I$(srcdir) -I$(srcdir)/tdb 
    3162 +FLAGS2 =  
    3163 +FLAGS3 =  
    3164 +FLAGS4 =  
    3165 +FLAGS5 = $(FLAGS1) $(FLAGS2) $(FLAGS3) $(FLAGS4) 
    3166 +FLAGS  = $(ISA) $(FLAGS5)  
    3167 + 
    3168 +PASSWD_FLAGS = -DSMB_PASSWD_FILE=\"$(SMB_PASSWD_FILE)\" -DPRIVATE_DIR=\"$(PRIVATE_DIR)\" 
    3169 +PATH_FLAGS1 = -DCONFIGFILE=\"$(CONFIGFILE)\"  -DSBINDIR=\"$(SBINDIR)\" 
    3170 +PATH_FLAGS2 = $(PATH_FLAGS1) -DBINDIR=\"$(BINDIR)\" -DDRIVERFILE=\"$(DRIVERFILE)\"  
    3171 +PATH_FLAGS3 = $(PATH_FLAGS2) -DLMHOSTSFILE=\"$(LMHOSTSFILE)\"  
    3172 +PATH_FLAGS4 = $(PATH_FLAGS3) -DSWATDIR=\"$(SWATDIR)\"  -DLOCKDIR=\"$(LOCKDIR)\" -DPIDDIR=\"$(PIDDIR)\" 
    3173 +PATH_FLAGS5 = $(PATH_FLAGS4) -DLIBDIR=\"$(LIBDIR)\" \ 
    3174 +             -DLOGFILEBASE=\"$(LOGFILEBASE)\" -DSHLIBEXT=\"so\" 
    3175 +PATH_FLAGS6 = $(PATH_FLAGS5) -DCONFIGDIR=\"$(CONFIGDIR)\" 
    3176 +PATH_FLAGS = $(PATH_FLAGS6) $(PASSWD_FLAGS) 
    3177 + 
    3178 +# Note that all executable programs now provide for an optional executable suffix. 
    3179 + 
    3180 +SBIN_PROGS = bin/smbd bin/nmbd bin/swat  bin/winbindd$(EXEEXT) 
    3181 + 
    3182 +BIN_PROGS1 = bin/smbclient bin/net bin/smbspool \ 
    3183 +       bin/testparm bin/smbstatus  
    3184 +BIN_PROGS2 = bin/smbcontrol bin/smbtree bin/tdbbackup \ 
    3185 +       bin/nmblookup bin/pdbedit bin/tdbdump \ 
    3186 +       bin/tdbtool 
    3187 +BIN_PROGS3 = bin/smbpasswd bin/rpcclient bin/smbcacls \ 
    3188 +       bin/profiles bin/ntlm_auth \ 
    3189 +       bin/smbcquotas 
    3190 + 
    3191 +TORTURE_PROGS = bin/smbtorture bin/msgtest \ 
    3192 +       bin/masktest bin/locktest \ 
    3193 +       bin/locktest2 bin/nsstest bin/vfstest 
    3194 + 
    3195 +BIN_PROGS = $(BIN_PROGS1) $(BIN_PROGS2) $(BIN_PROGS3)  bin/wbinfo$(EXEEXT) 
    3196 + 
    3197 +EVERYTHING_PROGS = bin/debug2html bin/smbfilter bin/talloctort \ 
    3198 +       bin/log2pcap 
    3199 + 
    3200 +SHLIBS =  nsswitch/libnss_winbind.so nsswitch/libnss_wins.so libsmbclient libsmbsharemodes 
    3201 + 
    3202 +SCRIPTS = $(srcdir)/script/smbtar $(builddir)/script/findsmb 
    3203 + 
    3204 +VFS_MODULES =  bin/recycle.so bin/audit.so bin/extd_audit.so bin/full_audit.so bin/netatalk.so bin/fake_perms.so bin/default_quota.so bin/readonly.so bin/cap.so bin/expand_msdfs.so bin/shadow_copy.so 
    3205 +PDB_MODULES =  
    3206 +RPC_MODULES =  
    3207 +IDMAP_MODULES =  
    3208 +CHARSET_MODULES =  bin/CP850.so bin/CP437.so 
    3209 +AUTH_MODULES =  
    3210 +MODULES = $(VFS_MODULES) $(PDB_MODULES) $(RPC_MODULES) $(IDMAP_MODULES) $(CHARSET_MODULES) $(AUTH_MODULES) 
    3211 + 
    3212 +###################################################################### 
    3213 +# object file lists 
    3214 +###################################################################### 
    3215 + 
    3216 +TDBBASE_OBJ = tdb/tdb.o tdb/spinlock.o 
    3217 + 
    3218 +TDB_OBJ = $(TDBBASE_OBJ) tdb/tdbutil.o tdb/tdbback.o 
    3219 + 
    3220 +SMBLDAP_OBJ =   
    3221 + 
    3222 +VERSION_OBJ = lib/version.o 
    3223 + 
    3224 +DOSERR_OBJ = libsmb/doserr.o 
    3225 + 
    3226 +SNPRINTF_OBJ = lib/snprintf.o 
    3227 + 
    3228 +WBCOMMON_OBJ = nsswitch/wb_common.o 
    3229 + 
    3230 +AFS_OBJ = lib/afs.o 
    3231 + 
    3232 +AFS_SETTOKEN_OBJ = lib/afs_settoken.o 
    3233 + 
    3234 +SERVER_MUTEX_OBJ = lib/server_mutex.o 
    3235 + 
    3236 +ERRORMAP_OBJ = libsmb/errormap.o 
    3237 + 
    3238 +PASSCHANGE_OBJ = libsmb/passchange.o 
    3239 + 
    3240 +SOCKET_WRAPPER_OBJ = lib/socket_wrapper.o 
    3241 + 
    3242 +RPC_PARSE_OBJ0 = rpc_parse/parse_prs.o rpc_parse/parse_misc.o 
    3243 + 
    3244 +LIB_OBJ = $(VERSION_OBJ) lib/charcnv.o lib/debug.o lib/fault.o \ 
    3245 +          lib/getsmbpass.o lib/interface.o lib/md4.o \ 
    3246 +          lib/interfaces.o lib/pidfile.o lib/replace.o lib/replace1.o \ 
    3247 +          lib/signal.o lib/system.o lib/sendfile.o lib/time.o \ 
    3248 +         lib/ufc.o lib/genrand.o lib/username.o \ 
    3249 +         lib/util_pw.o lib/access.o lib/smbrun.o \ 
    3250 +         lib/bitmap.o lib/crc32.o $(SNPRINTF_OBJ) lib/dprintf.o \ 
    3251 +         lib/xfile.o lib/wins_srv.o \ 
    3252 +         lib/util_str.o lib/clobber.o lib/util_sid.o lib/util_uuid.o \ 
    3253 +         lib/util_unistr.o lib/util_file.o lib/data_blob.o \ 
    3254 +         lib/util.o lib/util_sock.o lib/sock_exec.o lib/util_sec.o \ 
    3255 +         lib/talloc.o lib/substitute.o lib/fsusage.o \ 
    3256 +         lib/ms_fnmatch.o lib/select.o lib/messages.o \ 
    3257 +         lib/tallocmsg.o lib/dmallocmsg.o libsmb/smb_signing.o \ 
    3258 +         lib/md5.o lib/hmacmd5.o lib/iconv.o \ 
    3259 +         nsswitch/wb_client.o $(WBCOMMON_OBJ) \ 
    3260 +         lib/pam_errors.o intl/lang_tdb.o lib/account_pol.o \ 
    3261 +         lib/adt_tree.o lib/gencache.o $(TDB_OBJ) \ 
    3262 +         lib/module.o lib/ldap_escape.o  \ 
    3263 +         lib/privileges.o lib/secdesc.o lib/secace.o lib/secacl.o \ 
    3264 +       lib/arc4.o lib/sharesec.o lib/events.o lib/util_nscd.o 
    3265 + 
    3266 +LIB_NONSMBD_OBJ = $(LIB_OBJ) lib/dummysmbd.o lib/dummyroot.o 
    3267 + 
    3268 +READLINE_OBJ = lib/readline.o 
    3269 + 
    3270 +# Also depends on  $(SECRETS_OBJ) $(LIBSAMBA_OBJ) 
    3271 +# Be sure to include them into your application 
    3272 + 
    3273 +POPT_LIB_OBJ = lib/popt_common.o  
    3274 + 
    3275 +UBIQX_OBJ = ubiqx/ubi_BinTree.o ubiqx/ubi_Cache.o ubiqx/ubi_SplayTree.o \ 
    3276 +            ubiqx/ubi_dLinkList.o ubiqx/ubi_sLinkList.o  
    3277 + 
    3278 +PARAM_OBJ = dynconfig.o param/loadparm.o param/params.o 
    3279 + 
    3280 +KRBCLIENT_OBJ = libads/kerberos.o libads/ads_status.o  
    3281 + 
    3282 +LIBADS_OBJ = libads/ldap.o libads/ldap_printer.o libads/sasl.o \ 
    3283 +            libads/krb5_setpw.o libads/ldap_user.o \ 
    3284 +            libads/ads_struct.o libads/kerberos_keytab.o \ 
    3285 +             libads/disp_sec.o libads/ads_utils.o libads/ldap_utils.o \ 
    3286 +            libads/authdata.o 
    3287 + 
    3288 +LIBADS_SERVER_OBJ = libads/util.o libads/kerberos_verify.o 
    3289 + 
    3290 +SECRETS_OBJ = passdb/secrets.o passdb/machine_sid.o  
    3291 + 
    3292 +LIBNMB_OBJ = libsmb/unexpected.o libsmb/namecache.o libsmb/nmblib.o \ 
    3293 +            libsmb/namequery.o libsmb/conncache.o  
    3294 + 
    3295 +LIBSAMBA_OBJ = libsmb/nterr.o libsmb/smbdes.o libsmb/smbencrypt.o libsmb/ntlm_check.o \ 
    3296 +       libsmb/ntlmssp.o libsmb/ntlmssp_parse.o libsmb/ntlmssp_sign.o 
    3297 + 
    3298 +LIBSMB_OBJ = \ 
    3299 +               libsmb/clientgen.o \ 
    3300 +               libsmb/cliconnect.o \ 
    3301 +               libsmb/clirap.o \ 
    3302 +               libsmb/clistr.o \ 
    3303 +               libsmb/clitrans.o \ 
    3304 +               libsmb/clifile.o \ 
    3305 +            lib/util_seaccess.o \ 
    3306 +               libsmb/clikrb5.o \ 
    3307 +               libsmb/clispnego.o \ 
    3308 +               libsmb/asn1.o \ 
    3309 +               libsmb/clierror.o \ 
    3310 +             libsmb/smberr.o libsmb/credentials.o libsmb/pwd_cache.o \ 
    3311 +            libsmb/clioplock.o $(ERRORMAP_OBJ) \ 
    3312 +            $(DOSERR_OBJ) \ 
    3313 +            $(RPC_PARSE_OBJ1) $(LIBSAMBA_OBJ) $(LIBNMB_OBJ)  
    3314 + 
    3315 +# LIBSMB_OBJ = \ 
    3316 +#              libsmb/clientgen.o \ 
    3317 +#               libsmb/cliconnect.o \ 
    3318 +#              libsmb/clifile.o \ 
    3319 +#           libsmb/clikrb5.o libsmb/clispnego.o libsmb/asn1.o \ 
    3320 +#           libsmb/clirap.o libsmb/clierror.o libsmb/climessage.o \ 
    3321 +#           libsmb/clireadwrite.o libsmb/clilist.o libsmb/cliprint.o \ 
    3322 +#           libsmb/clitrans.o libsmb/clisecdesc.o libsmb/clidgram.o \ 
    3323 +#           libsmb/clistr.o lib/util_seaccess.o \ 
    3324 +#           libsmb/cliquota.o libsmb/clifsinfo.o libsmb/clidfs.o \ 
    3325 +#             libsmb/smberr.o libsmb/credentials.o libsmb/pwd_cache.o \ 
    3326 +#           libsmb/clioplock.o $(ERRORMAP_OBJ) libsmb/clirap2.o \ 
    3327 +#           $(DOSERR_OBJ) \ 
    3328 +#           $(RPC_PARSE_OBJ1) $(LIBSAMBA_OBJ) $(LIBNMB_OBJ)  
    3329 + 
    3330 + 
    3331 +LIBMSRPC_OBJ = rpc_client/cli_lsarpc.o rpc_client/cli_samr.o \ 
    3332 +              rpc_client/cli_netlogon.o rpc_client/cli_srvsvc.o \ 
    3333 +              rpc_client/cli_wkssvc.o rpc_client/cli_dfs.o \ 
    3334 +              rpc_client/cli_reg.o $(RPC_CLIENT_OBJ) \ 
    3335 +              rpc_client/cli_spoolss.o rpc_client/cli_spoolss_notify.o  \ 
    3336 +              rpc_client/cli_ds.o rpc_client/cli_echo.o \ 
    3337 +              rpc_client/cli_shutdown.o rpc_client/cli_svcctl.o 
    3338 + 
    3339 +REGOBJS_OBJ = registry/reg_objects.o 
    3340 + 
    3341 +REGISTRY_OBJ = registry/reg_frontend.o registry/reg_cachehook.o \ 
    3342 +               registry/reg_db.o registry/reg_eventlog.o registry/reg_shares.o \ 
    3343 +               registry/reg_util.o registry/reg_dynamic.o 
    3344 + 
    3345 +RPC_LSA_OBJ = \ 
    3346 + 
    3347 +# rpc_server/srv_lsa.o rpc_server/srv_lsa_nt.o 
    3348 + 
    3349 +RPC_NETLOG_OBJ = \ 
    3350 + 
    3351 +# rpc_server/srv_netlog.o rpc_server/srv_netlog_nt.o 
    3352 + 
    3353 +RPC_SAMR_OBJ = \ 
    3354 +               rpc_server/srv_samr_util.o 
    3355 + 
    3356 +# rpc_server/srv_samr.o 
    3357 +#  rpc_server/srv_samr_nt.o 
    3358 + 
    3359 +REGFIO_OBJ = registry/regfio.o 
    3360 + 
    3361 +RPC_REG_OBJ =  \ 
    3362 + 
    3363 +# rpc_server/srv_reg.o rpc_server/srv_reg_nt.o $(REGFIO_OBJ) 
    3364 + 
    3365 +RPC_LSA_DS_OBJ = \ 
    3366 + 
    3367 +#   rpc_server/srv_lsa_ds.o rpc_server/srv_lsa_ds_nt.o 
    3368 + 
    3369 +RPC_SVC_OBJ = \ 
    3370 +       rpc_server/srv_srvsvc.o \ 
    3371 +       rpc_server/srv_srvsvc_nt.o 
    3372 + 
    3373 + 
    3374 + 
    3375 +RPC_WKS_OBJ = \ 
    3376 +       rpc_server/srv_wkssvc.o rpc_server/srv_wkssvc_nt.o 
    3377 + 
    3378 +RPC_SVCCTL_OBJ = \ 
    3379 + 
    3380 +# rpc_server/srv_svcctl.o rpc_server/srv_svcctl_nt.o \ 
    3381 +#                  services/svc_spoolss.o services/svc_rcinit.o services/services_db.o 
    3382 + 
    3383 +RPC_DFS_OBJ =  \ 
    3384 + 
    3385 +# rpc_server/srv_dfs.o rpc_server/srv_dfs_nt.o 
    3386 + 
    3387 +RPC_SPOOLSS_OBJ = \ 
    3388 + 
    3389 +# rpc_server/srv_spoolss.o rpc_server/srv_spoolss_nt.o  
    3390 + 
    3391 +RPC_EVENTLOG_OBJ = \ 
    3392 + 
    3393 +# rpc_server/srv_eventlog.o rpc_server/srv_eventlog_nt.o 
    3394 + 
    3395 +RPC_PIPE_OBJ = \ 
    3396 +               rpc_server/srv_pipe_hnd.o \ 
    3397 +             rpc_server/srv_pipe.o \ 
    3398 +               rpc_server/srv_lsa_hnd.o 
    3399 + 
    3400 +#               rpc_server/srv_util.o 
    3401 + 
    3402 + 
    3403 +RPC_ECHO_OBJ = rpc_server/srv_echo.o rpc_server/srv_echo_nt.o 
    3404 + 
    3405 +RPC_SERVER_OBJ =  $(RPC_LSA_OBJ) $(RPC_REG_OBJ) $(RPC_LSA_DS_OBJ) $(RPC_WKS_OBJ) $(RPC_SVCCTL_OBJ) $(RPC_NETLOG_OBJ) $(RPC_DFS_OBJ) $(RPC_SVC_OBJ) $(RPC_EVENTLOG_OBJ) $(RPC_SAMR_OBJ) $(RPC_PIPE_OBJ) 
    3406 + 
    3407 +# this includes only the low level parse code, not stuff 
    3408 +# that requires knowledge of security contexts 
    3409 +RPC_PARSE_OBJ1 = $(RPC_PARSE_OBJ0) rpc_parse/parse_sec.o 
    3410 + 
    3411 +RPC_PARSE_OBJ = \ 
    3412 +               rpc_parse/parse_rpc.o \ 
    3413 +       rpc_parse/parse_lsa.o \ 
    3414 +       rpc_parse/parse_net.o \ 
    3415 +                rpc_parse/parse_wks.o rpc_parse/parse_ds.o \ 
    3416 +               rpc_parse/parse_spoolss.o \ 
    3417 +               rpc_parse/parse_dfs.o \ 
    3418 +               rpc_parse/parse_echo.o rpc_parse/parse_shutdown.o \ 
    3419 +       rpc_parse/parse_buffer.o $(REGOBJS_OBJ) \ 
    3420 +       rpc_parse/parse_srv.o 
    3421 + 
    3422 +# rpc_parse/parse_eventlog.o \ 
    3423 +# rpc_parse/parse_svcctl.o \ 
    3424 +# rpc_parse/parse_reg.o  
    3425 +# rpc_parse/parse_samr.o  
    3426 + 
    3427 + 
    3428 +RPC_CLIENT_OBJ = rpc_client/cli_pipe.o 
    3429 + 
    3430 +LOCKING_OBJ = locking/locking.o locking/brlock.o locking/posix.o 
    3431 + 
    3432 +PASSDB_GET_SET_OBJ = passdb/pdb_get_set.o 
    3433 + 
    3434 +PASSDB_OBJ = $(PASSDB_GET_SET_OBJ) passdb/passdb.o passdb/pdb_interface.o \ 
    3435 +               passdb/pdb_compat.o \ 
    3436 +               passdb/lookup_sid.o \ 
    3437 +               passdb/login_cache.o  passdb/pdb_smbpasswd.o passdb/pdb_tdb.o \ 
    3438 +               lib/system_smbd.o \ 
    3439 +               passdb/lookup_sid.o passdb/util_builtin.o \ 
    3440 +               passdb/util_wellknown.o passdb/util_unixsids.o 
    3441 + 
    3442 +XML_OBJ = passdb/pdb_xml.o 
    3443 +MYSQL_OBJ = passdb/pdb_mysql.o 
    3444 +PGSQL_OBJ = passdb/pdb_pgsql.o 
    3445 +DEVEL_HELP_WEIRD_OBJ = modules/weird.o 
    3446 +CP850_OBJ = modules/CP850.o 
    3447 +CP437_OBJ = modules/CP437.o 
    3448 +CHARSET_MACOSXFS_OBJ = modules/charset_macosxfs.o 
    3449 + 
    3450 +GROUPDB_OBJ = groupdb/mapping.o 
    3451 + 
    3452 +PROFILE_OBJ = profile/profile.o 
    3453 +PROFILES_OBJ = utils/profiles.o 
    3454 + 
    3455 +OPLOCK_OBJ = smbd/oplock.o smbd/oplock_irix.o smbd/oplock_linux.o 
    3456 + 
    3457 +NOTIFY_OBJ = smbd/notify.o smbd/notify_hash.o smbd/notify_kernel.o 
    3458 + 
    3459 +VFS_AUDIT_OBJ = modules/vfs_audit.o 
    3460 +VFS_EXTD_AUDIT_OBJ = modules/vfs_extd_audit.o 
    3461 +VFS_FULL_AUDIT_OBJ = modules/vfs_full_audit.o 
    3462 +VFS_FAKE_PERMS_OBJ = modules/vfs_fake_perms.o 
    3463 +VFS_RECYCLE_OBJ = modules/vfs_recycle.o 
    3464 +VFS_NETATALK_OBJ = modules/vfs_netatalk.o 
    3465 +VFS_DEFAULT_QUOTA_OBJ = modules/vfs_default_quota.o 
    3466 +VFS_READONLY_OBJ = modules/vfs_readonly.o modules/getdate.o 
    3467 +VFS_CAP_OBJ = modules/vfs_cap.o 
    3468 +VFS_EXPAND_MSDFS_OBJ = modules/vfs_expand_msdfs.o 
    3469 +VFS_SHADOW_COPY_OBJ = modules/vfs_shadow_copy.o 
    3470 +VFS_AFSACL_OBJ = modules/vfs_afsacl.o 
    3471 +VFS_CATIA_OBJ = modules/vfs_catia.o 
    3472 + 
    3473 +PLAINTEXT_AUTH_OBJ = auth/pampass.o auth/pass_check.o 
    3474 + 
    3475 +SLCACHE_OBJ = libsmb/samlogon_cache.o 
    3476 + 
    3477 +DCUTIL_OBJ  = libsmb/namequery_dc.o  
    3478 + 
    3479 +# libsmb/trustdom_cache.o 
    3480 +# libsmb/trusts_util.o 
    3481 + 
    3482 +AUTH_BUILTIN_OBJ = auth/auth_builtin.o 
    3483 +AUTH_DOMAIN_OBJ = auth/auth_domain.o 
    3484 +AUTH_SAM_OBJ = auth/auth_sam.o 
    3485 +AUTH_RHOSTS_OBJ = auth/auth_rhosts.o 
    3486 +AUTH_SERVER_OBJ = auth/auth_server.o 
    3487 +AUTH_UNIX_OBJ = auth/auth_unix.o 
    3488 +AUTH_WINBIND_OBJ = auth/auth_winbind.o 
    3489 + 
    3490 +AUTH_OBJ = auth/auth.o  $(AUTH_SAM_OBJ) $(AUTH_BUILTIN_OBJ) auth/auth_util.o auth/auth_compat.o \ 
    3491 +          auth/auth_ntlmssp.o \ 
    3492 +          $(PLAINTEXT_AUTH_OBJ) $(SLCACHE_OBJ) $(DCUTIL_OBJ) 
    3493 + 
    3494 +# AUTH_OBJ = auth/auth.o  $(AUTH_RHOSTS_OBJ) $(AUTH_SAM_OBJ) $(AUTH_UNIX_OBJ) $(AUTH_WINBIND_OBJ) $(AUTH_SERVER_OBJ) $(AUTH_DOMAIN_OBJ) $(AUTH_BUILTIN_OBJ) auth/auth_util.o auth/auth_compat.o \ 
    3495 +#         auth/auth_ntlmssp.o \ 
    3496 +#         $(PLAINTEXT_AUTH_OBJ) $(SLCACHE_OBJ) $(DCUTIL_OBJ) 
    3497 + 
    3498 +MANGLE_OBJ = smbd/mangle.o smbd/mangle_hash.o smbd/mangle_map.o smbd/mangle_hash2.o 
    3499 + 
    3500 +SMBD_OBJ_MAIN = smbd/server.o 
    3501 + 
    3502 +BUILDOPT_OBJ = smbd/build_options.o 
    3503 + 
    3504 +SMBD_OBJ_SRV = smbd/files.o smbd/chgpasswd.o smbd/connection.o \ 
    3505 +              smbd/utmp.o smbd/session.o \ 
    3506 +               smbd/dfree.o smbd/dir.o smbd/password.o smbd/conn.o smbd/fileio.o \ 
    3507 +               smbd/message.o smbd/nttrans.o \ 
    3508 +               smbd/reply.o smbd/sesssetup.o smbd/trans2.o smbd/uid.o \ 
    3509 +              smbd/dosmode.o smbd/filename.o smbd/open.o smbd/close.o \ 
    3510 +              smbd/blocking.o smbd/sec_ctx.o smbd/srvstr.o \ 
    3511 +              smbd/vfs.o smbd/vfs-wrap.o smbd/statcache.o \ 
    3512 +               smbd/posix_acls.o lib/sysacls.o $(SERVER_MUTEX_OBJ) \ 
    3513 +              smbd/process.o smbd/service.o smbd/error.o \ 
    3514 +               smbd/fake_file.o \ 
    3515 +              smbd/msdfs.o \ 
    3516 +               smbd/aio.o \ 
    3517 +              $(MANGLE_OBJ) \ 
    3518 +               smbd/negprot.o \ 
    3519 + smbd/ipc.o \ 
    3520 + smbd/lanman.o \ 
    3521 + smbd/change_trust_pw.o \ 
    3522 + smbd/pipes.o \ 
    3523 + smbd/share_access.o \ 
    3524 + smbd/statvfs.o \ 
    3525 + smbd/map_username.o 
    3526 + 
    3527 + 
    3528 +SMBD_OBJ_BASE = $(PARAM_OBJ) $(SMBD_OBJ_SRV) $(LIBSMB_OBJ) \ 
    3529 +               $(RPC_SERVER_OBJ) $(RPC_PARSE_OBJ) $(SECRETS_OBJ) \ 
    3530 +               $(LOCKING_OBJ) $(PASSDB_OBJ) $(PROFILE_OBJ) \ 
    3531 +               $(LIB_OBJ) $(OPLOCK_OBJ) \ 
    3532 +               $(NOTIFY_OBJ) $(GROUPDB_OBJ) $(AUTH_OBJ) \ 
    3533 +               libads/ads_status.o 
    3534 + 
    3535 +#              $(REGISTRY_OBJ) 
    3536 +#              $(LIBMSRPC_OBJ) 
    3537 + 
    3538 +PRINTING_OBJ = printing/pcap.o printing/print_svid.o printing/print_aix.o \ 
    3539 +               printing/print_cups.o printing/print_generic.o \ 
    3540 +               printing/lpq_parse.o printing/load.o 
    3541 + 
    3542 +PRINTBASE_OBJ = printing/notify.o printing/printing_db.o 
    3543 + 
    3544 +PRINTBACKEND_OBJ = printing/printing.o printing/nt_printing.o $(PRINTBASE_OBJ) 
    3545 + 
    3546 +# SMBD_OBJ = $(SMBD_OBJ_BASE) $(SMBD_OBJ_MAIN) 
    3547 + 
    3548 + 
    3549 +NMBD_OBJ1 = nmbd/asyncdns.o nmbd/nmbd.o nmbd/nmbd_become_dmb.o \ 
    3550 +            nmbd/nmbd_become_lmb.o nmbd/nmbd_browserdb.o \ 
    3551 +            nmbd/nmbd_browsesync.o nmbd/nmbd_elections.o \ 
    3552 +            nmbd/nmbd_incomingdgrams.o nmbd/nmbd_incomingrequests.o \ 
    3553 +            nmbd/nmbd_lmhosts.o nmbd/nmbd_logonnames.o nmbd/nmbd_mynames.o \ 
    3554 +            nmbd/nmbd_namelistdb.o nmbd/nmbd_namequery.o \ 
    3555 +            nmbd/nmbd_nameregister.o nmbd/nmbd_namerelease.o \ 
    3556 +            nmbd/nmbd_nodestatus.o nmbd/nmbd_packets.o \ 
    3557 +            nmbd/nmbd_processlogon.o nmbd/nmbd_responserecordsdb.o \ 
    3558 +            nmbd/nmbd_sendannounce.o nmbd/nmbd_serverlistdb.o \ 
    3559 +            nmbd/nmbd_subnetdb.o nmbd/nmbd_winsproxy.o nmbd/nmbd_winsserver.o \ 
    3560 +            nmbd/nmbd_workgroupdb.o nmbd/nmbd_synclists.o 
    3561 + 
    3562 +NMBD_OBJ = $(NMBD_OBJ1) $(PARAM_OBJ) $(LIBSMB_OBJ) \ 
    3563 +           $(KRBCLIENT_OBJ) $(PROFILE_OBJ) $(LIB_NONSMBD_OBJ) \ 
    3564 +           $(SECRETS_OBJ) $(POPT_LIB_OBJ) 
    3565 + 
    3566 +WREPL_OBJ1 = 
    3567 + 
    3568 +WREPL_OBJ = $(WREPL_OBJ1)  $(PARAM_OBJ) $(UBIQX_OBJ) \ 
    3569 +           $(PROFILE_OBJ) $(LIB_NONSMBD_OBJ) $(POPT_LIB_OBJ) $(SECRETS_OBJ) \ 
    3570 +           $(LIBSAMBA_OBJ) 
    3571 + 
    3572 +SWAT_OBJ1 = web/cgi.o web/diagnose.o web/startstop.o web/statuspage.o \ 
    3573 +           web/swat.o web/neg_lang.o  
    3574 + 
    3575 +SWAT_OBJ = $(SWAT_OBJ1) $(PARAM_OBJ) $(PRINTING_OBJ) $(LIBSMB_OBJ) \ 
    3576 +          $(LOCKING_OBJ) $(PASSDB_OBJ) $(SECRETS_OBJ) $(KRBCLIENT_OBJ) \ 
    3577 +          $(LIB_NONSMBD_OBJ) $(GROUPDB_OBJ) $(PLAINTEXT_AUTH_OBJ) \ 
    3578 +          $(POPT_LIB_OBJ) $(SMBLDAP_OBJ) $(RPC_PARSE_OBJ) $(LIBMSRPC_OBJ) \ 
    3579 +           $(PASSCHANGE_OBJ) 
    3580 + 
    3581 +SMBSH_OBJ = smbwrapper/smbsh.o smbwrapper/shared.o \ 
    3582 +            $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) 
    3583 + 
    3584 +STATUS_OBJ = utils/status.o $(LOCKING_OBJ) $(PARAM_OBJ) \ 
    3585 +             $(PROFILE_OBJ) $(LIB_NONSMBD_OBJ) $(POPT_LIB_OBJ) \ 
    3586 +            $(SECRETS_OBJ) $(LIBSAMBA_OBJ) $(ERRORMAP_OBJ)  
    3587 +              
    3588 + 
    3589 +SMBCONTROL_OBJ = utils/smbcontrol.o $(LOCKING_OBJ) $(PARAM_OBJ) \ 
    3590 +       $(PROFILE_OBJ) $(LIB_NONSMBD_OBJ) $(POPT_LIB_OBJ) \ 
    3591 +       $(SECRETS_OBJ) $(LIBSAMBA_OBJ) \ 
    3592 +       $(PRINTBASE_OBJ) $(ERRORMAP_OBJ) 
    3593 + 
    3594 +SMBTREE_OBJ = utils/smbtree.o $(PARAM_OBJ) \ 
    3595 +             $(PROFILE_OBJ) $(LIB_NONSMBD_OBJ) $(LIBSMB_OBJ) \ 
    3596 +            $(KRBCLIENT_OBJ) $(POPT_LIB_OBJ) $(SECRETS_OBJ)  
    3597 + 
    3598 +TESTPARM_OBJ = utils/testparm.o \ 
    3599 +               $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) $(POPT_LIB_OBJ) \ 
    3600 +              $(SECRETS_OBJ) $(LIBSAMBA_OBJ) 
    3601 + 
    3602 +SMBPASSWD_OBJ = utils/smbpasswd.o $(PASSCHANGE_OBJ) $(PARAM_OBJ) $(SECRETS_OBJ) \ 
    3603 +               $(LIBSMB_OBJ) $(PASSDB_OBJ) $(GROUPDB_OBJ)\ 
    3604 +                $(LIB_NONSMBD_OBJ) $(KRBCLIENT_OBJ) \ 
    3605 +               $(SMBLDAP_OBJ) $(RPC_PARSE_OBJ) $(LIBMSRPC_OBJ) 
    3606 + 
    3607 +PDBEDIT_OBJ = utils/pdbedit.o $(PARAM_OBJ) $(PASSDB_OBJ) $(LIBSAMBA_OBJ) \ 
    3608 +               $(LIB_NONSMBD_OBJ) $(GROUPDB_OBJ) $(SECRETS_OBJ) \ 
    3609 +               $(POPT_LIB_OBJ) $(SMBLDAP_OBJ) libsmb/asn1.o 
    3610 + 
    3611 +SMBGET_OBJ = utils/smbget.o $(POPT_LIB_OBJ) $(LIBSMBCLIENT_OBJ) 
    3612 + 
    3613 +RPCCLIENT_OBJ1 = rpcclient/rpcclient.o rpcclient/cmd_lsarpc.o \ 
    3614 +                rpcclient/cmd_samr.o rpcclient/cmd_spoolss.o \ 
    3615 +                rpcclient/cmd_netlogon.o rpcclient/cmd_srvsvc.o \ 
    3616 +                rpcclient/cmd_dfs.o rpcclient/cmd_reg.o \ 
    3617 +                rpcclient/cmd_ds.o \ 
    3618 +                rpcclient/cmd_echo.o rpcclient/cmd_shutdown.o 
    3619 + 
    3620 +RPCCLIENT_OBJ = $(RPCCLIENT_OBJ1) \ 
    3621 +             $(PARAM_OBJ) $(LIBSMB_OBJ) $(LIB_NONSMBD_OBJ) \ 
    3622 +             $(RPC_PARSE_OBJ) $(PASSDB_OBJ) $(LIBMSRPC_OBJ) \ 
    3623 +             $(READLINE_OBJ) $(GROUPDB_OBJ) $(KRBCLIENT_OBJ) \ 
    3624 +            $(LIBADS_OBJ) $(SECRETS_OBJ) $(POPT_LIB_OBJ) \ 
    3625 +            $(SMBLDAP_OBJ) $(DCUTIL_OBJ) 
    3626 + 
    3627 +PAM_WINBIND_PICOBJ = nsswitch/pam_winbind.po \ 
    3628 +       nsswitch/wb_common.po lib/replace1.po \ 
    3629 +       lib/snprintf.po 
    3630 + 
    3631 +SMBW_OBJ1 = smbwrapper/smbw.o \ 
    3632 +               smbwrapper/smbw_dir.o smbwrapper/smbw_stat.o \ 
    3633 +               smbwrapper/realcalls.o smbwrapper/shared.o \ 
    3634 +               smbwrapper/smbw_cache.o 
    3635 + 
    3636 +SMBW_OBJ = $(SMBW_OBJ1) $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) $(PARAM_OBJ) \ 
    3637 +                $(LIB_NONSMBD_OBJ) 
    3638 + 
    3639 +SMBWRAPPER_OBJ1 = smbwrapper/wrapped.o 
    3640 + 
    3641 +SMBWRAPPER_OBJ = $(SMBW_OBJ) $(SMBWRAPPER_OBJ1) 
    3642 + 
    3643 +LIBSMBCLIENT_OBJ = libsmb/libsmbclient.o libsmb/libsmb_compat.o \ 
    3644 +                  libsmb/libsmb_cache.o \ 
    3645 +                  $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) \ 
    3646 +                  $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \ 
    3647 +                  $(LIBMSRPC_OBJ) $(RPC_PARSE_OBJ) \ 
    3648 +                  $(SECRETS_OBJ) $(PASSDB_OBJ) $(SMBLDAP_OBJ) $(GROUPDB_OBJ) 
    3649 + 
    3650 +LIBSMBSHAREMODES_OBJ = libsmb/smb_share_modes.o tdb/tdb.o tdb/spinlock.o 
    3651 +# This shared library is intended for linking with unit test programs 
    3652 +# to test Samba internals.  It's called libbigballofmud.so to 
    3653 +# discourage casual usage. 
    3654 + 
    3655 +LIBBIGBALLOFMUD_MAJOR = 0 
    3656 + 
    3657 +LIBBIGBALLOFMUD_OBJ = $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) $(UBIQX_OBJ) $(SECRETS_OBJ) \ 
    3658 +       $(LIBSMB_OBJ) $(LIBMSRPC_OBJ) $(RPC_PARSE_OBJ) $(PASSDB_OBJ) \ 
    3659 +       $(GROUPDB_OBJ) $(KRBCLIENT_OBJ) $(SMBLDAP_OBJ) 
    3660 + 
    3661 +LIBBIGBALLOFMUD_PICOBJS = $(LIBBIGBALLOFMUD_OBJ:.o=.po) 
    3662 + 
    3663 +CLIENT_OBJ1 = client/client.o client/clitar.o  
    3664 + 
    3665 +CLIENT_OBJ = $(CLIENT_OBJ1) $(PARAM_OBJ) $(LIBSMB_OBJ) \ 
    3666 +            $(LIB_NONSMBD_OBJ) $(KRBCLIENT_OBJ) \ 
    3667 +             $(READLINE_OBJ) $(POPT_LIB_OBJ) $(SECRETS_OBJ) 
    3668 + 
    3669 +NET_OBJ1 = utils/net.o utils/net_ads.o utils/net_help.o \ 
    3670 +          utils/net_rap.o utils/net_rpc.o utils/net_rpc_samsync.o \ 
    3671 +          utils/net_rpc_join.o utils/net_time.o utils/net_lookup.o \ 
    3672 +          utils/net_cache.o utils/net_groupmap.o utils/net_idmap.o \ 
    3673 +          utils/net_status.o utils/net_rpc_printer.o utils/net_rpc_rights.o \ 
    3674 +          utils/net_rpc_service.o utils/net_rpc_registry.o  
    3675 + 
    3676 +NET_OBJ = $(NET_OBJ1) $(PARAM_OBJ) $(SECRETS_OBJ) $(LIBSMB_OBJ) \ 
    3677 +         $(RPC_PARSE_OBJ) $(PASSDB_OBJ) $(GROUPDB_OBJ) \ 
    3678 +         $(KRBCLIENT_OBJ) $(LIB_NONSMBD_OBJ) \ 
    3679 +         $(LIBMSRPC_OBJ) $(IDMAP_OBJ) \ 
    3680 +         $(LIBADS_OBJ) $(LIBADS_SERVER_OBJ) $(POPT_LIB_OBJ) \ 
    3681 +         $(SMBLDAP_OBJ) $(DCUTIL_OBJ) $(SERVER_MUTEX_OBJ) \ 
    3682 +         $(AFS_OBJ) $(AFS_SETTOKEN_OBJ) $(PRINTERDB_OBJ) $(REGFIO_OBJ) 
    3683 + 
    3684 +CUPS_OBJ = client/smbspool.o $(PARAM_OBJ) $(LIBSMB_OBJ) \ 
    3685 +         $(LIB_NONSMBD_OBJ) $(KRBCLIENT_OBJ) $(SECRETS_OBJ) 
    3686 + 
    3687 +MOUNT_OBJ = client/smbmount.o \ 
    3688 +             $(PARAM_OBJ) $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) $(LIB_NONSMBD_OBJ) $(SECRETS_OBJ) 
    3689 + 
    3690 +MNT_OBJ = client/smbmnt.o $(VERSION_OBJ) $(SNPRINTF_OBJ) 
    3691 + 
    3692 +UMOUNT_OBJ = client/smbumount.o 
    3693 + 
    3694 +NMBLOOKUP_OBJ = utils/nmblookup.o $(PARAM_OBJ) $(LIBNMB_OBJ) \ 
    3695 +               $(LIB_NONSMBD_OBJ) $(POPT_LIB_OBJ) $(SECRETS_OBJ) $(LIBSAMBA_OBJ) 
    3696 + 
    3697 +SMBTORTURE_OBJ1 = torture/torture.o torture/nbio.o torture/scanner.o torture/utable.o \ 
    3698 +               torture/denytest.o torture/mangle_test.o  
    3699 + 
    3700 +SMBTORTURE_OBJ = $(SMBTORTURE_OBJ1) $(PARAM_OBJ) \ 
    3701 +       $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) $(LIB_NONSMBD_OBJ) $(SECRETS_OBJ) 
    3702 + 
    3703 +MASKTEST_OBJ = torture/masktest.o $(PARAM_OBJ) $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \ 
    3704 +                 $(LIB_NONSMBD_OBJ) $(SECRETS_OBJ) 
    3705 + 
    3706 +MSGTEST_OBJ = torture/msgtest.o $(PARAM_OBJ) $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \ 
    3707 +                 $(LIB_NONSMBD_OBJ) $(SECRETS_OBJ) 
    3708 + 
    3709 +LOCKTEST_OBJ = torture/locktest.o $(PARAM_OBJ) $(LOCKING_OBJ) $(KRBCLIENT_OBJ) \ 
    3710 +               $(LIBSMB_OBJ) $(LIB_NONSMBD_OBJ) $(SECRETS_OBJ)   
    3711 + 
    3712 +NSSTEST_OBJ = torture/nsstest.o $(PARAM_OBJ) $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \ 
    3713 +                 $(LIB_NONSMBD_OBJ) $(SECRETS_OBJ) 
    3714 + 
    3715 +VFSTEST_OBJ = torture/cmd_vfs.o torture/vfstest.o $(SMBD_OBJ_BASE) $(READLINE_OBJ) 
    3716 + 
    3717 +SMBICONV_OBJ = $(PARAM_OBJ) torture/smbiconv.o $(LIB_NONSMBD_OBJ) $(POPT_LIB_OBJ) $(SECRETS_OBJ) $(LIBSAMBA_OBJ) 
    3718 + 
    3719 +LOG2PCAP_OBJ = utils/log2pcaphex.o 
    3720 + 
    3721 +LOCKTEST2_OBJ = torture/locktest2.o $(PARAM_OBJ) $(LOCKING_OBJ) $(LIBSMB_OBJ) \ 
    3722 +               $(KRBCLIENT_OBJ) $(LIB_NONSMBD_OBJ) $(SECRETS_OBJ) 
    3723 + 
    3724 +SMBCACLS_OBJ = utils/smbcacls.o $(PARAM_OBJ) $(LIBSMB_OBJ) \ 
    3725 +                          $(KRBCLIENT_OBJ) $(LIB_NONSMBD_OBJ) $(RPC_PARSE_OBJ) \ 
    3726 +                          $(PASSDB_OBJ) $(GROUPDB_OBJ) $(LIBMSRPC_OBJ) $(SECRETS_OBJ) \ 
    3727 +                          $(POPT_LIB_OBJ) $(DCUTIL_OBJ) $(LIBADS_OBJ) $(SMBLDAP_OBJ) 
    3728 + 
    3729 +SMBCQUOTAS_OBJ = utils/smbcquotas.o $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \ 
    3730 +               $(PARAM_OBJ) \ 
    3731 +               $(LIB_NONSMBD_OBJ) $(RPC_PARSE_OBJ) \ 
    3732 +               $(LIBMSRPC_OBJ) $(SECRETS_OBJ) $(POPT_LIB_OBJ) \ 
    3733 +               $(PASSDB_OBJ) $(SMBLDAP_OBJ) $(GROUPDB_OBJ) 
    3734 + 
    3735 +TALLOCTORT_OBJ = lib/talloctort.o $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) libsmb/nterr.o 
    3736 + 
    3737 +RPCTORTURE_OBJ = torture/rpctorture.o \ 
    3738 +             rpcclient/display.o \ 
    3739 +             rpcclient/cmd_lsarpc.o \ 
    3740 +             rpcclient/cmd_wkssvc.o \ 
    3741 +             rpcclient/cmd_samr.o \ 
    3742 +             rpcclient/cmd_srvsvc.o \ 
    3743 +             rpcclient/cmd_netlogon.o \ 
    3744 +             $(PARAM_OBJ) $(LIBSMB_OBJ) $(LIB_NONSMBD_OBJ) $(KRBCLIENT_OBJ) \ 
    3745 +             $(RPC_CLIENT_OBJ) $(RPC_PARSE_OBJ) $(PASSDB_GET_SET_OBJ) 
    3746 + 
    3747 +DEBUG2HTML_OBJ = utils/debug2html.o ubiqx/debugparse.o 
    3748 + 
    3749 +SMBFILTER_OBJ = utils/smbfilter.o $(PARAM_OBJ) $(LIBSMB_OBJ) $(SECRETS_OBJ) \ 
    3750 +                 $(LIB_NONSMBD_OBJ) $(KRBCLIENT_OBJ)  
    3751 + 
    3752 +PROTO_OBJ = $(SMBD_OBJ_MAIN) \ 
    3753 +           $(SMBD_OBJ_SRV) $(NMBD_OBJ1) $(SWAT_OBJ1) $(LIB_OBJ) $(LIBSMB_OBJ) \ 
    3754 +           $(SMBTORTURE_OBJ1) $(RPCCLIENT_OBJ1) \ 
    3755 +           $(LIBMSRPC_OBJ)  \ 
    3756 +           $(RPC_PIPE_OBJ) $(RPC_PARSE_OBJ) $(KRBCLIENT_OBJ) \ 
    3757 +           $(AUTH_OBJ) $(PARAM_OBJ) $(LOCKING_OBJ) $(SECRETS_OBJ) \ 
    3758 +           $(PRINTING_OBJ) $(PRINTBACKEND_OBJ) $(OPLOCK_OBJ) $(NOTIFY_OBJ) \ 
    3759 +           $(PASSDB_OBJ) $(GROUPDB_OBJ) \ 
    3760 +           $(READLINE_OBJ) $(PROFILE_OBJ) $(LIBADS_OBJ) $(LIBADS_SERVER_OBJ) \ 
    3761 +           $(AUTH_SAM_OBJ) $(REGISTRY_OBJ) $(POPT_LIB_OBJ) \ 
    3762 +           $(RPC_LSA_OBJ) $(RPC_NETLOG_OBJ) $(RPC_SAMR_OBJ) $(RPC_REG_OBJ) $(RPC_LSA_DS_OBJ) \ 
    3763 +           $(RPC_SVC_OBJ) $(RPC_WKS_OBJ) $(RPC_DFS_OBJ) $(RPC_SPOOLSS_OBJ) \ 
    3764 +           $(RPC_ECHO_OBJ) $(RPC_SVCCTL_OBJ) $(RPC_EVENTLOG_OBJ) $(SMBLDAP_OBJ) \ 
    3765 +            $(IDMAP_OBJ) libsmb/spnego.o $(PASSCHANGE_OBJ) 
    3766 + 
    3767 +WINBIND_WINS_NSS_OBJ = nsswitch/wins.o $(PARAM_OBJ) \ 
    3768 +       $(LIBSMB_OBJ) $(LIB_NONSMBD_OBJ) $(NSSWINS_OBJ) $(KRBCLIENT_OBJ) 
    3769 + 
    3770 +WINBIND_WINS_NSS_PICOBJS = $(WINBIND_WINS_NSS_OBJ:.o=.po) 
    3771 + 
    3772 +PICOBJS = $(SMBWRAPPER_OBJ:.o=.po) 
    3773 +LIBSMBCLIENT_PICOBJS = $(LIBSMBCLIENT_OBJ:.o=.po) 
    3774 +LIBSMBSHAREMODES_PICOBJS = $(LIBSMBSHAREMODES_OBJ:.o=.po) 
    3775 + 
    3776 +PAM_SMBPASS_OBJ_0 = pam_smbpass/pam_smb_auth.o pam_smbpass/pam_smb_passwd.o \ 
    3777 +               pam_smbpass/pam_smb_acct.o pam_smbpass/support.o \ 
    3778 +               $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) $(PASSDB_OBJ) $(GROUPDB_OBJ) \ 
    3779 +               $(SECRETS_OBJ) $(SMBLDAP_OBJ) $(LIBSAMBA_OBJ) 
    3780 + 
    3781 +PAM_SMBPASS_PICOOBJ = $(PAM_SMBPASS_OBJ_0:.o=.po) 
    3782 + 
    3783 +IDMAP_OBJ     = sam/idmap.o sam/idmap_util.o  sam/idmap_tdb.o 
    3784 + 
    3785 +WINBINDD_OBJ1 = \ 
    3786 +               nsswitch/winbindd.o       \ 
    3787 +               nsswitch/winbindd_user.o  \ 
    3788 +               nsswitch/winbindd_group.o \ 
    3789 +               nsswitch/winbindd_util.o  \ 
    3790 +               nsswitch/winbindd_cache.o \ 
    3791 +               nsswitch/winbindd_pam.o   \ 
    3792 +               nsswitch/winbindd_sid.o   \ 
    3793 +               nsswitch/winbindd_misc.o  \ 
    3794 +               nsswitch/winbindd_cm.o \ 
    3795 +               nsswitch/winbindd_wins.o \ 
    3796 +               nsswitch/winbindd_rpc.o \ 
    3797 +               nsswitch/winbindd_reconnect.o \ 
    3798 +               nsswitch/winbindd_ads.o \ 
    3799 +               nsswitch/winbindd_passdb.o \ 
    3800 +               nsswitch/winbindd_dual.o \ 
    3801 +               nsswitch/winbindd_async.o 
    3802 + 
    3803 +WINBINDD_OBJ = \ 
    3804 +               $(WINBINDD_OBJ1) $(PASSDB_OBJ) $(GROUPDB_OBJ) \ 
    3805 +               $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) \ 
    3806 +               $(LIBSMB_OBJ) $(LIBMSRPC_OBJ) $(RPC_PARSE_OBJ) \ 
    3807 +               $(PROFILE_OBJ) $(SLCACHE_OBJ) $(SMBLDAP_OBJ) \ 
    3808 +               $(SECRETS_OBJ) $(LIBADS_OBJ) $(KRBCLIENT_OBJ) $(POPT_LIB_OBJ) \ 
    3809 +               $(DCUTIL_OBJ) $(IDMAP_OBJ) \ 
    3810 +               $(AFS_OBJ) $(AFS_SETTOKEN_OBJ) 
    3811 + 
    3812 +WBINFO_OBJ = nsswitch/wbinfo.o $(LIBSAMBA_OBJ) $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) \ 
    3813 +               $(SECRETS_OBJ) $(POPT_LIB_OBJ) $(AFS_SETTOKEN_OBJ) 
    3814 + 
    3815 +WINBIND_NSS_OBJ = $(WBCOMMON_OBJ) lib/replace1.o nsswitch/winbind_nss_linux.o 
    3816 + 
    3817 +WINBIND_NSS_PICOBJS = $(WINBIND_NSS_OBJ:.o=.po) lib/snprintf.po 
    3818 + 
    3819 +POPT_OBJS=popt/findme.o popt/popt.o popt/poptconfig.o \ 
    3820 +          popt/popthelp.o popt/poptparse.o 
    3821 + 
    3822 +TDBBACKUP_OBJ = tdb/tdbbackup.o tdb/tdbback.o $(SNPRINTF_OBJ) $(TDBBASE_OBJ) 
    3823 + 
    3824 +TDBTOOL_OBJ = tdb/tdbtool.o $(TDBBASE_OBJ) $(SNPRINTF_OBJ) 
    3825 + 
    3826 +TDBDUMP_OBJ = tdb/tdbdump.o $(TDBBASE_OBJ) $(SNPRINTF_OBJ) 
    3827 + 
    3828 +NTLM_AUTH_OBJ1 = utils/ntlm_auth.o utils/ntlm_auth_diagnostics.o  
    3829 + 
    3830 +NTLM_AUTH_OBJ = ${NTLM_AUTH_OBJ1} $(LIBSAMBA_OBJ) $(POPT_LIB_OBJ) \ 
    3831 +               libsmb/asn1.o libsmb/spnego.o libsmb/clikrb5.o libads/kerberos.o \ 
    3832 +               libads/kerberos_verify.o $(SECRETS_OBJ) $(SERVER_MUTEX_OBJ) \ 
    3833 +               libads/authdata.o $(RPC_PARSE_OBJ0) $(PASSDB_OBJ) $(GROUPDB_OBJ) \ 
    3834 +               $(SMBLDAP_OBJ) $(DOSERR_OBJ) 
    3835 + 
    3836 +###################################################################### 
    3837 +# now the rules... 
    3838 +###################################################################### 
    3839 +all : SHOWFLAGS proto_exists bin/smbd  bin/smbpasswd  bin/nmbd 
    3840 + 
    3841 +pam_smbpass : SHOWFLAGS bin/pam_smbpass.so 
    3842 + 
    3843 +smbwrapper : SHOWFLAGS  
    3844 + 
    3845 +torture : SHOWFLAGS $(TORTURE_PROGS) 
    3846 + 
    3847 +smbtorture : SHOWFLAGS bin/smbtorture 
    3848 + 
    3849 +masktest : SHOWFLAGS bin/masktest 
    3850 + 
    3851 +msgtest : SHOWFLAGS bin/msgtest 
    3852 + 
    3853 +locktest : SHOWFLAGS bin/locktest 
    3854 + 
    3855 +smbcacls : SHOWFLAGS bin/smbcacls 
    3856 + 
    3857 +smbcquotas : SHOWFLAGS bin/smbcquotas 
    3858 + 
    3859 +locktest2 : SHOWFLAGS bin/locktest2 
    3860 + 
    3861 +rpctorture : SHOWFLAGS bin/rpctorture 
    3862 + 
    3863 +debug2html : SHOWFLAGS bin/debug2html 
    3864 + 
    3865 +smbfilter : SHOWFLAGS bin/smbfilter 
    3866 + 
    3867 +talloctort : SHOWFLAGS bin/talloctort 
    3868 + 
    3869 +nsswitch : SHOWFLAGS bin/winbindd bin/wbinfo nsswitch/libnss_winbind.so \ 
    3870 +       nsswitch/libnss_wins.so nsswitch/pam_winbind.so 
    3871 + 
    3872 +wins : SHOWFLAGS nsswitch/libnss_wins.so 
    3873 + 
    3874 +modules: SHOWFLAGS proto_exists $(MODULES) 
    3875 + 
    3876 +everything: all libsmbclient debug2html smbfilter talloctort modules torture \ 
    3877 +       $(EVERYTHING_PROGS) 
    3878 + 
    3879 +.SUFFIXES: 
    3880 +.SUFFIXES: .c .o .po .lo 
    3881 + 
    3882 +SHOWFLAGS: 
    3883 +       @echo "Using FLAGS = $(FLAGS)" 
    3884 +       @echo "      LIBS = $(LIBS)" 
    3885 +       @echo "      LDSHFLAGS = $(LDSHFLAGS)" 
    3886 +       @echo "      LDFLAGS = $(LDFLAGS)" 
    3887 +       @echo "      CFLAGS= $(CFLAGS)" 
    3888 +       @echo "      WITH_LFS= $(WITH_LFS)" 
    3889 + 
    3890 + 
    3891 +MAKEDIR = || exec false; \ 
    3892 +         if test -d "$$dir"; then :; else \ 
    3893 +         echo mkdir "$$dir"; \ 
    3894 +         mkdir -p "$$dir" >/dev/null 2>&1 || \ 
    3895 +         test -d "$$dir" || \ 
    3896 +         mkdir "$$dir" || \ 
    3897 +         exec false; fi || exec false 
    3898 + 
    3899 +.c.o: 
    3900 +       @if (: >> $@ || : > $@) >/dev/null 2>&1; then rm -f $@; else \ 
    3901 +        dir=`echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,'` $(MAKEDIR); fi 
    3902 +       @echo Compiling $*.c 
    3903 +       @$(CC) -I. -I$(srcdir) $(FLAGS)  -c $< \ 
    3904 +         -o $@  
    3905 +#      -mv `echo $@ | sed 's%^.*/%%g'` $@ 
    3906 + 
    3907 +# this adds support for precompiled headers. To use it, install a snapshot 
    3908 +# of gcc-3.4 and run 'make pch' before you do the main build.  
    3909 +pch: 
    3910 +       rm -f $(srcdir)/include/includes.h.gch 
    3911 +       $(CC) -I. -I$(srcdir) $(FLAGS) -c $(srcdir)/include/includes.h -o $(srcdir)/include/includes.h.gch 
    3912 + 
    3913 +# These dependencies are only approximately correct: we want to make 
    3914 +# sure Samba's paths are updated if ./configure is re-run.  Really it 
    3915 +# would be nice if "make prefix=/opt/samba all" also rebuilt things, 
    3916 +# but since we also require "make install prefix=/opt/samba" *not* to 
    3917 +# rebuild it's a bit hard. 
    3918 + 
    3919 +dynconfig.o: dynconfig.c Makefile 
    3920 +       @echo Compiling $*.c 
    3921 +       @$(CC) $(FLAGS) $(PATH_FLAGS)  -c $(srcdir)/dynconfig.c -o $@  
    3922 + 
    3923 +dynconfig.po: dynconfig.c Makefile 
    3924 +       @if (: >> $@ || : > $@) >/dev/null 2>&1; then rm -f $@; else \ 
    3925 +         dir=`echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,'` $(MAKEDIR); fi 
    3926 +       @echo Compiling $*.c with -fPIC 
    3927 +       @$(CC) -I. -I$(srcdir) $(FLAGS) $(PATH_FLAGS) -fPIC -c $(srcdir)/dynconfig.c -o $@ 
    3928 +#      -mv `echo $@ | sed -e 's%^.*/%%g' -e 's%\.po$$%.o%'` $@ 
    3929 + 
    3930 +lib/version.o: lib/version.c include/version.h 
    3931 +       @echo Compiling $*.c 
    3932 +       @$(CC) -I. -I$(srcdir) $(FLAGS) $(PATH_FLAGS)  -c $(srcdir)/lib/version.c -o $@  
    3933 + 
    3934 +lib/version.po: lib/version.c include/version.h 
    3935 +       @if (: >> $@ || : > $@) >/dev/null 2>&1; then rm -f $@; else \ 
    3936 +         dir=`echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,'` $(MAKEDIR); fi 
    3937 +       @echo Compiling $*.c with -fPIC 
    3938 +       @$(CC) -I. -I$(srcdir) $(FLAGS) $(PATH_FLAGS) -fPIC -c $(srcdir)/lib/version.c -o $@ 
    3939 +#      -mv `echo $@ | sed -e 's%^.*/%%g' -e 's%\.po$$%.o%'` $@ 
    3940 + 
    3941 +smbd/build_options.o: smbd/build_options.c Makefile include/config.h include/build_env.h include/proto.h 
    3942 +       @echo Compiling $*.c 
    3943 +       @$(CC) $(FLAGS) $(PATH_FLAGS)  -c smbd/build_options.c -o $@ 
    3944 + 
    3945 +smbd/build_options.c: include/config.h.in script/mkbuildoptions.awk 
    3946 +       @echo Generating $@ 
    3947 +       @dir=smbd $(MAKEDIR) && $(AWK) -f $(srcdir)/script/mkbuildoptions.awk > $(builddir)/smbd/build_options.c < $(srcdir)/include/config.h.in 
    3948 + 
    3949 +.c.po:  
    3950 +       @if (: >> $@ || : > $@) >/dev/null 2>&1; then rm -f $@; else \ 
    3951 +         dir=`echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,'` $(MAKEDIR); fi 
    3952 +       @echo Compiling $*.c with -fPIC 
    3953 +       @$(CC) -I. -I$(srcdir) $(FLAGS) -fPIC -c $< -o $*.po 
    3954 +#      -mv `echo $@ | sed -e 's%^.*/%%g' -e 's%\.po$$%.o%'` $@ 
    3955 + 
    3956 +bin/.dummy: 
    3957 +       @if (: >> $@ || : > $@) >/dev/null 2>&1; then :; else \ 
    3958 +         dir=bin $(MAKEDIR); fi 
    3959 +       @: >> $@ || : > $@ # what a fancy emoticon! 
    3960 + 
    3961 +bin/smbd: bin/libsmbd.a $(SMBD_OBJ_MAIN) $(POPT_OBJS) $(POPT_LIB_OBJ) bin/.dummy 
    3962 +       @echo Linking $@ 
    3963 +       $(CC) $(FLAGS)  -o $@ $(SMBD_OBJ_MAIN) $(POPT_OBJS) $(POPT_LIB_OBJ) $(LDFLAGS) \ 
    3964 +               $(AUTH_LIBS) \ 
    3965 +               -Lbin -lsmbd \ 
    3966 +               -L$(TARGETFS)/lib \ 
    3967 +               $(LIBS) 
    3968 + 
    3969 +bin/libsmbd.a: $(SMBD_OBJ_BASE) 
    3970 +       $(AR) cru bin/libsmbd.a $(SMBD_OBJ_BASE) 
    3971 +       $(RANLIB) bin/libsmbd.a 
    3972 + 
    3973 + 
    3974 +bin/nmbd: $(NMBD_OBJ) $(POPT_OBJS) bin/.dummy 
    3975 +       @echo Linking $@ 
    3976 +       @$(CC) $(FLAGS)  -o $@ $(NMBD_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) $(POPT_OBJS) $(KRB5LIBS) $(LDAP_LIBS) 
    3977 + 
    3978 + 
    3979 +bin/swat: $(SWAT_OBJ) $(POPT_OBJS) bin/.dummy 
    3980 +       @echo Linking $@ 
    3981 +       @$(CC) $(FLAGS)  -o $@ $(SWAT_OBJ) $(LDFLAGS) $(DYNEXP) $(PRINT_LIBS) \ 
    3982 +         $(AUTH_LIBS) $(LIBS) $(PASSDB_LIBS) $(POPT_OBJS) $(KRB5LIBS) $(LDAP_LIBS) 
    3983 + 
    3984 +bin/rpcclient: $(RPCCLIENT_OBJ) $(POPT_OBJS) bin/.dummy 
    3985 +       @echo Linking $@ 
    3986 +       @$(CC) $(FLAGS)  -o $@ $(LDFLAGS) $(PASSDB_LIBS) $(RPCCLIENT_OBJ) \ 
    3987 +               $(DYNEXP) $(TERMLDFLAGS) $(TERMLIBS) $(LIBS) $(POPT_OBJS) \ 
    3988 +               $(KRB5LIBS) $(LDAP_LIBS) 
    3989 + 
    3990 +bin/smbclient: $(CLIENT_OBJ) $(POPT_OBJS) bin/.dummy 
    3991 +       @echo Linking $@ 
    3992 +       @$(CC) $(FLAGS)  -o $@ $(CLIENT_OBJ) $(LDFLAGS) $(DYNEXP) $(TERMLDFLAGS) $(TERMLIBS) $(LIBS) $(POPT_OBJS) $(KRB5LIBS) $(LDAP_LIBS) 
    3993 + 
    3994 +bin/net: $(NET_OBJ) $(POPT_OBJS) bin/.dummy 
    3995 +       @echo Linking $@ 
    3996 +       @$(CC) $(FLAGS)  -o $@ $(NET_OBJ) $(DYNEXP) $(LDFLAGS) $(LIBS) $(POPT_OBJS) $(KRB5LIBS) $(LDAP_LIBS) $(PASSDB_LIBS) 
    3997 + 
    3998 +bin/profiles: $(PROFILES_OBJ) $(POPT_OBJS) bin/.dummy 
    3999 +       @echo Linking $@ 
    4000 +       @$(CC) $(FLAGS)  -o $@ $(PROFILES_OBJ) $(DYNEXP) $(LDFLAGS) $(LIBS) $(POPT_OBJS) 
    4001 + 
    4002 +bin/smbspool: $(CUPS_OBJ) bin/.dummy 
    4003 +       @echo Linking $@ 
    4004 +       @$(CC) $(FLAGS)  -o $@ $(CUPS_OBJ) $(DYNEXP) $(LDFLAGS) $(LIBS) $(KRB5LIBS) $(LDAP_LIBS) 
    4005 + 
    4006 +bin/smbmount: $(MOUNT_OBJ) bin/.dummy 
    4007 +       @echo Linking $@ 
    4008 +       @$(CC) $(FLAGS)  -o $@ $(MOUNT_OBJ) $(DYNEXP) $(LDFLAGS) $(LIBS) $(KRB5LIBS) $(LDAP_LIBS) 
    4009 + 
    4010 +bin/smbmnt: $(MNT_OBJ) bin/.dummy 
    4011 +       @echo Linking $@ 
    4012 +       @$(CC) $(FLAGS)  -o $@ $(MNT_OBJ) $(DYNEXP) $(LDFLAGS)  
    4013 + 
    4014 +bin/smbumount: $(UMOUNT_OBJ) bin/.dummy 
    4015 +       @echo Linking $@ 
    4016 +       @$(CC) $(FLAGS)  -o $@ $(UMOUNT_OBJ) $(DYNEXP) $(LDFLAGS) 
    4017 + 
    4018 +bin/testparm: $(TESTPARM_OBJ) $(POPT_OBJS) bin/.dummy 
    4019 +       @echo Linking $@ 
    4020 +       @$(CC) $(FLAGS)  -o $@ $(TESTPARM_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) $(POPT_OBJS) 
    4021 + 
    4022 +bin/smbstatus: $(STATUS_OBJ) $(POPT_OBJS) bin/.dummy 
    4023 +       @echo Linking $@ 
    4024 +       @$(CC) $(FLAGS)  -o $@ $(STATUS_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) \ 
    4025 +       $(POPT_OBJS) 
    4026 + 
    4027 +bin/smbcontrol: $(SMBCONTROL_OBJ) $(POPT_OBJS) bin/.dummy 
    4028 +       @echo Linking $@ 
    4029 +       @$(CC) -DUSING_SMBCONTROL $(FLAGS)  -o $@ $(SMBCONTROL_OBJ) $(DYNEXP) \ 
    4030 +       $(LDFLAGS) $(LIBS) \ 
    4031 +       $(POPT_OBJS) 
    4032 + 
    4033 +bin/smbtree: $(SMBTREE_OBJ) $(POPT_OBJS) bin/.dummy 
    4034 +       @echo Linking $@ 
    4035 +       @$(CC) $(FLAGS)  -o $@ $(SMBTREE_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) $(POPT_OBJS) $(KRB5LIBS) $(LDAP_LIBS)  
    4036 + 
    4037 +# bin/smbpasswd: $(SMBPASSWD_OBJ) bin/.dummy 
    4038 +#      @echo Linking $@ 
    4039 +#      @$(CC) $(FLAGS)  -o $@ $(SMBPASSWD_OBJ) $(LDFLAGS) $(PASSDB_LIBS) \ 
    4040 +#              $(DYNEXP) $(LIBS) $(KRB5LIBS) $(LDAP_LIBS)  
    4041 + 
    4042 +MY_PASS_OBJ = libsmb/smbdes.o lib/md4.o lib/arc4.o 
    4043 + 
    4044 +bin/smbpasswd: utils/avm_smbpasswd.o $(MY_PASS_OBJ) 
    4045 +       @echo Linking $@ 
    4046 +       @$(CC) $(FLAGS)  -o $@ utils/avm_smbpasswd.o $(MY_PASS_OBJ) \ 
    4047 +               -L$(TARGETFS)/lib 
    4048 + 
    4049 +  
    4050 + 
    4051 +bin/pdbedit: $(PDBEDIT_OBJ) $(POPT_OBJS) bin/.dummy 
    4052 +       @echo Linking $@ 
    4053 +       @$(CC) $(FLAGS)  -o $@ $(PDBEDIT_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) $(POPT_OBJS) $(PASSDB_LIBS) $(LDAP_LIBS) 
    4054 + 
    4055 +bin/smbget: $(SMBGET_OBJ) $(POPT_OBJS) bin/.dummy 
    4056 +       @echo Linking $@ 
    4057 +       @$(CC) $(FLAGS)  -o $@ $(SMBGET_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) $(POPT_OBJS)  $(KRB5LIBS) $(LDAP_LIBS) 
    4058 + 
    4059 +bin/samtest: $(SAMTEST_OBJ) $(POPT_OBJS) bin/.dummy 
    4060 +       @echo Linking $@ 
    4061 +       @$(CC) $(FLAGS)  -o $@ $(SAMTEST_OBJ) $(LDFLAGS) $(TERMLDFLAGS) $(TERMLIBS) $(DYNEXP) $(LIBS) $(POPT_OBJS) $(PASSDB_LIBS) $(KRB5LIBS) $(LDAP_LIBS) 
    4062 + 
    4063 +bin/nmblookup: $(NMBLOOKUP_OBJ) $(POPT_OBJS) bin/.dummy 
    4064 +       @echo Linking $@ 
    4065 +       @$(CC) $(FLAGS)  -o $@ $(NMBLOOKUP_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) $(POPT_OBJS) $(LDAP_LIBS) 
    4066 + 
    4067 +bin/smbtorture: $(SMBTORTURE_OBJ) bin/.dummy 
    4068 +       @echo Linking $@ 
    4069 +       @$(CC) $(FLAGS)  -o $@ $(SMBTORTURE_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) $(KRB5LIBS) $(LDAP_LIBS)  
    4070 + 
    4071 +bin/talloctort: $(TALLOCTORT_OBJ) bin/.dummy 
    4072 +       @echo Linking $@ 
    4073 +       @$(CC) $(FLAGS)  -o $@ $(TALLOCTORT_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) 
    4074 + 
    4075 +bin/masktest: $(MASKTEST_OBJ) bin/.dummy 
    4076 +       @echo Linking $@ 
    4077 +       @$(CC) $(FLAGS)  -o $@ $(MASKTEST_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) $(KRB5LIBS) $(LDAP_LIBS) 
    4078 + 
    4079 +bin/msgtest: $(MSGTEST_OBJ) bin/.dummy 
    4080 +       @echo Linking $@ 
    4081 +       @$(CC) $(FLAGS)  -o $@ $(MSGTEST_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) $(KRB5LIBS) $(LDAP_LIBS)  
    4082 + 
    4083 +bin/smbcacls: $(SMBCACLS_OBJ) $(POPT_OBJS) bin/.dummy 
    4084 +       @echo Linking $@ 
    4085 +       @$(CC) $(FLAGS)  -o $@ $(SMBCACLS_OBJ) $(DYNEXP) $(LDFLAGS) $(LIBS) $(POPT_OBJS) $(KRB5LIBS) $(LDAP_LIBS) 
    4086 + 
    4087 +bin/smbcquotas: $(SMBCQUOTAS_OBJ) $(POPT_OBJS) bin/.dummy 
    4088 +       @echo Linking $@ 
    4089 +       @$(CC) $(FLAGS)  -o $@ $(SMBCQUOTAS_OBJ) $(DYNEXP) $(LDFLAGS) $(LIBS) $(POPT_OBJS) $(KRB5LIBS) $(LDAP_LIBS) 
    4090 + 
    4091 +bin/locktest: $(LOCKTEST_OBJ) bin/.dummy 
    4092 +       @echo Linking $@ 
    4093 +       @$(CC) $(FLAGS)  -o $@ $(LOCKTEST_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) $(KRB5LIBS) $(LDAP_LIBS) 
    4094 + 
    4095 +bin/nsstest: $(NSSTEST_OBJ) bin/.dummy 
    4096 +       @echo Linking $@ 
    4097 +       @$(CC) $(FLAGS)  -o $@ $(NSSTEST_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) $(KRB5LIBS)  $(LDAP_LIBS) 
    4098 + 
    4099 +bin/vfstest: $(VFSTEST_OBJ) $(POPT_OBJS) bin/.dummy 
    4100 +       @echo Linking $@ 
    4101 +       @$(CC) $(FLAGS)  -o $@ $(VFSTEST_OBJ) $(LDFLAGS) $(TERMLDFLAGS) $(TERMLIBS) $(DYNEXP) $(PRINT_LIBS) $(AUTH_LIBS) $(ACL_LIBS) $(LIBS) $(POPT_OBJS) $(KRB5LIBS) $(LDAP_LIBS) 
    4102 + 
    4103 +bin/smbiconv: $(SMBICONV_OBJ) $(POPT_OBJS) bin/.dummy 
    4104 +       @echo Linking $@ 
    4105 +       @$(CC) $(FLAGS)  -o $@ $(SMBICONV_OBJ) $(LDFLAGS) $(TERMLDFLAGS) $(TERMLIBS) $(DYNEXP) $(LIBS) $(POPT_OBJS) 
    4106 + 
    4107 +bin/log2pcap: $(LOG2PCAP_OBJ) $(POPT_OBJS) bin/.dummy 
    4108 +       @echo Linking $@ 
    4109 +       @$(CC) $(FLAGS)  -o $@ $(LOG2PCAP_OBJ) $(LDFLAGS) $(DYNEXP) $(POPT_OBJS) $(LIBS) 
    4110 + 
    4111 +bin/locktest2: $(LOCKTEST2_OBJ) bin/.dummy 
    4112 +       @echo Linking $@ 
    4113 +       @$(CC) $(FLAGS)  -o $@ $(LOCKTEST2_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) $(KRB5LIBS) $(LDAP_LIBS) 
    4114 + 
    4115 +bin/rpctorture: $(RPCTORTURE_OBJ) bin/.dummy 
    4116 +       @echo Linking $@ 
    4117 +       @$(CC) $(FLAGS)  -o $@ $(RPCTORTURE_OBJ) $(DYNEXP) $(LDFLAGS) $(LIBS) $(KRB5LIBS) $(LDAP_LIBS) 
    4118 + 
    4119 +bin/debug2html: $(DEBUG2HTML_OBJ) bin/.dummy 
    4120 +       @echo Linking $@ 
    4121 +       @$(CC) $(FLAGS)  -o $@ $(DEBUG2HTML_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) 
    4122 + 
    4123 +bin/smbfilter: $(SMBFILTER_OBJ) bin/.dummy 
    4124 +       @echo Linking $@ 
    4125 +       @$(CC) $(FLAGS)  -o $@ $(SMBFILTER_OBJ) $(LDFLAGS) $(LIBS) $(KRB5LIBS) $(LDAP_LIBS) 
    4126 + 
    4127 +bin/smbw_sample: $(SMBW_OBJ) utils/smbw_sample.o bin/.dummy 
    4128 +       @echo Linking $@ 
    4129 +       @$(CC) $(FLAGS)  -o $@ $(SMBW_OBJ) utils/smbw_sample.o $(LDFLAGS) $(DYNEXP) $(LIBS) $(KRB5LIBS) $(LDAP_LIBS) 
    4130 + 
    4131 +bin/smbsh: $(SMBSH_OBJ) bin/.dummy 
    4132 +       @echo Linking $@ 
    4133 +       @$(CC) $(FLAGS)  -o $@ $(SMBSH_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) 
    4134 + 
    4135 +bin/smbwrapper.so: $(PICOBJS) bin/.dummy 
    4136 +       @echo Linking shared library $@ 
    4137 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(PICOBJS) $(LIBS) \ 
    4138 +               $(KRB5LIBS) $(LDAP_LIBS) \ 
    4139 +               -Wl,-soname=`basename $@` 
    4140 + 
    4141 +bin/libsmbclient.so: $(LIBSMBCLIENT_PICOBJS) 
    4142 +       @echo Linking libsmbclient shared library $@ 
    4143 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(LIBSMBCLIENT_PICOBJS) $(LDFLAGS) $(LIBS) \ 
    4144 +               $(KRB5LIBS) $(LDAP_LIBS) \ 
    4145 +               -Wl,-soname=`basename $@`.$(LIBSMBCLIENT_MAJOR) 
    4146 + 
    4147 +bin/libsmbclient.a: $(LIBSMBCLIENT_PICOBJS) 
    4148 +       @echo Linking libsmbclient non-shared library $@ 
    4149 +       @-$(AR) -rc $@ $(LIBSMBCLIENT_PICOBJS) 
    4150 + 
    4151 +bin/libsmbsharemodes.so: $(LIBSMBSHAREMODES_PICOBJS) 
    4152 +       @echo Linking libsmbsharemodes shared library $@ 
    4153 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(LIBSMBSHAREMODES_PICOBJS) $(LDFLAGS) $(LIBS) \ 
    4154 +               $(KRB5LIBS) $(LDAP_LIBS) \ 
    4155 +               -Wl,-soname=`basename $@`.$(LIBSMBSHAREMODES_MAJOR) 
    4156 + 
    4157 +bin/libsmbsharemodes.a: $(LIBSMBSHAREMODES_PICOBJS) 
    4158 +       @echo Linking libsmbsharemodes non-shared library $@ 
    4159 +       @-$(AR) -rc $@ $(LIBSMBSHAREMODES_PICOBJS) 
    4160 + 
    4161 +# This is probably wrong for anything other than the GNU linker.  
    4162 +bin/libbigballofmud.so: $(LIBBIGBALLOFMUD_PICOBJS) 
    4163 +       @echo Linking bigballofmud shared library $@ 
    4164 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(LIBBIGBALLOFMUD_PICOBJS) $(LIBS) \ 
    4165 +               $(PASSDB_LIBS) $(IDMAP_LIBS) $(KRB5LIBS) $(LDAP_LIBS) \ 
    4166 +               -Wl,-soname=`basename $@`.$(LIBBIGBALLOFMUD_MAJOR) 
    4167 +       ln -snf libbigballofmud.so bin/libbigballofmud.so.0 
    4168 + 
    4169 +# It would be nice to build a static bigballofmud too, but when I try 
    4170 +# I get linker errors about dl_open and similar things.  I'm not sure if 
    4171 +# it can be fixed or if they just can't be called from a static 
    4172 +# library. 
    4173 + 
    4174 +libsmbclient: $(LIBSMBCLIENT) 
    4175 +libsmbsharemodes: $(LIBSMBSHAREMODES) 
    4176 + 
    4177 +bin/librpc_lsarpc.so: $(RPC_LSA_OBJ) 
    4178 +       @echo "Linking $@" 
    4179 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(RPC_LSA_OBJ) -lc \ 
    4180 +               -Wl,-soname=`basename $@` 
    4181 + 
    4182 +bin/librpc_samr.so: $(RPC_SAMR_OBJ) 
    4183 +       @echo "Linking $@" 
    4184 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(RPC_SAMR_OBJ) -lc \ 
    4185 +               -Wl,-soname=`basename $@` 
    4186 + 
    4187 +bin/librpc_srvsvc.so: $(RPC_SVC_OBJ) 
    4188 +       @echo "Linking $@" 
    4189 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(RPC_SVC_OBJ) -lc \ 
    4190 +               -Wl,-soname=`basename $@` 
    4191 + 
    4192 +bin/librpc_svcctl.so: $(RPC_SVCCTL_OBJ) 
    4193 +       @echo "Linking $@" 
    4194 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(RPC_SVCCTL_OBJ) -lc \ 
    4195 +               -Wl,-soname=`basename $@` 
    4196 + 
    4197 +bin/librpc_wkssvc.so: $(RPC_WKS_OBJ) 
    4198 +       @echo "Linking $@" 
    4199 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(RPC_WKS_OBJ) -lc \ 
    4200 +               -Wl,-soname=`basename $@` 
    4201 + 
    4202 +bin/librpc_NETLOGON.so: $(RPC_NETLOG_OBJ) 
    4203 +       @echo "Linking $@" 
    4204 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(RPC_NETLOG_OBJ) -lc \ 
    4205 +               -Wl,-soname=`basename $@` 
    4206 + 
    4207 +bin/librpc_winreg.so: $(RPC_REG_OBJ) 
    4208 +       @echo "Linking $@" 
    4209 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(RPC_REG_OBJ) -lc \ 
    4210 +               -Wl,-soname=`basename $@` 
    4211 + 
    4212 +bin/librpc_lsa_ds.so: $(RPC_LSA_DS_OBJ) 
    4213 +       @echo "Linking $@" 
    4214 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(RPC_LSA_DS_OBJ) -lc \ 
    4215 +               -Wl,-soname=`basename $@` 
    4216 + 
    4217 +bin/librpc_spoolss.so: $(RPC_SPOOLSS_OBJ) 
    4218 +       @echo "Linking $@" 
    4219 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(RPC_SPOOLSS_OBJ) -lc \ 
    4220 +               -Wl,-soname=`basename $@` 
    4221 + 
    4222 +bin/librpc_eventlog.so: $(RPC_EVENTLOG_OBJ) 
    4223 +       @echo "Linking $@" 
    4224 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(RPC_EVENTLOG_OBJ) -lc \ 
    4225 +               -Wl,-soname=`basename $@` 
    4226 + 
    4227 +bin/librpc_netdfs.so: $(RPC_DFS_OBJ) 
    4228 +       @echo "Linking $@" 
    4229 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(RPC_DFS_OBJ) -lc \ 
    4230 +               -Wl,-soname=`basename $@` 
    4231 + 
    4232 +bin/librpc_echo.so: $(RPC_ECHO_OBJ) 
    4233 +       @echo "Linking $@" 
    4234 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(RPC_ECHO_OBJ) -lc \ 
    4235 +               -Wl,-soname=`basename $@` 
    4236 + 
    4237 +bin/winbindd: $(WINBINDD_OBJ) $(POPT_OBJS) bin/.dummy 
    4238 +       @echo "Linking $@" 
    4239 +       @$(CC) $(FLAGS)  -o $@ $(WINBINDD_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) \ 
    4240 +               $(POPT_OBJS) $(KRB5LIBS) $(LDAP_LIBS) $(PASSDB_LIBS) 
    4241 + 
    4242 +# Please don't add .o files to libnss_winbind, libnss_wins, or the pam_winbind 
    4243 +# libraries.  Add to the appropriate PICOBJ variable instead. 
    4244 + 
    4245 +nsswitch/libnss_winbind.so: $(WINBIND_NSS_PICOBJS) 
    4246 +       @echo "Linking $@" 
    4247 +       @$(SHLD) $(WINBIND_NSS_LDSHFLAGS) -o $@ $(WINBIND_NSS_PICOBJS) \ 
    4248 +                -Wl,-soname=`basename $@` 
    4249 + 
    4250 +nsswitch/libnss_wins.so: $(WINBIND_WINS_NSS_PICOBJS) 
    4251 +       @echo "Linking $@" 
    4252 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(WINBIND_WINS_NSS_PICOBJS) \ 
    4253 +               $(LDAP_LIBS) $(KRB5LIBS) -lc \ 
    4254 +               -Wl,-soname=`basename $@` 
    4255 + 
    4256 +nsswitch/pam_winbind.so: $(PAM_WINBIND_PICOBJ) bin/.dummy 
    4257 +       @echo "Linking $@" 
    4258 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(PAM_WINBIND_PICOBJ) \ 
    4259 +               -Wl,-soname=`basename $@` -lpam 
    4260 + 
    4261 +bin/rhosts.so: $(AUTH_RHOSTS_OBJ:.o=.po) 
    4262 +       @echo "Building plugin $@" 
    4263 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(AUTH_RHOSTS_OBJ:.o=.po) -Wl,-soname=`basename $@` 
    4264 + 
    4265 +bin/builtin.so: $(AUTH_BUILTIN_OBJ:.o=.po) 
    4266 +       @echo "Building plugin $@" 
    4267 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(AUTH_BUILTIN_OBJ:.o=.po) -Wl,-soname=`basename $@` 
    4268 + 
    4269 +bin/domain.so: $(AUTH_DOMAIN_OBJ:.o=.po) 
    4270 +       @echo "Building plugin $@" 
    4271 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(AUTH_DOMAIN_OBJ:.o=.po) -Wl,-soname=`basename $@` 
    4272 + 
    4273 +bin/smbserver.so: $(AUTH_SERVER_OBJ:.o=.po) 
    4274 +       @echo "Building plugin $@" 
    4275 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(AUTH_SERVER_OBJ:.o=.po) -Wl,-soname=`basename $@` 
    4276 + 
    4277 +bin/winbind.so: $(AUTH_WINBIND_OBJ:.o=.po) 
    4278 +       @echo "Building plugin $@" 
    4279 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(AUTH_WINBIND_OBJ:.o=.po) -Wl,-soname=`basename $@` 
    4280 + 
    4281 +bin/unix.so: $(AUTH_UNIX_OBJ:.o=.po) 
    4282 +       @echo "Building plugin $@" 
    4283 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(AUTH_UNIX_OBJ:.o=.po) -Wl,-soname=`basename $@` 
    4284 + 
    4285 +bin/sam.so: $(AUTH_SAM_OBJ:.o=.po) 
    4286 +       @echo "Building plugin $@" 
    4287 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(AUTH_SAM_OBJ:.o=.po) -Wl,-soname=`basename $@` 
    4288 + 
    4289 +bin/mysql.so: $(MYSQL_OBJ:.o=.po) 
    4290 +       @echo "Building plugin $@" 
    4291 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(MYSQL_OBJ:.o=.po)  \ 
    4292 +               -Wl,-soname=`basename $@` 
    4293 + 
    4294 +bin/pgsql.so: $(PGSQL_OBJ:.o=.po) 
    4295 +       @echo "Building plugin $@" 
    4296 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(PGSQL_OBJ:.o=.po)  \ 
    4297 +      -Wl,-soname=`basename $@` 
    4298 + 
    4299 +bin/ldapsam.so: passdb/pdb_ldap.po 
    4300 +       @echo "Building plugin $@" 
    4301 +       @$(SHLD) $(LDSHFLAGS) $(LDAP_LIBS) -o $@ passdb/pdb_ldap.po \ 
    4302 +               -Wl,-soname=`basename $@` 
    4303 + 
    4304 +bin/tdbsam.so: passdb/pdb_tdb.po 
    4305 +       @echo "Building plugin $@" 
    4306 +       @$(SHLD) $(LDSHFLAGS) -o $@ passdb/pdb_tdb.po \ 
    4307 +               -Wl,-soname=`basename $@` 
    4308 + 
    4309 +bin/smbpasswd.so: passdb/pdb_smbpasswd.po 
    4310 +       @echo "Building plugin $@" 
    4311 +       @$(SHLD) $(LDSHFLAGS) -o $@ passdb/pdb_smbpasswd.po \ 
    4312 +               -Wl,-soname=`basename $@` 
    4313 + 
    4314 +bin/idmap_rid.so: sam/idmap_rid.po 
    4315 +       @echo "Building plugin $@" 
    4316 +       @$(SHLD) $(LDSHFLAGS) -o $@ sam/idmap_rid.po \ 
    4317 +               -Wl,-soname=`basename $@` 
    4318 + 
    4319 +bin/idmap_ad.so: sam/idmap_ad.po 
    4320 +       @echo "Building plugin $@" 
    4321 +       @$(SHLD) $(LDSHFLAGS) -o $@ sam/idmap_ad.po \ 
    4322 +               -Wl,-soname=`basename $@` 
    4323 + 
    4324 +bin/weird.so: $(DEVEL_HELP_WEIRD_OBJ:.o=.po) 
    4325 +       @echo "Building plugin $@" 
    4326 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(DEVEL_HELP_WEIRD_OBJ:.o=.po) \ 
    4327 +               -Wl,-soname=`basename $@` 
    4328 + 
    4329 +bin/CP850.so: $(CP850_OBJ:.o=.po) 
    4330 +       @echo "Building plugin $@" 
    4331 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(CP850_OBJ:.o=.po) \ 
    4332 +               -Wl,-soname=`basename $@` 
    4333 + 
    4334 +bin/CP437.so: $(CP437_OBJ:.o=.po) 
    4335 +       @echo "Building plugin $@" 
    4336 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(CP437_OBJ:.o=.po) \ 
    4337 +               -Wl,-soname=`basename $@` 
    4338 + 
    4339 +bin/macosxfs.so: $(CHARSET_MACOSXFS_OBJ:.o=.po) 
    4340 +       @echo "Building plugin $@" 
    4341 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(CHARSET_MACOSXFS_OBJ:.o=.po) \ 
    4342 +               -framework CoreFoundation -Wl,-soname=`basename $@` 
    4343 + 
    4344 +bin/xml.so: $(XML_OBJ:.o=.po) 
    4345 +       @echo "Building plugin $@" 
    4346 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(XML_OBJ:.o=.po)  \ 
    4347 +               -Wl,-soname=`basename $@` 
    4348 + 
    4349 +bin/audit.so: $(VFS_AUDIT_OBJ:.o=.po) 
    4350 +       @echo "Building plugin $@" 
    4351 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(VFS_AUDIT_OBJ:.o=.po) \ 
    4352 +               -Wl,-soname=`basename $@` 
    4353 + 
    4354 +bin/extd_audit.so: $(VFS_EXTD_AUDIT_OBJ:.o=.po) 
    4355 +       @echo "Building plugin $@" 
    4356 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(VFS_EXTD_AUDIT_OBJ:.o=.po) \ 
    4357 +               -Wl,-soname=`basename $@` 
    4358 + 
    4359 +bin/full_audit.so: $(VFS_FULL_AUDIT_OBJ:.o=.po) 
    4360 +       @echo "Building plugin $@" 
    4361 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(VFS_FULL_AUDIT_OBJ:.o=.po) \ 
    4362 +               -Wl,-soname=`basename $@` 
    4363 + 
    4364 +bin/recycle.so: $(VFS_RECYCLE_OBJ:.o=.po) 
    4365 +       @echo "Building plugin $@" 
    4366 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(VFS_RECYCLE_OBJ:.o=.po) \ 
    4367 +               -Wl,-soname=`basename $@` 
    4368 + 
    4369 +bin/netatalk.so: $(VFS_NETATALK_OBJ:.o=.po) 
    4370 +       @echo "Building plugin $@" 
    4371 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(VFS_NETATALK_OBJ:.o=.po) \ 
    4372 +               -Wl,-soname=`basename $@` 
    4373 + 
    4374 +bin/fake_perms.so: $(VFS_FAKE_PERMS_OBJ:.o=.po) 
    4375 +       @echo "Building plugin $@" 
    4376 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(VFS_FAKE_PERMS_OBJ:.o=.po) \ 
    4377 +               -Wl,-soname=`basename $@` 
    4378 + 
    4379 +bin/default_quota.so: $(VFS_DEFAULT_QUOTA_OBJ:.o=.po) 
    4380 +       @echo "Building plugin $@" 
    4381 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(VFS_DEFAULT_QUOTA_OBJ:.o=.po) \ 
    4382 +               -Wl,-soname=`basename $@` 
    4383 + 
    4384 +bin/readonly.so: $(VFS_READONLY_OBJ:.o=.po) 
    4385 +       @echo "Building plugin $@" 
    4386 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(VFS_READONLY_OBJ:.o=.po) \ 
    4387 +               -Wl,-soname=`basename $@` 
    4388 + 
    4389 +bin/shadow_copy.so: $(VFS_SHADOW_COPY_OBJ:.o=.po) 
    4390 +       @echo "Building plugin $@" 
    4391 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(VFS_SHADOW_COPY_OBJ:.o=.po) \ 
    4392 +               -Wl,-soname=`basename $@` 
    4393 + 
    4394 +bin/cap.so: $(VFS_CAP_OBJ:.o=.po) 
    4395 +       @echo "Building plugin $@" 
    4396 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(VFS_CAP_OBJ:.o=.po) \ 
    4397 +               -Wl,-soname=`basename $@` 
    4398 + 
    4399 +bin/expand_msdfs.so: $(VFS_EXPAND_MSDFS_OBJ:.o=.po) 
    4400 +       @echo "Building plugin $@" 
    4401 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(VFS_EXPAND_MSDFS_OBJ:.o=.po) \ 
    4402 +               -Wl,-soname=`basename $@` 
    4403 + 
    4404 +bin/afsacl.so: $(VFS_AFSACL_OBJ:.o=.po) 
    4405 +       @echo "Building plugin $@" 
    4406 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(VFS_AFSACL_OBJ:.o=.po) \ 
    4407 +               -Wl,-soname=`basename $@` 
    4408 + 
    4409 +bin/catia.so: $(VFS_CATIA_OBJ:.o=.po) 
    4410 +       @echo "Building plugin $@" 
    4411 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(VFS_CATIA_OBJ:.o=.po) \ 
    4412 +               -Wl,-soname=`basename $@` 
    4413 + 
    4414 + 
    4415 +bin/wbinfo: $(WBINFO_OBJ) $(POPT_OBJS) bin/.dummy 
    4416 +       @echo Linking $@ 
    4417 +       @$(CC) $(FLAGS)  -o $@ $(LDFLAGS) $(WBINFO_OBJ) $(DYNEXP) $(LIBS) $(POPT_OBJS) 
    4418 + 
    4419 +bin/ntlm_auth: $(NTLM_AUTH_OBJ) $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) \ 
    4420 +               $(POPT_OBJS) bin/.dummy 
    4421 +       @echo Linking $@ 
    4422 +       @$(CC) $(FLAGS)  -o $@ $(LDFLAGS) $(DYNEXP) $(NTLM_AUTH_OBJ) \ 
    4423 +               $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) $(LIBS) \ 
    4424 +               $(POPT_OBJS) $(KRB5LIBS) $(LDAP_LIBS) 
    4425 + 
    4426 +bin/pam_smbpass.so: $(PAM_SMBPASS_PICOOBJ) 
    4427 +       @echo "Linking shared library $@" 
    4428 +       @$(SHLD) $(LDSHFLAGS) -o $@ $(PAM_SMBPASS_PICOOBJ) -lpam $(DYNEXP) $(LIBS) -lc $(LDAP_LIBS) $(KRB5LIBS) 
    4429 + 
    4430 +bin/libmsrpc.a: $(LIBMSRPC_PICOBJ) 
    4431 +       @-$(AR) -rc $@ $(LIBMSRPC_PICOBJ)  
    4432 + 
    4433 +bin/tdbbackup: $(TDBBACKUP_OBJ) bin/.dummy 
    4434 +       @echo Linking $@ 
    4435 +       @$(CC) $(FLAGS)  -o $@ $(LDFLAGS) $(DYNEXP) $(LIBS) $(TDBBACKUP_OBJ)  
    4436 + 
    4437 +bin/tdbtool: $(TDBTOOL_OBJ) bin/.dummy 
    4438 +       @echo Linking $@ 
    4439 +       @$(CC) $(FLAGS)  -o $@ $(LDFLAGS) $(DYNEXP) $(LIBS) $(TDBTOOL_OBJ)  
    4440 + 
    4441 +bin/tdbdump: $(TDBDUMP_OBJ) bin/.dummy 
    4442 +       @echo Linking $@ 
    4443 +       @$(CC) $(FLAGS)  -o $@ $(LDFLAGS) $(DYNEXP) $(LIBS) $(TDBDUMP_OBJ)  
    4444 + 
    4445 +bin/t_strcmp: bin/libbigballofmud.so torture/t_strcmp.o 
    4446 +       $(CC) $(FLAGS)  -o $@ $(DYNEXP) $(LIBS) torture/t_strcmp.o -L ./bin -lbigballofmud 
    4447 + 
    4448 +bin/t_strstr: bin/libbigballofmud.so torture/t_strstr.o 
    4449 +       $(CC) $(FLAGS)  -o $@ $(DYNEXP) $(LIBS) torture/t_strstr.o -L ./bin -lbigballofmud 
    4450 + 
    4451 +bin/t_stringoverflow: bin/libbigballofmud.so torture/t_stringoverflow.o 
    4452 +       $(CC) $(FLAGS)  -o $@ $(DYNEXP) torture/t_stringoverflow.o -L./bin -lbigballofmud 
    4453 + 
    4454 +bin/t_doschar: bin/libbigballofmud.so torture/t_doschar.o 
    4455 +       $(CC) $(FLAGS)  -o $@ $(DYNEXP) $(LIBS) torture/t_doschar.o -L ./bin -lbigballofmud 
    4456 +bin/t_push_ucs2: bin/libbigballofmud.so torture/t_push_ucs2.o 
    4457 +       $(CC) $(FLAGS)  -o $@ $(DYNEXP) $(LIBS) torture/t_push_ucs2.o -L ./bin -lbigballofmud 
    4458 + 
    4459 +bin/t_snprintf: lib/snprintf.c 
    4460 +       $(CC) $(FLAGS)  -o $@ $(DYNEXP) -DTEST_SNPRINTF lib/snprintf.c -lm 
    4461 +install: installbin installman installscripts installdat installswat installmodules installclientlib 
    4462 + 
    4463 +install-everything: install installmodules 
    4464 + 
    4465 +# DESTDIR is used here to prevent packagers wasting their time 
    4466 +# duplicating the Makefile. Remove it and you will have the privelege 
    4467 +# of package each samba release for muliple versions of multiple 
    4468 +# distributions and operating systems, or at least supplying patches 
    4469 +# to all the packaging files required for this, prior to committing 
    4470 +# the removal of DESTDIR. Do not remove it even though you think it 
    4471 +# is not used 
    4472 + 
    4473 +installdirs: 
    4474 +       @$(SHELL) $(srcdir)/script/installdirs.sh $(DESTDIR)$(BASEDIR) $(DESTDIR)$(BINDIR) $(DESTDIR)$(SBINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(DESTDIR)$(PRIVATEDIR) $(DESTDIR)$(PIDDIR) $(DESTDIR)$(LOCKDIR) $(DESTDIR)$(MANDIR) 
    4475 + 
    4476 +installservers: all installdirs 
    4477 +       @$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(SBINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(SBIN_PROGS) 
    4478 + 
    4479 +installbin: all installdirs 
    4480 +       @$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(SBINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(SBIN_PROGS) 
    4481 +       @$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(BIN_PROGS) 
    4482 + 
    4483 + 
    4484 +# Some symlinks are required for the 'probing' of modules.  
    4485 +# This mechanism should go at some point.. 
    4486 +installmodules: modules installdirs 
    4487 +       @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(VFSLIBDIR) $(VFS_MODULES) 
    4488 +       @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(PDBLIBDIR) $(PDB_MODULES) 
    4489 +       @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(RPCLIBDIR) $(RPC_MODULES) 
    4490 +       @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(IDMAPLIBDIR) $(IDMAP_MODULES) 
    4491 +       @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(CHARSETLIBDIR) $(CHARSET_MODULES) 
    4492 +       @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(AUTHLIBDIR) $(AUTH_MODULES) 
    4493 +       @$(SHELL) $(srcdir)/script/linkmodules.sh $(DESTDIR)$(PDBLIBDIR) ldapsam.so ldapsam_compat.so 
    4494 +       @$(SHELL) $(srcdir)/script/linkmodules.sh $(DESTDIR)$(AUTHLIBDIR) rhosts.so hostsequiv.so 
    4495 +       @$(SHELL) $(srcdir)/script/linkmodules.sh $(DESTDIR)$(AUTHLIBDIR) sam.so sam_ignoredomain.so 
    4496 +       @$(SHELL) $(srcdir)/script/linkmodules.sh $(DESTDIR)$(AUTHLIBDIR) domain.so trustdomain.so ntdomain.so 
    4497 +       @$(SHELL) $(srcdir)/script/linkmodules.sh $(DESTDIR)$(AUTHLIBDIR) builtin.so guest.so fixed_challenge.so name_to_ntstatus.so 
    4498 + 
    4499 +installscripts: installdirs 
    4500 +       @$(SHELL) $(srcdir)/script/installscripts.sh $(INSTALLPERMS) $(DESTDIR)$(BINDIR) $(SCRIPTS) 
    4501 + 
    4502 +installdat: installdirs 
    4503 +       @$(SHELL) $(srcdir)/script/installdat.sh $(DESTDIR)$(LIBDIR) $(srcdir) 
    4504 + 
    4505 +installmsg: installdirs 
    4506 +       @$(SHELL) $(srcdir)/script/installmsg.sh $(DESTDIR)$(LIBDIR) $(srcdir) 
    4507 + 
    4508 +installswat: installdirs installmsg 
    4509 +       @$(SHELL) $(srcdir)/script/installswat.sh $(DESTDIR)$(SWATDIR) $(srcdir) 
    4510 + 
    4511 +installclientlib: installdirs libsmbclient 
    4512 +       @$(SHELL) $(srcdir)/script/installdirs.sh $(DESTDIR)$(LIBDIR) 
    4513 +       -$(INSTALLCLIENTCMD_SH) bin/libsmbclient.so $(DESTDIR)$(LIBDIR) 
    4514 +       -$(INSTALLCLIENTCMD_A) bin/libsmbclient.a $(DESTDIR)$(LIBDIR) 
    4515 +       @$(SHELL) $(srcdir)/script/installdirs.sh $(DESTDIR)${prefix}/include 
    4516 +       -$(INSTALLCMD) $(srcdir)/include/libsmbclient.h $(DESTDIR)${prefix}/include 
    4517 + 
    4518 +# Python extensions 
    4519 + 
    4520 +PYTHON_OBJS = $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) $(LIBSMB_OBJ) $(RPC_PARSE_OBJ) \ 
    4521 +       $(LIBMSRPC_OBJ) $(PASSDB_OBJ) $(GROUPDB_OBJ) \ 
    4522 +       $(SECRETS_OBJ) $(KRBCLIENT_OBJ) $(SMBLDAP_OBJ) 
    4523 + 
    4524 +PYTHON_PICOBJS = $(PYTHON_OBJS:.o=.po) 
    4525 + 
    4526 +python_ext: $(PYTHON_PICOBJS) 
    4527 +       @if test -z "$(PYTHON)"; then \ 
    4528 +               echo Use the option --with-python to configure python; \ 
    4529 +               exit 1; \ 
    4530 +       fi 
    4531 +       PYTHON_OBJS="$(PYTHON_PICOBJS)" \ 
    4532 +       PYTHON_CFLAGS="$(CFLAGS) $(CPPFLAGS) $(FLAGS)" \ 
    4533 +       LIBS="$(LDFLAGS) $(LIBS) $(PASSDB_LIBS) $(IDMAP_LIBS) $(KRB5LIBS) $(LDAP_LIBS)" \ 
    4534 +               $(PYTHON) python/setup.py build 
    4535 + 
    4536 +python_install: $(PYTHON_PICOBJS) 
    4537 +       @if test -z "$(PYTHON)"; then \ 
    4538 +               echo Use the option --with-python to configure python; \ 
    4539 +               exit 1; \ 
    4540 +       fi 
    4541 +       PYTHON_OBJS="$(PYTHON_PICOBJS)" \ 
    4542 +       PYTHON_CFLAGS="$(CFLAGS) $(CPPFLAGS)" \ 
    4543 +       LIBS="$(LDFLAGS) $(LIBS)" \ 
    4544 +               $(PYTHON) python/setup.py install 
    4545 + 
    4546 +python_clean: 
    4547 +       @-if test -n "$(PYTHON)"; then $(PYTHON) python/setup.py clean; fi 
    4548 + 
    4549 +# revert to the previously installed version 
    4550 +revert: 
    4551 +       @$(SHELL) $(srcdir)/script/revert.sh $(SBINDIR) $(SBIN_PROGS)  
    4552 +       @$(SHELL) $(srcdir)/script/revert.sh $(BINDIR) $(BIN_PROGS) $(SCRIPTS) 
    4553 + 
    4554 +installman: installdirs 
    4555 +       @$(SHELL) $(srcdir)/script/installman.sh $(DESTDIR)$(MANDIR) $(srcdir) C "" 
    4556 + 
    4557 +.PHONY: showlayout 
    4558 + 
    4559 +showlayout:  
    4560 +       @echo "Samba will be installed into:" 
    4561 +       @echo "  basedir:     $(BASEDIR)" 
    4562 +       @echo "  bindir:      $(BINDIR)" 
    4563 +       @echo "  sbindir:     $(SBINDIR)" 
    4564 +       @echo "  libdir:      $(LIBDIR)" 
    4565 +       @echo "  vardir:      $(VARDIR)" 
    4566 +       @echo "  mandir:      $(MANDIR)" 
    4567 +       @echo "  privatedir:  $(PRIVATE_DIR)" 
    4568 +       @echo "  configdir:   $(CONFIGDIR)" 
    4569 +       @echo "  lockdir:     $(LOCKDIR)" 
    4570 +       @echo "  piddir:      $(PIDDIR)" 
    4571 +       @echo "  swatdir:     $(SWATDIR)" 
    4572 + 
    4573 + 
    4574 +uninstall: uninstallman uninstallbin uninstallscripts uninstallmodules 
    4575 + 
    4576 +uninstallman: 
    4577 +       @$(SHELL) $(srcdir)/script/uninstallman.sh $(DESTDIR)$(MANDIR) $(srcdir) C 
    4578 + 
    4579 +uninstallbin: 
    4580 +       @$(SHELL) $(srcdir)/script/uninstallbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(SBINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(DESTDIR)$(SBIN_PROGS) 
    4581 +       @$(SHELL) $(srcdir)/script/uninstallbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(DESTDIR)$(BIN_PROGS) 
    4582 + 
    4583 +uninstallmodules: 
    4584 +       @$(SHELL) $(srcdir)/script/uninstallmodules.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(VFSLIBDIR) $(DESTDIR)$(VFS_MODULES) 
    4585 +       @$(SHELL) $(srcdir)/script/uninstallmodules.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(PDBLIBDIR) $(DESTDIR)$(PDB_MODULES) 
    4586 +       @$(SHELL) $(srcdir)/script/uninstallmodules.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(RPCLIBDIR) $(DESTDIR)$(RPC_MODULES) 
    4587 +       @$(SHELL) $(srcdir)/script/uninstallmodules.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(CHARSETLIBDIR) $(DESTDIR)$(CHARSET_MODULES) 
    4588 +       @$(SHELL) $(srcdir)/script/uninstallmodules.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(AUTHLIBDIR) $(DESTDIR)$(AUTH_MODULES) 
    4589 + 
    4590 +uninstallscripts: 
    4591 +       @$(SHELL) $(srcdir)/script/uninstallscripts.sh $(INSTALLPERMS) $(DESTDIR)$(BINDIR) $(SCRIPTS) 
    4592 + 
    4593 +# Toplevel clean files 
    4594 +TOPFILES=dynconfig.o dynconfig.po 
    4595 + 
    4596 +clean: delheaders python_clean 
    4597 +       -rm -f core */*~ *~ */*.o */*.po */*.so \ 
    4598 +               $(TOPFILES) $(BIN_PROGS) $(SBIN_PROGS) $(MODULES) $(TORTURE_PROGS) \ 
    4599 +               $(LIBSMBCLIENT) $(LIBSMBSHAREMODES) $(EVERYTHING_PROGS) .headers.stamp  
    4600 +       -rm -rf t_dir 
    4601 +       -rm -rf bin/lib* 
    4602 +       -find . -name *.o | xargs rm -f 
    4603 +       -find . -name *.po | xargs rm -f 
    4604 +       -find . -name *.so | xargs rm -f 
    4605 + 
    4606 +# Making this target will just make sure that the prototype files 
    4607 +# exist, not necessarily that they are up to date.  Since they're 
    4608 +# removed by "make clean" this will always be run when you do anything 
    4609 +# afterwards. 
    4610 +proto_exists: include/proto.h include/build_env.h \ 
    4611 +       nsswitch/winbindd_proto.h web/swat_proto.h \ 
    4612 +       client/client_proto.h utils/net_proto.h utils/ntlm_auth_proto.h 
    4613 + 
    4614 +# AR7  smbd/build_options.c 
    4615 + 
    4616 +delheaders: 
    4617 +       @echo Removing prototype headers 
    4618 +       @rm -f include/proto.h include/build_env.h  \ 
    4619 +               nsswitch/winbindd_proto.h web/swat_proto.h \ 
    4620 +               client/client_proto.h utils/net_proto.h \ 
    4621 +               smbd/build_options.c 
    4622 + 
    4623 +MKPROTO_SH = $(srcdir)/script/mkproto.sh 
    4624 + 
    4625 +# AR7 include/proto.h: smbd/build_options.c 
    4626 + 
    4627 +include/proto.h: 
    4628 +       @echo Building include/proto.h 
    4629 +       @cd $(srcdir) && $(SHELL) $(MKPROTO_SH) $(AWK) \ 
    4630 +         -h _PROTO_H_ $(builddir)/include/proto.h \ 
    4631 +         $(PROTO_OBJ) 
    4632 + 
    4633 +include/build_env.h: script/build_env.sh 
    4634 +       @echo Building include/build_env.h 
    4635 +       @$(SHELL) $(srcdir)/script/build_env.sh $(srcdir) $(builddir) $(CC) \ 
    4636 +         > $(builddir)/include/build_env.h 
    4637 + 
    4638 +nsswitch/winbindd_proto.h:  
    4639 +       @cd $(srcdir) && $(SHELL) $(MKPROTO_SH) $(AWK) \ 
    4640 +         -h _WINBINDD_PROTO_H_ $(builddir)/nsswitch/winbindd_proto.h \ 
    4641 +         $(WINBINDD_OBJ1) 
    4642 + 
    4643 +web/swat_proto.h:  
    4644 +       @cd $(srcdir) && $(SHELL) $(MKPROTO_SH) $(AWK) \ 
    4645 +         -h _SWAT_PROTO_H_ $(builddir)/web/swat_proto.h \ 
    4646 +         $(SWAT_OBJ1) 
    4647 + 
    4648 +client/client_proto.h:  
    4649 +       @cd $(srcdir) && $(SHELL) $(MKPROTO_SH) $(AWK) \ 
    4650 +         -h _CLIENT_PROTO_H_ $(builddir)/client/client_proto.h \ 
    4651 +         $(CLIENT_OBJ1) 
    4652 + 
    4653 +utils/net_proto.h:  
    4654 +       @cd $(srcdir) && $(SHELL) $(MKPROTO_SH) $(AWK) \ 
    4655 +         -h _NET_PROTO_H_ $(builddir)/utils/net_proto.h \ 
    4656 +         $(NET_OBJ1) 
    4657 + 
    4658 +utils/ntlm_auth_proto.h:  
    4659 +       @cd $(srcdir) && $(SHELL) $(MKPROTO_SH) $(AWK) \ 
    4660 +         -h _NTLM_AUTH_PROTO_H_ $(builddir)/utils/ntlm_auth_proto.h \ 
    4661 +         $(NTLM_AUTH_OBJ1) 
    4662 + 
    4663 +# "make headers" or "make proto" calls a subshell because we need to 
    4664 +# make sure these commands are executed in sequence even for a 
    4665 +# parallel make. 
    4666 +headers:  
    4667 +       $(MAKE) delheaders; \ 
    4668 +       $(MAKE) smbd/build_options.c; \ 
    4669 +       $(MAKE) include/proto.h; \ 
    4670 +       $(MAKE) include/build_env.h; \ 
    4671 +       $(MAKE) nsswitch/winbindd_proto.h; \ 
    4672 +       $(MAKE) web/swat_proto.h; \ 
    4673 +       $(MAKE) client/client_proto.h; \ 
    4674 +       $(MAKE) utils/ntlm_auth_proto.h; \ 
    4675 +       $(MAKE) utils/net_proto.h; 
    4676 + 
    4677 +proto: headers  
    4678 + 
    4679 +.PHONY: headers proto 
    4680 + 
    4681 +etags: 
    4682 +       etags `find $(srcdir) -name "*.[ch]" | grep -v /CVS/` 
    4683 + 
    4684 +ctags: 
    4685 +       ctags `find $(srcdir) -name "*.[ch]" | grep -v /CVS/` 
    4686 + 
    4687 +realclean: clean delheaders 
    4688 +       -rm -f config.log bin/.dummy script/findsmb 
    4689 + 
    4690 +distclean: realclean 
    4691 +       -rm -f include/stamp-h 
    4692 +       -rm -f include/config.h Makefile 
    4693 +       -rm -f config.status config.cache so_locations 
    4694 +       -rm -rf .deps TAGS 
    4695 + 
    4696 +realdistclean: distclean 
    4697 +       -rm -f include/config.h.in 
    4698 +       -rm -f include/version.h 
    4699 +       -rm -f configure 
    4700 + 
    4701 +# this target is really just for my use. It only works on a limited 
    4702 +# range of machines and is used to produce a list of potentially 
    4703 +# dead (ie. unused) functions in the code. (tridge) 
    4704 +finddead: 
    4705 +       nm */*.o |grep 'U ' | awk '{print $$2}' | sort -u > nmused.txt 
    4706 +       nm */*.o |grep 'T ' | awk '{print $$3}' | sort -u > nmfns.txt 
    4707 +       comm -13 nmused.txt nmfns.txt  
    4708 + 
    4709 + 
    4710 +# when configure.in is updated, reconfigure 
    4711 +$(srcdir)/configure: $(srcdir)/configure.in 
    4712 +       @echo "WARNING: you need to rerun ./autogen.sh" 
    4713 + 
    4714 +config.status: $(srcdir)/configure 
    4715 +       @echo "WARNING: you need to run ./configure" 
    4716 + 
    4717 +# AR7 Makefile: $(srcdir)/Makefile.in config.status 
    4718 +# AR7 @echo "WARNING: you need to run ./config.status" 
    4719 + 
    4720 +###################################################################### 
    4721 +# Samba Testing Framework 
    4722 + 
    4723 +# FIXME: LD_LIBRARY_PATH is not portable, but in the absence of 
    4724 +# libtool I don't know a better way to do it.  Perhaps we should fix 
    4725 +# libbigballofmud to link statically? 
    4726 +## 
    4727 +## not working...to be replaced by 'make test' --jerry 
    4728 +## 
    4729 +#check: check-programs 
    4730 +#      LD_LIBRARY_PATH="`pwd`/bin:$$LD_LIBRARY_PATH" \ 
    4731 +#      PATH="`pwd`/bin:$$PATH" \ 
    4732 +#      python stf/standardcheck.py; \ 
    4733 +#      if test -n "$(PYTHON)"; then \ 
    4734 +#              python stf/pythoncheck.py; \ 
    4735 +#      fi 
    4736 + 
    4737 +# These are called by the test suite and need to be built before 
    4738 +# running it.  For the time being we don't build all of BIN_PROGS, 
    4739 +# because they're not all needed. 
    4740 +check-programs: bin/t_strcmp bin/t_strstr bin/t_push_ucs2 bin/smbcontrol bin/t_snprintf 
    4741 + 
    4742 +test: all 
    4743 +       @if test -z "$(SMB4TORTURE)"; then \ 
    4744 +               echo "Please set the SMB4TORTURE environment variable"; \ 
    4745 +               exit 1; \ 
    4746 +       fi 
    4747 +       ./script/smb4torture.sh `pwd`/prefix-test $(SMB4TORTURE) 
    4748 diff -urN samba-3.0.24.orig/source/passdb/lookup_sid.c samba-3.0.24/source/passdb/lookup_sid.c 
    4749 --- samba-3.0.24.orig/source/passdb/lookup_sid.c        2007-02-04 19:59:21.000000000 +0100 
    4750 +++ samba-3.0.24/source/passdb/lookup_sid.c     2007-08-07 09:38:18.000000000 +0200 
    4751 @@ -421,10 +421,10 @@ 
    4752                         return False; 
    4753                 } 
    4754   
    4755 -               become_root_uid_only(); 
    4756 +               become_root(); 
    4757                 result = pdb_lookup_rids(domain_sid, num_rids, rids, 
    4758                                          *names, *types); 
    4759 -               unbecome_root_uid_only(); 
    4760 +               unbecome_root(); 
    4761   
    4762                 return (NT_STATUS_IS_OK(result) || 
    4763                         NT_STATUS_EQUAL(result, NT_STATUS_NONE_MAPPED) || 
    4764 @@ -1085,9 +1085,9 @@ 
    4765                 goto done; 
    4766         } 
    4767   
    4768 -       become_root_uid_only(); 
    4769 +       become_root(); 
    4770         ret = pdb_uid_to_rid(uid, &rid); 
    4771 -       unbecome_root_uid_only(); 
    4772 +       unbecome_root(); 
    4773   
    4774         if (ret) { 
    4775                 /* This is a mapped user */ 
    4776 @@ -1131,9 +1131,9 @@ 
    4777                 goto done; 
    4778         } 
    4779   
    4780 -       become_root_uid_only(); 
    4781 +       become_root(); 
    4782         ret = pdb_gid_to_sid(gid, psid); 
    4783 -       unbecome_root_uid_only(); 
    4784 +       unbecome_root(); 
    4785   
    4786         if (ret) { 
    4787                 /* This is a mapped group */ 
    4788 @@ -1179,9 +1179,9 @@ 
    4789                 union unid_t id; 
    4790                 BOOL ret; 
    4791   
    4792 -               become_root_uid_only(); 
    4793 +               become_root(); 
    4794                 ret = pdb_sid_to_id(psid, &id, &type); 
    4795 -               unbecome_root_uid_only(); 
    4796 +               unbecome_root(); 
    4797   
    4798                 if (ret) { 
    4799                         if (type != SID_NAME_USER) { 
    4800 @@ -1259,9 +1259,9 @@ 
    4801              sid_check_is_in_wellknown_domain(psid))) { 
    4802                 BOOL ret; 
    4803   
    4804 -               become_root_uid_only(); 
    4805 +               become_root(); 
    4806                 ret = pdb_getgrsid(&map, *psid); 
    4807 -               unbecome_root_uid_only(); 
    4808 +               unbecome_root(); 
    4809   
    4810                 if (ret) { 
    4811                         *pgid = map.gid; 
    4812 @@ -1273,9 +1273,9 @@ 
    4813         if (sid_peek_check_rid(get_global_sam_sid(), psid, &rid)) { 
    4814                 BOOL ret; 
    4815   
    4816 -               become_root_uid_only(); 
    4817 +               become_root(); 
    4818                 ret = pdb_sid_to_id(psid, &id, &type); 
    4819 -               unbecome_root_uid_only(); 
    4820 +               unbecome_root(); 
    4821   
    4822                 if (ret) { 
    4823                         if ((type != SID_NAME_DOM_GRP) && 
    4824 diff -urN samba-3.0.24.orig/source/printing/nt_printing.c samba-3.0.24/source/printing/nt_printing.c 
    4825 --- samba-3.0.24.orig/source/printing/nt_printing.c     2007-02-04 20:09:01.000000000 +0100 
    4826 +++ samba-3.0.24/source/printing/nt_printing.c  2007-08-07 09:38:18.000000000 +0200 
    4827 @@ -2984,11 +2984,15 @@ 
    4828         return True; 
    4829  } 
    4830   
    4831 +/***************************************************************** 
    4832 + ****************************************************************/ 
    4833 + 
    4834  static void store_printer_guid(NT_PRINTER_INFO_LEVEL_2 *info2,  
    4835                                struct uuid guid) 
    4836  { 
    4837         int i; 
    4838         REGVAL_CTR *ctr=NULL; 
    4839 +       UNISTR2 unistr_guid; 
    4840   
    4841         /* find the DsSpooler key */ 
    4842         if ((i = lookup_printerkey(info2->data, SPOOL_DSSPOOLER_KEY)) < 0) 
    4843 @@ -2996,8 +3000,18 @@ 
    4844         ctr = info2->data->keys[i].values; 
    4845   
    4846         regval_ctr_delvalue(ctr, "objectGUID"); 
    4847 -       regval_ctr_addvalue(ctr, "objectGUID", REG_BINARY,  
    4848 -                           (char *) &guid, sizeof(struct uuid));        
    4849 + 
    4850 +       /* We used to store this as a REG_BINARY but that causes 
    4851 +          Vista to whine */ 
    4852 + 
    4853 +       ZERO_STRUCT( unistr_guid );      
    4854 +       init_unistr2( &unistr_guid, smb_uuid_string_static(guid), 
    4855 +                     UNI_STR_TERMINATE ); 
    4856 + 
    4857 +       regval_ctr_addvalue(ctr, "objectGUID", REG_SZ,  
    4858 +                           (char *)unistr_guid.buffer,  
    4859 +                           unistr_guid.uni_max_len*2); 
    4860 +        
    4861  } 
    4862   
    4863  static WERROR nt_printer_publish_ads(ADS_STRUCT *ads, 
    4864 @@ -3254,6 +3268,7 @@ 
    4865         REGISTRY_VALUE *guid_val; 
    4866         WERROR win_rc; 
    4867         int i; 
    4868 +       BOOL ret = False; 
    4869   
    4870         win_rc = get_a_printer(print_hnd, &printer, 2, lp_servicename(snum)); 
    4871   
    4872 @@ -3267,12 +3282,36 @@ 
    4873                 return False; 
    4874         } 
    4875   
    4876 -       /* fetching printer guids really ought to be a separate function.. */ 
    4877 -       if (guid && regval_size(guid_val) == sizeof(struct uuid)) 
    4878 -               memcpy(guid, regval_data_p(guid_val), sizeof(struct uuid)); 
    4879 +       /* fetching printer guids really ought to be a separate function. */ 
    4880 + 
    4881 +       if ( guid ) {    
    4882 +               fstring guid_str; 
    4883 +                
    4884 +               /* We used to store the guid as REG_BINARY, then swapped  
    4885 +                  to REG_SZ for Vista compatibility so check for both */ 
    4886 + 
    4887 +               switch ( regval_type(guid_val) ){ 
    4888 +               case REG_SZ:             
    4889 +                       rpcstr_pull( guid_str, regval_data_p(guid_val),  
    4890 +                                    sizeof(guid_str)-1, -1, STR_TERMINATE ); 
    4891 +                       ret = smb_string_to_uuid( guid_str, guid ); 
    4892 +                       break;                   
    4893 +               case REG_BINARY: 
    4894 +                       if ( regval_size(guid_val) != sizeof(struct uuid) ) { 
    4895 +                               ret = False; 
    4896 +                               break; 
    4897 +                       } 
    4898 +                       memcpy(guid, regval_data_p(guid_val), sizeof(struct uuid)); 
    4899 +                       break; 
    4900 +               default: 
    4901 +                       DEBUG(0,("is_printer_published: GUID value stored as " 
    4902 +                                "invaluid type (%d)\n", regval_type(guid_val) ));                       
    4903 +                       break; 
     289+#endif 
     290+ 
     291+       if (buf != strstr(buf, "/var/media/ftp")) goto no; 
     292+       c = buf[strlen("/var/media/ftp")]; 
     293+       if (c != '/' && c != '\0') goto no; 
     294+ 
     295+Log(("IsAllowed: %s ok", pa)); 
     296+       if (path) free(path); 
     297+       return 1; 
     298+ 
     299+no: 
     300+       Log(("IsAllowed: %s not allowed", pa ? pa : "(null)")); 
     301+       if (path) free(path); 
     302+       return 0; 
     303+} 
     304+#endif 
     305+ 
     306+ 
     307+ 
     308 /* Check for NULL pointer parameters in vfswrap_* functions */ 
     309  
     310 /* We don't want to have NULL function pointers lying around.  Someone 
     311@@ -88,6 +160,10 @@ 
     312  
     313 static int vfswrap_statvfs(struct vfs_handle_struct *handle,  const char *path, vfs_statvfs_struct *statbuf) 
     314 { 
     315+#ifdef AVM_SEC 
     316+       if (!IsAllowed(path)) { errno = EACCES; return -1; } 
     317+#endif 
     318+ 
     319        return sys_statvfs(path, statbuf); 
     320 } 
     321  
     322@@ -97,6 +173,10 @@ 
     323 { 
     324        SMB_STRUCT_DIR *result; 
     325  
     326+#ifdef AVM_SEC 
     327+       if (!IsAllowed(fname)) { errno = EACCES; return 0; } 
     328+#endif 
     329+ 
     330        START_PROFILE(syscall_opendir); 
     331        result = sys_opendir(fname); 
     332        END_PROFILE(syscall_opendir); 
     333@@ -141,6 +221,10 @@ 
     334        int result; 
     335        BOOL has_dacl = False; 
     336  
     337+#ifdef AVM_SEC 
     338+       if (!IsAllowed(path)) { errno = EACCES; return -1; } 
     339+#endif 
     340+ 
     341        START_PROFILE(syscall_mkdir); 
     342  
     343        if (lp_inherit_acls(SNUM(handle->conn)) && (has_dacl = directory_has_default_acl(handle->conn, parent_dirname(path)))) 
     344@@ -169,6 +253,10 @@ 
     345 { 
     346        int result; 
     347  
     348+#ifdef AVM_SEC 
     349+       if (!IsAllowed(path)) { errno = EACCES; return -1; } 
     350+#endif 
     351+ 
     352        START_PROFILE(syscall_rmdir); 
     353        result = rmdir(path); 
     354        END_PROFILE(syscall_rmdir); 
     355@@ -192,6 +280,10 @@ 
     356 { 
     357        int result; 
     358  
     359+#ifdef AVM_SEC 
     360+       if (!IsAllowed(fname)) { errno = EACCES; return -1; } 
     361+#endif 
     362+ 
     363        START_PROFILE(syscall_open); 
     364        result = sys_open(fname, flags, mode); 
     365        END_PROFILE(syscall_open); 
     366@@ -361,6 +453,11 @@ 
     367        int ifd = -1; 
     368        int ofd = -1; 
     369  
     370+#ifdef AVM_SEC 
     371+       if (!IsAllowed(source)) { errno = EACCES; return -1; } 
     372+       if (!IsAllowed(dest)) { errno = EACCES; return -1; } 
     373+#endif 
     374+ 
     375        if (sys_lstat (source, &source_stats) == -1) 
     376                return -1; 
     377  
     378@@ -442,6 +539,11 @@ 
     379 { 
     380        int result; 
     381  
     382+#ifdef AVM_SEC 
     383+       if (!IsAllowed(oldname)) { errno = EACCES; return -1; } 
     384+       if (!IsAllowed(newname)) { errno = EACCES; return -1; } 
     385+#endif 
     386+ 
     387        START_PROFILE(syscall_rename); 
     388        result = rename(oldname, newname); 
     389        if ((result == -1) && (errno == EXDEV)) { 
     390@@ -471,6 +573,10 @@ 
     391 { 
     392        int result; 
     393  
     394+#ifdef AVM_SEC 
     395+       if (!IsAllowed(fname)) { errno = EACCES; return -1; } 
     396+#endif 
     397+ 
     398        START_PROFILE(syscall_stat); 
     399        result = sys_stat(fname, sbuf); 
     400        END_PROFILE(syscall_stat); 
     401@@ -491,6 +597,10 @@ 
     402 { 
     403        int result; 
     404  
     405+#ifdef AVM_SEC 
     406+       if (!IsAllowed(path)) { errno = EACCES; return -1; } 
     407+#endif 
     408+ 
     409        START_PROFILE(syscall_lstat); 
     410        result = sys_lstat(path, sbuf); 
     411        END_PROFILE(syscall_lstat); 
     412@@ -501,6 +611,10 @@ 
     413 { 
     414        int result; 
     415  
     416+#ifdef AVM_SEC 
     417+       if (!IsAllowed(path)) { errno = EACCES; return -1; } 
     418+#endif 
     419+ 
     420        START_PROFILE(syscall_unlink); 
     421        result = unlink(path); 
     422        END_PROFILE(syscall_unlink); 
     423@@ -511,6 +625,10 @@ 
     424 { 
     425        int result; 
     426  
     427+#ifdef AVM_SEC 
     428+       if (!IsAllowed(path)) { errno = EACCES; return -1; } 
     429+#endif 
     430+ 
     431        START_PROFILE(syscall_chmod); 
     432  
     433        /* 
     434@@ -572,6 +690,10 @@ 
     435 { 
     436        int result; 
     437  
     438+#ifdef AVM_SEC 
     439+       if (!IsAllowed(path)) { errno = EACCES; return -1; } 
     440+#endif 
     441+ 
     442        START_PROFILE(syscall_chown); 
     443        result = sys_chown(path, uid, gid); 
     444        END_PROFILE(syscall_chown); 
     445@@ -597,6 +719,10 @@ 
     446 { 
     447        int result; 
     448  
     449+#ifdef AVM_SEC 
     450+       if (!IsAllowed(path)) { errno = EACCES; return -1; } 
     451+#endif 
     452+ 
     453        START_PROFILE(syscall_chdir); 
     454        result = chdir(path); 
     455        END_PROFILE(syscall_chdir); 
     456@@ -717,6 +843,44 @@ 
     457                return result; 
     458        } 
     459  
     460+#if 1 // AVM patch - don't growth the file  (too much time and RAM for copy of large files to USB1.1 FAT filesystem) 
     461+       { 
     462+       SMB_BIG_UINT big_len = len; 
     463+ 
     464+       result = SMB_VFS_FSTAT(fsp,fsp->fh->fd,&st); 
     465+       if (result == -1) { 
     466+               goto done; 
     467+       } 
     468+ 
     469+       if (big_len == (SMB_BIG_UINT)st.st_size) { 
     470+               result = 0; 
     471+               goto done; 
     472+       } 
     473+ 
     474+       if (big_len > (SMB_BIG_UINT)st.st_size) { 
     475+               SMB_BIG_UINT space_avail; 
     476+               SMB_BIG_UINT bsize,dfree,dsize; 
     477+               big_len -= st.st_size; 
     478+               big_len /= 1024; /* Len is now number of 1k blocks needed. */ 
     479+               space_avail = SMB_VFS_DISK_FREE(fsp->conn ,fsp->fsp_name,False,&bsize,&dfree,&dsize); 
     480+               if (space_avail == (SMB_BIG_UINT)-1) { 
     481+                       result = -1; 
     482+                       goto done; 
    4904483+               } 
     484+ 
     485+               if (big_len > space_avail) { 
     486+                       errno = ENOSPC; 
     487+                       result = -1; 
     488+                       goto done; 
     489+               } 
     490+ 
     491+               // do nothing to be fast! 
     492+               result = 0; 
     493+               goto done; 
    4905494+       } 
    4906   
    4907         free_a_printer(&printer, 2); 
    4908 -       return True; 
    4909 +       return ret; 
    4910  } 
    4911  #else 
    4912  WERROR nt_printer_publish(Printer_entry *print_hnd, int snum, int action) 
    4913 @@ -3539,13 +3578,43 @@ 
    4914                         break; 
    4915                 } 
    4916                  
    4917 -               /* add the new value */ 
    4918 +               DEBUG(8,("specific: [%s:%s], len: %d\n", keyname, valuename, size)); 
    4919 + 
    4920 +               /* Vista doesn't like unknown REG_BINARY values in DsSpooler.   
    4921 +                  Thanks to Martin Zielinski for the hint. */ 
    4922 + 
    4923 +               if ( type == REG_BINARY &&  
    4924 +                    strequal( keyname, SPOOL_DSSPOOLER_KEY ) &&  
    4925 +                    strequal( valuename, "objectGUID" ) )  
    4926 +               { 
    4927 +                       struct uuid guid; 
    4928 +                       UNISTR2 unistr_guid; 
    4929 + 
    4930 +                       ZERO_STRUCT( unistr_guid ); 
    4931 +                        
    4932 +                       /* convert the GUID to a UNICODE string */ 
    4933 +                        
    4934 +                       memcpy( &guid, data_p, sizeof(struct uuid) ); 
    4935 +                        
    4936 +                       init_unistr2( &unistr_guid, smb_uuid_string_static(guid),  
    4937 +                                     UNI_STR_TERMINATE ); 
    4938 +                        
    4939 +                       regval_ctr_addvalue( printer_data->keys[key_index].values,  
    4940 +                                            valuename, REG_SZ,  
    4941 +                                            (const char *)unistr_guid.buffer,  
    4942 +                                            unistr_guid.uni_str_len*2 ); 
    4943 + 
    4944 +               } else { 
    4945 +                       /* add the value */ 
    4946 + 
    4947 +                       regval_ctr_addvalue( printer_data->keys[key_index].values,  
    4948 +                                            valuename, type, (const char *)data_p,  
    4949 +                                            size ); 
    4950 +               } 
    4951                  
    4952 -               regval_ctr_addvalue( printer_data->keys[key_index].values, valuename, type, (const char *)data_p, size ); 
    4953   
    4954                 SAFE_FREE(data_p); /* 'B' option to tdbpack does a malloc() */ 
    4955   
    4956 -               DEBUG(8,("specific: [%s:%s], len: %d\n", keyname, valuename, size)); 
    4957         } 
    4958   
    4959         return len; 
    4960 diff -urN samba-3.0.24.orig/source/printing/print_generic.c samba-3.0.24/source/printing/print_generic.c 
    4961 --- samba-3.0.24.orig/source/printing/print_generic.c   2007-02-04 19:59:13.000000000 +0100 
    4962 +++ samba-3.0.24/source/printing/print_generic.c        2007-08-07 09:38:18.000000000 +0200 
    4963 @@ -58,7 +58,7 @@ 
    4964         if ( do_sub && snum != -1 ) 
    4965                 standard_sub_snum(snum,syscmd,sizeof(syscmd)); 
    4966                  
    4967 -       ret = smbrun(syscmd,outfd); 
    4968 +       ret = smbrun_no_sanitize(syscmd,outfd); 
    4969   
    4970         DEBUG(3,("Running the command `%s' gave %d\n",syscmd,ret)); 
    4971   
    4972 diff -urN samba-3.0.24.orig/source/registry/regfio.c samba-3.0.24/source/registry/regfio.c 
    4973 --- samba-3.0.24.orig/source/registry/regfio.c  2007-02-04 19:59:26.000000000 +0100 
    4974 +++ samba-3.0.24/source/registry/regfio.c       2007-08-07 09:38:18.000000000 +0200 
    4975 @@ -642,8 +642,12 @@ 
    4976                 return False; 
    4977   
    4978         if ( UNMARSHALLING(&hbin->ps) ) { 
    4979 -               if ( !(lf->hashes = PRS_ALLOC_MEM( &hbin->ps, REGF_HASH_REC, lf->num_keys )) ) 
    4980 -                       return False; 
    4981 +               if (lf->num_keys) { 
    4982 +                       if ( !(lf->hashes = PRS_ALLOC_MEM( &hbin->ps, REGF_HASH_REC, lf->num_keys )) ) 
    4983 +                               return False; 
    4984 +               } else { 
    4985 +                       lf->hashes = NULL; 
    4986 +               } 
    4987         } 
    4988   
    4989         for ( i=0; i<lf->num_keys; i++ ) { 
    4990 diff -urN samba-3.0.24.orig/source/registry/reg_frontend.c samba-3.0.24/source/registry/reg_frontend.c 
    4991 --- samba-3.0.24.orig/source/registry/reg_frontend.c    2005-11-09 19:29:03.000000000 +0100 
    4992 +++ samba-3.0.24/source/registry/reg_frontend.c 2007-07-17 13:19:05.000000000 +0200 
     495+       } // block 
     496+#endif // AVM Patch 
     497+ 
     498        /* we used to just check HAVE_FTRUNCATE_EXTEND and only use 
     499           sys_ftruncate if the system supports it. Then I discovered that 
     500           you can have some filesystems that support ftruncate 
     501@@ -830,6 +994,11 @@ 
     502 { 
     503        int result; 
     504  
     505+#ifdef AVM_SEC 
     506+       if (!IsAllowed(oldpath)) { errno = EACCES; return -1; } 
     507+       if (!IsAllowed(newpath)) { errno = EACCES; return -1; } 
     508+#endif 
     509+ 
     510        START_PROFILE(syscall_symlink); 
     511        result = sys_symlink(oldpath, newpath); 
     512        END_PROFILE(syscall_symlink); 
     513@@ -840,6 +1009,10 @@ 
     514 { 
     515        int result; 
     516  
     517+#ifdef AVM_SEC 
     518+       if (!IsAllowed(path)) { errno = EACCES; return -1; } 
     519+#endif 
     520+ 
     521        START_PROFILE(syscall_readlink); 
     522        result = sys_readlink(path, buf, bufsiz); 
     523        END_PROFILE(syscall_readlink); 
     524@@ -850,6 +1023,11 @@ 
     525 { 
     526        int result; 
     527  
     528+#ifdef AVM_SEC 
     529+       if (!IsAllowed(oldpath)) { errno = EACCES; return -1; } 
     530+       if (!IsAllowed(newpath)) { errno = EACCES; return -1; } 
     531+#endif 
     532+ 
     533        START_PROFILE(syscall_link); 
     534        result = sys_link(oldpath, newpath); 
     535        END_PROFILE(syscall_link); 
     536@@ -860,6 +1038,9 @@ 
     537 { 
     538        int result; 
     539  
     540+#ifdef AVM_SEC 
     541+       if (!IsAllowed(pathname)) { errno = EACCES; return -1; } 
     542+#endif 
     543        START_PROFILE(syscall_mknod); 
     544        result = sys_mknod(pathname, mode, dev); 
     545        END_PROFILE(syscall_mknod); 
     546@@ -870,6 +1051,9 @@ 
     547 { 
     548        char *result; 
     549  
     550+#ifdef AVM_SEC 
     551+       if (!IsAllowed(path)) { errno = EACCES; return 0; } 
     552+#endif 
     553        START_PROFILE(syscall_realpath); 
     554        result = sys_realpath(path, resolved_path); 
     555        END_PROFILE(syscall_realpath); 
     556Index: samba-3.0.37/source/param/loadparm.c 
     557=================================================================== 
     558--- samba-3.0.37.orig/source/param/loadparm.c   2009-09-30 14:21:56.000000000 +0200 
     559+++ samba-3.0.37/source/param/loadparm.c        2011-08-09 00:02:34.874444169 +0200 
     560@@ -2713,8 +2713,11 @@ 
     561  
     562        slprintf(comment, sizeof(comment) - 1, 
     563                 "IPC Service (%s)", Globals.szServerString); 
     564- 
     565+#if 0 /* AVM */ 
     566+       string_set(&ServicePtrs[i]->szPath, "/var/media/ftp"); 
     567+#else 
     568        string_set(&ServicePtrs[i]->szPath, tmpdir()); 
     569+#endif 
     570        string_set(&ServicePtrs[i]->szUsername, ""); 
     571        string_set(&ServicePtrs[i]->comment, comment); 
     572        string_set(&ServicePtrs[i]->fstype, "IPC"); 
     573Index: samba-3.0.37/source/registry/reg_frontend.c 
     574=================================================================== 
     575--- samba-3.0.37.orig/source/registry/reg_frontend.c    2009-09-30 14:21:56.000000000 +0200 
     576+++ samba-3.0.37/source/registry/reg_frontend.c 2011-08-09 00:02:34.874444169 +0200 
    4993577@@ -35,9 +35,11 @@ 
    4994578  
     
    5003587 #endif 
    5004588   { NULL, NULL } 
    5005 diff -urN samba-3.0.24.orig/source/rpc_client/cli_pipe.c samba-3.0.24/source/rpc_client/cli_pipe.c 
    5006 --- samba-3.0.24.orig/source/rpc_client/cli_pipe.c      2007-02-04 19:59:11.000000000 +0100 
    5007 +++ samba-3.0.24/source/rpc_client/cli_pipe.c   2007-07-17 13:19:05.000000000 +0200 
     589Index: samba-3.0.37/source/rpc_client/cli_pipe.c 
     590=================================================================== 
     591--- samba-3.0.37.orig/source/rpc_client/cli_pipe.c      2009-09-30 14:21:56.000000000 +0200 
     592+++ samba-3.0.37/source/rpc_client/cli_pipe.c   2011-08-09 00:02:34.874444169 +0200 
    5008593@@ -619,7 +619,11 @@ 
    5009594  
     
    5018603                                cli->pipe_name, 
    5019604                                (unsigned int)cli->fnum)); 
    5020 diff -urN samba-3.0.24.orig/source/rpc_parse/parse_dfs.c samba-3.0.24/source/rpc_parse/parse_dfs.c 
    5021 --- samba-3.0.24.orig/source/rpc_parse/parse_dfs.c      2007-02-04 19:59:22.000000000 +0100 
    5022 +++ samba-3.0.24/source/rpc_parse/parse_dfs.c   2007-08-07 09:38:18.000000000 +0200 
    5023 @@ -325,7 +325,9 @@ 
    5024                         return False; 
    5025                  
    5026                 if (UNMARSHALLING(ps)) { 
    5027 -                       v->stores = (void *)PRS_ALLOC_MEM_VOID(ps,sizeof(*v->stores)*v->num_stores); 
    5028 +                       v->stores = PRS_ALLOC_MEM(ps,NETDFS_DFS_STORAGEINFO,v->num_stores); 
    5029 +                       if (!v->stores) 
    5030 +                               return False; 
    5031                 } 
    5032                 for (i_stores_1=0; i_stores_1<v->num_stores;i_stores_1++) { 
    5033                         if (!netdfs_io_dfs_StorageInfo_p("stores", &v->stores[i_stores_1], ps, depth)) 
    5034 @@ -447,7 +449,9 @@ 
    5035                         return False; 
    5036                  
    5037                 if (UNMARSHALLING(ps)) { 
    5038 -                       v->stores = (void *)PRS_ALLOC_MEM_VOID(ps,sizeof(*v->stores)*v->num_stores); 
    5039 +                       v->stores = PRS_ALLOC_MEM(ps,NETDFS_DFS_STORAGEINFO,v->num_stores); 
    5040 +                       if (!v->stores) 
    5041 +                               return False; 
    5042                 } 
    5043                 for (i_stores_1=0; i_stores_1<v->num_stores;i_stores_1++) { 
    5044                         if (!netdfs_io_dfs_StorageInfo_p("stores", &v->stores[i_stores_1], ps, depth)) 
    5045 @@ -920,7 +924,9 @@ 
    5046                         return False; 
    5047                  
    5048                 if (UNMARSHALLING(ps)) { 
    5049 -                       v->s = (void *)PRS_ALLOC_MEM_VOID(ps,sizeof(*v->s)*v->count); 
    5050 +                       v->s = PRS_ALLOC_MEM(ps,NETDFS_DFS_INFO1,v->count); 
    5051 +                       if (!v->s) 
    5052 +                               return False; 
    5053                 } 
    5054                 for (i_s_1=0; i_s_1<v->count;i_s_1++) { 
    5055                         if (!netdfs_io_dfs_Info1_p("s", &v->s[i_s_1], ps, depth)) 
    5056 @@ -986,7 +992,9 @@ 
    5057                         return False; 
    5058                  
    5059                 if (UNMARSHALLING(ps)) { 
    5060 -                       v->s = (void *)PRS_ALLOC_MEM_VOID(ps,sizeof(*v->s)*v->count); 
    5061 +                       v->s = PRS_ALLOC_MEM(ps,NETDFS_DFS_INFO2,v->count); 
    5062 +                       if (!v->s) 
    5063 +                               return False; 
    5064                 } 
    5065                 for (i_s_1=0; i_s_1<v->count;i_s_1++) { 
    5066                         if (!netdfs_io_dfs_Info2_p("s", &v->s[i_s_1], ps, depth)) 
    5067 @@ -1052,7 +1060,9 @@ 
    5068                         return False; 
    5069                  
    5070                 if (UNMARSHALLING(ps)) { 
    5071 -                       v->s = (void *)PRS_ALLOC_MEM_VOID(ps,sizeof(*v->s)*v->count); 
    5072 +                       v->s = PRS_ALLOC_MEM(ps,NETDFS_DFS_INFO3,v->count); 
    5073 +                       if (!v->s) 
    5074 +                               return False; 
    5075                 } 
    5076                 for (i_s_1=0; i_s_1<v->count;i_s_1++) { 
    5077                         if (!netdfs_io_dfs_Info3_p("s", &v->s[i_s_1], ps, depth)) 
    5078 @@ -1118,7 +1128,9 @@ 
    5079                         return False; 
    5080                  
    5081                 if (UNMARSHALLING(ps)) { 
    5082 -                       v->s = (void *)PRS_ALLOC_MEM_VOID(ps,sizeof(*v->s)*v->count); 
    5083 +                       v->s = PRS_ALLOC_MEM(ps,NETDFS_DFS_INFO4,v->count); 
    5084 +                       if (!v->s) 
    5085 +                               return False; 
    5086                 } 
    5087                 for (i_s_1=0; i_s_1<v->count;i_s_1++) { 
    5088                         if (!netdfs_io_dfs_Info4_p("s", &v->s[i_s_1], ps, depth)) 
    5089 @@ -1184,7 +1196,9 @@ 
    5090                         return False; 
    5091                  
    5092                 if (UNMARSHALLING(ps)) { 
    5093 -                       v->s = (void *)PRS_ALLOC_MEM_VOID(ps,sizeof(*v->s)*v->count); 
    5094 +                       v->s = PRS_ALLOC_MEM(ps,NETDFS_DFS_INFO200,v->count); 
    5095 +                       if (!v->s) 
    5096 +                               return False; 
    5097                 } 
    5098                 for (i_s_1=0; i_s_1<v->count;i_s_1++) { 
    5099                         if (!netdfs_io_dfs_Info200_p("s", &v->s[i_s_1], ps, depth)) 
    5100 @@ -1250,7 +1264,9 @@ 
    5101                         return False; 
    5102                  
    5103                 if (UNMARSHALLING(ps)) { 
    5104 -                       v->s = (void *)PRS_ALLOC_MEM_VOID(ps,sizeof(*v->s)*v->count); 
    5105 +                       v->s = PRS_ALLOC_MEM(ps,NETDFS_DFS_INFO300,v->count); 
    5106 +                       if (!v->s) 
    5107 +                               return False; 
    5108                 } 
    5109                 for (i_s_1=0; i_s_1<v->count;i_s_1++) { 
    5110                         if (!netdfs_io_dfs_Info300_p("s", &v->s[i_s_1], ps, depth)) 
    5111 diff -urN samba-3.0.24.orig/source/rpc_parse/parse_lsa.c samba-3.0.24/source/rpc_parse/parse_lsa.c 
    5112 --- samba-3.0.24.orig/source/rpc_parse/parse_lsa.c      2007-02-04 19:59:22.000000000 +0100 
    5113 +++ samba-3.0.24/source/rpc_parse/parse_lsa.c   2007-08-07 09:38:18.000000000 +0200 
    5114 @@ -1171,7 +1171,7 @@ 
    5115   
    5116         /* Mallocate memory if we're unpacking from the wire */ 
    5117   
    5118 -       if (UNMARSHALLING(ps)) { 
    5119 +       if (UNMARSHALLING(ps) && sen->num_entries) { 
    5120                 if ((sen->ptr_sid = PRS_ALLOC_MEM( ps, uint32, sen->num_entries)) == NULL) { 
    5121                         DEBUG(3, ("init_lsa_sid_enum(): out of memory for " 
    5122                                   "ptr_sid\n")); 
    5123 @@ -1349,12 +1349,17 @@ 
    5124                                &trn->num_entries2)) 
    5125                         return False; 
    5126   
    5127 -               if (UNMARSHALLING(ps)) { 
    5128 -                       if ((trn->name = PRS_ALLOC_MEM(ps, LSA_TRANS_NAME, trn->num_entries)) == NULL) { 
    5129 +               if (trn->num_entries2 != trn->num_entries) { 
    5130 +                       /* RPC fault */ 
    5131 +                       return False; 
    5132 +               } 
    5133 + 
    5134 +               if (UNMARSHALLING(ps) && trn->num_entries2) { 
    5135 +                       if ((trn->name = PRS_ALLOC_MEM(ps, LSA_TRANS_NAME, trn->num_entries2)) == NULL) { 
    5136                                 return False; 
    5137                         } 
    5138   
    5139 -                       if ((trn->uni_name = PRS_ALLOC_MEM(ps, UNISTR2, trn->num_entries)) == NULL) { 
    5140 +                       if ((trn->uni_name = PRS_ALLOC_MEM(ps, UNISTR2, trn->num_entries2)) == NULL) { 
    5141                                 return False; 
    5142                         } 
    5143                 } 
    5144 @@ -1406,12 +1411,17 @@ 
    5145                                &trn->num_entries2)) 
    5146                         return False; 
    5147   
    5148 -               if (UNMARSHALLING(ps)) { 
    5149 -                       if ((trn->name = PRS_ALLOC_MEM(ps, LSA_TRANS_NAME2, trn->num_entries)) == NULL) { 
    5150 +               if (trn->num_entries2 != trn->num_entries) { 
    5151 +                       /* RPC fault */ 
    5152 +                       return False; 
    5153 +               } 
    5154 + 
    5155 +               if (UNMARSHALLING(ps) && trn->num_entries2) { 
    5156 +                       if ((trn->name = PRS_ALLOC_MEM(ps, LSA_TRANS_NAME2, trn->num_entries2)) == NULL) { 
    5157                                 return False; 
    5158                         } 
    5159   
    5160 -                       if ((trn->uni_name = PRS_ALLOC_MEM(ps, UNISTR2, trn->num_entries)) == NULL) { 
    5161 +                       if ((trn->uni_name = PRS_ALLOC_MEM(ps, UNISTR2, trn->num_entries2)) == NULL) { 
    5162                                 return False; 
    5163                         } 
    5164                 } 
    5165 @@ -1678,7 +1688,7 @@ 
    5166                         return False; 
    5167                 } 
    5168   
    5169 -               if (UNMARSHALLING(ps)) { 
    5170 +               if (UNMARSHALLING(ps) && out->num_entries2) { 
    5171                         if ((out->dom_rid = PRS_ALLOC_MEM(ps, DOM_RID, out->num_entries2)) 
    5172                             == NULL) { 
    5173                                 DEBUG(3, ("lsa_io_r_lookup_names(): out of memory\n")); 
    5174 @@ -1803,7 +1813,7 @@ 
    5175                         return False; 
    5176                 } 
    5177   
    5178 -               if (UNMARSHALLING(ps)) { 
    5179 +               if (UNMARSHALLING(ps) && out->num_entries2) { 
    5180                         if ((out->dom_rid = PRS_ALLOC_MEM(ps, DOM_RID2, out->num_entries2)) 
    5181                             == NULL) { 
    5182                                 DEBUG(3, ("lsa_io_r_lookup_names2(): out of memory\n")); 
    5183 @@ -1956,7 +1966,7 @@ 
    5184                         return False; 
    5185                 } 
    5186   
    5187 -               if (UNMARSHALLING(ps)) { 
    5188 +               if (UNMARSHALLING(ps) && out->num_entries2) { 
    5189                         if ((out->trans_sids = PRS_ALLOC_MEM(ps, LSA_TRANSLATED_SID3, out->num_entries2)) 
    5190                             == NULL) { 
    5191                                 DEBUG(3, ("lsa_io_r_lookup_names3(): out of memory\n")); 
    5192 @@ -2085,7 +2095,7 @@ 
    5193                         return False; 
    5194                 } 
    5195   
    5196 -               if (UNMARSHALLING(ps)) { 
    5197 +               if (UNMARSHALLING(ps) && out->num_entries2) { 
    5198                         if ((out->trans_sids = PRS_ALLOC_MEM(ps, LSA_TRANSLATED_SID3, out->num_entries2)) 
    5199                             == NULL) { 
    5200                                 DEBUG(3, ("lsa_io_r_lookup_names4(): out of memory\n")); 
    5201 @@ -2324,7 +2334,7 @@ 
    5202                 if(!prs_uint32("count1", ps, depth, &out->count1)) 
    5203                         return False; 
    5204   
    5205 -               if (UNMARSHALLING(ps)) 
    5206 +               if (UNMARSHALLING(ps) && out->count1) 
    5207                         if (!(out->privs = PRS_ALLOC_MEM(ps, LSA_PRIV_ENTRY, out->count1))) 
    5208                                 return False; 
    5209   
    5210 @@ -2759,7 +2769,7 @@ 
    5211   
    5212  static BOOL lsa_io_privilege_set(const char *desc, PRIVILEGE_SET *out, prs_struct *ps, int depth) 
    5213  { 
    5214 -       uint32 i; 
    5215 +       uint32 i, dummy; 
    5216   
    5217         prs_debug(ps, depth, desc, "lsa_io_privilege_set"); 
    5218         depth++; 
    5219 @@ -2767,7 +2777,7 @@ 
    5220         if(!prs_align(ps)) 
    5221                 return False; 
    5222    
    5223 -       if(!prs_uint32("count", ps, depth, &out->count)) 
    5224 +       if(!prs_uint32("count", ps, depth, &dummy)) 
    5225                 return False; 
    5226         if(!prs_uint32("control", ps, depth, &out->control)) 
    5227                 return False; 
    5228 @@ -3886,7 +3896,7 @@ 
    5229         prs_debug(ps, depth, desc, "smb_io_lsa_data_buf"); 
    5230         depth++; 
    5231   
    5232 -       if ( UNMARSHALLING(ps) ) { 
    5233 +       if ( UNMARSHALLING(ps) && length ) { 
    5234                 if ( !(buf->data = PRS_ALLOC_MEM( ps, uint8, length )) ) 
    5235                         return False; 
    5236         } 
    5237 @@ -3900,7 +3910,7 @@ 
    5238         if (!prs_uint32("length", ps, depth, &buf->length)) 
    5239                 return False; 
    5240   
    5241 -       if(!prs_uint8s(False, "data", ps, depth, buf->data, size)) 
    5242 +       if(!prs_uint8s(False, "data", ps, depth, buf->data, length)) 
    5243                 return False; 
    5244   
    5245         return True; 
    5246 diff -urN samba-3.0.24.orig/source/rpc_parse/parse_net.c samba-3.0.24/source/rpc_parse/parse_net.c 
    5247 --- samba-3.0.24.orig/source/rpc_parse/parse_net.c      2007-02-04 19:59:22.000000000 +0100 
    5248 +++ samba-3.0.24/source/rpc_parse/parse_net.c   2007-08-07 09:38:18.000000000 +0200 
    5249 @@ -1721,9 +1721,13 @@ 
    5250         } 
    5251   
    5252         if (UNMARSHALLING(ps)) { 
    5253 -               usr->gids = PRS_ALLOC_MEM(ps, DOM_GID, usr->num_groups); 
    5254 -               if (usr->gids == NULL) 
    5255 -                       return False; 
    5256 +               if (usr->num_groups) { 
    5257 +                       usr->gids = PRS_ALLOC_MEM(ps, DOM_GID, usr->num_groups); 
    5258 +                       if (usr->gids == NULL) 
    5259 +                               return False; 
    5260 +               } else { 
    5261 +                       usr->gids = NULL; 
    5262 +               } 
    5263         } 
    5264   
    5265         for (i = 0; i < usr->num_groups; i++) { 
    5266 @@ -1756,10 +1760,15 @@ 
    5267                         return False; 
    5268   
    5269                 if (UNMARSHALLING(ps)) { 
    5270 -                       usr->other_sids = PRS_ALLOC_MEM(ps, DOM_SID2, usr->num_other_sids); 
    5271 -                       usr->other_sids_attrib = 
    5272 -                               PRS_ALLOC_MEM(ps, uint32, usr->num_other_sids); 
    5273 -                                                               
    5274 +                       if (usr->num_other_sids) { 
    5275 +                               usr->other_sids = PRS_ALLOC_MEM(ps, DOM_SID2, usr->num_other_sids); 
    5276 +                               usr->other_sids_attrib = 
    5277 +                                       PRS_ALLOC_MEM(ps, uint32, usr->num_other_sids); 
    5278 +                       } else { 
    5279 +                               usr->other_sids = NULL; 
    5280 +                               usr->other_sids_attrib = NULL; 
    5281 +                       } 
    5282 + 
    5283                         if ((num_other_sids != 0) && 
    5284                             ((usr->other_sids == NULL) || 
    5285                              (usr->other_sids_attrib == NULL))) 
    5286 diff -urN samba-3.0.24.orig/source/rpc_parse/parse_prs.c samba-3.0.24/source/rpc_parse/parse_prs.c 
    5287 --- samba-3.0.24.orig/source/rpc_parse/parse_prs.c      2007-02-04 19:59:22.000000000 +0100 
    5288 +++ samba-3.0.24/source/rpc_parse/parse_prs.c   2007-08-07 09:38:18.000000000 +0200 
    5289 @@ -156,7 +156,7 @@ 
    5290  { 
    5291         char *ret = NULL; 
    5292   
    5293 -       if (size) { 
    5294 +       if (size && count) { 
    5295                 /* We can't call the type-safe version here. */ 
    5296                 ret = _talloc_zero_array(ps->mem_ctx, size, count, "parse_prs"); 
    5297         } 
    5298 @@ -642,9 +642,13 @@ 
    5299                 return True; 
    5300   
    5301         if (UNMARSHALLING(ps)) { 
    5302 -               if ( !(*data = PRS_ALLOC_MEM_VOID(ps, data_size)) ) 
    5303 -                       return False; 
    5304 -       } 
    5305 +               if (data_size) { 
    5306 +                       if ( !(*data = (void *)PRS_ALLOC_MEM(ps, char, data_size)) ) 
    5307 +                               return False; 
    5308 +               } else { 
    5309 +                       *data = NULL; 
    5310 +               } 
    5311 +       }        
    5312   
    5313         return prs_fn(name, ps, depth, *data); 
    5314  } 
    5315 @@ -789,8 +793,13 @@ 
    5316                         SIVAL(q,0,NT_STATUS_V(*status)); 
    5317         } 
    5318   
    5319 -       DEBUG(5,("%s%04x %s: %s\n", tab_depth(depth), ps->data_offset, name,  
     605Index: samba-3.0.37/source/rpc_parse/parse_prs.c 
     606=================================================================== 
     607--- samba-3.0.37.orig/source/rpc_parse/parse_prs.c      2009-09-30 14:21:56.000000000 +0200 
     608+++ samba-3.0.37/source/rpc_parse/parse_prs.c   2011-08-09 00:02:34.874444169 +0200 
     609@@ -796,7 +796,12 @@ 
     610        } 
     611  
     612        DEBUG(5,("%s%04x %s: %s\n", tab_depth(depth), ps->data_offset, name,  
    5320613-                dcerpc_errstr(NT_STATUS_V(*status)))); 
    5321 +       DEBUG(5,("%s%04x %s: %s\n", tab_depth(depth), ps->data_offset, name, 
    5322614+#if 1 /* AVM */ 
    5323615+                               "ERRSTR-REPLACEMENT" 
     
    5329621        ps->data_offset += sizeof(uint32); 
    5330622  
    5331 @@ -1014,16 +1023,16 @@ 
    5332         if (q == NULL) 
    5333                 return False; 
    5334   
    5335 +       /* If the string is empty, we don't have anything to stream */ 
    5336 +       if (str->buf_len==0) 
    5337 +               return True; 
    5338 + 
    5339         if (UNMARSHALLING(ps)) { 
    5340                 str->buffer = PRS_ALLOC_MEM(ps,uint16,str->buf_len); 
    5341                 if (str->buffer == NULL) 
    5342                         return False; 
    5343         } 
    5344   
    5345 -       /* If the string is empty, we don't have anything to stream */ 
    5346 -       if (str->buf_len==0) 
    5347 -               return True; 
    5348 - 
    5349         p = (char *)str->buffer; 
    5350   
    5351         dbg_rw_punival(charmode, name, depth, ps, q, p, str->buf_len); 
    5352 @@ -1053,6 +1062,8 @@ 
    5353                         buf->buffer = PRS_ALLOC_MEM(ps, uint16, buf->buf_max_len); 
    5354                         if ( buf->buffer == NULL ) 
    5355                                 return False; 
    5356 +               } else { 
    5357 +                       buf->buffer = NULL; 
    5358                 } 
    5359         } 
    5360   
    5361 @@ -1080,9 +1091,13 @@ 
    5362                 if (str->str_str_len > str->str_max_len) { 
    5363                         return False; 
    5364                 } 
    5365 -               str->buffer = PRS_ALLOC_MEM(ps,unsigned char, str->str_max_len); 
    5366 -               if (str->buffer == NULL) 
    5367 -                       return False; 
    5368 +               if (str->str_max_len) { 
    5369 +                       str->buffer = PRS_ALLOC_MEM(ps,unsigned char, str->str_max_len); 
    5370 +                       if (str->buffer == NULL) 
    5371 +                               return False; 
    5372 +               } else { 
    5373 +                       str->buffer = NULL; 
    5374 +               } 
    5375         } 
    5376   
    5377         if (UNMARSHALLING(ps)) { 
    5378 @@ -1127,9 +1142,13 @@ 
    5379                 if (str->uni_str_len > str->uni_max_len) { 
    5380                         return False; 
    5381                 } 
    5382 -               str->buffer = PRS_ALLOC_MEM(ps,uint16,str->uni_max_len); 
    5383 -               if (str->buffer == NULL) 
    5384 -                       return False; 
    5385 +               if (str->uni_max_len) { 
    5386 +                       str->buffer = PRS_ALLOC_MEM(ps,uint16,str->uni_max_len); 
    5387 +                       if (str->buffer == NULL) 
    5388 +                               return False; 
    5389 +               } else { 
    5390 +                       str->buffer = NULL; 
    5391 +               } 
    5392         } 
    5393   
    5394         p = (char *)str->buffer; 
    5395 @@ -1154,9 +1173,13 @@ 
    5396                 return False; 
    5397   
    5398         if (UNMARSHALLING(ps)) { 
    5399 -               str->str.buffer = PRS_ALLOC_MEM(ps,uint16,str->uni_str_len); 
    5400 -               if (str->str.buffer == NULL) 
    5401 -                       return False; 
    5402 +               if (str->uni_str_len) { 
    5403 +                       str->str.buffer = PRS_ALLOC_MEM(ps,uint16,str->uni_str_len); 
    5404 +                       if (str->str.buffer == NULL) 
    5405 +                               return False; 
    5406 +               } else { 
    5407 +                       str->str.buffer = NULL; 
    5408 +               } 
    5409         } 
    5410   
    5411         p = (char *)str->str.buffer; 
    5412 diff -urN samba-3.0.24.orig/source/rpc_parse/parse_samr.c samba-3.0.24/source/rpc_parse/parse_samr.c 
    5413 --- samba-3.0.24.orig/source/rpc_parse/parse_samr.c     2007-02-04 19:59:22.000000000 +0100 
    5414 +++ samba-3.0.24/source/rpc_parse/parse_samr.c  2007-08-07 09:38:18.000000000 +0200 
    5415 @@ -3337,7 +3337,7 @@ 
    5416                 if(!prs_uint32("num_entries3", ps, depth, &r_u->num_entries3)) 
    5417                         return False; 
    5418   
    5419 -               if (UNMARSHALLING(ps)) { 
    5420 +               if (UNMARSHALLING(ps) && r_u->num_entries2) { 
    5421                         r_u->sam = PRS_ALLOC_MEM(ps,SAM_ENTRY,r_u->num_entries2); 
    5422                         r_u->uni_dom_name = PRS_ALLOC_MEM(ps,UNISTR2,r_u->num_entries2); 
    5423                 } 
    5424 @@ -3476,7 +3476,7 @@ 
    5425                 if(!prs_uint32("num_entries3", ps, depth, &r_u->num_entries3)) 
    5426                         return False; 
    5427   
    5428 -               if (UNMARSHALLING(ps)) { 
    5429 +               if (UNMARSHALLING(ps) && r_u->num_entries2) { 
    5430                         r_u->sam = PRS_ALLOC_MEM(ps,SAM_ENTRY,r_u->num_entries2); 
    5431                         r_u->uni_grp_name = PRS_ALLOC_MEM(ps,UNISTR2,r_u->num_entries2); 
    5432                 } 
    5433 @@ -4980,12 +4980,13 @@ 
    5434                         return False; 
    5435                 } 
    5436   
    5437 -               if (UNMARSHALLING(ps)) 
    5438 +               if (UNMARSHALLING(ps) && r_u->num_rids2) { 
    5439                         r_u->rids = PRS_ALLOC_MEM(ps, uint32, r_u->num_rids2); 
    5440   
    5441 -               if (!r_u->rids) { 
    5442 -                       DEBUG(0, ("NULL rids in samr_io_r_lookup_names\n")); 
    5443 -                       return False; 
    5444 +                       if (!r_u->rids) { 
    5445 +                               DEBUG(0, ("NULL rids in samr_io_r_lookup_names\n")); 
    5446 +                               return False; 
    5447 +                       } 
    5448                 } 
    5449   
    5450                 for (i = 0; i < r_u->num_rids2; i++) { 
    5451 @@ -5009,12 +5010,13 @@ 
    5452                         return False; 
    5453                 } 
    5454   
    5455 -               if (UNMARSHALLING(ps)) 
    5456 +               if (UNMARSHALLING(ps) && r_u->num_types2) { 
    5457                         r_u->types = PRS_ALLOC_MEM(ps, uint32, r_u->num_types2); 
    5458   
    5459 -               if (!r_u->types) { 
    5460 -                       DEBUG(0, ("NULL types in samr_io_r_lookup_names\n")); 
    5461 -                       return False; 
    5462 +                       if (!r_u->types) { 
    5463 +                               DEBUG(0, ("NULL types in samr_io_r_lookup_names\n")); 
    5464 +                               return False; 
    5465 +                       } 
    5466                 } 
    5467   
    5468                 for (i = 0; i < r_u->num_types2; i++) { 
    5469 diff -urN samba-3.0.24.orig/source/rpc_parse/parse_sec.c samba-3.0.24/source/rpc_parse/parse_sec.c 
    5470 --- samba-3.0.24.orig/source/rpc_parse/parse_sec.c      2005-04-18 18:38:20.000000000 +0200 
    5471 +++ samba-3.0.24/source/rpc_parse/parse_sec.c   2007-08-07 09:38:18.000000000 +0200 
    5472 @@ -122,7 +122,7 @@ 
     623Index: samba-3.0.37/source/rpc_parse/parse_sec.c 
     624=================================================================== 
     625--- samba-3.0.37.orig/source/rpc_parse/parse_sec.c      2009-09-30 14:21:56.000000000 +0200 
     626+++ samba-3.0.37/source/rpc_parse/parse_sec.c   2011-08-09 00:02:34.874444169 +0200 
     627@@ -104,7 +104,7 @@ 
    5473628  for you as it reads them. 
    5474629 ********************************************************************/ 
     
    5479634        unsigned int i; 
    5480635        uint32 old_offset; 
    5481 @@ -165,13 +165,10 @@ 
    5482                 return False; 
    5483   
    5484         if (UNMARSHALLING(ps)) { 
    5485 -               /* 
    5486 -                * Even if the num_aces is zero, allocate memory as there's a difference 
    5487 -                * between a non-present DACL (allow all access) and a DACL with no ACE's 
    5488 -                * (allow no access). 
    5489 -                */ 
    5490 -               if((psa->ace = PRS_ALLOC_MEM(ps, SEC_ACE, psa->num_aces+1)) == NULL) 
    5491 -                       return False; 
    5492 +               if (psa->num_aces) { 
    5493 +                       if((psa->ace = PRS_ALLOC_MEM(ps, SEC_ACE, psa->num_aces)) == NULL) 
    5494 +                               return False; 
    5495 +               } 
    5496         } 
    5497   
    5498         for (i = 0; i < psa->num_aces; i++) { 
    5499 diff -urN samba-3.0.24.orig/source/rpc_parse/parse_spoolss.c samba-3.0.24/source/rpc_parse/parse_spoolss.c 
    5500 --- samba-3.0.24.orig/source/rpc_parse/parse_spoolss.c  2007-02-04 19:59:22.000000000 +0100 
    5501 +++ samba-3.0.24/source/rpc_parse/parse_spoolss.c       2007-08-07 09:38:18.000000000 +0200 
     636Index: samba-3.0.37/source/rpc_parse/parse_spoolss.c 
     637=================================================================== 
     638--- samba-3.0.37.orig/source/rpc_parse/parse_spoolss.c  2009-09-30 14:21:56.000000000 +0200 
     639+++ samba-3.0.37/source/rpc_parse/parse_spoolss.c       2011-08-09 00:02:34.874444169 +0200 
    5502640@@ -227,8 +227,13 @@ 
    5503641        if(!prs_uint32("count2", ps, depth, &type->count2)) 
     
    5513651+       } 
    5514652  
    5515         /* parse the option type data */ 
    5516         for(i=0;i<type->count2;i++) 
    5517 @@ -252,7 +257,7 @@ 
     653        if (type->count2 > MAX_NOTIFY_TYPE_FOR_NOW) { 
    5518654                return False; 
    5519   
    5520         /* reading */ 
    5521 -       if (UNMARSHALLING(ps)) 
    5522 +       if (UNMARSHALLING(ps) && ctr->count) 
    5523                 if((ctr->type=PRS_ALLOC_MEM(ps,SPOOL_NOTIFY_OPTION_TYPE,ctr->count)) == NULL) 
    5524                         return False; 
    5525                  
    5526 @@ -411,7 +416,7 @@ 
    5527                 if(!prs_uint32("string length", ps, depth, &data->notify_data.data.length)) 
    5528                         return False; 
    5529   
    5530 -               if (UNMARSHALLING(ps)) { 
    5531 +               if (UNMARSHALLING(ps) && data->notify_data.data.length) { 
    5532                         data->notify_data.data.string = PRS_ALLOC_MEM(ps, uint16, 
    5533                                                                 data->notify_data.data.length); 
    5534   
    5535 @@ -430,7 +435,7 @@ 
    5536   
    5537         case NOTIFY_POINTER: 
    5538   
    5539 -               if (UNMARSHALLING(ps)) { 
    5540 +               if (UNMARSHALLING(ps) && data->notify_data.data.length) { 
    5541                         data->notify_data.data.string = PRS_ALLOC_MEM(ps, uint16, 
    5542                                                                 data->notify_data.data.length); 
    5543   
    5544 @@ -490,9 +495,13 @@ 
    5545   
    5546                         /* Tallocate memory for string */ 
    5547   
    5548 -                       data->notify_data.data.string = PRS_ALLOC_MEM(ps, uint16, x * 2); 
    5549 -                       if (!data->notify_data.data.string)  
    5550 -                               return False; 
    5551 +                       if (x) { 
    5552 +                               data->notify_data.data.string = PRS_ALLOC_MEM(ps, uint16, x * 2); 
    5553 +                               if (!data->notify_data.data.string)  
    5554 +                                       return False; 
    5555 +                       } else { 
    5556 +                               data->notify_data.data.string = NULL; 
    5557 +                       } 
    5558   
    5559                         if(!prs_uint16uni(True,"string",ps,depth,data->notify_data.data.string,x)) 
    5560                                 return False; 
    5561 @@ -3893,7 +3902,16 @@ 
    5562                 } 
    5563                 case 3: 
    5564                 { 
    5565 -                       ptr_sec_desc = q_u->info.info_3->secdesc_ptr; 
    5566 +                       /* FIXME ! Our parsing here is wrong I think, 
    5567 +                        * but for a level3 it makes no sense for 
    5568 +                        * ptr_sec_desc to be NULL. JRA. Based on 
    5569 +                        * a Vista sniff from Martin Zielinski <mz@seh.de>. 
    5570 +                        */ 
    5571 +                       if (UNMARSHALLING(ps)) { 
    5572 +                               ptr_sec_desc = 1; 
    5573 +                       } else { 
    5574 +                               ptr_sec_desc = q_u->info.info_3->secdesc_ptr; 
    5575 +                       } 
    5576                         break; 
    5577                 } 
    5578         } 
    5579 @@ -5931,14 +5949,14 @@ 
    5580                 case REG_BINARY: 
    5581                 case REG_DWORD: 
    5582                 case REG_MULTI_SZ: 
    5583 -            if (q_u->max_len) { 
    5584 -                if (UNMARSHALLING(ps)) 
    5585 -                               q_u->data=PRS_ALLOC_MEM(ps, uint8, q_u->max_len); 
    5586 -                       if(q_u->data == NULL) 
    5587 -                               return False; 
    5588 -                       if(!prs_uint8s(False,"data", ps, depth, q_u->data, q_u->max_len)) 
    5589 -                               return False; 
    5590 -            } 
    5591 +                       if (q_u->max_len) { 
    5592 +                               if (UNMARSHALLING(ps)) 
    5593 +                                       q_u->data=PRS_ALLOC_MEM(ps, uint8, q_u->max_len); 
    5594 +                               if(q_u->data == NULL) 
    5595 +                                       return False; 
    5596 +                               if(!prs_uint8s(False,"data", ps, depth, q_u->data, q_u->max_len)) 
    5597 +                                       return False; 
    5598 +                       } 
    5599                         if(!prs_align(ps)) 
    5600                                 return False; 
    5601                         break; 
    5602 @@ -6956,7 +6974,7 @@ 
    5603          
    5604         /* first loop to write basic enum_value information */ 
    5605          
    5606 -       if (UNMARSHALLING(ps)) {