summaryrefslogtreecommitdiff
path: root/source4/smbd
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r11004: r10083@SERNOX: metze | 2005-09-08 16:50:32 +0200Stefan Metzmacher1-0/+10
This is the start of a WINS-Replicaton server: The design is to handle incoming and outgoing connections, in one process, because it make thing much easier, and there's no need to it otherwise. The current code only parses incoming packets, and can reply to them, but currently only a standard error packets STOP_ASSOCIATON with reason == 4 (I think it means your are not configured as a wins partner of me) (the server service is called "wrepl") metze (This used to be commit 55a2016ba379d035cd559fb55a280e2ee9f15178)
2007-10-10r10920: in case of a accept() failure just failing and trying again is noAndrew Tridgell3-0/+17
good, as it is probably a resource constraint, so if we just try again we will spin (as the incoming socket will still be readable). Using a sleep(1) solves this by throtting smbd until the resource constraint goes away. if the resource constraint doesn't go away, then at least smbd won't be spinning chewing cpu (This used to be commit 7a5a9da477186b5e4fdb34ec64cc97915de4fd8e)
2007-10-10r10768: add a function to create a stream_connection from an alreadyStefan Metzmacher1-0/+33
existing socket connection, that's used for protocols which switch the client/server roles inside a session metze (This used to be commit d4b4d963353e6986da5b42680739329069f5affe)
2007-10-10r10682: force the free of the fd event first when a stream terminates. That ↵Andrew Tridgell1-0/+1
ensures destructors hanging off the stream connection don't trip more socket events. this should help with the problem volker described (This used to be commit fd8eccd5bf0c742a7809f3991101f4ac75b5e037)
2007-10-10r10586: Add MergedObject() builder. Default to Library() ratherJelmer Vernooij1-1/+1
then StaticLibrary() (This used to be commit b53313dc517986c69a4e4cb8fe3885b696f8faa1)
2007-10-10r10509: Some more sconscript fixes. Now getting to link stage for smbclientJelmer Vernooij1-2/+3
(This used to be commit 6df956edbab7ad5e72b2f20e74ab0f0d62528932)
2007-10-10r10336: Add sconscript for a couple more subsystems.Jelmer Vernooij1-0/+5
(This used to be commit 59d4450453c25f5cce9b67b808ff0c4433c1d194)
2007-10-10r10330: Add SConscript to more subsystems. Some of the tdb tools build now.Jelmer Vernooij1-1/+2
Start on custom Samba scons tools (for handling proto generation, pidl, etc) (This used to be commit 4bffe4435944fffa3f9680b5a2fe63f2bdd98003)
2007-10-10r10315: Remove use of fstring and pstring in dynconfig.cJelmer Vernooij1-1/+0
Remove unused includes of dynconfig.h (This used to be commit 59083b7ba60d518ddb59646c4fd69938afd079b3)
2007-10-10r8966: Simplify the makefile generation system a bit.Jelmer Vernooij1-0/+1
Autogenerate list of binaries (rather then having them hardcoded in build/smb_build/makefile.pm) Add INSTALLDIR keyword to .mk files (This used to be commit ce0935112b846486cf705ec69f12350be9c4c89d)
2007-10-10r8678: setup for gdb backtrace in 'make test'Andrew Tridgell1-3/+1
(This used to be commit acf8c8fd4995acef47390df5a7d4e611c597367d)
2007-10-10r8282: make the deletion of the smbd.tmp directory recursive. This cleans up ↵Andrew Tridgell1-45/+40
the messaging directory (This used to be commit 783679e0df6c059ebd26f78115445e81e304bc84)
2007-10-10r7911: task_terminate() is defined in the macosx headers, so change the nameAndrew Tridgell1-3/+3
to task_server_terminate() (This used to be commit a7447e25ac203f0ee09ffdf72df1094eb70e7c0c)
2007-10-10r7845: remove unused filesStefan Metzmacher1-535/+0
and remove all generated files with make distclean and make realdistclean metze (This used to be commit f964e228c9ceeb3dc4d0afd1b6b092734e06e372)
2007-10-10r7525: Unify lp_load(), load_interfaces and logging setup into popt().Andrew Bartlett1-9/+2
There is now a new --debug-stderr option to enable debug to STDERR. popt isn't perfect, but the callbacks are used in all the main Samba binaries, and should be used in the rest. This avoids duplicated code, and ensures every binary is setup correctly. This also ensures the setup happens early enough to have -s function, and have a correct impact on the credentials code. (Fixing a bug that frustrated tridge earlier today). The only 'subtle' aspect of all this is that I'm pretty sure that the SAMBA_COMMON popt code must be above the CREDENTIALS code, in the popt tables. Andrew Bartlett (This used to be commit 50f3c2b3a22971f40e0d3a88127b5120bfc47591)
2007-10-10r7493: add a --maximum-runtime option to smbd. If this time is exceeeded ↵Andrew Tridgell1-0/+22
then it exits. This will be used in the build farm (This used to be commit 3cec5b3c8656efcb00df530071c2badca914126a)
2007-10-10r7478: fixed a problem with a backgrounded smbd looping to handle continuousAndrew Tridgell1-0/+3
tty related signals (This used to be commit db2b507adde8a28524cb9bff3558e5c339276767)
2007-10-10r7392: more verbose debug outputStefan Metzmacher1-1/+1
metze (This used to be commit 816442320d1a7defe9eeb2c0a09070a3877a2853)
2007-10-10r7356: fixed the problem mkaplan reported with not being able to run without -iAndrew Tridgell1-2/+5
(This used to be commit eebca142e5a8e4aa25951d25b628c27a8fdbd046)
2007-10-10r7352: the internal heimdal build change. This changes quite a few things:Andrew Tridgell1-0/+4
- if you want kerberos now, you need to unpack a lorikeet heimdal tree in source/heimdal/. If source/heimdal/ does not exist at configure time then all kerberos features are disabled. You cannot use an external kerberos library for now. That may change later. - moved lib/replace/ config stuff to lib/replace/ and create a lib/replace/replace.h. That allows the heimdal build to use our portability layer, and prevenets duplicate definitions of functions like strlcat() - if you do enable heimdal, then you will need to do 'make HEIMDAL_EXTERNAL' before you build Samba. That should be fixed once I explain the problem to jelmer (the problem is the inability to set a depend without also dragging in the object list of the dependency. We need this for building the heimdal asn1 compiler and et compiler. - disabled all of the m4 checks for external kerberos libraries. I left them in place in auth/kerberos/, but disabled it in configure.in some of the heimdal_build/ code is still very rough, for example I don't correctly detect the correct awk, flex, bison replacements for heimdal_build/build_external.sh. I expect to fix that stuff up over the next few days. (This used to be commit d4648249b2c7fc8b5e7c0fc8d8f92ae043b5691f)
2007-10-10r7303: autodetect the libkdc and our kdc supportStefan Metzmacher1-1/+0
btw: I use this for configuring heimdal >>> CONFIG="CFLAGS=\"-g -O -Wall -Wstrict-prototypes -Wpointer-arith -Wcast-align -Wwrite-strings -Wdeclaration-after-statement\" \ CC=gcc-4.0 \ ./configure -C --prefix=$HOME/prefix/heimdal-test \ --sysconfdir=/etc \ --enable-shared=no \ --with-ldb=$HOME/prefix/ldb \ --without-openldap \ --without-openssl $@" echo $CONFIG eval $CONFIG >>> maybe you also want to use --disable-berkeley-db metze (This used to be commit 2aec140e00770df78ba31ef91109634ce0aa3d8a)
2007-10-10r7294: implemented the irpc messaging system. This is the core of theAndrew Tridgell2-0/+2
management system I proposed on samba-technical a couple of days ago. Essentially it is a very lightweight way for any code in Samba to make IDL based rpc calls to anywhere else in the code, without the client or server having to go to the trouble of setting up a full rpc service. It can be used with any of our existing IDL, but I expect it will mostly be used for a new set of Samba specific management calls. The LOCAL-IRPC torture test demonstrates how it can be used by calling the echo_AddOne() call over this transport. (This used to be commit 3d589a09954eb8b318f567e1150b0c27412fb942)
2007-10-10r7226: Forgot file to disable building the new kdcAndrew Bartlett1-0/+1
Andrew Bartlett (This used to be commit 678c3f37c7b1996f77daa176eb8a6c151ca3aa27)
2007-10-10r7221: Add the start of a KDC service (to be built on a 'libkdc' from a to beAndrew Bartlett1-0/+10
included Heimdal) to Samba4. Andrew Bartlett (This used to be commit 51ba3ea60c265b837821b6c3e031dfe229c10d6a)
2007-10-10r6997: added a private pointer to the task structure. This is needed by the ↵Andrew Tridgell1-0/+1
session data in the web server (This used to be commit ac438f0a9cc38ebec95133250c04c4935032b24d)
2007-10-10r6981: first version of the builtin web server for Samba4Andrew Tridgell1-0/+10
This includes an embedded server side scripting system called 'esp' (see http://www.appwebserver.org/products/esp/esp.html) and javascript based scripting language called 'esj' (see http://www.appwebserver.org/products/ejs/ejs.html) The justification for including this scripting language is that it should make it much easier to write a high quality web interface for Samba4. The scripting language can call into any Samba4 library code (so for example it will be able to make ldb and loadparm calls), plus it provides easy support for forms, cookies, sessions etc. There is still quite a bit more work to do on the web server, but there is enough here now for people to look at and comment. I will be committing some sample web pages that test esp functionality shortly. (This used to be commit 26f0ba92c0c565ac9e4cb5a079d795d4262497dd)
2007-10-10r6846: make smbd terminate immediately on EOF from stdinAndrew Tridgell1-0/+16
this will be used to make sure 'make test' kills smbd when finished (This used to be commit ddbb5495637ec0d693079bc94010ab91201a07b7)
2007-10-10r6725: the beginnings of a cldap serverAndrew Tridgell1-0/+10
(This used to be commit e51e0dffa8f8bff9bd1535751e805b548b6c6d7f)
2007-10-10r6530: the server ID of a connection in the single process model should beAndrew Tridgell1-1/+1
based on the new socket fd, not the listening socket! this fixes locktest with -M single (This used to be commit 3e1b2742db818629fb79d12d40279db8dd575279)
2007-10-10r6196: Make the comparisons consistent with in the same expression.Richard Sharpe1-1/+1
(This used to be commit 6f7337163e2eaae2d24ccebcd31787e48f543fbf)
2007-10-10r6187: 1. Make sure that we don't try to delete . and .. in a more portable way.Richard Sharpe1-10/+34
2. Also, don't try to delete directories. I am not entirely happy with this patch, and the fact that there is a define for HAVE_SYS_STAT_H suggests that there are some systems for which stat will not be defined, which means that the patch is not entirely portable. (This used to be commit fe7ddad7d44a49b2efe81cb3d0a5b2d09d1892ab)
2007-10-10r5411: make network interface selection a bit sanerAndrew Tridgell2-0/+2
- if we have no configured network interfaces, then don't start nbtd (when I add dynamic interface loading this will change to a delay until a network interface comes up) - choose the best interface by netmask for torture tests that need a specific IP (such as the WINS test). Added iface_best_ip() for that. - if specific interfaces are chosen in smb.conf, then keep that ordering, and default to the first one listed (This used to be commit 4d08c114079ef6d1d10a96195046fe43631aefa2)
2007-10-10r5306: removed all the unused mutex functions from mutex.c. When (if?) weAndrew Tridgell1-0/+1
decide to reinstate the mutex code for the threads process model, I'd like to do it a little differently. At least this gets it out of includes.h for now. (This used to be commit cfee0fb02e10add22b6c436bdfa95d1a8f5f3def)
2007-10-10r5304: removed lib/socket/socket.h from includes.hAndrew Tridgell2-0/+3
(This used to be commit b902ea546d2d1327b23f40ddaeeaa8e7e3662454)
2007-10-10r5302: fixed a compilation problem on solaris caused by the recent includeAndrew Tridgell1-1/+1
changes (This used to be commit e7e015f79b10c353848a17f31c91a0593790a560)
2007-10-10r5301: fixed pthreads buildAndrew Tridgell1-0/+1
(This used to be commit a7a72de07b3197b2ebfe8fe33a4e017e384dec6f)
2007-10-10r5298: - got rid of pstring.h from includes.h. This at least makes it a bitAndrew Tridgell2-0/+2
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 Tridgell1-0/+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-10r5197: moved events code to lib/events/ (suggestion from metze)Andrew Tridgell7-7/+7
(This used to be commit 7f54c8a339f36aa43c9340be70ab7f0067593ef2)
2007-10-10r5195: most events don't need the time of the event, so save a ↵Andrew Tridgell2-6/+6
gettimeofday() call and just use timeval_current() when its actually needed (This used to be commit 236403cc4dc2924ed6a898acae0bb44cc1688dcc)
2007-10-10r5193: make sure we mark the event dead when we free it on a dead connectionAndrew Tridgell1-1/+1
(This used to be commit 90535bab957ddaa7bfcdf43e199581f3352bdc8a)
2007-10-10r5185: make all the events data structures private to events.c. This willAndrew Tridgell4-25/+12
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-10r5141: fix compiler warningsStefan Metzmacher2-2/+2
metze (This used to be commit 12b0841b30fdb6d7ba8c3dc9991c172f7fb3d31f)
2007-10-10r5108: the beginnings of a nbtd server for Samba4. Currently just displaysAndrew Tridgell2-1/+11
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 Tridgell8-16/+266
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-10r5103: forgot to add two new filesAndrew Tridgell2-0/+272
these are the stream server helper functions (This used to be commit 3c5a7650a9730d74503b759bccafbb0fa3bbce78)
2007-10-10r5102: This is a major simplification of the logic for controlling top levelAndrew Tridgell11-1049/+270
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-10r5037: got rid of all of the TALLOC_DEPRECATED stuff. My apologies for theAndrew Tridgell1-3/+3
large commit. I thought this was worthwhile to get done for consistency. (This used to be commit ec32b22ed5ec224f6324f5e069d15e92e38e15c0)
2007-10-10r4944: every event_add_*() caller was having to call talloc_steal() to takeAndrew Tridgell1-8/+4
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 Tridgell1-9/+4
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)