diff --git a/samba-3.2.1-cups-bug-5675.patch b/samba-3.2.1-cups-bug-5675.patch new file mode 100644 index 0000000..a754c2d --- /dev/null +++ b/samba-3.2.1-cups-bug-5675.patch @@ -0,0 +1,71 @@ +From 1ee1e8306f3578c19fe015145eb8da1013f7b820 Mon Sep 17 00:00:00 2001 +From: Jeremy Allison +Date: Thu, 7 Aug 2008 17:56:50 -0700 +Subject: [PATCH] Fix bug #5675 with a varient of Tim Waugh's patch, + as proposed by James Peach. + Jeremy. + +--- + source/client/smbspool.c | 2 +- + source/include/client.h | 1 + + source/libsmb/cliconnect.c | 5 ++--- + 3 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/source/client/smbspool.c b/source/client/smbspool.c +index e567ef8..f35a9d3 100644 +--- a/source/client/smbspool.c ++++ b/source/client/smbspool.c +@@ -347,7 +347,7 @@ get_exit_code(struct cli_state * cli, + } + + if (cli) { +- if (cli->use_kerberos || (cli->capabilities & CAP_EXTENDED_SECURITY)) ++ if (cli->use_kerberos && cli->got_kerberos_mechanism) + fputs("ATTR: auth-info-required=negotiate\n", stderr); + else + fputs("ATTR: auth-info-required=username,password\n", stderr); +diff --git a/source/include/client.h b/source/include/client.h +index 0e73745..833f4b4 100644 +--- a/source/include/client.h ++++ b/source/include/client.h +@@ -184,6 +184,7 @@ struct cli_state { + bool use_kerberos; + bool fallback_after_kerberos; + bool use_spnego; ++ bool got_kerberos_mechanism; /* Server supports krb5 in SPNEGO. */ + + bool use_oplocks; /* should we use oplocks? */ + bool use_level_II_oplocks; /* should we use level II oplocks? */ +diff --git a/source/libsmb/cliconnect.c b/source/libsmb/cliconnect.c +index 632d910..5993cd3 100644 +--- a/source/libsmb/cliconnect.c ++++ b/source/libsmb/cliconnect.c +@@ -797,7 +797,6 @@ ADS_STATUS cli_session_setup_spnego(struct cli_state *cli, const char *user, + char *principal = NULL; + char *OIDs[ASN1_MAX_OIDS]; + int i; +- bool got_kerberos_mechanism = False; + DATA_BLOB blob; + const char *p = NULL; + char *account = NULL; +@@ -832,7 +831,7 @@ ADS_STATUS cli_session_setup_spnego(struct cli_state *cli, const char *user, + DEBUG(3,("got OID=%s\n", OIDs[i])); + if (strcmp(OIDs[i], OID_KERBEROS5_OLD) == 0 || + strcmp(OIDs[i], OID_KERBEROS5) == 0) { +- got_kerberos_mechanism = True; ++ cli->got_kerberos_mechanism = True; + } + free(OIDs[i]); + } +@@ -845,7 +844,7 @@ ADS_STATUS cli_session_setup_spnego(struct cli_state *cli, const char *user, + /* If password is set we reauthenticate to kerberos server + * and do not store results */ + +- if (got_kerberos_mechanism && cli->use_kerberos) { ++ if (cli->got_kerberos_mechanism && cli->use_kerberos) { + ADS_STATUS rc; + + if (pass && *pass) { +-- +1.5.5.1 + diff --git a/samba.spec b/samba.spec index bf9b9eb..443c99f 100644 --- a/samba.spec +++ b/samba.spec @@ -3,7 +3,7 @@ %define tdb_version 1.1.1 %define talloc_version 1.2.0 -%define samba_release 0.%{main_release}%{?dist} +%define samba_release 1.%{main_release}%{?dist} Summary: The Samba Suite of programs Name: samba @@ -46,6 +46,7 @@ Patch107: samba-3.2.0pre1-grouppwd.patch Patch110: samba-3.0.21pre1-smbspool.patch Patch111: samba-3.0.13-smbclient.patch Patch200: samba-3.0.25rc1-inotifiy.patch +Patch201: samba-3.2.1-cups-bug-5675.patch Requires(pre): samba-common = %{epoch}:%{version}-%{release} Requires: pam >= 0:0.64 @@ -252,6 +253,7 @@ cp %{SOURCE11} packaging/Fedora/ #%patch110 -p1 -b .smbspool # FIXME: does not apply #%patch111 -p1 -b .smbclient # FIXME: does not apply #%patch200 -p0 -b .inotify # FIXME: does not compile +%patch201 -p1 -b .cups_5675 mv source/VERSION source/VERSION.orig sed -e 's/SAMBA_VERSION_VENDOR_SUFFIX=$/&\"%{samba_release}\"/' < source/VERSION.orig > source/VERSION @@ -846,6 +848,9 @@ exit 0 %{_datadir}/pixmaps/samba/logo-small.png %changelog +* Mon Aug 11 2008 Simo Sorce - 3.2.1-1.18 +- Add fix for CUPS problem, fixes bug #453951 + * Wed Aug 6 2008 Simo Sorce - 3.2.1-0.18 - Update to 3.2.1