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

4842 Commits

Author SHA1 Message Date
Volker Lendecke
2aa0af9867 s3: get_pipe_name_from_iface -> get_pipe_name_from_syntax 2009-11-07 09:14:15 +01:00
Volker Lendecke
d415d4d32f s3: Add parameter "ctdb timeout"
When something in the cluster blocks, it can happen that we wait indefinitely
long for ctdb, just adding to the blocking condition. In theory, nothing should
block, but as someone said "In practice the difference between theory and
practice is larger than in theory". This adds a timeout parameter in seconds,
after which we stop waiting for ctdb and panic.
2009-11-05 12:05:36 +01:00
Jeremy Allison
cbafe17bb3 Remove "Protocol" as an extern, and add accessor functions.
Jeremy.
2009-11-04 15:15:50 -08:00
Volker Lendecke
b067a5e4e8 s3: Remove debug_ctx()
smbd just crashed on me: In a debug message I called a routine preparing a
string that itself used debug_ctx. The outer routine also used it after the
inner routine had returned. It was still referencing the talloc context
that the outer debug_ctx() had given us, which the inner DEBUG had already
freed.
2009-11-03 11:30:00 +01:00
Michael Adam
25bdf27eaa s3:dbwrap_ctdb: add debug message to transaction_fetch_start()
for the case that another local process has started a transaction
bewteen releasing the transaction_lock record and starting the
transaction.

Michael
2009-11-03 01:02:38 +01:00
Michael Adam
9fef6a6666 s3:dbwrap_ctdb: split combined check in two and add descriptive debug
in db_ctdb_transaction_fetch_start() for error conditions when re-fetching
the transaction_lock record inside the transaction

Michael
2009-11-03 01:02:38 +01:00
Michael Adam
f37439efd2 s3:dbwrap_ctdb: fix race condition with concurrent transactions on the same node.
In ctdb_transaction_commit(), when the trans2_commit control fails, there
is a race condition in the 1 second sleep between the local transaction_cancel
and the call to ctdb_replay_transaction(): The database is not locked, and
neither is the transaction_lock record. So another client can start and possibly
complete a new transaction in this gap, but only on the same node: The locking
of the transaction_lock record on a different node which involves migration of
the record to the other node has been disabled by introduction of the
transaction_active flag on the db which closes precisely this gap from the start
of the commit until the call to TRANS2_FINISH or TRANS2_ERROR.
But this mechanism does not cover the case where a process on the same node
tries to start a transaction: There is no obstacle to locking the transaction_lock
record because the record does not need to be migrated.

This commit closes this race condition in ctdb_transaction_fetch_start()
by using the new ctdb_ctrl_transaction_active() call to ask the local
ctdb daemon whether it has a transaction running on the database.
If so, the check is repeated until the running transaction is done.

This does introduce an additional call to the local ctdbd when starting
transactions, but it does close the (hopefully) last race condition.

Michael
2009-11-03 01:02:37 +01:00
Michael Adam
9be4d3dd4f s3:dbwrap_ctdb: add new db_ctdb_transaction_active() that calls CTDB_CONTROL_TRANS2_COMMIT
Michael
2009-11-03 01:02:37 +01:00
Michael Adam
9bd6b9d9f6 s3:dbwrap_ctdb: fix a race in starting concurrent transactions on a single node
There are two races in concurrent transactions on a single node.
One in starting a transaction and one with replay during commit.

This commit closes the first race by storing the client pid in the
transaction-lock record and comparing the stored pid against its own
pid after releasing the lock and refetching the record inside the
transaction.

Michael
2009-11-03 01:02:36 +01:00
Michael Adam
8d61b8abbc s3:dbwrap_ctdb: use db_ctdb_ltdb_fetch() inside db_ctdb_transaction_fetch_start
Michael
2009-11-03 01:02:36 +01:00
Michael Adam
0ec476fca1 s3:dbwrap_ctdb: use db_ctdb_ltdb_fetch() inside db_ctdb_transaction_fetch()
Michael
2009-11-03 01:02:36 +01:00
Michael Adam
4973ff66ac s3:dbwrap_ctdb: add a function db_ctdb_ltdb_fetch()
This fetches a record from the db and splits out the ctdb header.

Michael
2009-11-03 01:02:35 +01:00
Michael Adam
6a898348fa s3:dbrwap_ctdb: add a function db_ctdb_ltdb_store()
and use it in db_ctdb_store() and db_ctdb_transaction_store().

Michael
2009-11-03 01:02:35 +01:00
Michael Adam
d5aa758482 s3:dbwrap_ctdb: reformat a comment slightly to enhance clearness.
Michael
2009-11-03 01:02:35 +01:00
Volker Lendecke
d9bdd17522 s3: Fix a 100% CPU loop when ctdbd dies during a traverse 2009-11-02 17:02:20 +01:00
Günther Deschner
f35a1b95aa s3-gencache: restore gencache_get behavior with NULL args (with torture test).
Without this, we panic in wins_srv_is_dead() and fail to start nmbd with
wins support.

Volker, please check.

Guenther
2009-11-02 13:04:26 +01:00
Jim McDonough
f88ab1b151 s3: Fix incorrect rc check of nscd_flush_cache.
At least this only resulted in an incorrect debug message.
2009-10-29 11:11:43 -04:00
Karolin Seeger
f381faa8d6 s3: Rename new parameter "ldap ref follow" to "ldap follow referral".
This parameter will be introduced with Samba 3.5.0.

Karolin
2009-10-26 12:11:59 +01:00
Volker Lendecke
5c6944d33f s3: Remove a pointless #endif/#ifdef pair 2009-10-22 16:33:44 +02:00
Günther Deschner
a85799d5db s3-libnetapi: add nltest tool.
Guenther
2009-10-16 10:54:55 +02:00
Günther Deschner
ca19ffde80 s3-libnetapi: add I_NetLogonControl{2} example code.
Guenther
2009-10-16 10:50:29 +02:00
Günther Deschner
d308aa3de8 s3-libnetapi: add I_NetLogonControl{2} to public headers.
Guenther
2009-10-16 10:50:28 +02:00
Günther Deschner
e31c2c7eb1 s3-libnetapi: fill in I_NetLogonControl{2}_r.
Guenther
2009-10-16 10:50:28 +02:00
Günther Deschner
e8e1d60941 s3-libnetapi: add I_NetLogonControl{2} skeleton.
Guenther
2009-10-16 10:50:28 +02:00
Jeremy Allison
5cc895983d Fix valgrind memory leak in bug #6814 - Fixes for problems reported by valgrind
Jeremy.
2009-10-15 16:55:40 -07:00
Jan Engelhardt
c5d5969e24 s3/smbldap: add option to disable following LDAP refs
Fix bug #6717.
2009-10-12 11:34:58 +02:00
Simo Sorce
7bce1ab5e8 Fix builds with external tdb
Make sure we do not reference our internal tdb directly.
Let configure define what tdb.h file to use so that builds that use an
extrenal tdb do not include 2 different versions of the tdb header.
2009-10-11 09:48:53 -04:00
Abhidnya P Chirmule
ac774c4969 s3: Add access_mask to the flock VFS call 2009-10-06 18:52:06 +02:00
Günther Deschner
bbc71486a7 s3: remove unused rpcstr_pull and rpcstr_pull_talloc.
Guenther
2009-10-01 11:40:31 +02:00
Kamen Mazdrashki
0e1840b84a w32err: WERR_GROUP_NOT_FOUND renamed to WERR_GROUPNOTFOUND
In Win 32 we have
NERR_GroupNotFound which maps to WERR_GROUP_NOT_FOUND currently
and we have
ERROR_GROUP_NOT_FOUND which maps to nothing, so it is to be added

Signed-off-by: Anatoliy Atanasov <anatoliy.atanasov@postpath.com>
2009-09-30 15:48:41 +03:00
Günther Deschner
fc1c243348 s3-util: use pull_reg_multi_sz in reg_pull_multi_sz.
Guenther
2009-09-30 00:31:17 +02:00
Günther Deschner
f8016cfee9 s3-util: add pull_reg_sz() and pull_reg_multi_sz() convenience functions.
Guenther
2009-09-30 00:30:47 +02:00
Günther Deschner
fcee9d2c97 s3-util: add push_reg_sz() and push_reg_multi_sz() convenience functions.
Guenther
2009-09-30 00:29:24 +02:00
Volker Lendecke
2185490176 s3:gencache: Add my copyright 2009-09-28 19:47:19 +02:00
Jeremy Allison
4f10aa5973 Revert 918b5a7e057bd91289ec06b3ef8d95da43a50ede. This code
should *not* return const.
Jeremy.
2009-09-24 15:42:36 -07:00
Matthias Dieter Wallnöfer
918b5a7e05 s3:util_str "str_list_make_v3" - introduce also here the "const" result
I did this to match with the default util strlist library.
2009-09-24 23:58:19 +02:00
Volker Lendecke
cd749ef8bd s3:gencache: Make gencache_del() return success for expired entries
This fixes nasty error messages from "net cache flush"
2009-09-23 18:50:33 +02:00
Volker Lendecke
aece84f22d s3:gencache: Remove some over-paranoid locking 2009-09-23 18:50:33 +02:00
Volker Lendecke
76d95b9a2d s3:gencache: Add a "was_expired" argument to gencache_get_data_blob
This is set to true if the routine returns failure due to an existing but
expired entry.
2009-09-23 18:50:33 +02:00
Stefan Metzmacher
00e378f17c s3:lib/select: don't overwrite errno in the signal handler
metze
2009-09-21 05:55:05 +02:00
Volker Lendecke
77afcad8f0 s3: Fix Coverity ID 581 -- NEGATIVE_RETURNS 2009-09-18 20:20:39 +02:00
Günther Deschner
a0d8698f65 s3-netapi: Fix Coverity #668: FORWARD_NULL.
Guenther
2009-09-16 10:30:08 +02:00
Günther Deschner
de43e39487 s3-netapi: Fix Coverity #669 FORWARD_NULL.
Guenthe
2009-09-16 10:30:01 +02:00
Günther Deschner
828b9a48fd s3-netapi: Fix Coverity #670: FORWARD_NULL.
Guenther
2009-09-16 10:29:54 +02:00
Andrew Bartlett
668470c992 libcli:nbt make the lmhosts parsing code and dependicies common
This starts the process to have Samba4 use lmhosts.

Andrew Bartlett
2009-09-15 07:42:54 -07:00
Björn Jacke
f410d23185 s3: BSD needs sys/sysctl.h included to build properly
FreeBSD (and other BSDs, too) need sys/sysctl.h inclueded to use sysctlbyname().

Thanks to Timur Bakeyev for that.
2009-09-15 06:54:31 +02:00
Michael Adam
a1cf12e1f6 s3:dbwrap_ctdb: set dmaster in ctdb_transaction_store() also when updating an existing record
not only when creating a record.

This matches commit e9194a130327d6b05a8ab90bd976475b0e93b06d from ctdb-master.

Michael
2009-09-11 15:39:53 +02:00
Günther Deschner
3c70480f3b s3-util: add get/set_cmdline_auth_info_domain to user_auth_info struct.
Guenther
2009-09-11 00:36:59 +02:00
Marc Aurele La France
7c00227f00 Fix bug 6707 - 3.4.1 segfault in parsing configs.
Fixes an occasional segfault caused by an out-of-bounds reference in config file parsing.
2009-09-10 09:52:11 -07:00
Jeremy Allison
43c766a14a Fix bug 6673 - smbpasswd does not work with "unix password sync = yes".
Revert change from 3.3 -> 3.4 with read_socket_with_timeout changed
from sys_read() to sys_recv(). read_socket_with_timeout() is called
with non-fd's (with a pty in chgpasswd.c and with a disk file in
lib/dbwrap_file.c via read_data()). recv works for the disk file,
but not the pty. Change the name of read_socket_with_timeout() to
read_fd_with_timeout() to make this clear (and add comments).
Jeremy.
2009-09-06 21:38:50 -07:00