1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-23 09:57:40 +03:00

601 Commits

Author SHA1 Message Date
Jeremy Allison
8e54530b52 Add start of IPv6 implementation. Currently most of this is avoiding
IPv6 in winbindd, but moves most of the socket functions that were
wrongly in lib/util.c into lib/util_sock.c and provides generic
IPv4/6 independent versions of most things. Still lots of work
to do, but now I can see how I'll fix the access check code.
Nasty part that remains is the name resolution code which is
used to returning arrays of in_addr structs.
Jeremy.
(This used to be commit 3f6bd0e1ec5cc6670f3d08f76fc2cd94c9cd1a08)
2007-10-10 18:25:16 -07:00
Gerald (Jerry) Carter
e5a951325a [GLUE] Rsync SAMBA_3_2_0 SVN r25598 in order to create the v3-2-test branch.
(This used to be commit 5c6c8e1fe93f340005110a7833946191659d88ab)
2007-10-10 15:34:30 -05:00
Volker Lendecke
929e1d9920 r24809: Consolidate the use of temporary talloc contexts.
This adds the two functions talloc_stackframe() and talloc_tos().

 * When a new talloc stackframe is allocated with talloc_stackframe(), then
 * the TALLOC_CTX returned with talloc_tos() is reset to that new
 * frame. Whenever that stack frame is TALLOC_FREE()'ed, then the reverse
 * happens: The previous talloc_tos() is restored.
 *
 * This API is designed to be robust in the sense that if someone forgets to
 * TALLOC_FREE() a stackframe, then the next outer one correctly cleans up and
 * resets the talloc_tos().

The original motivation for this patch was to get rid of the
sid_string_static & friends buffers. Explicitly passing talloc context
everywhere clutters code too much for my taste, so an implicit
talloc_tos() is introduced here. Many of these static buffers are
replaced by a single static pointer.

The intended use would thus be that low-level functions can rather
freely push stuff to talloc_tos, the upper layers clean up by freeing
the stackframe. The more of these stackframes are used and correctly
freed the more exact the memory cleanup happens.

This patch removes the main_loop_talloc_ctx, tmp_talloc_ctx and
lp_talloc_ctx (did I forget any?)

So, never do a

tmp_ctx = talloc_init("foo");

anymore, instead, use

tmp_ctx = talloc_stackframe()

:-)

Volker
(This used to be commit 6585ea2cb7f417e14540495b9c7380fe9c8c717b)
2007-10-10 12:30:24 -05:00
Volker Lendecke
b578db69e9 r24702: Remove the old API pointers
(This used to be commit 17df313db42199e26d7d2044f6a1d845aacd1a90)
2007-10-10 12:30:14 -05:00
Stefan Metzmacher
8dd00920ef r24621: - deferr calling build_options();exit(0);
- use poptPrintUsage() to give the user more info

metze
(This used to be commit a95d9d1ef99d6a2f77a289f8d2011cae482821b1)
2007-10-10 12:30:11 -05:00
Stefan Metzmacher
2e498b48bb r24599: patch from Karolin Seeger <ks@sernet.de>:
smbd, nmbd and winbindd can be started with invalid options currently.
The first patch attached would be a possible solution.
It contains an exit if an invalid option has been used. The main problem
is, that existing setups with wrong options or missing arguments in start
scripts will break (which is the right behaviour from my point of view).

metze
(This used to be commit 8532e3182ab44d4ac84823e9798293f156192aaf)
2007-10-10 12:30:09 -05:00
Stefan Metzmacher
1ba6f17278 r24029: merge from http://samba.org/~tridge/samba_3_2_ctdb/:
the claim_connection() must come after the sockets are open

metze
(This used to be commit 306846a14f554c55b57e9ce0ad324d5c81776330)
2007-10-10 12:28:57 -05:00
Andrew Tridgell
5e54558c6d r23784: use the GPLv3 boilerplate as recommended by the FSF and the license text
(This used to be commit b0132e94fc5fef936aa766fb99a306b3628e9f07)
2007-10-10 12:28:22 -05:00
Andrew Tridgell
df2465298b r23783: Processing the UAS change message was causing problems on ppc64 Linux
systems. Rather than trying to fix this, it's much better just to
remove the code, as it serves no purpose at all (the message that is
generated is ignored by smbd).

This sort of parsing should really be done by PIDL generated code.
(This used to be commit 22e8404cef4961f7468a9f24e23024c827233b84)
2007-10-10 12:28:21 -05:00
Jeremy Allison
d824b98f80 r23779: Change from v2 or later to v3 or later.
Jeremy.
(This used to be commit 407e6e695b8366369b7c76af1ff76869b45347b3)
2007-10-10 12:28:20 -05:00
James Peach
b1ce226af8 r23510: Tidy calls to smb_panic by removing trailing newlines. Print the
failed expression in SMB_ASSERT.
(This used to be commit 171dc060e2a576d724eed1ca65636bdafffd7713)
2007-10-10 12:23:23 -05:00
James Peach
4a3e4db1cd r23502: Restore exit-on-idle. Small refactoring for clarity. Exit if
we are idle and we timed out waiting for something to do.
(This used to be commit b4ab1a0cd992cf9e966b8edb9796d1eae53db744)
2007-10-10 12:23:22 -05:00
Volker Lendecke
de565785f5 r23410: Merge the core of the cluster code.
I'm 100% certain I've forgotten to merge something, but the main code
should be in. It's mainly in dbwrap_ctdb.c, ctdbd_conn.c and
messages_ctdbd.c.

There should be no changes to the non-cluster case, it does survive make
test on my laptop.

It survives some very basic tests with ctdbd enables, I did not do the
full test suite for clusters yet.

Phew...

Volker
(This used to be commit 15553d6327a3aecdd2b0b94a3656d04bf4106323)
2007-10-10 12:23:14 -05:00
Jeremy Allison
1a13bb5112 r23272: Fix main event loop - reviewed by Volker.
Jeremy.
(This used to be commit dfb4cb5d2bd6c50ad2ecfa729d76daccfc43925a)
2007-10-10 12:23:01 -05:00
Volker Lendecke
9f3b3b3bd6 r23241: In preparation for the cluster messaging import the parent smbd needs to
respond to events.c style events.
(This used to be commit 476080df3ff19c3c4742928ff50293935e171f99)
2007-10-10 12:22:57 -05:00
Volker Lendecke
3f5742e20b r23204: Add MSG_SMB_BRL_VALIDATE. Tridge, this is a bit different from your bzr
branch, please check if it fulfils your needs.

Two changes: The validation is not done inside the brlock.c traverse_fn,
it's done as a separate routine.

Secondly, this patch does not call the checker routines in smbcontrol
directly but depends on a running smbd.
(This used to be commit 7e39d77c1f90d9025cab08918385d140e20ca25b)
2007-10-10 12:22:53 -05:00
Volker Lendecke
14e25f10d6 r23168: Move the lp_max_connections() into service.c.
(This used to be commit 4afe37d431b6eb475769a2057025da9aa8d1bb14)
2007-10-10 12:22:51 -05:00
Volker Lendecke
f3c477c631 r23167: Remove an unused parameter
(This used to be commit 3452a870d58cdddf03ddf6ee698bca8416e05cbf)
2007-10-10 12:22:51 -05:00
Volker Lendecke
ac3f08ddbe r23055: Rewrite messages.c to use auto-generated marshalling in the tdb. I'm
doing this because for the clustering the marshalling is needed in more
than one place, so I wanted a decent routine to marshall a message_rec
struct which was not there before.

Tridge, this seems about the same speed as it used to be before, the
librpc/ndr overhead in my tests was under the noise.

Volker
(This used to be commit eaefd00563173dfabb7716c5695ac0a2f7139bb6)
2007-10-10 12:22:17 -05:00
Volker Lendecke
e95942ed84 r22954: More messaging_register
(This used to be commit 9b8df24107ffe3016031e5257c5680689f061886)
2007-10-10 12:22:11 -05:00
Volker Lendecke
81acb2d805 r22942: Some message_register -> messaging_register conversions
(This used to be commit 65335a420645202fc79c599a1177838ec19a4075)
2007-10-10 12:22:10 -05:00
Volker Lendecke
84758bd1f8 r22908: All callers of message_init now also call messaging_init. Unify those.
(This used to be commit 330946ad2307ca34f0a8d068a0193fcb8a0d6036)
2007-10-10 12:22:07 -05:00
Volker Lendecke
8f9369f2e6 r22900: Convert profile/ to messaging_send_pid/messaging_register
(This used to be commit edbeea520727f51568ccd8ffa802e06bd120794c)
2007-10-10 12:22:05 -05:00
Volker Lendecke
fad7dd8a60 r22868: Replace some message_send_pid calls with messaging_send_pid calls. More
tomorrow.
(This used to be commit 74fa57ca5d7fa8eace72bbe948a08a0bca3cc4ca)
2007-10-10 12:22:04 -05:00
Volker Lendecke
4aa44f7475 r22761: This introduces lib/conn_tdb.c with two main functions: connections_traverse
and connections_forall. This centralizes all the routines that did individual
tdb_open("connections.tdb") and direct tdb_traverse.

Volker
(This used to be commit e43e94cda1ad8876b3cb5d1129080b57fa6ec214)
2007-10-10 12:21:55 -05:00
Volker Lendecke
e6383f4762 r22736: Start to merge the low-hanging fruit from the now 7000-line cluster patch.
This changes "struct process_id" to "struct server_id", keeping both is
just too much hassle. No functional change (I hope ;-))

Volker
(This used to be commit 0ad4b1226c9d91b72136310d3bbb640d2c5d67b8)
2007-10-10 12:21:52 -05:00
Volker Lendecke
322ca3b933 r22533: Use lib functions where we have them
(This used to be commit dc18ab2f3407234dc545d5133660f9f04e8e5b55)
2007-10-10 12:19:43 -05:00
James Peach
c620832983 r22495: Create wrapper to hide the details of obtaining a set of sockets
to listen on.
(This used to be commit 29a16b2acb8da604776d48c6a1e6163c9e868d12)
2007-10-10 12:19:39 -05:00
James Peach
44f5211c17 r22418: Support running under launchd. We abstract the method of obtaining
sockets to listen on a little, because in the launchd case these
are provided for us. We also add an idle timeout so that a daemon
can exit after a period of inactivity.
(This used to be commit fc8589a3371d396197fae508e563f814899c2beb)
2007-10-10 12:19:33 -05:00
James Peach
8a22b1f0ea r22417: Refactor the various daemon run-mode options to make the semantics
of the various flags explicit.
(This used to be commit 19c929c6330a50f278ac322ac5fcb83d03734ea2)
2007-10-10 12:19:33 -05:00
Herb Lewis
80576572cc r22395: allow profiling level to be set on startup
(This used to be commit f8f51e8648224af6645dbd0c2f2bffc678b83dac)
2007-10-10 12:19:32 -05:00
Jeremy Allison
296dcbac58 r21882: The server part of the code has to use an AUTH_NTLMSSP struct,
not just an NTLMSSP - grr. This complicates the re-use of
common client and server code but I think I've got it right.
Not turned on of valgrinded yet, but you can see it start
to take shape !
Jeremy.
(This used to be commit 60fc9c0aedf42dcd9df2ef9f1df07eaf3bca9bce)
2007-10-10 12:18:43 -05:00
Volker Lendecke
fe0b56ead1 r21871: Move deadtime processing into an idle event. While there, simplify
conn_idle_all() a bit.

Volker
(This used to be commit 3fc00977a99932b226bdcbc43bbc0ede1bcec26f)
2007-10-10 12:18:41 -05:00
Volker Lendecke
7c2bc9c070 r21869: Move sending keepalives out of the main processing loop into idle event.
On the way, make lp_keepalive() a proper parameter.

Volker
(This used to be commit 9499fd9c803d030ce9827f8379c2e56d91bb786e)
2007-10-10 12:18:41 -05:00
Volker Lendecke
0d91334fe7 r21784: Replace smb_register_idle_event() with event_add_timed(). This fixes winbind
who did not run the idle events to drop ldap connections.

Volker
(This used to be commit af3308ce5a21220ff4c510de356dbaa6cf9ff997)
2007-10-10 12:18:33 -05:00
Jeremy Allison
4901d7f10b r21225: Couple of fixes from Martin Zielinski mz@seh.de,
one typo, one to make sure that time initialization
is done before modules that depend on it (printer
initialization).
Jeremy.
(This used to be commit 6df32b4a6a9abd40e963c188b4c8769f15a0ab9b)
2007-10-10 12:17:48 -05:00
Volker Lendecke
9974656d3b r21093: Remove the hash and dnotify backends. Disabling FAM for this checkin, I'm
working on that right now.

Volker
(This used to be commit 01c9fb17281e99300b339d2cfc0acac7ca94843c)
2007-10-10 12:17:36 -05:00
Volker Lendecke
3af5838096 r21090: Add some helper routines
(This used to be commit 985dde8ed0a7e6da5adf9c55654a4fd362b22acb)
2007-10-10 12:17:35 -05:00
Volker Lendecke
caf8c6a76b r21064: The core of this patch is
void message_register(int msg_type,
                      void (*fn)(int msg_type, struct process_id pid,
-                                void *buf, size_t len))
+                                void *buf, size_t len,
+                                void *private_data),
+                     void *private_data)
 {
        struct dispatch_fns *dfn;

So this adds a (so far unused) private pointer that is passed from
message_register to the message handler. A prerequisite to implement a tiny
samba4-API compatible wrapper around our messaging system. That itself is
necessary for the Samba4 notify system.

Yes, I know, I could import the whole Samba4 messaging system, but I want to
do it step by step and I think getting notify in is more important in this
step.

Volker
(This used to be commit c8ae60ed65dcce9660ee39c75488f2838cf9a28b)
2007-10-10 12:17:32 -05:00
James Peach
23e227ac39 r20966: Only attempt to reload the config file atfer the fork point if we
are in daemon mode. If we are in inetd mode, there's really no point
in rechecking it so soon.
(This used to be commit 029d4bb5e3ea02a8a396adc3ca564a714bcdfdb8)
2007-10-10 12:17:22 -05:00
Jeremy Allison
aacd16e7c4 r20916: Add in the delete on close final fix - but only enabled
with -DDEVELOPER.
Jeremy.
(This used to be commit 7f817067a70930ee3502ea3373173e0c23733253)
2007-10-10 12:17:19 -05:00
Volker Lendecke
bf219447a3 r20846: Before this gets out of control...
This add a struct event_context and infrastructure for fd events to smbd. This
is step zero to import lib/events.

Jeremy, I rely on you to watch the change in receive_message_or_smb()
closely. For the normal code path this should be the only relevant change. The
rest is either not yet used or is cosmetic.

Volker
(This used to be commit cd07f93a8aecb24c056e33b1ad3447a41959810f)
2007-10-10 12:17:13 -05:00
Herb Lewis
6914b29daa r20131: get rid of a few no previous prototype warnings
(This used to be commit e710a7d39a662a1a339f3f71c4b051fde1bb5a16)
2007-10-10 12:16:26 -05:00
James Peach
9a02736348 r19626: Coalesce usage of DUMP_CORE. Fix formatting on chdir error message
in core dump path.
(This used to be commit 9a51fba71c5fa7082c331e1a78a98638d9aa06cf)
2007-10-10 12:15:42 -05:00
Volker Lendecke
47e29ebe09 r17836: Don't create zombies in the children, thanks to Jeremy!
Volker
(This used to be commit c0767c08d01a429e1abf7205c14acec5e103ca91)
2007-10-10 11:38:53 -05:00
Volker Lendecke
0be131725f r17569: Make 'max smbd processes' more robust. Counting on the child to decrement a
tdb entry is not the most reliable way to count children correctly.

This increments the number of children after a fork and decrements it upon
SIGCLD. I'm keeping a list of children just for consistency checks, so that we
at least get a debug level 0 message if something goes wrong.

Volker
(This used to be commit eb45de167d24d07a218307ec5a48c0029ec097c6)
2007-10-10 11:38:39 -05:00
Volker Lendecke
5615d53459 r17568: Reformatting -- more than 100 cols is too much :-)
(This used to be commit 2a66abca02b5e95b66ab336f0d0e3977676d4540)
2007-10-10 11:38:39 -05:00
Jeremy Allison
fbdcf2663b r16945: Sync trunk -> 3.0 for 3.0.24 code. Still need
to do the upper layer directories but this is what
everyone is waiting for....

Jeremy.
(This used to be commit 9dafb7f48ca3e7af956b0a7d1720c2546fc4cfb8)
2007-10-10 11:19:14 -05:00
James Peach
90a6873b05 r15848: Introduce commandline options to set the remainder of the parameters in
dynconfig.c. This is mainly useful for test harness scripts, hence the
lack of short options.
(This used to be commit bf3b71c84595608d71e0f15a6158adacb295518e)
2007-10-10 11:17:11 -05:00
Paul Green
31693197be r15283: Oh yeah. The build farm doesn't do much with head. OK, here is the patch to SAMBA_3_0 to declare prototypes for the initialization functions. These are the same changes I just made to head. --paulg
(This used to be commit 17774387ad879b6a72dd1cf406326318add31b04)
2007-10-10 11:16:31 -05:00