Andrew Tridgell [Mon, 31 Jan 2005 08:30:44 +0000 (08:30 +0000)]
r5126: the composite code is no longer client specific or smb specific, so
rename the core structure to composite_context and the wait routine to
composite_wait() (suggestion from metze)
Andrew Tridgell [Mon, 31 Jan 2005 08:18:52 +0000 (08:18 +0000)]
r5123: fixed a bug in the timed events handling. It was possible for a timed
event handler to trigger a free that could cause a timer to be
triggered twice. This changs fixes it properly by marking timer events
to be removed using a zero next_event time.
I also changed the default timeout for events.c to be infinite, so if
there are no events to handle then smbd will sit forever doing
nothing. That allows it to be swapped out completely when idle.
Andrew Tridgell [Mon, 31 Jan 2005 07:24:00 +0000 (07:24 +0000)]
r5122: fixed name of winbind stream ops
Andrew Tridgell [Mon, 31 Jan 2005 06:55:25 +0000 (06:55 +0000)]
r5121: added periodic name refresh requests for all our registered names, reporting any
name conflicts
Andrew Tridgell [Mon, 31 Jan 2005 04:53:53 +0000 (04:53 +0000)]
r5120: encode outgoing nbt packets when queueing them rather than in the send
event code, as elements of the callers packet structure could go away
while the queue is pending (if for example a name was de-registered
while a packet referencing that name is queued)
Andrew Tridgell [Mon, 31 Jan 2005 04:51:50 +0000 (04:51 +0000)]
r5119: fflush after talloc reports to ensure they are fully on disk when using tee
Andrew Tridgell [Mon, 31 Jan 2005 04:15:58 +0000 (04:15 +0000)]
r5118: added support for node status replies in nbtd. nmblookup -S now works against Samba4.
Also added support for the '*' wildcard name
Andrew Tridgell [Mon, 31 Jan 2005 03:14:15 +0000 (03:14 +0000)]
r5117: used a composite function to add 4 stage name registration. We send 3
broadcast name registration demands per name per interface at 1 second
intervals, then send a name overwrite request and demand. Any name
conflict replies are reported.
Andrew Tridgell [Mon, 31 Jan 2005 02:50:49 +0000 (02:50 +0000)]
r5116: fixed build of the nbtlist code
Andrew Tridgell [Mon, 31 Jan 2005 02:02:34 +0000 (02:02 +0000)]
r5115: enable the nbt daemon by default
Andrew Tridgell [Mon, 31 Jan 2005 01:57:58 +0000 (01:57 +0000)]
r5114: the nbtd task can now act as a basic B-node server. It registers its
names on the network and answers name queries. Lots of details are
still missing, but at least this now means you don't need a Samba3
nmbd to use Samba4.
missing pieces include:
- name registrations should be "shout 3 times, then demand"
- no WINS server yet
- no master browser code
Andrew Tridgell [Sun, 30 Jan 2005 10:41:15 +0000 (10:41 +0000)]
r5109: - fixed handling of zero-length subcontexts in the ndr library
- added error checking on socket startup in nbtd
Andrew Tridgell [Sun, 30 Jan 2005 10:24:36 +0000 (10:24 +0000)]
r5108: the beginnings of a nbtd server for Samba4. Currently just displays
the packets it receives, but it at least shows how the server
structure will work.
To implement it I extended the libcli/nbt/ library to allow for an
incoming packet handler to be registered. That allows the nbt client
library to be used for low level processing of the nbtd server packets.
Other changes:
- made the socket library always set SO_REUSEADDR when binding to an
interface, to ensure that restarts of a server don't have to wait
for a couple of minutes.
- made the nbt port configurable. Defaults to 137, but other ports
will be useful for testing.
Andrew Tridgell [Sun, 30 Jan 2005 07:22:16 +0000 (07:22 +0000)]
r5107: moved the horrible ldap socket code, and the even worse
asn1-tied-to-blocking-sockets code into the ldap client and torture
suite, and out of the generic libs, so nobody else is tempted to use
it for any new code.
Andrew Tridgell [Sun, 30 Jan 2005 07:08:08 +0000 (07:08 +0000)]
r5106: removed a bunch of unused socket functions. We still need
open_socket_out() as its used by the ldap client code (uggh)
Andrew Tridgell [Sun, 30 Jan 2005 07:07:11 +0000 (07:07 +0000)]
r5105: removed some unused events functions. These are no longer needed as
destructors are used to remove pending socket events
Andrew Tridgell [Sun, 30 Jan 2005 02:55:30 +0000 (02:55 +0000)]
r5104: - added support for task based servers. These are servers that within
themselves are run as a single process, but run as a child of the
main process when smbd is run in the standard model, and run as part
of the main process when in the single mode.
- rewrote the winbind template code to use the new task services. Also
fixed the packet queueing
- got rid of event_context_merge() as it is no longer needed
Andrew Tridgell [Sun, 30 Jan 2005 00:55:49 +0000 (00:55 +0000)]
r5103: forgot to add two new files
these are the stream server helper functions
Andrew Tridgell [Sun, 30 Jan 2005 00:54:57 +0000 (00:54 +0000)]
r5102: This is a major simplification of the logic for controlling top level
servers in smbd. The old code still contained a fairly bit of legacy
from the time when smbd was only handling SMB connection. The new code
gets rid of all of the smb_server specific code in smbd/, and creates
a much simpler infrastructures for new server code.
Major changes include:
- simplified the process model code a lot.
- got rid of the top level server and service structures
completely. The top level context is now the event_context. This
got rid of service.h and server.h completely (they were the most
confusing parts of the old code)
- added service_stream.[ch] for the helper functions that are
specific to stream type services (services that handle streams, and
use a logically separate process per connection)
- got rid of the builtin idle_handler code in the service logic, as
none of the servers were using it, and it can easily be handled by
a server in future by adding its own timed_event to the event
context.
- fixed some major memory leaks in the rpc server code.
- added registration of servers, rather than hard coding our list of
possible servers. This allows for servers as modules in the future.
- temporarily disabled the winbind code until I add the helper
functions for that type of server
- added error checking on service startup. If a configured server
fails to startup then smbd doesn't startup.
- cleaned up the command line handling in smbd, removing unused options
Tim Potter [Sat, 29 Jan 2005 05:05:17 +0000 (05:05 +0000)]
r5095: uint32 -> uint32_t
%include misc.i to get definition of struct policy_handle
Remove #includes we aren't using just now.
Tim Potter [Sat, 29 Jan 2005 05:04:23 +0000 (05:04 +0000)]
r5094: Use builtin swig types for converting between fixed width integer types.
Andrew Bartlett [Sat, 29 Jan 2005 04:11:04 +0000 (04:11 +0000)]
r5093: Make debugs less confusing when a 0 NTTIME is printed.
Andrew Bartlett
Andrew Bartlett [Sat, 29 Jan 2005 04:04:38 +0000 (04:04 +0000)]
r5092: Add a bit more const - moving it further into the LDB layer.
Andrew Bartlett
Andrew Bartlett [Sat, 29 Jan 2005 04:03:12 +0000 (04:03 +0000)]
r5091: The Kerberos secrets are queried by realm
Andrew Bartlett
Andrew Bartlett [Sat, 29 Jan 2005 04:02:13 +0000 (04:02 +0000)]
r5090: Fix up the IDL for LogonGetDomainInfo in NETLOGON.
Andrew Bartlett
Andrew Bartlett [Sat, 29 Jan 2005 04:01:23 +0000 (04:01 +0000)]
r5089: Fix indentation.
Andrew Bartlett [Sat, 29 Jan 2005 04:00:29 +0000 (04:00 +0000)]
r5088: Push some of the heimdal tests into a 'if we didn't have krb5-config' block.
This lets krb5-config handle this without us stuffing things up.
Add back the test tridge removed
Andrew Bartlett
Tim Potter [Sat, 29 Jan 2005 04:00:14 +0000 (04:00 +0000)]
r5087: Add --swig to pidl flags so that swig .i files are generated with
make idl.
Andrew Bartlett [Sat, 29 Jan 2005 03:58:44 +0000 (03:58 +0000)]
r5086: Fix list of binaries to install:
- nmblookup and net are generic, not torture programs.
- Add ntlm_auth
Andrew Bartlett
Andrew Tridgell [Sat, 29 Jan 2005 03:44:47 +0000 (03:44 +0000)]
r5085: add net and nmblookup to installed binaries
metze, can you look at automating this when you get time? We really
need a flag in config.mk for "BINARY::" sections for the install
location, something like:
[BINARY::nmblookup]
OBJ_FILES = \
utils/nmblookup.o
INSTALL_IN = bin
Andrew Tridgell [Sat, 29 Jan 2005 03:17:14 +0000 (03:17 +0000)]
r5084: - handle arbitrary data in the NULL record reply type for nbt name queries
- fixed unaligned pulls at the end of the packet in the ndr lib
Andrew Tridgell [Sat, 29 Jan 2005 03:12:00 +0000 (03:12 +0000)]
r5083: removed the libcrypto test that is forcing the pull in of the MIT krb5 libs when you
have openssl-dev installed
Andrew Tridgell [Sat, 29 Jan 2005 02:46:37 +0000 (02:46 +0000)]
r5080: patch from ronnie to make our samr IDL a little more consistent
Andrew Tridgell [Sat, 29 Jan 2005 02:41:46 +0000 (02:41 +0000)]
r5079: don't look for gss_display_status() in libgssapi_krb5 unless we
haven't already got it from libgssapi. This should fix the problem of
building with heimdal when we have MIT installed
Tim Potter [Sat, 29 Jan 2005 01:42:09 +0000 (01:42 +0000)]
r5074: Remove dead code.
Tim Potter [Sat, 29 Jan 2005 01:39:50 +0000 (01:39 +0000)]
r5073: Call new autogenerator function for swig stuff instead of old one.
Tim Potter [Sat, 29 Jan 2005 00:19:23 +0000 (00:19 +0000)]
r5072: oDecrease the amount of autogenerated code (sorry tridge) and use swig's
structure mapping features instead of doing it all ourselves.
This basically works, but has broken all the existing checked in Python
code.
Sample:
pipe = dcerpc.pipe_connect(binding,
dcerpc.DCERPC_SAMR_UUID, int(dcerpc.DCERPC_SAMR_VERSION),
domain, username, password)
r = dcerpc.samr_Connect2()
r.data_in.system_name = 'foo'
r.data_in.access_mask = 0x02000000
result = dcerpc.dcerpc_samr_Connect2(pipe, r)
Jeremy Allison [Fri, 28 Jan 2005 23:57:03 +0000 (23:57 +0000)]
r5071: Reverted (per tridge request).
Jeremy.
Jeremy Allison [Fri, 28 Jan 2005 23:16:19 +0000 (23:16 +0000)]
r5068: I'm pretty sure an old search request is allowed to return changed case
versions of filenames. Tridge please check I haven't screwed this up.
Jeremy.
Andrew Tridgell [Fri, 28 Jan 2005 11:26:51 +0000 (11:26 +0000)]
r5054: added a nmblookup tool, based on the new nbt library
Andrew Tridgell [Fri, 28 Jan 2005 11:25:01 +0000 (11:25 +0000)]
r5053: - fix up the library dependencies so that tools that need nbt don't
need to pull in the whole dcerpc subsystem
- moved smbencrypt.c code into libcli/auth/
Andrew Tridgell [Fri, 28 Jan 2005 11:23:31 +0000 (11:23 +0000)]
r5052: minor formatting fix
Andrew Tridgell [Fri, 28 Jan 2005 09:21:19 +0000 (09:21 +0000)]
r5051: initialise all elements of an array (thanks to Mike Allan for pointing
this out)
Andrew Tridgell [Thu, 27 Jan 2005 23:22:12 +0000 (23:22 +0000)]
r5050: make sure we translate the generic to the specific bits before doing a
pvfs_access_check_unix().
Fixes a problem with the cifsfs filesystem
Andrew Tridgell [Thu, 27 Jan 2005 22:36:25 +0000 (22:36 +0000)]
r5049: updated howto.txt with new provisioning instructions
Andrew Tridgell [Thu, 27 Jan 2005 22:32:44 +0000 (22:32 +0000)]
r5048: made the provision.pl script much less error prone (you don't need to
rename a bunch of files)
Tim Potter [Thu, 27 Jan 2005 20:50:17 +0000 (20:50 +0000)]
r5047: Fix swig dependencies.
Stefan Metzmacher [Thu, 27 Jan 2005 11:54:24 +0000 (11:54 +0000)]
r5045: add TODO comment
metze
Stefan Metzmacher [Thu, 27 Jan 2005 11:23:16 +0000 (11:23 +0000)]
r5044: fix pidl--swig
metze
Andrew Tridgell [Thu, 27 Jan 2005 11:07:23 +0000 (11:07 +0000)]
r5043: this broke more systems than it helped. Remove it and try to work
around broken solaris headers some other way.
Andrew Tridgell [Thu, 27 Jan 2005 10:18:31 +0000 (10:18 +0000)]
r5042: another attempt to get solaris10 building
Stefan Metzmacher [Thu, 27 Jan 2005 09:49:45 +0000 (09:49 +0000)]
r5041: add more verbose output for the krb5 libs detection
metze
Andrew Tridgell [Thu, 27 Jan 2005 09:33:16 +0000 (09:33 +0000)]
r5040: attempt to get solaris10 building by defining _XOPEN_SOURCE
Andrew Tridgell [Thu, 27 Jan 2005 07:13:31 +0000 (07:13 +0000)]
r5039: fixed eparser not to generate talloc_p()
Andrew Tridgell [Thu, 27 Jan 2005 07:09:42 +0000 (07:09 +0000)]
r5038: we don't need these defines any more
Andrew Tridgell [Thu, 27 Jan 2005 07:08:20 +0000 (07:08 +0000)]
r5037: got rid of all of the TALLOC_DEPRECATED stuff. My apologies for the
large commit. I thought this was worthwhile to get done for
consistency.
Andrew Tridgell [Thu, 27 Jan 2005 06:33:07 +0000 (06:33 +0000)]
r5036: changed HYPER_T to the more standard "hyper"
Andrew Tridgell [Thu, 27 Jan 2005 06:18:20 +0000 (06:18 +0000)]
r5035: fixed composite test to use --num-ops command line option
Andrew Tridgell [Thu, 27 Jan 2005 06:16:59 +0000 (06:16 +0000)]
r5034: - added a type mapping function in pidl, so the type names in our IDL
files don't need to match the type names in the generated headers
- with this type mapping we no longer need definitions for the
deprecated "int32", "uint8" etc form of types. We can now force
everyone to use the standard types int32_t, uint8_t etc.
- fixed all the code that used the deprecated types
- converted the IDL types "int64" and "uint64" to "dlong" and
"udlong". These are the 4 byte aligned 64 bit integers that
Microsoft internally define as two 32 bit integers in a
structure. After discussions with Ronnie Sahlberg we decided that
calling these "int64" was confusing, as it implied a true 8 byte
aligned type
- fixed all the cases where we incorrectly used things like
"NTTIME_hyper" in our C code. The generated API now uses a NTTIME for
those. The fact that it is hyper-aligned on the wire is not relevant
to the API, and should remain just a IDL property
Tim Potter [Thu, 27 Jan 2005 04:41:40 +0000 (04:41 +0000)]
r5033: Remove --with-eparserdir configure option and eparser_idl make target.
This is all done in the lorikeet/ethereal Makefile now.
Andrew Tridgell [Thu, 27 Jan 2005 04:22:44 +0000 (04:22 +0000)]
r5032: get rid of the init fns in eparser
Andrew Tridgell [Thu, 27 Jan 2005 01:44:26 +0000 (01:44 +0000)]
r5027: added the IDL license to the IDL directory
Tim Potter [Thu, 27 Jan 2005 01:06:50 +0000 (01:06 +0000)]
r5026: Don't build the swig stuff by default until it's a bit more stable.
Tim Potter [Wed, 26 Jan 2005 22:34:30 +0000 (22:34 +0000)]
r5024: Fix build.
Tim Potter [Wed, 26 Jan 2005 20:46:58 +0000 (20:46 +0000)]
r5019: Some tweaks to building the swig .i files.
Tim Potter [Wed, 26 Jan 2005 20:43:55 +0000 (20:43 +0000)]
r5018: Initialise required subsystems (by hand, generated by substituting
BINARY for LIBRARY in config.mk).
Cut things down to just the samr pipe for the moment.
Tim Potter [Wed, 26 Jan 2005 20:41:58 +0000 (20:41 +0000)]
r5017: Fix bug in output typemap for uint32 (!)
Tim Potter [Wed, 26 Jan 2005 20:40:59 +0000 (20:40 +0000)]
r5016: Use LIBRARY instead of BINARY for inserting the swig stuff into the
build system. This still generates bogus targets (i.e
bin/swig_dcerpc.so.0.0.1) and the subsystem initialisation needs to be
done by hand but it is less of a hack.
Günther Deschner [Wed, 26 Jan 2005 13:19:47 +0000 (13:19 +0000)]
r5011: Do not use KRB5_CONFIG internally as it is used by MIT and Heimdal to find
the configfile (/etc/krb5.conf). Kerberos-Tests tend to segfault when
reading the krb5-config binary as configuration-file...
Also allow KRB5CONFIG to be passed over again
(KRB5CONFIG=/my/heimdal/bin/krb5-config ./configure...)
Guenther
Tim Potter [Wed, 26 Jan 2005 07:06:22 +0000 (07:06 +0000)]
r5010: Handle weird-ass NTTIME_1sec and NTTIME_hyper types.
Tim Potter [Wed, 26 Jan 2005 06:51:39 +0000 (06:51 +0000)]
r5009: Put bitmaps in their own subtree.
Tim Potter [Wed, 26 Jan 2005 06:29:10 +0000 (06:29 +0000)]
r5008: 32-bits is the default bitmap size.
Tim Potter [Wed, 26 Jan 2005 05:24:13 +0000 (05:24 +0000)]
r5007: Fix bug in regexp where we were eating the strings "in" or "out" from
structure names if they started with those strings.
Tim Potter [Wed, 26 Jan 2005 04:50:04 +0000 (04:50 +0000)]
r5006: Implement parsing of pidl bitmaps in ethereal parsers. This works
well but needs to be stuck in a subtree.
Tim Potter [Wed, 26 Jan 2005 04:34:16 +0000 (04:34 +0000)]
r5005: Add missing size specifiers to various bitmaps.
Andrew Tridgell [Wed, 26 Jan 2005 03:19:42 +0000 (03:19 +0000)]
r5004: add current samba3 nmblookup.c ready for updating to new nbt lib
Andrew Tridgell [Wed, 26 Jan 2005 03:19:05 +0000 (03:19 +0000)]
r5003: delete old nmblookup.c code
Tim Potter [Tue, 25 Jan 2005 23:14:46 +0000 (23:14 +0000)]
r4993: Generate nicer name for enum hf.
Start work on supporting bitmaps.
Tim Potter [Tue, 25 Jan 2005 22:38:57 +0000 (22:38 +0000)]
r4991: Remove debugging statement.
Tim Potter [Tue, 25 Jan 2005 22:33:44 +0000 (22:33 +0000)]
r4990: Generate value strings for pidl enumerations.
Tim Potter [Tue, 25 Jan 2005 11:38:39 +0000 (11:38 +0000)]
r4983: On second thoughts don't include the config.mk file for the swig stuff
just yet. More testing required.
Tim Potter [Tue, 25 Jan 2005 11:21:25 +0000 (11:21 +0000)]
r4982: Start to move swig dependencies into new build system. Unfortunately
I can only get something useful happening by using the BINARY keyword
as nothing else seems to generate dependency lists that can be used
when linking the swig shared libraries. Anyway this is a lot nicer
than having lots of junk in makefile.pm.
Tim Potter [Tue, 25 Jan 2005 10:20:24 +0000 (10:20 +0000)]
r4981: Fix swig build.
Tim Potter [Tue, 25 Jan 2005 10:03:57 +0000 (10:03 +0000)]
r4980: Copy RAP callno constants from Samba 3 and start to use them.
Tim Potter [Tue, 25 Jan 2005 09:46:00 +0000 (09:46 +0000)]
r4979: Return NT_STATUS_INVALID_SYSTEM_SERVICE for unimplemented RAP calls as
this is what win2k3 does.
Tim Potter [Tue, 25 Jan 2005 02:07:27 +0000 (02:07 +0000)]
r4975: Update usage of talloc in rap torture code.
Don't use ZERO_STRUCTP() when creating a new struct rap_call.
Tim Potter [Tue, 25 Jan 2005 01:39:44 +0000 (01:39 +0000)]
r4974: Update location of talloc_guide.txt
Tim Potter [Tue, 25 Jan 2005 01:21:59 +0000 (01:21 +0000)]
r4973: Add a RAP scanner to smbtorture. win2k has call numbers 0-215 although
the cifs tr lists 250-318 also.
Stefan Metzmacher [Mon, 24 Jan 2005 14:44:15 +0000 (14:44 +0000)]
r4962: add infrastructure to use raw krb5 auth in dcerpc client code
Note this doesn't work currently because the gensec_modules are not ready for that yet
metze
Stefan Metzmacher [Mon, 24 Jan 2005 14:31:19 +0000 (14:31 +0000)]
r4959: fix compiler warning
metze
Stefan Metzmacher [Mon, 24 Jan 2005 14:30:22 +0000 (14:30 +0000)]
r4958: fix compiler warnings
metze
Andrew Tridgell [Mon, 24 Jan 2005 03:43:48 +0000 (03:43 +0000)]
r4957: the fetchfile _recv() function was neglecting to steal the data and
free the connection context. This left a whole lot of state hanging
around and didn't give the memory to the caller properly
Andrew Tridgell [Mon, 24 Jan 2005 03:33:36 +0000 (03:33 +0000)]
r4956: - moved the definition of the mangle context structure into a pvfs_shortname
- made the mangle cache size configurable
Andrew Tridgell [Mon, 24 Jan 2005 02:19:57 +0000 (02:19 +0000)]
r4955: fixed a couple of minor memory leaks in the auth_sam code
Andrew Tridgell [Mon, 24 Jan 2005 01:51:45 +0000 (01:51 +0000)]
r4954: we don't need the separate event_remove_*() calls any more, as you now
remove an event by calling talloc_free().
Andrew Tridgell [Mon, 24 Jan 2005 01:15:30 +0000 (01:15 +0000)]
r4953: - enable easy valgrind use in all our test scripts
- when valgrind isn't set, then setup MALLOC_CHECK_ to abort on error
Andrew Tridgell [Mon, 24 Jan 2005 01:04:15 +0000 (01:04 +0000)]
r4952: removed a bogus talloc_steal() that was trying to cope with the
inverted memory hierarchy. Now the memory hierarchy is logical its not
needed (and can cause a double free in RPC-SCHANNEL)
Andrew Tridgell [Mon, 24 Jan 2005 00:57:14 +0000 (00:57 +0000)]
r4951: some of the code dealing with libcli was getting too complex trying to
handle the inverted memory hierarchy that a normal session
establishment gave. The inverted hierarchy came from that fact that
you first establish a socket, then a transport, then a session and
finally a tree. That leads to the socket being at the top of the
memory hierarchy and the tree at the bottom, which makes no sense from
the users point of view, as they want to be able to free the tree and
have everything disappear.
The core problem was that the libcli interface didn't distinguish
between establishing a primary context and a secondary context. If you
establish a 2nd session on a transport then you want the transport to
be referenced by the session, whereas if you establish a primary
session then you want the transport to be a child of the session.
To fix this I have added "parent_ctx" and "primary" arguments to the
libcli intialisation functions. This makes using the library much
easier, and gives us a memory hierarchy that makes much more sense.
I was prompted to do this by a bug in the cifs backend, which was
caused by the socket not being properly torn down on a disconnect due
to the inverted memory hierarchy.
Andrew Tridgell [Mon, 24 Jan 2005 00:51:06 +0000 (00:51 +0000)]
r4950: removed some excessive debugging messages
Volker Lendecke [Sun, 23 Jan 2005 23:23:26 +0000 (23:23 +0000)]
r4949: First version of a fetchfile composite function which connects to a server and
loads a file. Needs a smb url parsing wrapper.
Volker