1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-24 21:34:56 +03:00
Commit Graph

61 Commits

Author SHA1 Message Date
Jelmer Vernooij
c84cfc0ecc r14554: Write out header dependencies. This means all C files affected will be
rebuilt when a header file is changed. It also means parallel builds work now.

It will take a minute or so to generate all the dependency information,
but there should be no need to rebuild that information later on, unless
a file changes.

This behaviour is only enabled when building in developer mode
(--enable-developer) and requires a GNU make (or compatible). In all other
cases, the file 'static_deps.mk' is included, which contains some basic
hardcoded dependency information.
(This used to be commit eb435386f0)
2007-10-10 13:58:45 -05:00
Jelmer Vernooij
e3f2414cf9 r14380: Reduce the size of structs.h
(This used to be commit 1a16a6f1df)
2007-10-10 13:57:16 -05:00
Stefan Metzmacher
32b0bb64bc r14205: move smb specific stuff out of includes.h (finally!!!:-)
all this changes really help ccache to speed up the samba4 build:-)

metze
(This used to be commit 180a79d103)
2007-10-10 13:57:03 -05:00
Jelmer Vernooij
306b12ad49 r14094: Use saner module directory names, fix loading of server service modules.
(This used to be commit b6ffad3860)
2007-10-10 13:56:49 -05:00
Stefan Metzmacher
60823d1878 r14078: move ldb_global_init() to the main smbd code,
to fix the process_model standard

metze
(This used to be commit a465126e15)
2007-10-10 13:56:49 -05:00
Stefan Metzmacher
8bec5a464a r14038: reopen log files after a SIGHUP
metze
(This used to be commit 8e9a69171a)
2007-10-10 13:52:37 -05:00
Jelmer Vernooij
f8fdbc967c r13944: Yet another round of splitups.
(This used to be commit f87debeb12)
2007-10-10 13:52:31 -05:00
Jelmer Vernooij
17ae598141 r13938: Around round of splitups
(This used to be commit 2d655f0528)
2007-10-10 13:52:29 -05:00
Stefan Metzmacher
0de1ad5ae6 r13937: fix the build
metze
(This used to be commit 7aabff8298)
2007-10-10 13:52:28 -05:00
Jelmer Vernooij
9bd7dd9121 r13926: More header splitups.
(This used to be commit 930daa9f41)
2007-10-10 13:52:26 -05:00
Jelmer Vernooij
4ac2be9958 r13924: Split more prototypes out of include/proto.h + initial work on header
file dependencies
(This used to be commit 1228358767)
2007-10-10 13:52:24 -05:00
Jelmer Vernooij
80c8a52286 r13655: Use new name of build header
(This used to be commit bca0e8054f)
2007-10-10 13:52:05 -05:00
Stefan Metzmacher
55eaed5aa2 r12661: Happy New Year!
metze
(This used to be commit c563aefb42)
2007-10-10 13:49:35 -05:00
Jelmer Vernooij
aa9f67163c r12620: Get rid of automatically generated lists of init functions of 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 44f0aba715)
2007-10-10 13:49:06 -05:00
Andrew Bartlett
906c142423 r12594: Jelmer pushed some proposed header reductions to the list today. This
commits some of these that I know to be correct in the kerberos area.

Andrew Bartlett
(This used to be commit 6787b3737c)
2007-10-10 13:49:00 -05:00
Jelmer Vernooij
2cd5ca7d25 r12542: Move some more prototypes out to seperate headers
(This used to be commit 0aca5fd513)
2007-10-10 13:47:55 -05:00
Jelmer Vernooij
0a3c167f6b r12528: Add seperate proto headers for ntvfs, tdr, smb_server and nbt_server.
(This used to be commit 87f665a1d5)
2007-10-10 13:47:51 -05:00
Jelmer Vernooij
7285e102f0 r12523: Convert the registry subsystem to use a seperate prototype header
(note that this doesn't use the distinction between private
 and public prototypes yet)
(This used to be commit 60e11f5758)
2007-10-10 13:47:51 -05:00
Jelmer Vernooij
09c44f6cae r12500: Use init functions explicitly in a few more places. 'gensec' and 'librpc'
are the only two subsystems left to convert.
(This used to be commit f6bbc72996)
2007-10-10 13:47:46 -05:00
Jelmer Vernooij
6aafed9600 r12499: Move smb_build.h out of includes.h
(This used to be commit c92ace494f)
2007-10-10 13:47:45 -05:00
Jelmer Vernooij
448483199f r12494: Support loading modules from .so files for most subsystems.
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 b6d2ad4ce0)
2007-10-10 13:47:45 -05:00
Stefan Metzmacher
28e3c7ac00 r12284: use the correct name for logging
metze
(This used to be commit 6c457873f7)
2007-10-10 13:47:26 -05:00
Andrew Bartlett
984860f922 r12267: Try to avoid segfault in kerberos libs, because we talloc_free()'ed
the old event context in the standard process modal child.

Andrew Bartlett
(This used to be commit 0f52a9ab07)
2007-10-10 13:47:25 -05:00
Stefan Metzmacher
3c145e05c7 r12260: move the string "smbd" to one place
metze
(This used to be commit dbb8f62670)
2007-10-10 13:47:25 -05:00
Stefan Metzmacher
275cf2b364 r12255: - we don't use SIGUSR1 anymore, so ignore it
- we don't handle SIGHUP just, so ignore it

metze
(This used to be commit 09a517bd97)
2007-10-10 13:47:24 -05:00
Andrew Bartlett
1244a97dbe r11317: An ugly hack to setup the global gssapi_krb5_context early, when we
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 57f811115e)
2007-10-10 13:45:19 -05:00
Jelmer Vernooij
349294d358 r10315: Remove use of fstring and pstring in dynconfig.c
Remove unused includes of dynconfig.h
(This used to be commit 59083b7ba6)
2007-10-10 13:38:17 -05:00
Andrew Tridgell
a369f0ecaf r8678: setup for gdb backtrace in 'make test'
(This used to be commit acf8c8fd49)
2007-10-10 13:29:53 -05:00
Andrew Tridgell
9281b58398 r8282: make the deletion of the smbd.tmp directory recursive. This cleans up the messaging
directory
(This used to be commit 783679e0df)
2007-10-10 13:19:31 -05:00
Andrew Bartlett
2b4791ae73 r7525: Unify lp_load(), load_interfaces and logging setup into popt().
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 50f3c2b3a2)
2007-10-10 13:18:06 -05:00
Andrew Tridgell
ea7942d468 r7493: add a --maximum-runtime option to smbd. If this time is exceeeded then it exits.
This will be used in the build farm
(This used to be commit 3cec5b3c86)
2007-10-10 13:17:59 -05:00
Andrew Tridgell
b8c8da4a50 r7478: fixed a problem with a backgrounded smbd looping to handle continuous
tty related signals
(This used to be commit db2b507add)
2007-10-10 13:17:57 -05:00
Stefan Metzmacher
b26cffe747 r7392: more verbose debug output
metze
(This used to be commit 816442320d)
2007-10-10 13:17:49 -05:00
Andrew Tridgell
c3c61bddc9 r7356: fixed the problem mkaplan reported with not being able to run without -i
(This used to be commit eebca142e5)
2007-10-10 13:17:46 -05:00
Andrew Tridgell
b5d44d4040 r6846: make smbd terminate immediately on EOF from stdin
this will be used to make sure 'make test' kills smbd when finished
(This used to be commit ddbb549563)
2007-10-10 13:16:50 -05:00
Richard Sharpe
89f03dc4eb r6196: Make the comparisons consistent with in the same expression.
(This used to be commit 6f7337163e)
2007-10-10 13:11:25 -05:00
Richard Sharpe
cf97980f31 r6187: 1. Make sure that we don't try to delete . and .. in a more portable way.
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 fe7ddad7d4)
2007-10-10 13:11:24 -05:00
Andrew Tridgell
35537c1255 r5302: fixed a compilation problem on solaris caused by the recent include
changes
(This used to be commit e7e015f79b)
2007-10-10 13:09:39 -05:00
Andrew Tridgell
e82aad1ce3 r5298: - got rid of pstring.h from includes.h. This at least makes it a bit
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 9db6c79e90)
2007-10-10 13:09:38 -05:00
Andrew Tridgell
131dc76d56 r5197: moved events code to lib/events/ (suggestion from metze)
(This used to be commit 7f54c8a339)
2007-10-10 13:09:30 -05:00
Andrew Tridgell
66170ef8b3 r5185: make all the events data structures private to events.c. This will
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 d7b4b6de51)
2007-10-10 13:09:29 -05:00
Andrew Tridgell
55d4d36993 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
(This used to be commit cf6a46c3cb)
2007-10-10 13:09:22 -05:00
Andrew Tridgell
fb8004a288 r4819: its just not my day today ....
(This used to be commit e54a97f8a6)
2007-10-10 13:08:59 -05:00
Stefan Metzmacher
9327ec51d1 r4728: split up server_services into:
- 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 d5fa02746c)
2007-10-10 13:08:49 -05:00
Andrew Tridgell
edbfc0f6e7 r3453: - split out the auth and popt includes
- 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 7b7477ac42)
2007-10-10 13:05:13 -05:00
Jelmer Vernooij
f2657b2cb1 r2937: Make sure all memory is initialized
(This used to be commit edf28c42f3)
2007-10-10 12:59:50 -05:00
Andrew Tridgell
7d32679e96 r2857: this commit gets rid of smb_ucs2_t, wpstring and fpstring, plus lots 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 814881f0e5)
2007-10-10 12:59:39 -05:00
Stefan Metzmacher
45a85bdd35 r1486: commit the start of the generic server infastructure
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 bbe5e00715)
2007-10-10 12:57:35 -05:00
Stefan Metzmacher
f89a67e345 r1233: -move smb related code to smb_server/*
-move process_model code to smbd/process_model.c
-remove some used code

metze
(This used to be commit 10dd848729)
2007-10-10 12:56:46 -05:00
Stefan Metzmacher
770e3307ce r962: convert 'unsigned' and 'unsigned int' to uint_t
metze
(This used to be commit 57151e80eb)
2007-10-10 12:56:23 -05:00