summaryrefslogtreecommitdiff
path: root/source4/include
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r5304: removed lib/socket/socket.h from includes.hAndrew Tridgell1-1/+0
(This used to be commit b902ea546d2d1327b23f40ddaeeaa8e7e3662454)
2007-10-10r5298: - got rid of pstring.h from includes.h. This at least makes it a bitAndrew Tridgell4-16/+19
less likely that anyone will use pstring for new code - got rid of winbind_client.h from includes.h. This one triggered a huge change, as winbind_client.h was including system/filesys.h and defining the old uint32 and uint16 types, as well as its own pstring and fstring. (This used to be commit 9db6c79e902ec538108d6b7d3324039aabe1704f)
2007-10-10r5296: - only include the tdb headers where they are neededAndrew Tridgell2-4/+1
- removed the u32 hack in events.c as I think this was only needed as tdb.h defines u32. Metze, can you check that this hack is indeed no longer needed on your suse system? (This used to be commit 6f79432fe656164d4770dbce114a30dda5e7bf9a)
2007-10-10r5294: - added a separate NBT-WINS test for WINS operations (register, ↵Andrew Tridgell1-0/+1
refresh, release and query) - change the iface_n_*() functions to return a "const char *" instead of a "struct ipv4_addr" I think that in general we should move towards "const char *" for all IP addresses, as this makes IPv6 much easier, and is also easier to debug. Andrew, when you get a chance, could you fix some of the auth code to use strings for IPs ? - return a NTSTATUS error on bad name queries and node status instead of using rcode. This makes the calling code simpler. - added low level name release code in libcli/nbt/ - use a real IP in the register and wins nbt torture tests, as w2k3 WINS server silently rejects some operations that don't come from the IP being used (eg. it says "yes" to a release, but does not in fact release the name) (This used to be commit bb1ab11d8e0ea0bd9ae34aebeb565d36fe4b495f)
2007-10-10r5285: add a generic dlist_item struct which has a void *ptr for the dataStefan Metzmacher1-0/+4
metze (This used to be commit 7dbd9e7aab0720c76561b4c9a2d38b82b3a8bfe4)
2007-10-10r5275: - added support for NBT_OPCODE_MULTI_HOME_REG (opcode 0xf) for WINS ↵Andrew Tridgell1-0/+1
name registrations - fixed a bug in the send queue handling on timeouts - added support for handling unexpected replies (replies to the wrong port) at the nbtsocket layer - added separate layer 2 code for wins refresh and wins registration (This used to be commit 2502b02898407e3262c09a5a4aa573c5f87b8f5f)
2007-10-10r5253: need to pre-declare some structuresAndrew Tridgell1-2/+3
(This used to be commit a4d44d4a9d7cf51a9a4e47dce8e603ba22324d99)
2007-10-10r5249: don't include ';' in the default list separators for parsingAndrew Tridgell1-1/+1
smb.conf. It was rarely (if ever?) used, and poses problems as it is not multi-byte safe for character searches (This used to be commit 75a6cfb2f6b4ef85cf7e49958cccae9d35c4e5a2)
2007-10-10r5248: fixed a silly bug in DLIST_ADD_AFTER()Andrew Tridgell1-0/+1
(This used to be commit e36b6882fdd1bb331f297b3b82bc3621b8ba0586)
2007-10-10r5237: Add error code for "class not registered"Jelmer Vernooij1-0/+2
(This used to be commit b72a0ac654857273eaaf3c5e32d86abed0af3ceb)
2007-10-10r5197: moved events code to lib/events/ (suggestion from metze)Andrew Tridgell1-63/+0
(This used to be commit 7f54c8a339f36aa43c9340be70ab7f0067593ef2)
2007-10-10r5195: most events don't need the time of the event, so save a ↵Andrew Tridgell1-1/+1
gettimeofday() call and just use timeval_current() when its actually needed (This used to be commit 236403cc4dc2924ed6a898acae0bb44cc1688dcc)
2007-10-10r5187: ordered the timed events in the events code, which makes processingAndrew Tridgell1-18/+10
events much more efficient (no linked lists need to be traversed, so large numbers of timers are no problem) (This used to be commit b45b9436d78b0ad288b27a1023579bb566ca6202)
2007-10-10r5185: make all the events data structures private to events.c. This willAndrew Tridgell1-61/+35
make it possible to add optimisations to the events code such as keeping the next timed event in a sorted list, and using epoll for file descriptor events. I also removed the loop events code, as it wasn't being used anywhere, and changed timed events to always be one-shot (as adding a new timed event in the event handler is so easy to do if needed) (This used to be commit d7b4b6de51342a65bf46fce772d313f92f8d73d3)
2007-10-10r5155: define ipv4address as a based IDL type, mapped to a "const char *" inAndrew Tridgell1-0/+8
the header, and defined on the wire as a 4 byte network byte order IP. This means the calling code doesn't have to worry about network byte order conversions. (This used to be commit 72048e37179dd5b9ada0c5280d2f0d8c23d1a17d)
2007-10-10r5145: define struct ipv4_addr in misc.idl,Stefan Metzmacher1-9/+1
so we can use it in nbt.idl and get a nicer debug output metze (This used to be commit abacbc9192646f6f3c720758ab65889b82b9ae7b)
2007-10-10r5144: add more forward declarationsStefan Metzmacher1-2/+7
metze (This used to be commit c5a24792db61b688f23cf7d2509993049cad4a75)
2007-10-10r5134: - fix types to always use _t typesStefan Metzmacher1-2/+2
- add #include "system/filesys.h" where needed metze (This used to be commit 6bb07a0ed8a4baaeaa1d63bde8ce773364860fd2)
2007-10-10r5126: the composite code is no longer client specific or smb specific, soAndrew Tridgell1-1/+1
rename the core structure to composite_context and the wait routine to composite_wait() (suggestion from metze) (This used to be commit cf11d05e35179c2c3e51c5ab370cd0a3fb15f24a)
2007-10-10r5121: added periodic name refresh requests for all our registered names, ↵Andrew Tridgell1-0/+1
reporting any name conflicts (This used to be commit 69e6a1cd4bac665debb10601d1a3ddc0ae86e779)
2007-10-10r5117: used a composite function to add 4 stage name registration. We send 3Andrew Tridgell1-0/+1
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. (This used to be commit d656fba6f1a2e9d8c03893741327e5fb59c5271e)
2007-10-10r5114: the nbtd task can now act as a basic B-node server. It registers itsAndrew Tridgell1-1/+2
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 (This used to be commit d7d31fdc6670f026f96b50e51a4de19f0b920e5b)
2007-10-10r5108: the beginnings of a nbtd server for Samba4. Currently just displaysAndrew Tridgell1-0/+2
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. (This used to be commit 2fedca6adfd4df9e85cc86896dfa79630777a917)
2007-10-10r5104: - added support for task based servers. These are servers that withinAndrew Tridgell1-0/+1
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 (This used to be commit 339964a596689278d2138cff05d7d444798a3504)
2007-10-10r5102: This is a major simplification of the logic for controlling top levelAndrew Tridgell2-2/+5
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 (This used to be commit cf6a46c3cbde7b1eb1b86bd3882b953a2de3a42e)
2007-10-10r5038: we don't need these defines any moreAndrew Tridgell1-4/+0
(This used to be commit 03697fc761d5f6a93de34c9eadc8fe2c45fa78ae)
2007-10-10r5037: got rid of all of the TALLOC_DEPRECATED stuff. My apologies for theAndrew Tridgell1-1/+0
large commit. I thought this was worthwhile to get done for consistency. (This used to be commit ec32b22ed5ec224f6324f5e069d15e92e38e15c0)
2007-10-10r5034: - added a type mapping function in pidl, so the type names in our IDLAndrew Tridgell2-52/+0
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 (This used to be commit f86521677d7ff16bdc4815f9524e5286026f10f3)
2007-10-10r4980: Copy RAP callno constants from Samba 3 and start to use them.Tim Potter1-0/+261
(This used to be commit e32ade44858b869001d2990c788a7e34fb70b121)
2007-10-10r4949: First version of a fetchfile composite function which connects to a ↵Volker Lendecke1-0/+1
server and loads a file. Needs a smb url parsing wrapper. Volker (This used to be commit fa435bf7c878d4a5beb6afb2ed6e2990abc11e82)
2007-10-10r4943: Smplified the events handling code a lot. The first source ofAndrew Tridgell1-4/+11
complexity was that events didn't automatically cleanup themselves. This was because the events code was written before we had talloc destructors, so you needed to call event_remove_XX() to clean the event out of the event lists from every piece of code that used events. I have now added automatic event destructors, which in turn allowed me to simplify a lot of the calling code. The 2nd source of complexity was caused by the ref_count, which was needed to cope with event handlers destroying events while handling them, which meant the linked lists became invalid, so the ref_count ws used to mark events for later destruction. The new system is much simpler. I now have a ev->destruction_count, which is incremented in all event destructors. The event dispatch code checks for changes to this and handles it. (This used to be commit a3c7417cfeab429ffb22d5546b205818f531a7b4)
2007-10-10r4900: build fix for IRIX 6.5Andrew Tridgell2-5/+5
(This used to be commit f6ff9e6f39efdb312384ebb651b8e0f01e9e8df1)
2007-10-10r4895: I missed this in my previous 'use secrets.ldb' commit.Andrew Bartlett1-0/+2
Andrew Bartlett (This used to be commit 53b98c674b28a85eec9748a079c950bd7fa88384)
2007-10-10r4892: we don't need nameserv.h any moreAndrew Tridgell2-659/+0
(This used to be commit 1c83c80ef2b7e5f9eb5cd2242e37d136aed181b8)
2007-10-10r4885: added a new NBT client library. Features include:Andrew Tridgell1-0/+7
- structures defined using IDL in nbt.idl - build around our events structure, and talloc - fully async - supports all NBT packet fields as per rfc1002 - easy interfaces for name query and status For the moment there are just a couple of test functions in namequery.c, test_name_query() and test_name_status(). These will be removed when we hook the new library into libcli/ fully The new library will also be a fairly good basis for a nbt server. Although it can't be a server as-is, I wrote it with the needs of a server in mind (for example, extremely scalable idtree based packet handling) (This used to be commit ae7e625bfa4b4a3ee32c64566064b6a4c84ee4b9)
2007-10-10r4817: ccache was being made ineffective on all the build farm machinesAndrew Tridgell1-1/+0
because the version number was being auto-updated and included in all C files. With this change it is only included where needed. (This used to be commit 520cff73c6dc62ba1050cf7ca5145d50b5f2bb4e)
2007-10-10r4816: Note that NTTIME is 4-byte aligned which makes the comment about ↵Tim Potter1-1/+1
alignment for NTTIME_hyper make a bit more sense. (This used to be commit 03c1dcb59658e92da6f7643350c06f9efa42f6c4)
2007-10-10r4781: the tolower() in schema.c is a premature optimisation. I suspect theAndrew Tridgell1-4/+0
"distinguishedName" checking in that module is incorrect and should be removed, but meanwhile, lets not make it slow down the compile of every other module. (This used to be commit 6534ce650bef7405e0926c9b75b185943429ed18)
2007-10-10r4780: tolower() requires ctype.hJelmer Vernooij1-0/+4
(This used to be commit e22bfa8ae295db009158292b87fe389afa13717e)
2007-10-10r4777: added a smb_composite_sesssetup() async composite function. ThisAndrew Tridgell2-22/+2
encapsulates all the different session setup methods, including the multi-pass spnego code. I have hooked this into all the places that previously used the RAW_SESSSETUP_GENERIC method, and have removed the old RAW_SESSSETUP_GENERIC code from clisession.c and clitree.c. A nice side effect is that these two modules are now very simple again, back to being "raw" session setup handling, which was what was originally intended. I have also used this to replace the session setup code in the smb_composite_connect() code, and used that to build a very simple replacement for smbcli_tree_full_connection(). As a result, smbclient, smbtorture and all our other SMB connection code now goes via these composite async functions. That should give them a good workout! (This used to be commit 080d0518bc7d6fd4bc3ef783e7d4d2e3275d0799)
2007-10-10r4769: added a smb_composite_connect() function that provides a simple asyncAndrew Tridgell1-0/+1
interface to a complete SMB connection setup. Internally it does: - socket connection - session request (if needed) - negprot - session setup - tcon This is the first example of a composite function that builds on other composite components (the socket connection is a composite function, which is used as a building block for this function). I think this will be quite common in composite functions in the future, building up ever more complex composite functions from smaller building blocks, while hiding the details from the caller. There are two things missing from this now. The first is async name resolution routines (wins, bcast, DNS etc), and the second is that this code currently only does a NT1 style session setup. I'll work on adding spnego and old style session setup support next. (This used to be commit 6bc9e17f5c5236f662c7c8f308d03e6d97379b23)
2007-10-10r4764: Add some more structs to keep the proto.h compile happy.Andrew Bartlett1-0/+2
Andrew Bartlett (This used to be commit e5e4dd0d3499e0c63cddd5669cf2875cee7d4e3f)
2007-10-10r4726: - use the name tcon and tid instead of conn and cnumStefan Metzmacher1-2/+2
- make use of talloc destructors metze (This used to be commit 8308da6ce4a95f8c10e22949ef00e9e64f2dbb85)
2007-10-10r4723: Predefine libnet_JoinDomain as it's used in proto.hJelmer Vernooij1-0/+1
(This used to be commit 041bf4ee7de6026b032e5b4455e092a1ef3b8ee4)
2007-10-10r4717: fixed our usage of VA_COPY to be more standards compliantAndrew Tridgell1-1/+2
(This used to be commit 48b52584ab7db747feaf7ad4382bd3877935ee26)
2007-10-10r4710: added a smb_composite_savefile() function, and expanded the test ↵Andrew Tridgell1-1/+2
suite a little (This used to be commit ef4dbc443dbdebc4160209ed3f23cbb97109c414)
2007-10-10r4700: first attempt at a composite async function, smb_composite_loadfile(),Andrew Tridgell1-0/+3
which combineds ntcreatex, readx and close into a single call that behaves just like a normal libcli async call. (This used to be commit 516f68fb054f0717f0429e031aa820776ecc6597)
2007-10-10r4681: Another entry for structs.hAndrew Bartlett1-0/+2
Andrew Bartlett (This used to be commit a3f3553cbe3cc8c8b39704b7735277e36ca709a0)
2007-10-10r4673: Fix the IDL for the QuerySecret LSA call.Andrew Bartlett1-4/+7
This call uses a new IDL type, NTTIME_hyper. This is 8-byte aligned, as the name suggests. Expand the QuerySecret LSA calls in RPC-SAMLOGON and RPC-LSA, to validate the behaviour of times, and of the old secrets. Thanks to tridge for spotting the use of HYPER! Andrew Bartlett (This used to be commit 1fed79cb0f2ae7940639d08ef99576559d4cd06e)
2007-10-10r4650: - make more use of bitmap and enum'sStefan Metzmacher1-0/+2
- move some structs out of misc.idl metze (This used to be commit b6543a6e3057b5588ec50a2ebf6c7c932209efe6)