The branch, master has been updated
via 17a6e57 s4-torture: add more NDR tests for GetCorePrinterDrivers
via db7b812 librpc/ndr: add [to_null] keyword to szPackageId in
spoolss_CorePrinterDriver.
via 56255c1 s4-torture: add some NDR tests for validating
ndr_push_charset behavior.
via d30b008 pidl: use ndr_push_charset_to_null() when [to_null] keyword
is used in IDL
via 303ae2a librpc/ndr: add ndr_push_charset_to_null and increase
library version (abi change)
from 9b0fc29 winbind: Don't add duplicate IDs in wbinfo -r
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -
commit 17a6e57fcc37c56d4d9b52fad475531f32abac10
Author: Günther Deschner
Date: Fri Nov 25 17:32:51 2016 +0100
s4-torture: add more NDR tests for GetCorePrinterDrivers
Guenther
Signed-off-by: Guenther Deschner
Reviewed-by: Stefan Metzmacher
Autobuild-User(master): Günther Deschner
Autobuild-Date(master): Tue Jan 24 14:42:34 CET 2017 on sn-devel-144
commit db7b8121496bc68679b450d1a413c0d010bf7c52
Author: Günther Deschner
Date: Tue Nov 1 18:19:02 2016 +0100
librpc/ndr: add [to_null] keyword to szPackageId in
spoolss_CorePrinterDriver.
Guenther
Signed-off-by: Guenther Deschner
commit 56255c1c602fa24654ac41c518a6aaa75bc6415b
Author: Günther Deschner
Date: Fri Jan 13 13:16:22 2017 +0100
s4-torture: add some NDR tests for validating ndr_push_charset behavior.
Guenther
Signed-off-by: Guenther Deschner
Reviewed-by: Stefan Metzmacher
commit d30b008a642c9bb0d85519f42aef56a53e44cc77
Author: Günther Deschner
Date: Mon Jan 23 14:50:45 2017 +0100
pidl: use ndr_push_charset_to_null() when [to_null] keyword is used in IDL
Guenther
Signed-off-by: Guenther Deschner
Reviewed-by: Stefan Metzmacher
commit 303ae2a023dda7686cfded36951ec2baad30d9b6
Author: Günther Deschner
Date: Wed Jan 11 16:57:49 2017 +0100
librpc/ndr: add ndr_push_charset_to_null and increase library version (abi
change)
We were crashing earlier when calculating the length of NULL strings in
fixed size arrays (noticed while replying with an empty
spoolss_CorePrinterDriver struct within the spoolss_GetCorePrinterDrivers
call).
Guenther
Signed-off-by: Guenther Deschner
Reviewed-by: Stefan Metzmacher
---
Summary of changes:
librpc/ABI/{ndr-0.0.8.sigs => ndr-0.0.9.sigs} | 1 +
librpc/idl/spoolss.idl| 2 +-
librpc/ndr/libndr.h | 1 +
librpc/ndr/ndr_string.c | 16 +++
librpc/wscript_build | 2 +-
pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm | 6 +-
source4/torture/ndr/charset.c | 91
source4/torture/ndr/ndr.c | 1 +
source4/torture/ndr/spoolss.c | 143 ++
source4/torture/wscript_build | 1 +
10 files changed, 261 insertions(+), 3 deletions(-)
copy librpc/ABI/{ndr-0.0.8.sigs => ndr-0.0.9.sigs} (99%)
create mode 100644 source4/torture/ndr/charset.c
Changeset truncated at 500 lines:
diff --git a/librpc/ABI/ndr-0.0.8.sigs b/librpc/ABI/ndr-0.0.9.sigs
similarity index 99%
copy from librpc/ABI/ndr-0.0.8.sigs
copy to librpc/ABI/ndr-0.0.9.sigs
index 6bf637c..b363b96 100644
--- a/librpc/ABI/ndr-0.0.8.sigs
+++ b/librpc/ABI/ndr-0.0.9.sigs
@@ -177,6 +177,7 @@ ndr_push_array_uint8: enum ndr_err_code (struct ndr_push *,
int, const uint8_t *
ndr_push_blob: DATA_BLOB (struct ndr_push *)
ndr_push_bytes: enum ndr_err_code (struct ndr_push *, const uint8_t *,
uint32_t)
ndr_push_charset: enum ndr_err_code (struct ndr_push *, int, const char *,
uint32_t, uint8_t, charset_t)
+ndr_push_charset_to_null: enum ndr_err_code (struct ndr_push *, int, const
char *, uint32_t, uint8_t, charset_t)
ndr_push_dlong: enum ndr_err_code (struct ndr_push *, int, int64_t)
ndr_push_double: enum ndr_err_code (struct ndr_push *, int, double)
ndr_push_enum_uint16: enum ndr_err_code (struct ndr_push *, int, uint16_t)
diff --git a/librpc/idl/spoolss.idl b/librpc/idl/spoolss.idl
index 078f69f..e759d2d 100644
--- a/librpc/idl/spoolss.idl
+++ b/librpc/idl/spoolss.idl
@@ -3288,7 +3288,7 @@ cpp_quote("#define spoolss_security_descriptor
security_descriptor")
GUID core_driver_guid;
NTTIME driver_date;
hyper driver_version;
- [charset(UTF16)] uint16 szPackageID[260];
+ [charset(UTF16),to_null] uint16 szPackageID[260];
} spoolss_CorePrinterDriver;
[public] HRESULT spoolss_GetCorePrinterDrivers(
diff --git a/librpc/ndr/libndr.h b/librpc/ndr/libndr.h
index 0c3c55a..7337e86 100644
--- a/librpc/ndr/libndr.h
+++ b/librpc/ndr/libndr.h
@@ -656,6 +656,