Author: metze Date: 2005-10-04 04:40:46 +0000 (Tue, 04 Oct 2005) New Revision: 10707
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=10707 Log: [EMAIL PROTECTED] (orig r10662): jelmer | 2005-09-30 23:48:25 +0200 Eliminate pstring and friends. [EMAIL PROTECTED] (orig r10663): jelmer | 2005-10-01 00:08:06 +0200 Eliminate use of pstring [EMAIL PROTECTED] (orig r10664): jelmer | 2005-10-01 01:10:20 +0200 Include limits.h in replace.h for HOST_NAME_MAX [EMAIL PROTECTED] (orig r10665): tridge | 2005-10-01 01:14:30 +0200 fixed some crash errors and an error encoding AND and OR operations in the expression parsing code [EMAIL PROTECTED] (orig r10666): tridge | 2005-10-01 01:46:41 +0200 - reverse the ildap ldb backend so tree based searches go through directly, and expression based searches are converted to trees. This makes for less conversions. - allow the caller to supply a set of credentials via the ldb opaque name 'credentials'. I will be using this in my ldb proxy module. [EMAIL PROTECTED] (orig r10667): tridge | 2005-10-01 01:47:40 +0200 cope with a NULL tree for base searches in ldb_search() [EMAIL PROTECTED] (orig r10668): tridge | 2005-10-01 01:56:54 +0200 added a ildap_search_bytree() function [EMAIL PROTECTED] (orig r10669): tridge | 2005-10-01 03:04:34 +0200 reverted jelmers commit 10663 as it was causing lots of panics in 'make test' I also think the method of getting rid of pstring isn't the right one. I certainly do want to get rid of pstring/fstring, but the reason for removing them is the use of arbitrary sized fixed length strings on the stack and in structures. Changing to another fixed length stack string format isn't really a win, and moving to use strncpy() is actually worse than pstrcpy() as strncpy() has the absolutely awful semantics of always zeroing all remaining bytes, so it ends up taking a lot of cpu doing pointless memory writes. I'd rather move to more use of asprintf()/talloc_asprintf() and similar functions for dynamic string allocation. You also have to be very careful about some of these system defined string limits. One some systems PATH_MAX could be 64k or even larger, which can quickly blow the stack out when you allocate a few of them. [EMAIL PROTECTED] (orig r10670): abartlet | 2005-10-01 03:19:12 +0200 Add notes on things that are TODO in Samba4 kerberos land. Andrew Bartlett [EMAIL PROTECTED] (orig r10675): vlendec | 2005-10-01 18:36:04 +0200 Connect to the DC's IPC$ Volker [EMAIL PROTECTED] (orig r10677): vlendec | 2005-10-02 12:02:35 +0200 Add smb_composite_connectmulti: Send out multiple SYN packets at once, use the first one that replies correctly. Add a talloc context to smb_composite_connect() Volker [EMAIL PROTECTED] (orig r10678): jelmer | 2005-10-02 16:29:08 +0200 Add debug helper Fix push for non-fixed length strings [EMAIL PROTECTED] (orig r10679): mimir | 2005-10-02 21:59:24 +0200 Monitor messages should be issued from usermod functions. Also a bit of formatting. rafal [EMAIL PROTECTED] (orig r10680): mimir | 2005-10-03 01:01:25 +0200 Fix a warning. rafal [EMAIL PROTECTED] (orig r10681): vlendec | 2005-10-03 11:00:36 +0200 Convert dcerpc_open_smb to a composite function. Volker [EMAIL PROTECTED] (orig r10682): tridge | 2005-10-03 11:36:52 +0200 force the free of the fd event first when a stream terminates. That ensures destructors hanging off the stream connection don't trip more socket events. this should help with the problem volker described [EMAIL PROTECTED] (orig r10683): vlendec | 2005-10-03 15:46:11 +0200 Samba3's wbinfo -t should give the correct answer now. Tridge, if you have time, you might want to look at the segfault I was still seeing. Now I store the handle to the netlogon pipe in the global winbind state and free it on the next entry into check_machacc. The problem seems to be that talloc_free()ing a pipe struct from within a callback function on that pipe is not possible. I think I can live with that, but it has been not really obvious. To reproduce the segfault you might want to look at putting a talloc_free(state->getcreds->out.netlogon) into wbsrv_samba3_check_machacc_receive_creds. This is called from a dcerpc callback function. In particular if the check failed it would be nice if I could delete the pipe directly and not post a different event to some winbind queue. I tried to delete the pipe from a timed event triggered immediately, but this also fails because the inner loop seems to hit the same event again, calling it twice. Volker [EMAIL PROTECTED] (orig r10684): vlendec | 2005-10-03 16:24:53 +0200 Add a nasty hack for the failure case of wbinfo -t. Tridge has a proper fix for it pending. Also fix a bug with timed events: Don't call the same event recursively in the handler's inner semi-async event loop. Volker [EMAIL PROTECTED] (orig r10685): vlendec | 2005-10-03 16:50:07 +0200 Why wait 5 seconds... [EMAIL PROTECTED] (orig r10686): vlendec | 2005-10-03 17:03:31 +0200 Fix the build [EMAIL PROTECTED] (orig r10687): vlendec | 2005-10-03 17:19:08 +0200 Another one... [EMAIL PROTECTED] (orig r10690): vlendec | 2005-10-03 19:36:10 +0200 Fix a bug that metze pointed out: Leaving the "rejecting" destructor around prevents the memory from being freed. Thanks, Volker [EMAIL PROTECTED] (orig r10691): vlendec | 2005-10-03 19:36:49 +0200 This gets half-way to wbinfo -n. It acquires an lsa pipe, and does a queryinfopolicy. Idea is to get a consistency check between that and our notion of the domain name and sid, and take the lsa pipe as the holder of the central smbcli_tree that netlogon and samr use as well. Volker [EMAIL PROTECTED] (orig r10694): jelmer | 2005-10-04 01:27:33 +0200 Add some work I did this afternoon on getting pidl to output Samba3 RPC parsers. Currently the following files can be generated: - include/rpc_BASENAME.h - rpc_server/srv_BASENAME.c - rpc_server/srv_BASENAME_nt.c (template only, user has to fill in functions) - rpc_client/cli_BASENAME.c - rpc_parse/parse_BASENAME.c So far, I have been working on getting DFS working. Currently still to do (all in rpc_parse/parse_BASENAME.c): - Proper handling of declarations - Proper handling of scalar/buffer parts of structs and unions - Subcontexts - Proper handling of arrays - Support for custom (non-scalar) types I hope to have a somewhat more working version later this week. Some files as currently generated are available from: http://samba.org/~jelmer/pidl_samba3/ [EMAIL PROTECTED] (orig r10695): abartlet | 2005-10-04 01:39:59 +0200 strupper() of NULL should be NULL, not panic. Andrew Bartlett [EMAIL PROTECTED] (orig r10696): abartlet | 2005-10-04 01:42:59 +0200 Return the realm to the caller, not NULL... Also return an indication of if the join was of a new account, or reworking an existing account. Andrew Bartlett [EMAIL PROTECTED] (orig r10697): abartlet | 2005-10-04 01:46:21 +0200 Change the torture join code to return a credentials structure, as that is what most of the callers want anyway. Remove and re-add the account for the torture case, rather than just modify it. Test with a user account (needs work to change the password). Andrew Bartlett [EMAIL PROTECTED] (orig r10698): jelmer | 2005-10-04 01:54:44 +0200 Fix support of enums in switch_type() in the ethereal parser generator [EMAIL PROTECTED] (orig r10699): tridge | 2005-10-04 02:43:16 +0200 fixed the dcerpc code so that you can shutdown the pipe safely from within a callback on the pipe. This should fix a problem volker encountered with winbind. The fix invoolves making the recv_data handler free the memory for a packet, instead of having the transport layer free it after calling recv_data. When the transport layer freed it, it had no way of knowing if the callback had shutdown the pipe, so it had no way of knowing if it could safely use the pointer. Also changed the pipe shutdown hook for the smb transport to use an async SMB close. This ensures that when you shutdown the pipe, you don't block waiting for the server to ack the close of the pipe fnum. [EMAIL PROTECTED] (orig r10700): tridge | 2005-10-04 02:46:31 +0200 removed volkers temporary timer hack now that freeing the netlogon pipe is safe while inside a rpc callback [EMAIL PROTECTED] (orig r10701): abartlet | 2005-10-04 02:59:59 +0200 Ensure we return the right user handle. Andrew Bartlett [EMAIL PROTECTED] (orig r10702): abartlet | 2005-10-04 03:01:07 +0200 Fix a silly error that caused a rejoin/delete in the torture code to fault... Andrew Bartlett [EMAIL PROTECTED] (orig r10703): abartlet | 2005-10-04 03:02:06 +0200 Add a new user account, change the password and test it in the SAMLOGON test. The semantics for the user account are very odd, the old password is still valid, but the session keys appear to be blanked out. Andrew Bartlett [EMAIL PROTECTED] (orig r10704): tridge | 2005-10-04 03:35:22 +0200 don't try to free the netlogon pipe twice [EMAIL PROTECTED] (orig r10705): tridge | 2005-10-04 03:43:24 +0200 fixed a crash bug in the getdcname irpc server for winbind. The problem was that the return string was declared as: [out] astring dcname which means "this is a non-NULL string". The server code sometimes returned NULL however (on getdc lookup failure), which caused the NDR marshalling code to crash. When you declare a non-pointer return value you are promising that the value can never be NULL. The trivial fix is to use: [out] astring *dcname which leaves the API alone, but includes a pointer in the wire format, which in turn means it is valid to send a NULL string as a response. [EMAIL PROTECTED] (orig r10706): tridge | 2005-10-04 03:51:55 +0200 split out the irpc server functions in the NBT server, so the mainline NBT server code remains reabable. Also fixed the copyright header to include Volker, as he wrote the getdc server function Added: branches/tmp/samba4-winsrepl/source/libcli/smb_composite/connect_multi.c branches/tmp/samba4-winsrepl/source/nbt_server/irpc.c branches/tmp/samba4-winsrepl/source/pidl/lib/Parse/Pidl/Samba3/ branches/tmp/samba4-winsrepl/source/pidl/lib/Parse/Pidl/Samba3/Client.pm branches/tmp/samba4-winsrepl/source/pidl/lib/Parse/Pidl/Samba3/Header.pm branches/tmp/samba4-winsrepl/source/pidl/lib/Parse/Pidl/Samba3/Parser.pm branches/tmp/samba4-winsrepl/source/pidl/lib/Parse/Pidl/Samba3/Server.pm branches/tmp/samba4-winsrepl/source/pidl/lib/Parse/Pidl/Samba3/Template.pm branches/tmp/samba4-winsrepl/source/pidl/lib/Parse/Pidl/Samba3/Util.pm Modified: branches/tmp/samba4-winsrepl/ branches/tmp/samba4-winsrepl/source/auth/kerberos/kerberos-notes.txt branches/tmp/samba4-winsrepl/source/include/structs.h branches/tmp/samba4-winsrepl/source/include/system/filesys.h branches/tmp/samba4-winsrepl/source/lib/events/events_standard.c branches/tmp/samba4-winsrepl/source/lib/ldb/common/ldb_parse.c branches/tmp/samba4-winsrepl/source/lib/ldb/ldb_ildap/ldb_ildap.c branches/tmp/samba4-winsrepl/source/lib/ldb/ldb_tdb/ldb_search.c branches/tmp/samba4-winsrepl/source/lib/replace/replace.h branches/tmp/samba4-winsrepl/source/lib/tdr/tdr.c branches/tmp/samba4-winsrepl/source/lib/util_str.c branches/tmp/samba4-winsrepl/source/libcli/config.mk branches/tmp/samba4-winsrepl/source/libcli/ldap/ldap_ildap.c branches/tmp/samba4-winsrepl/source/libcli/smb_composite/connect.c branches/tmp/samba4-winsrepl/source/libcli/smb_composite/fetchfile.c branches/tmp/samba4-winsrepl/source/libcli/smb_composite/fsinfo.c branches/tmp/samba4-winsrepl/source/libcli/smb_composite/smb_composite.h branches/tmp/samba4-winsrepl/source/libnet/composite.h branches/tmp/samba4-winsrepl/source/libnet/libnet_join.c branches/tmp/samba4-winsrepl/source/libnet/userman.c branches/tmp/samba4-winsrepl/source/librpc/idl/irpc.idl branches/tmp/samba4-winsrepl/source/librpc/rpc/dcerpc.c branches/tmp/samba4-winsrepl/source/librpc/rpc/dcerpc_smb.c branches/tmp/samba4-winsrepl/source/librpc/rpc/dcerpc_sock.c branches/tmp/samba4-winsrepl/source/nbt_server/config.mk branches/tmp/samba4-winsrepl/source/nbt_server/nbt_server.c branches/tmp/samba4-winsrepl/source/ntvfs/cifs/vfs_cifs.c branches/tmp/samba4-winsrepl/source/pidl/lib/Parse/Pidl/Ethereal/NDR.pm branches/tmp/samba4-winsrepl/source/pidl/lib/Parse/Pidl/NDR.pm branches/tmp/samba4-winsrepl/source/pidl/lib/Parse/Pidl/Typelist.pm branches/tmp/samba4-winsrepl/source/pidl/pidl branches/tmp/samba4-winsrepl/source/smbd/service_stream.c branches/tmp/samba4-winsrepl/source/torture/nbench/nbench.c branches/tmp/samba4-winsrepl/source/torture/nbt/dgram.c branches/tmp/samba4-winsrepl/source/torture/rpc/join.c branches/tmp/samba4-winsrepl/source/torture/rpc/netlogon.c branches/tmp/samba4-winsrepl/source/torture/rpc/samlogon.c branches/tmp/samba4-winsrepl/source/torture/rpc/samr.c branches/tmp/samba4-winsrepl/source/torture/rpc/schannel.c branches/tmp/samba4-winsrepl/source/torture/rpc/testjoin.c branches/tmp/samba4-winsrepl/source/winbind/config.mk branches/tmp/samba4-winsrepl/source/winbind/wb_async_helpers.c branches/tmp/samba4-winsrepl/source/winbind/wb_async_helpers.h branches/tmp/samba4-winsrepl/source/winbind/wb_samba3_cmd.c branches/tmp/samba4-winsrepl/source/winbind/wb_samba3_protocol.c branches/tmp/samba4-winsrepl/source/winbind/wb_server.h Changeset: Sorry, the patch is too large (4949 lines) to include; please use WebSVN to see it! WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=10707