summaryrefslogtreecommitdiff
path: root/source4/smbd/server.c
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r13944: Yet another round of splitups.Jelmer Vernooij1-0/+1
(This used to be commit f87debeb12cebd734b47314554ab671c9e06237e)
2007-10-10r13938: Around round of splitupsJelmer Vernooij1-0/+1
(This used to be commit 2d655f05285a86bb1bbb882e4dd843def15c9dfa)
2007-10-10r13937: fix the buildStefan Metzmacher1-1/+1
metze (This used to be commit 7aabff829836580be8816f38a6e0ef5b7c3bb565)
2007-10-10r13926: More header splitups.Jelmer Vernooij1-0/+1
(This used to be commit 930daa9f416ecba1d75b8ad46bb42e336545672f)
2007-10-10r13924: Split more prototypes out of include/proto.h + initial work on headerJelmer Vernooij1-0/+1
file dependencies (This used to be commit 122835876748a3eaf5e8d31ad1abddab9acb8781)
2007-10-10r13655: Use new name of build headerJelmer Vernooij1-1/+1
(This used to be commit bca0e8054f6d9c7adc9d92e0c30d4323f994c9e9)
2007-10-10r12661: Happy New Year!Stefan Metzmacher1-1/+1
metze (This used to be commit c563aefb429c4891958032d1ea1fad01cbf89e4a)
2007-10-10r12620: Get rid of automatically generated lists of init functions of ↵Jelmer Vernooij1-1/+2
subsystems. This allows Samba libraries to be used by other projects (and parts of Samba to be built as shared libraries). (This used to be commit 44f0aba715bfedc7e1ee3d07e9a101a91dbd84b3)
2007-10-10r12594: Jelmer pushed some proposed header reductions to the list today. ThisAndrew Bartlett1-1/+0
commits some of these that I know to be correct in the kerberos area. Andrew Bartlett (This used to be commit 6787b3737c27f5136152b007b0ee2ae314efac3c)
2007-10-10r12542: Move some more prototypes out to seperate headersJelmer Vernooij1-0/+1
(This used to be commit 0aca5fd5130d980d07398f3291d294202aefe3c2)
2007-10-10r12528: Add seperate proto headers for ntvfs, tdr, smb_server and nbt_server.Jelmer Vernooij1-0/+1
(This used to be commit 87f665a1d5ba74289974bf9d8f9441c162e6f1b1)
2007-10-10r12523: Convert the registry subsystem to use a seperate prototype headerJelmer Vernooij1-0/+1
(note that this doesn't use the distinction between private and public prototypes yet) (This used to be commit 60e11f575821c1762b25ad66441b6e69ad1167ef)
2007-10-10r12500: Use init functions explicitly in a few more places. 'gensec' and ↵Jelmer Vernooij1-0/+11
'librpc' are the only two subsystems left to convert. (This used to be commit f6bbc72996aeee8607fc583140fd60be0e06e969)
2007-10-10r12499: Move smb_build.h out of includes.hJelmer Vernooij1-0/+1
(This used to be commit c92ace494f92084ddf178626cdf392d151043bc7)
2007-10-10r12494: Support loading modules from .so files for most subsystems.Jelmer Vernooij1-0/+9
We now use a different system for initializing the modules for a subsystem. Most subsystems now have an init function that looks something like this: init_module_fn static_init[] = STATIC_AUTH_MODULES; init_module_fn *shared_init = load_samba_modules(NULL, "auth"); run_init_functions(static_init); run_init_functions(shared_init); talloc_free(shared_init); I hope to eliminate the other init functions later on (the init_programname_subsystems; defines). (This used to be commit b6d2ad4ce0a91c4be790dd258820c492ff1787ea)
2007-10-10r12284: use the correct name for loggingStefan Metzmacher1-1/+1
metze (This used to be commit 6c457873f78397b7da47a4d98fe27d63ae60a379)
2007-10-10r12267: Try to avoid segfault in kerberos libs, because we talloc_free()'edAndrew Bartlett1-6/+0
the old event context in the standard process modal child. Andrew Bartlett (This used to be commit 0f52a9ab071c181c7f764adc8be83e162e649931)
2007-10-10r12260: move the string "smbd" to one placeStefan Metzmacher1-14/+16
metze (This used to be commit dbb8f626706bc1d41d6629b04432a34840daa355)
2007-10-10r12255: - we don't use SIGUSR1 anymore, so ignore itStefan Metzmacher1-2/+7
- we don't handle SIGHUP just, so ignore it metze (This used to be commit 09a517bd974e47547d6c3f3ff932289c47845efe)
2007-10-10r11317: An ugly hack to setup the global gssapi_krb5_context early, when weAndrew Bartlett1-0/+6
have easy access to the event context. This stops Samba dead-locking against itself when the winbindd client tries to contact the KDC. Andrew Bartlett (This used to be commit 57f811115ed768ea1f170dcd71038398bf2ab6e9)
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-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-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-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-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-10r5302: fixed a compilation problem on solaris caused by the recent includeAndrew Tridgell1-1/+1
changes (This used to be commit e7e015f79b10c353848a17f31c91a0593790a560)
2007-10-10r5298: - got rid of pstring.h from includes.h. This at least makes it a bitAndrew Tridgell1-0/+1
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-10r5197: moved events code to lib/events/ (suggestion from metze)Andrew Tridgell1-1/+1
(This used to be commit 7f54c8a339f36aa43c9340be70ab7f0067593ef2)
2007-10-10r5185: make all the events data structures private to events.c. This willAndrew Tridgell1-0/+1
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-10r5102: This is a major simplification of the logic for controlling top levelAndrew Tridgell1-68/+105
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-10r4819: its just not my day today ....Andrew Tridgell1-0/+1
(This used to be commit e54a97f8a67a04427b36cb4afac204c4e5f4502a)
2007-10-10r4728: split up server_services into:Stefan Metzmacher1-13/+14
- stream_socket services the smb, ldap and rpc service which sets up a srtam socket end then waits for connections and - task services which this you can create a seperate task that do something (this is also going through the process_model subsystem so with -M standard a new process for this created with -M thread a new thread ... I'll add datagram services later when we whave support for datagram sockets in lib/socket/ see the next commit as an example for service_task's metze (This used to be commit d5fa02746c6569b09b6e05785642da2fad3ba3e0)
2007-10-10r3453: - split out the auth and popt includesAndrew Tridgell1-0/+1
- tidied up some of the system includes - moved a few more structures back from misc.idl to netlogon.idl and samr.idl now that pidl knows about inter-IDL dependencies (This used to be commit 7b7477ac42d96faac1b0ff361525d2c63cedfc64)
2007-10-10r2937: Make sure all memory is initializedJelmer Vernooij1-7/+7
(This used to be commit edf28c42f3c9b41c82a4f642ddae23efbb12c944)
2007-10-10r2857: this commit gets rid of smb_ucs2_t, wpstring and fpstring, plus lots ↵Andrew Tridgell1-2/+0
of associated functions. The motivation for this change was to avoid having to convert to/from ucs2 strings for so many operations. Doing that was slow, used many static buffers, and was also incorrect as it didn't cope properly with unicode codepoints above 65536 (which could not be represented correctly as smb_ucs2_t chars) The two core functions that allowed this change are next_codepoint() and push_codepoint(). These functions allow you to correctly walk a arbitrary multi-byte string a character at a time without converting the whole string to ucs2. While doing this cleanup I also fixed several ucs2 string handling bugs. See the commit for details. The following code (which counts the number of occuraces of 'c' in a string) shows how to use the new interface: size_t count_chars(const char *s, char c) { size_t count = 0; while (*s) { size_t size; codepoint_t c2 = next_codepoint(s, &size); if (c2 == c) count++; s += size; } return count; } (This used to be commit 814881f0e50019196b3aa9fbe4aeadbb98172040)
2007-10-10r1486: commit the start of the generic server infastructureStefan Metzmacher1-19/+23
the idea is to have services as modules (smb, dcerpc, swat, ...) the process_model don't know about the service it self anymore. TODO: - the smbsrv should use the smbsrv_send function - the service subsystem init should be done like for other modules - we need to have a generic socket subsystem, which handle stream, datagram, and virtuell other sockets( e.g. for the ntvfs_ipc module to connect to the dcerpc server , or for smb or dcerpc or whatever to connect to a server wide auth service) - and other fixes... NOTE: process model pthread seems to be broken( but also before this patch!) metze (This used to be commit bbe5e00715ca4013ff0dbc345aa97adc6b5c2458)
2007-10-10r1233: -move smb related code to smb_server/*Stefan Metzmacher1-195/+1
-move process_model code to smbd/process_model.c -remove some used code metze (This used to be commit 10dd8487290a2876253ce69033e374d23b42e704)
2007-10-10r962: convert 'unsigned' and 'unsigned int' to uint_tStefan Metzmacher1-2/+2
metze (This used to be commit 57151e80eb1090281401930c8fe25b20a8cf3a38)
2007-10-10r889: convert samba4 to use [u]int16_t instead of [u]int16Stefan Metzmacher1-2/+2
metze (This used to be commit af6f1f8a01bebbecd99bc8c066519e89966e65e3)
2007-10-10r884: convert samba4 to use [u]int32_t instead of [u]int32Stefan Metzmacher1-1/+1
metze (This used to be commit 0e5517d937a2eb7cf707991d1c7498c1ab456095)
2007-10-10r277: fix the initialisation of subsystems for process model 'thread' and ↵Stefan Metzmacher1-2/+2
'standard' metze (This used to be commit 3d01cf95ad8b065cd274bc0e544919c7c9336721)
2004-02-02const fixesStefan Metzmacher1-2/+2
metze (This used to be commit a2beaa0823f899ae9f49c2e624f5e10263c5c26b)
2004-02-02- we now specify the object files in the subsystems config.m4 fileStefan Metzmacher1-2/+2
I plan to convert all objectfile group to use SMB_SUBSYSTEM later I'll add a SMB_BINARY() and SMB_LIBRARY(), then there will be no more need to touch Makefile.in, because all make rules will be autogenerated by configure - convert the PROCESS_MODEL subsystem to this new scheme and move the pthread test to smbd/process_model.m4 - convert the CHARSET subsystem to this new scheme and move the iconv test to lib/iconv.m4 (This used to be commit 2e57ee884ebea194ee79ac20e84e385481b56aa2)
2004-01-28merge the version.h autogeneration stuff from 3.0Stefan Metzmacher1-1/+1
metze (This used to be commit 24dc237e109f6dce69814b22e0fb7878a7f6bfa8)