Build status as of Thu Aug 26 06:00:01 2010

2010-08-26 Thread build
URL: http://build.samba.org/

--- /home/build/master/cache/broken_results.txt.old 2010-08-25 
00:00:03.0 -0600
+++ /home/build/master/cache/broken_results.txt 2010-08-26 00:00:03.0 
-0600
@@ -1,4 +1,4 @@
-Build status as of Wed Aug 25 06:00:02 2010
+Build status as of Thu Aug 26 06:00:01 2010
 
 Build counts:
 Tree Total  Broken Panic 
@@ -16,7 +16,7 @@
 samba_3_current 32 32 4 
 samba_3_master 32 31 0 
 samba_3_next 32 32 5 
-samba_4_0_waf 36 33 0 
-talloc   32 6  0 
+samba_4_0_waf 36 35 0 
+talloc   32 7  0 
 tdb  30 8  0 
 


[SCM] Samba Shared Repository - branch master updated

2010-08-26 Thread Stefan Metzmacher
The branch, master has been updated
   via  a701484 pidl:Samba3/ClientNDR: remove unused ParseOutputArgument 
function
  from  3c7a7bb subunit: Make sure ] in failure reason ends up on its own 
line, so the next subunit parser in the line parses it correctly.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit a701484230bf1119900287326f7a57c07776e4e9
Author: Stefan Metzmacher me...@samba.org
Date:   Wed Aug 25 10:07:54 2010 +0200

pidl:Samba3/ClientNDR: remove unused ParseOutputArgument function

metze

---

Summary of changes:
 pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm |   74 +--
 pidl/tests/samba3-cli.pl|   12 +
 2 files changed, 3 insertions(+), 83 deletions(-)


Changeset truncated at 500 lines:

diff --git a/pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm 
b/pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm
index 95ff4af..67051a8 100644
--- a/pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm
+++ b/pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm
@@ -9,7 +9,7 @@ package Parse::Pidl::Samba3::ClientNDR;
 
 use Exporter;
 @ISA = qw(Exporter);
-...@export_ok = qw(ParseFunction $res $res_hdr ParseOutputArgument);
+...@export_ok = qw(ParseFunction $res $res_hdr);
 
 use strict;
 use Parse::Pidl qw(fatal warning error);
@@ -86,78 +86,6 @@ sub ParseInvalidResponse($$)
}
 }
 
-sub ParseOutputArgument($$$;$$$)
-{
-   my ($self, $fn, $e, $r, $o, $invalid_response_type) = @_;
-   my $level = 0;
-   $r = r. unless defined($r);
-   $o =  unless defined($o);
-   $invalid_response_type = sync unless defined($invalid_response_type);
-
-   if ($e-{LEVELS}[0]-{TYPE} ne POINTER and $e-{LEVELS}[0]-{TYPE} ne 
ARRAY) {
-   $self-pidl(return NT_STATUS_NOT_SUPPORTED;);
-   error($e-{ORIGINAL}, [out] argument is not a pointer or 
array);
-   return;
-   }
-
-   if ($e-{LEVELS}[0]-{TYPE} eq POINTER) {
-   $level = 1;
-   if ($e-{LEVELS}[0]-{POINTER_TYPE} ne ref) {
-   $self-pidl(if ($o$e-{NAME}  ${r}out.$e-{NAME}) 
{);
-   $self-indent;
-   }
-   }
-
-   if ($e-{LEVELS}[$level]-{TYPE} eq ARRAY) {
-   # This is a call to GenerateFunctionInEnv intentionally. 
-   # Since the data is being copied into a user-provided data 
-   # structure, the user should be able to know the size 
beforehand 
-   # to allocate a structure of the right size.
-   my $in_env = GenerateFunctionInEnv($fn, $r);
-   my $out_env = GenerateFunctionOutEnv($fn, $r);
-   my $l = $e-{LEVELS}[$level];
-   unless (defined($l-{SIZE_IS})) {
-   $self-pidl('#error No size known for [out] array 
`$e-{NAME}');
-   error($e-{ORIGINAL}, no size known for [out] array 
`$e-{NAME}');
-   } else {
-   my $in_size_is = ParseExpr($l-{SIZE_IS}, $in_env, 
$e-{ORIGINAL});
-   my $out_size_is = ParseExpr($l-{SIZE_IS}, $out_env, 
$e-{ORIGINAL});
-   my $out_length_is = $out_size_is;
-   if (defined($l-{LENGTH_IS})) {
-   $out_length_is = ParseExpr($l-{LENGTH_IS}, 
$out_env, $e-{ORIGINAL});
-   }
-   if ($out_size_is ne $in_size_is) {
-   $self-pidl(if (($out_size_is)  
($in_size_is)) {);
-   $self-indent;
-   
$self-ParseInvalidResponse($invalid_response_type);
-   $self-deindent;
-   $self-pidl(});
-   }
-   if ($out_length_is ne $out_size_is) {
-   $self-pidl(if (($out_length_is)  
($out_size_is)) {);
-   $self-indent;
-   
$self-ParseInvalidResponse($invalid_response_type);
-   $self-deindent;
-   $self-pidl(});
-   }
-   if (has_property($e, charset)) {
-   $self-pidl(memcpy(discard_const_p(uint8_t *, 
$o$e-{NAME}), ${r}out.$e-{NAME}, ($out_length_is) * sizeof(*$o$e-{NAME})););
-   } else {
-   $self-pidl(memcpy($o$e-{NAME}, 
${r}out.$e-{NAME}, ($out_length_is) * sizeof(*$o$e-{NAME})););
-   }
-   }
-   } else {
-   $self-pidl(*$o$e-{NAME} = *${r}out.$e-{NAME};);
-   }
-
-   if ($e-{LEVELS}[0]-{TYPE} eq POINTER) {
-   if ($e-{LEVELS}[0]-{POINTER_TYPE} ne ref) {
-   $self-deindent;
-   $self-pidl(});
-   

[SCM] Samba Shared Repository - branch master updated

2010-08-26 Thread Andreas Schneider
The branch, master has been updated
   via  d132b3f s3-build: Don't paste the summary.
  from  a701484 pidl:Samba3/ClientNDR: remove unused ParseOutputArgument 
function

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit d132b3fbc0ccd89ebb6741e4dd6609b807cbdee3
Author: Andreas Schneider a...@samba.org
Date:   Thu Aug 26 11:41:05 2010 +0200

s3-build: Don't paste the summary.

The buildfarm outputs the summary if it is available and use the exit
status of the filter or subunit formatter as exit code.

---

Summary of changes:
 selftest/s3-selftest.sh |5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/selftest/s3-selftest.sh b/selftest/s3-selftest.sh
index 8b44629..2087b51 100755
--- a/selftest/s3-selftest.sh
+++ b/selftest/s3-selftest.sh
@@ -25,9 +25,9 @@ if [ x${RUN_FROM_BUILD_FARM} = xyes ]; then
--socket-wrapper ${TESTS} \
 touch ${SELFTESTPREFIX}/st_done ) | \
${FILTER_XFAIL} --strip-passed-output
+   EXIT_STATUS=$?
 
st_test_done
-   test -f ${SELFTESTPREFIX}/summary  cat ${SELFTESTPREFIX}/summary
 else
( rm -f ${SELFTESTPREFIX}/st_done  \
${PERL} ${SELFTESTDIR}/selftest.pl \
@@ -37,8 +37,9 @@ else
--socket-wrapper ${TESTS} \
 touch ${SELFTESTPREFIX}/st_done ) | \
${SUBUNIT_FORMATTER}
+   EXIT_STATUS=$?
 
st_test_done
 fi
 
-cleanup_and_exit
+cleanup_and_exit ${EXIT_STATUS}


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated

2010-08-26 Thread Andrew Tridgell
The branch, master has been updated
   via  9cb771a pidl-python: ensure we allocate ref ptrs before use
   via  3319052 s4-devel: added enumprivs developer script
   via  057a471 s4-net: fixed docstring on spn command
   via  d8f48c7 s4-net: added net rodc preload command
   via  da366ba s4-drs: split out drs utility python functions
   via  502a531 s4-pyrpc: convert rpc_talloc.py test to unittest framework
  from  d132b3f s3-build: Don't paste the summary.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit 9cb771a4a05b3c204a2b0626b22a29874919b3aa
Author: Andrew Tridgell tri...@samba.org
Date:   Thu Aug 26 17:50:13 2010 +1000

pidl-python: ensure we allocate ref ptrs before use

this fixes a crash on samba4.samr.python in the build farm

commit 331905216a22989973d00dbc612e90ffa010ff0e
Author: Andrew Tridgell tri...@samba.org
Date:   Thu Aug 26 17:41:30 2010 +1000

s4-devel: added enumprivs developer script

this enumerates all LSA privileges on a server

Pair-Programmed-With: Andrew Bartlett abart...@samba.org

commit 057a47130de16b3e8796a7d2dc92b2ceeddd8ab6
Author: Andrew Tridgell tri...@samba.org
Date:   Thu Aug 26 17:32:48 2010 +1000

s4-net: fixed docstring on spn command

Pair-Programmed-With: Andrew Bartlett abart...@samba.org

commit d8f48c7ffc7d1abc37e1681240266240d4f69e7a
Author: Andrew Tridgell tri...@samba.org
Date:   Thu Aug 26 16:37:24 2010 +1000

s4-net: added net rodc preload command

this command will preload the credentials for an account from the full
domain controller

Pair-Programmed-With: Andrew Bartlett abart...@samba.org

commit da366ba221e326aa1a62160d38b5d2df0b0eb780
Author: Andrew Tridgell tri...@samba.org
Date:   Thu Aug 26 14:35:30 2010 +1000

s4-drs: split out drs utility python functions

these will be re-used by other net commands

commit 502a5313c49baf70e49b6d200acccf2860aa8aba
Author: Andrew Tridgell tri...@samba.org
Date:   Thu Aug 26 09:45:16 2010 +1000

s4-pyrpc: convert rpc_talloc.py test to unittest framework

This fits in better with our test framework

Pair-Programmed-With: Jelmer Vernooij jel...@samba.org

---

Summary of changes:
 pidl/lib/Parse/Pidl/Samba4/Python.pm   |6 +-
 source4/scripting/devel/enumprivs  |   58 
 source4/scripting/python/samba/drs_utils.py|  152 
 source4/scripting/python/samba/join.py |  150 ++-
 source4/scripting/python/samba/netcmd/__init__.py  |2 +
 source4/scripting/python/samba/netcmd/rodc.py  |  123 
 source4/scripting/python/samba/netcmd/spn.py   |2 +-
 .../python/samba/tests/dcerpc/rpc_talloc.py|  104 --
 source4/selftest/tests.sh  |2 +-
 9 files changed, 416 insertions(+), 183 deletions(-)
 create mode 100755 source4/scripting/devel/enumprivs
 create mode 100644 source4/scripting/python/samba/drs_utils.py
 create mode 100644 source4/scripting/python/samba/netcmd/rodc.py


Changeset truncated at 500 lines:

diff --git a/pidl/lib/Parse/Pidl/Samba4/Python.pm 
b/pidl/lib/Parse/Pidl/Samba4/Python.pm
index eb39718..05c11be 100644
--- a/pidl/lib/Parse/Pidl/Samba4/Python.pm
+++ b/pidl/lib/Parse/Pidl/Samba4/Python.pm
@@ -947,7 +947,11 @@ sub ConvertObjectFromPythonLevel($)
}
# if we want to handle more than one level of pointer in python 
interfaces
# then this is where we would need to allocate it
-   $self-pidl($var_name = NULL;);
+   if ($l-{POINTER_TYPE} eq ref) {
+   $self-pidl($var_name = talloc_ptrtype($mem_ctx, 
$var_name););
+   } else {
+   $self-pidl($var_name = NULL;);
+   }
$self-ConvertObjectFromPythonLevel($env, $mem_ctx, $mem_ref, 
$py_var, $e, $nl, get_value_of($var_name), $fail);
if ($l-{POINTER_TYPE} ne ref) {
$self-deindent;
diff --git a/source4/scripting/devel/enumprivs 
b/source4/scripting/devel/enumprivs
new file mode 100755
index 000..6a04040
--- /dev/null
+++ b/source4/scripting/devel/enumprivs
@@ -0,0 +1,58 @@
+#!/usr/bin/env python
+
+# script to enumerate LSA privileges on a server
+
+import sys
+from optparse import OptionParser
+
+sys.path.insert(0, bin/python)
+
+import samba
+import samba.getopt as options
+from samba.dcerpc import lsa, security
+
+def get_display_name(lsaconn, pol_handle, name):
+'''get the display name for a privilege'''
+string = lsa.String()
+string.string = name
+
+(disp_names, ret_lang) = lsaconn.LookupPrivDisplayName(pol_handle, string, 
0x409, 0)
+return disp_names.string
+
+
+
+
+### main code ###

[SCM] Samba Shared Repository - branch master updated

2010-08-26 Thread Nadezhda Ivanova
The branch, master has been updated
   via  0de7954 Added values for the flags in dSHeuristics
  from  9cb771a pidl-python: ensure we allocate ref ptrs before use

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit 0de795414eca3f73386a7bd731ee2d1d6f051db9
Author: Nadezhda Ivanova nivan...@samba.org
Date:   Thu Aug 26 17:08:01 2010 +0300

Added values for the flags in dSHeuristics

These specify the character position, while the character value of that 
character
controls behavior

---

Summary of changes:
 libds/common/flags.h |   23 +++
 1 files changed, 23 insertions(+), 0 deletions(-)


Changeset truncated at 500 lines:

diff --git a/libds/common/flags.h b/libds/common/flags.h
index eeb6940..0fc159a 100644
--- a/libds/common/flags.h
+++ b/libds/common/flags.h
@@ -207,3 +207,26 @@
 
 /* wellknown GUIDs for optional directory features */
 #define DS_GUID_FEATURE_RECYCLE_BIN  
766ddcd8-acd0-445e-f3b9-a7f9b6744f2a
+
+/* dsHeurisrics character indexes see MS-ADTS 7.1.1.2.4.1.2 */
+
+#define DS_HR_SUPFIRSTLASTANR 0x0001
+#define DS_HR_SUPLASTFIRSTANR 0x0002
+#define DS_HR_DOLISTOBJECT0x0003
+#define DS_HR_DONICKRES   0x0004
+#define DS_HR_LDAP_USEPERMMOD 0x0005
+#define DS_HR_HIDEDSID0x0006
+#define DS_HR_BLOCK_ANONYMOUS_OPS 0x0007
+#define DS_HR_ALLOW_ANON_NSPI 0x0008
+#define DS_HR_USER_PASSWORD_SUPPORT   0x0009
+#define DS_HR_TENTH_CHAR  0x000A
+#define DS_HR_SPECIFY_GUID_ON_ADD 0x000B
+#define DS_HR_NO_STANDARD_SD  0x000C
+#define DS_HR_ALLOW_NONSECURE_PWD_OPS 0x000D
+#define DS_HR_NO_PROPAGATE_ON_NOCHANGE0x000E
+#define DS_HR_COMPUTE_ANR_STATS   0x000F
+#define DS_HR_ADMINSDEXMASK   0x0010
+#define DS_HR_KVNOEMUW2K  0x0011
+#define DS_HR_LDAP_BYPASS_UPPER_LIMIT_BOUNDS  0x0012
+
+


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated

2010-08-26 Thread Nadezhda Ivanova
The branch, master has been updated
   via  a571487 s4-dsdb: Added utility functions for retrieving 
dSHeuristics from the module stack
  from  0de7954 Added values for the flags in dSHeuristics

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit a571487e6c6774e640abb67f3cefac2dedac9044
Author: Nadezhda Ivanova nivan...@samba.org
Date:   Thu Aug 26 17:18:40 2010 +0300

s4-dsdb: Added utility functions for retrieving dSHeuristics from the 
module stack

Also a function to check dsHeuristics value to determine of anonymous 
access should be blocked

---

Summary of changes:
 source4/dsdb/samdb/ldb_modules/util.c |   47 +
 1 files changed, 47 insertions(+), 0 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/dsdb/samdb/ldb_modules/util.c 
b/source4/dsdb/samdb/ldb_modules/util.c
index 23a8da2..86417e6 100644
--- a/source4/dsdb/samdb/ldb_modules/util.c
+++ b/source4/dsdb/samdb/ldb_modules/util.c
@@ -1150,3 +1150,50 @@ int dsdb_module_constrainted_update_uint64(struct 
ldb_module *module,
 (const int64_t *)old_val,
 (const int64_t *)new_val);
 }
+
+
+const struct ldb_val *dsdb_module_find_dsheuristics(struct ldb_module *module,
+   TALLOC_CTX *mem_ctx)
+{
+   int ret;
+   struct ldb_dn *new_dn;
+   struct ldb_context *ldb = ldb_module_get_ctx(module);
+   static const char *attrs[] = { dsHeuristics, NULL };
+   struct ldb_result *res;
+
+   new_dn = ldb_dn_copy(mem_ctx, ldb_get_config_basedn(ldb));
+   if ( !ldb_dn_add_child_fmt(new_dn,
+  CN=Directory Service,CN=Windows 
NT,CN=Services)) {
+   talloc_free(new_dn);
+   return NULL;
+   }
+   ret = dsdb_module_search_dn(module, mem_ctx, res,
+   new_dn,
+   attrs,
+   DSDB_FLAG_NEXT_MODULE);
+   if (ret == LDB_SUCCESS  res-count == 1) {
+   return ldb_msg_find_ldb_val(res-msgs[0],
+   dsHeuristics);
+   }
+   return NULL;
+}
+
+bool dsdb_block_anonymous_ops(struct ldb_module *module,
+ TALLOC_CTX *mem_ctx)
+{
+   TALLOC_CTX *tmp_ctx = talloc_new(mem_ctx);
+   struct ldb_context *ldb = ldb_module_get_ctx(module);
+   bool result;
+   const struct ldb_val *hr_val = dsdb_module_find_dsheuristics(module,
+tmp_ctx);
+   if (hr_val == NULL || hr_val-length  DS_HR_BLOCK_ANONYMOUS_OPS) {
+   result = true;
+   } else if (hr_val-data[DS_HR_BLOCK_ANONYMOUS_OPS -1] == '2') {
+   result = false;
+   } else {
+   result = true;
+   }
+
+   talloc_free(tmp_ctx);
+   return result;
+}


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated

2010-08-26 Thread Nadezhda Ivanova
The branch, master has been updated
   via  ff20378 s4-dsdb: Removed an unnecessary space in 
dsdb_module_find_dsheuristics()
  from  a571487 s4-dsdb: Added utility functions for retrieving 
dSHeuristics from the module stack

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit ff2037876f80d5e49bf341bdcd1e8c13adc7b247
Author: Nadezhda Ivanova nivan...@samba.org
Date:   Thu Aug 26 17:37:49 2010 +0300

s4-dsdb: Removed an unnecessary space in dsdb_module_find_dsheuristics()

---

Summary of changes:
 source4/dsdb/samdb/ldb_modules/util.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/dsdb/samdb/ldb_modules/util.c 
b/source4/dsdb/samdb/ldb_modules/util.c
index 86417e6..2323085 100644
--- a/source4/dsdb/samdb/ldb_modules/util.c
+++ b/source4/dsdb/samdb/ldb_modules/util.c
@@ -1162,7 +1162,7 @@ const struct ldb_val 
*dsdb_module_find_dsheuristics(struct ldb_module *module,
struct ldb_result *res;
 
new_dn = ldb_dn_copy(mem_ctx, ldb_get_config_basedn(ldb));
-   if ( !ldb_dn_add_child_fmt(new_dn,
+   if (!ldb_dn_add_child_fmt(new_dn,
   CN=Directory Service,CN=Windows 
NT,CN=Services)) {
talloc_free(new_dn);
return NULL;


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated

2010-08-26 Thread Volker Lendecke
The branch, master has been updated
   via  4b3630b winbindd: Add the client status in the clients list output
   via  b219bfe winbindd: useless function
  from  ff20378 s4-dsdb: Removed an unnecessary space in 
dsdb_module_find_dsheuristics()

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit 4b3630b7e7c843add1965b6d35b3f2020957c101
Author: Pierre Carrier geoffroy.carr...@gmail.com
Date:   Mon Aug 23 00:53:40 2010 +0100

winbindd: Add the client status in the clients list output

Hello list,

Considered relevant by a customer.
As I suppose one doesn't send SIGUSR2 very often, I didn't bother adding 
another DEBUGLEVEL.

--
Pierre

commit b219bfe699ef9bfa91135808ef2ee192adf0245b
Author: Pierre Carrier geoffroy.carr...@gmail.com
Date:   Mon Aug 23 00:53:39 2010 +0100

winbindd: useless function

Hello list,

Seems simple enough for my first patch :)

--
Pierre

---

Summary of changes:
 source3/winbindd/winbindd.c |   25 +
 1 files changed, 13 insertions(+), 12 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/winbindd/winbindd.c b/source3/winbindd/winbindd.c
index 4163230..7a9ebb8 100644
--- a/source3/winbindd/winbindd.c
+++ b/source3/winbindd/winbindd.c
@@ -36,6 +36,7 @@
 #undef DBGC_CLASS
 #define DBGC_CLASS DBGC_WINBIND
 
+static bool client_is_idle(struct winbindd_cli_state *state);
 static void remove_client(struct winbindd_cli_state *state);
 
 static bool opt_nocache = False;
@@ -95,19 +96,13 @@ static void winbindd_status(void)
if (DEBUGLEVEL = 2  winbindd_num_clients()) {
DEBUG(2, (\tclient list:\n));
for(tmp = winbindd_client_list(); tmp; tmp = tmp-next) {
-   DEBUGADD(2, (\t\tpid %lu, sock %d\n,
- (unsigned long)tmp-pid, tmp-sock));
+   DEBUGADD(2, (\t\tpid %lu, sock %d (%s)\n,
+(unsigned long)tmp-pid, tmp-sock,
+client_is_idle(tmp) ? idle : active));
}
}
 }
 
-/* Print winbindd status to log file */
-
-static void print_winbindd_status(void)
-{
-   winbindd_status();
-}
-
 /* Flush client cache */
 
 static void flush_caches(void)
@@ -327,7 +322,7 @@ static void winbindd_sig_usr2_handler(struct tevent_context 
*ev,
  void *siginfo,
  void *private_data)
 {
-   print_winbindd_status();
+   winbindd_status();
 }
 
 static bool winbindd_setup_sig_usr2_handler(void)
@@ -865,6 +860,13 @@ static void remove_client(struct winbindd_cli_state *state)
TALLOC_FREE(state);
 }
 
+/* Is a client idle? */
+
+static bool client_is_idle(struct winbindd_cli_state *state) {
+  return (state-response == NULL 
+ !state-pwent_state  !state-grent_state);
+}
+
 /* Shutdown client connection which has been idle for the longest time */
 
 static bool remove_idle_client(void)
@@ -874,8 +876,7 @@ static bool remove_idle_client(void)
int nidle = 0;
 
for (state = winbindd_client_list(); state; state = state-next) {
-   if (state-response == NULL 
-   !state-pwent_state  !state-grent_state) {
+   if (client_is_idle(state)) {
nidle++;
if (!last_access || state-last_access  last_access) {
last_access = state-last_access;


-- 
Samba Shared Repository


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

2010-08-26 Thread Volker Lendecke
The branch, v3-6-test has been updated
   via  289e0bc winbindd: Add the client status in the clients list output
   via  e35fc9b winbindd: useless function
  from  5f28c91 s3:smbd: add nfs quota support to the linux-non-sysquota 
code

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


- Log -
commit 289e0bcbd9966f42b00cfdde1b530762e1875d85
Author: Pierre Carrier geoffroy.carr...@gmail.com
Date:   Mon Aug 23 00:53:40 2010 +0100

winbindd: Add the client status in the clients list output

Hello list,

Considered relevant by a customer.
As I suppose one doesn't send SIGUSR2 very often, I didn't bother adding 
another DEBUGLEVEL.

--
Pierre

commit e35fc9b4bc74c6d5153267dafdf0d27b4d90abdf
Author: Pierre Carrier geoffroy.carr...@gmail.com
Date:   Mon Aug 23 00:53:39 2010 +0100

winbindd: useless function

Hello list,

Seems simple enough for my first patch :)

--
Pierre

---

Summary of changes:
 source3/winbindd/winbindd.c |   25 +
 1 files changed, 13 insertions(+), 12 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/winbindd/winbindd.c b/source3/winbindd/winbindd.c
index 3a9643d..c8b3679 100644
--- a/source3/winbindd/winbindd.c
+++ b/source3/winbindd/winbindd.c
@@ -34,6 +34,7 @@
 #undef DBGC_CLASS
 #define DBGC_CLASS DBGC_WINBIND
 
+static bool client_is_idle(struct winbindd_cli_state *state);
 static void remove_client(struct winbindd_cli_state *state);
 
 static bool opt_nocache = False;
@@ -93,19 +94,13 @@ static void winbindd_status(void)
if (DEBUGLEVEL = 2  winbindd_num_clients()) {
DEBUG(2, (\tclient list:\n));
for(tmp = winbindd_client_list(); tmp; tmp = tmp-next) {
-   DEBUGADD(2, (\t\tpid %lu, sock %d\n,
- (unsigned long)tmp-pid, tmp-sock));
+   DEBUGADD(2, (\t\tpid %lu, sock %d (%s)\n,
+(unsigned long)tmp-pid, tmp-sock,
+client_is_idle(tmp) ? idle : active));
}
}
 }
 
-/* Print winbindd status to log file */
-
-static void print_winbindd_status(void)
-{
-   winbindd_status();
-}
-
 /* Flush client cache */
 
 static void flush_caches(void)
@@ -325,7 +320,7 @@ static void winbindd_sig_usr2_handler(struct tevent_context 
*ev,
  void *siginfo,
  void *private_data)
 {
-   print_winbindd_status();
+   winbindd_status();
 }
 
 static bool winbindd_setup_sig_usr2_handler(void)
@@ -863,6 +858,13 @@ static void remove_client(struct winbindd_cli_state *state)
TALLOC_FREE(state);
 }
 
+/* Is a client idle? */
+
+static bool client_is_idle(struct winbindd_cli_state *state) {
+  return (state-response == NULL 
+ !state-pwent_state  !state-grent_state);
+}
+
 /* Shutdown client connection which has been idle for the longest time */
 
 static bool remove_idle_client(void)
@@ -872,8 +874,7 @@ static bool remove_idle_client(void)
int nidle = 0;
 
for (state = winbindd_client_list(); state; state = state-next) {
-   if (state-response == NULL 
-   !state-pwent_state  !state-grent_state) {
+   if (client_is_idle(state)) {
nidle++;
if (!last_access || state-last_access  last_access) {
last_access = state-last_access;


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated

2010-08-26 Thread Günther Deschner
The branch, master has been updated
   via  433c080 s3-selftest: do not remove nsswrapper environment when 
running smbtorture4.
  from  4b3630b winbindd: Add the client status in the clients list output

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit 433c08045ee96ca2e507cdec47bf9ef1dd95540e
Author: Günther Deschner g...@samba.org
Date:   Thu Aug 26 15:49:17 2010 +0200

s3-selftest: do not remove nsswrapper environment when running smbtorture4.

Guenther

---

Summary of changes:
 selftest/target/Samba3.pm |3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/selftest/target/Samba3.pm b/selftest/target/Samba3.pm
index 6eeae21..3c64e8d 100644
--- a/selftest/target/Samba3.pm
+++ b/selftest/target/Samba3.pm
@@ -628,9 +628,6 @@ $unix_name-group:x:$unix_gids[0]:
print PWD $password\n$password\n;
close(PWD) or die(Unable to set password for test account);
 
-   delete $ENV{NSS_WRAPPER_PASSWD};
-   delete $ENV{NSS_WRAPPER_GROUP};
-
print DONE\n;
 
$ret{SERVER_IP} = $server_ip;


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated

2010-08-26 Thread Matthias Dieter Wallnöfer
The branch, master has been updated
   via  1991c2a libcli/auth/ntlm_check.c - fix parameter indentation
   via  53a3234 s4:ntlm/auth.c - add a whitespace in a debug output
   via  b11b242 s4:dsdb_module_find_dsheuristics - free the DN also on 
other exit cases
  from  433c080 s3-selftest: do not remove nsswrapper environment when 
running smbtorture4.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit 1991c2a8ee71dc1d6841d619ef323131c71137fa
Author: Matthias Dieter Wallnöfer m...@samba.org
Date:   Thu Aug 26 20:08:15 2010 +0200

libcli/auth/ntlm_check.c - fix parameter indentation

commit 53a32347034af180c8b767607eedd346134ab4cc
Author: Matthias Dieter Wallnöfer m...@samba.org
Date:   Thu Aug 26 20:07:53 2010 +0200

s4:ntlm/auth.c - add a whitespace in a debug output

commit b11b2425a9cc919f34d7c8b1dae7b40f3cf11f08
Author: Matthias Dieter Wallnöfer m...@samba.org
Date:   Thu Aug 26 18:37:00 2010 +0200

s4:dsdb_module_find_dsheuristics - free the DN also on other exit cases

---

Summary of changes:
 libcli/auth/ntlm_check.c  |6 +++---
 source4/auth/ntlm/auth.c  |2 +-
 source4/dsdb/samdb/ldb_modules/util.c |2 ++
 3 files changed, 6 insertions(+), 4 deletions(-)


Changeset truncated at 500 lines:

diff --git a/libcli/auth/ntlm_check.c b/libcli/auth/ntlm_check.c
index 9f968ef..5a430bd 100644
--- a/libcli/auth/ntlm_check.c
+++ b/libcli/auth/ntlm_check.c
@@ -218,7 +218,7 @@ static bool smb_sess_key_ntlmv2(TALLOC_CTX *mem_ctx,
  */
 
 NTSTATUS hash_password_check(TALLOC_CTX *mem_ctx,
-bool lanman_auth,
+bool lanman_auth,
 const struct samr_Password *client_lanman,
 const struct samr_Password *client_nt,
 const char *username, 
@@ -281,8 +281,8 @@ NTSTATUS hash_password_check(TALLOC_CTX *mem_ctx,
  */
 
 NTSTATUS ntlm_password_check(TALLOC_CTX *mem_ctx,
-bool lanman_auth,
-bool ntlm_auth,
+bool lanman_auth,
+bool ntlm_auth,
 uint32_t logon_parameters,
 const DATA_BLOB *challenge,
 const DATA_BLOB *lm_response,
diff --git a/source4/auth/ntlm/auth.c b/source4/auth/ntlm/auth.c
index 17fbfca..a977aa4 100644
--- a/source4/auth/ntlm/auth.c
+++ b/source4/auth/ntlm/auth.c
@@ -378,7 +378,7 @@ _PUBLIC_ NTSTATUS auth_check_password_recv(struct 
tevent_req *req,
 
if (tevent_req_is_nterror(req, status)) {
DEBUG(2,(auth_check_password_recv: 
-%s authentication for user [%s\\%s]
+%s authentication for user [%s\\%s] 
 FAILED with error %s\n,
 (state-method ? state-method-ops-name : 
NO_METHOD),
 state-user_info-mapped.domain_name,
diff --git a/source4/dsdb/samdb/ldb_modules/util.c 
b/source4/dsdb/samdb/ldb_modules/util.c
index 2323085..f046abf 100644
--- a/source4/dsdb/samdb/ldb_modules/util.c
+++ b/source4/dsdb/samdb/ldb_modules/util.c
@@ -1172,9 +1172,11 @@ const struct ldb_val 
*dsdb_module_find_dsheuristics(struct ldb_module *module,
attrs,
DSDB_FLAG_NEXT_MODULE);
if (ret == LDB_SUCCESS  res-count == 1) {
+   talloc_free(new_dn);
return ldb_msg_find_ldb_val(res-msgs[0],
dsHeuristics);
}
+   talloc_free(new_dn);
return NULL;
 }
 


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated

2010-08-26 Thread Volker Lendecke
The branch, master has been updated
   via  e105570 s3: Remove smbd_server_fd from expand_msdfs_target
  from  1991c2a libcli/auth/ntlm_check.c - fix parameter indentation

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit e1055701ff94e7cd548fae76ce479cc7278c41e7
Author: Volker Lendecke v...@samba.org
Date:   Wed Aug 18 19:57:21 2010 +0200

s3: Remove smbd_server_fd from expand_msdfs_target

---

Summary of changes:
 source3/modules/vfs_expand_msdfs.c |5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/modules/vfs_expand_msdfs.c 
b/source3/modules/vfs_expand_msdfs.c
index 9fe9ef4..d2d3348 100644
--- a/source3/modules/vfs_expand_msdfs.c
+++ b/source3/modules/vfs_expand_msdfs.c
@@ -19,6 +19,7 @@
 
 #include includes.h
 #include ../librpc/gen_ndr/ndr_netlogon.h
+#include smbd/globals.h
 
 #undef DBGC_CLASS
 #define DBGC_CLASS DBGC_VFS
@@ -113,7 +114,6 @@ static char *expand_msdfs_target(TALLOC_CTX *ctx,
int filename_len = 0;
char *targethost = NULL;
char *new_target = NULL;
-   char addr[INET6_ADDRSTRLEN];
 
if (filename_start == NULL) {
DEBUG(10, (No filename start in %s\n, target));
@@ -137,8 +137,7 @@ static char *expand_msdfs_target(TALLOC_CTX *ctx,
DEBUG(10, (Expanding from table [%s]\n, mapfilename));
 
targethost = read_target_host(
-   ctx, client_addr(smbd_server_fd(), addr, sizeof(addr)),
-   mapfilename);
+   ctx, conn-sconn-client_id.addr, mapfilename);
if (targethost == NULL) {
DEBUG(1, (Could not expand target host from file %s\n,
  mapfilename));


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated

2010-08-26 Thread Volker Lendecke
The branch, master has been updated
   via  33f9c07 s3: Fix typos
  from  e105570 s3: Remove smbd_server_fd from expand_msdfs_target

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit 33f9c078d310ffadb2392a9169d7b9341a3b7806
Author: Volker Lendecke v...@samba.org
Date:   Thu Aug 26 22:01:01 2010 +0200

s3: Fix typos

---

Summary of changes:
 source3/auth/pampass.c |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/auth/pampass.c b/source3/auth/pampass.c
index b1c3bb6..6f8be1a 100644
--- a/source3/auth/pampass.c
+++ b/source3/auth/pampass.c
@@ -340,7 +340,7 @@ static int smb_pam_passchange_conv(int num_msg,
DEBUG(10,(smb_pam_passchange_conv: 
PAM_PROMPT_ECHO_ON: We sent: %s\n, current_reply));
pwd_sub(current_reply, 
udp-PAM_username, udp-PAM_password, udp-PAM_newpassword);
 #ifdef DEBUG_PASSWORD
-   DEBUG(100,(smb_pam_passchange_conv: 
PAM_PROMPT_ECHO_ON: We actualy sent: %s\n, current_reply));
+   DEBUG(100,(smb_pam_passchange_conv: 
PAM_PROMPT_ECHO_ON: We actually sent: %s\n, current_reply));
 #endif
reply[replies].resp_retcode = 
PAM_SUCCESS;
reply[replies].resp = 
smb_pam_copy_fstring(
@@ -375,7 +375,7 @@ static int smb_pam_passchange_conv(int num_msg,
reply[replies].resp = 
smb_pam_copy_fstring(
current_reply);
 #ifdef DEBUG_PASSWORD
-   DEBUG(100,(smb_pam_passchange_conv: 
PAM_PROMPT_ECHO_OFF: We actualy sent: %s\n, current_reply));
+   DEBUG(100,(smb_pam_passchange_conv: 
PAM_PROMPT_ECHO_OFF: We actually sent: %s\n, current_reply));
 #endif
found = True;
break;


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated

2010-08-26 Thread Günther Deschner
The branch, master has been updated
   via  338184f s3-proto: remove obsolete prototypes.
  from  33f9c07 s3: Fix typos

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit 338184fb3a3869f81ead82dcc477c87d858334d3
Author: Günther Deschner g...@samba.org
Date:   Thu Aug 26 23:25:00 2010 +0200

s3-proto: remove obsolete prototypes.

Guenther

---

Summary of changes:
 source3/include/proto.h |   14 --
 1 files changed, 0 insertions(+), 14 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/include/proto.h b/source3/include/proto.h
index 2a70051..4b34ec0 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -4286,20 +4286,6 @@ struct cli_state *rpc_pipe_smbd_smb_conn(struct 
rpc_pipe_client *p);
 NTSTATUS rpc_transport_sock_init(TALLOC_CTX *mem_ctx, int fd,
 struct rpc_cli_transport **presult);
 
-/* The following definitions come from rpc_client/ndr.c  */
-
-struct tevent_req *cli_do_rpc_ndr_send(TALLOC_CTX *mem_ctx,
-  struct tevent_context *ev,
-  struct rpc_pipe_client *cli,
-  const struct ndr_interface_table *table,
-  uint32_t opnum,
-  void *r);
-NTSTATUS cli_do_rpc_ndr_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx);
-NTSTATUS cli_do_rpc_ndr(struct rpc_pipe_client *cli,
-   TALLOC_CTX *mem_ctx,
-   const struct ndr_interface_table *table,
-   uint32 opnum, void *r);
-
 /* The following definitions come from rpc_server/srv_eventlog_nt.c  */
 
 /* The following definitions come from rpc_server/rpc_handles.c  */


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated

2010-08-26 Thread Jeremy Allison
The branch, master has been updated
   via  5115f78 Fix bug #7651 - mknod and mkfifo fails with No such file 
or directory
  from  338184f s3-proto: remove obsolete prototypes.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit 5115f789c007a155e34505852d847b99b7f4c886
Author: Jeremy Allison j...@samba.org
Date:   Thu Aug 26 16:46:45 2010 -0700

Fix bug #7651 - mknod and mkfifo fails with No such file or directory

Ensure we check the correct stat struct once we've created the
special fix. Thanks to izh1...@gmail.com for pointing out the
bug.

Jeremy.

---

Summary of changes:
 source3/smbd/trans2.c |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c
index 24d66a6..4ecf08a 100644
--- a/source3/smbd/trans2.c
+++ b/source3/smbd/trans2.c
@@ -6799,6 +6799,7 @@ static NTSTATUS smb_set_file_unix_basic(connection_struct 
*conn,
files_struct *all_fsps = NULL;
bool modify_mtime = true;
struct file_id id;
+   struct smb_filename *smb_fname_tmp = NULL;
SMB_STRUCT_STAT sbuf;
 
ZERO_STRUCT(ft);
@@ -6851,7 +6852,6 @@ static NTSTATUS smb_set_file_unix_basic(connection_struct 
*conn,
sbuf = smb_fname-st;
 
if (!VALID_STAT(sbuf)) {
-   struct smb_filename *smb_fname_tmp = NULL;
/*
 * The only valid use of this is to create character and block
 * devices, and named pipes. This is deprecated (IMHO) and 
@@ -6880,7 +6880,7 @@ static NTSTATUS smb_set_file_unix_basic(connection_struct 
*conn,
}
 
sbuf = smb_fname_tmp-st;
-   TALLOC_FREE(smb_fname_tmp);
+   smb_fname = smb_fname_tmp;
 
/* Ensure we don't try and change anything else. */
raw_unixmode = SMB_MODE_NO_CHANGE;


-- 
Samba Shared Repository


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

2010-08-26 Thread Jeremy Allison
The branch, v3-6-test has been updated
   via  f86ed5e Fix bug #7651 - mknod and mkfifo fails with No such file 
or directory
  from  289e0bc winbindd: Add the client status in the clients list output

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


- Log -
commit f86ed5efa661734ac552556d051b82994daf9052
Author: Jeremy Allison j...@samba.org
Date:   Thu Aug 26 16:46:45 2010 -0700

Fix bug #7651 - mknod and mkfifo fails with No such file or directory

Ensure we check the correct stat struct once we've created the
special fix. Thanks to izh1...@gmail.com for pointing out the
bug.

Jeremy.
(cherry picked from commit 5115f789c007a155e34505852d847b99b7f4c886)

---

Summary of changes:
 source3/smbd/trans2.c |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c
index 12a27b1..d905cc0 100644
--- a/source3/smbd/trans2.c
+++ b/source3/smbd/trans2.c
@@ -6799,6 +6799,7 @@ static NTSTATUS smb_set_file_unix_basic(connection_struct 
*conn,
files_struct *all_fsps = NULL;
bool modify_mtime = true;
struct file_id id;
+   struct smb_filename *smb_fname_tmp = NULL;
SMB_STRUCT_STAT sbuf;
 
ZERO_STRUCT(ft);
@@ -6851,7 +6852,6 @@ static NTSTATUS smb_set_file_unix_basic(connection_struct 
*conn,
sbuf = smb_fname-st;
 
if (!VALID_STAT(sbuf)) {
-   struct smb_filename *smb_fname_tmp = NULL;
/*
 * The only valid use of this is to create character and block
 * devices, and named pipes. This is deprecated (IMHO) and 
@@ -6880,7 +6880,7 @@ static NTSTATUS smb_set_file_unix_basic(connection_struct 
*conn,
}
 
sbuf = smb_fname_tmp-st;
-   TALLOC_FREE(smb_fname_tmp);
+   smb_fname = smb_fname_tmp;
 
/* Ensure we don't try and change anything else. */
raw_unixmode = SMB_MODE_NO_CHANGE;


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated

2010-08-26 Thread Andrew Tridgell
The branch, master has been updated
   via  bdab6c3 s4-pynet: pynet depends on pyrpc_util
   via  64552e1 pyrpc: Add py_check_dcerpc_type().
  from  5115f78 Fix bug #7651 - mknod and mkfifo fails with No such file 
or directory

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit bdab6c36e84178b361b77ad0ee70757df6aca26a
Author: Andrew Tridgell tri...@samba.org
Date:   Fri Aug 27 03:38:46 2010 +0200

s4-pynet: pynet depends on pyrpc_util

commit 64552e11dd4435ebd85a0c291987457a99d7fe50
Author: Jelmer Vernooij jel...@samba.org
Date:   Fri Aug 27 02:17:26 2010 +0200

pyrpc: Add py_check_dcerpc_type().

This function checks whether the type of a PyObject matches a
DCE/RPC Python type.

Pair-Programmed-With: Andrew Tridgell tri...@samba.org

---

Summary of changes:
 source4/libnet/py_net.c|   11 +---
 source4/libnet/wscript_build   |2 +-
 source4/librpc/rpc/pyrpc_util.c|   61 
 .../librpc/rpc/pyrpc_util.h|   14 ++--
 source4/librpc/wscript_build   |6 ++
 5 files changed, 78 insertions(+), 16 deletions(-)
 create mode 100644 source4/librpc/rpc/pyrpc_util.c
 copy libcli/smb/smb_common.h = source4/librpc/rpc/pyrpc_util.h (67%)


Changeset truncated at 500 lines:

diff --git a/source4/libnet/py_net.c b/source4/libnet/py_net.c
index 79abcd2..4f3e5db 100644
--- a/source4/libnet/py_net.c
+++ b/source4/libnet/py_net.c
@@ -29,6 +29,7 @@
 #include lib/ldb/pyldb.h
 #include auth/gensec/gensec.h
 #include librpc/rpc/pyrpc.h
+#include librpc/rpc/pyrpc_util.h
 
 typedef struct {
PyObject_HEAD
@@ -407,12 +408,9 @@ static PyObject *py_net_replicate_chunk(py_net_Object 
*self, PyObject *args, PyO
 
switch (level) {
case 1:
-#ifdef Py_TYPE
-   if (strcmp(drsuapi.DsGetNCChangesCtr1, 
Py_TYPE(py_ctr)-tp_name) != 0) {
-   PyErr_SetString(PyExc_TypeError, Expected 
DsGetNCChangesCtr1 type for ctr);
+   if (!py_check_dcerpc_type(py_ctr, samba.dcerpc.drsuapi, 
DsGetNCChangesCtr1)) {
return NULL;
}
-#endif
s-chunk.ctr1 = 
py_talloc_get_ptr(py_ctr);
s-partition.nc   = 
*s-chunk.ctr1-naming_context;
s-partition.more_data= 
s-chunk.ctr1-more_data;
@@ -421,12 +419,9 @@ static PyObject *py_net_replicate_chunk(py_net_Object 
*self, PyObject *args, PyO
s-partition.highwatermark= 
s-chunk.ctr1-new_highwatermark;
break;
case 6:
-#ifdef Py_TYPE
-   if (strcmp(drsuapi.DsGetNCChangesCtr6, 
Py_TYPE(py_ctr)-tp_name) != 0) {
-   PyErr_SetString(PyExc_TypeError, Expected 
DsGetNCChangesCtr6 type for ctr);
+   if (!py_check_dcerpc_type(py_ctr, samba.dcerpc.drsuapi, 
DsGetNCChangesCtr6)) {
return NULL;
}
-#endif
s-chunk.ctr6 = 
py_talloc_get_ptr(py_ctr);
s-partition.nc   = 
*s-chunk.ctr6-naming_context;
s-partition.more_data= 
s-chunk.ctr6-more_data;
diff --git a/source4/libnet/wscript_build b/source4/libnet/wscript_build
index 5bf926b..0296bef 100644
--- a/source4/libnet/wscript_build
+++ b/source4/libnet/wscript_build
@@ -9,7 +9,7 @@ bld.SAMBA_SUBSYSTEM('LIBSAMBA-NET',
 
 bld.SAMBA_PYTHON('python_net',
source='py_net.c',
-   deps='LIBSAMBA-NET',
+   deps='LIBSAMBA-NET pyrpc_util',
realname='samba/net.so'
)
 
diff --git a/source4/librpc/rpc/pyrpc_util.c b/source4/librpc/rpc/pyrpc_util.c
new file mode 100644
index 000..e1d3450
--- /dev/null
+++ b/source4/librpc/rpc/pyrpc_util.c
@@ -0,0 +1,61 @@
+/*
+   Unix SMB/CIFS implementation.
+
+   Python interface to DCE/RPC library - utility functions.
+
+   Copyright (C) 2010 Jelmer Vernooij jel...@samba.org
+   Copyright (C) 2010 Andrew Tridgell tri...@samba.org
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see http://www.gnu.org/licenses/.
+*/
+
+#include Python.h
+#include includes.h
+#include librpc/rpc/pyrpc_util.h
+
+#ifndef