1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-13 13:18:06 +03:00
Commit Graph

634 Commits

Author SHA1 Message Date
Günther Deschner
fa8490aa4c s4-smbd: fix randseed_init() usage.
Guenther

Autobuild-User: Günther Deschner <gd@samba.org>
Autobuild-Date: Fri May  6 17:37:11 CEST 2011 on sn-devel-104
2011-05-06 17:37:11 +02:00
Andrew Bartlett
56a5b7d09e s4-param Rename secrets_init() -> randseed_init()
This only sets up the random number generator callback these days, so
use a different database for that.

(All secrets data in Samba4 is in secrets.ldb)

Andrew Bartlett
2011-05-03 07:37:07 +02:00
Andrew Bartlett
cdd802af83 s4-messaging Rename messaging -> imessaging
This avoid symbol and structure conflicts between Samba3 and Samba4,
and chooses a less generic name.

Andrew Bartlett
2011-05-03 07:37:07 +02:00
Andrew Tridgell
5adf85e6af tstream: make npa_tstream a private library
this prevents symbol duplication of the npa_tstream symbols

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-04-06 08:12:19 +02:00
Jelmer Vernooij
c104e4ca54 source4/smbd: Fix prototypes for all functions. 2011-03-19 03:20:04 +01:00
Andrew Tridgell
8dbe665a0c build: moved schannel_sign.c into a shared COMMON_SCHANNEL subsystem
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-02-24 11:57:48 +11:00
Andrew Tridgell
bed374215f s4-idl: rename s4 server_id.idl to server_id4.idl
this avoids a conflict with the new s3 server_id.idl

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-02-18 18:41:00 +11:00
Andrew Bartlett
d66150c14d libcli/named_pipe_auth Change from 'info3' to auth_session_info_transport
This changes the structure being used to convey the current user state
from the netlogon-derived 'netr_SamInfo3' structure to a purpose-built
structure that matches the internals of the Samba auth subsystem and
contains the final group list, as well as the final privilege set and
session key.

These previously had to be re-created on the server side of the pipe
each time.

Andrew Bartlett

Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-02-10 06:51:06 +01:00
Andrew Bartlett
a2ce53c1f5 s4-auth Rework auth subsystem to remove struct auth_serversupplied_info
This changes auth_serversupplied_info into the IDL-defined struct
auth_user_info_dc.  This then in turn contains a struct
auth_user_info, which is the only part of the structure that is
mainted into the struct session_info.

The idea here is to avoid keeping the incomplete results of the
authentication (such as session keys, lists of SID memberships etc) in
a namespace where it may be confused for the finalised results.

Andrew Barltett
2011-02-09 01:11:06 +01:00
Andrew Tridgell
1867a6033c s4-charset: use dyn_CODEPAGEDIR for location of upcase.dat/lowcase.dat
this matches samba3 behaviour

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-02-07 13:22:02 +11:00
Andrew Bartlett
fbe6d155bf s4-auth Remove special case for account_sid from auth_serversupplied_info
This makes everything reference a server_info->sids list, which is now
a struct dom_sid *, not a struct dom_sid **.  This is in keeping with
the other sid lists in the security_token etc.

In the process, I also tidy up the talloc tree (move more structures
under their logical parents) and check for some possible overflows in
situations with a pathological number of sids.

Andrew Bartlett
2011-01-20 23:44:05 +01:00
Stefan Metzmacher
4d5c0c3ec5 s4: Happy New Year 2011
metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Sun Jan  2 18:42:12 CET 2011 on sn-devel-104
2011-01-02 18:42:12 +01:00
Andrew Bartlett
94a59b781c s4-auth Remove event context from privilage database handling
These local TDB operations can quite safely be handled in a new/nested
event context, rather than using the main event context.

Andrew Bartlett
2010-12-21 15:10:38 +11:00
Matthias Dieter Wallnöfer
faa7ae47d6 s4:smbd/process*.c - fix PID warnings on Solaris
Autobuild-User: Matthias Dieter Wallnöfer <mdw@samba.org>
Autobuild-Date: Sun Dec 12 13:21:13 CET 2010 on sn-devel-104
2010-12-12 13:21:13 +01:00
Matthias Dieter Wallnöfer
c8aa7d5837 s4:param/secrets.h - fix "enum netr_SchannelType" include correctly 2010-11-27 21:50:41 +01:00
Matthieu Patou
6a781b5286 Add timestamp when running with --maximum-runtime
Autobuild-User: Matthieu Patou <mat@samba.org>
Autobuild-Date: Sat Nov 27 11:51:12 CET 2010 on sn-devel-104
2010-11-27 11:51:12 +01:00
Jelmer Vernooij
f91b7b5dab nbtd: Build service as shared module. 2010-11-15 11:43:05 +00:00
Andrew Tridgell
ef7f4a1420 s4-server: make server sockets a child of the task context
We previously allocated sockets as direct children of the event
context. That led to crashes if a service called
task_server_terminate(), as it left the socket open and handling
events for a dead protocol.

Making them a child of the task allows the task to terminate and take
all its sockets with it.

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-11-15 10:19:34 +11:00
Jelmer Vernooij
4217734a51 credentials: Lowercase library name,
Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Sun Nov  7 01:48:44 UTC 2010 on sn-devel-104
2010-11-07 01:48:44 +00:00
Jelmer Vernooij
e28cec7817 ldbsamba: Lowercase library name. 2010-11-07 01:57:34 +01:00
Andrew Tridgell
a12c3305b3 s4-server: cleanup allocation of process models
Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Wed Nov  3 10:40:52 UTC 2010 on sn-devel-104
2010-11-03 10:40:52 +00:00
Andrew Bartlett
a26d9194ff s4-process_model Fix valgrind-found use of un-initialised variable
The relloc didn't zero the structure for the new process modal, and so
m->initialised wasn't initialised.

Andrew Bartlett
2010-11-02 22:00:54 +11:00
Andrew Tridgell
28c1e4d3eb s4-modules: get rid of the remaining static prototypes for modules
the waf build now generates the prototype declarations for us
2010-11-01 18:55:19 +11:00
Andrew Tridgell
b887b69151 s4-process_model: use the static module prototyping
remove the manual prototyping of static init functions
2010-11-01 18:55:19 +11:00
Jelmer Vernooij
3deece5591 s4: Remove the old perl/m4/make/mk-based build system.
The new waf-based build system now has all the same functionality, and
the old build system has been broken for quite some time.

Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Sun Oct 31 02:01:44 UTC 2010 on sn-devel-104
2010-10-31 02:01:44 +00:00
Andrew Tridgell
b4ba669e48 s4-smbd: initialise process models in smbtorture before use
the spoolss notify test needs to setup the process models before use

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Sat Oct 30 13:32:09 UTC 2010 on sn-devel-104
2010-10-30 13:32:09 +00:00
Andrew Tridgell
35d466e66b s4-smbd: leave the single process model as internal
This helps with the static smbtorture for samba3, and the spoolss
tests which start a server
2010-10-30 23:49:02 +11:00
Andrew Tridgell
87b3d384c6 s4-cluster: make cluster a private shared lib 2010-10-30 23:49:01 +11:00
Andrew Tridgell
a57e0ae703 s4-smbd: make our process models into real modules
this simplifies some of the dependencies between bin/samba and the
various services, making it easier to get a clean depenency tree

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-30 23:49:00 +11:00
Andrew Tridgell
046d38faa5 s4-smbd: don't initialise process models more than once
this also removes the event_context parameter from process model
initialisation. It isn't needed, and is confusing when a process model
init can be called from more than one place, possibly with different
event contexts.

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-30 23:49:00 +11:00
Jelmer Vernooij
8cf61377aa waf: Remove lib prefix from libraries manually. 2010-10-26 10:17:17 -07:00
Jelmer Vernooij
d9cbcdd410 s4: Drop duplicate 'lib' prefix for private libraries. 2010-10-26 10:17:16 -07:00
Jelmer Vernooij
833480d3ad s4: Rename LIBSAMBA-* to libsamba-* 2010-10-24 00:20:04 +00:00
Jelmer Vernooij
cf26d8a958 s4: Rename LIBEVENTS to libevents. 2010-10-23 22:24:06 +00:00
Kai Blin
96195b2c0c s4 dns: Add a boilerplate DNS server implementation 2010-10-23 10:17:05 +00:00
Andrew Tridgell
2dcb596e83 s4-waf: removed dependencies on missing subsystems
these were left over from the old config.mk system
2010-10-21 19:03:24 +11:00
Andrew Tridgell
c41bb6e846 s4: show samba version in bin/samba -b
Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Thu Oct 14 02:24:47 UTC 2010 on sn-devel-104
2010-10-14 02:24:47 +00:00
Andrew Bartlett
5742f5115c libcli/security Use common security.h
This includes dom_sid.h and security_token.h and will be moved
to the top level shortly.

Andrew Bartlett

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Tue Oct 12 03:35:36 UTC 2010 on sn-devel-104
2010-10-12 03:35:36 +00:00
Andrew Bartlett
bae09a0921 s4-smbd Remove event_context_set_default()
The last callers to event_context_find() have been removed
so this is no longer required.

Andrew Bartlett
2010-10-11 13:02:16 +00:00
Andrew Bartlett
42127cdbb0 s4-credentials Add explicit event context handling to Kerberos calls (only)
By setting the event context to use for this operation (only) onto
the krb5_context just before we call that operation, we can try
and emulate the specification of an event context to the actual send_to_kdc()

This eliminates the specification of an event context to many other
cli_credentials calls, and the last use of event_context_find()

Special care is taken to restore the event context in the event of
nesting in the send_to_kdc function.

Andrew Bartlett
2010-10-11 13:02:16 +00:00
Jelmer Vernooij
d74e0adb30 credentials: Split up into several subsystems. 2010-10-11 02:06:03 +00:00
Jelmer Vernooij
53db1f3467 server: Add missing dependency on schannel database. 2010-10-10 23:54:04 +00:00
Jelmer Vernooij
ffb6766423 service: Add missing dependency on process_model. 2010-10-10 23:54:04 +00:00
Jelmer Vernooij
ffd7cee150 torture: Link against rpc server itself, not service module. (against which we can't link). 2010-10-11 01:06:36 +02:00
Jelmer Vernooij
c1884f31ea ldb-samba: Add ldb_wrap_add, remove last schema reference from ldb_wrap. 2010-10-10 23:25:38 +02:00
Jelmer Vernooij
c15e919a09 wafsamba: Clarify needs_python argument name, use pyembed/pyext where
applicable.

Allow using both pyembed and pyext, to prevent unresolved symbols.

Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Sun Oct 10 03:54:01 UTC 2010 on sn-devel-104
2010-10-10 03:54:01 +00:00
Jelmer Vernooij
9b18d48d51 heimdal: Fix library name of gssapi. 2010-10-05 00:38:34 +02:00
Andrew Tridgell
87f0145d07 s4-server: exit with status 127 on SIGTERM
this ensures that make test detects a failure if samba is killed by
SIGTERM
2010-10-02 21:11:52 -07:00
Andrew Tridgell
ea223baabc s4-server: check the return of irpc_binding_handle_by_name
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-09-15 15:39:36 +10:00
Andrew Tridgell
cad0219e69 s4-process: fixed the thread process model so it compiles
it doesn't actually work, but at least it now compiles
2010-09-07 12:55:27 +10:00
Stefan Metzmacher
e117177307 s4:smbd/service_task: use irpc_binding_handle_by_name()
metze
2010-09-03 17:00:20 +02:00
Björn Jacke
4b09919f70 s4:process_thread: use monotonic time for time deltas 2010-08-31 10:25:54 +02:00
Jelmer Vernooij
bc69a9d0d8 Avoid use of Samba DTD, which requires net access. 2010-08-22 14:05:58 +02:00
Andrew Tridgell
6b266b85cf s4-loadparm: 2nd half of lp_ to lpcfg_ conversion
this converts all callers that use the Samba4 loadparm lp_ calling
convention to use the lpcfg_ prefix.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-07-16 18:24:27 +10:00
Andrew Bartlett
58d0b638c8 s4:schannel Open the schannel_store.tdb at startup
This will allow TDB_CLEAR_IF_FIRST behaviour in future

Signed-off-by: Jeremy Allison <jra@samba.org>
2010-06-25 11:57:52 -07:00
Stefan Metzmacher
6dbcffb51d s4:lib: merge LDB_WRAP and LDBSAMBA and make LDBSAMBA a library.
This is needed to remove samba specifc symbols from the bundled
ldb, in order to get the ABI right.

metze

Signed-off-by: Andreas Schneider <asn@samba.org>
2010-06-16 14:07:28 +02:00
Jelmer Vernooij
0d7f8fb73d wafsamba: Fix building of modules as shared libraries. 2010-06-15 13:15:50 +02:00
Matthias Dieter Wallnöfer
a64262697a s4:smbd/pidfile.c - fix "asprintf" calls 2010-05-28 10:04:47 +02:00
Simo Sorce
3c8dc5cd21 s4:smbd: Use tstream_npa_accept_existing to accept named pipe connections
Pair-programmed-with: Stefan Metzmacher <metze@samba.org>
2010-05-26 09:24:05 +02:00
Simo Sorce
2e171239f9 s4:smbd: Add tstream to the stream_connection structure 2010-05-26 09:24:04 +02:00
Andrew Bartlett
9c6b637ce8 s4:auth Change auth_generate_session_info to take flags
This allows us to control what groups should be added in what use
cases, and in particular to more carefully control the introduction of
the 'authenticated' group.

In particular, in the 'service_named_pipe' protocol, we do not have
control over the addition of the authenticated users group, so we key
of 'is this user the anonymous SID'.

This also takes more care to allocate the right length ptoken->sids

Andrew Bartlett
2010-05-20 17:39:10 +10:00
Jelmer Vernooij
f9ca9e46ad Finish removal of iconv_convenience in public API's. 2010-05-18 11:45:30 +02:00
Andrew Bartlett
ad197f6f15 s4:process_model Fix process_standard and process_onefork not to use
multiple event contexts

It is NEVER valid to free an event context that anybody else may have
a reference to, and never normally valid to have two 'live' at once.
We must instead call tevent_re_initialise() to wipe clean an existing
pointer.

Andrew Bartlett
2010-05-14 23:25:45 +10:00
Andrew Bartlett
6f859f58af s4:process_modals Add another process modal - 'onefork'
This will fork off exactly one child to handle some task, ensuring
that if it dies or changes global state, that this does not change
everything.

Andrew Bartlett
2010-05-14 23:25:45 +10:00
Andrew Bartlett
ba4842a880 Revert "s4: remove unused references to swat"
This reverts most of commit 1765732f82.

The s3compat build needs the SWAT location to be compatible with
Samba3.
2010-05-14 23:25:44 +10:00
Stefan Metzmacher
1765732f82 s4: remove unused references to swat
metze
2010-04-29 12:36:47 +02:00
Stefan Metzmacher
ba703cb8e9 s4:service_named_pipe: use the passed client and server addresses
This gives the rpc server code the correct client and server
ip addresses for ncacn_np.

metze
2010-04-27 13:00:25 +02:00
Tim Potter
f25ebe3728 s4-smbd: Fix compiler warning in prefork smbd.
My first patch in a while...

Tim.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
2010-04-24 14:07:40 +02:00
Andrew Tridgell
612a34ad69 s4-server: show build host in samba -b output 2010-04-21 15:35:55 +10:00
Andrew Tridgell
211bf1ea17 s4-waf: removed the unused installdir= option to SAMBA_BINARY()
This was left over from the automatic conversion of the config.mk
files
2010-04-18 21:47:00 +10:00
Andrew Bartlett
589a42e2da s4:auth Change auth_generate_session_info to take an auth context
The auth context was in the past only for NTLM authentication, but we
need a SAM, an event context and and loadparm context for calculating
the local groups too, so re-use that infrustructure we already have in
place.

However, to avoid problems where we may not have an auth_context (in
torture tests, for example), allow a simpler 'session_info' to be
generated, by passing this via an indirection in gensec and an
generate_session_info() function pointer in the struct auth_context.

In the smb_server (for old-style session setups) we need to change the
async context to a new 'struct sesssetup_context'.  This allows us to
use the auth_context in processing the authentication reply .

Andrew Bartlett
2010-04-14 10:30:51 +10:00
Andrew Tridgell
b690fedef5 s4-waf: removed the AUTOGENERATED markers
we won't be using the mk -> wscript generator again
2010-04-06 20:27:16 +10:00
Andrew Tridgell
b0fb567f04 s4-waf: more dependencies on talloc
these are needed so we can support a system talloc without using the
bundled talloc.h
2010-04-06 20:27:13 +10:00
Andrew Tridgell
b9aa63887c s4-waf: cleanup use of LIBPOPT vs popt dependency 2010-04-06 20:27:13 +10:00
Andrew Tridgell
f9eae32f4b s4-waf: mark the wscript files as python so vim/emacs knows how to highlight them 2010-04-06 20:27:11 +10:00
Andrew Tridgell
6f15ea31c2 build: install samba in sbin 2010-04-06 20:26:55 +10:00
Andrew Tridgell
844acb2260 build: waf quicktest nearly works
Rewrote wafsamba using a new dependency handling system, and started
adding the waf test code
2010-04-06 20:26:48 +10:00
Andrew Tridgell
845e0cbe6f build: commit all the waf build files in the tree 2010-04-06 20:26:48 +10:00
Andrew Tridgell
b60da39da6 s4: added a simple implementation of bin/samba -b
this shows the config paths. Useful for debugging --enable-fhs
2010-03-29 21:34:29 +11:00
Andreas Schneider
a6f25fc635 s3-smbd: Don't close stdout if we want to log to stdout. 2010-03-26 14:48:54 +01:00
Andrew Tridgell
789d67c499 s4-smbd: use tevent_re_initialise()
This fixes a crash bug on startup
2010-03-26 21:13:55 +11:00
Stefan Metzmacher
ae049c49df s4:libcli/wrepl: rewrite the low level request handling to use tevent_queue and tstream_context
metze
2010-03-07 17:12:39 +01:00
Andreas Schneider
81bb8f67fa s4-smb: Migrate named_pipe_server to tsocket.
This is an improved version of commit 69d5cea2e5,
which was reverted by commit 71c20f703b.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
2010-02-26 08:57:31 +01:00
Andrew Tridgell
781ad038c9 s4-krb5: propogate errors from a lot more kerberos functions
We need to be able to give sensible error messages when a kerberos
calls fails. This propogates the kerberos error up the stack to the
caller.

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-02-26 13:59:16 +11:00
Simo Sorce
71c20f703b Revert "s4-smb: Migrate named_pipe_server to tsocket."
This reverts commit 69d5cea2e5.

This commit causes issues with the RPC server, revert it until we find the
exact issue and possibly have a torture test to avoid it happening again.
Found playing with w2k8r2 and forest trusts.
2010-02-24 18:35:47 -05:00
Simo Sorce
1203de99b1 s4:schannel merge code with s3
After looking at the s4 side of the (s)channel :) I found out that it makes
more sense to simply make it use the tdb based code than redo the same changes
done to s3 to simplify the interface.

Ldb is slow, to the point it needs haks to pre-open the db to speed it up, yet
that does not solve the lookup speed, with ldb it is always going to be slower.

Looking through the history it is evident that the schannel database doesn't
really need greate expanadability. And lookups are always done with a single
Key. This seem a perfet fit for tdb while ldb looks unnecessarily complicated.

The schannel database is not really a persistent one. It can be discared during
an upgrade without causing any real issue. all it contains is temproary session
data.
2010-02-23 12:46:50 -05:00
Andreas Schneider
69d5cea2e5 s4-smb: Migrate named_pipe_server to tsocket. 2010-02-23 13:48:21 +01:00
Andreas Schneider
95a0ab5f11 s4-smbd: Remove obsolete singal type cast from the thread process model. 2010-02-23 12:23:44 +01:00
Brad Hards
1e986c1cb3 More spelling fixes across source4/
Signed-off-by: Matthias Dieter Wallnöfer <mwallnoefer@yahoo.de>
2010-02-22 21:45:38 +01:00
Matthias Dieter Wallnöfer
eed65ed337 s4:server.c - use always "return" instead of "exit" in the "binary_smbd_main" function
Just to be consistent - no functional change
2010-02-13 18:24:07 +01:00
Andrew Tridgell
f69135e0e9 s4-smbd: fix crash in notify code on client termination
We need to free the lp_ctx after we free the event context, otherwise
the teardown code in the notify backend dies when it tries to use the
iconv_convenience ptr

Fixes bug 7053
2010-02-13 23:12:29 +11:00
Andrew Tridgell
89b6a80e72 s4-dns: added a dns update task
This task watches for changes in the list of DCs, and creates a bind9
formatted file that grants update permission to all DCs, plus to the
administration, and machines update for their own names.

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-02-11 21:04:14 +11:00
Andrew Tridgell
a894eeab77 s4-debug: lower the verbosity of a couple of common log messages 2010-01-09 21:59:34 +11:00
Andrew Tridgell
278d2f75ba s4-smbd: setup the default event contexts for other process models 2010-01-08 13:03:05 +11:00
Andrew Tridgell
dcbba583d9 s4-event: added s4_event_context_set_default()
we're still not weaned off event_context_find()
2010-01-08 13:03:02 +11:00
Stefan Metzmacher
a06e5cdb99 s4: Happy New Year 2010
metze
2010-01-04 08:42:49 +01:00
Stefan Metzmacher
500f55ca92 s4:smbd: hold tsocket_addresses on the stream_connection
metze
2009-12-24 17:38:33 +01:00
Andrew Tridgell
890e7719cf s4-ldb: move the tdb_reopen_all() calls to ldb_wrap.c 2009-10-23 14:52:18 +11:00
Andrew Tridgell
a7cc448dc2 s4-server: call the ldb_wrap_fork_hook() after a fork()
This will be used to allow us to cancel any pending transactions
after a fork.
2009-10-23 14:52:18 +11:00
Andrew Tridgell
33756d6374 s4-server: pre-open the main ldb databases in the server
By pre-opening these databases and leaving them open, we allow the new
ldb_wrap_connect() code to share the ldb context between users.
2009-10-23 14:52:18 +11:00
Matthias Dieter Wallnöfer
dedd32d323 s4:server.c - add linespace (only cosmetic) 2009-09-20 22:17:35 +02:00
Andrew Tridgell
72c60db126 s4-smbd: removed unnecessary includes 2009-09-19 14:11:58 -07:00
Andrew Tridgell
7c807de6b8 s4-smbd: minimise includes in smbd/ and smb_server 2009-09-19 14:11:54 -07:00
Andrew Tridgell
e9a589feac s4-server: kill main daemon if a task fails to initialise
When one of our core tasks fails to initialise it can now ask for the
server as a whole to die, rather than limping along in a degraded
state.
2009-09-18 18:05:55 -07:00
Stefan Metzmacher
bb0644175a s4:service_named_pipe: accept delegated credentials
metze
2009-09-18 20:34:41 +02:00
Andrew Tridgell
61facf4266 s4-kcc: add a very simple KCC
A KCC is a 'Knowledge Consistency Checker', a fancy name for a daemon
that works out who will replicate with who in a AD domain. This
implements an extremely simple KCC task that just wants to replicate
with everyone :-)
2009-09-11 22:13:45 +10:00
Andrew Tridgell
c271dc998b ensure that child tasks die when the parent dies
Previously we relied on process groups and SIGTERM to ensure that
child tasks died in the standard process model when the parent task
died. This doesn't work when the server is run in interactive mode, as
in that case we don't call become_daemon() and don't get a separate
process group.

The fix is to have a pipe held open by the parent server process, and
inherited by child tasks. If the parent exits then the write side of
the pipe is implicitly closed, which causes an event in the child
tasks that causes them to exit
2009-08-07 17:24:48 +10:00
Andrew Tridgell
cfc0cabb27 prime the sam ldb schema in the parent samba process
While testing the use of the standard process model with 'make test' I
found that testing was much slower (by several times) with the
standard model than with the single model. The primary problem was
that each SMB connection would open a new sam ldb context, and all of
those would reload the full AD schema.

The fix is to pre-open the SAM during server startup, before any child
processes are forked. This sets up the global schema context which is
inherited by all connections.

The standard model is still slower at make test than the single model,
but not by nearly as much. I am working on further reducing the gap.
2009-08-07 17:24:48 +10:00
Volker Lendecke
4b3e89c2e7 Fix Coverity 911: FORWARD_NULL. Metze, please check! 2009-05-02 13:14:14 +02:00
Stefan Metzmacher
fe9b552023 s4:smbd: depend on NAMED_PIPE_AUTH_TSTREAM...
metze
2009-05-01 17:42:09 +02:00
Stefan Metzmacher
2ae92c7599 s4:smbd: add support for named_pipe_auth level 2 in service_named_pipe...
metze
2009-05-01 17:42:06 +02:00
Stefan Metzmacher
6ef1442360 s4:smbd: the name of the binary is "samba" now
metze
2009-03-21 10:44:40 +01:00
Steven Danneman
116ce19b10 Moved become_daemon() and close_low_fds() to shared util lib 2009-02-20 16:30:12 -08:00
Stefan Metzmacher
d9c30894a1 s4:service_stream: s/private/private_data
metze
2009-02-02 13:09:00 +01:00
Stefan Metzmacher
1441e87e24 s4:service_task: s/private/private_data
metze
2009-02-02 13:08:59 +01:00
Stefan Metzmacher
29cc638c2c s4:smbd: s/private/private_data
metze
2009-02-02 13:08:36 +01:00
Stefan Metzmacher
a83feb2fe3 s4:auth: move make_server_info_netlogon_validation() function arround
metze
2009-01-21 13:36:11 +01:00
Jelmer Vernooij
da656c2e87 Use AS_HELP_STRING() in a couple more places. 2009-01-15 21:22:34 +01:00
Stefan Metzmacher
47d532fa68 s4:smbd: convert to tevent_* api
metze
2009-01-03 19:58:57 +01:00
Stefan Metzmacher
5fa0d3d568 s4:socket: use a socket_wrapper aware function to auto close the fd event for sockets
metze
2009-01-03 19:58:53 +01:00
Stefan Metzmacher
8b81e7c7c6 Happy New Year!
metze
2009-01-02 09:45:14 +01:00
Stefan Metzmacher
183c379fe5 s4:lib/tevent: rename structs
list=""
list="$list event_context:tevent_context"
list="$list fd_event:tevent_fd"
list="$list timed_event:tevent_timer"

for s in $list; do
	o=`echo $s | cut -d ':' -f1`
	n=`echo $s | cut -d ':' -f2`
	r=`git grep "struct $o" |cut -d ':' -f1 |sort -u`
	files=`echo "$r" | grep -v source3 | grep -v nsswitch | grep -v packaging4`
	for f in $files; do
		cat $f | sed -e "s/struct $o/struct $n/g" > $f.tmp
		mv $f.tmp $f
	done
done

metze
2008-12-29 20:46:40 +01:00
Stefan Metzmacher
e36d64728f s4:cluster: remove old/broken ctdb code
We don't need a full copy of ctdb...
If we want to readd cluster support,
we should just use a ctdb client library.

metze
2008-12-29 14:46:09 +01:00
Jelmer Vernooij
1feab85be6 Rename samba-socket -> samba_socket to fix a couple more compiler
warnings.
2008-12-24 00:15:43 +01:00
Jelmer Vernooij
c023828962 Fix missing symbols issues when building with shared libraries. 2008-12-22 21:03:09 +01:00
Stefan Metzmacher
081f8883ba s4: fix LIBEVENTS dependencies and use more forward declarations
We should only include events.h where we really need it
and prefer forward declarations of 'struct event_context'

metze
2008-12-17 11:04:45 +01:00
Jelmer Vernooij
0f04beff33 Rename dom_sid.idl -> server_id.idl (since it no longer actually contains the dom_sid). No longer include it from security.idl. 2008-12-16 15:36:18 +01:00
Stefan Metzmacher
21aa4ea6b9 s4: smbd: implement stream_socket_named_pipe()
For now implement just a very simple protocol
to negotiate the transport session info.

We may need to pass more info later,
e.g. client ip or name...

metze
2008-11-06 21:39:13 +01:00
Jelmer Vernooij
23302413b3 Remove unused include param/param.h. 2008-10-24 16:37:56 +02:00
Jelmer Vernooij
87ec1d2532 Make sure prototypes are always included, make some functions static and
remove some unused functions.
2008-10-20 18:59:51 +02:00
Jelmer Vernooij
2d89b52be8 Use separate make variables for libutil and libcrypto. 2008-10-18 14:28:40 +02:00
Jelmer Vernooij
aaa3e0425d Fix includes. 2008-10-15 02:52:10 +02:00
Jelmer Vernooij
9565999755 Fix include paths to new location of libutil. 2008-10-11 21:31:42 +02:00
Jelmer Vernooij
2400b1fea2 Fix segfault. 2008-09-30 04:22:54 +02:00
Jelmer Vernooij
2ba4a79210 Eliminate another global_loadparm. 2008-09-30 03:20:46 +02:00
Andrew Tridgell
59847fd6b6 log stream termination 2008-09-24 18:10:23 -07:00
Jelmer Vernooij
6a689c23e8 Rename smbd -> samba.
This reverts commit 05ea5e23cf.

Conflicts:

	source4/smbd/server.c
2008-09-24 03:16:15 +02:00
Stefan Metzmacher
1d92b2211c s4: allways initialize the process model before it's used
metze
2008-09-22 18:16:09 +02:00
Stefan Metzmacher
bee2b6c3a3 process incoming connections and fork a samba3 in inetd mode 2008-09-22 04:38:06 +02:00
Jelmer Vernooij
05ea5e23cf Revert "Rename smbd -> samba."
This reverts commit 0e9008be35.
2008-09-21 21:32:40 +02:00
Jelmer Vernooij
0e9008be35 Rename smbd -> samba. 2008-09-21 21:26:40 +02:00
Jelmer Vernooij
7111645d3c Use single copy of tdb in both samba3 and samba4. 2008-09-16 15:16:31 +02:00
Stefan Metzmacher
197c25487e smbd: make sure the parent smbd stays alive forever
The problem was that the parent smbd doesn't have
any event when the process model standard was in use.

Now we always add an fd event for stdin, but may not
ask for any events to trigger.

metze
(This used to be commit fa6c00734c)
2008-06-20 11:03:12 +02:00
Andrew Bartlett
00bde569b7 Fix segfault caused by talloc_free() being called while still processing
The problem here was that with the packet code set to serialise, we
can have multiple packets 'processing' at once, and previously the
second packet (allowed because we are spining on an event context down
the stack) would clear the flag.

Andrew Bartlett
(This used to be commit 3378911124)
2008-06-19 17:59:57 +10:00
Simo Sorce
2daf2897d5 Use a custom init function for samba4 that sets a samba4
specific debug function.
By default do not debug, this is the most appropriate action for a library
as we cannot assume what stderr is use for in the main app.
The main app is responsible to set ev_debug_stderr if they so desire.
(This used to be commit e566a2f308)
2008-06-14 13:00:53 -04:00
Jelmer Vernooij
21a11373e0 Fix prototype for pthread process model.
(This used to be commit 280c411613)
2008-06-14 12:14:27 +02:00
Andrew Bartlett
baa2dffdf3 Bring up the ntp signing deamon
This starts ntp_signd at startup, and fixes some build issues.

Andrew Bartlett
(This used to be commit cb0dcd5c3d)
2008-05-28 13:21:26 +10:00
Jelmer Vernooij
4c70cda986 Fix a couple (well, little more than that..) of typos.
(This used to be commit a6b5211994)
2008-05-18 23:02:47 +02:00
Jelmer Vernooij
4c8756f147 Create prototype headers from Makefile directory, without smb_build in the middle.
(This used to be commit f4a77b96f9)
2008-05-18 22:30:08 +02:00
Jelmer Vernooij
137ec6e340 Use variables for source directory in a couple more places.
(This used to be commit 2860a7db59)
2008-05-18 19:46:09 +02:00
Jelmer Vernooij
4f0db42958 Use variables for source directory in a couple more places.
(This used to be commit 56bb2907c6)
2008-05-18 19:41:33 +02:00
Stefan Metzmacher
250478d044 smbd: pass down lp_ctx to stream_new_connection_merge()
metze
(This used to be commit 91e9062265)
2008-05-17 02:15:18 +02:00
Stefan Metzmacher
626b2da5a9 smbd: add session_info to struct stream_connection
NULL represents an anoymous connection, as that's
cheaper than always calling auth_anonymous_session_info(),
That means if the caller wants to use the transport layer
session_info he should call auth_anonymous_session_info()
to create the session info.

metze
(This used to be commit 3777d0307b)
2008-05-17 01:54:18 +02:00
Jelmer Vernooij
b5d84a74d1 Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into v4-0-gmake3
Conflicts:

	source/auth/credentials/config.mk
	source/auth/gensec/config.mk
	source/build/smb_build/makefile.pm
	source/heimdal_build/config.mk
	source/lib/events/config.mk
	source/lib/nss_wrapper/config.mk
	source/lib/policy/config.mk
	source/lib/registry/config.mk
	source/lib/socket_wrapper/config.mk
	source/lib/tdb/config.mk
	source/lib/tls/config.mk
	source/lib/util/config.mk
	source/libcli/config.mk
	source/libcli/ldap/config.mk
	source/libnet/config.mk
	source/librpc/config.mk
	source/param/config.mk
	source/rpc_server/config.mk
	source/scripting/ejs/config.mk
	source/smbd/process_model.mk
(This used to be commit 760378e029)
2008-04-08 03:45:06 +02:00
Jelmer Vernooij
afe3e8172d Install public header files again and include required prototypes.
(This used to be commit 47ffbbf674)
2008-04-02 04:53:27 +02:00
Jelmer Vernooij
39b2fc37f2 Add context pointer to secrets functions.
(This used to be commit 873941d8a8)
2008-04-01 15:26:00 +02:00
Jelmer Vernooij
f41b9a9dde Rename libsamba-config to libsamba-hostconfig.
(This used to be commit c46b7e90e3)
2008-04-01 15:08:30 +02:00
Jelmer Vernooij
fb6fdfce37 Fix the build.
(This used to be commit f2e4974471)
2008-03-08 17:02:40 +01:00
Jelmer Vernooij
2bf39edc9d Push SOVERSION and VERSION out of perl code.
(This used to be commit 0ba8ac6a14)
2008-03-08 15:28:12 +01:00
Jelmer Vernooij
6cf92e604d Fix the build.
(This used to be commit 49ef8d0c19)
2008-03-04 13:06:08 +01:00
Jelmer Vernooij
b29d47edcf Move object file lists to the Makefile.
(This used to be commit a7e6d2a183)
2008-03-03 18:25:28 +01:00
Jelmer Vernooij
d8d9a6ef04 Move manpage management out of the perl build system.
(This used to be commit 1dd6bea507)
2008-02-29 14:12:23 +01:00
Jelmer Vernooij
c8011b5d09 Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into v4-0-gmake3
Conflicts:

	source/scripting/python/config.mk
(This used to be commit 0ac0ea660a)
2008-02-29 12:45:46 +01:00
Jelmer Vernooij
2ba62662f8 Remove sDefault as static variable.
(This used to be commit 16f36ce499)
2008-02-28 20:04:58 +01:00
Jelmer Vernooij
5374be2acb More share_init to more apprioriate place.
(This used to be commit 9901355176)
2008-02-28 18:06:23 +01:00
Jelmer Vernooij
649f820998 Set lp_ctx properly.
(This used to be commit 5d274f19ae)
2008-02-27 19:37:04 +01:00
Jelmer Vernooij
c8af9559dc Move manpage management out of the perl build system.
(This used to be commit a660ab262e)
2008-02-26 15:11:47 +01:00
Stefan Metzmacher
3fa76092e6 Happy New Year 2008! :-)
metze
(This used to be commit a601ecff4e)
2008-02-22 14:08:13 +01:00
Jelmer Vernooij
0020793515 Fix static module list generation for ldb.
(This used to be commit 92c1c0e913)
2008-02-20 03:40:44 +01:00
Stefan Metzmacher
3a0cfad223 prefork: also reload stuff in the client processes
metze
(This used to be commit 36012c386b)
2008-02-06 14:44:20 +01:00
Andrew Bartlett
24d0587752 Clarify nomaclature of socket names in process_single and process_prefork
Fix talloc_steal in both cases to steal connected socket (from accept)
onto it's private structure, rather than stealing the bound socket.

Remove termination code from the prefork modal, we want the process to
still stay around, to serve future clients.

Andrew Bartlett and David Disseldorp
(This used to be commit 07590d893e)
2008-02-05 14:51:01 +11:00
Andrew Bartlett
0f8eeb81ec Remove useless layer of indirection, where every service called
task_service_init() manually.  Now this is called from service.c for
all services.

Andrew Bartlett
(This used to be commit 9c9a4731ca)
2008-02-04 21:58:29 +11:00
Andrew Bartlett
b3c5fbec47 Remaining changes to implement the prefork process model
To use, run 'smbd -M prefork'

By default, only the smb service is preforked.  4 children are
created, and all listen for new connections.  The Linux Kernel 'wake
one' behaviour should ensure that only one is given the oportunity to
accept.  We need to look into the ideal number of worker children, as
well as load balancing behaviours.

To change, set:

prefork children : smb = 6

valid service names (smb in this example) match those in 'server services'.

Andrew Bartlett and David Disseldorp
(This used to be commit 35313c0aa3)
2008-02-04 17:59:16 +11:00
Andrew Bartlett
3d5594e74d Rework process_single.c to take advantage of cluster_id() now taking an additional argument.
Andrew Bartlett and David Disseldorp
(This used to be commit c961e7d74e)
2008-02-04 17:53:01 +11:00
Andrew Bartlett
77f71c1b65 Rework cluster_id() to take an additional argument, as we need
<node>.<pid>.<fd> to be unique in a prefork process environment.

Andrew Bartlett and David Disseldorp
(This used to be commit 931994a7f1)
2008-02-04 17:51:38 +11:00
Andrew Bartlett
23d681caf9 Rework service init functions to pass down service name. This is
needed to change prefork behaviour based on what service is being
started.

Andrew Bartlett and David Disseldorp
(This used to be commit 0d830580e3)
2008-02-04 17:48:51 +11:00
Jelmer Vernooij
03023c4f7d build: Demote a bunch of libraries to subsystems. This makes packaging easier and should also make it easier
to migrate to a new build system.
(This used to be commit 77b400764e)
2008-01-21 03:54:42 +01:00
Jelmer Vernooij
df408d056e r26672: Janitorial: Remove uses of global_loadparm.
(This used to be commit 18cd08623e)
2008-01-05 13:06:03 -06:00
Jelmer Vernooij
c13ae70731 r26580: Include sentinel in build.h, in case the list is empty.
(This used to be commit f1997dabed)
2007-12-24 01:51:07 -06:00
Jelmer Vernooij
be33f4c611 r26576: Allow the static module loading code to be used for the Python modules.
Simplify the way module initialization functions are handled.
(This used to be commit ba8be2dfc0)
2007-12-24 01:51:06 -06:00
Jelmer Vernooij
84b4763947 r26441: Remove global_loadparm uses.
(This used to be commit 32007c6277)
2007-12-21 05:50:09 +01:00
Jelmer Vernooij
d891c0c74a r26429: Avoid use of global_smb_iconv_convenience.
(This used to be commit d37136b7ab)
2007-12-21 05:49:56 +01:00
Jelmer Vernooij
4b0199a549 r26409: Pass smb ports along.
(This used to be commit 2833f320de)
2007-12-21 05:49:42 +01:00
Jelmer Vernooij
f9948d18d7 r26400: Don't try to do character conversion before smb.conf has been parsed.
(This used to be commit 9faba28749)
2007-12-21 05:49:30 +01:00
Jelmer Vernooij
b65dba2245 r26355: Eliminate global_loadparm in more places.
(This used to be commit 5d589a0d94)
2007-12-21 05:49:01 +01:00
Jelmer Vernooij
5c4516fcf7 r26322: Fix include
(This used to be commit 9744316937)
2007-12-21 05:48:34 +01:00
Jelmer Vernooij
2f5ca872a8 r26313: Fix more uses of static loadparm.
(This used to be commit 6fd0d9d3b7)
2007-12-21 05:48:25 +01:00
Jelmer Vernooij
6901b3c64a r26278: Tallocify convenience table for iconv handles.
(This used to be commit ad64b3baa4)
2007-12-21 05:48:04 +01:00
Jelmer Vernooij
fc2f06d31b r26274: Some syntax fixes, remove more global_loadparm instances.
(This used to be commit 3809113d86)
2007-12-21 05:47:58 +01:00
Jelmer Vernooij
509e82e402 r26272: Remove global_loadparm in some more places.
(This used to be commit 1ab76ecc53)
2007-12-21 05:47:55 +01:00
Jelmer Vernooij
0184e5ef2d r26269: Fix a couple more references to global_loadparm.
(This used to be commit 1cb849dfba)
2007-12-21 05:47:49 +01:00
Jelmer Vernooij
ecea5ce245 r26260: Store loadparm context in gensec context.
(This used to be commit b9e3a4862e)
2007-12-21 05:47:34 +01:00
Jelmer Vernooij
ab69eb8d89 r26250: Avoid global_loadparm in a couple more places.
(This used to be commit 2c6b755309)
2007-12-21 05:47:28 +01:00
Jelmer Vernooij
291ddf4336 r26237: Add loadparm context to the server service interface.
(This used to be commit 1386c5c925)
2007-12-21 05:47:15 +01:00
Jelmer Vernooij
6c999cd123 r26236: Remove more uses of global_loadparm or specify loadparm_context explicitly.
(This used to be commit 5b29ef7c03)
2007-12-21 05:47:15 +01:00
Jelmer Vernooij
f4a1083cf9 r26227: Make loadparm_context part of a server task, move loadparm_contexts further up the call stack.
(This used to be commit 0721a07aad)
2007-12-21 05:47:04 +01:00
Jelmer Vernooij
2fa338cdc9 r26226: Avoid more uses of global_loadparm.
(This used to be commit 6cbce47a3e)
2007-12-21 05:47:02 +01:00
Jelmer Vernooij
dc2273ba37 r26006: Improve some dependencies.
(This used to be commit 28f05bb5ef)
2007-12-21 05:45:41 +01:00
Andrew Bartlett
b45b8fa9c3 r25922: Make it easier to bind to a unix domain socket, without messing with
ports...

Andrew Bartlett
(This used to be commit 70de473980)
2007-12-21 05:45:03 +01:00
Jelmer Vernooij
93224076fc r25535: Deal with events subsystem failures.
(This used to be commit fa6407984b)
2007-10-10 15:07:49 -05:00