svn commit: samba r22658 - in branches/SAMBA_4_0/source/lib/replace: . test

2007-05-04 Thread metze
Author: metze
Date: 2007-05-04 06:59:02 + (Fri, 04 May 2007)
New Revision: 22658

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=22658

Log:
- add AC_GNU_SOURCE macro for systems which don't have it
  (sles8)
- fix compiler warning on some systems

metze
Modified:
   branches/SAMBA_4_0/source/lib/replace/autoconf-2.60.m4
   branches/SAMBA_4_0/source/lib/replace/test/testsuite.c


Changeset:
Modified: branches/SAMBA_4_0/source/lib/replace/autoconf-2.60.m4
===
--- branches/SAMBA_4_0/source/lib/replace/autoconf-2.60.m4  2007-05-03 
20:52:48 UTC (rev 22657)
+++ branches/SAMBA_4_0/source/lib/replace/autoconf-2.60.m4  2007-05-04 
06:59:02 UTC (rev 22658)
@@ -1,3 +1,16 @@
+# AC_GNU_SOURCE
+# --
+AC_DEFUN([AC_GNU_SOURCE],
+[AH_VERBATIM([_GNU_SOURCE],
+[/* Enable GNU extensions on systems that have them.  */
+#ifndef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif])dnl
+AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl
+AC_BEFORE([$0], [AC_RUN_IFELSE])dnl
+AC_DEFINE([_GNU_SOURCE])
+])
+
 # _AC_C_STD_TRY(STANDARD, TEST-PROLOGUE, TEST-BODY, OPTION-LIST,
 #  ACTION-IF-AVAILABLE, ACTION-IF-UNAVAILABLE)
 # --

Modified: branches/SAMBA_4_0/source/lib/replace/test/testsuite.c
===
--- branches/SAMBA_4_0/source/lib/replace/test/testsuite.c  2007-05-03 
20:52:48 UTC (rev 22657)
+++ branches/SAMBA_4_0/source/lib/replace/test/testsuite.c  2007-05-04 
06:59:02 UTC (rev 22658)
@@ -511,7 +511,7 @@
   \tptr: %p - %p = %d != %d\n \
   ]\n, \
   __STRING(func), __location__, __STRING(func), \
-  str, diff, base, res, _v, _ep, _p, diff - (_ep - _p), 
diff); \
+  str, diff, base, res, _v, _ep, _p, (int)(diff - (_ep - 
_p)), diff); \
return false; \
} \
 } while (0)



svn commit: samba r22659 - in branches/SAMBA_3_0/source/lib/replace: . test

2007-05-04 Thread metze
Author: metze
Date: 2007-05-04 06:59:26 + (Fri, 04 May 2007)
New Revision: 22659

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=22659

Log:
merge from SAMBA_4_0:

- add AC_GNU_SOURCE macro for systems which don't have it
  (sles8)
- fix compiler warning on some systems

metze
Modified:
   branches/SAMBA_3_0/source/lib/replace/autoconf-2.60.m4
   branches/SAMBA_3_0/source/lib/replace/test/testsuite.c


Changeset:
Modified: branches/SAMBA_3_0/source/lib/replace/autoconf-2.60.m4
===
--- branches/SAMBA_3_0/source/lib/replace/autoconf-2.60.m4  2007-05-04 
06:59:02 UTC (rev 22658)
+++ branches/SAMBA_3_0/source/lib/replace/autoconf-2.60.m4  2007-05-04 
06:59:26 UTC (rev 22659)
@@ -1,3 +1,16 @@
+# AC_GNU_SOURCE
+# --
+AC_DEFUN([AC_GNU_SOURCE],
+[AH_VERBATIM([_GNU_SOURCE],
+[/* Enable GNU extensions on systems that have them.  */
+#ifndef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif])dnl
+AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl
+AC_BEFORE([$0], [AC_RUN_IFELSE])dnl
+AC_DEFINE([_GNU_SOURCE])
+])
+
 # _AC_C_STD_TRY(STANDARD, TEST-PROLOGUE, TEST-BODY, OPTION-LIST,
 #  ACTION-IF-AVAILABLE, ACTION-IF-UNAVAILABLE)
 # --

Modified: branches/SAMBA_3_0/source/lib/replace/test/testsuite.c
===
--- branches/SAMBA_3_0/source/lib/replace/test/testsuite.c  2007-05-04 
06:59:02 UTC (rev 22658)
+++ branches/SAMBA_3_0/source/lib/replace/test/testsuite.c  2007-05-04 
06:59:26 UTC (rev 22659)
@@ -511,7 +511,7 @@
   \tptr: %p - %p = %d != %d\n \
   ]\n, \
   __STRING(func), __location__, __STRING(func), \
-  str, diff, base, res, _v, _ep, _p, diff - (_ep - _p), 
diff); \
+  str, diff, base, res, _v, _ep, _p, (int)(diff - (_ep - 
_p)), diff); \
return false; \
} \
 } while (0)



svn commit: samba r22660 - in branches/SAMBA_3_0_25/source/lib/replace: . test

2007-05-04 Thread metze
Author: metze
Date: 2007-05-04 07:00:09 + (Fri, 04 May 2007)
New Revision: 22660

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=22660

Log:
merge from SAMBA_4_0:
- add AC_GNU_SOURCE macro for systems which don't have it
  (sles8)
- fix compiler warning on some systems

jerry: this should be in 3.0.25

metze
Modified:
   branches/SAMBA_3_0_25/source/lib/replace/autoconf-2.60.m4
   branches/SAMBA_3_0_25/source/lib/replace/test/testsuite.c


Changeset:
Modified: branches/SAMBA_3_0_25/source/lib/replace/autoconf-2.60.m4
===
--- branches/SAMBA_3_0_25/source/lib/replace/autoconf-2.60.m4   2007-05-04 
06:59:26 UTC (rev 22659)
+++ branches/SAMBA_3_0_25/source/lib/replace/autoconf-2.60.m4   2007-05-04 
07:00:09 UTC (rev 22660)
@@ -1,3 +1,16 @@
+# AC_GNU_SOURCE
+# --
+AC_DEFUN([AC_GNU_SOURCE],
+[AH_VERBATIM([_GNU_SOURCE],
+[/* Enable GNU extensions on systems that have them.  */
+#ifndef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif])dnl
+AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl
+AC_BEFORE([$0], [AC_RUN_IFELSE])dnl
+AC_DEFINE([_GNU_SOURCE])
+])
+
 # _AC_C_STD_TRY(STANDARD, TEST-PROLOGUE, TEST-BODY, OPTION-LIST,
 #  ACTION-IF-AVAILABLE, ACTION-IF-UNAVAILABLE)
 # --

Modified: branches/SAMBA_3_0_25/source/lib/replace/test/testsuite.c
===
--- branches/SAMBA_3_0_25/source/lib/replace/test/testsuite.c   2007-05-04 
06:59:26 UTC (rev 22659)
+++ branches/SAMBA_3_0_25/source/lib/replace/test/testsuite.c   2007-05-04 
07:00:09 UTC (rev 22660)
@@ -511,7 +511,7 @@
   \tptr: %p - %p = %d != %d\n \
   ]\n, \
   __STRING(func), __location__, __STRING(func), \
-  str, diff, base, res, _v, _ep, _p, diff - (_ep - _p), 
diff); \
+  str, diff, base, res, _v, _ep, _p, (int)(diff - (_ep - 
_p)), diff); \
return false; \
} \
 } while (0)



svn commit: samba r22661 - in branches/SAMBA_4_0/source/lib/events: .

2007-05-04 Thread metze
Author: metze
Date: 2007-05-04 09:22:52 + (Fri, 04 May 2007)
New Revision: 22661

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=22661

Log:
optimize the handling of directly triggered timed events:

- if someone adds a timed_event with a zero timeval
  we now avoid serval gettimeofday() calls and the
  event handler doesn't get the current time when it's
  called, instead we also pass a zero timeval

- this also makes sure multiple timed events with a zero timeval
  are processed in the order there're added.

the little benchmark shows that processing 200 directly timed events
is now much faster, while avoiding syscalls at all!

 time ./evtest (with the old code)

real0m6.388s
user0m1.740s
sys 0m4.632s
 time ./evtest (with the new code)

real0m1.498s
user0m1.496s
sys 0m0.004s
[EMAIL PROTECTED]:~/devel/samba/4.0/samba4-ci/source cat evtest.c
#include stdio.h
#include stdint.h
#include sys/time.h
#include talloc.h
#include events.h

static void dummy_fde_handler(struct event_context *ev_ctx, struct fd_event 
*fde,
  uint16_t flags, void *private_data)
{
}

static void timeout_handler(struct event_context *ev, struct timed_event *te,
struct timeval tval, void *private_data)
{
uint32_t *countp = (uint32_t *)private_data;
(*countp)++;
if (*countp  200) exit(0);
event_add_timed(ev, ev, tval, timeout_handler, countp);
}

int main(void)
{
struct event_context *ev;
struct timeval tval =  { 0, 0 };
uint32_t count = 0;
ev = event_context_init(NULL);
event_add_fd(ev, ev, 0, 0, dummy_fde_handler, NULL);
event_add_timed(ev, ev, tval, timeout_handler, count);
return event_loop_wait(ev);
}
Modified:
   branches/SAMBA_4_0/source/lib/events/events_aio.c
   branches/SAMBA_4_0/source/lib/events/events_epoll.c
   branches/SAMBA_4_0/source/lib/events/events_internal.h
   branches/SAMBA_4_0/source/lib/events/events_select.c
   branches/SAMBA_4_0/source/lib/events/events_standard.c
   branches/SAMBA_4_0/source/lib/events/events_timed.c


Changeset:
Modified: branches/SAMBA_4_0/source/lib/events/events_aio.c
===
--- branches/SAMBA_4_0/source/lib/events/events_aio.c   2007-05-04 07:00:09 UTC 
(rev 22660)
+++ branches/SAMBA_4_0/source/lib/events/events_aio.c   2007-05-04 09:22:52 UTC 
(rev 22661)
@@ -250,7 +250,8 @@
}
 
if (ret == 0  tvalp) {
-   common_event_loop_timer(aio_ev-ev);
+   /* we don't care about a possible delay here */
+   common_event_loop_timer_delay(aio_ev-ev);
return 0;
}
 
@@ -431,10 +432,8 @@
   struct 
aio_event_context);
struct timeval tval;
 
-   tval = common_event_loop_delay(ev);
-
+   tval = common_event_loop_timer_delay(ev);
if (timeval_is_zero(tval)) {
-   common_event_loop_timer(ev);
return 0;
}
 

Modified: branches/SAMBA_4_0/source/lib/events/events_epoll.c
===
--- branches/SAMBA_4_0/source/lib/events/events_epoll.c 2007-05-04 07:00:09 UTC 
(rev 22660)
+++ branches/SAMBA_4_0/source/lib/events/events_epoll.c 2007-05-04 09:22:52 UTC 
(rev 22661)
@@ -233,7 +233,8 @@
}
 
if (ret == 0  tvalp) {
-   common_event_loop_timer(epoll_ev-ev);
+   /* we don't care about a possible delay here */
+   common_event_loop_timer_delay(epoll_ev-ev);
return 0;
}
 
@@ -376,10 +377,8 @@
   struct 
epoll_event_context);
struct timeval tval;
 
-   tval = common_event_loop_delay(ev);
-
+   tval = common_event_loop_timer_delay(ev);
if (timeval_is_zero(tval)) {
-   common_event_loop_timer(ev);
return 0;
}
 

Modified: branches/SAMBA_4_0/source/lib/events/events_internal.h
===
--- branches/SAMBA_4_0/source/lib/events/events_internal.h  2007-05-04 
07:00:09 UTC (rev 22660)
+++ branches/SAMBA_4_0/source/lib/events/events_internal.h  2007-05-04 
09:22:52 UTC (rev 22661)
@@ -117,8 +117,7 @@
 
 struct timed_event *common_event_add_timed(struct event_context *, TALLOC_CTX 
*,
   struct timeval, 
event_timed_handler_t, void *);
-void common_event_loop_timer(struct event_context *);
-struct timeval common_event_loop_delay(struct event_context *);
+struct timeval common_event_loop_timer_delay(struct event_context *);
 
 struct signal_event *common_event_add_signal(struct event_context *ev, 
 TALLOC_CTX *mem_ctx,

Modified: branches/SAMBA_4_0/source/lib/events/events_select.c

svn commit: samba r22662 - in branches/SAMBA_4_0/source/build/m4: .

2007-05-04 Thread metze
Author: metze
Date: 2007-05-04 09:35:01 + (Fri, 04 May 2007)
New Revision: 22662

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=22662

Log:
disable shared library support on Tru64

metze 
Modified:
   branches/SAMBA_4_0/source/build/m4/check_ld.m4


Changeset:
Modified: branches/SAMBA_4_0/source/build/m4/check_ld.m4
===
--- branches/SAMBA_4_0/source/build/m4/check_ld.m4  2007-05-04 09:22:52 UTC 
(rev 22661)
+++ branches/SAMBA_4_0/source/build/m4/check_ld.m4  2007-05-04 09:35:01 UTC 
(rev 22662)
@@ -135,7 +135,8 @@
fi
;;
*osf*)
-   BLDSHARED=true
+   # disabled because tru64 fails to link libtorture.so
+   BLDSHARED=false
SONAMEFLAG=-Wl,-soname,
PICFLAG=-fPIC
;;



svn commit: samba r22663 - in branches/SAMBA_3_0/source/libads: .

2007-05-04 Thread gd
Author: gd
Date: 2007-05-04 09:46:17 + (Fri, 04 May 2007)
New Revision: 22663

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=22663

Log:
Restructure kerberos_kinit_password_ext() error path.

Guenther

Modified:
   branches/SAMBA_3_0/source/libads/kerberos.c


Changeset:
Modified: branches/SAMBA_3_0/source/libads/kerberos.c
===
--- branches/SAMBA_3_0/source/libads/kerberos.c 2007-05-04 09:35:01 UTC (rev 
22662)
+++ branches/SAMBA_3_0/source/libads/kerberos.c 2007-05-04 09:46:17 UTC (rev 
22663)
@@ -73,14 +73,16 @@
krb5_context ctx = NULL;
krb5_error_code code = 0;
krb5_ccache cc = NULL;
-   krb5_principal me;
+   krb5_principal me = NULL;
krb5_creds my_creds;
krb5_get_init_creds_opt *opt = NULL;
smb_krb5_addresses *addr = NULL;
 
+   ZERO_STRUCT(my_creds);
+
initialize_krb5_error_table();
if ((code = krb5_init_context(ctx)))
-   return code;
+   goto out;
 
if (time_offset != 0) {
krb5_set_real_time(ctx, time(NULL) + time_offset, 0);
@@ -91,21 +93,15 @@
getenv(KRB5_CONFIG)));
 
if ((code = krb5_cc_resolve(ctx, cache_name ? cache_name : 
krb5_cc_default_name(ctx), cc))) {
-   krb5_free_context(ctx);
-   return code;
+   goto out;
}

if ((code = smb_krb5_parse_name(ctx, principal, me))) {
-   krb5_cc_close(ctx, cc);
-   krb5_free_context(ctx); 
-   return code;
+   goto out;
}
 
-   code = smb_krb5_get_init_creds_opt_alloc(ctx, opt);
-   if (code) {
-   krb5_cc_close(ctx, cc);
-   krb5_free_context(ctx); 
-   return code;
+   if ((code = smb_krb5_get_init_creds_opt_alloc(ctx, opt))) {
+   goto out;
}
 
krb5_get_init_creds_opt_set_renew_life(opt, renewable_time);
@@ -117,55 +113,29 @@
 
 #ifdef HAVE_KRB5_GET_INIT_CREDS_OPT_SET_PAC_REQUEST
if (request_pac) {
-   code = krb5_get_init_creds_opt_set_pac_request(ctx, opt, 
(krb5_boolean)request_pac);
-   if (code) {
-   krb5_cc_close(ctx, cc);
-   krb5_free_principal(ctx, me);
-   krb5_free_context(ctx);
-   return code;
+   if ((code = krb5_get_init_creds_opt_set_pac_request(ctx, opt, 
(krb5_boolean)request_pac))) {
+   goto out;
}
}
 #endif
if (add_netbios_addr) {
-   code = smb_krb5_gen_netbios_krb5_address(addr);
-   if (code) {
-   krb5_cc_close(ctx, cc);
-   krb5_free_principal(ctx, me);
-   krb5_free_context(ctx); 
-   return code;
+   if ((code = smb_krb5_gen_netbios_krb5_address(addr))) {
+   goto out;
}
krb5_get_init_creds_opt_set_address_list(opt, addr-addrs);
}
 
if ((code = krb5_get_init_creds_password(ctx, my_creds, me, 
CONST_DISCARD(char *,password), 
-kerb_prompter, NULL, 0, NULL, 
opt)))
-   {
-   smb_krb5_get_init_creds_opt_free(ctx, opt);
-   smb_krb5_free_addresses(ctx, addr);
-   krb5_cc_close(ctx, cc);
-   krb5_free_principal(ctx, me);
-   krb5_free_context(ctx);
-   return code;
+kerb_prompter, NULL, 0, NULL, 
opt))) {
+   goto out;
}
 
-   smb_krb5_get_init_creds_opt_free(ctx, opt);
-
if ((code = krb5_cc_initialize(ctx, cc, me))) {
-   smb_krb5_free_addresses(ctx, addr);
-   krb5_free_cred_contents(ctx, my_creds);
-   krb5_cc_close(ctx, cc);
-   krb5_free_principal(ctx, me);
-   krb5_free_context(ctx); 
-   return code;
+   goto out;
}

if ((code = krb5_cc_store_cred(ctx, cc, my_creds))) {
-   krb5_cc_close(ctx, cc);
-   smb_krb5_free_addresses(ctx, addr);
-   krb5_free_cred_contents(ctx, my_creds);
-   krb5_free_principal(ctx, me);
-   krb5_free_context(ctx); 
-   return code;
+   goto out;
}
 
if (expire_time) {
@@ -175,14 +145,24 @@
if (renew_till_time) {
*renew_till_time = (time_t) my_creds.times.renew_till;
}
-
-   krb5_cc_close(ctx, cc);
-   smb_krb5_free_addresses(ctx, addr);
+ out:
krb5_free_cred_contents(ctx, my_creds);
-   krb5_free_principal(ctx, me);
-   krb5_free_context(ctx); 
-   
-   return 0;
+   if (me) {
+   

svn commit: samba r22664 - in branches/SAMBA_3_0/source: . include libads libsmb

2007-05-04 Thread gd
Author: gd
Date: 2007-05-04 09:55:40 + (Fri, 04 May 2007)
New Revision: 22664

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=22664

Log:
When we have krb5_get_init_creds_opt_get_error() then try to get the NTSTATUS
codes directly out of the krb5_error edata.

Guenther

Modified:
   branches/SAMBA_3_0/source/configure.in
   branches/SAMBA_3_0/source/include/ads.h
   branches/SAMBA_3_0/source/libads/kerberos.c
   branches/SAMBA_3_0/source/libsmb/clikrb5.c


Changeset:
Modified: branches/SAMBA_3_0/source/configure.in
===
--- branches/SAMBA_3_0/source/configure.in  2007-05-04 09:46:17 UTC (rev 
22663)
+++ branches/SAMBA_3_0/source/configure.in  2007-05-04 09:55:40 UTC (rev 
22664)
@@ -3658,6 +3658,7 @@
   AC_CHECK_FUNC_EXT(initialize_krb5_error_table, $KRB5_LIBS)
   AC_CHECK_FUNC_EXT(krb5_get_init_creds_opt_alloc, $KRB5_LIBS)
   AC_CHECK_FUNC_EXT(krb5_get_init_creds_opt_free, $KRB5_LIBS)
+  AC_CHECK_FUNC_EXT(krb5_get_init_creds_opt_get_error, $KRB5_LIBS)
   AC_CHECK_FUNC_EXT(krb5_enctype_to_string, $KRB5_LIBS)
 
   LIBS=$KRB5_LIBS $LIBS

Modified: branches/SAMBA_3_0/source/include/ads.h
===
--- branches/SAMBA_3_0/source/include/ads.h 2007-05-04 09:46:17 UTC (rev 
22663)
+++ branches/SAMBA_3_0/source/include/ads.h 2007-05-04 09:55:40 UTC (rev 
22664)
@@ -298,6 +298,12 @@
 
 #ifdef HAVE_KRB5
 typedef struct {
+   NTSTATUS ntstatus;
+   uint32 unknown1;
+   uint32 unknown2; /* 0x0001 */
+} KRB5_EDATA_NTSTATUS;
+
+typedef struct {
 #if defined(HAVE_MAGIC_IN_KRB5_ADDRESS)  
defined(HAVE_ADDRTYPE_IN_KRB5_ADDRESS) /* MIT */
krb5_address **addrs;
 #elif defined(HAVE_KRB5_ADDRESSES) /* Heimdal */

Modified: branches/SAMBA_3_0/source/libads/kerberos.c
===
--- branches/SAMBA_3_0/source/libads/kerberos.c 2007-05-04 09:46:17 UTC (rev 
22663)
+++ branches/SAMBA_3_0/source/libads/kerberos.c 2007-05-04 09:55:40 UTC (rev 
22664)
@@ -55,6 +55,127 @@
return 0;
 }
 
+static BOOL smb_krb5_err_io_nstatus(TALLOC_CTX *mem_ctx, 
+   DATA_BLOB *edata_blob, 
+   KRB5_EDATA_NTSTATUS *edata)
+{
+   BOOL ret = False;
+   prs_struct ps;
+
+   if (!mem_ctx || !edata_blob || !edata) 
+   return False;
+
+   if (!prs_init(ps, edata_blob-length, mem_ctx, UNMARSHALL))
+   return False;
+
+   if (!prs_copy_data_in(ps, (char *)edata_blob-data, 
edata_blob-length))
+   goto out;
+
+   prs_set_offset(ps, 0);
+
+   if (!prs_ntstatus(ntstatus, ps, 1, edata-ntstatus))
+   goto out;
+
+   if (!prs_uint32(unknown1, ps, 1, edata-unknown1))
+   goto out;
+
+   if (!prs_uint32(unknown2, ps, 1, edata-unknown2)) /* only seen 
0001 here */
+   goto out;
+
+   ret = True;
+ out:
+   prs_mem_free(ps);
+
+   return ret;
+}
+
+ static BOOL smb_krb5_get_ntstatus_from_krb5_error(krb5_error *error,
+  NTSTATUS *nt_status)
+{
+   DATA_BLOB edata;
+   DATA_BLOB unwrapped_edata;
+   TALLOC_CTX *mem_ctx;
+   KRB5_EDATA_NTSTATUS parsed_edata;
+
+#ifdef HAVE_E_DATA_POINTER_IN_KRB5_ERROR
+   edata = data_blob(error-e_data-data, error-e_data-length);
+#else
+   edata = data_blob(error-e_data.data, error-e_data.length);
+#endif /* HAVE_E_DATA_POINTER_IN_KRB5_ERROR */
+
+#ifdef DEVELOPER
+   dump_data(10, edata.data, edata.length);
+#endif /* DEVELOPER */
+
+   mem_ctx = talloc_init(smb_krb5_get_ntstatus_from_krb5_error);
+   if (mem_ctx == NULL) {
+   data_blob_free(edata);
+   return False;
+   }
+
+   if (!unwrap_edata_ntstatus(mem_ctx, edata, unwrapped_edata)) {
+   data_blob_free(edata);
+   TALLOC_FREE(mem_ctx);
+   return False;
+   }
+
+   data_blob_free(edata);
+
+   if (!smb_krb5_err_io_nstatus(mem_ctx, unwrapped_edata, parsed_edata)) 
{
+   data_blob_free(unwrapped_edata);
+   TALLOC_FREE(mem_ctx);
+   return False;
+   }
+
+   data_blob_free(unwrapped_edata);
+
+   if (nt_status) {
+   *nt_status = parsed_edata.ntstatus;
+   }
+
+   TALLOC_FREE(mem_ctx);
+
+   return True;
+}
+
+ static BOOL smb_krb5_get_ntstatus_from_krb5_error_init_creds_opt(krb5_context 
ctx, 
+ 
krb5_get_init_creds_opt *opt, 
+ NTSTATUS 
*nt_status)
+{
+   BOOL ret = False;
+   krb5_error *error = NULL;
+
+#ifdef HAVE_KRB5_GET_INIT_CREDS_OPT_GET_ERROR
+   ret = krb5_get_init_creds_opt_get_error(ctx, opt, error);
+   if (ret) {
+   

Rev 12088: Change version back to 0.9. in file:///home/jelmer/bzr.samba/SAMBA_4_0/

2007-05-04 Thread Jelmer Vernooij
At file:///home/jelmer/bzr.samba/SAMBA_4_0/


revno: 12088
revision-id: [EMAIL PROTECTED]
parent: svn-v2:[EMAIL PROTECTED]
committer: Jelmer Vernooij [EMAIL PROTECTED]
branch nick: SAMBA_4_0
timestamp: Fri 2007-05-04 13:02:19 +0200
message:
  Change version back to 0.9.
modified:
  source/lib/ldb/configure.acsvn-v2:[EMAIL PROTECTED]
=== modified file 'source/lib/ldb/configure.ac'
--- a/source/lib/ldb/configure.ac   2007-04-30 08:08:36 +
+++ b/source/lib/ldb/configure.ac   2007-05-04 11:02:19 +
@@ -11,7 +11,7 @@
 AC_DEFUN([SMB_LIBRARY_ENABLE], [echo -n ])
 AC_DEFUN([SMB_EXT_LIB], [echo -n ])
 AC_DEFUN([SMB_ENABLE], [echo -n ])
-AC_INIT(ldb, 1.0)
+AC_INIT(ldb, 0.9.0)
 AC_CONFIG_SRCDIR([common/ldb.c])
 
 AC_LIBREPLACE_ALL_CHECKS
@@ -48,7 +48,9 @@
 EXTRA_OBJ=
 
 m4_include(libpopt.m4)
+PKG_CHECK_MODULES(TALLOC, talloc = 1.0)
 m4_include(libtalloc.m4)
+PKG_CHECK_MODULES(TDB, tdb = 1.1.0)
 m4_include(libtdb.m4)
 
 m4_include(ldap.m4)



svn commit: samba r22665 - in branches/SAMBA_4_0: . source/lib/ldb

2007-05-04 Thread jelmer
Author: jelmer
Date: 2007-05-04 10:02:47 + (Fri, 04 May 2007)
New Revision: 22665

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=22665

Log:
Change version back to 0.9.
Modified:
   branches/SAMBA_4_0/
   branches/SAMBA_4_0/source/lib/ldb/configure.ac


Changeset:

Property changes on: branches/SAMBA_4_0
___
Name: bzr:merge
...skipped...

Modified: branches/SAMBA_4_0/source/lib/ldb/configure.ac
===
--- branches/SAMBA_4_0/source/lib/ldb/configure.ac  2007-05-04 09:55:40 UTC 
(rev 22664)
+++ branches/SAMBA_4_0/source/lib/ldb/configure.ac  2007-05-04 10:02:47 UTC 
(rev 22665)
@@ -11,7 +11,7 @@
 AC_DEFUN([SMB_LIBRARY_ENABLE], [echo -n ])
 AC_DEFUN([SMB_EXT_LIB], [echo -n ])
 AC_DEFUN([SMB_ENABLE], [echo -n ])
-AC_INIT(ldb, 1.0)
+AC_INIT(ldb, 0.9.0)
 AC_CONFIG_SRCDIR([common/ldb.c])
 
 AC_LIBREPLACE_ALL_CHECKS
@@ -48,7 +48,9 @@
 EXTRA_OBJ=
 
 m4_include(libpopt.m4)
+PKG_CHECK_MODULES(TALLOC, talloc = 1.0)
 m4_include(libtalloc.m4)
+PKG_CHECK_MODULES(TDB, tdb = 1.1.0)
 m4_include(libtdb.m4)
 
 m4_include(ldap.m4)



svn commit: samba r22666 - in branches/SAMBA_3_0/source: libads nsswitch

2007-05-04 Thread gd
Author: gd
Date: 2007-05-04 10:21:39 + (Fri, 04 May 2007)
New Revision: 22666

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=22666

Log:
Expand kerberos_kinit_password_ext() to return NTSTATUS codes and make
winbindd's kerberized pam_auth use that.

Guenther

Modified:
   branches/SAMBA_3_0/source/libads/kerberos.c
   branches/SAMBA_3_0/source/nsswitch/winbindd_cred_cache.c
   branches/SAMBA_3_0/source/nsswitch/winbindd_pam.c


Changeset:
Modified: branches/SAMBA_3_0/source/libads/kerberos.c
===
--- branches/SAMBA_3_0/source/libads/kerberos.c 2007-05-04 10:02:47 UTC (rev 
22665)
+++ branches/SAMBA_3_0/source/libads/kerberos.c 2007-05-04 10:21:39 UTC (rev 
22666)
@@ -189,7 +189,8 @@
const char *cache_name,
BOOL request_pac,
BOOL add_netbios_addr,
-   time_t renewable_time)
+   time_t renewable_time,
+   NTSTATUS *ntstatus)
 {
krb5_context ctx = NULL;
krb5_error_code code = 0;
@@ -267,6 +268,29 @@
*renew_till_time = (time_t) my_creds.times.renew_till;
}
  out:
+   if (ntstatus) {
+
+   NTSTATUS status;
+
+   /* fast path */
+   if (code == 0) {
+   *ntstatus = NT_STATUS_OK;
+   goto cleanup;
+   }
+
+   /* try to get ntstatus code out of krb5_error when we have it
+* inside the krb5_get_init_creds_opt - gd */
+
+   if (opt  
smb_krb5_get_ntstatus_from_krb5_error_init_creds_opt(ctx, opt, status)) {
+   *ntstatus = status;
+   goto cleanup;
+   }
+
+   /* fall back to self-made-mapping */
+   *ntstatus = krb5_to_nt_status(code);
+   }
+
+ cleanup:
krb5_free_cred_contents(ctx, my_creds);
if (me) {
krb5_free_principal(ctx, me);
@@ -321,7 +345,8 @@
}

ret = kerberos_kinit_password_ext(s, ads-auth.password, 
ads-auth.time_offset,
-   ads-auth.tgt_expire, NULL, NULL, False, False, 
ads-auth.renewable);
+   ads-auth.tgt_expire, NULL, NULL, False, False, 
ads-auth.renewable, 
+   NULL);
 
if (ret) {
DEBUG(0,(kerberos_kinit_password %s failed: %s\n, 
@@ -580,7 +605,8 @@
   cache_name,
   False,
   False,
-  0);
+  0,
+  NULL);
 }
 
 /

Modified: branches/SAMBA_3_0/source/nsswitch/winbindd_cred_cache.c
===
--- branches/SAMBA_3_0/source/nsswitch/winbindd_cred_cache.c2007-05-04 
10:02:47 UTC (rev 22665)
+++ branches/SAMBA_3_0/source/nsswitch/winbindd_cred_cache.c2007-05-04 
10:21:39 UTC (rev 22666)
@@ -111,7 +111,8 @@
  entry-ccname,
  False, /* no PAC required 
anymore */
  True,
- 
WINBINDD_PAM_AUTH_KRB5_RENEW_TIME);
+ 
WINBINDD_PAM_AUTH_KRB5_RENEW_TIME,
+ NULL);
gain_root_privilege();
 
if (ret) {
@@ -224,7 +225,8 @@
entry-ccname,
False, /* no PAC required 
anymore */
True,
-   
WINBINDD_PAM_AUTH_KRB5_RENEW_TIME);
+   
WINBINDD_PAM_AUTH_KRB5_RENEW_TIME,
+   NULL);
gain_root_privilege();
 
if (ret) {

Modified: branches/SAMBA_3_0/source/nsswitch/winbindd_pam.c
===
--- branches/SAMBA_3_0/source/nsswitch/winbindd_pam.c   2007-05-04 10:02:47 UTC 
(rev 22665)
+++ branches/SAMBA_3_0/source/nsswitch/winbindd_pam.c   2007-05-04 10:21:39 UTC 
(rev 22666)
@@ -564,12 +564,12 @@
   cc, 
   True,
   True,
-  
WINBINDD_PAM_AUTH_KRB5_RENEW_TIME);
+  
WINBINDD_PAM_AUTH_KRB5_RENEW_TIME,
+

svn commit: samba r22667 - in branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba4: .

2007-05-04 Thread metze
Author: metze
Date: 2007-05-04 10:44:41 + (Fri, 04 May 2007)
New Revision: 22667

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=22667

Log:
revert revision 22640 as it breaks nested structs in idl

metze
Modified:
   branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba4/Header.pm


Changeset:
Modified: branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba4/Header.pm
===
--- branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba4/Header.pm  
2007-05-04 10:21:39 UTC (rev 22666)
+++ branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba4/Header.pm  
2007-05-04 10:44:41 UTC (rev 22667)
@@ -43,7 +43,7 @@
}
 
if ($ret) {
-   pidl  /* [ . substr($ret, 0, -1) . ] */;
+   pidl /* [ . substr($ret, 0, -1) . ] */;
}
 }
 
@@ -108,12 +108,10 @@
pidl tabs().char _empty_;\n;
 }
 $tab_depth--;
-
-pidl };;
+pidl tabs().};
if (defined $struct-{PROPERTIES}) {
HeaderProperties($struct-{PROPERTIES}, []);
}
-pidl \n\n;
 }
 
 #
@@ -134,10 +132,10 @@
}
pidl \n;
$tab_depth--;
-   pidl };\n;
+   pidl }\n;
pidl #else\n;
my $count = 0;
-   pidl enum $name { __donnot_use_enum_$name=0x7FFF};\n;
+   pidl enum $name { __donnot_use_enum_$name=0x7FFF}\n;
my $with_val = 0;
my $without_val = 0;
foreach my $e (@{$enum-{ELEMENTS}}) {
@@ -193,12 +191,11 @@
}
}
$tab_depth--;
+   pidl };
 
-   pidl };;
if (defined $union-{PROPERTIES}) {
HeaderProperties($union-{PROPERTIES}, []);
}
-   pidl \n\n;
 }
 
 #
@@ -300,7 +297,7 @@
HeaderFunctionInOut($fn, in);
HeaderFunctionInOut($fn, inout);
$tab_depth--;
-   pidl tabs().} in;\n;
+   pidl tabs().} in;\n\n;
$needed++;
 }
 
@@ -314,7 +311,7 @@
pidl tabs().mapTypeName($fn-{RETURN_TYPE}) .  result;\n;
}
$tab_depth--;
-   pidl tabs().} out;\n;
+   pidl tabs().} out;\n\n;
$needed++;
 }
 
@@ -365,6 +362,11 @@
HeaderUnion($d, $d-{NAME}) if ($d-{TYPE} eq UNION);
HeaderEnum($d, $d-{NAME}) if ($d-{TYPE} eq ENUM);
HeaderBitmap($d, $d-{NAME}) if ($d-{TYPE} eq BITMAP);
+   pidl ;\n\n if ($d-{TYPE} eq BITMAP or 
+$d-{TYPE} eq STRUCT or 
+$d-{TYPE} eq TYPEDEF or 
+$d-{TYPE} eq UNION or 
+$d-{TYPE} eq ENUM);
}
 
foreach my $d (@{$interface-{DATA}}) {



Rev 12090: Fix ldb build in file:///home/jelmer/bzr.samba/SAMBA_4_0/

2007-05-04 Thread Jelmer Vernooij
At file:///home/jelmer/bzr.samba/SAMBA_4_0/


revno: 12090
revision-id: [EMAIL PROTECTED]
parent: svn-v2:[EMAIL PROTECTED]
committer: Jelmer Vernooij [EMAIL PROTECTED]
branch nick: SAMBA_4_0
timestamp: Fri 2007-05-04 13:08:32 +0200
message:
  Fix ldb build
modified:
  source/lib/ldb/configure.acsvn-v2:[EMAIL PROTECTED]
=== modified file 'source/lib/ldb/configure.ac'
--- a/source/lib/ldb/configure.ac   2007-05-04 10:02:47 +
+++ b/source/lib/ldb/configure.ac   2007-05-04 11:08:32 +
@@ -48,9 +48,7 @@
 EXTRA_OBJ=
 
 m4_include(libpopt.m4)
-PKG_CHECK_MODULES(TALLOC, talloc = 1.0)
 m4_include(libtalloc.m4)
-PKG_CHECK_MODULES(TDB, tdb = 1.1.0)
 m4_include(libtdb.m4)
 
 m4_include(ldap.m4)



svn commit: samba r22668 - in branches/SAMBA_4_0: . source/lib/ldb

2007-05-04 Thread jelmer
Author: jelmer
Date: 2007-05-04 11:08:53 + (Fri, 04 May 2007)
New Revision: 22668

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=22668

Log:
Fix ldb build
Modified:
   branches/SAMBA_4_0/
   branches/SAMBA_4_0/source/lib/ldb/configure.ac


Changeset:

Property changes on: branches/SAMBA_4_0
___
Name: bzr:merge
...skipped...

Modified: branches/SAMBA_4_0/source/lib/ldb/configure.ac
===
--- branches/SAMBA_4_0/source/lib/ldb/configure.ac  2007-05-04 10:44:41 UTC 
(rev 22667)
+++ branches/SAMBA_4_0/source/lib/ldb/configure.ac  2007-05-04 11:08:53 UTC 
(rev 22668)
@@ -48,9 +48,7 @@
 EXTRA_OBJ=
 
 m4_include(libpopt.m4)
-PKG_CHECK_MODULES(TALLOC, talloc = 1.0)
 m4_include(libtalloc.m4)
-PKG_CHECK_MODULES(TDB, tdb = 1.1.0)
 m4_include(libtdb.m4)
 
 m4_include(ldap.m4)



svn commit: samba r22669 - in branches/SAMBA_4_0/source/libnet: .

2007-05-04 Thread metze
Author: metze
Date: 2007-05-04 11:26:25 + (Fri, 04 May 2007)
New Revision: 22669

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=22669

Log:
fix uninitialized element which was causing a crash with 'net password set'

metze
Modified:
   branches/SAMBA_4_0/source/libnet/libnet_passwd.c


Changeset:
Modified: branches/SAMBA_4_0/source/libnet/libnet_passwd.c
===
--- branches/SAMBA_4_0/source/libnet/libnet_passwd.c2007-05-04 11:08:53 UTC 
(rev 22668)
+++ branches/SAMBA_4_0/source/libnet/libnet_passwd.c2007-05-04 11:26:25 UTC 
(rev 22669)
@@ -644,6 +644,7 @@
r2.samr_handle.in.newpassword   = r-samr.in.newpassword;
r2.samr_handle.in.user_handle   = u_handle;
r2.samr_handle.in.dcerpc_pipe   = c.out.dcerpc_pipe;
+   r2.samr_handle.in.info21= NULL;
 
status = libnet_SetPassword(ctx, mem_ctx, r2);
 



Rev 250: added seqnum propogation code to ctdb in http://samba.org/~tridge/ctdb

2007-05-04 Thread tridge

revno: 250
revision-id: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
committer: Andrew Tridgell [EMAIL PROTECTED]
branch nick: tridge
timestamp: Fri 2007-05-04 22:18:00 +1000
message:
  added seqnum propogation code to ctdb
modified:
  common/ctdb.c  ctdb.c-20061127094323-t50f58d65iaao5of-2
  common/ctdb_control.c  
ctdb_control.c-20070426122724-j6gkpiofhbwdin63-1
  common/ctdb_ltdb.c ctdb_ltdb.c-20061128065342-to93h6eejj5kon81-2
  include/ctdb_private.h 
ctdb_private.h-20061117234101-o3qt14umlg9en8z0-13
  lib/tdb/common/tdb.c   tdb.c-20070220022425-m1wibgjq7n5hahs6-9
  lib/tdb/include/tdb.h  tdb.h-20070125040949-7t3f5zdl1q4z9hyv-101

Diff too large for email (236, the limit is 200).


svn commit: samba r22670 - in branches/SAMBA_4_0/source/torture/raw: .

2007-05-04 Thread tridge
Author: tridge
Date: 2007-05-04 12:41:28 + (Fri, 04 May 2007)
New Revision: 22670

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=22670

Log:

changed the RAW-NOTIFY test to support clustered testing (two nodes)

Modified:
   branches/SAMBA_4_0/source/torture/raw/notify.c


Changeset:
Modified: branches/SAMBA_4_0/source/torture/raw/notify.c
===
--- branches/SAMBA_4_0/source/torture/raw/notify.c  2007-05-04 11:26:25 UTC 
(rev 22669)
+++ branches/SAMBA_4_0/source/torture/raw/notify.c  2007-05-04 12:41:28 UTC 
(rev 22670)
@@ -55,7 +55,8 @@
 /* 
basic testing of change notify on directories
 */
-static BOOL test_notify_dir(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
+static BOOL test_notify_dir(struct smbcli_state *cli, struct smbcli_state 
*cli2, 
+   TALLOC_CTX *mem_ctx)
 {
BOOL ret = True;
NTSTATUS status;
@@ -110,7 +111,7 @@
printf(testing notify mkdir\n);
 
req = smb_raw_changenotify_send(cli-tree, notify);
-   smbcli_mkdir(cli-tree, BASEDIR \\subdir-name);
+   smbcli_mkdir(cli2-tree, BASEDIR \\subdir-name);
 
status = smb_raw_changenotify_recv(req, mem_ctx, notify);
CHECK_STATUS(status, NT_STATUS_OK);
@@ -122,7 +123,7 @@
printf(testing notify rmdir\n);
 
req = smb_raw_changenotify_send(cli-tree, notify);
-   smbcli_rmdir(cli-tree, BASEDIR \\subdir-name);
+   smbcli_rmdir(cli2-tree, BASEDIR \\subdir-name);
 
status = smb_raw_changenotify_recv(req, mem_ctx, notify);
CHECK_STATUS(status, NT_STATUS_OK);
@@ -132,10 +133,10 @@
 
printf(testing notify mkdir - rmdir - mkdir - rmdir\n);
 
-   smbcli_mkdir(cli-tree, BASEDIR \\subdir-name);
-   smbcli_rmdir(cli-tree, BASEDIR \\subdir-name);
-   smbcli_mkdir(cli-tree, BASEDIR \\subdir-name);
-   smbcli_rmdir(cli-tree, BASEDIR \\subdir-name);
+   smbcli_mkdir(cli2-tree, BASEDIR \\subdir-name);
+   smbcli_rmdir(cli2-tree, BASEDIR \\subdir-name);
+   smbcli_mkdir(cli2-tree, BASEDIR \\subdir-name);
+   smbcli_rmdir(cli2-tree, BASEDIR \\subdir-name);
req = smb_raw_changenotify_send(cli-tree, notify);
status = smb_raw_changenotify_recv(req, mem_ctx, notify);
CHECK_STATUS(status, NT_STATUS_OK);
@@ -174,11 +175,14 @@
notify.nttrans.in.file.fnum = fnum;
req = smb_raw_changenotify_send(cli-tree, notify);
 
+   status = smbcli_unlink(cli-tree, BASEDIR \\nonexistant.txt);
+   CHECK_STATUS(status, NT_STATUS_OBJECT_NAME_NOT_FOUND);
+
/* (1st unlink) as the 2nd notify directly returns,
   this unlink is only seen by the 1st notify and 
   the 3rd notify (later) */
printf(testing notify on unlink for the first file\n);
-   status = smbcli_unlink(cli-tree, BASEDIR \\test0.txt);
+   status = smbcli_unlink(cli2-tree, BASEDIR \\test0.txt);
CHECK_STATUS(status, NT_STATUS_OK);
 
/* receive the reply from the 2nd notify */
@@ -186,24 +190,27 @@
CHECK_STATUS(status, NT_STATUS_OK);
 
CHECK_VAL(notify.nttrans.out.num_changes, count);
-   for (i=1;inotify.nttrans.out.num_changes;i++) {
+   for (i=1;icount;i++) {
CHECK_VAL(notify.nttrans.out.changes[i].action, 
NOTIFY_ACTION_ADDED);
}
CHECK_WSTR(notify.nttrans.out.changes[0].name, test0.txt, 
STR_UNICODE);
 
-   /* and now from the 1st notify */
+   printf(and now from the 1st notify\n);
status = smb_raw_changenotify_recv(req2, mem_ctx, notify);
CHECK_STATUS(status, NT_STATUS_OK);
CHECK_VAL(notify.nttrans.out.num_changes, 1);
CHECK_VAL(notify.nttrans.out.changes[0].action, NOTIFY_ACTION_REMOVED);
CHECK_WSTR(notify.nttrans.out.changes[0].name, test0.txt, 
STR_UNICODE);
 
-   /* (3rd notify) this notify will only see the 1st unlink */
+   printf((3rd notify) this notify will only see the 1st unlink\n);
req = smb_raw_changenotify_send(cli-tree, notify);
 
+   status = smbcli_unlink(cli-tree, BASEDIR \\nonexistant.txt);
+   CHECK_STATUS(status, NT_STATUS_OBJECT_NAME_NOT_FOUND);
+
printf(testing notify on wildcard unlink for %d files\n, count-1);
/* (2nd unlink) do a wildcard unlink */
-   status = smbcli_unlink(cli-tree, BASEDIR \\test*.txt);
+   status = smbcli_unlink(cli2-tree, BASEDIR \\test*.txt);
CHECK_STATUS(status, NT_STATUS_OK);
 
/* receive the 3rd notify */
@@ -1149,13 +1156,16 @@
 */
 BOOL torture_raw_notify(struct torture_context *torture)
 {
-   struct smbcli_state *cli;
+   struct smbcli_state *cli, *cli2;
BOOL ret = True;
TALLOC_CTX *mem_ctx;

if (!torture_open_connection(cli, 0)) {
return False;
}
+   if (!torture_open_connection(cli2, 0)) {
+   return False;
+   }
 
mem_ctx = 

svn commit: samba r22671 - in branches/SAMBA_3_0_RELEASE/source/lib/replace: . test

2007-05-04 Thread jerry
Author: jerry
Date: 2007-05-04 18:18:53 + (Fri, 04 May 2007)
New Revision: 22671

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=22671

Log:
merge metze's change in svn r22660
Modified:
   branches/SAMBA_3_0_RELEASE/source/lib/replace/autoconf-2.60.m4
   branches/SAMBA_3_0_RELEASE/source/lib/replace/test/testsuite.c


Changeset:
Modified: branches/SAMBA_3_0_RELEASE/source/lib/replace/autoconf-2.60.m4
===
--- branches/SAMBA_3_0_RELEASE/source/lib/replace/autoconf-2.60.m4  
2007-05-04 12:41:28 UTC (rev 22670)
+++ branches/SAMBA_3_0_RELEASE/source/lib/replace/autoconf-2.60.m4  
2007-05-04 18:18:53 UTC (rev 22671)
@@ -1,3 +1,16 @@
+# AC_GNU_SOURCE
+# --
+AC_DEFUN([AC_GNU_SOURCE],
+[AH_VERBATIM([_GNU_SOURCE],
+[/* Enable GNU extensions on systems that have them.  */
+#ifndef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif])dnl
+AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl
+AC_BEFORE([$0], [AC_RUN_IFELSE])dnl
+AC_DEFINE([_GNU_SOURCE])
+])
+
 # _AC_C_STD_TRY(STANDARD, TEST-PROLOGUE, TEST-BODY, OPTION-LIST,
 #  ACTION-IF-AVAILABLE, ACTION-IF-UNAVAILABLE)
 # --

Modified: branches/SAMBA_3_0_RELEASE/source/lib/replace/test/testsuite.c
===
--- branches/SAMBA_3_0_RELEASE/source/lib/replace/test/testsuite.c  
2007-05-04 12:41:28 UTC (rev 22670)
+++ branches/SAMBA_3_0_RELEASE/source/lib/replace/test/testsuite.c  
2007-05-04 18:18:53 UTC (rev 22671)
@@ -511,7 +511,7 @@
   \tptr: %p - %p = %d != %d\n \
   ]\n, \
   __STRING(func), __location__, __STRING(func), \
-  str, diff, base, res, _v, _ep, _p, diff - (_ep - _p), 
diff); \
+  str, diff, base, res, _v, _ep, _p, (int)(diff - (_ep - 
_p)), diff); \
return false; \
} \
 } while (0)



Re: svn commit: samba r22660 - in branches/SAMBA_3_0_25/source/lib/replace: . test

2007-05-04 Thread Gerald (Jerry) Carter
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

[EMAIL PROTECTED] wrote:
 Author: metze
 Date: 2007-05-04 07:00:09 + (Fri, 04 May 2007)
 New Revision: 22660
 
 WebSVN: 
 http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=22660
 
 Log:
 merge from SAMBA_4_0:
 - add AC_GNU_SOURCE macro for systems which don't have it
   (sles8)
 - fix compiler warning on some systems
 
 jerry: this should be in 3.0.25

Got it.
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.3 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGO3kqIR7qMdg1EfYRAhcIAKDIJrrAfB/2pYAheXi3/owDMF6klQCgt6Po
nP3i/tdgNlldTiReWp4viOk=
=0pP3
-END PGP SIGNATURE-


svn commit: samba r22672 - in branches/SAMBA_4_0/source/libnet: .

2007-05-04 Thread mimir
Author: mimir
Date: 2007-05-04 18:59:51 + (Fri, 04 May 2007)
New Revision: 22672

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=22672

Log:
use composite_create calls instead of talloc_zero.


rafal


Modified:
   branches/SAMBA_4_0/source/libnet/libnet_rpc.c


Changeset:
Modified: branches/SAMBA_4_0/source/libnet/libnet_rpc.c
===
--- branches/SAMBA_4_0/source/libnet/libnet_rpc.c   2007-05-04 18:18:53 UTC 
(rev 22671)
+++ branches/SAMBA_4_0/source/libnet/libnet_rpc.c   2007-05-04 18:59:51 UTC 
(rev 22672)
@@ -57,15 +57,13 @@
struct composite_context *pipe_connect_req;
 
/* composite context allocation and setup */
-   c = talloc_zero(mem_ctx, struct composite_context);
-   if (c == NULL) return NULL;
+   c = composite_create(ctx, ctx-event_ctx);
+   if (c == NULL) return c;
 
s = talloc_zero(c, struct rpc_connect_srv_state);
if (composite_nomem(s, c)) return c;
 
-   c-state = COMPOSITE_STATE_IN_PROGRESS;
c-private_data = s;
-   c-event_ctx = ctx-event_ctx;
 
s-ctx = ctx;
s-r = *r;
@@ -218,15 +216,13 @@
struct composite_context *lookup_dc_req;
 
/* composite context allocation and setup */
-   c = talloc_zero(mem_ctx, struct composite_context);
-   if (c == NULL) return NULL;
+   c = composite_create(ctx, ctx-event_ctx);
+   if (c == NULL) return c;
 
s = talloc_zero(c, struct rpc_connect_dc_state);
if (composite_nomem(s, c)) return c;
 
-   c-state = COMPOSITE_STATE_IN_PROGRESS;
c-private_data = s;
-   c-event_ctx = ctx-event_ctx;
 
s-ctx = ctx;
s-r   = *r;
@@ -433,15 +429,13 @@
struct rpc_connect_dci_state *s;
 
/* composite context allocation and setup */
-   c = talloc_zero(mem_ctx, struct composite_context);
-   if (c == NULL) return NULL;
+   c = composite_create(ctx, ctx-event_ctx);
+   if (c == NULL) return c;
 
s = talloc_zero(c, struct rpc_connect_dci_state);
if (composite_nomem(s, c)) return c;
 
-   c-state = COMPOSITE_STATE_IN_PROGRESS;
c-private_data = s;
-   c-event_ctx = ctx-event_ctx;
 
s-ctx = ctx;
s-r   = *r;



svn commit: samba r22673 - in branches: SAMBA_3_0/source/rpc_parse SAMBA_3_0_25/source/rpc_parse SAMBA_3_0_26/source/rpc_parse

2007-05-04 Thread jra
Author: jra
Date: 2007-05-04 19:14:51 + (Fri, 04 May 2007)
New Revision: 22673

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=22673

Log:
Fix for Jerry's reversion. We still need to check size
before talloc.
Jeremy.

Modified:
   branches/SAMBA_3_0/source/rpc_parse/parse_samr.c
   branches/SAMBA_3_0_25/source/rpc_parse/parse_samr.c
   branches/SAMBA_3_0_26/source/rpc_parse/parse_samr.c


Changeset:
Modified: branches/SAMBA_3_0/source/rpc_parse/parse_samr.c
===
--- branches/SAMBA_3_0/source/rpc_parse/parse_samr.c2007-05-04 18:59:51 UTC 
(rev 22672)
+++ branches/SAMBA_3_0/source/rpc_parse/parse_samr.c2007-05-04 19:14:51 UTC 
(rev 22673)
@@ -4838,9 +4838,14 @@
if(!prs_uint32(num_sids1, ps, depth, r_u-num_sids1))
return False;
 
-   ptr_sid = TALLOC_ARRAY(ps-mem_ctx, uint32, r_u-num_sids1);
-   if (!ptr_sid) {
-   return False;
+   /* We must always use talloc here even when marshalling. */
+   if (r_u-num_sids1) {
+   ptr_sid = TALLOC_ARRAY(ps-mem_ctx, uint32, 
r_u-num_sids1);
+   if (!ptr_sid) {
+   return False;
+   }
+   } else {
+   ptr_sid = NULL;
}

for (i = 0; i  r_u-num_sids1; i++) {
@@ -4850,7 +4855,14 @@
}

if (UNMARSHALLING(ps)) {
-   r_u-sid = TALLOC_ARRAY(ps-mem_ctx, DOM_SID2, 
r_u-num_sids1);
+   if (r_u-num_sids1) {
+   r_u-sid = TALLOC_ARRAY(ps-mem_ctx, DOM_SID2, 
r_u-num_sids1);
+   if (!r_u-sid) {
+   return False;
+   }
+   } else {
+   r_u-sid = NULL;
+   }
}

for (i = 0; i  r_u-num_sids1; i++) {

Modified: branches/SAMBA_3_0_25/source/rpc_parse/parse_samr.c
===
--- branches/SAMBA_3_0_25/source/rpc_parse/parse_samr.c 2007-05-04 18:59:51 UTC 
(rev 22672)
+++ branches/SAMBA_3_0_25/source/rpc_parse/parse_samr.c 2007-05-04 19:14:51 UTC 
(rev 22673)
@@ -4768,9 +4768,14 @@
if(!prs_uint32(num_sids1, ps, depth, r_u-num_sids1))
return False;
 
-   ptr_sid = TALLOC_ARRAY(ps-mem_ctx, uint32, r_u-num_sids1);
-   if (!ptr_sid) {
-   return False;
+   /* We must always use talloc here even when marshalling. */
+   if (r_u-num_sids1) {
+   ptr_sid = TALLOC_ARRAY(ps-mem_ctx, uint32, 
r_u-num_sids1);
+   if (!ptr_sid) {
+   return False;
+   }
+   } else {
+   ptr_sid = NULL;
}

for (i = 0; i  r_u-num_sids1; i++) {
@@ -4780,7 +4785,14 @@
}

if (UNMARSHALLING(ps)) {
-   r_u-sid = TALLOC_ARRAY(ps-mem_ctx, DOM_SID2, 
r_u-num_sids1);
+   if (r_u-num_sids1) {
+   r_u-sid = TALLOC_ARRAY(ps-mem_ctx, DOM_SID2, 
r_u-num_sids1);
+   if (!r_u-sid) {
+   return False;
+   }
+   } else {
+   r_u-sid = NULL;
+   }
}

for (i = 0; i  r_u-num_sids1; i++) {

Modified: branches/SAMBA_3_0_26/source/rpc_parse/parse_samr.c
===
--- branches/SAMBA_3_0_26/source/rpc_parse/parse_samr.c 2007-05-04 18:59:51 UTC 
(rev 22672)
+++ branches/SAMBA_3_0_26/source/rpc_parse/parse_samr.c 2007-05-04 19:14:51 UTC 
(rev 22673)
@@ -4768,9 +4768,14 @@
if(!prs_uint32(num_sids1, ps, depth, r_u-num_sids1))
return False;
 
-   ptr_sid = TALLOC_ARRAY(ps-mem_ctx, uint32, r_u-num_sids1);
-   if (!ptr_sid) {
-   return False;
+   /* We must always use talloc here even when marshalling. */
+   if (r_u-num_sids1) {
+   ptr_sid = TALLOC_ARRAY(ps-mem_ctx, uint32, 
r_u-num_sids1);
+   if (!ptr_sid) {
+   return False;
+   }
+   } else {
+   ptr_sid = NULL;
}

for (i = 0; i  r_u-num_sids1; i++) {
@@ -4780,7 +4785,14 @@
}

if 

svn commit: samba r22674 - in branches/SAMBA_3_0_RELEASE/source/rpc_parse: .

2007-05-04 Thread jerry
Author: jerry
Date: 2007-05-04 19:44:30 + (Fri, 04 May 2007)
New Revision: 22674

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=22674

Log:
grab jra's samr parsing fix
Modified:
   branches/SAMBA_3_0_RELEASE/source/rpc_parse/parse_samr.c


Changeset:
Modified: branches/SAMBA_3_0_RELEASE/source/rpc_parse/parse_samr.c
===
--- branches/SAMBA_3_0_RELEASE/source/rpc_parse/parse_samr.c2007-05-04 
19:14:51 UTC (rev 22673)
+++ branches/SAMBA_3_0_RELEASE/source/rpc_parse/parse_samr.c2007-05-04 
19:44:30 UTC (rev 22674)
@@ -4768,9 +4768,14 @@
if(!prs_uint32(num_sids1, ps, depth, r_u-num_sids1))
return False;
 
-   ptr_sid = TALLOC_ARRAY(ps-mem_ctx, uint32, r_u-num_sids1);
-   if (!ptr_sid) {
-   return False;
+   /* We must always use talloc here even when marshalling. */
+   if (r_u-num_sids1) {
+   ptr_sid = TALLOC_ARRAY(ps-mem_ctx, uint32, 
r_u-num_sids1);
+   if (!ptr_sid) {
+   return False;
+   }
+   } else {
+   ptr_sid = NULL;
}

for (i = 0; i  r_u-num_sids1; i++) {
@@ -4780,7 +4785,14 @@
}

if (UNMARSHALLING(ps)) {
-   r_u-sid = TALLOC_ARRAY(ps-mem_ctx, DOM_SID2, 
r_u-num_sids1);
+   if (r_u-num_sids1) {
+   r_u-sid = TALLOC_ARRAY(ps-mem_ctx, DOM_SID2, 
r_u-num_sids1);
+   if (!r_u-sid) {
+   return False;
+   }
+   } else {
+   r_u-sid = NULL;
+   }
}

for (i = 0; i  r_u-num_sids1; i++) {



Rev 251: merged from ronnie in http://samba.org/~tridge/ctdb

2007-05-04 Thread tridge

revno: 251
revision-id: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
committer: Andrew Tridgell [EMAIL PROTECTED]
branch nick: tridge
timestamp: Sat 2007-05-05 07:39:23 +1000
message:
  merged from ronnie
modified:
  common/ctdb_client.c   ctdb_client.c-20070411010216-3kd8v37k61steeya-1
  common/ctdb_control.c  
ctdb_control.c-20070426122724-j6gkpiofhbwdin63-1
  direct/recoverd.c  recoverd.c-20070503213540-bvxuyd9jm1f7ig90-1
  include/ctdb.h ctdb.h-20061117234101-o3qt14umlg9en8z0-11
  include/ctdb_private.h 
ctdb_private.h-20061117234101-o3qt14umlg9en8z0-13
  tests/ctdb_test.c  ctdb_test.c-20061117234101-o3qt14umlg9en8z0-16
  tools/ctdb_control.c   
ctdb_control.c-20070426122705-9ehj1l5lu2gn9kuj-1

revno: 197.1.55
merged: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
committer: Ronnie Sahlberg [EMAIL PROTECTED]
branch nick: ctdb
timestamp: Sat 2007-05-05 01:22:30 +1000
message:
  merge from tridge

revno: 197.1.54
merged: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
committer: Ronnie Sahlberg [EMAIL PROTECTED]
branch nick: ctdb
timestamp: Fri 2007-05-04 17:05:28 +1000
message:
  merge from tridge

revno: 197.1.53
merged: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
committer: Ronnie Sahlberg [EMAIL PROTECTED]
branch nick: ctdb
timestamp: Fri 2007-05-04 15:25:57 +1000
message:
  remove a exit from the test script

revno: 197.1.52
merged: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
committer: Ronnie Sahlberg [EMAIL PROTECTED]
branch nick: ctdb
timestamp: Fri 2007-05-04 15:21:40 +1000
message:
  recovery daemon
  
  this program is a client to the local ctdb daemon
  
  every second it pulls all vnnmap and nodemaps from all nodes that are 
  available and checks if a recovery is required
  
  a recovery is required if :
  * all nodes do NOT have an identical vnnmap and generation
  * all nodes do NOT have an identical nodemap
  * there are active nodes that are NOT in the nodemap
  * there are nodes in the nodemap that are NOT active
  
  During recovery,  the recovery tool will also make sure that all nodes 
  know about and have created all databases.

revno: 197.1.51
merged: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
committer: Ronnie Sahlberg [EMAIL PROTECTED]
branch nick: ctdb
timestamp: Fri 2007-05-04 11:57:45 +1000
message:
  also verify that the generation id is the same on all the nodes and if 
  not, trigger a recovery

revno: 197.1.50
merged: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
committer: Ronnie Sahlberg [EMAIL PROTECTED]
branch nick: ctdb
timestamp: Fri 2007-05-04 11:51:07 +1000
message:
  merge from tridge

Diff too large for email (845, the limit is 200).


svn commit: samba r22675 - in branches: SAMBA_3_0/source/modules SAMBA_3_0/source/nsswitch SAMBA_3_0/source/rpc_client SAMBA_3_0/source/rpc_server SAMBA_3_0_25/source/modules SAMBA_3_0_25/source/nsswi

2007-05-04 Thread jra
Author: jra
Date: 2007-05-04 22:01:26 + (Fri, 04 May 2007)
New Revision: 22675

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=22675

Log:
Simo's patch for 0 size allocation. Still need
to examine parse_misc.c fix.
Jeremy.

Modified:
   branches/SAMBA_3_0/source/modules/vfs_afsacl.c
   branches/SAMBA_3_0/source/nsswitch/idmap.c
   branches/SAMBA_3_0/source/nsswitch/winbindd_async.c
   branches/SAMBA_3_0/source/rpc_client/cli_svcctl.c
   branches/SAMBA_3_0/source/rpc_server/srv_lsa_nt.c
   branches/SAMBA_3_0_25/source/modules/vfs_afsacl.c
   branches/SAMBA_3_0_25/source/nsswitch/idmap.c
   branches/SAMBA_3_0_25/source/nsswitch/winbindd_async.c
   branches/SAMBA_3_0_25/source/rpc_client/cli_svcctl.c
   branches/SAMBA_3_0_25/source/rpc_server/srv_lsa_nt.c
   branches/SAMBA_3_0_26/source/modules/vfs_afsacl.c
   branches/SAMBA_3_0_26/source/nsswitch/idmap.c
   branches/SAMBA_3_0_26/source/nsswitch/winbindd_async.c
   branches/SAMBA_3_0_26/source/rpc_client/cli_svcctl.c
   branches/SAMBA_3_0_26/source/rpc_server/srv_lsa_nt.c


Changeset:
Modified: branches/SAMBA_3_0/source/modules/vfs_afsacl.c
===
--- branches/SAMBA_3_0/source/modules/vfs_afsacl.c  2007-05-04 19:44:30 UTC 
(rev 22674)
+++ branches/SAMBA_3_0/source/modules/vfs_afsacl.c  2007-05-04 22:01:26 UTC 
(rev 22675)
@@ -616,7 +616,7 @@
uid_to_sid(owner_sid, sbuf.st_uid);
gid_to_sid(group_sid, sbuf.st_gid);
 
-   if (num_aces) {
+   if (afs_acl-num_aces) {
nt_ace_list = TALLOC_ARRAY(mem_ctx, SEC_ACE, afs_acl-num_aces);
 
if (nt_ace_list == NULL)

Modified: branches/SAMBA_3_0/source/nsswitch/idmap.c
===
--- branches/SAMBA_3_0/source/nsswitch/idmap.c  2007-05-04 19:44:30 UTC (rev 
22674)
+++ branches/SAMBA_3_0/source/nsswitch/idmap.c  2007-05-04 22:01:26 UTC (rev 
22675)
@@ -1025,17 +1025,16 @@
DEBUG(10, (Query backends to map sids-ids\n));
 
/* split list per domain */
-
-   if (num_domains) {
-   dom_ids = TALLOC_ZERO_ARRAY(ctx, struct id_map **, num_domains);
-   IDMAP_CHECK_ALLOC(dom_ids);
-   counters = TALLOC_ZERO_ARRAY(ctx, int, num_domains);
-   IDMAP_CHECK_ALLOC(counters);
-   } else {
-   dom_ids = NULL;
-   counters = NULL;
+   if (num_domains == 0) {
+   DEBUG(1, (No domains available?\n));
+   return NT_STATUS_UNSUCCESSFUL;
}
 
+   dom_ids = TALLOC_ZERO_ARRAY(ctx, struct id_map **, num_domains);
+   IDMAP_CHECK_ALLOC(dom_ids);
+   counters = TALLOC_ZERO_ARRAY(ctx, int, num_domains);
+   IDMAP_CHECK_ALLOC(counters);
+
/* partition the requests by domain */
 
for (i = 0; ids[i]; i++) {

Modified: branches/SAMBA_3_0/source/nsswitch/winbindd_async.c
===
--- branches/SAMBA_3_0/source/nsswitch/winbindd_async.c 2007-05-04 19:44:30 UTC 
(rev 22674)
+++ branches/SAMBA_3_0/source/nsswitch/winbindd_async.c 2007-05-04 22:01:26 UTC 
(rev 22675)
@@ -273,6 +273,11 @@
 
DEBUG(3, ([%5lu]: sids to unix ids\n, (unsigned long)state-pid));
 
+   if (state-request.extra_len == 0) {
+   DEBUG(0, (Invalid buffer size!\n));
+   return WINBINDD_ERROR;
+   }
+
sids = (DOM_SID *)state-request.extra_data.data;
num = state-request.extra_len / sizeof(DOM_SID);
 

Modified: branches/SAMBA_3_0/source/rpc_client/cli_svcctl.c
===
--- branches/SAMBA_3_0/source/rpc_client/cli_svcctl.c   2007-05-04 19:44:30 UTC 
(rev 22674)
+++ branches/SAMBA_3_0/source/rpc_client/cli_svcctl.c   2007-05-04 22:01:26 UTC 
(rev 22675)
@@ -209,8 +209,12 @@
return out.status;

/* pull out the data */
-   if ( !(services = TALLOC_ARRAY( mem_ctx, ENUM_SERVICES_STATUS, 
out.returned )) ) 
-   return WERR_NOMEM;
+   if (out.returned) {
+   if ( !(services = TALLOC_ARRAY( mem_ctx, ENUM_SERVICES_STATUS, 
out.returned )) ) 
+   return WERR_NOMEM;
+   } else {
+   services = NULL;
+   }

for ( i=0; iout.returned; i++ ) {
svcctl_io_enum_services_status( , services[i], out.buffer, 
0 );

Modified: branches/SAMBA_3_0/source/rpc_server/srv_lsa_nt.c
===
--- branches/SAMBA_3_0/source/rpc_server/srv_lsa_nt.c   2007-05-04 19:44:30 UTC 
(rev 22674)
+++ branches/SAMBA_3_0/source/rpc_server/srv_lsa_nt.c   2007-05-04 22:01:26 UTC 
(rev 22675)
@@ -825,7 +825,11 @@
*pp_mapped_count = 0;
*pp_ref = NULL;
*pp_names = NULL;
-   
+
+   if (num_sids == 0) {
+   return NT_STATUS_OK;
+   }
+
names = 

svn commit: samba r22676 - in branches: SAMBA_3_0/source/rpc_parse SAMBA_3_0_25/source/rpc_parse SAMBA_3_0_26/source/rpc_parse

2007-05-04 Thread jra
Author: jra
Date: 2007-05-04 22:15:33 + (Fri, 04 May 2007)
New Revision: 22676

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=22676

Log:
Fix zero alloc with create_rpc_blob().
Jeremy.

Modified:
   branches/SAMBA_3_0/source/rpc_parse/parse_misc.c
   branches/SAMBA_3_0_25/source/rpc_parse/parse_misc.c
   branches/SAMBA_3_0_26/source/rpc_parse/parse_misc.c


Changeset:
Modified: branches/SAMBA_3_0/source/rpc_parse/parse_misc.c
===
--- branches/SAMBA_3_0/source/rpc_parse/parse_misc.c2007-05-04 22:01:26 UTC 
(rev 22675)
+++ branches/SAMBA_3_0/source/rpc_parse/parse_misc.c2007-05-04 22:15:33 UTC 
(rev 22676)
@@ -483,12 +483,17 @@
  Allocate the RPC_DATA_BLOB memory.
 /
 
-size_t create_rpc_blob(RPC_DATA_BLOB *str, size_t len)
+static void create_rpc_blob(RPC_DATA_BLOB *str, size_t len)
 {
-   str-buffer = (uint8 *)TALLOC_ZERO(get_talloc_ctx(), len);
-   if (str-buffer == NULL)
-   smb_panic(create_rpc_blob: talloc fail\n);
-   return len;
+   if (len) {
+   str-buffer = (uint8 *)TALLOC_ZERO(get_talloc_ctx(), len);
+   if (str-buffer == NULL)
+   smb_panic(create_rpc_blob: talloc fail\n);
+   str-buf_len = len;
+   } else {
+   str-buffer = NULL;
+   str-buf_len = 0;
+   }
 }
 
 /***
@@ -500,7 +505,7 @@
ZERO_STRUCTP(str);
 
/* set up string lengths. */
-   str-buf_len = create_rpc_blob(str, sizeof(uint32));
+   create_rpc_blob(str, sizeof(uint32));
SIVAL(str-buffer, 0, val);
 }
 
@@ -513,9 +518,10 @@
ZERO_STRUCTP(str);
 
/* set up string lengths. */
-   str-buf_len = create_rpc_blob(str, len*2);
-   rpcstr_push(str-buffer, buf, (size_t)str-buf_len, STR_TERMINATE);
-   
+   if (len) {
+   create_rpc_blob(str, len*2);
+   rpcstr_push(str-buffer, buf, (size_t)str-buf_len, 
STR_TERMINATE);
+   }
 }
 
 /***
@@ -525,8 +531,10 @@
 void init_rpc_blob_hex(RPC_DATA_BLOB *str, const char *buf)
 {
ZERO_STRUCTP(str);
-   str-buf_len = create_rpc_blob(str, strlen(buf));
-   str-buf_len = strhex_to_str((char *)str-buffer, str-buf_len, buf);
+   if (buf  *buf) {
+   create_rpc_blob(str, strlen(buf));
+   str-buf_len = strhex_to_str((char *)str-buffer, str-buf_len, 
buf);
+   }
 }
 
 /***
@@ -538,8 +546,8 @@
ZERO_STRUCTP(str);
 
/* max buffer size (allocated size) */
-   if (buf != NULL) {
-   len = create_rpc_blob(str, len);
+   if (buf != NULL  len) {
+   create_rpc_blob(str, len);
memcpy(str-buffer, buf, len);
}
str-buf_len = len;

Modified: branches/SAMBA_3_0_25/source/rpc_parse/parse_misc.c
===
--- branches/SAMBA_3_0_25/source/rpc_parse/parse_misc.c 2007-05-04 22:01:26 UTC 
(rev 22675)
+++ branches/SAMBA_3_0_25/source/rpc_parse/parse_misc.c 2007-05-04 22:15:33 UTC 
(rev 22676)
@@ -530,12 +530,17 @@
  Allocate the RPC_DATA_BLOB memory.
 /
 
-size_t create_rpc_blob(RPC_DATA_BLOB *str, size_t len)
+static void create_rpc_blob(RPC_DATA_BLOB *str, size_t len)
 {
-   str-buffer = (uint8 *)TALLOC_ZERO(get_talloc_ctx(), len);
-   if (str-buffer == NULL)
-   smb_panic(create_rpc_blob: talloc fail\n);
-   return len;
+   if (len) {
+   str-buffer = (uint8 *)TALLOC_ZERO(get_talloc_ctx(), len);
+   if (str-buffer == NULL)
+   smb_panic(create_rpc_blob: talloc fail\n);
+   str-buf_len = len;
+   } else {
+   str-buffer = NULL;
+   str-buf_len = 0;
+   }
 }
 
 /***
@@ -547,7 +552,7 @@
ZERO_STRUCTP(str);
 
/* set up string lengths. */
-   str-buf_len = create_rpc_blob(str, sizeof(uint32));
+   create_rpc_blob(str, sizeof(uint32));
SIVAL(str-buffer, 0, val);
 }
 
@@ -560,9 +565,10 @@
ZERO_STRUCTP(str);
 
/* set up string lengths. */
-   str-buf_len = create_rpc_blob(str, len*2);
-   rpcstr_push(str-buffer, buf, (size_t)str-buf_len, STR_TERMINATE);
-   
+   if (len) {
+   create_rpc_blob(str, len*2);
+   rpcstr_push(str-buffer, buf, (size_t)str-buf_len, 
STR_TERMINATE);
+   }
 }
 
 /***
@@ -572,8 +578,10 @@
 void init_rpc_blob_hex(RPC_DATA_BLOB *str, const char *buf)
 {

svn commit: samba r22677 - in branches: SAMBA_3_0/source/nsswitch SAMBA_3_0_25/source/nsswitch SAMBA_3_0_26/source/nsswitch

2007-05-04 Thread idra
Author: idra
Date: 2007-05-04 22:41:35 + (Fri, 04 May 2007)
New Revision: 22677

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=22677

Log:

One line fix to make net idmap restore work again

Jerry, please add this for 3.0.25 final


Modified:
   branches/SAMBA_3_0/source/nsswitch/winbindd_async.c
   branches/SAMBA_3_0_25/source/nsswitch/winbindd_async.c
   branches/SAMBA_3_0_26/source/nsswitch/winbindd_async.c


Changeset:
Modified: branches/SAMBA_3_0/source/nsswitch/winbindd_async.c
===
--- branches/SAMBA_3_0/source/nsswitch/winbindd_async.c 2007-05-04 22:15:33 UTC 
(rev 22676)
+++ branches/SAMBA_3_0/source/nsswitch/winbindd_async.c 2007-05-04 22:41:35 UTC 
(rev 22677)
@@ -163,6 +163,7 @@
map.sid = sid;
map.xid.id = state-request.data.dual_idmapset.id;
map.xid.type = state-request.data.dual_idmapset.type;
+   map.status = ID_MAPPED;
 
result = idmap_set_mapping(map);
return NT_STATUS_IS_OK(result) ? WINBINDD_OK : WINBINDD_ERROR;

Modified: branches/SAMBA_3_0_25/source/nsswitch/winbindd_async.c
===
--- branches/SAMBA_3_0_25/source/nsswitch/winbindd_async.c  2007-05-04 
22:15:33 UTC (rev 22676)
+++ branches/SAMBA_3_0_25/source/nsswitch/winbindd_async.c  2007-05-04 
22:41:35 UTC (rev 22677)
@@ -163,6 +163,7 @@
map.sid = sid;
map.xid.id = state-request.data.dual_idmapset.id;
map.xid.type = state-request.data.dual_idmapset.type;
+   map.status = ID_MAPPED;
 
result = idmap_set_mapping(map);
return NT_STATUS_IS_OK(result) ? WINBINDD_OK : WINBINDD_ERROR;

Modified: branches/SAMBA_3_0_26/source/nsswitch/winbindd_async.c
===
--- branches/SAMBA_3_0_26/source/nsswitch/winbindd_async.c  2007-05-04 
22:15:33 UTC (rev 22676)
+++ branches/SAMBA_3_0_26/source/nsswitch/winbindd_async.c  2007-05-04 
22:41:35 UTC (rev 22677)
@@ -163,6 +163,7 @@
map.sid = sid;
map.xid.id = state-request.data.dual_idmapset.id;
map.xid.type = state-request.data.dual_idmapset.type;
+   map.status = ID_MAPPED;
 
result = idmap_set_mapping(map);
return NT_STATUS_IS_OK(result) ? WINBINDD_OK : WINBINDD_ERROR;



Build status as of Sat May 5 00:00:02 2007

2007-05-04 Thread build
URL: http://build.samba.org/

--- /home/build/master/cache/broken_results.txt.old 2007-05-04 
00:00:46.0 +
+++ /home/build/master/cache/broken_results.txt 2007-05-05 00:01:20.0 
+
@@ -1,25 +1,25 @@
-Build status as of Fri May  4 00:00:02 2007
+Build status as of Sat May  5 00:00:02 2007
 
 Build counts:
 Tree Total  Broken Panic 
 SOC  0  0  0 
 build_farm   0  0  0 
-ccache   36 5  0 
+ccache   35 5  0 
 ctdb 0  0  0 
 distcc   3  0  0 
-ldb  35 10 0 
-libreplace   33 11 0 
-lorikeet-heimdal 31 16 0 
-pidl 19 16 0 
+ldb  34 10 0 
+libreplace   32 12 0 
+lorikeet-heimdal 29 14 0 
+pidl 18 7  0 
 ppp  15 0  0 
 python   0  0  0 
-rsync36 19 0 
+rsync35 19 0 
 samba0  0  0 
 samba-docs   0  0  0 
 samba-gtk4  4  0 
-samba4   37 33 4 
-samba_3_041 41 1 
-smb-build32 31 0 
-talloc   36 2  0 
-tdb  35 3  0 
+samba4   36 29 4 
+samba_3_040 40 1 
+smb-build31 30 0 
+talloc   35 3  0 
+tdb  33 5  0 
 


Rev 12009: Merge upstream. in file:///home/jelmer/bzr.samba/python/

2007-05-04 Thread Jelmer Vernooij
At file:///home/jelmer/bzr.samba/python/


revno: 12009
revision-id: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
parent: svn-v2:[EMAIL PROTECTED]
committer: Jelmer Vernooij [EMAIL PROTECTED]
branch nick: python
timestamp: Sat 2007-05-05 02:02:47 +0200
message:
  Merge upstream.
added:
  source/lib/ldb/external/   svn-v2:[EMAIL PROTECTED]
  source/lib/ldb/external/libpopt.m4 svn-v2:[EMAIL PROTECTED]
  source/lib/ldb/external/libtalloc.m4 svn-v2:[EMAIL PROTECTED]
  source/lib/ldb/external/libtdb.m4 svn-v2:[EMAIL PROTECTED]
  source/lib/ldb/external/pkg.m4 svn-v2:[EMAIL PROTECTED]
modified:
  .bzrignore svn-v2:[EMAIL PROTECTED]
  source/auth/gensec/gensec_gssapi.c svn-v2:[EMAIL PROTECTED]
  source/auth/kerberos/krb5_init_context.c svn-v2:[EMAIL PROTECTED]
  source/build/m4/check_ld.m4svn-v2:[EMAIL PROTECTED]
  source/lib/events/events_aio.c svn-v2:[EMAIL PROTECTED]
  source/lib/events/events_epoll.c svn-v2:[EMAIL PROTECTED]
  source/lib/events/events_internal.h svn-v2:[EMAIL PROTECTED]
  source/lib/events/events_select.c svn-v2:[EMAIL PROTECTED]
  source/lib/events/events_standard.c svn-v2:[EMAIL PROTECTED]
  source/lib/events/events_timed.c svn-v2:[EMAIL PROTECTED]
  source/lib/ldb/autogen.sh  svn-v2:[EMAIL PROTECTED]
  source/lib/ldb/configure.acsvn-v2:[EMAIL PROTECTED]
  source/lib/ldb/include/includes.h svn-v2:[EMAIL PROTECTED]
  source/lib/replace/autoconf-2.60.m4 svn-v2:[EMAIL PROTECTED]
  source/lib/replace/test/testsuite.c svn-v2:[EMAIL PROTECTED]
  source/lib/tdb/Makefile.in svn-v2:[EMAIL PROTECTED]
  source/lib/tdb/configure.acsvn-v2:[EMAIL PROTECTED]
  source/libnet/libnet_passwd.c  svn-v2:[EMAIL PROTECTED]
  source/libnet/libnet_rpc.c svn-v2:[EMAIL PROTECTED]
  source/torture/raw/notify.csvn-v2:[EMAIL PROTECTED]

revno: 11989.1.104
merged: svn-v2:[EMAIL PROTECTED]
parent: svn-v2:[EMAIL PROTECTED]
committer: mimir
timestamp: Fri 2007-05-04 18:59:51 +
message:
  use composite_create calls instead of talloc_zero.
  
  
  rafal

revno: 11989.1.103
merged: svn-v2:[EMAIL PROTECTED]
parent: svn-v2:[EMAIL PROTECTED]
committer: tridge
timestamp: Fri 2007-05-04 12:41:28 +
message:
  
  changed the RAW-NOTIFY test to support clustered testing (two nodes)

revno: 11989.1.102
merged: svn-v2:[EMAIL PROTECTED]
parent: svn-v2:[EMAIL PROTECTED]
committer: metze
timestamp: Fri 2007-05-04 11:26:25 +
message:
  fix uninitialized element which was causing a crash with 'net password 
set'
  
  metze

revno: 11989.1.101
merged: svn-v2:[EMAIL PROTECTED]
parent: svn-v2:[EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
committer: jelmer
timestamp: Fri 2007-05-04 11:08:53 +
message:
  Fix ldb build

revno: 11989.1.100.1.1
merged: [EMAIL PROTECTED]
parent: svn-v2:[EMAIL PROTECTED]
committer: Jelmer Vernooij [EMAIL PROTECTED]
branch nick: SAMBA_4_0
timestamp: Fri 2007-05-04 13:08:32 +0200
message:
  Fix ldb build

revno: 11989.1.100
merged: svn-v2:[EMAIL PROTECTED]
parent: svn-v2:[EMAIL PROTECTED]
committer: metze
timestamp: Fri 2007-05-04 10:44:41 +
message:
  revert revision 22640 as it breaks nested structs in idl
  
  metze

revno: 11989.1.99
merged: svn-v2:[EMAIL PROTECTED]
parent: svn-v2:[EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
committer: jelmer
timestamp: Fri 2007-05-04 10:02:47 +
message:
  Change version back to 0.9.

revno: 11989.1.98.1.1
merged: [EMAIL PROTECTED]
parent: svn-v2:[EMAIL PROTECTED]
committer: Jelmer Vernooij [EMAIL PROTECTED]
branch nick: SAMBA_4_0
timestamp: Fri 2007-05-04 13:02:19 +0200
message:
  Change version back to 0.9.

revno: 11989.1.98
merged: svn-v2:[EMAIL PROTECTED]
parent: svn-v2:[EMAIL PROTECTED]
committer: metze
timestamp: Fri 2007-05-04 09:35:01 +
message:
  disable shared library support on Tru64
  
  metze 

revno: 11989.1.97
merged: svn-v2:[EMAIL PROTECTED]
parent: svn-v2:[EMAIL PROTECTED]
committer: metze
timestamp: Fri 

Rev 252: - added counters for controls in ctdb_control status in http://samba.org/~tridge/ctdb

2007-05-04 Thread tridge

revno: 252
revision-id: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
committer: Andrew Tridgell [EMAIL PROTECTED]
branch nick: tridge
timestamp: Sat 2007-05-05 08:11:54 +1000
message:
  - added counters for controls in ctdb_control status
modified:
  common/ctdb.c  ctdb.c-20061127094323-t50f58d65iaao5of-2
  common/ctdb_control.c  
ctdb_control.c-20070426122724-j6gkpiofhbwdin63-1
  include/ctdb_private.h 
ctdb_private.h-20061117234101-o3qt14umlg9en8z0-13
  tools/ctdb_control.c   
ctdb_control.c-20070426122705-9ehj1l5lu2gn9kuj-1

Diff too large for email (306, the limit is 200).


Rev 253: - fixed a crash bug after client disconnect in ctdb_control in http://samba.org/~tridge/ctdb

2007-05-04 Thread tridge

revno: 253
revision-id: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
committer: Andrew Tridgell [EMAIL PROTECTED]
branch nick: tridge
timestamp: Sat 2007-05-05 08:33:35 +1000
message:
  - fixed a crash bug after client disconnect in ctdb_control
  - added total memory used to ctdb_control status output
modified:
  common/ctdb_control.c  
ctdb_control.c-20070426122724-j6gkpiofhbwdin63-1
  include/ctdb_private.h 
ctdb_private.h-20061117234101-o3qt14umlg9en8z0-13
  tools/ctdb_control.c   
ctdb_control.c-20070426122705-9ehj1l5lu2gn9kuj-1
=== modified file 'common/ctdb_control.c'
--- a/common/ctdb_control.c 2007-05-04 22:11:54 +
+++ b/common/ctdb_control.c 2007-05-04 22:33:35 +
@@ -158,6 +158,7 @@
case CTDB_CONTROL_STATUS: {
CHECK_CONTROL_DATA_SIZE(0);
ctdb-status.controls.status++;
+   ctdb-status.memory_used = talloc_total_size(ctdb);
outdata-dptr = (uint8_t *)ctdb-status;
outdata-dsize = sizeof(ctdb-status);
return 0;
@@ -499,8 +500,11 @@
data.dptr = c-data[0];
data.dsize = c-datalen;
 
+   /* make state a child of the packet, so it goes away when the packet
+  is freed. */
+   talloc_steal(hdr, state);
+
state-callback(ctdb, c-status, data, state-private_data);
-   talloc_free(state);
 }
 
 static int ctdb_control_destructor(struct ctdb_control_state *state)
@@ -528,7 +532,9 @@
return -1;
}
 
-   state = talloc(ctdb, struct ctdb_control_state);
+   /* the state is made a child of private_data if possible. This means 
any reply
+  will be discarded if the private_data goes away */
+   state = talloc(private_data?private_data:ctdb, struct 
ctdb_control_state);
CTDB_NO_MEMORY(ctdb, state);
 
state-reqid = ctdb_reqid_new(ctdb, state);

=== modified file 'include/ctdb_private.h'
--- a/include/ctdb_private.h2007-05-04 22:11:54 +
+++ b/include/ctdb_private.h2007-05-04 22:33:35 +
@@ -175,6 +175,7 @@
uint32_t lockwait_calls;
uint32_t traverse_calls;
uint32_t pending_lockwait_calls;
+   uint32_t memory_used;
uint32_t __last_counter; /* hack for control_status_all */
uint32_t max_hop_count;
double max_call_latency;

=== modified file 'tools/ctdb_control.c'
--- a/tools/ctdb_control.c  2007-05-04 22:11:54 +
+++ b/tools/ctdb_control.c  2007-05-04 22:33:35 +
@@ -135,6 +135,7 @@
STATUS_FIELD(lockwait_calls),
STATUS_FIELD(traverse_calls),
STATUS_FIELD(pending_lockwait_calls),
+   STATUS_FIELD(memory_used),
STATUS_FIELD(max_hop_count),
};
printf(CTDB version %u\n, CTDB_VERSION);



Rev 254: added a dumpmemory control, used to find memory leaks in http://samba.org/~tridge/ctdb

2007-05-04 Thread tridge

revno: 254
revision-id: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
committer: Andrew Tridgell [EMAIL PROTECTED]
branch nick: tridge
timestamp: Sat 2007-05-05 11:03:10 +1000
message:
  added a dumpmemory control, used to find memory leaks
modified:
  common/ctdb_control.c  
ctdb_control.c-20070426122724-j6gkpiofhbwdin63-1
  include/ctdb_private.h 
ctdb_private.h-20061117234101-o3qt14umlg9en8z0-13
  tools/ctdb_control.c   
ctdb_control.c-20070426122705-9ehj1l5lu2gn9kuj-1
=== modified file 'common/ctdb_control.c'
--- a/common/ctdb_control.c 2007-05-04 22:33:35 +
+++ b/common/ctdb_control.c 2007-05-05 01:03:10 +
@@ -164,6 +164,12 @@
return 0;
}
 
+   case CTDB_CONTROL_DUMP_MEMORY: {
+   CHECK_CONTROL_DATA_SIZE(0);
+   talloc_report_full(ctdb, stdout);
+   return 0;
+   }
+
case CTDB_CONTROL_STATUS_RESET: {
CHECK_CONTROL_DATA_SIZE(0);
ZERO_STRUCT(ctdb-status);

=== modified file 'include/ctdb_private.h'
--- a/include/ctdb_private.h2007-05-04 22:33:35 +
+++ b/include/ctdb_private.h2007-05-05 01:03:10 +
@@ -306,6 +306,7 @@
CTDB_CONTROL_ENABLE_SEQNUM,
CTDB_CONTROL_UPDATE_SEQNUM,
CTDB_CONTROL_SET_SEQNUM_FREQUENCY,
+   CTDB_CONTROL_DUMP_MEMORY,
 };
 
 

=== modified file 'tools/ctdb_control.c'
--- a/tools/ctdb_control.c  2007-05-04 22:33:35 +
+++ b/tools/ctdb_control.c  2007-05-05 01:03:10 +
@@ -935,6 +935,28 @@
 }
 
 /*
+  dump memory usage
+ */
+static int control_dumpmemory(struct ctdb_context *ctdb, int argc, const char 
**argv)
+{
+
+   uint32_t vnn;
+   if (argc  1) {
+   usage();
+   }
+   if (strcmp(argv[0], all) == 0) {
+   vnn = CTDB_BROADCAST_VNN;
+   } else {
+   vnn = strtoul(argv[0], NULL, 0);
+   }
+
+   ctdb_control(ctdb, vnn, 0, CTDB_CONTROL_DUMP_MEMORY,
+CTDB_CTRL_FLAG_NOREPLY, tdb_null, NULL, NULL, NULL, NULL);
+
+   return 0;
+}
+
+/*
   main program
 */
 int main(int argc, const char *argv[])
@@ -976,6 +998,7 @@
{ recover, control_recover },
{ writerecord, control_writerecord },
{ attach, control_attach },
+   { dumpmemory, control_dumpmemory },
};
 
pc = poptGetContext(argv[0], argc, argv, popt_options, 
POPT_CONTEXT_KEEP_FIRST);



Rev 255: show number of connected clients in status output in http://samba.org/~tridge/ctdb

2007-05-04 Thread tridge

revno: 255
revision-id: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
committer: Andrew Tridgell [EMAIL PROTECTED]
branch nick: tridge
timestamp: Sat 2007-05-05 14:09:46 +1000
message:
  show number of connected clients in status output
modified:
  common/ctdb_control.c  
ctdb_control.c-20070426122724-j6gkpiofhbwdin63-1
  common/ctdb_daemon.c   ctdb_daemon.c-20070409200331-3el1kqgdb9m4ib0g-1
  include/ctdb_private.h 
ctdb_private.h-20061117234101-o3qt14umlg9en8z0-13
  tools/ctdb_control.c   
ctdb_control.c-20070426122705-9ehj1l5lu2gn9kuj-1
=== modified file 'common/ctdb_control.c'
--- a/common/ctdb_control.c 2007-05-05 01:03:10 +
+++ b/common/ctdb_control.c 2007-05-05 04:09:46 +
@@ -359,7 +359,7 @@
case CTDB_CONTROL_PING:
CHECK_CONTROL_DATA_SIZE(0);
ctdb-status.controls.ping++;
-   return ctdb-num_clients;
+   return ctdb-status.num_clients;
 
case CTDB_CONTROL_GET_DBNAME: {
uint32_t db_id;

=== modified file 'common/ctdb_daemon.c'
--- a/common/ctdb_daemon.c  2007-05-04 01:41:29 +
+++ b/common/ctdb_daemon.c  2007-05-05 04:09:46 +
@@ -248,7 +248,7 @@
 static int ctdb_client_destructor(struct ctdb_client *client)
 {
ctdb_reqid_remove(client-ctdb, client-client_id);
-   client-ctdb-num_clients--;
+   client-ctdb-status.num_clients--;
close(client-fd);
client-fd = -1;
return 0;
@@ -559,7 +559,7 @@
client-ctdb = ctdb;
client-fd = fd;
client-client_id = ctdb_reqid_new(ctdb, client);
-   ctdb-num_clients++;
+   ctdb-status.num_clients++;
 
client-queue = ctdb_queue_setup(ctdb, client, fd, CTDB_DS_ALIGNMENT, 
 ctdb_daemon_read_cb, client);

=== modified file 'include/ctdb_private.h'
--- a/include/ctdb_private.h2007-05-05 01:03:10 +
+++ b/include/ctdb_private.h2007-05-05 04:09:46 +
@@ -131,6 +131,7 @@
   ctdb status information
  */
 struct ctdb_status {
+   uint32_t num_clients;
uint32_t client_packets_sent;
uint32_t client_packets_recv;
uint32_t node_packets_sent;

=== modified file 'tools/ctdb_control.c'
--- a/tools/ctdb_control.c  2007-05-05 01:03:10 +
+++ b/tools/ctdb_control.c  2007-05-05 04:09:46 +
@@ -97,6 +97,7 @@
uint32_t offset;
} fields[] = {
 #define STATUS_FIELD(n) { #n, offsetof(struct ctdb_status, n) }
+   STATUS_FIELD(num_clients),
STATUS_FIELD(client_packets_sent),
STATUS_FIELD(client_packets_recv),
STATUS_FIELD(node_packets_sent),