Hello community, here is the log from the commit of package samba for openSUSE:Factory checked in at 2015-01-21 21:55:55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/samba (Old) and /work/SRC/openSUSE:Factory/.samba.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "samba" Changes: -------- --- /work/SRC/openSUSE:Factory/samba/samba.changes 2014-12-16 14:46:26.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.samba.new/samba.changes 2015-01-21 21:56:26.000000000 +0100 @@ -1,0 +2,36 @@ +Tue Jan 13 13:28:31 UTC 2015 - mplus...@suse.com + +- Enable avahi support on post-12.2 systems. + +------------------------------------------------------------------- +Tue Jan 13 13:01:11 UTC 2015 - lmue...@suse.com + +- Update to 4.1.15. + + pam_winbind: Fix warn_pwd_expire implementation; (bso#9056). + + nsswitch: Fix soname of linux nss_*.so.2 modules; (bso#9299). + + Fix profiles tool; (bso#9629). + + s3-lib: Do not require a password with --use-ccache; (bso#10279). + + s4:dsdb/rootdse: Expand extended dn values with the AS_SYSTEM control; + (bso#10949). + + s4-rpc: dnsserver: Fix enumeration of IPv4 and IPv6 addresses; (bso#10952). + + s3:smb2_server: Allow reauthentication without signing; (bso#10958). + + s3-smbclient: Return success if we listed the shares; (bso#10960). + + s3-smbstatus: Fix exit code of profile output; (bso#10961). + + libcli: SMB2: Pure SMB2-only negprot fix to make us behave as a Windows + client does; (bso#10966). + + s3: smbd/modules: Fix *allocate* calls to follow POSIX error return + convention; (bso#10982). + + Fix 'domain join' by adding 'drsuapi.DsBindInfoFallBack' attribute + 'supported_extensions'; (bso#11006). + + idl:drsuapi: Manage all possible lengths of drsuapi_DsBindInfo; + (bso#11006). + + winbind: Retry LogonControl RPC in ping-dc after session expiration; + (bso#11034). + +------------------------------------------------------------------- +Tue Jan 6 10:33:44 CET 2015 - nopo...@suse.de + +- yast2-samba-client should be able to specify osName and osVer on + AD domain join; (bnc#873922). + +------------------------------------------------------------------- @@ -13,0 +50,5 @@ +Thu Dec 4 19:08:11 UTC 2014 - dd...@suse.com + +- Fix spoolss error response marshalling; (bso#10984). + +------------------------------------------------------------------- @@ -54,0 +96,6 @@ +Thu Oct 30 10:29:04 UTC 2014 - dd...@suse.com + +- Fix spoolss EnumJobs and GetJob responses; (bso#10905); (bnc#898031). + + Fix handling of bad EnumJobs levels; (bso#10898). + +------------------------------------------------------------------- @@ -173,0 +221,6 @@ + +------------------------------------------------------------------- +Thu Sep 11 17:26:26 UTC 2014 - dd...@suse.com + +- Prune idle or hung connections older than "winbind request timeout"; + (bso#3204); (bnc#872912). Old: ---- samba-4.1.14.tar.asc samba-4.1.14.tar.gz New: ---- samba-4.1.15.tar.asc samba-4.1.15.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ samba.spec ++++++ --- /var/tmp/diff_new_pack.maueGu/_old 2015-01-21 21:56:27.000000000 +0100 +++ /var/tmp/diff_new_pack.maueGu/_new 2015-01-21 21:56:27.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package samba # -# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -118,10 +118,11 @@ BuildRequires: libxslt-tools %endif %if 0%{?suse_version} > 1220 +BuildRequires: libavahi-devel BuildRequires: systemd BuildRequires: systemd-devel %endif -%define samba_ver 4.1.14 +%define samba_ver 4.1.15 %define samba_ver_suffix %nil %if "%{samba_ver_suffix}" == "" %define samba_source_location http://ftp.samba.org/pub/samba/stable/samba-%{version}.tar.gz @@ -145,11 +146,11 @@ %else %define build_make_smp_mflags %{?jobs:-j%jobs} %endif -%define SOURCE_TIMESTAMP 3339 +%define SOURCE_TIMESTAMP 3346 %define BRANCH %{version} %global with_mitkrb5 1 %global with_dc 0 -Version: 4.1.14 +Version: 4.1.15 Release: 0 Url: http://www.samba.org/ Provides: samba-gplv3 = %{version} @@ -1200,6 +1201,7 @@ --with-quotas \ --with-syslog \ %if 0%{?suse_version} > 1220 + --enable-avahi \ --with-systemd \ %endif --with-utmp \ ++++++ patches.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches/samba.org/3135533710b2a1b64aaf6b10d30b86f3c004657d new/patches/samba.org/3135533710b2a1b64aaf6b10d30b86f3c004657d --- old/patches/samba.org/3135533710b2a1b64aaf6b10d30b86f3c004657d 2014-12-05 15:13:54.000000000 +0100 +++ new/patches/samba.org/3135533710b2a1b64aaf6b10d30b86f3c004657d 2015-01-13 14:16:11.000000000 +0100 @@ -171,7 +171,7 @@ index a34ced4..2929f3f 100755 --- source3/wscript_build +++ source3/wscript_build -@@ -672,7 +672,8 @@ bld.SAMBA3_LIBRARY('msrpc3', +@@ -665,7 +665,8 @@ bld.SAMBA3_LIBRARY('msrpc3', deps='''ndr ndr-standard RPC_NDR_EPMAPPER NTLMSSP_COMMON COMMON_SCHANNEL LIBCLI_AUTH LIBTSOCKET gse dcerpc-binding diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches/samba.org/4e6934ec6c163ad6fd9c317b5a7dd7775b0dc83f new/patches/samba.org/4e6934ec6c163ad6fd9c317b5a7dd7775b0dc83f --- old/patches/samba.org/4e6934ec6c163ad6fd9c317b5a7dd7775b0dc83f 2014-12-05 15:13:54.000000000 +0100 +++ new/patches/samba.org/4e6934ec6c163ad6fd9c317b5a7dd7775b0dc83f 2015-01-13 14:06:22.000000000 +0100 @@ -208,7 +208,7 @@ if ((ret = SMB_VFS_FTRUNCATE(fsp, (off_t)len)) != -1) { set_filelen_write_cache(fsp, len); } -@@ -615,7 +615,7 @@ int vfs_set_filelen(files_struct *fsp, off_t len) +@@ -619,7 +619,7 @@ int vfs_set_filelen(files_struct *fsp, off_t len) DEBUG(10,("vfs_set_filelen: ftruncate %s to len %.0f\n", fsp_str_dbg(fsp), (double)len)); @@ -217,7 +217,7 @@ if ((ret = SMB_VFS_FTRUNCATE(fsp, len)) != -1) { set_filelen_write_cache(fsp, len); notify_fname(fsp->conn, NOTIFY_ACTION_MODIFIED, -@@ -704,7 +704,7 @@ int vfs_fill_sparse(files_struct *fsp, off_t len) +@@ -710,7 +710,7 @@ int vfs_fill_sparse(files_struct *fsp, off_t len) contend_level2_oplocks_begin(fsp, LEVEL2_CONTEND_FILL_SPARSE); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches/samba.org/679c781112ce6b7cffca11c28e58ae5f9a0d717d new/patches/samba.org/679c781112ce6b7cffca11c28e58ae5f9a0d717d --- old/patches/samba.org/679c781112ce6b7cffca11c28e58ae5f9a0d717d 1970-01-01 01:00:00.000000000 +0100 +++ new/patches/samba.org/679c781112ce6b7cffca11c28e58ae5f9a0d717d 2015-01-13 13:51:09.000000000 +0100 @@ -0,0 +1,65 @@ +From 6939504ac922a2f630ad9402cdd5fdf00403ac43 Mon Sep 17 00:00:00 2001 +From: David Disseldorp <dd...@samba.org> +Date: Wed, 17 Dec 2014 15:54:22 +0100 +Subject: [PATCH] spoolss: clear info on GetPrintProcessorDirectory error + +If an error is returned without zeroing a pre-allocated @info pointer, +then marshalling of the response will fail. + +Bug: https://bugzilla.samba.org/show_bug.cgi?id=10984 + +Signed-off-by: David Disseldorp <dd...@samba.org> +Reviewed-by: Andreas Schneider <a...@samba.org> +(cherry picked from commit 679c781112ce6b7cffca11c28e58ae5f9a0d717d) +--- + source3/rpc_server/spoolss/srv_spoolss_nt.c | 13 +++++++++---- + 1 file changed, 9 insertions(+), 4 deletions(-) + +diff --git source3/rpc_server/spoolss/srv_spoolss_nt.c source3/rpc_server/spoolss/srv_spoolss_nt.c +index cc5e652..5dfbc1a 100644 +--- source3/rpc_server/spoolss/srv_spoolss_nt.c ++++ source3/rpc_server/spoolss/srv_spoolss_nt.c +@@ -10141,7 +10141,8 @@ WERROR _spoolss_GetPrintProcessorDirectory(struct pipes_struct *p, + /* that's an [in out] buffer */ + + if (!r->in.buffer && (r->in.offered != 0)) { +- return WERR_INVALID_PARAM; ++ result = WERR_INVALID_PARAM; ++ goto err_info_free; + } + + DEBUG(5,("_spoolss_GetPrintProcessorDirectory: level %d\n", +@@ -10157,7 +10158,8 @@ WERROR _spoolss_GetPrintProcessorDirectory(struct pipes_struct *p, + + snum = find_service(talloc_tos(), "prnproc$", &prnproc_share); + if (!prnproc_share) { +- return WERR_NOMEM; ++ result = WERR_NOMEM; ++ goto err_info_free; + } + if (snum != -1) { + prnproc_share_exists = true; +@@ -10168,8 +10170,7 @@ WERROR _spoolss_GetPrintProcessorDirectory(struct pipes_struct *p, + r->in.environment, + &r->out.info->info1); + if (!W_ERROR_IS_OK(result)) { +- TALLOC_FREE(r->out.info); +- return result; ++ goto err_info_free; + } + + *r->out.needed = SPOOLSS_BUFFER_UNION(spoolss_PrintProcessorDirectoryInfo, +@@ -10177,6 +10178,10 @@ WERROR _spoolss_GetPrintProcessorDirectory(struct pipes_struct *p, + r->out.info = SPOOLSS_BUFFER_OK(r->out.info, NULL); + + return SPOOLSS_BUFFER_OK(WERR_OK, WERR_INSUFFICIENT_BUFFER); ++ ++err_info_free: ++ TALLOC_FREE(r->out.info); ++ return result; + } + + /******************************************************************* +-- +2.1.2 + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches/samba.org/710ddf82ed88002493171f36fbbeebfff0a181fb new/patches/samba.org/710ddf82ed88002493171f36fbbeebfff0a181fb --- old/patches/samba.org/710ddf82ed88002493171f36fbbeebfff0a181fb 2014-12-05 15:13:54.000000000 +0100 +++ new/patches/samba.org/710ddf82ed88002493171f36fbbeebfff0a181fb 2015-01-13 14:10:09.000000000 +0100 @@ -82,7 +82,7 @@ index 9943bbe..52e0901 100755 --- source3/wscript_build +++ source3/wscript_build -@@ -975,7 +975,7 @@ bld.SAMBA3_LIBRARY('smbd_base', +@@ -968,7 +968,7 @@ bld.SAMBA3_LIBRARY('smbd_base', LIBADS_SERVER LIBAFS LIBAFS_SETTOKEN diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches/samba.org/7daa4b94fa6299d6e1788c93ed8ff0b4c4023b40 new/patches/samba.org/7daa4b94fa6299d6e1788c93ed8ff0b4c4023b40 --- old/patches/samba.org/7daa4b94fa6299d6e1788c93ed8ff0b4c4023b40 2014-12-05 15:13:54.000000000 +0100 +++ new/patches/samba.org/7daa4b94fa6299d6e1788c93ed8ff0b4c4023b40 2015-01-13 14:15:21.000000000 +0100 @@ -191,7 +191,7 @@ index 52e0901..a34ced4 100755 --- source3/wscript_build +++ source3/wscript_build -@@ -1152,7 +1152,7 @@ bld.SAMBA3_SUBSYSTEM('LIBCLI_WINREG', +@@ -1145,7 +1145,7 @@ bld.SAMBA3_SUBSYSTEM('LIBCLI_WINREG', bld.SAMBA3_SUBSYSTEM('LIBCLI_WINREG_INTERNAL', source='rpc_client/cli_winreg_int.c', @@ -200,7 +200,7 @@ bld.SAMBA3_SUBSYSTEM('RPC_CLIENT_SCHANNEL', source=RPC_CLIENT_SCHANNEL_SRC, -@@ -1214,8 +1214,7 @@ bld.SAMBA3_BINARY('winbindd/winbindd', +@@ -1207,8 +1207,7 @@ bld.SAMBA3_BINARY('winbindd/winbindd', SRV_NDR_WBINT RPC_SAMR RPC_LSARPC diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches/samba.org/89869e090c56a3f83b451b437f9c3f40a231dd24 new/patches/samba.org/89869e090c56a3f83b451b437f9c3f40a231dd24 --- old/patches/samba.org/89869e090c56a3f83b451b437f9c3f40a231dd24 1970-01-01 01:00:00.000000000 +0100 +++ new/patches/samba.org/89869e090c56a3f83b451b437f9c3f40a231dd24 2015-01-13 13:51:09.000000000 +0100 @@ -0,0 +1,108 @@ +From e07d6ea33bca4e354e32d4aa02b87e28f1d7c0f6 Mon Sep 17 00:00:00 2001 +From: David Disseldorp <dd...@samba.org> +Date: Thu, 4 Dec 2014 20:03:39 +0100 +Subject: [PATCH] spoolss: clear JobInfo on GetJob error + +In handling a spoolss GetJob request, the _spoolss_GetJob() handler may +return an immediate error if one of the input parameters is invalid. If +this is done without zeroing the pre-allocated @info pointer, then +api_spoolss_GetJob() will attempt to marshall @info, which in the case +of an @offered value of zero results in a marshalling error: + +ndr_push_error(7): Bad subcontext (PUSH) content_size 64 is larger +than size_is(0) + +Bug: https://bugzilla.samba.org/show_bug.cgi?id=10984 + +Signed-off-by: David Disseldorp <dd...@samba.org> +Reviewed-by: Andreas Schneider <a...@samba.org> +(cherry picked from commit 89869e090c56a3f83b451b437f9c3f40a231dd24) +--- + source3/rpc_server/spoolss/srv_spoolss_nt.c | 28 ++++++++++++++++++---------- + 1 file changed, 18 insertions(+), 10 deletions(-) + +diff --git source3/rpc_server/spoolss/srv_spoolss_nt.c source3/rpc_server/spoolss/srv_spoolss_nt.c +index c451212..6e3012c 100644 +--- source3/rpc_server/spoolss/srv_spoolss_nt.c ++++ source3/rpc_server/spoolss/srv_spoolss_nt.c +@@ -9479,7 +9479,8 @@ WERROR _spoolss_GetJob(struct pipes_struct *p, + /* that's an [in out] buffer */ + + if (!r->in.buffer && (r->in.offered != 0)) { +- return WERR_INVALID_PARAM; ++ result = WERR_INVALID_PARAM; ++ goto err_jinfo_free; + } + + DEBUG(5,("_spoolss_GetJob\n")); +@@ -9487,12 +9488,14 @@ WERROR _spoolss_GetJob(struct pipes_struct *p, + *r->out.needed = 0; + + if (!get_printer_snum(p, r->in.handle, &snum, NULL)) { +- return WERR_BADFID; ++ result = WERR_BADFID; ++ goto err_jinfo_free; + } + + svc_name = lp_const_servicename(snum); + if (svc_name == NULL) { +- return WERR_INVALID_PARAM; ++ result = WERR_INVALID_PARAM; ++ goto err_jinfo_free; + } + + result = winreg_get_printer_internal(p->mem_ctx, +@@ -9501,22 +9504,22 @@ WERROR _spoolss_GetJob(struct pipes_struct *p, + svc_name, + &pinfo2); + if (!W_ERROR_IS_OK(result)) { +- return result; ++ goto err_jinfo_free; + } + + pdb = get_print_db_byname(svc_name); + if (pdb == NULL) { + DEBUG(3, ("failed to get print db for svc %s\n", svc_name)); +- TALLOC_FREE(pinfo2); +- return WERR_INVALID_PARAM; ++ result = WERR_INVALID_PARAM; ++ goto err_pinfo_free; + } + + sysjob = jobid_to_sysjob_pdb(pdb, r->in.job_id); + release_print_db(pdb); + if (sysjob == -1) { + DEBUG(3, ("no sysjob for spoolss jobid %u\n", r->in.job_id)); +- TALLOC_FREE(pinfo2); +- return WERR_INVALID_PARAM; ++ result = WERR_INVALID_PARAM; ++ goto err_pinfo_free; + } + + count = print_queue_status(p->msg_ctx, snum, &queue, &prt_status); +@@ -9546,8 +9549,7 @@ WERROR _spoolss_GetJob(struct pipes_struct *p, + TALLOC_FREE(pinfo2); + + if (!W_ERROR_IS_OK(result)) { +- TALLOC_FREE(r->out.info); +- return result; ++ goto err_jinfo_free; + } + + *r->out.needed = SPOOLSS_BUFFER_UNION(spoolss_JobInfo, r->out.info, +@@ -9555,6 +9557,12 @@ WERROR _spoolss_GetJob(struct pipes_struct *p, + r->out.info = SPOOLSS_BUFFER_OK(r->out.info, NULL); + + return SPOOLSS_BUFFER_OK(WERR_OK, WERR_INSUFFICIENT_BUFFER); ++ ++err_pinfo_free: ++ TALLOC_FREE(pinfo2); ++err_jinfo_free: ++ TALLOC_FREE(r->out.info); ++ return result; + } + + /**************************************************************** +-- +2.1.2 + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches/samba.org/a11e97b79645ff0d9e7d20f5318a979194a858fe new/patches/samba.org/a11e97b79645ff0d9e7d20f5318a979194a858fe --- old/patches/samba.org/a11e97b79645ff0d9e7d20f5318a979194a858fe 1970-01-01 01:00:00.000000000 +0100 +++ new/patches/samba.org/a11e97b79645ff0d9e7d20f5318a979194a858fe 2015-01-13 13:51:09.000000000 +0100 @@ -0,0 +1,82 @@ +From 97655d3245ce18fc8c7171dd7384bef42a11ae96 Mon Sep 17 00:00:00 2001 +From: David Disseldorp <dd...@samba.org> +Date: Wed, 17 Dec 2014 16:54:42 +0100 +Subject: [PATCH] spoolss: clear PrinterInfo on GetPrinter error + +If an error is returned without zeroing a pre-allocated @info pointer, +then marshalling of the response will fail. + +Bug: https://bugzilla.samba.org/show_bug.cgi?id=10984 + +Signed-off-by: David Disseldorp <dd...@samba.org> +Reviewed-by: Andreas Schneider <a...@samba.org> +(cherry picked from commit a11e97b79645ff0d9e7d20f5318a979194a858fe) +--- + source3/rpc_server/spoolss/srv_spoolss_nt.c | 19 ++++++++++++------- + 1 file changed, 12 insertions(+), 7 deletions(-) + +diff --git source3/rpc_server/spoolss/srv_spoolss_nt.c source3/rpc_server/spoolss/srv_spoolss_nt.c +index cf2526d..17eee50 100644 +--- source3/rpc_server/spoolss/srv_spoolss_nt.c ++++ source3/rpc_server/spoolss/srv_spoolss_nt.c +@@ -4773,17 +4773,20 @@ WERROR _spoolss_GetPrinter(struct pipes_struct *p, + /* that's an [in out] buffer */ + + if (!r->in.buffer && (r->in.offered != 0)) { +- return WERR_INVALID_PARAM; ++ result = WERR_INVALID_PARAM; ++ goto err_info_free; + } + + *r->out.needed = 0; + + if (Printer == NULL) { +- return WERR_BADFID; ++ result = WERR_BADFID; ++ goto err_info_free; + } + + if (!get_printer_snum(p, r->in.handle, &snum, NULL)) { +- return WERR_BADFID; ++ result = WERR_BADFID; ++ goto err_info_free; + } + + result = winreg_get_printer_internal(p->mem_ctx, +@@ -4792,7 +4795,7 @@ WERROR _spoolss_GetPrinter(struct pipes_struct *p, + lp_const_servicename(snum), + &info2); + if (!W_ERROR_IS_OK(result)) { +- goto out; ++ goto err_info_free; + } + + switch (r->in.level) { +@@ -4852,12 +4855,10 @@ WERROR _spoolss_GetPrinter(struct pipes_struct *p, + } + TALLOC_FREE(info2); + +- out: + if (!W_ERROR_IS_OK(result)) { + DEBUG(0, ("_spoolss_GetPrinter: failed to construct printer info level %d - %s\n", + r->in.level, win_errstr(result))); +- TALLOC_FREE(r->out.info); +- return result; ++ goto err_info_free; + } + + *r->out.needed = SPOOLSS_BUFFER_UNION(spoolss_PrinterInfo, +@@ -4865,6 +4866,10 @@ WERROR _spoolss_GetPrinter(struct pipes_struct *p, + r->out.info = SPOOLSS_BUFFER_OK(r->out.info, NULL); + + return SPOOLSS_BUFFER_OK(WERR_OK, WERR_INSUFFICIENT_BUFFER); ++ ++err_info_free: ++ TALLOC_FREE(r->out.info); ++ return result; + } + + /******************************************************************** +-- +2.1.2 + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches/samba.org/b113ed6043622cdec68f3a70631b363594f3a8d0 new/patches/samba.org/b113ed6043622cdec68f3a70631b363594f3a8d0 --- old/patches/samba.org/b113ed6043622cdec68f3a70631b363594f3a8d0 1970-01-01 01:00:00.000000000 +0100 +++ new/patches/samba.org/b113ed6043622cdec68f3a70631b363594f3a8d0 2015-01-13 13:51:09.000000000 +0100 @@ -0,0 +1,34 @@ +From b2207bf389ef81c8d2c95036cf82f674f7363635 Mon Sep 17 00:00:00 2001 +From: David Disseldorp <dd...@samba.org> +Date: Wed, 17 Dec 2014 15:29:52 +0100 +Subject: [PATCH] spoolss: clear FormInfo on GetForm error + +In handling a spoolss GetForm request, the handler may return an +immediate error if one of the input parameters is invalid. If this is +done without zeroing the pre-allocated @info pointer, then marshalling +of the response will fail. + +Bug: https://bugzilla.samba.org/show_bug.cgi?id=10984 + +Signed-off-by: David Disseldorp <dd...@samba.org> +Reviewed-by: Andreas Schneider <a...@samba.org> +(cherry picked from commit b113ed6043622cdec68f3a70631b363594f3a8d0) +--- + source3/rpc_server/spoolss/srv_spoolss_nt.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git source3/rpc_server/spoolss/srv_spoolss_nt.c source3/rpc_server/spoolss/srv_spoolss_nt.c +index d29d854..cc5e652 100644 +--- source3/rpc_server/spoolss/srv_spoolss_nt.c ++++ source3/rpc_server/spoolss/srv_spoolss_nt.c +@@ -7848,6 +7848,7 @@ WERROR _spoolss_GetForm(struct pipes_struct *p, + /* that's an [in out] buffer */ + + if (!r->in.buffer && (r->in.offered != 0)) { ++ TALLOC_FREE(r->out.info); + return WERR_INVALID_PARAM; + } + +-- +2.1.2 + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches/samba.org/c9fccb5018f9a19bb654b9ad79aa716e37a274d6 new/patches/samba.org/c9fccb5018f9a19bb654b9ad79aa716e37a274d6 --- old/patches/samba.org/c9fccb5018f9a19bb654b9ad79aa716e37a274d6 1970-01-01 01:00:00.000000000 +0100 +++ new/patches/samba.org/c9fccb5018f9a19bb654b9ad79aa716e37a274d6 2015-01-13 13:51:09.000000000 +0100 @@ -0,0 +1,32 @@ +From bdde243d7b032f2df5997b0e3996be0e0ce4ec16 Mon Sep 17 00:00:00 2001 +From: David Disseldorp <dd...@samba.org> +Date: Wed, 17 Dec 2014 16:47:50 +0100 +Subject: [PATCH] spoolss: clear info on GetPrinterDriverDirectory error + +If an error is returned without zeroing a pre-allocated @info pointer, +then marshalling of the response will fail. + +Bug: https://bugzilla.samba.org/show_bug.cgi?id=10984 + +Signed-off-by: David Disseldorp <dd...@samba.org> +Reviewed-by: Andreas Schneider <a...@samba.org> +(cherry picked from commit c9fccb5018f9a19bb654b9ad79aa716e37a274d6) +--- + source3/rpc_server/spoolss/srv_spoolss_nt.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git source3/rpc_server/spoolss/srv_spoolss_nt.c source3/rpc_server/spoolss/srv_spoolss_nt.c +index 5dfbc1a..cf2526d 100644 +--- source3/rpc_server/spoolss/srv_spoolss_nt.c ++++ source3/rpc_server/spoolss/srv_spoolss_nt.c +@@ -8539,6 +8539,7 @@ WERROR _spoolss_GetPrinterDriverDirectory(struct pipes_struct *p, + /* that's an [in out] buffer */ + + if (!r->in.buffer && (r->in.offered != 0)) { ++ TALLOC_FREE(r->out.info); + return WERR_INVALID_PARAM; + } + +-- +2.1.2 + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches/samba.org/clitar_libarchive_41t.patch new/patches/samba.org/clitar_libarchive_41t.patch --- old/patches/samba.org/clitar_libarchive_41t.patch 2014-12-05 15:13:54.000000000 +0100 +++ new/patches/samba.org/clitar_libarchive_41t.patch 2015-01-13 14:05:09.000000000 +0100 @@ -6582,7 +6582,7 @@ index e0432bf..9943bbe 100755 --- source3/wscript_build +++ source3/wscript_build -@@ -1266,7 +1266,8 @@ bld.SAMBA3_BINARY('client/smbclient', +@@ -1259,7 +1259,8 @@ bld.SAMBA3_BINARY('client/smbclient', libsmb msrpc3 RPC_NDR_SRVSVC diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches/samba.org/d8d5d4c7428683da04fa4c8b344504e7044f9b1c new/patches/samba.org/d8d5d4c7428683da04fa4c8b344504e7044f9b1c --- old/patches/samba.org/d8d5d4c7428683da04fa4c8b344504e7044f9b1c 2014-12-05 15:13:54.000000000 +0100 +++ new/patches/samba.org/d8d5d4c7428683da04fa4c8b344504e7044f9b1c 2015-01-13 14:08:41.000000000 +0100 @@ -220,7 +220,7 @@ /******************************************************************** Given a stat buffer return the allocated size on disk, taking into account sparse files. -@@ -2556,6 +2573,8 @@ static struct vfs_fn_pointers vfs_default_fns = { +@@ -2563,6 +2580,8 @@ static struct vfs_fn_pointers vfs_default_fns = { .fsctl_fn = vfswrap_fsctl, .copy_chunk_send_fn = vfswrap_copy_chunk_send, .copy_chunk_recv_fn = vfswrap_copy_chunk_recv, @@ -305,7 +305,7 @@ index 1b14d65..d78327d 100644 --- source3/modules/vfs_time_audit.c +++ source3/modules/vfs_time_audit.c -@@ -1751,6 +1751,57 @@ static NTSTATUS smb_time_audit_copy_chunk_recv(struct vfs_handle_struct *handle, +@@ -1757,6 +1757,57 @@ static NTSTATUS smb_time_audit_copy_chunk_recv(struct vfs_handle_struct *handle, return NT_STATUS_OK; } @@ -363,7 +363,7 @@ static NTSTATUS smb_time_audit_fget_nt_acl(vfs_handle_struct *handle, files_struct *fsp, uint32 security_info, -@@ -2264,6 +2315,8 @@ static struct vfs_fn_pointers vfs_time_audit_fns = { +@@ -2270,6 +2321,8 @@ static struct vfs_fn_pointers vfs_time_audit_fns = { .translate_name_fn = smb_time_audit_translate_name, .copy_chunk_send_fn = smb_time_audit_copy_chunk_send, .copy_chunk_recv_fn = smb_time_audit_copy_chunk_recv, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches/samba.org/fb9ecb044ee986ab3496da6cbad162a224378475 new/patches/samba.org/fb9ecb044ee986ab3496da6cbad162a224378475 --- old/patches/samba.org/fb9ecb044ee986ab3496da6cbad162a224378475 1970-01-01 01:00:00.000000000 +0100 +++ new/patches/samba.org/fb9ecb044ee986ab3496da6cbad162a224378475 2015-01-13 13:51:09.000000000 +0100 @@ -0,0 +1,76 @@ +From b4aa8bf1a63c866dec9208f5ef852ff232369c5c Mon Sep 17 00:00:00 2001 +From: David Disseldorp <dd...@samba.org> +Date: Wed, 17 Dec 2014 15:21:33 +0100 +Subject: [PATCH] spoolss: clear DriverInfo on GetPrinterDriver2 error + +In handling a spoolss GetPrinterDriver2 request, the handler may +return an immediate error if one of the input parameters is invalid. +If this is done without zeroing the pre-allocated @info pointer, then +marshalling of the response will fail. + +Bug: https://bugzilla.samba.org/show_bug.cgi?id=10984 + +Signed-off-by: David Disseldorp <dd...@samba.org> +Reviewed-by: Andreas Schneider <a...@samba.org> +(cherry picked from commit fb9ecb044ee986ab3496da6cbad162a224378475) +--- + source3/rpc_server/spoolss/srv_spoolss_nt.c | 16 +++++++++++----- + 1 file changed, 11 insertions(+), 5 deletions(-) + +diff --git source3/rpc_server/spoolss/srv_spoolss_nt.c source3/rpc_server/spoolss/srv_spoolss_nt.c +index 6e3012c..d29d854 100644 +--- source3/rpc_server/spoolss/srv_spoolss_nt.c ++++ source3/rpc_server/spoolss/srv_spoolss_nt.c +@@ -5681,14 +5681,16 @@ WERROR _spoolss_GetPrinterDriver2(struct pipes_struct *p, + /* that's an [in out] buffer */ + + if (!r->in.buffer && (r->in.offered != 0)) { +- return WERR_INVALID_PARAM; ++ result = WERR_INVALID_PARAM; ++ goto err_info_free; + } + + DEBUG(4,("_spoolss_GetPrinterDriver2\n")); + + if (!(printer = find_printer_index_by_hnd(p, r->in.handle))) { + DEBUG(0,("_spoolss_GetPrinterDriver2: invalid printer handle!\n")); +- return WERR_INVALID_PRINTER_NAME; ++ result = WERR_INVALID_PRINTER_NAME; ++ goto err_info_free; + } + + *r->out.needed = 0; +@@ -5696,7 +5698,8 @@ WERROR _spoolss_GetPrinterDriver2(struct pipes_struct *p, + *r->out.server_minor_version = 0; + + if (!get_printer_snum(p, r->in.handle, &snum, NULL)) { +- return WERR_BADFID; ++ result = WERR_BADFID; ++ goto err_info_free; + } + + if (r->in.client_major_version == SPOOLSS_DRIVER_VERSION_2012) { +@@ -5713,8 +5716,7 @@ WERROR _spoolss_GetPrinterDriver2(struct pipes_struct *p, + r->in.architecture, + version); + if (!W_ERROR_IS_OK(result)) { +- TALLOC_FREE(r->out.info); +- return result; ++ goto err_info_free; + } + + *r->out.needed = SPOOLSS_BUFFER_UNION(spoolss_DriverInfo, +@@ -5722,6 +5724,10 @@ WERROR _spoolss_GetPrinterDriver2(struct pipes_struct *p, + r->out.info = SPOOLSS_BUFFER_OK(r->out.info, NULL); + + return SPOOLSS_BUFFER_OK(WERR_OK, WERR_INSUFFICIENT_BUFFER); ++ ++err_info_free: ++ TALLOC_FREE(r->out.info); ++ return result; + } + + +-- +2.1.2 + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches/series new/patches/series --- old/patches/series 2014-12-09 11:43:13.000000000 +0100 +++ new/patches/series 2015-01-13 13:51:09.000000000 +0100 @@ -82,6 +82,12 @@ samba.org/0751495b1327d002b79482632b7c590cae6e3f9d -p0 # bso 10787, bnc 893774 samba.org/7f59711f076e98ece099f6b38ff6da8c80fa6d5e -p0 # bso 10824, bnc 897969 samba.org/6faef4d213e76077bdbaf83cf07f0261c11dc757 -p0 # bso 10918 +samba.org/89869e090c56a3f83b451b437f9c3f40a231dd24 -p0 # bso 10984 +samba.org/fb9ecb044ee986ab3496da6cbad162a224378475 -p0 # bso 10984 +samba.org/b113ed6043622cdec68f3a70631b363594f3a8d0 -p0 # bso 10984 +samba.org/679c781112ce6b7cffca11c28e58ae5f9a0d717d -p0 # bso 10984 +samba.org/c9fccb5018f9a19bb654b9ad79aa716e37a274d6 -p0 # bso 10984 +samba.org/a11e97b79645ff0d9e7d20f5318a979194a858fe -p0 # bso 10984 samba.org/fix_pc_dependencies.diff -p0 # SuSE specific changes @@ -147,7 +153,7 @@ suse/0001-doc-prune-stale-and-sequence-timeout-fssd-parameters.patch -p0 # bnc 876312 suse/0001-fsrvp-don-t-store-or-retrieve-snums-with-server-stat.patch -p0 # bnc 908627 suse/0002-fsrvp-lookup-base-share-snums-at-runtime.patch -p0 # bnc 908627 - +suse/0001-allow-net-ads-join-accept-new-osServicePack-paramete.patch -p0 # bnc 873922 # this one should always live at the end and should be redone # diabled cf. 280452 #suse/dcerpc-funnel.diff -p0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches/suse/0001-allow-net-ads-join-accept-new-osServicePack-paramete.patch new/patches/suse/0001-allow-net-ads-join-accept-new-osServicePack-paramete.patch --- old/patches/suse/0001-allow-net-ads-join-accept-new-osServicePack-paramete.patch 1970-01-01 01:00:00.000000000 +0100 +++ new/patches/suse/0001-allow-net-ads-join-accept-new-osServicePack-paramete.patch 2015-01-13 13:51:09.000000000 +0100 @@ -0,0 +1,107 @@ +From bbdc7e40870d69f2b69c4938e12808529cf2532c Mon Sep 17 00:00:00 2001 +From: Noel Power <noel.po...@suse.com> +Date: Thu, 2 Oct 2014 16:13:18 +0100 +Subject: [PATCH] allow net ads join accept new osServicePack parameter + +osServicePack paramater allows the default behaviour ( which is to use +the samba version string as the operatingSystemServicePack attribute ) +to be overridden +Additionally make sure if blank string is passed that it is treated +as attribute deletion. This is necessary as values for the os attributes +are eventually passed to ads_modlist_add if the value is "" then the +attempt to add this attribute fails in the underlying ldap +'ldap_modfiy_ext_s' function. In this case we need to pass NULL as the +value to force deletion of the ldap attribute + +Signed-off-by: Noel Power <noel.po...@suse.com> +--- + source3/libnet/libnet_join.c | 15 +++++++++++++-- + source3/librpc/idl/libnet_join.idl | 1 + + source3/utils/net_ads.c | 12 ++++++++++++ + 3 files changed, 26 insertions(+), 2 deletions(-) + +diff --git source3/libnet/libnet_join.c source3/libnet/libnet_join.c +index dd87c6d..c5a61fe 100644 +--- source3/libnet/libnet_join.c ++++ source3/libnet/libnet_join.c +@@ -572,8 +572,19 @@ static ADS_STATUS libnet_join_set_os_attributes(TALLOC_CTX *mem_ctx, + return ADS_ERROR(LDAP_NO_MEMORY); + } + +- os_sp = talloc_asprintf(mem_ctx, "Samba %s", samba_version_string()); +- if (!os_sp) { ++ if (r->in.os_servicepack) { ++ /* ++ * if blank string then leave os_sp equal to NULL to force ++ * attribute delete (LDAP_MOD_DELETE) ++ */ ++ if (!strequal(r->in.os_servicepack,"")) { ++ os_sp = talloc_strdup(mem_ctx, r->in.os_servicepack); ++ } ++ } else { ++ os_sp = talloc_asprintf(mem_ctx, "Samba %s", ++ samba_version_string()); ++ } ++ if (!os_sp && !strequal(r->in.os_servicepack,"")) { + return ADS_ERROR(LDAP_NO_MEMORY); + } + +diff --git source3/librpc/idl/libnet_join.idl source3/librpc/idl/libnet_join.idl +index ac0a350..cb2d9e4 100644 +--- source3/librpc/idl/libnet_join.idl ++++ source3/librpc/idl/libnet_join.idl +@@ -26,6 +26,7 @@ interface libnetjoin + [in] wkssvc_joinflags join_flags, + [in] string os_version, + [in] string os_name, ++ [in] string os_servicepack, + [in] boolean8 create_upn, + [in] string upn, + [in] boolean8 modify_config, +diff --git source3/utils/net_ads.c source3/utils/net_ads.c +index ba500b5..b0e7112 100644 +--- source3/utils/net_ads.c ++++ source3/utils/net_ads.c +@@ -1323,6 +1323,9 @@ static int net_ads_join_usage(struct net_context *c, int argc, const char **argv + " Also, the operatingSystemService attribute is also set when along with\n" + " the two other attributes.\n")); + ++ d_printf(_(" osServicePack=string Set the operatingSystemServicePack " ++ "attribute during the join. Note: if not specified then by " ++ "default the samba version string is used instead.\n")); + return -1; + } + +@@ -1428,6 +1431,7 @@ int net_ads_join(struct net_context *c, int argc, const char **argv) + int i; + const char *os_name = NULL; + const char *os_version = NULL; ++ const char *os_servicepack = NULL; + bool modify_config = lp_config_backend_is_registry(); + + if (c->display_usage) +@@ -1485,6 +1489,13 @@ int net_ads_join(struct net_context *c, int argc, const char **argv) + goto fail; + } + } ++ else if ( !strncasecmp_m(argv[i], "osServicePack", strlen("osServicePack")) ) { ++ if ( (os_servicepack = get_string_param(argv[i])) == NULL ) { ++ d_fprintf(stderr, _("Please supply a valid servicepack identifier.\n")); ++ werr = WERR_INVALID_PARAM; ++ goto fail; ++ } ++ } + else if ( !strncasecmp_m(argv[i], "machinepass", strlen("machinepass")) ) { + if ( (machine_password = get_string_param(argv[i])) == NULL ) { + d_fprintf(stderr, _("Please supply a valid password to set as trust account password.\n")); +@@ -1518,6 +1529,7 @@ int net_ads_join(struct net_context *c, int argc, const char **argv) + r->in.account_ou = create_in_ou; + r->in.os_name = os_name; + r->in.os_version = os_version; ++ r->in.os_servicepack = os_servicepack; + r->in.dc_name = c->opt_host; + r->in.admin_account = c->opt_user_name; + r->in.admin_password = net_prompt_pass(c, c->opt_user_name); +-- +1.8.4.5 + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches/suse/0001-backport-of-the-following-patches-to-4.1.2-from-mast.patch new/patches/suse/0001-backport-of-the-following-patches-to-4.1.2-from-mast.patch --- old/patches/suse/0001-backport-of-the-following-patches-to-4.1.2-from-mast.patch 2014-12-05 15:13:54.000000000 +0100 +++ new/patches/suse/0001-backport-of-the-following-patches-to-4.1.2-from-mast.patch 2015-01-13 14:22:59.000000000 +0100 @@ -7057,7 +7057,7 @@ index 9461b05..a6177d1 100755 --- source3/wscript_build +++ source3/wscript_build -@@ -1629,7 +1629,7 @@ bld.SAMBA3_BINARY('samba-regedit', +@@ -1622,7 +1622,7 @@ bld.SAMBA3_BINARY('samba-regedit', source="""utils/regedit.c utils/regedit_samba3.c utils/regedit_wrap.c utils/regedit_treeview.c utils/regedit_valuelist.c utils/regedit_dialog.c diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches/suse/0001-handle-later-iniparser-version-assigning-a-zero-leng.patch new/patches/suse/0001-handle-later-iniparser-version-assigning-a-zero-leng.patch --- old/patches/suse/0001-handle-later-iniparser-version-assigning-a-zero-leng.patch 2014-12-05 15:13:54.000000000 +0100 +++ new/patches/suse/0001-handle-later-iniparser-version-assigning-a-zero-leng.patch 2015-01-13 14:22:24.000000000 +0100 @@ -68,7 +68,7 @@ != NULL)) { ctrl |= WINBIND_REQUIRED_MEMBERSHIP; } -@@ -2268,7 +2283,7 @@ static const char *get_conf_item_string(struct pwb_context *ctx, +@@ -2271,7 +2286,7 @@ static const char *get_conf_item_string(struct pwb_context *ctx, goto out; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches/suse/0003-s3-rpcclient-add-mgmt-command-support.patch new/patches/suse/0003-s3-rpcclient-add-mgmt-command-support.patch --- old/patches/suse/0003-s3-rpcclient-add-mgmt-command-support.patch 2014-12-05 15:13:54.000000000 +0100 +++ new/patches/suse/0003-s3-rpcclient-add-mgmt-command-support.patch 2015-01-13 14:17:14.000000000 +0100 @@ -147,7 +147,7 @@ RPCCLIENT_SRC = '''${RPCCLIENT_SRC1}''' -@@ -1252,6 +1253,7 @@ bld.SAMBA3_BINARY('rpcclient/rpcclient', +@@ -1245,6 +1246,7 @@ bld.SAMBA3_BINARY('rpcclient/rpcclient', RPC_NDR_EVENTLOG INIT_SAMR RPC_NDR_FSRVP diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches/suse/0008-vfs-add-snapshot-create-delete-hooks.patch new/patches/suse/0008-vfs-add-snapshot-create-delete-hooks.patch --- old/patches/suse/0008-vfs-add-snapshot-create-delete-hooks.patch 2014-12-05 15:13:54.000000000 +0100 +++ new/patches/suse/0008-vfs-add-snapshot-create-delete-hooks.patch 2015-01-13 14:20:12.000000000 +0100 @@ -348,7 +348,7 @@ /* Directory operations */ static DIR *vfswrap_opendir(vfs_handle_struct *handle, const char *fname, const char *mask, uint32 attr) -@@ -2506,6 +2563,11 @@ static struct vfs_fn_pointers vfs_default_fns = { +@@ -2513,6 +2570,11 @@ static struct vfs_fn_pointers vfs_default_fns = { .statvfs_fn = vfswrap_statvfs, .fs_capabilities_fn = vfswrap_fs_capabilities, .get_dfs_referrals_fn = vfswrap_get_dfs_referrals, @@ -675,7 +675,7 @@ { DIR *result; struct timespec ts1,ts2; -@@ -2249,6 +2420,11 @@ static struct vfs_fn_pointers vfs_time_audit_fns = { +@@ -2255,6 +2426,11 @@ static struct vfs_fn_pointers vfs_time_audit_fns = { .get_shadow_copy_data_fn = smb_time_audit_get_shadow_copy_data, .statvfs_fn = smb_time_audit_statvfs, .fs_capabilities_fn = smb_time_audit_fs_capabilities, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches/suse/0021-fsrvp-add-fss_agent-RPC-server.patch new/patches/suse/0021-fsrvp-add-fss_agent-RPC-server.patch --- old/patches/suse/0021-fsrvp-add-fss_agent-RPC-server.patch 2014-12-05 15:13:54.000000000 +0100 +++ new/patches/suse/0021-fsrvp-add-fss_agent-RPC-server.patch 2015-01-13 14:21:10.000000000 +0100 @@ -2090,7 +2090,7 @@ =================================================================== --- source3/wscript_build.orig +++ source3/wscript_build -@@ -1180,7 +1180,7 @@ bld.SAMBA3_SUBSYSTEM('INIT_SAMR', +@@ -1173,7 +1173,7 @@ bld.SAMBA3_SUBSYSTEM('INIT_SAMR', bld.SAMBA3_BINARY('smbd/smbd', source='${SMBD_SRC_MAIN}', ++++++ samba-4.1.14.tar.gz -> samba-4.1.15.tar.gz ++++++ /work/SRC/openSUSE:Factory/samba/samba-4.1.14.tar.gz /work/SRC/openSUSE:Factory/.samba.new/samba-4.1.15.tar.gz differ: char 5, line 1 ++++++ vendor-files.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor-files/tools/package-data new/vendor-files/tools/package-data --- old/vendor-files/tools/package-data 2014-12-09 12:18:35.000000000 +0100 +++ new/vendor-files/tools/package-data 2015-01-14 13:38:08.000000000 +0100 @@ -1,2 +1,2 @@ # This is an autogenrated file. -SAMBA_PACKAGE_SVN_VERSION="3339" +SAMBA_PACKAGE_SVN_VERSION="3346" -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org