[SCM] Samba Shared Repository - branch v3-6-test updated

Stefan Metzmacher metze at samba.org
Wed Dec 22 02:49:57 MST 2010


The branch, v3-6-test has been updated
       via  c725e48 s3:cli_np_tstream: if SMBtrans is desired, the readv needs to wait for the last writev chunk.
       via  f1dea84 s3:rpc_client: implement rpc_transport_np_init() on top of rpc_transport_tstream_init()
       via  651cb0e s3:rpc_client: implement rpc_transport_sock_init() on top of rpc_transport_tstream_init()
       via  f01e117 s3:rpc_client/rpc_transport_tstream.c: add some logic to handle cli_np tstreams
       via  5f3100d s3:rpc_client/rpc_transport_tstream: timeout should be unsigned int
       via  13920b0 s3:rpc_client: let rpc_transport_tstream_init() create read and write queue
       via  a58a8d2 s3:libsmb: add tstream_cli_np_get_cli_state()
       via  609094b s3:libsmb: add tstream_cli_np_set_timeout()
       via  98a0c58 s3:libsmb: add tstream_cli_np_use_trans() and the needed logic
       via  ce61a39 s3:libsmb: add tstream_is_cli_np()
       via  e12452b s3:libsmb: add cli_np_tstream.c
       via  1d4196d s3: Fix some typos (cherry picked from commit 43e42b4e77244602e6eb85f64bfc9d50d1c5f6ab)
       via  f6b40be pidl: use $CC -E if $CPP is not defined, if both undefined use cpp
       via  8792637 selftest: Support multiple instances of $LISTOPT. (cherry picked from commit 002acbbbd03d506b3a2280fa85b719792178f75d)
       via  ae53248 filter-subunit: Add --list argument. (cherry picked from commit 3b1ed52f2f067c8bb895c6058de08c0b07e6f80c)
       via  3ac8128 selftest: Check exit code when listing tests. (cherry picked from commit 5f6dd9a608271948bb1d4a1fb975e889db70512c)
       via  c4d831d selftest: Rename $LIST to $LISTOPT for consistency with testrepository. (cherry picked from commit a957d8c80f532654f502fdd37aecd34b231a00e8)
       via  8e4035c selftest: add --list option. (cherry picked from commit e6974b0ff0100bb292d57e58ae11bc2e6b0d4053)
       via  32539b9 selftest: Document --testenv in --help output, remove documentation for now obsolete --analyse-cmd. (cherry picked from commit 34adc745efa242b7e4167b581d6770560e759e40)
       via  f936eaf s4-lsa Implement kerberos ticket life policy
       via  7075fcd librpc/ndr/ndr_*.c - remove "const" from OIDs (cherry picked from commit 464b8fa3173de7cc801195a28b84786cb1c63833)
       via  0a120c8 ndr: Another try to support the build on non-IPv6 systems
       via  04f8d07 lib/torture: add torture_assert_u64_equal_goto()
       via  de35420 replace: add comments to make the #ifdef/#else/endif more readable (cherry picked from commit 993b4aa07e35b612a4f9b6eddecae704b8e01aaa)
       via  8c47c36 lib/util/asn1.c - remove the "const" specifier from OID
       via  33ed1f0 lib/util/fault.c - fix "pid_t" printf warning on Solaris
       via  c2a6ee2 lib: Protect against tevent nterror mismatches
       via  aba8a28 libcli/security: remove unused variable.
       via  65170eb libcli/security Add sid_blob_parse() to directly parse a binary SID blob (cherry picked from commit 4a4d8e4b0fae1288cbdf6c8a95a2863c84676106)
       via  b7bd87b s4:fix some shadowed declaration warnings on Solaris by renaming the symbols (cherry picked from commit 93d85ca5fd57d87e720ab627865f0e5af25e07b5)
      from  8dc88f1 s3:libsmb/namequery.c: don't leak 'pserver'

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-6-test


- Log -----------------------------------------------------------------
commit c725e48a278a8c646aa929d83cc8b616ee008abb
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Dec 21 15:43:44 2010 +0100

    s3:cli_np_tstream: if SMBtrans is desired, the readv needs to wait for the last writev chunk.
    
    metze
    
    Autobuild-User: Stefan Metzmacher <metze at samba.org>
    Autobuild-Date: Tue Dec 21 17:43:06 CET 2010 on sn-devel-104
    (cherry picked from commit 7a47aed770c60af56be65bf7c8c64cdb162754ae)
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>

commit f1dea849ba4e77e23290a35fefd86c9fcb2ce64f
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Sep 6 17:31:15 2010 +0200

    s3:rpc_client: implement rpc_transport_np_init() on top of rpc_transport_tstream_init()
    
    This also makes use of tstream_cli_np_open() to get the tstream.
    
    metze
    
    Autobuild-User: Stefan Metzmacher <metze at samba.org>
    Autobuild-Date: Wed Dec 15 16:12:30 CET 2010 on sn-devel-104
    (cherry picked from commit 8b47fcea043086e4ec7abbc4d4394f69caac08d0)
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>

commit 651cb0e5684857ea274ba6da4adc0609c13f6f25
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Sep 6 17:31:27 2010 +0200

    s3:rpc_client: implement rpc_transport_sock_init() on top of rpc_transport_tstream_init()
    
    metze
    (cherry picked from commit 0342ed3ee0f8d9f29c6fcabbca1fab4f6514b78b)
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>

commit f01e117226a5733c31592c0d6d463f08c4a9a711
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Dec 14 18:20:25 2010 +0100

    s3:rpc_client/rpc_transport_tstream.c: add some logic to handle cli_np tstreams
    
    metze
    (cherry picked from commit 122dc1e213d1049568cc49f305f82063b3fa20ba)
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>

commit 5f3100d079997525d400ab171104625ae9db6e9a
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Dec 14 18:19:14 2010 +0100

    s3:rpc_client/rpc_transport_tstream: timeout should be unsigned int
    
    metze
    (cherry picked from commit 9a14dace227245c7b5bb751f7c534e338337bea9)
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>

commit 13920b080f43a8b7e68b2807245d675a4872987c
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Jun 22 18:01:45 2010 -0400

    s3:rpc_client: let rpc_transport_tstream_init() create read and write queue
    
    metze
    (cherry picked from commit e55426fe7926ae6f8afe5fa6cfc009e0c3b54e38)
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>

commit a58a8d20d4c55479aa498ee076af75adc90abd5d
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Dec 14 18:18:13 2010 +0100

    s3:libsmb: add tstream_cli_np_get_cli_state()
    
    metze
    (cherry picked from commit 07ba35adcbb9feb551125034f091e8d4cb4aa0e8)
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>

commit 609094bc0143dc9620219bdf12f5aeaa60dbe9a6
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Dec 14 18:17:45 2010 +0100

    s3:libsmb: add tstream_cli_np_set_timeout()
    
    metze
    (cherry picked from commit c0f9e963b66fa8c97a4c0ea38367443dd6127509)
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>

commit 98a0c5816bf3e21e2a73b37f0005f09def455608
Author: Stefan Metzmacher <metze at samba.org>
Date:   Sat Sep 4 11:01:55 2010 +0200

    s3:libsmb: add tstream_cli_np_use_trans() and the needed logic
    
    tstream_cli_np_use_trans() defers the next tstream_writev
    to the next tstream_readv and send both as an SMBtrans request.
    
    metze
    (cherry picked from commit 0df669e14111de741ded8445a2acc00a51a50413)
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>

commit ce61a391cbc0eb88240d40b12cfab9153b7eb3b6
Author: Stefan Metzmacher <metze at samba.org>
Date:   Sat Sep 4 11:00:31 2010 +0200

    s3:libsmb: add tstream_is_cli_np()
    
    metze
    (cherry picked from commit e08c324fc5ed9d7d4970fc7a7b6b13bff38ace59)
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>

commit e12452b2ef66522b139b94ee26aea5ec159314a9
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Aug 12 12:00:15 2010 +0200

    s3:libsmb: add cli_np_tstream.c
    
    This abstracts a named pipe over smb as a tstream,
    which will make it easier to implement the dcerpc
    layer in a more generic way.
    
    metze
    (cherry picked from commit c0ac1cebfbf7b562bad368b14d8004495a59e574)
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>

commit 1d4196d858c7faf109420716580f6d3b6c6f0900
Author: Volker Lendecke <vl at samba.org>
Date:   Mon Dec 6 14:05:49 2010 +0100

    s3: Fix some typos
    (cherry picked from commit 43e42b4e77244602e6eb85f64bfc9d50d1c5f6ab)
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>

commit f6b40be811555ce2bb20247daec288379be60b69
Author: Matthieu Patou <mat at matws.net>
Date:   Fri Dec 10 02:03:40 2010 +0300

    pidl: use $CC -E if $CPP is not defined, if both undefined use cpp
    
    Autobuild-User: Matthieu Patou <mat at samba.org>
    Autobuild-Date: Fri Dec 10 01:26:44 CET 2010 on sn-devel-104
    (cherry picked from commit 21b0d5e3b10711e6ce3bfad0c1ee2da09a60e232)
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>

commit 87926375bbfb539d25c7981e891e6952ff9c4d89
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sat Dec 11 18:21:58 2010 +0100

    selftest: Support multiple instances of $LISTOPT.
    (cherry picked from commit 002acbbbd03d506b3a2280fa85b719792178f75d)
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>

commit ae5324884ffcc2cd50dff35811ae8af445ee1cb4
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sat Dec 11 18:21:27 2010 +0100

    filter-subunit: Add --list argument.
    (cherry picked from commit 3b1ed52f2f067c8bb895c6058de08c0b07e6f80c)
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>

commit 3ac8128a903794a8a9e15ee3fe426b452facbdfa
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Thu Dec 9 16:48:24 2010 +0100

    selftest: Check exit code when listing tests.
    (cherry picked from commit 5f6dd9a608271948bb1d4a1fb975e889db70512c)
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>

commit c4d831dbfb2cd38b00f40027403b4faaa18871d4
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Thu Dec 9 15:35:23 2010 +0100

    selftest: Rename $LIST to $LISTOPT for consistency with testrepository.
    (cherry picked from commit a957d8c80f532654f502fdd37aecd34b231a00e8)
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>

commit 8e4035cc2649343c9c2dd33422994535d7df197e
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Thu Dec 9 14:46:09 2010 +0100

    selftest: add --list option.
    (cherry picked from commit e6974b0ff0100bb292d57e58ae11bc2e6b0d4053)
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>

commit 32539b9d677c471c67b4475ac65f894081c8fe78
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Thu Dec 9 13:37:13 2010 +0100

    selftest: Document --testenv in --help output, remove documentation for
    now obsolete --analyse-cmd.
    (cherry picked from commit 34adc745efa242b7e4167b581d6770560e759e40)
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>

commit f936eaf333d953918e5cf46cf0d8c1c942978895
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Thu Dec 9 14:17:54 2010 +1100

    s4-lsa Implement kerberos ticket life policy
    
    We now no longer print tickets with a potentially infinite life, and
    we report the same life over LSA as we use in the KDC.  We should get
    this from group policy, but for now it's parametric smb.conf options.
    
    Andrew Bartlett
    (cherry picked from commit f681859eb819b441da41e2985586bfc59dff2ec5)
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>

commit 7075fcd72153c85b0d8ebfb89145ff3a14169474
Author: Matthias Dieter Wallnöfer <mdw at samba.org>
Date:   Wed Dec 15 17:21:04 2010 +0100

    librpc/ndr/ndr_*.c - remove "const" from OIDs
    (cherry picked from commit 464b8fa3173de7cc801195a28b84786cb1c63833)
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>

commit 0a120c814cdefac205e504d39f4b0e3fc267053a
Author: Kai Blin <kai at samba.org>
Date:   Mon Dec 6 07:43:35 2010 +0100

    ndr: Another try to support the build on non-IPv6 systems
    
    Signed-off-by: Matthieu Patou <mat at matws.net>
    
    Autobuild-User: Matthieu Patou <mat at samba.org>
    Autobuild-Date: Wed Dec  8 10:26:00 CET 2010 on sn-devel-104
    (cherry picked from commit af3414feb6cb9f3d4ca602725582220e7b626df3)
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>

commit 04f8d07c02370affb0b756c65731b586bf1bb45e
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Nov 22 12:38:41 2010 +0100

    lib/torture: add torture_assert_u64_equal_goto()
    
    metze
    
    Autobuild-User: Stefan Metzmacher <metze at samba.org>
    Autobuild-Date: Sat Dec  4 12:55:44 CET 2010 on sn-devel-104
    (cherry picked from commit 929063bb126b45cfe175a0e9518905bfcc8c95a2)
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>

commit de35420a1bc790906eb4cdbdc4920698c4c76a95
Author: Matthieu Patou <mat at matws.net>
Date:   Sun Dec 12 12:04:51 2010 +0300

    replace: add comments to make the #ifdef/#else/endif more readable
    (cherry picked from commit 993b4aa07e35b612a4f9b6eddecae704b8e01aaa)
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>

commit 8c47c368910d62d5ed38573b7b9cf2dd648fc6d2
Author: Matthias Dieter Wallnöfer <mdw at samba.org>
Date:   Wed Dec 15 17:02:49 2010 +0100

    lib/util/asn1.c - remove the "const" specifier from OID
    
    There is no reason to have it "const" since it's an allocated thing.
    (cherry picked from commit 3b591caed00790c5d21b8774c7af87357c329d1c)
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>

commit 33ed1f0cca9f73dee31137c295c35bda07b9445c
Author: Matthias Dieter Wallnöfer <mdw at samba.org>
Date:   Mon Dec 6 11:27:05 2010 +0100

    lib/util/fault.c - fix "pid_t" printf warning on Solaris
    
    According to "http://www.ibm.com/developerworks/linux/library/l-solar/"
    it's generally a 32bit "int" - therefore this cast should fit.
    (cherry picked from commit 619a49c4219282bf8776183e76c1b4f0629a6d4c)
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>

commit c2a6ee26a9b13c0ea7125c4ee3171149b29eab2b
Author: Volker Lendecke <vl at samba.org>
Date:   Sun Dec 19 14:22:28 2010 +0100

    lib: Protect against tevent nterror mismatches
    
    Autobuild-User: Volker Lendecke <vlendec at samba.org>
    Autobuild-Date: Mon Dec 20 00:12:02 CET 2010 on sn-devel-104
    (cherry picked from commit 49dc973586b4b9b72ffcac3bbb5dc7fda0d1ad4e)
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>

commit aba8a285ad693abf5cb782f7bacdc1dd295ec541
Author: Günther Deschner <gd at samba.org>
Date:   Fri Dec 17 12:47:13 2010 +0100

    libcli/security: remove unused variable.
    
    Guenther
    
    Autobuild-User: Günther Deschner <gd at samba.org>
    Autobuild-Date: Fri Dec 17 13:56:27 CET 2010 on sn-devel-104
    (cherry picked from commit 10eaad29777589e8bd797e3f0bad3a3a9fbf8577)
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>

commit 65170ebd6dd5d040793a058fb5dde249b685c903
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Wed Dec 15 15:47:01 2010 +1100

    libcli/security Add sid_blob_parse() to directly parse a binary SID blob
    (cherry picked from commit 4a4d8e4b0fae1288cbdf6c8a95a2863c84676106)
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>

commit b7bd87b856ee6c37ac432ddd2a1da8c0a7b19113
Author: Matthias Dieter Wallnöfer <mdw at samba.org>
Date:   Mon Dec 6 11:06:27 2010 +0100

    s4:fix some shadowed declaration warnings on Solaris by renaming the symbols
    (cherry picked from commit 93d85ca5fd57d87e720ab627865f0e5af25e07b5)
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>

-----------------------------------------------------------------------

Summary of changes:
 docs-xml/manpages-3/vfs_crossrename.8.xml          |    2 +-
 lib/replace/system/network.h                       |    6 +-
 lib/torture/torture.h                              |   13 +
 lib/util/asn1.c                                    |   17 +-
 lib/util/asn1.h                                    |    6 +-
 lib/util/fault.c                                   |    2 +-
 lib/util/tests/asn1_tests.c                        |    4 +-
 lib/util/tevent_ntstatus.c                         |   26 +-
 libcli/security/access_check.h                     |    2 +-
 libcli/security/dom_sid.h                          |    1 +
 libcli/security/util_sid.c                         |   15 +-
 librpc/idl/lsa.idl                                 |    5 +-
 librpc/ndr/ndr_basic.c                             |    6 +-
 librpc/ndr/ndr_drsblobs.c                          |    2 +-
 librpc/ndr/ndr_drsuapi.c                           |    2 +-
 pidl/lib/Parse/Pidl/IDL.pm                         |   10 +-
 selftest/filter-subunit                            |   10 +
 selftest/selftest.pl                               |   33 +-
 source3/Makefile.in                                |    1 +
 source3/include/proto.h                            |    6 +-
 source3/lib/util_sock.c                            |    2 +-
 source3/libsmb/cli_np_tstream.c                    | 1039 ++++++++++++++++++++
 source3/libsmb/cli_np_tstream.h                    |   56 ++
 source3/rpc_client/rpc_transport_np.c              |  419 +--------
 source3/rpc_client/rpc_transport_sock.c            |  244 +-----
 source3/rpc_client/rpc_transport_tstream.c         |  243 +++++-
 source3/rpc_server/rpc_ncacn_np.c                  |   16 +-
 source3/smbd/filename.c                            |    6 +-
 source3/smbd/vfs.c                                 |    2 +-
 source3/winbindd/idmap_hash/idmap_hash.c           |    2 +-
 source4/dsdb/common/dsdb_access.c                  |   11 +-
 source4/dsdb/samdb/ldb_modules/acl_util.c          |   25 +-
 source4/kdc/db-glue.c                              |   26 +-
 .../libnet/grouptest.h => kdc/kdc-policy.h}        |    9 +-
 source4/kdc/policy.c                               |   50 +
 source4/kdc/samba_kdc.h                            |    1 +
 source4/kdc/wscript_build                          |    9 +-
 source4/lib/ldb/common/ldb_dn.c                    |    4 +-
 source4/lib/ldb/include/ldb.h                      |    2 +-
 source4/rpc_server/lsa/dcesrv_lsa.c                |   12 +-
 source4/rpc_server/wscript_build                   |    2 +-
 source4/selftest/wscript                           |    6 +-
 42 files changed, 1622 insertions(+), 733 deletions(-)
 create mode 100644 source3/libsmb/cli_np_tstream.c
 create mode 100644 source3/libsmb/cli_np_tstream.h
 copy source4/{torture/libnet/grouptest.h => kdc/kdc-policy.h} (78%)
 create mode 100644 source4/kdc/policy.c


Changeset truncated at 500 lines:

diff --git a/docs-xml/manpages-3/vfs_crossrename.8.xml b/docs-xml/manpages-3/vfs_crossrename.8.xml
index f5a4444..ba7c7c8 100644
--- a/docs-xml/manpages-3/vfs_crossrename.8.xml
+++ b/docs-xml/manpages-3/vfs_crossrename.8.xml
@@ -31,7 +31,7 @@
 
 	<para>The <command>vfs_crossrename</command> VFS module allows
 	server side rename operations even if source and target are on
-	differen physical devices. A "move" in Explorer is usually a
+	different physical devices. A "move" in Explorer is usually a
 	rename operation if it is inside of a single share or device.
 	Usually such a rename operation returns
 	NT_STATUS_NOT_SAME_DEVICE and the client has to move the file by
diff --git a/lib/replace/system/network.h b/lib/replace/system/network.h
index 93d533c..f7c1bcf 100644
--- a/lib/replace/system/network.h
+++ b/lib/replace/system/network.h
@@ -307,12 +307,12 @@ typedef unsigned short int sa_family_t;
 #define sockaddr_storage sockaddr_in6
 #define ss_family sin6_family
 #define HAVE_SS_FAMILY 1
-#else
+#else /*HAVE_STRUCT_SOCKADDR_IN6*/
 #define sockaddr_storage sockaddr_in
 #define ss_family sin_family
 #define HAVE_SS_FAMILY 1
-#endif
-#endif
+#endif /*HAVE_STRUCT_SOCKADDR_IN6*/
+#endif /*HAVE_STRUCT_SOCKADDR_STORAGE*/
 
 #ifndef HAVE_SS_FAMILY
 #ifdef HAVE___SS_FAMILY
diff --git a/lib/torture/torture.h b/lib/torture/torture.h
index 83714fe..39f83df 100644
--- a/lib/torture/torture.h
+++ b/lib/torture/torture.h
@@ -426,6 +426,19 @@ void torture_result(struct torture_context *test,
 	} \
 	} while(0)
 
+#define torture_assert_u64_equal_goto(torture_ctx,got,expected,ret,label,cmt)\
+	do { uint64_t __got = (got), __expected = (expected); \
+	if (__got != __expected) { \
+		torture_result(torture_ctx, TORTURE_FAIL, \
+			__location__": "#got" was %llu (0x%llX), expected %llu (0x%llX): %s", \
+			(unsigned long long)__got, (unsigned long long)__got, \
+			(unsigned long long)__expected, (unsigned long long)__expected, \
+			cmt); \
+		ret = false; \
+		goto label; \
+	} \
+	} while(0)
+
 #define torture_assert_errno_equal(torture_ctx,expected,cmt)\
 	do { int __expected = (expected); \
 	if (errno != __expected) { \
diff --git a/lib/util/asn1.c b/lib/util/asn1.c
index 21d4bd4..f4a6bc5 100644
--- a/lib/util/asn1.c
+++ b/lib/util/asn1.c
@@ -660,7 +660,7 @@ int asn1_tag_remaining(struct asn1_data *data)
  * till buffer ends or not valid sub-identifier is found.
  */
 static bool _ber_read_OID_String_impl(TALLOC_CTX *mem_ctx, DATA_BLOB blob,
-					const char **OID, size_t *bytes_eaten)
+				      char **OID, size_t *bytes_eaten)
 {
 	int i;
 	uint8_t *b;
@@ -699,7 +699,7 @@ nomem:
 }
 
 /* read an object ID from a data blob */
-bool ber_read_OID_String(TALLOC_CTX *mem_ctx, DATA_BLOB blob, const char **OID)
+bool ber_read_OID_String(TALLOC_CTX *mem_ctx, DATA_BLOB blob, char **OID)
 {
 	size_t bytes_eaten;
 
@@ -715,14 +715,15 @@ bool ber_read_OID_String(TALLOC_CTX *mem_ctx, DATA_BLOB blob, const char **OID)
  *   1:2.5.6:0x81
  *   1:2.5.6:0x8182
  */
-bool ber_read_partial_OID_String(TALLOC_CTX *mem_ctx, DATA_BLOB blob, const char **partial_oid)
+bool ber_read_partial_OID_String(TALLOC_CTX *mem_ctx, DATA_BLOB blob,
+				 char **partial_oid)
 {
 	size_t bytes_left;
 	size_t bytes_eaten;
 	char *identifier = NULL;
 	char *tmp_oid = NULL;
 
-	if (!_ber_read_OID_String_impl(mem_ctx, blob, (const char **)&tmp_oid, &bytes_eaten))
+	if (!_ber_read_OID_String_impl(mem_ctx, blob, &tmp_oid, &bytes_eaten))
 		return false;
 
 	if (bytes_eaten < blob.length) {
@@ -746,7 +747,7 @@ nomem:
 }
 
 /* read an object ID from a ASN1 buffer */
-bool asn1_read_OID(struct asn1_data *data, TALLOC_CTX *mem_ctx, const char **OID)
+bool asn1_read_OID(struct asn1_data *data, TALLOC_CTX *mem_ctx, char **OID)
 {
 	DATA_BLOB blob;
 	int len;
@@ -785,16 +786,16 @@ bool asn1_read_OID(struct asn1_data *data, TALLOC_CTX *mem_ctx, const char **OID
 /* check that the next object ID is correct */
 bool asn1_check_OID(struct asn1_data *data, const char *OID)
 {
-	const char *id;
+	char *id;
 
 	if (!asn1_read_OID(data, data, &id)) return false;
 
 	if (strcmp(id, OID) != 0) {
-		talloc_free(discard_const(id));
+		talloc_free(id);
 		data->has_error = true;
 		return false;
 	}
-	talloc_free(discard_const(id));
+	talloc_free(id);
 	return true;
 }
 
diff --git a/lib/util/asn1.h b/lib/util/asn1.h
index 266a9a3..568b4e4 100644
--- a/lib/util/asn1.h
+++ b/lib/util/asn1.h
@@ -84,9 +84,9 @@ bool asn1_peek_tag(struct asn1_data *data, uint8_t tag);
 bool asn1_start_tag(struct asn1_data *data, uint8_t tag);
 bool asn1_end_tag(struct asn1_data *data);
 int asn1_tag_remaining(struct asn1_data *data);
-bool ber_read_OID_String(TALLOC_CTX *mem_ctx, DATA_BLOB blob, const char **OID);
-bool ber_read_partial_OID_String(TALLOC_CTX *mem_ctx, DATA_BLOB blob, const char **partial_oid);
-bool asn1_read_OID(struct asn1_data *data, TALLOC_CTX *mem_ctx, const char **OID);
+bool ber_read_OID_String(TALLOC_CTX *mem_ctx, DATA_BLOB blob, char **OID);
+bool ber_read_partial_OID_String(TALLOC_CTX *mem_ctx, DATA_BLOB blob, char **partial_oid);
+bool asn1_read_OID(struct asn1_data *data, TALLOC_CTX *mem_ctx, char **OID);
 bool asn1_check_OID(struct asn1_data *data, const char *OID);
 bool asn1_read_LDAPString(struct asn1_data *data, TALLOC_CTX *mem_ctx, char **s);
 bool asn1_read_GeneralString(struct asn1_data *data, TALLOC_CTX *mem_ctx, char **s);
diff --git a/lib/util/fault.c b/lib/util/fault.c
index 11b31d7..bbb3190 100644
--- a/lib/util/fault.c
+++ b/lib/util/fault.c
@@ -125,7 +125,7 @@ _PUBLIC_ _NORETURN_ void smb_panic(const char *why)
 		char pidstr[20];
 		char cmdstring[200];
 		safe_strcpy(cmdstring, panic_action, sizeof(cmdstring));
-		snprintf(pidstr, sizeof(pidstr), "%u", getpid());
+		snprintf(pidstr, sizeof(pidstr), "%d", (int) getpid());
 		all_string_sub(cmdstring, "%PID%", pidstr, sizeof(cmdstring));
 		if (progname) {
 			all_string_sub(cmdstring, "%PROG%", progname, sizeof(cmdstring));
diff --git a/lib/util/tests/asn1_tests.c b/lib/util/tests/asn1_tests.c
index 5cc5146..ac8ca53 100644
--- a/lib/util/tests/asn1_tests.c
+++ b/lib/util/tests/asn1_tests.c
@@ -148,7 +148,7 @@ static bool test_ber_write_OID_String(struct torture_context *tctx)
 static bool test_ber_read_OID_String(struct torture_context *tctx)
 {
 	int i;
-	const char *oid;
+	char *oid;
 	DATA_BLOB oid_blob;
 	TALLOC_CTX *mem_ctx;
 	const struct oid_data *data = oid_data_ok;
@@ -221,7 +221,7 @@ static bool test_ber_write_partial_OID_String(struct torture_context *tctx)
 static bool test_ber_read_partial_OID_String(struct torture_context *tctx)
 {
 	int i;
-	const char *oid;
+	char *oid;
 	DATA_BLOB oid_blob;
 	TALLOC_CTX *mem_ctx;
 	const struct oid_data *data = oid_data_ok;
diff --git a/lib/util/tevent_ntstatus.c b/lib/util/tevent_ntstatus.c
index c4dd074..764d251 100644
--- a/lib/util/tevent_ntstatus.c
+++ b/lib/util/tevent_ntstatus.c
@@ -20,12 +20,29 @@
 #include "../replace/replace.h"
 #include "tevent_ntstatus.h"
 
+#define TEVENT_NTERROR_MAGIC (0x917b5acd)
+
 bool _tevent_req_nterror(struct tevent_req *req,
 			 NTSTATUS status,
 			 const char *location)
 {
-	return _tevent_req_error(req, NT_STATUS_V(status),
-				 location);
+	uint64_t err;
+
+	if (NT_STATUS_IS_OK(status)) {
+		return false;
+	}
+
+	/*
+	 * I've put this variable here, because I'm not 100% certain
+	 * how to correctly assign a 64-bit constant and left-shift it
+	 * by 32 bits in a single expression. If anyone knows, feel
+	 * free :-)
+	 */
+	err = TEVENT_NTERROR_MAGIC;
+	err <<= 32;
+	err |= NT_STATUS_V(status);
+
+	return _tevent_req_error(req, err, location);
 }
 
 bool tevent_req_is_nterror(struct tevent_req *req, NTSTATUS *status)
@@ -44,7 +61,10 @@ bool tevent_req_is_nterror(struct tevent_req *req, NTSTATUS *status)
 		*status = NT_STATUS_NO_MEMORY;
 		break;
 	case TEVENT_REQ_USER_ERROR:
-		*status = NT_STATUS(err);
+		if ((err >> 32) != TEVENT_NTERROR_MAGIC) {
+			abort();
+		}
+		*status = NT_STATUS(err & 0xffffffff);
 		break;
 	default:
 		*status = NT_STATUS_INTERNAL_ERROR;
diff --git a/libcli/security/access_check.h b/libcli/security/access_check.h
index 700f981..c4923eb 100644
--- a/libcli/security/access_check.h
+++ b/libcli/security/access_check.h
@@ -75,4 +75,4 @@ struct object_tree *get_object_tree_by_GUID(struct object_tree *root,
 
 /* Change the granted access per each ACE */
 void object_tree_modify_access(struct object_tree *root,
-			       uint32_t access);
+			       uint32_t access_mask);
diff --git a/libcli/security/dom_sid.h b/libcli/security/dom_sid.h
index 3d1161f..8d59b18 100644
--- a/libcli/security/dom_sid.h
+++ b/libcli/security/dom_sid.h
@@ -81,6 +81,7 @@ bool sid_split_rid(struct dom_sid *sid, uint32_t *rid);
 bool sid_peek_rid(const struct dom_sid *sid, uint32_t *rid);
 bool sid_peek_check_rid(const struct dom_sid *exp_dom_sid, const struct dom_sid *sid, uint32_t *rid);
 void sid_copy(struct dom_sid *dst, const struct dom_sid *src);
+bool sid_blob_parse(DATA_BLOB in, struct dom_sid *sid);
 bool sid_parse(const char *inbuf, size_t len, struct dom_sid *sid);
 int sid_compare_domain(const struct dom_sid *sid1, const struct dom_sid *sid2);
 bool sid_equal(const struct dom_sid *sid1, const struct dom_sid *sid2);
diff --git a/libcli/security/util_sid.c b/libcli/security/util_sid.c
index 9ba28eb..52d48ce 100644
--- a/libcli/security/util_sid.c
+++ b/libcli/security/util_sid.c
@@ -233,13 +233,12 @@ void sid_copy(struct dom_sid *dst, const struct dom_sid *src)
 }
 
 /*****************************************************************
- Parse a on-the-wire SID to a struct dom_sid.
+ Parse a on-the-wire SID (in a DATA_BLOB) to a struct dom_sid.
 *****************************************************************/
 
-bool sid_parse(const char *inbuf, size_t len, struct dom_sid *sid)
+bool sid_blob_parse(DATA_BLOB in, struct dom_sid *sid)
 {
 	enum ndr_err_code ndr_err;
-	DATA_BLOB in = data_blob_const(inbuf, len);
 	ndr_err = ndr_pull_struct_blob_all(&in, NULL, sid,
 					   (ndr_pull_flags_fn_t)ndr_pull_dom_sid);
 	if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
@@ -249,6 +248,16 @@ bool sid_parse(const char *inbuf, size_t len, struct dom_sid *sid)
 }
 
 /*****************************************************************
+ Parse a on-the-wire SID to a struct dom_sid.
+*****************************************************************/
+
+bool sid_parse(const char *inbuf, size_t len, struct dom_sid *sid)
+{
+	DATA_BLOB in = data_blob_const(inbuf, len);
+	return sid_blob_parse(in, sid);
+}
+
+/*****************************************************************
  See if 2 SIDs are in the same domain
  this just compares the leading sub-auths
 *****************************************************************/
diff --git a/librpc/idl/lsa.idl b/librpc/idl/lsa.idl
index 869a97a..abad501 100644
--- a/librpc/idl/lsa.idl
+++ b/librpc/idl/lsa.idl
@@ -1064,11 +1064,14 @@ import "misc.idl", "security.idl";
 	);
 
 	/* Function 0x35 */
+	typedef [bitmap32bit] bitmap {
+		LSA_POLICY_KERBEROS_VALIDATE_CLIENT = 0x00000080
+	} lsa_krbAuthenticationOptions;
 
 	/* w2k3 returns either 0x000bbbd000000000 or 0x000a48e800000000
 	   for reserved - gd */
 	typedef struct {
-		uint32 enforce_restrictions;
+		lsa_krbAuthenticationOptions authentication_options;
 		hyper service_tkt_lifetime;
 		hyper user_tkt_lifetime;
 		hyper user_tkt_renewaltime;
diff --git a/librpc/ndr/ndr_basic.c b/librpc/ndr/ndr_basic.c
index 96f7323..ff207f4 100644
--- a/librpc/ndr/ndr_basic.c
+++ b/librpc/ndr/ndr_basic.c
@@ -848,7 +848,6 @@ _PUBLIC_ void ndr_print_ipv4address(struct ndr_print *ndr, const char *name,
 	ndr->print(ndr, "%-25s: %s", name, address);
 }
 
-#ifdef AF_INET6
 /*
   pull a ipv6address
 */
@@ -877,6 +876,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_ipv6address(struct ndr_pull *ndr, int ndr_fl
 */
 _PUBLIC_ enum ndr_err_code ndr_push_ipv6address(struct ndr_push *ndr, int ndr_flags, const char *address)
 {
+#ifdef AF_INET6
 	uint8_t addr[IPV6_BYTES];
 	int ret;
 
@@ -893,6 +893,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_ipv6address(struct ndr_push *ndr, int ndr_fl
 	NDR_CHECK(ndr_push_array_uint8(ndr, ndr_flags, addr, IPV6_BYTES));
 
 	return NDR_ERR_SUCCESS;
+#else
+	return NDR_ERR_IPV6ADDRESS;
+#endif
 }
 
 /*
@@ -904,7 +907,6 @@ _PUBLIC_ void ndr_print_ipv6address(struct ndr_print *ndr, const char *name,
 	ndr->print(ndr, "%-25s: %s", name, address);
 }
 #undef IPV6_BYTES
-#endif
 
 _PUBLIC_ void ndr_print_struct(struct ndr_print *ndr, const char *name, const char *type)
 {
diff --git a/librpc/ndr/ndr_drsblobs.c b/librpc/ndr/ndr_drsblobs.c
index 51880bb..32176a7 100644
--- a/librpc/ndr/ndr_drsblobs.c
+++ b/librpc/ndr/ndr_drsblobs.c
@@ -138,7 +138,7 @@ _PUBLIC_ void ndr_print_drsuapi_MSPrefixMap_Entry(struct ndr_print *ndr, const c
 			char *partial_oid = NULL;
 			DATA_BLOB oid_blob = data_blob_const(r->binary_oid, r->length);
 			char *hex_str = data_blob_hex_string_upper(ndr, &oid_blob);
-			ber_read_partial_OID_String(ndr, oid_blob, (const char **)&partial_oid);
+			ber_read_partial_OID_String(ndr, oid_blob, &partial_oid);
 			ndr->depth++;
 			ndr->print(ndr, "%-25s: 0x%s (%s)", "binary_oid", hex_str, partial_oid);
 			ndr->depth--;
diff --git a/librpc/ndr/ndr_drsuapi.c b/librpc/ndr/ndr_drsuapi.c
index 999aef9..86ecdcb 100644
--- a/librpc/ndr/ndr_drsuapi.c
+++ b/librpc/ndr/ndr_drsuapi.c
@@ -76,7 +76,7 @@ _PUBLIC_ void ndr_print_drsuapi_DsReplicaOID(struct ndr_print *ndr, const char *
 		char *partial_oid = NULL;
 		DATA_BLOB oid_blob = data_blob_const(r->binary_oid, r->length);
 		char *hex_str = data_blob_hex_string_upper(ndr, &oid_blob);
-		ber_read_partial_OID_String(ndr, oid_blob, (const char **)&partial_oid);
+		ber_read_partial_OID_String(ndr, oid_blob, &partial_oid);
 		ndr->depth++;
 		ndr->print(ndr, "%-25s: 0x%s (%s)", "binary_oid", hex_str, partial_oid);
 		ndr->depth--;
diff --git a/pidl/lib/Parse/Pidl/IDL.pm b/pidl/lib/Parse/Pidl/IDL.pm
index de605c7..bafa2ce 100644
--- a/pidl/lib/Parse/Pidl/IDL.pm
+++ b/pidl/lib/Parse/Pidl/IDL.pm
@@ -2619,11 +2619,17 @@ sub parse_file($$)
 	my $saved_delim = $/;
 	undef $/;
 	my $cpp = $ENV{CPP};
+	my $options = "";
 	if (! defined $cpp) {
-		$cpp = "cpp";
+		if (defined $ENV{CC}) {
+			$cpp = "$ENV{CC}";
+			$options = "-E";
+		} else {
+			$cpp = "cpp";
+		}
 	}
 	my $includes = join('',map { " -I$_" } @$incdirs);
-	my $data = `$cpp -D__PIDL__$includes -xc "$filename"`;
+	my $data = `$cpp $options -D__PIDL__$includes -xc "$filename"`;
 	$/ = $saved_delim;
 
 	return parse_string($data, $filename);
diff --git a/selftest/filter-subunit b/selftest/filter-subunit
index 84b6610..5f062d1 100755
--- a/selftest/filter-subunit
+++ b/selftest/filter-subunit
@@ -25,8 +25,18 @@ parser.add_option("--prefix", type="string",
 	help="Add prefix to all test names")
 parser.add_option("--fail-on-empty", default=False,
 	action="store_true", help="Fail if there was no subunit output")
+parser.add_option("--list", default=False,
+	action="store_true", help="Operate in list mode")
 opts, args = parser.parse_args()
 
+if opts.list:
+	prefix = opts.prefix
+	if not prefix:
+		prefix = ""
+	for l in sys.stdin:
+		sys.stdout.write("%s%s\n" % (prefix, l.rstrip()))
+	sys.exit(0)
+
 if opts.expected_failures:
 	expected_failures = subunithelper.read_test_regexes(opts.expected_failures)
 else:
diff --git a/selftest/selftest.pl b/selftest/selftest.pl
index d82930d..9759220 100755
--- a/selftest/selftest.pl
+++ b/selftest/selftest.pl
@@ -153,6 +153,7 @@ my @opt_include = ();
 my $opt_verbose = 0;
 my $opt_image = undef;
 my $opt_testenv = 0;
+my $opt_list = 0;
 my $ldap = undef;
 my $opt_resetup_env = undef;
 my $opt_bindir = undef;
@@ -325,7 +326,8 @@ Behaviour:
  --quick                    run quick overall test
  --one                      abort when the first test fails
  --verbose                  be verbose
- --analyse-cmd CMD          command to run after each test
+ --testenv                  run a shell in the requested test environment
+ --list                     list available tests
 ";
 	exit(0);
 }
@@ -346,6 +348,7 @@ my $result = GetOptions (
 		'exeext=s' => \$exeext,
 		'verbose' => \$opt_verbose,
 		'testenv' => \$opt_testenv,
+		'list' => \$opt_list,
 		'ldap:s' => \$ldap,
 		'resetup-environment' => \$opt_resetup_env,
 		'bindir:s' => \$opt_bindir,
@@ -358,6 +361,8 @@ exit(1) if (not $result);
 
 ShowHelp() if ($opt_help);
 
+die("--list and --testenv are mutually exclusive") if ($opt_list and $opt_testenv);
+
 # we want unbuffered output
 $| = 1;
 
@@ -940,6 +945,32 @@ SMB_CONF_PATH=\$SMB_CONF_PATH
 $envvarstr
 \" && LD_LIBRARY_PATH=$ENV{LD_LIBRARY_PATH} bash'");
 	teardown_env($testenv_name);
+} elsif ($opt_list) {
+	foreach (@todo) {
+		my $cmd = $$_[2];
+		my $name = $$_[0];
+		my $envname = $$_[1];
+
+		unless($cmd =~ /\$LISTOPT/) {
+			warn("Unable to list tests in $name");
+			next;
+		}
+
+		$cmd =~ s/\$LISTOPT/--list/g;
+
+		system($cmd);
+
+		if ($? == -1) {
+			die("Unable to run $cmd: $!");
+		} elsif ($? & 127) {
+			die(snprintf("%s died with signal %d, %s coredump\n", $cmd, ($? & 127),  ($? & 128) ? 'with' : 'without'));
+		}
+
+		my $exitcode = $? >> 8;
+		if ($exitcode != 0) {
+			die("$cmd exited with exit code $exitcode");
+		}
+	}
 } else {
 	foreach (@todo) {
 		$i++;
diff --git a/source3/Makefile.in b/source3/Makefile.in
index 1525888..c1b6c8b 100644
--- a/source3/Makefile.in
+++ b/source3/Makefile.in
@@ -591,6 +591,7 @@ LIBSMB_OBJ = libsmb/clientgen.o libsmb/cliconnect.o libsmb/clifile.o \
 	     libsmb/clistr.o libsmb/cliquota.o libsmb/clifsinfo.o libsmb/clidfs.o \
 	     libsmb/clioplock.o libsmb/clirap2.o \
 	     libsmb/smb_seal.o libsmb/async_smb.o \
+	     libsmb/cli_np_tstream.o \
 	     $(LIBSAMBA_OBJ) \
 	     $(LIBNMB_OBJ) \
 	     $(LIBNBT_OBJ) \


-- 
Samba Shared Repository


More information about the samba-cvs mailing list