- Declare krb5_auth_con_set_req_cksumtype if the prototype does not exist.

- Initialize bkupuid and bkupgid.

OBS-URL: https://build.opensuse.org/package/show/network:samba:STABLE/cifs-utils?expand=0&rev=50
This commit is contained in:
Lars Müller 2012-04-19 17:32:39 +00:00 committed by Git OBS Bridge
parent f246c3f672
commit 3752eaf521
4 changed files with 67 additions and 0 deletions

View File

@ -0,0 +1,19 @@
Author: Lars Mueller <lmuelle@suse.com>
Subject: cifs-utils build warns bkupuid and bkupgid may be used uninitialized
Bugzilla: na
Index: cifs-utils-5.4/mount.cifs.c
===================================================================
--- cifs-utils-5.4.orig/mount.cifs.c
+++ cifs-utils-5.4/mount.cifs.c
@@ -863,8 +863,8 @@ parse_options(const char *data, struct p
int got_uid = 0;
int got_cruid = 0;
int got_gid = 0;
- uid_t uid, cruid = 0, bkupuid;
- gid_t gid, bkupgid;
+ uid_t uid, cruid = 0, bkupuid = 0;
+ gid_t gid, bkupgid = 0;
char *ep;
struct passwd *pw;
struct group *gr;

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Thu Apr 19 17:29:11 UTC 2012 - lmuelle@suse.com
- Declare krb5_auth_con_set_req_cksumtype if the prototype does not exist.
- Initialize bkupuid and bkupgid.
-------------------------------------------------------------------
Thu Apr 19 16:07:00 UTC 2012 - lmuelle@suse.com

View File

@ -28,6 +28,8 @@ Source1: cifs.init
Source2: mkinitrd_scripts_boot-cifs.sh
Source3: mkinitrd_scripts_setup-cifs.sh
Patch: 8c6268cbbd4202631e5c4b30297adc0088a1d568.diff
Patch1: bku-uid-gid-uninitialized.diff
Patch2: krb5_auth_con_set_req_cksumtype-implicit-declaration.diff
%if 0%{?suse_version}
PreReq: insserv %{?fillup_prereq} mkinitrd
%else
@ -77,6 +79,8 @@ the Linux CIFS filesystem.
%prep
%setup -q
%patch -p1
%patch1 -p1
%patch2 -p1
%build
autoreconf --force --install

View File

@ -0,0 +1,38 @@
Author: Lars Mueller <lmuelle@suse.com>
Subject: cifs-utils build breaks with krb5 < 1.7
Bugzilla: na
Inspiration: https://bugzilla.samba.org/show_bug.cgi?id=6918
Index: cifs-utils-5.4/configure.ac
===================================================================
--- cifs-utils-5.4.orig/configure.ac
+++ cifs-utils-5.4/configure.ac
@@ -178,6 +178,9 @@ if test $enable_cifsupcall != "no"; then
AC_CHECK_FUNCS([krb5_auth_con_setaddrs krb5_auth_con_set_req_cksumtype])
fi
+# MIT krb5 < 1.7 does not have this declaration but does have the symbol
+AC_CHECK_DECLS(krb5_auth_con_set_req_cksumtype, [], [], [#include <krb5.h>])
+
LIBS=$cu_saved_libs
AM_CONDITIONAL(CONFIG_CIFSUPCALL, [test "$enable_cifsupcall" != "no"])
Index: cifs-utils-5.4/cifs.upcall.c
===================================================================
--- cifs-utils-5.4.orig/cifs.upcall.c
+++ cifs-utils-5.4/cifs.upcall.c
@@ -415,6 +415,14 @@ cifs_krb5_get_req(const char *host, cons
*/
in_data.data = discard_const_p(char, gss_cksum);
in_data.length = 24;
+
+ /* MIT krb5 < 1.7 is missing the prototype, but still has the symbol */
+#if !HAVE_DECL_KRB5_AUTH_CON_SET_REQ_CKSUMTYPE
+ krb5_error_code krb5_auth_con_set_req_cksumtype(
+ krb5_context context,
+ krb5_auth_context auth_context,
+ krb5_cksumtype cksumtype);
+#endif
ret = krb5_auth_con_set_req_cksumtype(context, auth_context, 0x8003);
if (ret) {
syslog(LOG_DEBUG, "%s: unable to set 0x8003 checksum",