From 809d82d16943bf59e6623bcc6ce5248999f6da07 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Wed, 11 Jun 2008 07:59:20 +0200 Subject: credentials: set GSS_KRB5_CRED_NO_CI_FLAGS_X to avoid GSS_C_CONF_FLAG and GSS_C_INTEG_FLAG metze (This used to be commit f573c1ff4443f3002c310d3ba29d8c343ad03907) --- source4/auth/credentials/credentials_krb5.c | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/source4/auth/credentials/credentials_krb5.c b/source4/auth/credentials/credentials_krb5.c index 3bc1764448..b9207ab601 100644 --- a/source4/auth/credentials/credentials_krb5.c +++ b/source4/auth/credentials/credentials_krb5.c @@ -379,19 +379,34 @@ _PUBLIC_ int cli_credentials_get_client_gss_creds(struct cli_credentials *cred, maj_stat = gss_krb5_import_cred(&min_stat, ccache->ccache, NULL, NULL, &gcc->creds); if (maj_stat) { + talloc_free(gcc); if (min_stat) { ret = min_stat; } else { ret = EINVAL; } + return ret; } - if (ret == 0) { - cred->client_gss_creds_obtained = cred->ccache_obtained; - talloc_set_destructor(gcc, free_gssapi_creds); - cred->client_gss_creds = gcc; - *_gcc = gcc; + + /* don't force GSS_C_CONF_FLAG and GSS_C_INTEG_FLAG */ + maj_stat = gss_set_cred_option(&min_stat, gcc->creds, + GSS_KRB5_CRED_NO_CI_FLAGS_X, + GSS_C_NO_BUFFER); + if (maj_stat) { + talloc_free(gcc); + if (min_stat) { + ret = min_stat; + } else { + ret = EINVAL; + } + return ret; } - return ret; + + cred->client_gss_creds_obtained = cred->ccache_obtained; + talloc_set_destructor(gcc, free_gssapi_creds); + cred->client_gss_creds = gcc; + *_gcc = gcc; + return 0; } /** -- cgit From d67e18ee373e519a35316f6159efbb2229cacffb Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Thu, 19 Jun 2008 12:29:50 +0200 Subject: Remove the dependency on $(abspath) in makefiles This is not around before GNU make 3.81, for me this fixes the build on GNU make 3.80 Signed-off-by: Stefan Metzmacher (This used to be commit c85a3632623184cb97c2e8567ca77834e81070a4) --- source4/heimdal_build/asn1_deps.pl | 3 ++- source4/heimdal_build/et_deps.pl | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/source4/heimdal_build/asn1_deps.pl b/source4/heimdal_build/asn1_deps.pl index 6121781760..80334328fc 100755 --- a/source4/heimdal_build/asn1_deps.pl +++ b/source4/heimdal_build/asn1_deps.pl @@ -6,6 +6,7 @@ # GPL use File::Basename; +use Cwd 'getcwd'; my $file = shift; my $prefix = shift; @@ -31,7 +32,7 @@ my $header = "$dirname/$prefix.h"; print "$header: \$(heimdalsrcdir)/$file \$(ASN1C)\n"; print "\t\@echo \"Compiling ASN1 file \$(heimdalsrcdir)/$file\"\n"; -print "\t\@\$(heimdalbuildsrcdir)/asn1_compile_wrapper.sh \$(builddir) $dirname \$(ASN1C) \$(abspath \$(heimdalsrcdir)/$file) $prefix $options\n\n"; +print "\t\@\$(heimdalbuildsrcdir)/asn1_compile_wrapper.sh \$(builddir) $dirname \$(ASN1C) " . getcwd() . "/\$(heimdalsrcdir)/$file $prefix $options\n\n"; open(IN,"heimdal/$file") or die("Can't open heimdal/$file: $!"); my @lines = ; diff --git a/source4/heimdal_build/et_deps.pl b/source4/heimdal_build/et_deps.pl index 6a0485bb54..5deabe82b5 100755 --- a/source4/heimdal_build/et_deps.pl +++ b/source4/heimdal_build/et_deps.pl @@ -1,6 +1,7 @@ #!/usr/bin/perl use File::Basename; +use Cwd 'getcwd'; my $file = shift; my $dirname = shift; @@ -10,7 +11,7 @@ my $header = "$dirname/$basename"; $header =~ s/\.et$/.h/; my $source = "$dirname/$basename"; $source =~ s/\.et$/.c/; print "$header $source: \$(heimdalsrcdir)/$file \$(ET_COMPILER)\n"; print "\t\@echo \"Compiling error table $file\"\n"; -print "\t\@\$(heimdalbuildsrcdir)/et_compile_wrapper.sh \$(builddir) $dirname \$(ET_COMPILER) \$(abspath \$(heimdalsrcdir)/$file) $source\n\n"; +print "\t\@\$(heimdalbuildsrcdir)/et_compile_wrapper.sh \$(builddir) $dirname \$(ET_COMPILER) " . getcwd() . "/\$(heimdalsrcdir)/$file $source\n\n"; print "clean:: \n"; print "\t\@rm -f $header $source\n\n"; -- cgit From 2d65e5a60d6ff7648ef71535f1018390aefe194e Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Thu, 19 Jun 2008 12:39:25 +0200 Subject: Include events_util.h in events_aio.c Without this, linking fails with DLIST_ADD and DLIST_REMOVE being undefined Signed-off-by: Stefan Metzmacher (This used to be commit 87385e4c873f80956dc1c43424dd4f49a993586c) --- source4/lib/events/events_aio.c | 1 + 1 file changed, 1 insertion(+) diff --git a/source4/lib/events/events_aio.c b/source4/lib/events/events_aio.c index 933ce26bf6..e30213acbc 100644 --- a/source4/lib/events/events_aio.c +++ b/source4/lib/events/events_aio.c @@ -34,6 +34,7 @@ #include "replace.h" #include "events.h" #include "events_internal.h" +#include "events_util.h" #include #include -- cgit