[SCM] Samba Shared Repository - branch master updated

Stefan Metzmacher metze at samba.org
Thu Jul 14 13:22:03 MDT 2011


The branch, master has been updated
       via  1aae898 s3:clikrb5: fix the build with newer heimdal versions
       via  796f572 s4:heimdal_build: we need k5crypto and gssapi_krb5 aliases also when using system libraries
       via  8ee1c24 s4:heimdal_build: only maintain lib/gssapi/{spnego,krb5} file lists once
       via  cd86f9b s4:heimdal_build: provide HEIMDAL_UNUSED_ATTRIBUTE
       via  dc0c8ef lib/util/attr: add _UNUSED_ marco
      from  2a9987e s3-docs: fix a typo in rpcclient manpage

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 1aae898908fd0b1ae78742aa506e1edc395ed904
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jul 14 14:50:18 2011 +0200

    s3:clikrb5: fix the build with newer heimdal versions
    
    krb5_get_default_in_tkt_etypes() requires a 3rd argument
    if KRB5_PDU_NONE is available.
    
    metze
    
    Autobuild-User: Stefan Metzmacher <metze at samba.org>
    Autobuild-Date: Thu Jul 14 21:21:13 CEST 2011 on sn-devel-104

commit 796f5727edff192493b0021fd7b0d5ea9e3e1e94
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jul 14 15:55:32 2011 +0200

    s4:heimdal_build: we need k5crypto and gssapi_krb5 aliases also when using system libraries
    
    metze

commit 8ee1c2492a1d3ab67cec5da60441f3e44ebaa286
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jul 14 15:26:03 2011 +0200

    s4:heimdal_build: only maintain lib/gssapi/{spnego,krb5} file lists once
    
    This also makes sure we only create private headers if we
    use internal heimdal.
    
    metze

commit cd86f9bb2ed8cca5b0089fcc1a5d61aae86f9eff
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jul 14 14:15:03 2011 +0200

    s4:heimdal_build: provide HEIMDAL_UNUSED_ATTRIBUTE
    
    metze

commit dc0c8ef6bd452caf48516b4ed509351249bb2948
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jul 14 14:14:12 2011 +0200

    lib/util/attr: add _UNUSED_ marco
    
    metze

-----------------------------------------------------------------------

Summary of changes:
 lib/util/attr.h                     |    9 ++-
 source3/configure.in                |    2 +
 source3/libsmb/clikrb5.c            |    4 +
 source4/heimdal_build/config.h      |    2 +
 source4/heimdal_build/wscript_build |  175 +++++++++++++++--------------------
 5 files changed, 88 insertions(+), 104 deletions(-)


Changeset truncated at 500 lines:

diff --git a/lib/util/attr.h b/lib/util/attr.h
index a269061..b72696a 100644
--- a/lib/util/attr.h
+++ b/lib/util/attr.h
@@ -20,14 +20,19 @@
 #ifndef __UTIL_ATTR_H__
 #define __UTIL_ATTR_H__
 
+#ifndef _UNUSED_
 #ifdef __GNUC__
 /** gcc attribute used on function parameters so that it does not emit
  * warnings about them being unused. **/
-#  define UNUSED(param) param __attribute__ ((unused))
+#  define _UNUSED_ __attribute__ ((unused))
 #else
-#  define UNUSED(param) param
+#  define _UNUSED_
 /** Feel free to add definitions for other compilers here. */
 #endif
+#endif
+#ifndef UNUSED
+#define UNUSED(param) param _UNUSED_
+#endif
 
 #ifndef _DEPRECATED_
 #if (__GNUC__ >= 3) && (__GNUC_MINOR__ >= 1 )
diff --git a/source3/configure.in b/source3/configure.in
index 814c735..af8285f 100644
--- a/source3/configure.in
+++ b/source3/configure.in
@@ -4380,6 +4380,8 @@ if test x"$with_ads_support" != x"no"; then
                [Whether the macro krb5_princ_realm is defined])
   fi
 
+  AC_HAVE_DECL(KRB5_PDU_NONE,[#include <krb5.h>])
+
   #
   #
   # Now the decisions whether we can support krb5
diff --git a/source3/libsmb/clikrb5.c b/source3/libsmb/clikrb5.c
index b11aed8..c083af2 100644
--- a/source3/libsmb/clikrb5.c
+++ b/source3/libsmb/clikrb5.c
@@ -187,7 +187,11 @@ krb5_error_code krb5_auth_con_set_req_cksumtype(
  krb5_error_code get_kerberos_allowed_etypes(krb5_context context, 
 					    krb5_enctype **enctypes)
 {
+#ifdef HAVE_KRB5_PDU_NONE_DECL
+	return krb5_get_default_in_tkt_etypes(context, KRB5_PDU_NONE, enctypes);
+#else
 	return krb5_get_default_in_tkt_etypes(context, enctypes);
+#endif
 }
 #else
 #error UNKNOWN_GET_ENCTYPES_FUNCTIONS
diff --git a/source4/heimdal_build/config.h b/source4/heimdal_build/config.h
index 0fdb292..bd5a1b8 100644
--- a/source4/heimdal_build/config.h
+++ b/source4/heimdal_build/config.h
@@ -11,6 +11,8 @@
 #include "../lib/util/attr.h"
 #define HEIMDAL_NORETURN_ATTRIBUTE _NORETURN_
 #define HEIMDAL_PRINTF_ATTRIBUTE(x) FORMAT_ATTRIBUTE(x)
+#define HEIMDAL_UNUSED_ATTRIBUTE _UNUSED_
+
 #define VERSIONLIST {"Lorikeet-Heimdal, Modified for Samba4"}
 
 #define VERSION "Samba"
diff --git a/source4/heimdal_build/wscript_build b/source4/heimdal_build/wscript_build
index 705caa5..f529c95 100644
--- a/source4/heimdal_build/wscript_build
+++ b/source4/heimdal_build/wscript_build
@@ -513,26 +513,74 @@ if not bld.CONFIG_SET("USING_SYSTEM_GSSAPI"):
         directory='lib/gssapi'
         )
 
+    HEIMDAL_GSSAPI_SPNEGO_SOURCE = '''
+        lib/gssapi/spnego/init_sec_context.c
+        lib/gssapi/spnego/external.c
+        lib/gssapi/spnego/compat.c
+        lib/gssapi/spnego/context_stubs.c
+        lib/gssapi/spnego/cred_stubs.c
+        lib/gssapi/spnego/accept_sec_context.c
+    '''
+
+    HEIMDAL_AUTOPROTO_PRIVATE('lib/gssapi/spnego/spnego-private.h',
+                                  HEIMDAL_GSSAPI_SPNEGO_SOURCE)
+
+    HEIMDAL_GSSAPI_KRB5_SOURCE = '''
+        lib/gssapi/krb5/copy_ccache.c
+        lib/gssapi/krb5/delete_sec_context.c
+        lib/gssapi/krb5/init_sec_context.c
+        lib/gssapi/krb5/context_time.c
+        lib/gssapi/krb5/init.c
+        lib/gssapi/krb5/address_to_krb5addr.c
+        lib/gssapi/krb5/get_mic.c
+        lib/gssapi/krb5/inquire_context.c
+        lib/gssapi/krb5/add_cred.c
+        lib/gssapi/krb5/inquire_cred.c
+        lib/gssapi/krb5/inquire_cred_by_oid.c
+        lib/gssapi/krb5/inquire_cred_by_mech.c
+        lib/gssapi/krb5/inquire_mechs_for_name.c
+        lib/gssapi/krb5/inquire_names_for_mech.c
+        lib/gssapi/krb5/indicate_mechs.c
+        lib/gssapi/krb5/inquire_sec_context_by_oid.c
+        lib/gssapi/krb5/export_sec_context.c
+        lib/gssapi/krb5/import_sec_context.c
+        lib/gssapi/krb5/duplicate_name.c
+        lib/gssapi/krb5/import_name.c
+        lib/gssapi/krb5/compare_name.c
+        lib/gssapi/krb5/export_name.c
+        lib/gssapi/krb5/canonicalize_name.c
+        lib/gssapi/krb5/unwrap.c
+        lib/gssapi/krb5/wrap.c
+        lib/gssapi/krb5/release_name.c
+        lib/gssapi/krb5/cfx.c
+        lib/gssapi/krb5/8003.c
+        lib/gssapi/krb5/arcfour.c
+        lib/gssapi/krb5/encapsulate.c
+        lib/gssapi/krb5/display_name.c
+        lib/gssapi/krb5/sequence.c
+        lib/gssapi/krb5/display_status.c
+        lib/gssapi/krb5/release_buffer.c
+        lib/gssapi/krb5/external.c
+        lib/gssapi/krb5/compat.c
+        lib/gssapi/krb5/creds.c
+        lib/gssapi/krb5/acquire_cred.c
+        lib/gssapi/krb5/release_cred.c
+        lib/gssapi/krb5/store_cred.c
+        lib/gssapi/krb5/set_cred_option.c
+        lib/gssapi/krb5/decapsulate.c
+        lib/gssapi/krb5/verify_mic.c
+        lib/gssapi/krb5/accept_sec_context.c
+        lib/gssapi/krb5/set_sec_context_option.c
+        lib/gssapi/krb5/process_context_token.c
+        lib/gssapi/krb5/prf.c
+        lib/gssapi/krb5/aeap.c
+    '''
+
+    HEIMDAL_AUTOPROTO_PRIVATE('lib/gssapi/krb5/gsskrb5-private.h',
+                              HEIMDAL_GSSAPI_KRB5_SOURCE)
+
     HEIMDAL_LIBRARY('gssapi',
-                        '''
-    lib/gssapi/spnego/init_sec_context.c lib/gssapi/spnego/external.c lib/gssapi/spnego/compat.c
-    lib/gssapi/spnego/context_stubs.c lib/gssapi/spnego/cred_stubs.c lib/gssapi/spnego/accept_sec_context.c
-    lib/gssapi/krb5/copy_ccache.c lib/gssapi/krb5/delete_sec_context.c lib/gssapi/krb5/init_sec_context.c
-    lib/gssapi/krb5/context_time.c lib/gssapi/krb5/init.c lib/gssapi/krb5/address_to_krb5addr.c
-    lib/gssapi/krb5/get_mic.c lib/gssapi/krb5/inquire_context.c lib/gssapi/krb5/add_cred.c
-    lib/gssapi/krb5/inquire_cred.c lib/gssapi/krb5/inquire_cred_by_oid.c lib/gssapi/krb5/inquire_cred_by_mech.c
-    lib/gssapi/krb5/inquire_mechs_for_name.c lib/gssapi/krb5/inquire_names_for_mech.c lib/gssapi/krb5/indicate_mechs.c
-    lib/gssapi/krb5/inquire_sec_context_by_oid.c lib/gssapi/krb5/export_sec_context.c lib/gssapi/krb5/import_sec_context.c
-    lib/gssapi/krb5/duplicate_name.c lib/gssapi/krb5/import_name.c lib/gssapi/krb5/compare_name.c
-    lib/gssapi/krb5/export_name.c lib/gssapi/krb5/canonicalize_name.c lib/gssapi/krb5/unwrap.c
-    lib/gssapi/krb5/wrap.c lib/gssapi/krb5/release_name.c lib/gssapi/krb5/cfx.c
-    lib/gssapi/krb5/8003.c lib/gssapi/krb5/arcfour.c lib/gssapi/krb5/encapsulate.c
-    lib/gssapi/krb5/display_name.c lib/gssapi/krb5/sequence.c lib/gssapi/krb5/display_status.c
-    lib/gssapi/krb5/release_buffer.c lib/gssapi/krb5/external.c lib/gssapi/krb5/compat.c
-    lib/gssapi/krb5/creds.c lib/gssapi/krb5/acquire_cred.c lib/gssapi/krb5/release_cred.c
-    lib/gssapi/krb5/store_cred.c lib/gssapi/krb5/set_cred_option.c lib/gssapi/krb5/decapsulate.c
-    lib/gssapi/krb5/verify_mic.c lib/gssapi/krb5/accept_sec_context.c lib/gssapi/krb5/set_sec_context_option.c
-    lib/gssapi/krb5/process_context_token.c lib/gssapi/krb5/prf.c lib/gssapi/krb5/aeap.c
+                    HEIMDAL_GSSAPI_SPNEGO_SOURCE + HEIMDAL_GSSAPI_KRB5_SOURCE + '''
     lib/gssapi/mech/context.c lib/gssapi/mech/gss_krb5.c lib/gssapi/mech/gss_mech_switch.c
     lib/gssapi/mech/gss_process_context_token.c lib/gssapi/mech/gss_buffer_set.c
     lib/gssapi/mech/gss_aeap.c lib/gssapi/mech/gss_add_cred.c lib/gssapi/mech/gss_cred.c
@@ -615,13 +663,6 @@ if not bld.CONFIG_SET("USING_SYSTEM_KRB5"):
                                    version.c warn.c krb5_err.c
                                    heim_err.c k524_err.c krb_err.c''')]  + ["../heimdal_build/krb5-glue.c"]
 
-    # Alias subsystem to allow common kerberos code that will
-    # otherwise link against MIT's gssapi_krb5
-    HEIMDAL_SUBSYSTEM('gssapi_krb5',
-        '',
-        deps='gssapi'
-        )
-
     HEIMDAL_LIBRARY('krb5', KRB5_SOURCE,
         version_script='lib/krb5/version-script.map',
                         includes='../heimdal/lib/krb5 ../heimdal/lib/asn1 ../heimdal/include',
@@ -634,12 +675,6 @@ if not bld.CONFIG_SET("USING_SYSTEM_KRB5"):
     HEIMDAL_AUTOPROTO('lib/krb5/krb5-protos.h', KRB5_PROTO_SOURCE,
         options='-E KRB5_LIB -q -P comment -o')
 
-    # Alias subsystem to allow common kerberos code that will
-    # otherwise link against MIT's k5crypto
-    HEIMDAL_SUBSYSTEM('k5crypto',
-                      '',
-                      deps='krb5')
-
 if not bld.CONFIG_SET("USING_SYSTEM_ASN1"):
     HEIMDAL_HEIM_ASN1_DER_SOURCE = '''
         lib/asn1/der_get.c
@@ -914,73 +949,9 @@ HEIMDAL_BINARY('samba4kpasswd',
     install=False
     )
 
-
-HEIMDAL_GSSAPI_SPNEGO_SOURCE = '''
-    lib/gssapi/spnego/init_sec_context.c
-    lib/gssapi/spnego/external.c
-    lib/gssapi/spnego/compat.c
-    lib/gssapi/spnego/context_stubs.c
-    lib/gssapi/spnego/cred_stubs.c
-    lib/gssapi/spnego/accept_sec_context.c
-'''
-
-HEIMDAL_AUTOPROTO_PRIVATE('lib/gssapi/spnego/spnego-private.h',
-                              HEIMDAL_GSSAPI_SPNEGO_SOURCE)
-
-
-HEIMDAL_GSSAPI_KRB5_SOURCE = '''
-    lib/gssapi/krb5/copy_ccache.c
-    lib/gssapi/krb5/delete_sec_context.c
-    lib/gssapi/krb5/init_sec_context.c
-    lib/gssapi/krb5/context_time.c
-    lib/gssapi/krb5/init.c
-    lib/gssapi/krb5/address_to_krb5addr.c
-    lib/gssapi/krb5/get_mic.c
-    lib/gssapi/krb5/inquire_context.c
-    lib/gssapi/krb5/add_cred.c
-    lib/gssapi/krb5/inquire_cred.c
-    lib/gssapi/krb5/inquire_cred_by_oid.c
-    lib/gssapi/krb5/inquire_cred_by_mech.c
-    lib/gssapi/krb5/inquire_mechs_for_name.c
-    lib/gssapi/krb5/inquire_names_for_mech.c
-    lib/gssapi/krb5/indicate_mechs.c
-    lib/gssapi/krb5/inquire_sec_context_by_oid.c
-    lib/gssapi/krb5/export_sec_context.c
-    lib/gssapi/krb5/import_sec_context.c
-    lib/gssapi/krb5/duplicate_name.c
-    lib/gssapi/krb5/import_name.c
-    lib/gssapi/krb5/compare_name.c
-    lib/gssapi/krb5/export_name.c
-    lib/gssapi/krb5/canonicalize_name.c
-    lib/gssapi/krb5/unwrap.c
-    lib/gssapi/krb5/wrap.c
-    lib/gssapi/krb5/release_name.c
-    lib/gssapi/krb5/cfx.c
-    lib/gssapi/krb5/8003.c
-    lib/gssapi/krb5/arcfour.c
-    lib/gssapi/krb5/encapsulate.c
-    lib/gssapi/krb5/display_name.c
-    lib/gssapi/krb5/sequence.c
-    lib/gssapi/krb5/display_status.c
-    lib/gssapi/krb5/release_buffer.c
-    lib/gssapi/krb5/external.c
-    lib/gssapi/krb5/compat.c
-    lib/gssapi/krb5/creds.c
-    lib/gssapi/krb5/acquire_cred.c
-    lib/gssapi/krb5/release_cred.c
-    lib/gssapi/krb5/store_cred.c
-    lib/gssapi/krb5/set_cred_option.c
-    lib/gssapi/krb5/decapsulate.c
-    lib/gssapi/krb5/verify_mic.c
-    lib/gssapi/krb5/accept_sec_context.c
-    lib/gssapi/krb5/set_sec_context_option.c
-    lib/gssapi/krb5/process_context_token.c
-    lib/gssapi/krb5/prf.c
-    lib/gssapi/krb5/aeap.c
-'''
-
-HEIMDAL_AUTOPROTO_PRIVATE('lib/gssapi/krb5/gsskrb5-private.h',
-                              HEIMDAL_GSSAPI_KRB5_SOURCE)
-
-
-
+# Alias subsystem to allow common kerberos code that will
+# otherwise link against MIT's gssapi_krb5 and k5crypto
+#
+# Note: that we also need this if we use system heimdal libraries
+HEIMDAL_SUBSYSTEM('gssapi_krb5', '', deps='gssapi')
+HEIMDAL_SUBSYSTEM('k5crypto', '', deps='krb5')


-- 
Samba Shared Repository


More information about the samba-cvs mailing list