[SCM] Samba Shared Repository - branch master updated -
release-4-0-0alpha6-1188-g24a63ad
Andrew Bartlett
abartlet at samba.org
Wed Feb 25 09:27:56 GMT 2009
The branch, master has been updated
via 24a63add2d92afa0084fec956df7508ea28aab89 (commit)
via 4823e988b6360646931f9b6369bf7b8f512069a8 (commit)
via 2f1b12890a31baceee6a4d446b4782caefb1fcaa (commit)
via c2cdb4ad5c9398ef0d3310613107999f8d33c7ce (commit)
from eb5efd1978acd38cf6cc97e067b5105743ca5469 (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 24a63add2d92afa0084fec956df7508ea28aab89
Merge: 4823e988b6360646931f9b6369bf7b8f512069a8 eb5efd1978acd38cf6cc97e067b5105743ca5469
Author: Andrew Bartlett <abartlet at samba.org>
Date: Wed Feb 25 20:27:43 2009 +1100
Merge branch 'master' of ssh://git.samba.org/data/git/samba into master-devel
commit 4823e988b6360646931f9b6369bf7b8f512069a8
Author: Oliver Liebel <oliver at itc.li>
Date: Wed Feb 25 20:26:27 2009 +1100
WHATSNEW updates
Signed-off-by: Andrew Bartlett <abartlet at samba.org>
commit 2f1b12890a31baceee6a4d446b4782caefb1fcaa
Author: Andrew Bartlett <abartlet at samba.org>
Date: Wed Feb 25 17:52:00 2009 +1100
Credit tridge's work on fixing GnuTLS
commit c2cdb4ad5c9398ef0d3310613107999f8d33c7ce
Author: Andrew Bartlett <abartlet at samba.org>
Date: Wed Feb 25 17:43:07 2009 +1100
Work around ndr_unpack failing on structures with relative pointers.
This disgusting hack works around the fact that
ndr_pull_struct_blob_all will always fail on structures with relative
pointers. So, map ndr_unpack to ndr_pull_struct_blob_all only if we
don't have any relative pointers in this structure.
Andrew Bartlett
-----------------------------------------------------------------------
Summary of changes:
WHATSNEW4.txt | 9 +++++++--
pidl/lib/Parse/Pidl/Samba4/Python.pm | 19 ++++++++++++++++++-
2 files changed, 25 insertions(+), 3 deletions(-)
Changeset truncated at 500 lines:
diff --git a/WHATSNEW4.txt b/WHATSNEW4.txt
index 2093a4e..7c637cc 100644
--- a/WHATSNEW4.txt
+++ b/WHATSNEW4.txt
@@ -69,8 +69,11 @@ In the time since Samba4 alpha6 was released in Janurary 2009, Samba has
continued to evolve, but you may particularly notice these areas
(in no particular order):
- OpenLDAP Multi Master Replication can now also replicate the OpenLDAP
- configuration itself.
+ Multi Master Replication (MMR) configuration can now be generated
+ for the OpenLDAP-Backend.
+
+ OpenLDAP-Online-Configuration (olc) can now be generated for the
+ OpenLDAP-Backend. (OpenLDAP-Versions >=2.4.15 required).
Support for Windows 7 beta as a member of the Samba4 domain
@@ -83,6 +86,8 @@ continued to evolve, but you may particularly notice these areas
the corrected IDL back into Samba4
Fixes to allow use of C++ compilers and to increase portability
+
+ Fixed TLS (SSL) support with modern versions of GnuTLS
These are just some of the highlights of the work done in the past
month. More details can be found in our GIT history.
diff --git a/pidl/lib/Parse/Pidl/Samba4/Python.pm b/pidl/lib/Parse/Pidl/Samba4/Python.pm
index 48785f5..6099fe5 100644
--- a/pidl/lib/Parse/Pidl/Samba4/Python.pm
+++ b/pidl/lib/Parse/Pidl/Samba4/Python.pm
@@ -275,7 +275,24 @@ sub PythonStruct($$$$$$)
$self->pidl("if (!PyArg_ParseTuple(args, \"s#:__ndr_unpack__\", &blob.data, &blob.length))");
$self->pidl("\treturn NULL;");
$self->pidl("");
- $self->pidl("err = ndr_pull_struct_blob_all(&blob, py_talloc_get_mem_ctx(py_obj), NULL, object, (ndr_pull_flags_fn_t)ndr_pull_$name);");
+
+ # This disgusting hack works around the fact that ndr_pull_struct_blob_all will always fail on structures with relative pointers.
+ # So, map ndr_unpack to ndr_pull_struct_blob_all only if we don't have any relative pointers in this
+ my $got_relative = 0;
+ if ($#{$d->{ELEMENTS}} > -1) {
+ foreach my $e (@{$d->{ELEMENTS}}) {
+ my $l = $e->{LEVELS}[0];
+ if ($l->{TYPE} eq "POINTER" and ($l->{POINTER_TYPE} eq "relative")) {
+ $got_relative = 1;
+ last;
+ }
+ }
+ }
+ if ($got_relative == 0) {
+ $self->pidl("err = ndr_pull_struct_blob_all(&blob, py_talloc_get_mem_ctx(py_obj), NULL, object, (ndr_pull_flags_fn_t)ndr_pull_$name);");
+ } else {
+ $self->pidl("err = ndr_pull_struct_blob(&blob, py_talloc_get_mem_ctx(py_obj), NULL, object, (ndr_pull_flags_fn_t)ndr_pull_$name);");
+ }
$self->pidl("if (err != NDR_ERR_SUCCESS) {");
$self->indent;
$self->pidl("PyErr_SetNdrError(err);");
--
Samba Shared Repository
More information about the samba-cvs
mailing list