svn commit: samba r10707 - in branches/tmp/samba4-winsrepl: . source/auth/kerberos source/include source/include/system source/lib source/lib/events source/lib/ldb/common source/lib/ldb/ldb_ildap source/lib/ldb/ldb_tdb source/lib/replace source/lib/tdr source/libcli source/libcli/ldap source/libcli/smb_composite source/libnet source/librpc/idl source/librpc/rpc source/nbt_server source/ntvfs/cifs source/pidl source/pidl/lib/Parse/Pidl source/pidl/lib/Parse/Pidl/Ethereal source/pidl/lib/Parse/Pidl/Samba3 source/smbd source/torture/nbench source/torture/nbt source/torture/rpc source/winbind

metze at samba.org metze at samba.org
Tue Oct 4 04:44:25 GMT 2005


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:
 r13151 at SERNOX (orig r10662):  jelmer | 2005-09-30 23:48:25 +0200
 Eliminate pstring and friends.
 
 r13152 at SERNOX (orig r10663):  jelmer | 2005-10-01 00:08:06 +0200
 Eliminate use of pstring
 
 r13153 at SERNOX (orig r10664):  jelmer | 2005-10-01 01:10:20 +0200
 Include limits.h in replace.h for HOST_NAME_MAX
 
 r13154 at SERNOX (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
 
 
 
 r13155 at SERNOX (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.
 
 
 r13156 at SERNOX (orig r10667):  tridge | 2005-10-01 01:47:40 +0200
 
 cope with a NULL tree for base searches in ldb_search()
 
 r13157 at SERNOX (orig r10668):  tridge | 2005-10-01 01:56:54 +0200
 
 added a ildap_search_bytree() function
 
 
 r13158 at SERNOX (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. 
 
 
 r13159 at SERNOX (orig r10670):  abartlet | 2005-10-01 03:19:12 +0200
 Add notes on things that are TODO in Samba4 kerberos land.
 
 Andrew Bartlett
 
 r13164 at SERNOX (orig r10675):  vlendec | 2005-10-01 18:36:04 +0200
 Connect to the DC's IPC$
 
 Volker
 
 r13166 at SERNOX (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
 
 r13167 at SERNOX (orig r10678):  jelmer | 2005-10-02 16:29:08 +0200
 Add debug helper
 Fix push for non-fixed length strings
 
 r13168 at SERNOX (orig r10679):  mimir | 2005-10-02 21:59:24 +0200
 Monitor messages should be issued from usermod functions.
 Also a bit of formatting.
 
 
 rafal
 
 
 r13169 at SERNOX (orig r10680):  mimir | 2005-10-03 01:01:25 +0200
 Fix a warning.
 
 
 rafal
 
 
 r13170 at SERNOX (orig r10681):  vlendec | 2005-10-03 11:00:36 +0200
 Convert dcerpc_open_smb to a composite function.
 
 Volker
 
 r13171 at SERNOX (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
 
 r13172 at SERNOX (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
 
 r13173 at SERNOX (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
 
 r13174 at SERNOX (orig r10685):  vlendec | 2005-10-03 16:50:07 +0200
 Why wait 5 seconds...
 r13175 at SERNOX (orig r10686):  vlendec | 2005-10-03 17:03:31 +0200
 Fix the build
 r13176 at SERNOX (orig r10687):  vlendec | 2005-10-03 17:19:08 +0200
 Another one...
 r13179 at SERNOX (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
 
 r13180 at SERNOX (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
 
 r13183 at SERNOX (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/
 
 r13184 at SERNOX (orig r10695):  abartlet | 2005-10-04 01:39:59 +0200
 strupper() of NULL should be NULL, not panic.
 
 Andrew Bartlett
 
 r13185 at SERNOX (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
 
 r13186 at SERNOX (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
 
 r13187 at SERNOX (orig r10698):  jelmer | 2005-10-04 01:54:44 +0200
 Fix support of enums in switch_type() in the ethereal parser generator
 
 r13188 at SERNOX (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.
 
 
 r13189 at SERNOX (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
 
 r13190 at SERNOX (orig r10701):  abartlet | 2005-10-04 02:59:59 +0200
 Ensure we return the right user handle.
 
 Andrew Bartlett
 
 r13191 at SERNOX (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
 
 r13192 at SERNOX (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
 
 r13193 at SERNOX (orig r10704):  tridge | 2005-10-04 03:35:22 +0200
 
 don't try to free the netlogon pipe twice
 
 r13194 at SERNOX (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.
 
 r13195 at SERNOX (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


More information about the samba-cvs mailing list