1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-25 23:21:54 +03:00
Commit Graph

38 Commits

Author SHA1 Message Date
Andrew Bartlett
cba7f8b827 s3:dom_sid Global replace of DOM_SID with struct dom_sid
This matches the structure that new code is being written to,
and removes one more of the old-style named structures, and
the need to know that is is just an alias for struct dom_sid.

Andrew Bartlett

Signed-off-by: Günther Deschner <gd@samba.org>
2010-05-21 10:39:59 +02:00
Günther Deschner
9bbf761bfe s3-net: Added a rather trivial "net printing dump" command.
Guenther
2010-05-18 15:06:17 +02:00
Volker Lendecke
89c785c47a s3: Fix a long-standing problem with recycled PIDs
When a samba server process dies hard, it has no chance to clean up its entries
in locking.tdb, brlock.tdb, connections.tdb and sessionid.tdb.

For locking.tdb and brlock.tdb Samba is robust by checking every time we read
an entry from the database if the corresponding process still exists. If it
does not exist anymore, the entry is deleted. This is not 100% failsafe though:
On systems with a limited PID space there is a non-zero chance that between the
smbd's death and the fresh access, the PID is recycled by another long-running
process. This renders all files that had been locked by the killed smbd
potentially unusable until the new process also dies.

This patch is supposed to fix the problem the following way: Every process ID
in every database is augmented by a random 64-bit number that is stored in a
serverid.tdb. Whenever we need to check if a process still exists we know its
PID and the 64-bit number. We look up the PID in serverid.tdb and compare the
64-bit number. If it's the same, the process still is a valid smbd holding the
lock. If it is different, a new smbd has taken over.

I believe this is safe against an smbd that has died hard and the PID has been
taken over by a non-samba process. This process would not have registered
itself with a fresh 64-bit number in serverid.tdb, so the old one still exists
in serverid.tdb. We protect against this case by the parent smbd taking care of
deregistering PIDs from serverid.tdb and the fact that serverid.tdb is
CLEAR_IF_FIRST.

CLEAR_IF_FIRST does not work in a cluster, so the automatic cleanup does not
work when all smbds are restarted. For this, "net serverid wipe" has to be run
before smbd starts up. As a convenience, "net serverid wipedbs" also cleans up
sessionid.tdb and connections.tdb.

While there, this also cleans up overloading connections.tdb with all the
process entries just for messaging_send_all().

Volker
2010-03-10 16:07:10 +01:00
Volker Lendecke
4c1c3f2549 s3: Implement global locks in a g_lock tdb
This is the basis to implement global locks in ctdb without depending on a
shared file system. The initial goal is to make ctdb persistent transactions
deterministic without too many timeouts.
2010-02-12 23:12:09 +01:00
Volker Lendecke
b02c46bef9 Revert "s3: Make run_rpc_command take strings instead of a ndr_interface_table"
This reverts commit 53f2a1595e.
2009-11-08 19:43:46 +01:00
Volker Lendecke
53f2a1595e s3: Make run_rpc_command take strings instead of a ndr_interface_table 2009-11-08 13:12:15 +01:00
Günther Deschner
ebe0e64ba9 s3: use enum netr_SchannelType all over the place.
Guenther
2009-10-13 10:21:46 +02:00
Volker Lendecke
0cf317f36f s3: Remove the lua interpreter again
This was meant to support async winbind. But as the hairy parts of async
winbind (getgrent) are done without it, it can go again.
2009-09-29 13:51:43 +02:00
Kai Blin
8f5ef10633 Revert "net: Use samba default command line arguments."
This reverts commit fb262f79fa
and related commits c36031778e
72fd5fa6bb and
38cd0e086f

This change caused more trouble than it solved. We need to do this differently.
Reverting so we don't accidently release this.
2009-07-22 13:39:34 +02:00
Kai Blin
fb262f79fa net: Use samba default command line arguments.
Attention:

The meaning of the -N flag changed.
To get the old meaning for net groupmap set, use the long option --ntname
The long option for using kerberos changed from --kerberos to --use-kerberos

net rpc commands will now prompt for a password if none is given.

As a benefit, net will now accept an authentication file like other samba
command line tools. So no need to specify the password on the command line in
scripts anymore.

This should fix bug #6357

Signed-off-by: Kai Blin <kai@samba.org>
2009-05-25 23:35:38 +02:00
Günther Deschner
21d23bf7e8 s3-net: add "net eventlog dump".
This allows to dump a native (non-wrapped) win32 *.evt eventlog file.

Guenther
2009-02-04 19:01:31 +01:00
Volker Lendecke
09e6dfb8e8 net lua
This adds a lua command line interpreter with some sample code how to build
your own data types based on our internal data types.

Not meant as the final word, but as a playground for experiments for people.
Might be removed later when we find this turns out to be too awkward.
2008-12-17 12:57:19 +01:00
Günther Deschner
9f86dd715a s3-net: add "net rpc vampire passdb" that allows to take arguments.
Guenther
2008-11-18 16:03:05 +01:00
Günther Deschner
b8fee9d863 s3-net: add net_scan_dc function.
Guenther
2008-11-18 16:00:52 +01:00
Kai Blin
694786b23c net: Make share type lookup a function. 2008-09-26 20:52:13 +02:00
Volker Lendecke
05cc3fda05 Refactoring: connect_dst_pipe uses ndr_syntax_id instead of pipe_idx
(This used to be commit 0f77746f36)
2008-07-21 14:36:28 +02:00
Volker Lendecke
f23567fcb9 Refactoring: run_rpc_command uses ndr_syntax_id instead of pipe_idx
(This used to be commit 850166ec0d)
2008-07-21 14:36:28 +02:00
Günther Deschner
adef1b004b net_vampire: add code to vampire a SAM database to a keytab file.
Guenther
(This used to be commit ee6e422c0e)
2008-06-24 23:40:14 +02:00
Günther Deschner
8049d3aa8e net_vampire: split out rpc_vampire_ldif().
Guenther
(This used to be commit bcc6d3a0eb)
2008-06-13 23:39:09 +02:00
Kai Blin
255bdb2602 net: Rename functable3 to functable, get rid of old functables
(This used to be commit bb7c5fc4ec)
2008-06-10 09:48:21 +02:00
Kai Blin
c51ca559c1 net: Make "net rpc" use functable3
(This used to be commit 428b56863c)
2008-06-10 09:47:28 +02:00
Kai Blin
98b9b5b7f3 net: Make "net rap" use functable3
(This used to be commit 7a2364518c)
2008-06-10 09:47:25 +02:00
Kai Blin
54bc155736 net: Make "net ads" use functable3
(This used to be commit 64e3dc6396)
2008-06-10 09:47:15 +02:00
Kai Blin
8efc535a4a net: Add net_display_usage_from_functable()
(This used to be commit de0e15b35e)
2008-06-10 09:45:55 +02:00
Kai Blin
44c260743c net: Add net_run_function3
(This used to be commit ba1108f06a)
2008-06-10 09:45:19 +02:00
Kai Blin
6fd35d25bf net: Move net_run_function/net_run_function2 to net_util.c
(This used to be commit 73fb5f392d)
2008-06-10 09:45:14 +02:00
Kai Blin
0210f7af91 net: The top level help function for net cmd is always net_cmd_usage
(This used to be commit f7d0903a58)
2008-05-20 14:28:12 +02:00
Kai Blin
89cd35d054 net: Move help for "net status" to net_status.c
(This used to be commit d26681b169)
2008-05-20 14:28:07 +02:00
Kai Blin
1634bd92ea net: Move printer help to net_rpc where it's used.
(This used to be commit 2ee3d1aefa)
2008-05-20 14:28:03 +02:00
Kai Blin
f9a6d1f264 net: Split out "net share"
(This used to be commit 25d4c6f692)
2008-05-20 14:28:01 +02:00
Kai Blin
00f6ad7b5a net: Split out "net afs"
(This used to be commit 3f10527f79)
2008-05-20 14:27:56 +02:00
Kai Blin
b596529041 net: Move more utility functions into net_util.c
(This used to be commit 0f5ebdf0bc)
2008-05-20 14:27:53 +02:00
Kai Blin
c9ca6092fe net: Split out "net file"
(This used to be commit 84a116be9c)
2008-05-20 14:27:47 +02:00
Kai Blin
007f0e19dc net: Split out "net group"
(This used to be commit 3ddd9c09e3)
2008-05-20 14:27:40 +02:00
Kai Blin
572de942c7 net: Split out "net user"
(This used to be commit 4ca08a5acc)
2008-05-20 14:27:27 +02:00
Kai Blin
666292129b net: Move "net join" handling into a separate file.
(This used to be commit d0237a7368)
2008-05-20 14:27:24 +02:00
Kai Blin
45653bd1b1 net: Split out common help functions.
(This used to be commit efc863e375)
2008-05-20 14:27:21 +02:00
Michael Adam
b189fe9154 net: freeze net_proto.h from "make proto"
Michael
(This used to be commit 673b24052a)
2008-05-18 23:31:42 +02:00