summaryrefslogtreecommitdiff
path: root/source4/lib
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r5114: the nbtd task can now act as a basic B-node server. It registers itsAndrew Tridgell2-168/+14
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 Tridgell2-0/+4
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-10r5107: moved the horrible ldap socket code, and the even worseAndrew Tridgell1-175/+0
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. (This used to be commit 39d1ced21baeca40d1fca62ba65243ca8f15757e)
2007-10-10r5106: removed a bunch of unused socket functions. We still needAndrew Tridgell1-373/+1
open_socket_out() as its used by the ldap client code (uggh) (This used to be commit 95d9766be8b08b7ca52c24d4ed3313e147edb159)
2007-10-10r5105: removed some unused events functions. These are no longer needed asAndrew Tridgell1-30/+0
destructors are used to remove pending socket events (This used to be commit ce62105434ab02e94e38897409c3512905c48f02)
2007-10-10r5104: - added support for task based servers. These are servers that withinAndrew Tridgell1-26/+0
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 Tridgell1-11/+11
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-10r5093: Make debugs less confusing when a 0 NTTIME is printed.Andrew Bartlett1-1/+5
Andrew Bartlett (This used to be commit 9493c47b1833a4a7781303f8139f1636f86bf126)
2007-10-10r5092: Add a bit more const - moving it further into the LDB layer.Andrew Bartlett2-3/+3
Andrew Bartlett (This used to be commit ffad9b22be595279b247fa72d51145830fecbb06)
2007-10-10r5053: - fix up the library dependencies so that tools that need nbt don'tAndrew Tridgell1-1/+1
need to pull in the whole dcerpc subsystem - moved smbencrypt.c code into libcli/auth/ (This used to be commit 3351c636af23ad88649e84f4cb88fc1167d5c654)
2007-10-10r5052: minor formatting fixAndrew Tridgell1-4/+3
(This used to be commit 4337901c1b38aaaf6cc09641ad51ff28e591b1f4)
2007-10-10r5037: got rid of all of the TALLOC_DEPRECATED stuff. My apologies for theAndrew Tridgell28-103/+103
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-6/+6
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-10r4954: we don't need the separate event_remove_*() calls any more, as you nowAndrew Tridgell1-36/+2
remove an event by calling talloc_free(). (This used to be commit 8f19b6886cc58a56d52aecfc83a175197061e533)
2007-10-10r4944: every event_add_*() caller was having to call talloc_steal() to takeAndrew Tridgell2-13/+20
control of the event, so instead build that into the function. If you pass NULL as mem_ctx then it leaves it as a child of the events structure. (This used to be commit 7f981b9ed96f39027cbfd500f41e0c2be64cbb50)
2007-10-10r4943: Smplified the events handling code a lot. The first source ofAndrew Tridgell2-102/+89
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-10r4898: - removed the unused wins_srv_*() codeAndrew Tridgell4-397/+13
- expanded the generic async name resolver to try multiple methods - added wins resolutions to the list of methods tried - fixed up the random trn id generation to use the good random generator (This used to be commit 266fd2751c01808e5a18d4094032af50554ceb7a)
2007-10-10r4863: schema_find_attribute() should be staticAndrew Tridgell1-1/+1
(This used to be commit e7262dccce1ccc563fad48023c733c1d13929b4b)
2007-10-10r4862: - better structure schema testsSimo Sorce10-31/+54
- fix check for deletion of required attributes on modify removed by mistake with the previous commits (This used to be commit 0315159daf157b64ef3452372dd74199600e24b8)
2007-10-10r4859: changed a numbe rof things:Simo Sorce1-244/+150
- Try to no tcopy memory if not necessary - let the searches hang around until we finish the operation - greatly simplify the modify operation still todo: - check attributes syntax - check objectclasses type, we cannot allow to add a new structural objectclass to an exixting entry unless the existing one is a parent - more tests (This used to be commit c6257379e094881987cd11e05502129b2ce1c5a0)
2007-10-10r4844: - Remove the unused attrsyn structureSimo Sorce1-175/+164
- Change 0 to NULL when checking allocations - Introduce the schema_attr_cmp hepler function - Do not allow auxiliary classes to be missing - Try to ease code readability and try to get main code out of loops when possibile. (This used to be commit a30f647b8abe6b77ef73018f58af2f8a11689b91)
2007-10-10r4831: added udp support to our generic sockets library.Andrew Tridgell5-78/+208
I decided to incorporate the udp support into the socket_ipv4.c backend (and later in socket_ipv6.c) rather than doing a separate backend, as so much of the code is shareable. Basically this adds a socket_sendto() and a socket_recvfrom() call and not much all. For udp servers, I decided to keep the call as socket_listen(), even though dgram servers don't actually call listen(). This keeps the API consistent. I also added a simple local sockets testsuite in smbtorture, LOCAL-SOCKET (This used to be commit 9f12a45a05c5c447fb4ec18c8dd28f70e90e32a5)
2007-10-10r4818: missed version.h hereAndrew Tridgell1-0/+1
(This used to be commit 03953803519e5284b4092db12c6279370456c857)
2007-10-10r4817: ccache was being made ineffective on all the build farm machinesAndrew Tridgell2-0/+2
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-10r4801: remove the two bogus ctype.h includesAndrew Tridgell1-2/+0
(This used to be commit b221c3dbb9a7af88f917562b6f907fd0617eb05f)
2007-10-10r4793: minor doc updatesAndrew Tridgell1-15/+9
(This used to be commit ad1af519eb1a138e44cc94676f845b8ba65e3371)
2007-10-10r4790: added type checking helper macros in talloc. These take advantage ofAndrew Tridgell4-9/+107
the type names that talloc already keeps around for pointers, and allows the user to type check void* private pointers. It can also be used to implement polymorphism in C, as I'm sure someone would have pointed out to me sooner or later :-) (This used to be commit c283e1a3efac3a92e29a35856e20eb61ef4c221e)
2007-10-10r4786: forgot to commit the exclusion for schema checking against our ↵Simo Sorce1-0/+8
control entries (This used to be commit e895fcf4a33aeaf228d8b4b367c4e768506275bb)
2007-10-10r4784: finally make schema module use a single ldbSimo Sorce6-52/+764
add the new test-schema test (This used to be commit 42a20f6fa4073fc5ea1ca6254137a4ef53caee01)
2007-10-10r4781: the tolower() in schema.c is a premature optimisation. I suspect theAndrew Tridgell1-9/+8
"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-10r4775: use schema_attr_cmp wrapper to check for the special ↵Simo Sorce1-35/+57
dn/distinguishedName case alias (This used to be commit 18cd6cb67404830b8a5d28fa4106dadb275a5222)
2007-10-10r4759: use ldb_attr_cmp() to compare attribute namesSimo Sorce2-34/+53
check required attributes are not deleted on modify operation if the objectclass is deleted then deny the operation if orphan atributes are left behind (This used to be commit 8c11038d67c495f8d5f06cf1fdfe976088864b45)
2007-10-10r4756: a slight tidy up in the events codeAndrew Tridgell1-4/+1
(This used to be commit d2f76c3671df0b0232982e2fbfd5c049c9fb674f)
2007-10-10r4753: added the ability for the generic socket library to handle asyncAndrew Tridgell5-30/+104
connect(). This required a small API change (the addition of a socket_connect_complete() method) (This used to be commit b787dd166f5cca82b3710802eefb41e0a8851fc3)
2007-10-10r4744: until we decide what to do about attribute aliasing (see my recentAndrew Tridgell1-3/+5
samba-technical posting), this is an interim solution that makes us work pretty much like w2k3 does. (This used to be commit 789325145651f2f6fc8716aa4bced83a2eb31994)
2007-10-10r4727: add a reference to the event contextStefan Metzmacher1-1/+1
to that the destructor don't double free the registered events when the event context is first in the talloc_free() hierarchie fixes a bug with process_model_thread and the talloc_steal(conn, ev) metze (This used to be commit 05c3d1c4a6a6350cc8b5fb2ee8201ae6feed3d3d)
2007-10-10r4719: snprintf.c is used outside of samba, so don't use our special typesAndrew Tridgell1-2/+2
(This used to be commit 8033ef6b710df3b5bb2a249db97986b7d4c2e018)
2007-10-10r4718: don't use the deprecated __va_copy() unless va_copy() is unavailableAndrew Tridgell2-0/+4
(This used to be commit 603ef69be075821e3ffe2084bb5cfb0bc9cce180)
2007-10-10r4714: move the ldb code to the new talloc interface (eg remove _p suffix)Simo Sorce13-623/+358
this helps standalone building of ldb renew the schema module split code into functions to improve readability and code reuse add and modify works correctly but we need a proper testsuite Simo (This used to be commit a681ae365ff1b5a2771b42ebd90336651ce1e513)
2007-10-10r4711: - deprecate talloc_destroy()Andrew Tridgell3-9/+19
- expanded the talloc_realloc() test a little (I was concerned about a possible bug, which turned out to be an illusion) - don't enable gcov by default in Makefile.talloc (This used to be commit 4ec47cc1083c4cdb780e548177631c5914bf677a)
2007-10-10r4689: - make talloc_report_depth() publicStefan Metzmacher2-1/+9
- add talloc_parent() to return the parent context of a pointer these are very use full for debuging metze (This used to be commit 9b9501bc03ef8d4b53049f6b3531d06ed7ef7f89)
2007-10-10r4688: don't run male proto for lib/talloc/Stefan Metzmacher1-0/+1
metze (This used to be commit 4ab63d547903814318b74ea030bba9da0f36942f)
2007-10-10r4687: use struct type and location for easier findingStefan Metzmacher1-1/+1
metze (This used to be commit a88aac7a397972c52ca2fb192b58f2a172630a6e)
2007-10-10r4686: cerate a function to create a socket by specifying an socket_ops structStefan Metzmacher1-8/+16
metze (This used to be commit 894f402b01c8d4e0bef9c29697b8d13e5b9ea150)
2007-10-10r4682: A LDB-based secrets implementation in Samba4.Andrew Bartlett1-0/+15
This uses LDB (a local secrets.ldb and the global samdb) to fill out the secrets from an LSA perspective. Some small changes to come, but the bulk of the work is now done. A re-provision is required after this change. Andrew Bartlett (This used to be commit ded33033521a6a1c7ea80758c5c5aeeebb182a51)
2007-10-10r4678: Add some const to LDB.Andrew Bartlett2-2/+2
Andrew Bartlett (This used to be commit d4da9fb1600dba5daca9acb83f528c8f5f42f0ce)
2007-10-10r4670: abartlet was worried about floating point precision with my firstAndrew Tridgell1-2/+2
version - here is one based purely on 64 bit math (This used to be commit 1ff04b0dc3e680b6288622576bb373359a594c2f)
2007-10-10r4669: a timeval_to_nttime() function as requested by abartlet. Andrew, itsAndrew Tridgell1-0/+10
your responsibility to use/test this :-) (This used to be commit 2107b0cd7661a631952742bae241cb165b05c5f2)
2007-10-10r4659: Revert -r 4657 committed by mistake, until I review and test theAndrew Bartlett1-9/+51
changes (which were to use the common ARCFOUR code for random number generation). Andrew Bartlett (This used to be commit 50b3f64a8d555941499f41a7f43819474b81d4b8)
2007-10-10r4657: This really should be made a structure, so we can't get it wrong, butAndrew Bartlett1-51/+9
in the meantime, get the declaration right... Andrew Bartlett (This used to be commit 1c65db94f03457335133210bda488e2e21209f9a)