TODO don't add missing ../auth/gensec/gensec_util.o here s3-build: Rework object...
authorAndrew Bartlett <abartlet@samba.org>
Mon, 2 Jan 2012 23:52:06 +0000 (00:52 +0100)
committerStefan Metzmacher <metze@samba.org>
Fri, 6 Jan 2012 14:19:27 +0000 (15:19 +0100)
This also allows the spnego_parse_krb5_wrap() function to be shared.

Andrew Bartlett

source3/Makefile.in
source3/utils/ntlm_auth.c
source3/wscript_build

index 1cfe6b434b9be4dc5addee882719949df5830e50..a89b77bfcae9bc95ee8aacde3c7002b027631296 100644 (file)
@@ -562,6 +562,7 @@ LIBSMB_OBJ0 = \
               libsmb/auth_generic.o \
               ../auth/gensec/gensec.o \
               ../auth/gensec/gensec_start.o \
+              ../auth/gensec/gensec_util.o \
               ../auth/credentials/credentials.o \
               ../auth/credentials/credentials_samba3.o \
               ../auth/ntlmssp/ntlmssp.o \
@@ -569,7 +570,10 @@ LIBSMB_OBJ0 = \
               ../auth/ntlmssp/gensec_ntlmssp.o \
               $(LIBNDR_NTLMSSP_OBJ) \
               ../auth/ntlmssp/ntlmssp_ndr.o \
-              ../auth/ntlmssp/ntlmssp_server.o
+              ../auth/ntlmssp/ntlmssp_server.o \
+            libsmb/clikrb5.o ../libcli/auth/krb5_wrap.o libsmb/clispnego.o \
+            ../libcli/auth/spnego_parse.o \
+            ../lib/util/asn1.o 
 
 LIBSAMBA_OBJ = $(LIBSMB_OBJ0) \
               $(LIBSMB_ERR_OBJ)
@@ -594,9 +598,6 @@ SCHANNEL_OBJ = ../libcli/auth/credentials.o \
               $(LIBNDR_SCHANNEL_OBJ)
 
 LIBSMB_OBJ = libsmb/clientgen.o libsmb/cliconnect.o libsmb/clifile.o \
-            libsmb/clikrb5.o ../libcli/auth/krb5_wrap.o libsmb/clispnego.o \
-            ../libcli/auth/spnego_parse.o \
-            ../lib/util/asn1.o \
             libsmb/reparse_symlink.o \
             libsmb/clisymlink.o \
             libsmb/clirap.o libsmb/clierror.o libsmb/climessage.o \
@@ -1016,7 +1017,7 @@ NMBD_OBJ1 = nmbd/asyncdns.o nmbd/nmbd.o nmbd/nmbd_become_dmb.o \
 
 NMBD_OBJ = $(NMBD_OBJ1) $(PARAM_OBJ) $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \
            $(PROFILE_OBJ) $(LIB_NONSMBD_OBJ) $(POPT_LIB_OBJ) \
-          $(LIBNDR_GEN_OBJ0)
+          $(LIBMSRPC_OBJ) $(LIBMSRPC_GEN_OBJ)
 
 SWAT_OBJ1 = web/cgi.o web/diagnose.o web/startstop.o web/statuspage.o \
            web/swat.o web/neg_lang.o
@@ -1068,11 +1069,11 @@ SMBPASSWD_OBJ = utils/smbpasswd.o $(PASSWD_UTIL_OBJ) $(PASSCHANGE_OBJ) \
                rpc_client/init_lsa.o
 
 PDBEDIT_OBJ = utils/pdbedit.o $(PASSWD_UTIL_OBJ) $(PARAM_OBJ) $(PASSDB_OBJ) \
-               $(LIBSAMBA_OBJ) \
+                $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \
+               $(AFS_SETTOKEN_OBJ) \
+               $(LIBMSRPC_OBJ) $(LIBMSRPC_GEN_OBJ) \
                $(LIB_NONSMBD_OBJ) $(GROUPDB_OBJ) \
-               $(LIBCLI_LDAP_NDR_OBJ) \
-               $(DRSUAPI_OBJ) $(LIBNDR_GEN_OBJ0) \
-               $(POPT_LIB_OBJ) $(SMBLDAP_OBJ) ../lib/util/asn1.o
+               $(POPT_LIB_OBJ) ${SMBLDAP_OBJ}
 
 SMBGET_OBJ = utils/smbget.o $(POPT_LIB_OBJ) $(LIBSMBCLIENT_OBJ1)
 
@@ -1246,9 +1247,11 @@ NET_OBJ = $(NET_OBJ1) \
          $(PRIVILEGES_BASIC_OBJ) \
          $(LIB_EVENTLOG_OBJ)
 
-CUPS_OBJ = client/smbspool.o $(PARAM_OBJ) $(LIBSMB_OBJ) \
-         $(LIB_NONSMBD_OBJ) $(KRBCLIENT_OBJ) $(POPT_LIB_OBJ) \
-         $(LIBNDR_GEN_OBJ0)
+CUPS_OBJ = client/smbspool.o $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) \
+                $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \
+               $(POPT_LIB_OBJ) \
+               $(AFS_SETTOKEN_OBJ) \
+               ${LIBMSRPC_OBJ} $(LIBMSRPC_GEN_OBJ)
 
 NMBLOOKUP_OBJ = utils/nmblookup.o $(PARAM_OBJ) $(LIBNMB_OBJ) \
                $(LIB_NONSMBD_OBJ) $(POPT_LIB_OBJ) $(LIBSMB_ERR_OBJ)
@@ -1279,22 +1282,22 @@ SMBTORTURE_OBJ = $(SMBTORTURE_OBJ1) $(PARAM_OBJ) $(TLDAP_OBJ) \
 
 MASKTEST_OBJ = torture/masktest.o $(PARAM_OBJ) $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \
                  $(LIB_NONSMBD_OBJ) \
-                $(LIBNDR_GEN_OBJ0)
+                $(LIBMSRPC_OBJ) $(LIBMSRPC_GEN_OBJ)
 
 MSGTEST_OBJ = torture/msgtest.o $(PARAM_OBJ) $(LIBSMB_ERR_OBJ) \
                  $(LIB_NONSMBD_OBJ) \
-                $(LIBNDR_GEN_OBJ0)
+                $(LIBNDR_GEN_OBJ0)
 
 LOCKTEST_OBJ = torture/locktest.o $(PARAM_OBJ) $(LOCKING_OBJ) $(KRBCLIENT_OBJ) \
                $(LIBSMB_OBJ) $(LIB_NONSMBD_OBJ) \
-               $(LIBNDR_GEN_OBJ0) $(FNAME_UTIL_OBJ)
+              $(LIBMSRPC_OBJ) $(LIBMSRPC_GEN_OBJ) $(FNAME_UTIL_OBJ)
 
 NSSTEST_OBJ = ../nsswitch/nsstest.o $(LIBSAMBAUTIL_OBJ)
 
 PDBTEST_OBJ = torture/pdbtest.o $(PARAM_OBJ) $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \
                $(LIB_NONSMBD_OBJ) $(PASSDB_OBJ) $(GROUPDB_OBJ) \
                $(SMBLDAP_OBJ) $(POPT_LIB_OBJ) \
-               $(LIBNDR_GEN_OBJ0)
+               $(LIBMSRPC_OBJ) $(LIBMSRPC_GEN_OBJ)
 
 VFSTEST_OBJ = torture/cmd_vfs.o torture/vfstest.o $(SMBD_OBJ_BASE) $(READLINE_OBJ)
 
@@ -1302,7 +1305,7 @@ LOG2PCAP_OBJ = utils/log2pcaphex.o
 
 LOCKTEST2_OBJ = torture/locktest2.o $(PARAM_OBJ) $(LOCKING_OBJ) $(LIBSMB_OBJ) \
                $(KRBCLIENT_OBJ) $(LIB_NONSMBD_OBJ) \
-               $(LIBNDR_GEN_OBJ0) $(FNAME_UTIL_OBJ)
+               $(LIBMSRPC_OBJ) $(LIBMSRPC_GEN_OBJ) $(FNAME_UTIL_OBJ)
 
 SMBCACLS_OBJ = utils/smbcacls.o $(PARAM_OBJ) $(LIBSMB_OBJ) \
                $(KRBCLIENT_OBJ) $(LIB_NONSMBD_OBJ) \
@@ -1343,16 +1346,18 @@ DEBUG2HTML_OBJ = utils/debug2html.o utils/debugparse.o
 
 SMBFILTER_OBJ = utils/smbfilter.o $(PARAM_OBJ) $(LIBSMB_OBJ) \
                  $(LIB_NONSMBD_OBJ) $(KRBCLIENT_OBJ) \
-                $(LIBNDR_GEN_OBJ0)
+                $(LIBMSRPC_OBJ) $(LIBMSRPC_GEN_OBJ)
 
 WINBIND_WINS_NSS_OBJ = ../nsswitch/wins.o $(PARAM_OBJ) \
        $(LIB_NONSMBD_OBJ) $(LIBSMB_ERR_OBJ) $(LIBNMB_OBJ)
 
 PAM_SMBPASS_OBJ_0 = pam_smbpass/pam_smb_auth.o pam_smbpass/pam_smb_passwd.o \
-               pam_smbpass/pam_smb_acct.o pam_smbpass/support.o ../lib/util/asn1.o
+               pam_smbpass/pam_smb_acct.o pam_smbpass/support.o
 PAM_SMBPASS_OBJ = $(PAM_SMBPASS_OBJ_0) $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) $(PASSDB_OBJ) $(GROUPDB_OBJ) \
-               $(SMBLDAP_OBJ) $(LIBSAMBA_OBJ) \
-               $(DRSUAPI_OBJ) $(LIBNDR_GEN_OBJ0) \
+               $(SMBLDAP_OBJ) \
+                $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \
+               $(AFS_SETTOKEN_OBJ) \
+               $(LIBMSRPC_OBJ) $(LIBMSRPC_GEN_OBJ) \
                $(PAM_ERRORS_OBJ)
 
 IDMAP_RW_OBJ = winbindd/idmap_rw.o
@@ -1495,9 +1500,11 @@ WINBINDD_OBJ = \
                rpc_client/init_samr.o \
                $(PAM_ERRORS_OBJ)
 
-WBINFO_OBJ = ../nsswitch/wbinfo.o $(LIBSAMBA_OBJ) $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) \
-               $(POPT_LIB_OBJ) $(AFS_SETTOKEN_OBJ) \
-               lib/winbind_util.o $(WBCOMMON_OBJ)
+WBINFO_OBJ = ../nsswitch/wbinfo.o $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) \
+                $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \
+                $(POPT_LIB_OBJ) \
+               $(AFS_SETTOKEN_OBJ) \
+               lib/winbind_util.o $(WBCOMMON_OBJ) $(LIBMSRPC_OBJ) $(LIBMSRPC_GEN_OBJ)
 
 WINBIND_NSS_OBJ = $(WBCOMMON_OBJ) $(LIBREPLACE_OBJ) @WINBIND_NSS_EXTRA_OBJS@
 
@@ -1528,17 +1535,17 @@ TDBTORTURE_OBJ = @tdbdir@/tools/tdbtorture.o $(LIBREPLACE_OBJ) \
 
 NTLM_AUTH_OBJ1 = utils/ntlm_auth.o utils/ntlm_auth_diagnostics.o
 
-NTLM_AUTH_OBJ = ${NTLM_AUTH_OBJ1} $(LIBSAMBA_OBJ) $(POPT_LIB_OBJ) \
-               ../lib/util/asn1.o ../libcli/auth/spnego_parse.o libsmb/clikrb5.o ../libcli/auth/krb5_wrap.o libads/kerberos.o \
+NTLM_AUTH_OBJ = ${NTLM_AUTH_OBJ1} \
                libsmb/samlogon_cache.o \
                $(LIBADS_SERVER_OBJ) \
-               $(PASSDB_OBJ) $(GROUPDB_OBJ) \
-               $(SMBLDAP_OBJ) $(LIBNMB_OBJ) \
                $(WBCOMMON_OBJ) \
-               $(LIBNBT_OBJ) \
-               $(CLDAP_OBJ) \
-               $(DRSUAPI_OBJ) \
-               $(LIBNDR_GEN_OBJ0) $(LIBNDR_NETLOGON_OBJ) @BUILD_INIPARSER@
+               $(PASSDB_OBJ) \
+                $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \
+               $(AFS_SETTOKEN_OBJ) \
+               $(LIBMSRPC_OBJ) $(LIBMSRPC_GEN_OBJ) \
+               $(GROUPDB_OBJ) \
+               $(POPT_LIB_OBJ) ${SMBLDAP_OBJ} \
+               @BUILD_INIPARSER@
 
 
 VLP_OBJ = printing/tests/vlp.o \
@@ -3146,10 +3153,10 @@ bin/ntlm_auth@EXEEXT@: $(BINARY_PREREQS) $(NTLM_AUTH_OBJ) $(PARAM_OBJ) \
                $(POPT_LIBS) $(KRB5LIBS) $(LDAP_LIBS) $(NSCD_LIBS) \
                $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(LIBWBCLIENT_LIBS) @INIPARSERLIBS@
 
-bin/pam_smbpass.@SHLIBEXT@: $(BINARY_PREREQS) $(PAM_SMBPASS_OBJ) $(LIBCLI_LDAP_NDR_OBJ) $(LIBTALLOC) $(LIBWBCLIENT) $(LIBTDB)
+bin/pam_smbpass.@SHLIBEXT@: $(BINARY_PREREQS) $(PAM_SMBPASS_OBJ) $(LIBTALLOC) $(LIBWBCLIENT) $(LIBTDB)
        @echo "Linking shared library $@"
-       @$(SHLD) $(LDSHFLAGS) -o $@ $(PAM_SMBPASS_OBJ) $(LIBCLI_LDAP_NDR_OBJ) -lpam $(DYNEXP) \
-               $(LIBS) $(LDAP_LIBS) $(NSCD_LIBS) $(ZLIB_LIBS) \
+       @$(SHLD) $(LDSHFLAGS) -o $@ $(PAM_SMBPASS_OBJ) -lpam $(DYNEXP) \
+               $(LIBS) $(LDAP_LIBS) $(NSCD_LIBS) $(KRB5LIBS) $(ZLIB_LIBS) \
                $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(LIBWBCLIENT_LIBS)
 
 bin/tdbbackup@EXEEXT@: $(BINARY_PREREQS) $(TDBBACKUP_OBJ) $(LIBTALLOC) $(LIBTDB)
index 00c7d4dbba06f4adebe746f887ad7609bc2f006f..ff9b60ed0f6a7bb7359696a4810191fc6c1047c9 100644 (file)
@@ -1232,45 +1232,6 @@ static void offer_gss_spnego_mechs(void) {
        return;
 }
 
-bool spnego_parse_krb5_wrap(TALLOC_CTX *ctx, DATA_BLOB blob, DATA_BLOB *ticket, uint8 tok_id[2])
-{
-       bool ret;
-       ASN1_DATA *data;
-       int data_remaining;
-
-       data = asn1_init(talloc_tos());
-       if (data == NULL) {
-               return false;
-       }
-
-       asn1_load(data, blob);
-       asn1_start_tag(data, ASN1_APPLICATION(0));
-       asn1_check_OID(data, OID_KERBEROS5);
-
-       data_remaining = asn1_tag_remaining(data);
-
-       if (data_remaining < 3) {
-               data->has_error = True;
-       } else {
-               asn1_read(data, tok_id, 2);
-               data_remaining -= 2;
-               *ticket = data_blob_talloc(ctx, NULL, data_remaining);
-               asn1_read(data, ticket->data, ticket->length);
-       }
-
-       asn1_end_tag(data);
-
-       ret = !data->has_error;
-
-       if (data->has_error) {
-               data_blob_free(ticket);
-       }
-
-       asn1_free(data);
-
-       return ret;
-}
-
 static void manage_gss_spnego_request(struct ntlm_auth_state *state,
                                        char *buf, int length)
 {
index 73b28d776969b3ac4fcdbd63a578dfa06352df95..bfe7014f4c4fb501374469f8e11ef39e398aadd7 100755 (executable)
@@ -1366,7 +1366,7 @@ bld.SAMBA3_BINARY('ntlm_auth' + bld.env.suffix3,
                  deps='''tdb_compat talloc cap KRB5_WRAP k5crypto wbclient param smbd_shim
                  samba3core LIBNTLMSSP popt_samba3 asn1util LIBTSOCKET
                  pdb winbind-client LIBINIPARSER LIBADS_SERVER
-                 NDR_SAMR NDR_LSA NDR_NETLOGON cli-ldap-common LIBNMB SLCACHE SPNEGO_PARSE KRBCLIENT''',
+                 NDR_SAMR NDR_LSA NDR_NETLOGON cli-ldap-common LIBNMB SLCACHE SPNEGO_PARSE KRBCLIENT libsmb''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('timelimit',