svn commit: samba r20116 - in branches/SAMBA_3_0/source: . auth include lib nsswitch param passdb utils

2006-12-12 Thread idra
Author: idra
Date: 2006-12-12 14:52:13 + (Tue, 12 Dec 2006)
New Revision: 20116

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

Log:

Start merging in the work done to create the new idmap subsystem.

Simo.


Added:
   branches/SAMBA_3_0/source/nsswitch/idmap.c
   branches/SAMBA_3_0/source/nsswitch/idmap_ad.c
   branches/SAMBA_3_0/source/nsswitch/idmap_cache.c
   branches/SAMBA_3_0/source/nsswitch/idmap_ldap.c
   branches/SAMBA_3_0/source/nsswitch/idmap_nss.c
   branches/SAMBA_3_0/source/nsswitch/idmap_passdb.c
   branches/SAMBA_3_0/source/nsswitch/idmap_rid.c
   branches/SAMBA_3_0/source/nsswitch/idmap_tdb.c
   branches/SAMBA_3_0/source/nsswitch/idmap_util.c
   branches/SAMBA_3_0/source/nsswitch/nss_info.c
Removed:
   branches/SAMBA_3_0/source/sam/
Modified:
   branches/SAMBA_3_0/source/Makefile.in
   branches/SAMBA_3_0/source/auth/auth_util.c
   branches/SAMBA_3_0/source/configure.in
   branches/SAMBA_3_0/source/include/dlinklist.h
   branches/SAMBA_3_0/source/include/idmap.h
   branches/SAMBA_3_0/source/include/passdb.h
   branches/SAMBA_3_0/source/include/smb.h
   branches/SAMBA_3_0/source/include/smbldap.h
   branches/SAMBA_3_0/source/lib/smbldap.c
   branches/SAMBA_3_0/source/nsswitch/wb_client.c
   branches/SAMBA_3_0/source/nsswitch/winbindd.c
   branches/SAMBA_3_0/source/nsswitch/winbindd.h
   branches/SAMBA_3_0/source/nsswitch/winbindd_async.c
   branches/SAMBA_3_0/source/nsswitch/winbindd_dual.c
   branches/SAMBA_3_0/source/nsswitch/winbindd_group.c
   branches/SAMBA_3_0/source/nsswitch/winbindd_nss.h
   branches/SAMBA_3_0/source/nsswitch/winbindd_sid.c
   branches/SAMBA_3_0/source/nsswitch/winbindd_user.c
   branches/SAMBA_3_0/source/nsswitch/winbindd_util.c
   branches/SAMBA_3_0/source/param/loadparm.c
   branches/SAMBA_3_0/source/passdb/lookup_sid.c
   branches/SAMBA_3_0/source/passdb/pdb_interface.c
   branches/SAMBA_3_0/source/passdb/secrets.c
   branches/SAMBA_3_0/source/utils/net.c
   branches/SAMBA_3_0/source/utils/net_idmap.c


Changeset:
Sorry, the patch is too large (9632 lines) to include; please use WebSVN to see 
it!
WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=20116


svn commit: samba r20117 - in branches/SAMBA_3_0/source/nsswitch: .

2006-12-12 Thread idra
Author: idra
Date: 2006-12-12 15:14:27 + (Tue, 12 Dec 2006)
New Revision: 20117

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

Log:

1st Error in the merge


Modified:
   branches/SAMBA_3_0/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 2006-12-12 14:52:13 UTC 
(rev 20116)
+++ branches/SAMBA_3_0/source/nsswitch/winbindd_async.c 2006-12-12 15:14:27 UTC 
(rev 20117)
@@ -756,7 +756,7 @@
 
/* Lookup the sid */
 
-   if (!winbindd_lookup_name_by_sid(state-mem_ctx, sid, dom_name, name,
+   if (!winbindd_lookup_name_by_sid(state-mem_ctx, sid, dom_name, name,
 type)) {
TALLOC_FREE(dom_name);
TALLOC_FREE(name);



svn commit: samba r20118 - in branches/SAMBA_3_0/source/nsswitch: .

2006-12-12 Thread idra
Author: idra
Date: 2006-12-12 15:16:26 + (Tue, 12 Dec 2006)
New Revision: 20118

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

Log:

Fix some more warnings


Modified:
   branches/SAMBA_3_0/source/nsswitch/idmap_ad.c
   branches/SAMBA_3_0/source/nsswitch/idmap_rid.c


Changeset:
Modified: branches/SAMBA_3_0/source/nsswitch/idmap_ad.c
===
--- branches/SAMBA_3_0/source/nsswitch/idmap_ad.c   2006-12-12 15:14:27 UTC 
(rev 20117)
+++ branches/SAMBA_3_0/source/nsswitch/idmap_ad.c   2006-12-12 15:16:26 UTC 
(rev 20118)
@@ -145,11 +145,9 @@
 /* Initialize and check conf is appropriate */
 static NTSTATUS idmap_ad_initialize(struct idmap_domain *dom, const char 
*params)
 {
-   NTSTATUS ret;
struct idmap_ad_context *ctx;
char *config_option;
const char *range;
-   const char *tmp;
ADS_STRUCT *ads;
 
/* verify AD is reachable (not critical, we may just be offline at 
start) */
@@ -375,13 +373,12 @@
}
 
for (i = 0; i  count; i++) {
-   LDAPMessage *entry;
+   LDAPMessage *entry = NULL;
DOM_SID sid;
enum id_type type;
struct id_map *map;
uint32_t id;
uint32_t atype;
-   int n;
 
if (i == 0) { /* first entry */
entry = ads_first_entry(ads, res);
@@ -587,13 +584,12 @@
}
 
for (i = 0; i  count; i++) {
-   LDAPMessage *entry;
+   LDAPMessage *entry = NULL;
DOM_SID sid;
enum id_type type;
struct id_map *map;
uint32_t id;
uint32_t atype;
-   int n;
 
if (i == 0) { /* first entry */
entry = ads_first_entry(ads, res);

Modified: branches/SAMBA_3_0/source/nsswitch/idmap_rid.c
===
--- branches/SAMBA_3_0/source/nsswitch/idmap_rid.c  2006-12-12 15:14:27 UTC 
(rev 20117)
+++ branches/SAMBA_3_0/source/nsswitch/idmap_rid.c  2006-12-12 15:16:26 UTC 
(rev 20118)
@@ -20,6 +20,7 @@
  */
 
 #include includes.h
+#include winbindd.h
 
 #undef DBGC_CLASS
 #define DBGC_CLASS DBGC_IDMAP
@@ -240,8 +241,6 @@
 
 static NTSTATUS idmap_rid_close(struct idmap_domain *dom)
 {
-   struct idmap_tdb_context *ctx;
-
if (dom-private_data) {
TALLOC_FREE(dom-private_data);
}



svn commit: samba r20119 - in branches: SAMBA_3_0/source/utils SAMBA_3_0_24/source/utils

2006-12-12 Thread jmcd
Author: jmcd
Date: 2006-12-12 16:40:57 + (Tue, 12 Dec 2006)
New Revision: 20119

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

Log:
Update help info indicating how to use separators (forward slash only) 
and properly use backslashes in net ads join computername=

Modified:
   branches/SAMBA_3_0/source/utils/net_ads.c
   branches/SAMBA_3_0_24/source/utils/net_ads.c


Changeset:
Modified: branches/SAMBA_3_0/source/utils/net_ads.c
===
--- branches/SAMBA_3_0/source/utils/net_ads.c   2006-12-12 15:16:26 UTC (rev 
20118)
+++ branches/SAMBA_3_0/source/utils/net_ads.c   2006-12-12 16:40:57 UTC (rev 
20119)
@@ -1322,6 +1322,8 @@
d_printf(   createcomputer=OU  Precreate the computer account in a 
specific OU.\n);
d_printf(  The OU string read from top to bottom 
without RDNs and delimited by a '/'.\n);
d_printf(  E.g. 
\createcomputer=Computers/Servers/Unix\\n);
+   d_printf(  NB: A backslash '\\' is used as escape 
at multiple levels and may\n);
+   d_printf(  need to be doubled or even 
quadrupled.  It is not used as a separator);
 
return -1;
 }

Modified: branches/SAMBA_3_0_24/source/utils/net_ads.c
===
--- branches/SAMBA_3_0_24/source/utils/net_ads.c2006-12-12 15:16:26 UTC 
(rev 20118)
+++ branches/SAMBA_3_0_24/source/utils/net_ads.c2006-12-12 16:40:57 UTC 
(rev 20119)
@@ -1322,6 +1322,8 @@
d_printf(   createcomputer=OU  Precreate the computer account in a 
specific OU.\n);
d_printf(  The OU string read from top to bottom 
without RDNs and delimited by a '/'.\n);
d_printf(  E.g. 
\createcomputer=Computers/Servers/Unix\\n);
+   d_printf(  NB: A backslash '\\' is used as escape 
at multiple levels and may\n);
+   d_printf(  need to be doubled or even 
quadrupled.  It is not used as a separator);
 
return -1;
 }



svn commit: samba-docs r1003 - in trunk/manpages-3: .

2006-12-12 Thread jmcd
Author: jmcd
Date: 2006-12-12 16:52:26 + (Tue, 12 Dec 2006)
New Revision: 1003

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

Log:
Add ads-only options for net ads join

Modified:
   trunk/manpages-3/net.8.xml


Changeset:
Modified: trunk/manpages-3/net.8.xml
===
--- trunk/manpages-3/net.8.xml  2006-12-01 13:53:26 UTC (rev 1002)
+++ trunk/manpages-3/net.8.xml  2006-12-12 16:52:26 UTC (rev 1003)
@@ -181,7 +181,7 @@
 /refsect2
 
 refsect2
-title[RPC|ADS] JOIN [TYPE] [-U username[%password]] [options]/title
+title[RPC|ADS] JOIN [TYPE] [-U username[%password]] [createupn=UPN] 
[createcomputer=OU] [options]/title
 
 para
 Join a domain.  If the account already exists on the server, and 
@@ -194,6 +194,19 @@
 [TYPE] may be PDC, BDC or MEMBER to specify the type of server
 joining the domain.
 /para
+
+para
+[UPN] (ADS only) set the principalname attribute during the join.  The default
+format is host/[EMAIL PROTECTED]
+/para
+
+para
+[OU] (ADS only) Precreate the computer account in a specific OU.  The
+OU string reads from top to bottom without RDNs, and is delimited by
+a '/'.  Please note that '\' is used for escape by both the shell
+and ldap, so it may need to be doubled or quadrupled to pass through, 
+and it is not used as a delimiter.
+/para
 /refsect2
 
 refsect2



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

2006-12-12 Thread metze
Author: metze
Date: 2006-12-12 16:56:53 + (Tue, 12 Dec 2006)
New Revision: 20120

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

Log:
fix the talloc hierachy and make ildb a child of module

metze
Modified:
   branches/SAMBA_4_0/source/lib/ldb/ldb_ildap/ldb_ildap.c


Changeset:
Modified: branches/SAMBA_4_0/source/lib/ldb/ldb_ildap/ldb_ildap.c
===
--- branches/SAMBA_4_0/source/lib/ldb/ldb_ildap/ldb_ildap.c 2006-12-12 
16:40:57 UTC (rev 20119)
+++ branches/SAMBA_4_0/source/lib/ldb/ldb_ildap/ldb_ildap.c 2006-12-12 
16:56:53 UTC (rev 20120)
@@ -54,6 +54,7 @@
 struct ildb_private {
struct ldap_connection *ldap;
struct ldb_context *ldb;
+   struct ldb_module *module;
 };
 
 struct ildb_context {
@@ -738,20 +739,32 @@
 */
 static int ildb_connect(struct ldb_context *ldb, const char *url, 
unsigned int flags, const char *options[],
-   struct ldb_module **module)
+   struct ldb_module **_module)
 {
-   struct ildb_private *ildb = NULL;
+   struct ldb_module *module;
+   struct ildb_private *ildb;
NTSTATUS status;
struct cli_credentials *creds;
 
-   ildb = talloc(ldb, struct ildb_private);
+   module = talloc(ldb, struct ldb_module);
+   if (!module) {
+   ldb_oom(ldb);
+   return -1;
+   }
+   talloc_set_name_const(module, ldb_ildap backend);
+   module-ldb = ldb;
+   module-prev= module-next = NULL;
+   module-private_data= NULL;
+   module-ops = ildb_ops;
+
+   ildb = talloc(module, struct ildb_private);
if (!ildb) {
ldb_oom(ldb);
goto failed;
}
-
-   ildb-ldb = ldb;
-
+   module-private_data= ildb;
+   ildb-ldb   = ldb;
+   ildb-module= module;
ildb-ldap = ldap4_new_connection(ildb, ldb_get_opaque(ldb, 
EventContext));
if (!ildb-ldap) {
ldb_oom(ldb);
@@ -769,19 +782,6 @@
goto failed;
}
 
-
-   *module = talloc(ldb, struct ldb_module);
-   if (!module) {
-   ldb_oom(ldb);
-   talloc_free(ildb);
-   return -1;
-   }
-   talloc_set_name_const(*module, ldb_ildap backend);
-   (*module)-ldb = ldb;
-   (*module)-prev = (*module)-next = NULL;
-   (*module)-private_data = ildb;
-   (*module)-ops = ildb_ops;
-
/* caller can optionally setup credentials using the opaque token 
'credentials' */
creds = talloc_get_type(ldb_get_opaque(ldb, credentials), struct 
cli_credentials);
if (creds == NULL) {
@@ -811,10 +811,11 @@
}
}
 
+   *_module = module;
return 0;
 
 failed:
-   talloc_free(ildb);
+   talloc_free(module);
return -1;
 }
 



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

2006-12-12 Thread metze
Author: metze
Date: 2006-12-12 17:14:58 + (Tue, 12 Dec 2006)
New Revision: 20121

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

Log:
pass down the ldb_request struct to ildb_request_send(),
also pass ildb instead of module, to avoid multiple talloc_get_type() calls

metze
Modified:
   branches/SAMBA_4_0/source/lib/ldb/ldb_ildap/ldb_ildap.c


Changeset:
Modified: branches/SAMBA_4_0/source/lib/ldb/ldb_ildap/ldb_ildap.c
===
--- branches/SAMBA_4_0/source/lib/ldb/ldb_ildap/ldb_ildap.c 2006-12-12 
16:56:53 UTC (rev 20120)
+++ branches/SAMBA_4_0/source/lib/ldb/ldb_ildap/ldb_ildap.c 2006-12-12 
17:14:58 UTC (rev 20121)
@@ -356,14 +356,9 @@
return h;
 }
 
-static int ildb_request_send(struct ldb_module *module, struct ldap_message 
*msg,
-void *context,
-int (*callback)(struct ldb_context *, void *, 
struct ldb_reply *),
-int timeout,
-struct ldb_handle **handle)
+static int ildb_request_send(struct ildb_private *ildb, struct ldap_message 
*msg, struct ldb_request *r)
 {
-   struct ildb_private *ildb = talloc_get_type(module-private_data, 
struct ildb_private);
-   struct ldb_handle *h = init_ildb_handle(module, context, callback);
+   struct ldb_handle *h = init_ildb_handle(ildb-module, r-context, 
r-callback);
struct ildb_context *ildb_ac;
struct ldap_request *req;
 
@@ -375,28 +370,28 @@
 
req = ldap_request_send(ildb-ldap, msg);
if (req == NULL) {
-   ldb_set_errstring(module-ldb, async send request failed);
+   ldb_set_errstring(ildb-module-ldb, async send request 
failed);
return LDB_ERR_OPERATIONS_ERROR;
}
 
if (!req-conn) {
-   ldb_set_errstring(module-ldb, connection to remote LDAP 
server dropped?);
+   ldb_set_errstring(ildb-module-ldb, connection to remote LDAP 
server dropped?);
return LDB_ERR_OPERATIONS_ERROR;
}
 
talloc_free(req-time_event);
req-time_event = NULL;
-   if (timeout) {
+   if (r-timeout) {
req-time_event = event_add_timed(req-conn-event.event_ctx, 
h, 
- timeval_current_ofs(timeout, 
0),
+ 
timeval_current_ofs(r-timeout, 0),
  ildb_request_timeout, h);
}
 
req-async.fn = ildb_callback;
-   req-async.private_data = (void *)h;
+   req-async.private_data = h;
ildb_ac-req = talloc_move(ildb_ac, req);
 
-   *handle = h;
+   r-handle = h;
return LDB_SUCCESS;
 }
 
@@ -478,7 +473,7 @@
msg-r.SearchRequest.attributes = discard_const(req-op.search.attrs);
msg-controls = req-controls;
 
-   return ildb_request_send(module, msg, req-context, req-callback, 
req-timeout, (req-handle));
+   return ildb_request_send(ildb, msg, req);
 }
 
 /*
@@ -528,7 +523,7 @@
msg-r.AddRequest.attributes[i] = mods[i]-attrib;
}
 
-   return ildb_request_send(module, msg, req-context, req-callback, 
req-timeout, (req-handle));
+   return ildb_request_send(ildb, msg, req);
 }
 
 /*
@@ -578,7 +573,7 @@
msg-r.ModifyRequest.mods[i] = *mods[i];
}
 
-   return ildb_request_send(module, msg, req-context, req-callback, 
req-timeout, (req-handle));
+   return ildb_request_send(ildb, msg, req);
 }
 
 /*
@@ -609,7 +604,7 @@
return LDB_ERR_INVALID_DN_SYNTAX;
}
 
-   return ildb_request_send(module, msg, req-context, req-callback, 
req-timeout, (req-handle));
+   return ildb_request_send(ildb, msg, req);
 }
 
 /*
@@ -657,7 +652,7 @@
 
msg-r.ModifyDNRequest.deleteolddn = True;
 
-   return ildb_request_send(module, msg, req-context, req-callback, 
req-timeout, (req-handle));
+   return ildb_request_send(ildb, msg, req);
 }
 
 static int ildb_start_trans(struct ldb_module *module)



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

2006-12-12 Thread metze
Author: metze
Date: 2006-12-12 17:20:38 + (Tue, 12 Dec 2006)
New Revision: 20122

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

Log:
pass ildb to ildb_request_noop()

metze
Modified:
   branches/SAMBA_4_0/source/lib/ldb/ldb_ildap/ldb_ildap.c


Changeset:
Modified: branches/SAMBA_4_0/source/lib/ldb/ldb_ildap/ldb_ildap.c
===
--- branches/SAMBA_4_0/source/lib/ldb/ldb_ildap/ldb_ildap.c 2006-12-12 
17:14:58 UTC (rev 20121)
+++ branches/SAMBA_4_0/source/lib/ldb/ldb_ildap/ldb_ildap.c 2006-12-12 
17:20:38 UTC (rev 20122)
@@ -395,9 +395,9 @@
return LDB_SUCCESS;
 }
 
-static int ildb_request_noop(struct ldb_module *module, struct ldb_request 
*req) 
+static int ildb_request_noop(struct ildb_private *ildb, struct ldb_request 
*req) 
 {
-   struct ldb_handle *h = init_ildb_handle(module, req-context, 
req-callback);
+   struct ldb_handle *h = init_ildb_handle(ildb-module, req-context, 
req-callback);
struct ildb_context *ildb_ac;
int ret = LDB_SUCCESS;
 
@@ -406,11 +406,11 @@
}
 
ildb_ac = talloc_get_type(h-private_data, struct ildb_context);
-   
+
req-handle = h;
 
if (ildb_ac-callback) {
-   ret = ildb_ac-callback(module-ldb, ildb_ac-context, NULL);
+   ret = ildb_ac-callback(ildb-module-ldb, ildb_ac-context, 
NULL);
}
req-handle-state = LDB_ASYNC_DONE;
return ret;
@@ -490,7 +490,7 @@
 
/* ignore ltdb specials */
if (ldb_dn_is_special(req-op.add.message-dn)) {
-   return ildb_request_noop(module, req);
+   return ildb_request_noop(ildb, req);
}
 
msg = new_ldap_message(ildb-ldap);
@@ -540,7 +540,7 @@
 
/* ignore ltdb specials */
if (ldb_dn_is_special(req-op.mod.message-dn)) {
-   return ildb_request_noop(module, req);
+   return ildb_request_noop(ildb, req);
}
 
msg = new_ldap_message(ildb-ldap);
@@ -588,7 +588,7 @@
 
/* ignore ltdb specials */
if (ldb_dn_is_special(req-op.del.dn)) {
-   return ildb_request_noop(module, req);
+   return ildb_request_noop(ildb, req);
}
 
msg = new_ldap_message(ildb-ldap);
@@ -619,7 +619,7 @@
 
/* ignore ltdb specials */
if (ldb_dn_is_special(req-op.rename.olddn) || 
ldb_dn_is_special(req-op.rename.newdn)) {
-   return ildb_request_noop(module, req);
+   return ildb_request_noop(ildb, req);
}
 
msg = new_ldap_message(ildb-ldap);



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

2006-12-12 Thread metze
Author: metze
Date: 2006-12-12 17:37:41 + (Tue, 12 Dec 2006)
New Revision: 20123

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

Log:
- avoid some more talloc_get_type() calls
- pass down ldb_request

metze
Modified:
   branches/SAMBA_4_0/source/lib/ldb/ldb_ildap/ldb_ildap.c


Changeset:
Modified: branches/SAMBA_4_0/source/lib/ldb/ldb_ildap/ldb_ildap.c
===
--- branches/SAMBA_4_0/source/lib/ldb/ldb_ildap/ldb_ildap.c 2006-12-12 
17:20:38 UTC (rev 20122)
+++ branches/SAMBA_4_0/source/lib/ldb/ldb_ildap/ldb_ildap.c 2006-12-12 
17:37:41 UTC (rev 20123)
@@ -59,6 +59,8 @@
 
 struct ildb_context {
struct ldb_module *module;
+   struct ildb_private *ildb;
+   struct ldb_handle *handle;
struct ldap_request *req;
void *context;
int (*callback)(struct ldb_context *, void *, struct ldb_reply *);
@@ -321,53 +323,51 @@
}
 }
 
-static struct ldb_handle *init_ildb_handle(struct ldb_module *module, 
-  void *context,
-  int (*callback)(struct ldb_context 
*, void *, struct ldb_reply *))
+static struct ildb_context *init_ildb_handle(struct ildb_private *ildb,
+struct ldb_request *req)
 {
-   struct ildb_private *ildb = talloc_get_type(module-private_data, 
struct ildb_private);
struct ildb_context *ildb_ac;
struct ldb_handle *h;
 
h = talloc_zero(ildb-ldap, struct ldb_handle);
if (h == NULL) {
-   ldb_set_errstring(module-ldb, Out of Memory);
+   ldb_set_errstring(ildb-module-ldb, Out of Memory);
return NULL;
}
 
-   h-module = module;
+   h-module = ildb-module;
 
ildb_ac = talloc(h, struct ildb_context);
if (ildb_ac == NULL) {
-   ldb_set_errstring(module-ldb, Out of Memory);
+   ldb_set_errstring(ildb-module-ldb, Out of Memory);
talloc_free(h);
return NULL;
}
 
-   h-private_data = (void *)ildb_ac;
+   h-private_data = ildb_ac;
 
h-state = LDB_ASYNC_INIT;
h-status = LDB_SUCCESS;
 
-   ildb_ac-module = module;
-   ildb_ac-context = context;
-   ildb_ac-callback = callback;
+   ildb_ac-module = ildb-module;
+   ildb_ac-ildb = ildb;
+   ildb_ac-handle = h;
+   ildb_ac-context = req-context;
+   ildb_ac-callback = req-callback;
 
-   return h;
+   req-handle = h;
+   return ildb_ac;
 }
 
 static int ildb_request_send(struct ildb_private *ildb, struct ldap_message 
*msg, struct ldb_request *r)
 {
-   struct ldb_handle *h = init_ildb_handle(ildb-module, r-context, 
r-callback);
-   struct ildb_context *ildb_ac;
+   struct ildb_context *ildb_ac = init_ildb_handle(ildb, r);
struct ldap_request *req;
 
-   if (!h) {
+   if (!ildb_ac) {
return LDB_ERR_OPERATIONS_ERROR;
}
 
-   ildb_ac = talloc_get_type(h-private_data, struct ildb_context);
-
req = ldap_request_send(ildb-ldap, msg);
if (req == NULL) {
ldb_set_errstring(ildb-module-ldb, async send request 
failed);
@@ -382,37 +382,31 @@
talloc_free(req-time_event);
req-time_event = NULL;
if (r-timeout) {
-   req-time_event = event_add_timed(req-conn-event.event_ctx, 
h, 
+   req-time_event = event_add_timed(req-conn-event.event_ctx, 
ildb_ac-handle, 
  
timeval_current_ofs(r-timeout, 0),
- ildb_request_timeout, h);
+ ildb_request_timeout, 
ildb_ac-handle);
}
 
req-async.fn = ildb_callback;
-   req-async.private_data = h;
+   req-async.private_data = ildb_ac-handle;
ildb_ac-req = talloc_move(ildb_ac, req);
 
-   r-handle = h;
return LDB_SUCCESS;
 }
 
 static int ildb_request_noop(struct ildb_private *ildb, struct ldb_request 
*req) 
 {
-   struct ldb_handle *h = init_ildb_handle(ildb-module, req-context, 
req-callback);
-   struct ildb_context *ildb_ac;
+   struct ildb_context *ildb_ac = init_ildb_handle(ildb, req);
int ret = LDB_SUCCESS;
 
-   if (!h) {
+   if (!ildb_ac) {
return LDB_ERR_OPERATIONS_ERROR;
}
 
-   ildb_ac = talloc_get_type(h-private_data, struct ildb_context);
-
-   req-handle = h;
-
if (ildb_ac-callback) {
ret = ildb_ac-callback(ildb-module-ldb, ildb_ac-context, 
NULL);
}
-   req-handle-state = LDB_ASYNC_DONE;
+   ildb_ac-handle-state = LDB_ASYNC_DONE;
return ret;
 }
 



svn commit: samba r20124 - in branches/SAMBA_3_0/source: client include libsmb modules nsswitch printing smbd

2006-12-12 Thread herb
Author: herb
Date: 2006-12-12 17:38:42 + (Tue, 12 Dec 2006)
New Revision: 20124

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

Log:
clean up nested extern declaration warnings


Modified:
   branches/SAMBA_3_0/source/client/smbmount.c
   branches/SAMBA_3_0/source/include/smb_macros.h
   branches/SAMBA_3_0/source/libsmb/clientgen.c
   branches/SAMBA_3_0/source/modules/vfs_expand_msdfs.c
   branches/SAMBA_3_0/source/modules/vfs_full_audit.c
   branches/SAMBA_3_0/source/nsswitch/winbindd_ads.c
   branches/SAMBA_3_0/source/nsswitch/winbindd_cache.c
   branches/SAMBA_3_0/source/nsswitch/winbindd_cm.c
   branches/SAMBA_3_0/source/nsswitch/winbindd_dual.c
   branches/SAMBA_3_0/source/nsswitch/winbindd_util.c
   branches/SAMBA_3_0/source/printing/print_generic.c
   branches/SAMBA_3_0/source/printing/printing.c
   branches/SAMBA_3_0/source/smbd/blocking.c
   branches/SAMBA_3_0/source/smbd/nttrans.c
   branches/SAMBA_3_0/source/smbd/sesssetup.c


Changeset:
Modified: branches/SAMBA_3_0/source/client/smbmount.c
===
--- branches/SAMBA_3_0/source/client/smbmount.c 2006-12-12 17:37:41 UTC (rev 
20123)
+++ branches/SAMBA_3_0/source/client/smbmount.c 2006-12-12 17:38:42 UTC (rev 
20124)
@@ -26,6 +26,8 @@
 
 extern BOOL in_client;
 extern pstring user_socket_options;
+extern char *optarg;
+extern int optind;
 
 static pstring credentials;
 static pstring my_netbios_name;
@@ -712,7 +714,6 @@
int opt;
char *opts;
char *opteq;
-   extern char *optarg;
int val;
char *p;
 
@@ -862,8 +863,6 @@
 /
  int main(int argc,char *argv[])
 {
-   extern char *optarg;
-   extern int optind;
char *p;
 
DEBUGLEVEL = 1;

Modified: branches/SAMBA_3_0/source/include/smb_macros.h
===
--- branches/SAMBA_3_0/source/include/smb_macros.h  2006-12-12 17:37:41 UTC 
(rev 20123)
+++ branches/SAMBA_3_0/source/include/smb_macros.h  2006-12-12 17:38:42 UTC 
(rev 20124)
@@ -86,10 +86,10 @@
 #define IS_IPC(conn)   ((conn)  (conn)-ipc)
 #define IS_PRINT(conn)   ((conn)  (conn)-printer)
 /* you must add the following extern declaration to files using this macro
+ * (do not add it to the macro as that causes nested extern declaration 
warnings)
  * extern struct current_user current_user;
  */
 #define FSP_BELONGS_CONN(fsp,conn) do {\
-   extern struct current_user current_user;\
if (!((fsp)  (conn)  ((conn)==(fsp)-conn)  
(current_user.vuid==(fsp)-vuid))) \
return ERROR_NT(NT_STATUS_INVALID_HANDLE); \
} while(0)
@@ -97,10 +97,10 @@
 #define FNUM_OK(fsp,c) ((fsp)  !(fsp)-is_directory  (c)==(fsp)-conn  
current_user.vuid==(fsp)-vuid)
 
 /* you must add the following extern declaration to files using this macro
+ * (do not add it to the macro as that causes nested extern declaration 
warnings)
  * extern struct current_user current_user;
  */
 #define CHECK_FSP(fsp,conn) do {\
-   extern struct current_user current_user;\
if (!(fsp) || !(conn)) \
return ERROR_NT(NT_STATUS_INVALID_HANDLE); \
else if (((conn) != (fsp)-conn) || current_user.vuid 
!= (fsp)-vuid) \

Modified: branches/SAMBA_3_0/source/libsmb/clientgen.c
===
--- branches/SAMBA_3_0/source/libsmb/clientgen.c2006-12-12 17:37:41 UTC 
(rev 20123)
+++ branches/SAMBA_3_0/source/libsmb/clientgen.c2006-12-12 17:38:42 UTC 
(rev 20124)
@@ -20,6 +20,8 @@
 
 #include includes.h
 
+extern int smb_read_error;
+
 /
  Change the timeout (in milliseconds).
 /
@@ -79,7 +81,6 @@
 
 BOOL cli_receive_smb(struct cli_state *cli)
 {
-   extern int smb_read_error;
BOOL ret;
 
/* fd == -1 causes segfaults -- Tom ([EMAIL PROTECTED]) */

Modified: branches/SAMBA_3_0/source/modules/vfs_expand_msdfs.c
===
--- branches/SAMBA_3_0/source/modules/vfs_expand_msdfs.c2006-12-12 
17:37:41 UTC (rev 20123)
+++ branches/SAMBA_3_0/source/modules/vfs_expand_msdfs.c2006-12-12 
17:38:42 UTC (rev 20124)
@@ -23,6 +23,8 @@
 #undef DBGC_CLASS
 #define DBGC_CLASS DBGC_VFS
 
+extern userdom_struct current_user_info;
+
 /**
   Under mapfile we expect a table of the following format:
 
@@ -110,7 +112,6 @@
int filename_len;
pstring targethost;
pstring new_target;
-   extern userdom_struct current_user_info;
 
if 

Rev 37: Raw implementation done. in http://samba.org/~tridge/psomogyi/

2006-12-12 Thread psomogyi

revno: 37
revision-id: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
committer: Peter Somogyi [EMAIL PROTECTED]
branch nick: ctdb
timestamp: Tue 2006-12-12 19:09:16 +0100
message:
  Raw implementation done.
  Let's start compilation...
modified:
  ib/ibwrapper.c ibwrapper.c-20061204130028-0125b4f5a72f4b11
  ib/ibwrapper.h ibwrapper.h-20061204130028-32755c6266dd3c49
  ib/ibwrapper_internal.h
ibwrapper_internal.h-20061204130028-47f0a7e658b16ca2
=== modified file 'ib/ibwrapper.c'
--- a/ib/ibwrapper.c2006-12-11 18:56:15 +
+++ b/ib/ibwrapper.c2006-12-12 18:09:16 +
@@ -42,33 +42,34 @@
 #define IBW_LASTERR_BUFSIZE 512
 static char ibw_lasterr[IBW_LASTERR_BUFSIZE];
 
+static void ibw_event_handler_verbs(struct event_context *ev,
+   struct fd_event *fde, uint16_t flags, void *private_data);
+
 static int ibw_init_memory(ibw_conn *conn)
 {
ibw_ctx_priv *pctx = talloc_get_type(conn-ctx-internal, ibw_ctx_priv);
ibw_conn_priv *pconn = talloc_get_type(conn-internal, ibw_conn_priv);
 
-   int i, num_msg;
+   int i;
ibw_wr  *p;
 
-   /* didn't find any reason to split send  recv buffer handling */
-   num_msg = pctx-opts.max_recv_wr + pctx-opts.max_send_wr;
-
-   pconn-buf = memalign(pctx-page_size, pctx-opts.max_msg_size);
+   pconn-buf = memalign(pctx-page_size, pctx-max_msg_size);
if (!pconn-buf) {
sprintf(ibw_lasterr, couldn't allocate work buf\n);
return -1;
}
-   pconn-mr = ibv_reg_mr(pctx-pd, pconn-buf, pctx-opts.bufsize, 
IBV_ACCESS_LOCAL_WRITE);
+   pconn-mr = ibv_reg_mr(pctx-pd, pconn-buf,
+   pctx-qsize * pctx-max_msg_size, IBV_ACCESS_LOCAL_WRITE);
if (!pconn-mr) {
-   sprintf(ibw_lasterr, Couldn't allocate mr\n);
+   sprintf(ibw_lasterr, couldn't allocate mr\n);
return -1;
}
 
-   pconn-wr_index = talloc_size(pconn, num_msg * sizeof(ibw_wr *));
+   pconn-wr_index = talloc_size(pconn, pctx-qsize * sizeof(ibw_wr *));
 
-   for(i=0; inum_msg; i++) {
+   for(i=0; ipctx-qsize; i++) {
p = pconn-wr_index[i] = talloc_zero(pconn, ibw_wr);
-   p-msg = pconn-buf + (i * pconn-opts.max_msg_size);
+   p-msg = pconn-buf + (i * pctx-max_msg_size);
p-wr_id = i;
 
DLIST_ADD(pconn-mr_list_avail, p);
@@ -82,17 +83,6 @@
ibw_ctx *pctx = talloc_get_type(ctx-internal, ibw_ctx_priv);
assert(pctx!=NULL);
 
-   if (pctx-verbs_channel) {
-   ibv_destroy_comp_channel(pctx-verbs_channel);
-   pctx-verbs_channel = NULL;
-   }
-
-   if (pctx-verbs_channel_event) {
-   /* TODO: do we have to do this here? */
-   talloc_free(pctx-verbs_channel_event);
-   pctx-verbs_channel_event = NULL;
-   }
-
if (pctx-pd) {
ibv_dealloc_pd(pctx-pd);
pctx-pd = NULL;
@@ -149,6 +139,15 @@
ibv_destroy_cq(pconn-cq);
pconn-cq = NULL;
}
+   if (pconn-verbs_channel) {
+   ibv_destroy_comp_channel(pconn-verbs_channel);
+   pconn-verbs_channel = NULL;
+   }
+   if (pconn-verbs_channel_event) {
+   /* TODO: do we have to do this here? */
+   talloc_free(pconn-verbs_channel_event);
+   pconn-verbs_channel_event = NULL;
+   }
if (pconn-cm_id) {
rdma_destroy_id(pctx-cm_id);
pctx-cm_id = NULL;
@@ -195,30 +194,44 @@
struct ibv_qp_init_attr init_attr;
int rc;
 
+   /* init mr */
if (ibw_init_memory(conn))
return -1;
 
-   pctx-cq = ibv_create_cq(conn-cm_id-verbs, pctx-opts.max_send_wr + 
pctx-opts.max_recv_wr,
-   ctx, ctx-verbs_channel, 0);
+   /* init verbs */
+   pconn-verbs_channel = ibv_create_comp_channel(pconn-cm_id-verbs);
+   if (!pconn-verbs_channel) {
+   sprintf(ibw_lasterr, ibv_create_comp_channel failed %d\n, 
errno);
+   goto cleanup;
+   }
+   DEBUG(10, created channel %p\n, pconn-channel);
+
+   pconn-verbs_channel_event = event_add_fd(pctx-ectx, conn,
+   pconn-verbs_channel-fd, EVENT_FD_READ, 
ibw_event_handler_verbs, conn);
+
+   /* init cq */
+   pconn-cq = ibv_create_cq(conn-cm_id-verbs, pctx-qsize,
+   conn, pconn-verbs_channel, 0);
if (cq==NULL) {
sprintf(ibw_lasterr, ibv_create_cq failed\n);
return -1;
}
 
-   rc = ibv_req_notify_cq(pctx-cq, 0);
+   rc = ibv_req_notify_cq(pconn-cq, 0);
if (rc) {
sprintf(ibw_lasterr, ibv_req_notify_cq failed with %d\n, rc);
return rc;
}
 
+   /* init qp */
memset(init_attr, 0, sizeof(init_attr));
   

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

2006-12-12 Thread metze
Author: metze
Date: 2006-12-12 18:14:31 + (Tue, 12 Dec 2006)
New Revision: 20125

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

Log:
fix some ugly mem leaks in the ldb_ildb backend

metze
Modified:
   branches/SAMBA_4_0/source/lib/ldb/ldb_ildap/ldb_ildap.c


Changeset:
Modified: branches/SAMBA_4_0/source/lib/ldb/ldb_ildap/ldb_ildap.c
===
--- branches/SAMBA_4_0/source/lib/ldb/ldb_ildap/ldb_ildap.c 2006-12-12 
17:38:42 UTC (rev 20124)
+++ branches/SAMBA_4_0/source/lib/ldb/ldb_ildap/ldb_ildap.c 2006-12-12 
18:14:31 UTC (rev 20125)
@@ -329,7 +329,7 @@
struct ildb_context *ildb_ac;
struct ldb_handle *h;
 
-   h = talloc_zero(ildb-ldap, struct ldb_handle);
+   h = talloc_zero(req, struct ldb_handle);
if (h == NULL) {
ldb_set_errstring(ildb-module-ldb, Out of Memory);
return NULL;
@@ -373,6 +373,7 @@
ldb_set_errstring(ildb-module-ldb, async send request 
failed);
return LDB_ERR_OPERATIONS_ERROR;
}
+   ildb_ac-req = talloc_steal(ildb_ac, req);
 
if (!req-conn) {
ldb_set_errstring(ildb-module-ldb, connection to remote LDAP 
server dropped?);
@@ -389,7 +390,6 @@
 
req-async.fn = ildb_callback;
req-async.private_data = ildb_ac-handle;
-   ildb_ac-req = talloc_move(ildb_ac, req);
 
return LDB_SUCCESS;
 }
@@ -431,7 +431,7 @@
return LDB_ERR_OPERATIONS_ERROR;
}
 
-   msg = new_ldap_message(ildb);
+   msg = new_ldap_message(req);
if (msg == NULL) {
ldb_set_errstring(module-ldb, Out of Memory);
return LDB_ERR_OPERATIONS_ERROR;
@@ -487,7 +487,7 @@
return ildb_request_noop(ildb, req);
}
 
-   msg = new_ldap_message(ildb-ldap);
+   msg = new_ldap_message(req);
if (msg == NULL) {
return LDB_ERR_OPERATIONS_ERROR;
}
@@ -537,7 +537,7 @@
return ildb_request_noop(ildb, req);
}
 
-   msg = new_ldap_message(ildb-ldap);
+   msg = new_ldap_message(req);
if (msg == NULL) {
return LDB_ERR_OPERATIONS_ERROR;
}
@@ -585,7 +585,7 @@
return ildb_request_noop(ildb, req);
}
 
-   msg = new_ldap_message(ildb-ldap);
+   msg = new_ldap_message(req);
if (msg == NULL) {
return LDB_ERR_OPERATIONS_ERROR;
}
@@ -616,7 +616,7 @@
return ildb_request_noop(ildb, req);
}
 
-   msg = new_ldap_message(ildb-ldap);
+   msg = new_ldap_message(req);
if (msg == NULL) {
return LDB_ERR_OPERATIONS_ERROR;
}



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

2006-12-12 Thread metze
Author: metze
Date: 2006-12-12 18:25:19 + (Tue, 12 Dec 2006)
New Revision: 20126

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

Log:
fix talloc hierachy and make lldb a child of module

metze
Modified:
   branches/SAMBA_4_0/source/lib/ldb/ldb_ldap/ldb_ldap.c


Changeset:
Modified: branches/SAMBA_4_0/source/lib/ldb/ldb_ldap/ldb_ldap.c
===
--- branches/SAMBA_4_0/source/lib/ldb/ldb_ldap/ldb_ldap.c   2006-12-12 
18:14:31 UTC (rev 20125)
+++ branches/SAMBA_4_0/source/lib/ldb/ldb_ldap/ldb_ldap.c   2006-12-12 
18:25:19 UTC (rev 20126)
@@ -47,6 +47,7 @@
 
 struct lldb_private {
LDAP *ldap;
+   struct ldb_module *module;
 };
 
 struct lldb_context {
@@ -786,20 +787,34 @@
const char *url, 
unsigned int flags, 
const char *options[],
-   struct ldb_module **module)
+   struct ldb_module **_module)
 {
-   struct lldb_private *lldb = NULL;
+   struct ldb_module *module;
+   struct lldb_private *lldb;
int version = 3;
int ret;
 
-   lldb = talloc(ldb, struct lldb_private);
+   module = talloc(ldb, struct ldb_module);
+   if (module == NULL) {
+   ldb_oom(ldb);
+   talloc_free(lldb);
+   return -1;
+   }
+   talloc_set_name_const(module, ldb_ldap backend);
+   module-ldb = ldb;
+   module-prev= module-next = NULL;
+   module-private_data= NULL;
+   module-ops = lldb_ops;
+
+   lldb = talloc(module, struct lldb_private);
if (!lldb) {
ldb_oom(ldb);
goto failed;
}
+   module-private_data= lldb;
+   lldb-module= module;
+   lldb-ldap  = NULL;
 
-   lldb-ldap = NULL;
-
ret = ldap_initialize(lldb-ldap, url);
if (ret != LDAP_SUCCESS) {
ldb_debug(ldb, LDB_DEBUG_FATAL, ldap_initialize failed for URL 
'%s' - %s\n,
@@ -816,22 +831,11 @@
goto failed;
}
 
-   *module = talloc(ldb, struct ldb_module);
-   if (*module == NULL) {
-   ldb_oom(ldb);
-   talloc_free(lldb);
-   return -1;
-   }
-   talloc_set_name_const(*module, ldb_ldap backend);
-   (*module)-ldb = ldb;
-   (*module)-prev = (*module)-next = NULL;
-   (*module)-private_data = lldb;
-   (*module)-ops = lldb_ops;
-
+   *_module = module;
return 0;
 
 failed:
-   talloc_free(lldb);
+   talloc_free(module);
return -1;
 }
 



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

2006-12-12 Thread metze
Author: metze
Date: 2006-12-12 18:45:12 + (Tue, 12 Dec 2006)
New Revision: 20127

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

Log:
- allocate ldb_handle under ldb_request! fix a mem leak
- pass ldb_request to init_lldb_handle()
- remove some useless talloc_get_type() calls

metze
Modified:
   branches/SAMBA_4_0/source/lib/ldb/ldb_ldap/ldb_ldap.c


Changeset:
Modified: branches/SAMBA_4_0/source/lib/ldb/ldb_ldap/ldb_ldap.c
===
--- branches/SAMBA_4_0/source/lib/ldb/ldb_ldap/ldb_ldap.c   2006-12-12 
18:25:19 UTC (rev 20126)
+++ branches/SAMBA_4_0/source/lib/ldb/ldb_ldap/ldb_ldap.c   2006-12-12 
18:45:12 UTC (rev 20127)
@@ -51,7 +51,8 @@
 };
 
 struct lldb_context {
-   struct ldb_module *module;
+   struct lldb_private *lldb;
+   struct ldb_handle *handle;
int msgid;
int timeout;
time_t starttime;
@@ -64,42 +65,41 @@
return err;
 }
 
-static struct ldb_handle *init_handle(struct lldb_private *lldb, struct 
ldb_module *module,
-   void *context,
-   int (*callback)(struct ldb_context 
*, void *, struct ldb_reply *),
-   int timeout, time_t starttime)
+static struct lldb_context *init_lldb_handle(struct lldb_private *lldb, struct 
ldb_request *req)
 {
struct lldb_context *ac;
struct ldb_handle *h;
 
-   h = talloc_zero(lldb, struct ldb_handle);
+   h = talloc_zero(req, struct ldb_handle);
if (h == NULL) {
-   ldb_set_errstring(module-ldb, Out of Memory);
+   ldb_set_errstring(lldb-module-ldb, Out of Memory);
return NULL;
}
 
-   h-module = module;
+   h-module = lldb-module;
 
ac = talloc(h, struct lldb_context);
if (ac == NULL) {
-   ldb_set_errstring(module-ldb, Out of Memory);
+   ldb_set_errstring(lldb-module-ldb, Out of Memory);
talloc_free(h);
return NULL;
}
 
-   h-private_data = (void *)ac;
+   h-private_data = ac;
 
h-state = LDB_ASYNC_INIT;
h-status = LDB_SUCCESS;
 
-   ac-module = module;
-   ac-context = context;
-   ac-callback = callback;
-   ac-timeout = timeout;
-   ac-starttime = starttime;
+   ac-lldb = lldb;
+   ac-handle = h;
+   ac-context = req-context;
+   ac-callback = req-callback;
+   ac-timeout = req-timeout;
+   ac-starttime = req-starttime;
ac-msgid = 0;
 
-   return h;
+   req-handle = h;
+   return ac;
 }
 /*
   convert a ldb_message structure to a list of LDAPMod structures
@@ -256,13 +256,11 @@
ldb_debug(module-ldb, LDB_DEBUG_WARNING, Controls are not yet 
supported by ldb_ldap backend!\n);
}
 
-   req-handle = init_handle(lldb, module, req-context, req-callback, 
req-timeout, req-starttime);
-   if (req-handle == NULL) {
+   lldb_ac = init_lldb_handle(lldb, req);
+   if (lldb_ac == NULL) {
return LDB_ERR_OPERATIONS_ERROR;
}
 
-   lldb_ac = talloc_get_type(req-handle-private_data, struct 
lldb_context);
-
search_base = ldb_dn_alloc_linearized(lldb_ac, req-op.search.base);
if (req-op.search.base == NULL) {
search_base = talloc_strdup(lldb_ac, );
@@ -324,13 +322,11 @@
return LDB_ERR_INVALID_DN_SYNTAX;
}
 
-   req-handle = init_handle(lldb, module, req-context, req-callback, 
req-timeout, req-starttime);
-   if (req-handle == NULL) {
+   lldb_ac = init_lldb_handle(lldb, req);
+   if (lldb_ac == NULL) {
return LDB_ERR_OPERATIONS_ERROR;
}
 
-   lldb_ac = talloc_get_type(req-handle-private_data, struct 
lldb_context);
-
mods = lldb_msg_to_mods(lldb_ac, req-op.add.message, 0);
if (mods == NULL) {
return LDB_ERR_OPERATIONS_ERROR;
@@ -369,13 +365,11 @@
return LDB_ERR_INVALID_DN_SYNTAX;
}
 
-   req-handle = init_handle(lldb, module, req-context, req-callback, 
req-timeout, req-starttime);
+   lldb_ac = init_lldb_handle(lldb, req);
if (req-handle == NULL) {
return LDB_ERR_OPERATIONS_ERROR;
}
 
-   lldb_ac = talloc_get_type(req-handle-private_data, struct 
lldb_context);
-
mods = lldb_msg_to_mods(lldb_ac, req-op.mod.message, 1);
if (mods == NULL) {
return LDB_ERR_OPERATIONS_ERROR;
@@ -413,13 +407,11 @@
return LDB_ERR_INVALID_DN_SYNTAX;
}
 
-   req-handle = init_handle(lldb, module, req-context, req-callback, 
req-timeout, req-starttime);
-   if (req-handle == NULL) {
+   lldb_ac = init_lldb_handle(lldb, req);
+   if (lldb_ac == NULL) {
return LDB_ERR_OPERATIONS_ERROR;
}
 
-   lldb_ac = 

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

2006-12-12 Thread metze
Author: metze
Date: 2006-12-12 18:52:25 + (Tue, 12 Dec 2006)
New Revision: 20128

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

Log:
get rid of more talloc_get_type() calls

metze
Modified:
   branches/SAMBA_4_0/source/lib/ldb/ldb_ildap/ldb_ildap.c


Changeset:
Modified: branches/SAMBA_4_0/source/lib/ldb/ldb_ildap/ldb_ildap.c
===
--- branches/SAMBA_4_0/source/lib/ldb/ldb_ildap/ldb_ildap.c 2006-12-12 
18:45:12 UTC (rev 20127)
+++ branches/SAMBA_4_0/source/lib/ldb/ldb_ildap/ldb_ildap.c 2006-12-12 
18:52:25 UTC (rev 20128)
@@ -138,8 +138,8 @@
 static void ildb_request_timeout(struct event_context *ev, struct timed_event 
*te,
 struct timeval t, void *private_data)
 {
-   struct ldb_handle *handle = talloc_get_type(private_data, struct 
ldb_handle);
-   struct ildb_context *ac = talloc_get_type(handle-private_data, struct 
ildb_context);
+   struct ildb_context *ac = talloc_get_type(private_data, struct 
ildb_context);
+   struct ldb_handle *handle = ac-handle;
 
if (ac-req-state == LDAP_REQUEST_PENDING) {
DLIST_REMOVE(ac-req-conn-pending, ac-req);
@@ -152,9 +152,9 @@
 
 static void ildb_callback(struct ldap_request *req)
 {
-   struct ldb_handle *handle = talloc_get_type(req-async.private_data, 
struct ldb_handle);
-   struct ildb_context *ac = talloc_get_type(handle-private_data, struct 
ildb_context);
-   struct ildb_private *ildb = talloc_get_type(ac-module-private_data, 
struct ildb_private);
+   struct ildb_context *ac = talloc_get_type(req-async.private_data, 
struct ildb_context);
+   struct ldb_handle *handle = ac-handle;
+   struct ildb_private *ildb = ac-ildb;
NTSTATUS status;
int i;
 
@@ -383,13 +383,13 @@
talloc_free(req-time_event);
req-time_event = NULL;
if (r-timeout) {
-   req-time_event = event_add_timed(req-conn-event.event_ctx, 
ildb_ac-handle, 
+   req-time_event = event_add_timed(req-conn-event.event_ctx, 
ildb_ac, 
  
timeval_current_ofs(r-timeout, 0),
- ildb_request_timeout, 
ildb_ac-handle);
+ ildb_request_timeout, 
ildb_ac);
}
 
req-async.fn = ildb_callback;
-   req-async.private_data = ildb_ac-handle;
+   req-async.private_data = ildb_ac;
 
return LDB_SUCCESS;
 }



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

2006-12-12 Thread metze
Author: metze
Date: 2006-12-12 18:58:21 + (Tue, 12 Dec 2006)
New Revision: 20129

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

Log:
remove unused structure elements

metze
Modified:
   branches/SAMBA_4_0/source/lib/ldb/ldb_ildap/ldb_ildap.c


Changeset:
Modified: branches/SAMBA_4_0/source/lib/ldb/ldb_ildap/ldb_ildap.c
===
--- branches/SAMBA_4_0/source/lib/ldb/ldb_ildap/ldb_ildap.c 2006-12-12 
18:52:25 UTC (rev 20128)
+++ branches/SAMBA_4_0/source/lib/ldb/ldb_ildap/ldb_ildap.c 2006-12-12 
18:58:21 UTC (rev 20129)
@@ -53,12 +53,10 @@
 
 struct ildb_private {
struct ldap_connection *ldap;
-   struct ldb_context *ldb;
struct ldb_module *module;
 };
 
 struct ildb_context {
-   struct ldb_module *module;
struct ildb_private *ildb;
struct ldb_handle *handle;
struct ldap_request *req;
@@ -128,7 +126,7 @@
if (NT_STATUS_IS_OK(status)) {
return LDB_SUCCESS;
}
-   ldb_set_errstring(ildb-ldb, ldap_errstr(ildb-ldap, status));
+   ldb_set_errstring(ildb-module-ldb, ldap_errstr(ildb-ldap, status));
if (NT_STATUS_IS_LDAP(status)) {
return NT_STATUS_LDAP_CODE(status);
}
@@ -181,7 +179,7 @@
handle-status = ildb_map_error(ildb, status);
if (ac-callback  handle-status == LDB_SUCCESS) {
/* FIXME: build a corresponding ares to pass on */
-   handle-status = ac-callback(ac-module-ldb, 
ac-context, NULL);
+   handle-status = ac-callback(ac-ildb-module-ldb, 
ac-context, NULL);
}
handle-state = LDB_ASYNC_DONE;
break;
@@ -195,7 +193,7 @@
handle-status = ildb_map_error(ildb, status);
if (ac-callback  handle-status == LDB_SUCCESS) {
/* FIXME: build a corresponding ares to pass on */
-   handle-status = ac-callback(ac-module-ldb, 
ac-context, NULL);
+   handle-status = ac-callback(ac-ildb-module-ldb, 
ac-context, NULL);
}
handle-state = LDB_ASYNC_DONE;
break;
@@ -209,7 +207,7 @@
handle-status = ildb_map_error(ildb, status);
if (ac-callback  handle-status == LDB_SUCCESS) {
/* FIXME: build a corresponding ares to pass on */
-   handle-status = ac-callback(ac-module-ldb, 
ac-context, NULL);
+   handle-status = ac-callback(ac-ildb-module-ldb, 
ac-context, NULL);
}
handle-state = LDB_ASYNC_DONE;
break;
@@ -223,7 +221,7 @@
handle-status = ildb_map_error(ildb, status);
if (ac-callback  handle-status == LDB_SUCCESS) {
/* FIXME: build a corresponding ares to pass on */
-   handle-status = ac-callback(ac-module-ldb, 
ac-context, NULL);
+   handle-status = ac-callback(ac-ildb-module-ldb, 
ac-context, NULL);
}
handle-state = LDB_ASYNC_DONE;
break;
@@ -256,7 +254,7 @@
ares-controls = talloc_move(ares, 
msg-controls);
if (msg-r.SearchResultDone.resultcode) {
if 
(msg-r.SearchResultDone.errormessage) {
-   
ldb_set_errstring(ac-module-ldb, msg-r.SearchResultDone.errormessage);
+   
ldb_set_errstring(ac-ildb-module-ldb, msg-r.SearchResultDone.errormessage);
}
}
 
@@ -276,7 +274,7 @@
 
search = (msg-r.SearchResultEntry);

-   ares-message-dn = ldb_dn_new(ares-message, 
ac-module-ldb, search-dn);
+   ares-message-dn = ldb_dn_new(ares-message, 
ac-ildb-module-ldb, search-dn);
if ( ! ldb_dn_validate(ares-message-dn)) {
handle-status = 
LDB_ERR_OPERATIONS_ERROR;
return;
@@ -305,7 +303,7 @@
return;
}
 
-   ret = ac-callback(ac-module-ldb, ac-context, ares);
+   ret = ac-callback(ac-ildb-module-ldb, ac-context, 
ares);
if (ret) {
handle-status = ret;
}
@@ -349,7 +347,6 @@
h-state = LDB_ASYNC_INIT;
h-status = LDB_SUCCESS;
 
-   ildb_ac-module = ildb-module;
ildb_ac-ildb = ildb;
ildb_ac-handle = h;
ildb_ac-context = req-context;
@@ -752,7 +749,6 @@
goto failed;
   

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

2006-12-12 Thread metze
Author: metze
Date: 2006-12-12 19:02:14 + (Tue, 12 Dec 2006)
New Revision: 20130

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

Log:
remove one more talloc_get_type()

metze
Modified:
   branches/SAMBA_4_0/source/lib/ldb/ldb_ldap/ldb_ldap.c


Changeset:
Modified: branches/SAMBA_4_0/source/lib/ldb/ldb_ldap/ldb_ldap.c
===
--- branches/SAMBA_4_0/source/lib/ldb/ldb_ldap/ldb_ldap.c   2006-12-12 
18:58:21 UTC (rev 20129)
+++ branches/SAMBA_4_0/source/lib/ldb/ldb_ldap/ldb_ldap.c   2006-12-12 
19:02:14 UTC (rev 20130)
@@ -476,9 +476,9 @@
return lldb_ldap_to_ldb(ret);
 }
 
-static int lldb_parse_result(struct ldb_handle *handle, LDAPMessage *result)
+static int lldb_parse_result(struct lldb_context *ac, LDAPMessage *result)
 {
-   struct lldb_context *ac = talloc_get_type(handle-private_data, struct 
lldb_context);
+   struct ldb_handle *handle = ac-handle;
struct lldb_private *lldb = ac-lldb;
struct ldb_reply *ares = NULL;
LDAPMessage *msg;
@@ -683,7 +683,7 @@
goto done;
}
 
-   return lldb_parse_result(handle, result);
+   return lldb_parse_result(ac, result);
 
case LDB_WAIT_ALL:
timeout.tv_usec = 0;
@@ -706,7 +706,7 @@
return LDB_ERR_TIME_LIMIT_EXCEEDED;
}
 
-   ret = lldb_parse_result(handle, result);
+   ret = lldb_parse_result(ac, result);
if (ret != LDB_SUCCESS) {
return ret;
}



Re: Rev 37: Raw implementation done. in http://samba.org/~tridge/psomogyi/

2006-12-12 Thread Stefan (metze) Metzmacher
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hi Peter,

do you really need typedef's here?

using 'struct type' in the code is in most cases more readable.

metze
  typedef struct _ibw_conn_priv {
 + struct ibv_comp_channel *verbs_channel;
 + struct fd_event *verbs_channel_event;
 +
   struct rdma_cm_id *cm_id; /* client's cm id */
   int is_accepted;
  
   struct ibv_cq   *cq; /* qp is in cm_id */
   struct ibv_mr *mr;
 - char *buf; /* fixed size (opts.bufsize) buffer for send/recv */
 + char *buf; /* fixed size (qsize * opts.max_msg_size) buffer for 
 send/recv */
   ibw_wr *wr_list_avail;
   ibw_wr *wr_list_used;
 - ibw_wr **wr_index; /* array[0..(max_send_wr + max_recv_wr)-1] of 
 (ibw_wr *) */
 + ibw_wr **wr_index; /* array[0..(qsize-1)] of (ibw_wr *) */
  } ibw_conn_priv;
  
 

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.2 (GNU/Linux)
Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org

iD8DBQFFfv3zm70gjA5TCD8RApmPAJ9wvNErq22jI7g4GSLQdWc1cERdEwCgqnWs
T/HlKIlGnfzcGthuVDuWJG0=
=BFP3
-END PGP SIGNATURE-


svn commit: samba-docs r1004 - in trunk/Samba3-HOWTO: .

2006-12-12 Thread jmcd
Author: jmcd
Date: 2006-12-12 19:21:31 + (Tue, 12 Dec 2006)
New Revision: 1004

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

Log:
Also update the HOWTO with the createcomputer information for net ads
join

Modified:
   trunk/Samba3-HOWTO/TOSHARG-DomainMember.xml


Changeset:
Modified: trunk/Samba3-HOWTO/TOSHARG-DomainMember.xml
===
--- trunk/Samba3-HOWTO/TOSHARG-DomainMember.xml 2006-12-12 16:52:26 UTC (rev 
1003)
+++ trunk/Samba3-HOWTO/TOSHARG-DomainMember.xml 2006-12-12 19:21:31 UTC (rev 
1004)
@@ -1112,7 +1112,7 @@
 this to be done using the following syntax:
 screen
 rootprompt; userinputkinit [EMAIL PROTECTED]/userinput
-rootprompt; userinputnet ads join organizational_unit/userinput
+rootprompt; userinputnet ads join 
createcomputer=organizational_unit/userinput
 /screen
 Your ADS manager will be able to advise what should be specified for the 
organizational_unit parameter.
 /para
@@ -1123,13 +1123,15 @@
 indextermprimarycontainer/primary/indexterm
 indextermprimaryADS/primary/indexterm
 For example, you may want to create the machine trust account in a container 
called quoteServers/quote
-under the organizational directory 
quoteComputers\BusinessUnit\Department,/quote like this:
+under the organizational directory 
quoteComputers/BusinessUnit/Department,/quote like this:
 screen
-rootprompt; userinputnet ads join 
Computers\BusinessUnit\Department\Servers/userinput
+rootprompt; userinputnet ads join 
Computers/BusinessUnit/Department/Servers/userinput
 /screen
 This command will place the Samba server machine trust account in the container
-literalComputers\BusinessUnit\Department\Servers/literal. The container 
should exist in the ADS directory
-before executing this command.
+literalComputers/BusinessUnit/Department/Servers/literal. The container 
should exist in the ADS directory
+before executing this command.  Please note that forward slashes must be used, 
because backslashes are both
+valid characters in an OU name and used as escapes for other characters.  If 
you need a backslash in an OU 
+name, it may need to be quadrupled to pass through the shell escape and ldap 
escape.
 /para
 
 sect3



svn commit: samba r20131 - in branches/SAMBA_3_0/source: lib lib/talloc libaddns printing smbd utils

2006-12-12 Thread herb
Author: herb
Date: 2006-12-12 20:15:47 + (Tue, 12 Dec 2006)
New Revision: 20131

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

Log:
get rid of a few no previous prototype warnings

Modified:
   branches/SAMBA_3_0/source/lib/interfaces.c
   branches/SAMBA_3_0/source/lib/talloc/talloc.h
   branches/SAMBA_3_0/source/libaddns/dns.h
   branches/SAMBA_3_0/source/printing/print_cups.c
   branches/SAMBA_3_0/source/printing/print_iprint.c
   branches/SAMBA_3_0/source/smbd/oplock_irix.c
   branches/SAMBA_3_0/source/smbd/server.c
   branches/SAMBA_3_0/source/utils/status_profile.c


Changeset:
Modified: branches/SAMBA_3_0/source/lib/interfaces.c
===
--- branches/SAMBA_3_0/source/lib/interfaces.c  2006-12-12 19:02:14 UTC (rev 
20130)
+++ branches/SAMBA_3_0/source/lib/interfaces.c  2006-12-12 20:15:47 UTC (rev 
20131)
@@ -362,6 +362,7 @@
return r;
 }
 
+int get_interfaces(struct iface_struct *ifaces, int max_interfaces);
 /* this wrapper is used to remove duplicates from the interface list generated
above */
 int get_interfaces(struct iface_struct *ifaces, int max_interfaces)

Modified: branches/SAMBA_3_0/source/lib/talloc/talloc.h
===
--- branches/SAMBA_3_0/source/lib/talloc/talloc.h   2006-12-12 19:02:14 UTC 
(rev 20130)
+++ branches/SAMBA_3_0/source/lib/talloc/talloc.h   2006-12-12 20:15:47 UTC 
(rev 20131)
@@ -123,6 +123,7 @@
 const char *talloc_get_name(const void *ptr);
 void *talloc_check_name(const void *ptr, const char *name);
 void *talloc_parent(const void *ptr);
+const char *talloc_parent_name(const void *context);
 void *talloc_init(const char *fmt, ...) PRINTF_ATTRIBUTE(1,2);
 int talloc_free(void *ptr);
 void talloc_free_children(void *ptr);

Modified: branches/SAMBA_3_0/source/libaddns/dns.h
===
--- branches/SAMBA_3_0/source/libaddns/dns.h2006-12-12 19:02:14 UTC (rev 
20130)
+++ branches/SAMBA_3_0/source/libaddns/dns.h2006-12-12 20:15:47 UTC (rev 
20131)
@@ -405,6 +405,9 @@
const char *name,
const in_addr_t *ip,
struct dns_rrec **prec);
+DNS_ERROR dns_create_name_not_in_use_record(TALLOC_CTX *mem_ctx,
+   const char *name, uint32 type,
+   struct dns_rrec **prec);
 DNS_ERROR dns_create_delete_record(TALLOC_CTX *mem_ctx, const char *name,
   uint16 type, uint16 r_class,
   struct dns_rrec **prec);

Modified: branches/SAMBA_3_0/source/printing/print_cups.c
===
--- branches/SAMBA_3_0/source/printing/print_cups.c 2006-12-12 19:02:14 UTC 
(rev 20130)
+++ branches/SAMBA_3_0/source/printing/print_cups.c 2006-12-12 20:15:47 UTC 
(rev 20131)
@@ -1201,5 +1201,6 @@
 
 #else
  /* this keeps fussy compilers happy */
+ void print_cups_dummy(void);
  void print_cups_dummy(void) {}
 #endif /* HAVE_CUPS */

Modified: branches/SAMBA_3_0/source/printing/print_iprint.c
===
--- branches/SAMBA_3_0/source/printing/print_iprint.c   2006-12-12 19:02:14 UTC 
(rev 20130)
+++ branches/SAMBA_3_0/source/printing/print_iprint.c   2006-12-12 20:15:47 UTC 
(rev 20131)
@@ -1235,5 +1235,6 @@
 
 #else
  /* this keeps fussy compilers happy */
+ void print_iprint_dummy(void);
  void print_iprint_dummy(void) {}
 #endif /* HAVE_IPRINT */

Modified: branches/SAMBA_3_0/source/smbd/oplock_irix.c
===
--- branches/SAMBA_3_0/source/smbd/oplock_irix.c2006-12-12 19:02:14 UTC 
(rev 20130)
+++ branches/SAMBA_3_0/source/smbd/oplock_irix.c2006-12-12 20:15:47 UTC 
(rev 20131)
@@ -266,5 +266,6 @@
return koplocks;
 }
 #else
+ void oplock_irix_dummy(void);
  void oplock_irix_dummy(void) {}
 #endif /* HAVE_KERNEL_OPLOCKS_IRIX */

Modified: branches/SAMBA_3_0/source/smbd/server.c
===
--- branches/SAMBA_3_0/source/smbd/server.c 2006-12-12 19:02:14 UTC (rev 
20130)
+++ branches/SAMBA_3_0/source/smbd/server.c 2006-12-12 20:15:47 UTC (rev 
20131)
@@ -786,7 +786,7 @@
mkproto.h.  Mixing $(builddir) and $(srcdir) source files in the current
prototype generation system is too complicated. */
 
-void build_options(BOOL screen);
+extern void build_options(BOOL screen);
 
  int main(int argc,const char *argv[])
 {

Modified: branches/SAMBA_3_0/source/utils/status_profile.c
===
--- branches/SAMBA_3_0/source/utils/status_profile.c2006-12-12 19:02:14 UTC 
(rev 20130)
+++ 

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

2006-12-12 Thread herb
Author: herb
Date: 2006-12-12 20:27:01 + (Tue, 12 Dec 2006)
New Revision: 20132

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

Log:
get rid of defined but not used warning - static function only used
inside the #ifdef HAVE_KRB5

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


Changeset:
Modified: branches/SAMBA_3_0/source/libads/sasl.c
===
--- branches/SAMBA_3_0/source/libads/sasl.c 2006-12-12 20:15:47 UTC (rev 
20131)
+++ branches/SAMBA_3_0/source/libads/sasl.c 2006-12-12 20:27:01 UTC (rev 
20132)
@@ -136,6 +136,7 @@
return ADS_ERROR(rc);
 }
 
+#ifdef HAVE_KRB5
 /* 
perform a LDAP/SASL/SPNEGO/KRB5 bind
 */
@@ -165,6 +166,7 @@
 
return ADS_ERROR(rc);
 }
+#endif
 
 /* 
this performs a SASL/SPNEGO bind



svn commit: samba r20133 - in branches/SAMBA_3_0/source/lib: .

2006-12-12 Thread herb
Author: herb
Date: 2006-12-12 20:30:31 + (Tue, 12 Dec 2006)
New Revision: 20133

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

Log:
get rid of defined but not used warning - static function only used
inside the #ifdef HAVE_NATIVE_ICONV

Modified:
   branches/SAMBA_3_0/source/lib/iconv.c


Changeset:
Modified: branches/SAMBA_3_0/source/lib/iconv.c
===
--- branches/SAMBA_3_0/source/lib/iconv.c   2006-12-12 20:27:01 UTC (rev 
20132)
+++ branches/SAMBA_3_0/source/lib/iconv.c   2006-12-12 20:30:31 UTC (rev 
20133)
@@ -128,6 +128,7 @@
}
 }
 
+#ifdef HAVE_NATIVE_ICONV
 /* if there was an error then reset the internal state,
this ensures that we don't have a shift state remaining for
character sets like SJIS */
@@ -135,7 +136,6 @@
const char **inbuf, size_t *inbytesleft,
char **outbuf, size_t *outbytesleft)
 {
-#ifdef HAVE_NATIVE_ICONV
size_t ret = iconv((iconv_t)cd, 
   (char **)inbuf, inbytesleft, 
   outbuf, outbytesleft);
@@ -145,11 +145,8 @@
errno = saved_errno;
}
return ret;
-#else
-   errno = EINVAL;
-   return -1;
-#endif
 }
+#endif
 
 /**
  * This is a simple portable iconv() implementaion.



svn commit: samba r20134 - in branches/SAMBA_4_0/source/lib/samba3: .

2006-12-12 Thread abartlet
Author: abartlet
Date: 2006-12-12 21:47:47 + (Tue, 12 Dec 2006)
New Revision: 20134

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

Log:
The IBM Checker correctly notes that *p cannot be \0 and still satisfy
the loop entry condition.

Andrew Bartlett

Modified:
   branches/SAMBA_4_0/source/lib/samba3/smbpasswd.c


Changeset:
Modified: branches/SAMBA_4_0/source/lib/samba3/smbpasswd.c
===
--- branches/SAMBA_4_0/source/lib/samba3/smbpasswd.c2006-12-12 20:30:31 UTC 
(rev 20133)
+++ branches/SAMBA_4_0/source/lib/samba3/smbpasswd.c2006-12-12 21:47:47 UTC 
(rev 20134)
@@ -169,7 +169,6 @@
break;
case ':':
case '\n':
-   case '\0': 
case ']':
default:  
finished = True;



svn commit: samba r20135 - in branches/SAMBA_4_0/source/auth: credentials gensec

2006-12-12 Thread metze
Author: metze
Date: 2006-12-12 21:47:56 + (Tue, 12 Dec 2006)
New Revision: 20135

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

Log:
attach default gensec features to the cli_credentials structure,
so make it possible to force encryption or signing.

metze
Modified:
   branches/SAMBA_4_0/source/auth/credentials/credentials.c
   branches/SAMBA_4_0/source/auth/credentials/credentials.h
   branches/SAMBA_4_0/source/auth/gensec/gensec.c


Changeset:
Modified: branches/SAMBA_4_0/source/auth/credentials/credentials.c
===
--- branches/SAMBA_4_0/source/auth/credentials/credentials.c2006-12-12 
21:47:47 UTC (rev 20134)
+++ branches/SAMBA_4_0/source/auth/credentials/credentials.c2006-12-12 
21:47:56 UTC (rev 20135)
@@ -63,6 +63,7 @@
cred-callback_running = False;
 
cli_credentials_set_kerberos_state(cred, CRED_AUTO_USE_KERBEROS);
+   cli_credentials_set_gensec_features(cred, 0);
 
return cred;
 }
@@ -78,7 +79,17 @@
return creds-use_kerberos;
 }
 
+void cli_credentials_set_gensec_features(struct cli_credentials *creds, 
uint32_t gensec_features)
+{
+   creds-gensec_features = gensec_features;
+}
 
+uint32_t cli_credentials_get_gensec_features(struct cli_credentials *creds)
+{
+   return creds-gensec_features;
+}
+
+
 /**
  * Obtain the username for this credentials context.
  * @param cred credentials context

Modified: branches/SAMBA_4_0/source/auth/credentials/credentials.h
===
--- branches/SAMBA_4_0/source/auth/credentials/credentials.h2006-12-12 
21:47:47 UTC (rev 20134)
+++ branches/SAMBA_4_0/source/auth/credentials/credentials.h2006-12-12 
21:47:56 UTC (rev 20135)
@@ -106,6 +106,9 @@
/* Should we be trying to use kerberos? */
enum credentials_use_kerberos use_kerberos;
 
+   /* gensec features which should be used for connections */
+   uint32_t gensec_features;
+
/* Number of retries left before bailing out */
int tries;
 

Modified: branches/SAMBA_4_0/source/auth/gensec/gensec.c
===
--- branches/SAMBA_4_0/source/auth/gensec/gensec.c  2006-12-12 21:47:47 UTC 
(rev 20134)
+++ branches/SAMBA_4_0/source/auth/gensec/gensec.c  2006-12-12 21:47:56 UTC 
(rev 20135)
@@ -1047,6 +1047,8 @@
 _PUBLIC_ NTSTATUS gensec_set_credentials(struct gensec_security 
*gensec_security, struct cli_credentials *credentials) 
 {
gensec_security-credentials = talloc_reference(gensec_security, 
credentials);
+   NT_STATUS_HAVE_NO_MEMORY(gensec_security-credentials);
+   gensec_want_feature(gensec_security, 
cli_credentials_get_gensec_features(gensec_security-credentials));
return NT_STATUS_OK;
 }
 



svn commit: samba r20136 - in branches: SAMBA_3_0/source/nsswitch SAMBA_3_0_24/source/nsswitch

2006-12-12 Thread jmcd
Author: jmcd
Date: 2006-12-12 22:05:48 + (Tue, 12 Dec 2006)
New Revision: 20136

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

Log:
Fix #4290.  Properly compute time to password expiration in message from
pam_winbind.  Thanks to Andrew Benham [EMAIL PROTECTED]

Modified:
   branches/SAMBA_3_0/source/nsswitch/pam_winbind.c
   branches/SAMBA_3_0_24/source/nsswitch/pam_winbind.c


Changeset:
Modified: branches/SAMBA_3_0/source/nsswitch/pam_winbind.c
===
--- branches/SAMBA_3_0/source/nsswitch/pam_winbind.c2006-12-12 21:47:56 UTC 
(rev 20135)
+++ branches/SAMBA_3_0/source/nsswitch/pam_winbind.c2006-12-12 22:05:48 UTC 
(rev 20136)
@@ -536,7 +536,8 @@
(response.data.auth.policy.expire)  
(response.data.auth.info3.pass_last_set_time + 
response.data.auth.policy.expire  time(NULL) ) ) {
 
-   int days = response.data.auth.policy.expire / SECONDS_PER_DAY;
+   int days = (response.data.auth.info3.pass_last_set_time + 
response.data.auth.policy.expire -
+   time(NULL))/ SECONDS_PER_DAY;
if (days = DAYS_TO_WARN_BEFORE_PWD_EXPIRES) {
_make_remark_format(pamh, PAM_TEXT_INFO, Your password 
will expire in %d days, days);
}

Modified: branches/SAMBA_3_0_24/source/nsswitch/pam_winbind.c
===
--- branches/SAMBA_3_0_24/source/nsswitch/pam_winbind.c 2006-12-12 21:47:56 UTC 
(rev 20135)
+++ branches/SAMBA_3_0_24/source/nsswitch/pam_winbind.c 2006-12-12 22:05:48 UTC 
(rev 20136)
@@ -536,7 +536,8 @@
(response.data.auth.policy.expire)  
(response.data.auth.info3.pass_last_set_time + 
response.data.auth.policy.expire  time(NULL) ) ) {
 
-   int days = response.data.auth.policy.expire / SECONDS_PER_DAY;
+   int days = (response.data.auth.info3.pass_last_set_time + 
response.data.auth.policy.expire -
+   time(NULL))/ SECONDS_PER_DAY;
if (days = DAYS_TO_WARN_BEFORE_PWD_EXPIRES) {
_make_remark_format(pamh, PAM_TEXT_INFO, Your password 
will expire in %d days, days);
}



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

2006-12-12 Thread mimir
Author: mimir
Date: 2006-12-12 22:28:33 + (Tue, 12 Dec 2006)
New Revision: 20137

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

Log:
return the proper status.


rafal


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


Changeset:
Modified: branches/SAMBA_4_0/source/libnet/userman.c
===
--- branches/SAMBA_4_0/source/libnet/userman.c  2006-12-12 22:05:48 UTC (rev 
20136)
+++ branches/SAMBA_4_0/source/libnet/userman.c  2006-12-12 22:28:33 UTC (rev 
20137)
@@ -59,9 +59,12 @@
 {
c-status = dcerpc_ndr_request_recv(s-req);
NT_STATUS_NOT_OK_RETURN(c-status);
+
+   /* return the actual function call status */
+   c-status = s-createuser.out.result;

c-state = COMPOSITE_STATE_DONE;
-   return NT_STATUS_OK;
+   return c-status;
 }
 
 



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

2006-12-12 Thread mimir
Author: mimir
Date: 2006-12-12 22:34:35 + (Tue, 12 Dec 2006)
New Revision: 20138

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

Log:
return the proper status for the other functions as well.


rafal


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


Changeset:
Modified: branches/SAMBA_4_0/source/libnet/userman.c
===
--- branches/SAMBA_4_0/source/libnet/userman.c  2006-12-12 22:28:33 UTC (rev 
20137)
+++ branches/SAMBA_4_0/source/libnet/userman.c  2006-12-12 22:34:35 UTC (rev 
20138)
@@ -309,10 +309,13 @@
/* receive samr_DeleteUser result */
c-status = dcerpc_ndr_request_recv(s-req);
NT_STATUS_NOT_OK_RETURN(c-status);
+   
+   /* return the actual function call status */
+   c-status = s-deleteuser.out.result;
 
c-state = COMPOSITE_STATE_DONE;
 
-   return NT_STATUS_OK;
+   return c-status;
 }
 
 
@@ -778,7 +781,8 @@
c-status = dcerpc_ndr_request_recv(s-req);
NT_STATUS_NOT_OK_RETURN(c-status);
 
-   NT_STATUS_NOT_OK_RETURN(s-setuser.out.result);
+   /* return the actual function call status */
+   c-status = s-setuser.out.result;
 
if (s-change.fields == 0) {
/* all fields have been set - we're done */
@@ -788,7 +792,7 @@
return usermod_change(c, s);
}
 
-   return NT_STATUS_OK;
+   return c-status;
 }
 
 



svn commit: samba r20139 - in branches/SAMBA_4_0/source/heimdal/lib/gssapi/krb5: .

2006-12-12 Thread metze
Author: metze
Date: 2006-12-12 22:38:23 + (Tue, 12 Dec 2006)
New Revision: 20139

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

Log:
only add GSS_C_CONF_FLAG and GSS_C_INTEG_FLAG if the caller requested it!

this is needed to create plain, singed or sealed LDAP connections.

this should go into lorikeet and main heimdal...

metze
Modified:
   branches/SAMBA_4_0/source/heimdal/lib/gssapi/krb5/init_sec_context.c


Changeset:
Modified: branches/SAMBA_4_0/source/heimdal/lib/gssapi/krb5/init_sec_context.c
===
--- branches/SAMBA_4_0/source/heimdal/lib/gssapi/krb5/init_sec_context.c
2006-12-12 22:34:35 UTC (rev 20138)
+++ branches/SAMBA_4_0/source/heimdal/lib/gssapi/krb5/init_sec_context.c
2006-12-12 22:38:23 UTC (rev 20139)
@@ -470,8 +470,11 @@
 if (req_flags  GSS_C_EXTENDED_ERROR_FLAG)
flags |= GSS_C_EXTENDED_ERROR_FLAG;
 
-flags |= GSS_C_CONF_FLAG;
-flags |= GSS_C_INTEG_FLAG;
+if (req_flags  GSS_C_CONF_FLAG)
+flags |= GSS_C_CONF_FLAG;
+if (req_flags  GSS_C_INTEG_FLAG)
+flags |= GSS_C_INTEG_FLAG;
+
 flags |= GSS_C_TRANS_FLAG;
 
 if (ret_flags)



svn commit: samba r20140 - in branches: SAMBA_3_0/source/include SAMBA_3_0/source/nsswitch SAMBA_3_0_24/source/include SAMBA_3_0_24/source/nsswitch

2006-12-12 Thread jra
Author: jra
Date: 2006-12-12 22:41:42 + (Tue, 12 Dec 2006)
New Revision: 20140

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

Log:
Make online/offline detection completely asynchronous.
Now I've done this I might be able to reduce the probe
timeout and reduce the backoff algorithm, going back
to checking every cache time seconds (5 mins by default),
as the parent or forked domain child will never block.
Jeremy.

Modified:
   branches/SAMBA_3_0/source/include/messages.h
   branches/SAMBA_3_0/source/nsswitch/winbindd_cm.c
   branches/SAMBA_3_0/source/nsswitch/winbindd_dual.c
   branches/SAMBA_3_0_24/source/include/messages.h
   branches/SAMBA_3_0_24/source/nsswitch/winbindd_cm.c
   branches/SAMBA_3_0_24/source/nsswitch/winbindd_dual.c


Changeset:
Sorry, the patch is too large (561 lines) to include; please use WebSVN to see 
it!
WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=20140


svn commit: samba r20141 - in branches/SAMBA_4_0/source/libcli/ldap: .

2006-12-12 Thread metze
Author: metze
Date: 2006-12-12 22:43:35 + (Tue, 12 Dec 2006)
New Revision: 20141

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

Log:
use the gensec_features of the cli_credentials for ildap connections,
instead of hardcoded GENSEC_FEATURE_SEAL.

That means plain LDAP is now the default.

metze
Modified:
   branches/SAMBA_4_0/source/libcli/ldap/ldap_bind.c


Changeset:
Modified: branches/SAMBA_4_0/source/libcli/ldap/ldap_bind.c
===
--- branches/SAMBA_4_0/source/libcli/ldap/ldap_bind.c   2006-12-12 22:41:42 UTC 
(rev 20140)
+++ branches/SAMBA_4_0/source/libcli/ldap/ldap_bind.c   2006-12-12 22:43:35 UTC 
(rev 20141)
@@ -28,6 +28,7 @@
 #include lib/tls/tls.h
 #include auth/gensec/gensec.h
 #include auth/gensec/socket.h
+#include auth/credentials/credentials.h
 #include lib/stream/packet.h
 
 struct ldap_simple_creds {
@@ -211,7 +212,7 @@
int count, i;
 
const char **sasl_names;
-   
+   uint32_t old_gensec_features;
static const char *supported_sasl_mech_attrs[] = {
supportedSASLMechanisms, 
NULL 
@@ -225,10 +226,12 @@
 
/* require Kerberos SIGN/SEAL only if we don't use SSL
 * Windows seem not to like double encryption */
-   if (!tls_enabled(conn-sock)) {
-   gensec_want_feature(conn-gensec, 0 | GENSEC_FEATURE_SIGN | 
GENSEC_FEATURE_SEAL);
+   old_gensec_features = cli_credentials_get_gensec_features(creds);
+   if (tls_enabled(conn-sock)) {
+   cli_credentials_set_gensec_features(creds, 0);
}
 
+   /* this call also sets the gensec_want_features */
status = gensec_set_credentials(conn-gensec, creds);
if (!NT_STATUS_IS_OK(status)) {
DEBUG(1, (Failed to set GENSEC creds: %s\n, 
@@ -236,6 +239,9 @@
goto failed;
}
 
+   /* reset the original gensec_features */
+   cli_credentials_set_gensec_features(creds, old_gensec_features);
+
if (conn-host) {
status = gensec_set_target_hostname(conn-gensec, conn-host);
if (!NT_STATUS_IS_OK(status)) {



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

2006-12-12 Thread metze
Author: metze
Date: 2006-12-12 22:57:43 + (Tue, 12 Dec 2006)
New Revision: 20142

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

Log:
only the DDNS updates are missing for the full libnet_BecomeDC(),
but that's not needed untill we can support the DsGetNCChanges()
in the server...

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


Changeset:
Modified: branches/SAMBA_4_0/source/libnet/libnet_become_dc.c
===
--- branches/SAMBA_4_0/source/libnet/libnet_become_dc.c 2006-12-12 22:43:35 UTC 
(rev 20141)
+++ branches/SAMBA_4_0/source/libnet/libnet_become_dc.c 2006-12-12 22:57:43 UTC 
(rev 20142)
@@ -1951,7 +1951,8 @@
 
talloc_free(r);
 
-   composite_error(c, NT_STATUS_NOT_IMPLEMENTED);
+   /* TODO: use DDNS updates and register dns names */
+   composite_done(c);
 }
 
 static NTSTATUS becomeDC_ldap2_modify_computer(struct libnet_BecomeDC_state *s)



svn commit: samba r20143 - in branches/SAMBA_4_0: source/scripting/ejs testprogs/ejs

2006-12-12 Thread mimir
Author: mimir
Date: 2006-12-12 23:01:51 + (Tue, 12 Dec 2006)
New Revision: 20143

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

Log:
a bit of experiments before doing serious changes in ejsnet.


rafal


Modified:
   branches/SAMBA_4_0/source/scripting/ejs/ejsnet.c
   branches/SAMBA_4_0/testprogs/ejs/ejsnet.js


Changeset:
Modified: branches/SAMBA_4_0/source/scripting/ejs/ejsnet.c
===
--- branches/SAMBA_4_0/source/scripting/ejs/ejsnet.c2006-12-12 22:57:43 UTC 
(rev 20142)
+++ branches/SAMBA_4_0/source/scripting/ejs/ejsnet.c2006-12-12 23:01:51 UTC 
(rev 20143)
@@ -336,6 +336,11 @@
struct libnet_context *ctx;
const char *userman_domain = NULL;
struct libnet_UserInfo req;
+   struct MprVar mprUserInfo;
+   struct MprVar mprAccountName, mprFullName, mprDescription;
+   struct MprVar mprHomeDir, mprHomeDrive, mprComment;
+   struct MprVar mprLogonScript;
+   struct MprVar mprAcctExpiry, mprAllowPassChange, mprForcePassChange;
 
if (argc != 1) {
ejsSetErrorMsg(eid, argument 1 must be a string);
@@ -364,9 +369,44 @@
ejsSetErrorMsg(eid, %s, req.out.error_string);
}
 
-   /* TODO: create user info object and pass received properties */
+   /* create UserInfo object */
+   mprUserInfo = mprObject(UserInfo);
 
+   mprAccountName = mprString(req.out.account_name);
+   mprFullName = mprString(req.out.full_name);
+   mprDescription = mprString(req.out.description);
+   mprHomeDir = mprString(req.out.home_directory);
+   mprHomeDrive = mprString(req.out.home_drive);
+   mprComment = mprString(req.out.comment);
+   mprLogonScript = mprString(req.out.logon_script);
+   mprAcctExpiry = mprString(timestring(mem_ctx, 
req.out.acct_expiry-tv_sec));
+   mprAllowPassChange = mprString(timestring(mem_ctx, 
req.out.allow_password_change-tv_sec));
+   mprForcePassChange = mprString(timestring(mem_ctx, 
req.out.force_password_change-tv_sec));
+
+   status = mprSetVar(mprUserInfo, AccountName, mprAccountName);
+   if (!NT_STATUS_IS_OK(status)) goto done;
+   status = mprSetVar(mprUserInfo, FullName, mprFullName);
+   if (!NT_STATUS_IS_OK(status)) goto done;
+   status = mprSetVar(mprUserInfo, Description, mprDescription);
+   if (!NT_STATUS_IS_OK(status)) goto done;
+   status = mprSetVar(mprUserInfo, HomeDirectory, mprHomeDir);
+   if (!NT_STATUS_IS_OK(status)) goto done;
+   status = mprSetVar(mprUserInfo, HomeDrive, mprHomeDrive);
+   if (!NT_STATUS_IS_OK(status)) goto done;
+   status = mprSetVar(mprUserInfo, Comment, mprComment);
+   if (!NT_STATUS_IS_OK(status)) goto done;
+   status = mprSetVar(mprUserInfo, LogonScript, mprLogonScript);
+   if (!NT_STATUS_IS_OK(status)) goto done;
+   status = mprSetVar(mprUserInfo, AcctExpiry, mprAcctExpiry);
+   if (!NT_STATUS_IS_OK(status)) goto done;
+   status = mprSetVar(mprUserInfo, AllowPasswordChange, 
mprAllowPassChange);
+   if (!NT_STATUS_IS_OK(status)) goto done;
+   status = mprSetVar(mprUserInfo, ForcePasswordChange, 
mprForcePassChange);
+   if (!NT_STATUS_IS_OK(status)) goto done;
+
+done:
talloc_free(mem_ctx);
+   mpr_Return(eid, mprUserInfo);
return 0;
 }
 

Modified: branches/SAMBA_4_0/testprogs/ejs/ejsnet.js
===
--- branches/SAMBA_4_0/testprogs/ejs/ejsnet.js  2006-12-12 22:57:43 UTC (rev 
20142)
+++ branches/SAMBA_4_0/testprogs/ejs/ejsnet.js  2006-12-12 23:01:51 UTC (rev 
20143)
@@ -30,6 +30,12 @@
return -1;
 }
 
+var info = usr_ctx.Info(options.ARGV[1]);
+println(UserInfo.AccountName =  + info.AccountName);
+println(UserInfo.Description =  + info.Description);
+println(UserInfo.FullName =  + info.FullName);
+println(UserInfo.AcctExpiry =  + info.AcctExpiry);
+
 var status = usr_ctx.Delete(options.ARGV[1]);
 if (status.is_ok != true) {
println(Failed to delete user account  + options.ARGV[1] + :  + 
status.errstr);



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

2006-12-12 Thread metze
Author: metze
Date: 2006-12-12 23:23:50 + (Tue, 12 Dec 2006)
New Revision: 20144

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

Log:
add NET-API-BECOME-DC test that tests libnet_BecomeDC()/libnet_UnbecomeDC()

metze
Added:
   branches/SAMBA_4_0/source/torture/libnet/libnet_BecomeDC.c
Modified:
   branches/SAMBA_4_0/source/torture/config.mk
   branches/SAMBA_4_0/source/torture/libnet/libnet.c


Changeset:
Modified: branches/SAMBA_4_0/source/torture/config.mk
===
--- branches/SAMBA_4_0/source/torture/config.mk 2006-12-12 23:01:51 UTC (rev 
20143)
+++ branches/SAMBA_4_0/source/torture/config.mk 2006-12-12 23:23:50 UTC (rev 
20144)
@@ -256,7 +256,8 @@
libnet/libnet_user.o \
libnet/libnet_share.o \
libnet/libnet_rpc.o \
-   libnet/libnet_domain.o
+   libnet/libnet_domain.o \
+   libnet/libnet_BecomeDC.o
 PUBLIC_DEPENDENCIES = \
LIBSAMBA-NET \
POPT_CREDENTIALS

Modified: branches/SAMBA_4_0/source/torture/libnet/libnet.c
===
--- branches/SAMBA_4_0/source/torture/libnet/libnet.c   2006-12-12 23:01:51 UTC 
(rev 20143)
+++ branches/SAMBA_4_0/source/torture/libnet/libnet.c   2006-12-12 23:23:50 UTC 
(rev 20144)
@@ -24,9 +24,7 @@
 
 NTSTATUS torture_net_init(void)
 {
-   struct torture_suite *suite = torture_suite_create(
-   
talloc_autofree_context(),
-   
NET);
+   struct torture_suite *suite = 
torture_suite_create(talloc_autofree_context(), NET);
 
torture_suite_add_simple_test(suite, USERINFO, torture_userinfo);
torture_suite_add_simple_test(suite, USERADD, torture_useradd);
@@ -53,9 +51,9 @@
torture_suite_add_simple_test(suite, API-DOMCLOSELSA, 
torture_domain_close_lsa);
torture_suite_add_simple_test(suite, API-DOMOPENSAMR, 
torture_domain_open_samr);
torture_suite_add_simple_test(suite, API-DOMCLOSESAMR, 
torture_domain_close_samr);
+   torture_suite_add_simple_test(suite, API-BECOME-DC, 
torture_net_become_dc);
 
-   suite-description = talloc_strdup(suite, 
-   libnet convenience interface 
tests);
+   suite-description = talloc_strdup(suite, libnet convenience interface 
tests);
 
torture_register_suite(suite);
 

Added: branches/SAMBA_4_0/source/torture/libnet/libnet_BecomeDC.c
===
--- branches/SAMBA_4_0/source/torture/libnet/libnet_BecomeDC.c  2006-12-12 
23:01:51 UTC (rev 20143)
+++ branches/SAMBA_4_0/source/torture/libnet/libnet_BecomeDC.c  2006-12-12 
23:23:50 UTC (rev 20144)
@@ -0,0 +1,82 @@
+/* 
+   Unix SMB/CIFS implementation.
+
+   libnet_BecomeDC() tests
+
+   Copyright (C) Stefan (metze) Metzmacher 2006
+   
+   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 2 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, write to the Free Software
+   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+#include includes.h
+#include lib/cmdline/popt_common.h
+#include torture/torture.h
+#include torture/rpc/rpc.h
+#include libnet/libnet.h
+#include lib/events/events.h
+
+#define TORTURE_NETBIOS_NAME smbtorturedc
+
+BOOL torture_net_become_dc(struct torture_context *torture)
+{
+   BOOL ret = True;
+   NTSTATUS status;
+   struct libnet_context *ctx;
+   struct libnet_BecomeDC b;
+   struct libnet_UnbecomeDC u;
+   struct test_join *tj;
+   struct cli_credentials *machine_account;
+
+   /* Join domain as a member server. */
+   tj = torture_join_domain(TORTURE_NETBIOS_NAME,
+ACB_WSTRUST,
+machine_account);
+   if (!tj) {
+   DEBUG(0, (%s failed to join domain as workstation\n,
+ TORTURE_NETBIOS_NAME));
+   return False;
+   }
+
+   ctx = libnet_context_init(event_context_init(torture));
+   ctx-cred = cmdline_credentials;
+
+   b.in.domain_dns_name= torture_join_dom_dns_name(tj);
+   b.in.domain_netbios_name= torture_join_dom_netbios_name(tj);
+   b.in.domain_sid = 

svn commit: lorikeet r689 - in trunk/heimdal/lib/gssapi/krb5: .

2006-12-12 Thread metze
Author: metze
Date: 2006-12-12 23:45:23 + (Tue, 12 Dec 2006)
New Revision: 689

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

Log:
merge from samba4:

only add GSS_C_CONF_FLAG and GSS_C_INTEG_FLAG if the caller requested it!

this is needed to create plain, singed or sealed LDAP connections.

this should go into lorikeet and main heimdal...

metze
Modified:
   trunk/heimdal/lib/gssapi/krb5/init_sec_context.c


Changeset:
Modified: trunk/heimdal/lib/gssapi/krb5/init_sec_context.c
===
--- trunk/heimdal/lib/gssapi/krb5/init_sec_context.c2006-11-28 20:10:18 UTC 
(rev 688)
+++ trunk/heimdal/lib/gssapi/krb5/init_sec_context.c2006-12-12 23:45:23 UTC 
(rev 689)
@@ -476,8 +476,11 @@
 if (req_flags  GSS_C_EXTENDED_ERROR_FLAG)
flags |= GSS_C_EXTENDED_ERROR_FLAG;
 
-flags |= GSS_C_CONF_FLAG;
-flags |= GSS_C_INTEG_FLAG;
+if (req_flags  GSS_C_CONF_FLAG)
+flags |= GSS_C_CONF_FLAG;
+if (req_flags  GSS_C_INTEG_FLAG)
+flags |= GSS_C_INTEG_FLAG;
+
 flags |= GSS_C_TRANS_FLAG;
 
 if (ret_flags)



svn commit: samba r20145 - in branches/SAMBA_4_0/source/torture/rpc: .

2006-12-12 Thread metze
Author: metze
Date: 2006-12-12 23:48:28 + (Tue, 12 Dec 2006)
New Revision: 20145

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

Log:
fix whitespaces

metze
Modified:
   branches/SAMBA_4_0/source/torture/rpc/rpc.c


Changeset:
Modified: branches/SAMBA_4_0/source/torture/rpc/rpc.c
===
--- branches/SAMBA_4_0/source/torture/rpc/rpc.c 2006-12-12 23:23:50 UTC (rev 
20144)
+++ branches/SAMBA_4_0/source/torture/rpc/rpc.c 2006-12-12 23:48:28 UTC (rev 
20145)
@@ -156,9 +156,8 @@
 
 NTSTATUS torture_rpc_init(void)
 {
-   struct torture_suite *suite = torture_suite_create(
-   
talloc_autofree_context(),
-   
RPC);
+   struct torture_suite *suite = 
torture_suite_create(talloc_autofree_context(), RPC);
+
dcerpc_init();
 
dcerpc_table_init();
@@ -216,8 +215,7 @@
torture_suite_add_simple_test(suite, BENCH-RPC, torture_bench_rpc);
torture_suite_add_simple_test(suite, ASYNCBIND, torture_async_bind);
 
-   suite-description = talloc_strdup(suite, 
-   DCE/RPC protocol and interface 
tests);
+   suite-description = talloc_strdup(suite, DCE/RPC protocol and 
interface tests);
 
torture_register_suite(suite);
 



Build status as of Wed Dec 13 00:00:03 2006

2006-12-12 Thread build
URL: http://build.samba.org/

--- /home/build/master/cache/broken_results.txt.old 2006-12-12 
00:00:28.0 +
+++ /home/build/master/cache/broken_results.txt 2006-12-13 00:00:50.0 
+
@@ -1,10 +1,10 @@
-Build status as of Tue Dec 12 00:00:01 2006
+Build status as of Wed Dec 13 00:00:03 2006
 
 Build counts:
 Tree Total  Broken Panic 
 SOC  0  0  0 
 build_farm   0  0  0 
-ccache   41 7  0 
+ccache   42 7  0 
 ctdb 0  0  0 
 distcc   2  0  0 
 ldb  41 4  0 
@@ -14,8 +14,8 @@
 rsync42 3  0 
 samba0  0  0 
 samba-docs   0  0  0 
-samba4   40 27 0 
-samba_3_042 12 0 
+samba4   40 29 4 
+samba_3_042 31 0 
 smb-build39 1  0 
 talloc   42 1  0 
 tdb  41 2  0 


svn commit: samba r20146 - in branches: SAMBA_3_0/source/nsswitch SAMBA_3_0_24/source/nsswitch

2006-12-12 Thread jra
Author: jra
Date: 2006-12-13 01:11:29 + (Wed, 13 Dec 2006)
New Revision: 20146

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

Log:
Now online checks are fully async we can do them
every cache timeout times.
Jeremy.

Modified:
   branches/SAMBA_3_0/source/nsswitch/winbindd_cm.c
   branches/SAMBA_3_0_24/source/nsswitch/winbindd_cm.c


Changeset:
Modified: branches/SAMBA_3_0/source/nsswitch/winbindd_cm.c
===
--- branches/SAMBA_3_0/source/nsswitch/winbindd_cm.c2006-12-12 23:48:28 UTC 
(rev 20145)
+++ branches/SAMBA_3_0/source/nsswitch/winbindd_cm.c2006-12-13 01:11:29 UTC 
(rev 20146)
@@ -271,7 +271,7 @@
 }
 
 /
- If we're still offline, exponentially increase the timeout check.
+ If we're still offline setup the timeout check.
 /
 
 static void calc_new_online_timeout_check(struct winbindd_domain *domain)
@@ -282,12 +282,6 @@
domain-check_online_timeout = 10;
} else if (domain-check_online_timeout  wbc) {
domain-check_online_timeout = wbc;
-   } else {
-   uint32 new_to = domain-check_online_timeout * 3;
-   if (new_to  (3*60*60)) {
-   new_to = 3*60*60; /* 3 hours. */
-   }
-   domain-check_online_timeout = new_to;
}
 }
 

Modified: branches/SAMBA_3_0_24/source/nsswitch/winbindd_cm.c
===
--- branches/SAMBA_3_0_24/source/nsswitch/winbindd_cm.c 2006-12-12 23:48:28 UTC 
(rev 20145)
+++ branches/SAMBA_3_0_24/source/nsswitch/winbindd_cm.c 2006-12-13 01:11:29 UTC 
(rev 20146)
@@ -269,7 +269,7 @@
 }
 
 /
- If we're still offline, exponentially increase the timeout check.
+ If we're still offline setup the timeout check.
 /
 
 static void calc_new_online_timeout_check(struct winbindd_domain *domain)
@@ -280,12 +280,6 @@
domain-check_online_timeout = 10;
} else if (domain-check_online_timeout  wbc) {
domain-check_online_timeout = wbc;
-   } else {
-   uint32 new_to = domain-check_online_timeout * 3;
-   if (new_to  (3*60*60)) {
-   new_to = 3*60*60; /* 3 hours. */
-   }
-   domain-check_online_timeout = new_to;
}
 }
 



svn commit: samba r20147 - in branches/SAMBA_3_0_24/source/lib: .

2006-12-12 Thread jra
Author: jra
Date: 2006-12-13 03:20:57 + (Wed, 13 Dec 2006)
New Revision: 20147

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

Log:
Match up EINTR ignoring code from SAMBA_3_0.
Else open_any_socket_out() can fail.
Jeremy.

Modified:
   branches/SAMBA_3_0_24/source/lib/util_sock.c


Changeset:
Modified: branches/SAMBA_3_0_24/source/lib/util_sock.c
===
--- branches/SAMBA_3_0_24/source/lib/util_sock.c2006-12-13 01:11:29 UTC 
(rev 20146)
+++ branches/SAMBA_3_0_24/source/lib/util_sock.c2006-12-13 03:20:57 UTC 
(rev 20147)
@@ -974,7 +974,7 @@
}
 
if (errno == EINPROGRESS || errno == EALREADY ||
-   errno == EAGAIN) {
+   errno == EAGAIN || errno == EINTR) {
/* These are the error messages that something is
   progressing. */
good_connect = True;



svn commit: samba r20148 - in branches/SAMBA_3_0/source/lib: .

2006-12-12 Thread jra
Author: jra
Date: 2006-12-13 05:54:39 + (Wed, 13 Dec 2006)
New Revision: 20148

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

Log:
Forgot to merge. Ensure open_any_socket_out()
is safe from signals.
Jeremy.

Modified:
   branches/SAMBA_3_0/source/lib/util_sock.c


Changeset:
Modified: branches/SAMBA_3_0/source/lib/util_sock.c
===
--- branches/SAMBA_3_0/source/lib/util_sock.c   2006-12-13 03:20:57 UTC (rev 
20147)
+++ branches/SAMBA_3_0/source/lib/util_sock.c   2006-12-13 05:54:39 UTC (rev 
20148)
@@ -974,7 +974,7 @@
}
 
if (errno == EINPROGRESS || errno == EALREADY ||
-   errno == EAGAIN) {
+   errno == EAGAIN || errno == EINTR) {
/* These are the error messages that something is
   progressing. */
good_connect = True;