1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-19 10:03:58 +03:00

2942 Commits

Author SHA1 Message Date
Volker Lendecke
79100c2421 s3: Add "g_lock_do" as a convenience wrapper function 2010-03-12 14:23:25 +01:00
Volker Lendecke
1728b5fa6f s3: Actually use mem_ctx in net_g_lock_init() 2010-03-12 12:12:42 +01:00
Volker Lendecke
67d1b01590 s3: Fix some "net registry" usage messages 2010-03-12 11:47:37 +01: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
5a3633faf1 s3: Fix the build of net_afs.c with --fake-kaserver=yes, bug 7216
Thanks to Geza Gemes <geza@kzsdabas.hu> for filing this bug
2010-03-06 13:00:53 +01:00
Volker Lendecke
fce6e1def8 s3: Make "smbcontrol xx debuglevel" print the correct cluster pid 2010-03-05 17:07:57 +01:00
Günther Deschner
a99ac4f236 s3-net: fix net after spoolss_EnumPrinterDataEx IDL change.
Guenther
2010-03-05 15:18:01 +01:00
Günther Deschner
37ca9288d2 s3-net: fix net after spoolss_SetPrinterData{Ex} IDL change.
Guenther
2010-03-05 15:17:59 +01:00
Karolin Seeger
340797f3fa Fix typo in comments. 2010-03-03 16:03:13 +01:00
Michael Adam
27ae935a8d s3:net: add a command "net registry setsd_sdd"
This permits to set the security descriptor of a registry
key from the unix command line.

Michael
2010-03-03 09:16:38 +01:00
Michael Adam
6f4bdbccf7 s3:net: fix some i18n messages in net_registry_getsd_internal().
Michael
2010-03-03 09:16:38 +01:00
Michael Adam
d8b828d4a9 s3:net: add i18n macro _() to one message
Michael
2010-03-03 09:16:38 +01:00
Michael Adam
caa27bb165 s3:net: add new subcommand "net registry getsd_sddl" to print secdesc in sddl format
Michael
2010-03-03 09:16:37 +01:00
Michael Adam
93d438d970 s3:net: refactor getting of secdesc out of net_registry_getsd()
New net_registry_getsd_internal does the work(),
net_registry_getsd() just prints the result.
This in preparation to add support for other output formats
than the currently used display_sec_desc().

Michael
2010-03-03 09:16:36 +01:00
Michael Adam
9cea4d5969 s3:smbcacls: add switch "--sddl" to output acls as sddl encoded strings 2010-03-03 09:16:35 +01:00
Holger Hetterich
e3c2e1a303 s3: net_share.c: fix argc handling
The "net share" command was no longer possible because it enters
the net_share function with argc == 0.
2010-03-02 15:27:58 -08:00
Volker Lendecke
d6a6872506 s3: Abstract access to sessionid.tdb, similar to conn_tdb.c 2010-03-01 17:53:22 +01:00
Volker Lendecke
8bebb380e8 s3: Add connections_forall_read()
In a cluster, this makes a large difference: For r/w traverse, we have to do a
fetch_locked on every record which for most users of connections_forall is just
overkill.
2010-03-01 14:51:34 +01:00
Simo Sorce
61b7a24f16 s3 move the sitename cache in its own file 2010-02-23 12:46:26 -05:00
Volker Lendecke
c31cf0a1b5 s3: Consolidate some pid_to_procid() calls to procid_self() 2010-02-23 17:20:28 +01:00
Volker Lendecke
752bffc53f s3: Consolidate server_id_self into the equivalent procid_self() 2010-02-23 15:30:00 +01:00
Holger Hetterich
6ec6fa0ac4 s3: eventlogadm.c: add -s option to use alternative config file.
Update the manpage accordingly.
2010-02-15 08:31:44 +01:00
Andrew Tridgell
862a17e9ba s3: last part of TYPESAFE_QSORT() conversion
convert smbcacls, sharesec and web/
2010-02-14 18:44:21 +11:00
Volker Lendecke
b00d223f87 s3: Fix Coverity ID 629: DEADCODE
We have already returned if (argc < 1) above
2010-02-13 17:47:43 +01:00
Michael Adam
09f3ed1024 s3:make "net conf addshare" atomic by wrapping all writes in one transaction
Michael
2010-02-12 23:12:12 +01:00
Volker Lendecke
a66c40ff38 s3:dbwrap: If "-n" is given to dbwrap_torture, open db with CLEAR_IF_FIRST 2010-02-12 23:12: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
Günther Deschner
89c089d993 s3-net: fix net ads dns usage calls.
Bjoern, please check.

Guenther
2010-02-08 11:55:52 +01:00
Jeremy Allison
f387ed88e8 Fix bug #7069 - smbget does not return an error status after some errors
A combination patch from Johannes Poehlmann <johannes@lst.de> and
Jeremy. Fix the return codes from smb_download_file() and smb_download_dir().

Jeremy.
2010-01-28 10:38:24 -08:00
Volker Lendecke
dc1bcec73c s3: Add --use-ccache to net 2010-01-24 20:32:17 +01:00
Volker Lendecke
bff48738a8 s3: Fix a bug in net's use of popt
In order to add --use-ccache to net, I added another "bool opt_ccache;" to
struct net_context. popt did not like this, it took a while to figure out why.
Popt has the lines

    /* XXX Check alignment, may fail on funky platforms. */
    if (arg == NULL || (((unsigned long)arg) & (sizeof(*arg)-1)))
        return POPT_ERROR_NULLARG;

The "bool opt_ccache;" was not aligned anymore...
2010-01-24 20:32:17 +01:00
Volker Lendecke
3e1a1616ec s3: Use global_sid_Builtin in net_groupmap_memberships 2010-01-23 14:35:37 +01:00
Kai Blin
66de52c4f4 s3 net: Fix compile warnings 2010-01-19 14:48:34 +01:00
Kai Blin
09bc13728f s3 net/i18n: Use only one spelling for "Usage:" 2010-01-19 10:07:36 +01:00
Kai Blin
28b512f904 s3 net: Fix compile error with WITH_DNS_UPDATES
bd3c922e2bc1a163efc1d8c9cb59578bebb79616 introduced a compile-time error
when building with WITH_DNS_UPDATES.
2010-01-19 10:07:35 +01:00
Björn Jacke
bd3c922e2b s3/net: split up some printable stings to ease i18n
If we put strings like "Usage:" into separate _() macros and not the whole
"Usage:..." string we can cover much more messages by only one single
translation. The drawback is that the message in the sources looks less pretty.
2010-01-18 23:45:05 +01:00
Volker Lendecke
971f6a4a5b s3: Fix the format string for smbcontrol pool-usage
With the dot I have seen printf to not print anything
2010-01-17 23:10:37 +01:00
Jeremy Allison
6653cc4323 Fix bug #7036 - net rpc getsid fails in hardened windows environments.
Fix suggested by Dave.Daugherty@Centrify.com.
2010-01-14 15:39:30 -08:00
Volker Lendecke
fd1b6bdef9 s3: Fix some nonempty blank lines 2010-01-10 20:56:16 +01:00
Volker Lendecke
3ea64e0ad8 s3: Replace most calls to sid_append_rid() by sid_compose() 2010-01-10 20:56:16 +01:00
Kai Blin
9a9d737070 s3 net: Add a few missing gettext calls.
Many many thanks to Adi Roiban from #ubuntu-translators for helping me find
and fix my problems with the translations.
2010-01-05 09:55:52 +01:00
Volker Lendecke
99f292479f s3: Convert cli_tdis to the async API 2010-01-03 21:14:57 +01:00
Günther Deschner
475d296065 s3-net: use generated krb5.conf in 'net ads testjoin'
Guenther
2009-12-23 10:57:22 +01:00
Andrew Bartlett
802e9328ed s3:ntlmssp: only include ntlmssp.h where actually needed
Andrew Bartlett
2009-12-22 21:07:53 +01:00
Andrew Bartlett
5b37cd23bf s3:ntlmssp: remove the typedef NTLMSSP_STATE
Andrew Bartlett
2009-12-22 21:07:53 +01:00
Günther Deschner
d9f93224bd s3-pdbedit: allow to call "pdbedit -N description -u user" without specifiyng "-r".
Guenther
2009-12-16 16:08:48 +01:00
Günther Deschner
c85ed0054e s3: fix net and rpcclient after setprinterdataex changes.
Guenther
2009-12-07 14:42:13 +01:00
Michael Adam
6dd60008c4 s3:add split_tokens, a cmdline tool to test next_token_talloc()
Michael
2009-12-01 00:55:53 +01:00
Volker Lendecke
6aef5e591f Fix bug 6546: Avoid accessing buf[-1] if NUL byte comes from fgets 2009-11-30 21:48:59 +01:00
Volker Lendecke
36e8d8ed45 s3: Move directory_exist_stat to testparm.c, it only looks at the mode 2009-11-29 11:22:04 +01:00