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

756 Commits

Author SHA1 Message Date
Björn Baumbach
617e342a14 s3-nmbd: Fix bug #7875
nmbd --port didn't work

Signed-off-by: Stefan Metzmacher <metze@samba.org>

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Fri Jan  7 17:44:08 CET 2011 on sn-devel-104
2011-01-07 17:44:08 +01:00
Günther Deschner
3294ccbb6d netlogon: move netlogon helpers to ../libcli/netlogon.
Guenther
2011-01-07 15:02:24 +01:00
Volker Lendecke
2672101cc4 s3: Remove some unused code 2011-01-07 13:28:07 +01:00
Volker Lendecke
dab6a35f4c s3: Limit the number of unexpected clients to 200
DoS protection like the max winbind clients. Settable by
nmbd:unexpected_clients
2011-01-07 13:28:07 +01:00
Volker Lendecke
5297f3fcff s3: Make nmbd listen on the unexpected socket 2011-01-07 13:28:04 +01:00
Volker Lendecke
4de4703bb9 s3: Fix some nonempty blank lines
Autobuild-User: Volker Lendecke <vlendec@samba.org>
Autobuild-Date: Wed Jan  5 16:03:24 CET 2011 on sn-devel-104
2011-01-05 16:03:24 +01:00
Jeremy Allison
30d29e64cb All calls to event_add_to_select_args() call GetTimeOfDay() and
pass this in as the &now parameter. Push this call inside of
event_add_to_select_args() to the correct point so it doesn't
get called unless needed.

Jeremy.

Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Thu Dec 23 01:08:11 CET 2010 on sn-devel-104
2010-12-23 01:08:11 +01:00
Jeremy Allison
52f2520648 Fix the unexpected.tdb database problem. Change nmbd to store the
transaction id of packets it was requested to send via a client, and
only store replies that match these ids. On the client side change
clients to always attempt to ask nmbd first for name_query and
node_status calls, and then fall back to doing socket calls if
we can't talk to nmbd (either nmbd is not running, or we're not
root and cannot open the messaging tdb's). Fix readers of unexpected.tdb
to delete packets they've successfully read.

This should fix a long standing problem of unexpected.tdb
growing out of control in noisy NetBIOS envioronments with
lots of bradcasts, yet still allow unprivileged client apps
to work mostly as well as they already did (nmblookup for
example) in an environment when nmbd isn't running.

Jeremy.

Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Sun Nov 14 05:22:45 UTC 2010 on sn-devel-104
2010-11-14 05:22:45 +00:00
Jeremy Allison
781c4aabb8 Move error reporting of messaging context creation fail into
the daemons themselves. Allows client utilities to silently
fail to create a messaging context due to access denied on the
messaging tdb (which I need for the following patch).

Jeremy.
2010-11-14 04:39:05 +00:00
Andrew Bartlett
e64dfdcc71 s3-debug Convert from x_file to real file descriptors.
X_FILE does not gain us anything in this use case, we want our log
messages on disk, not in a buffer, and we don't gain anything from the
X_FILE api.  I discussed the matter with tridge, who feels that to use
FILE in the first place was a mistake, and that X_FILE isn't any
better, but was a stop-gap to avoid issues on solaris.

Andrew Bartlett
2010-11-02 04:36:04 +00:00
Andrew Bartlett
9da4ace1d9 s3-debug Impove setup_logging() to specify logging to stderr
This change improves the setup_logging() API so that callers which
wish to set up logging to stderr can simply ask for it, rather than
directly modify the dbf global variable.

Andrew Bartlett
2010-11-02 04:36:04 +00:00
Andrew Bartlett
f768b32e37 libcli/security Provide a common, top level libcli/security/security.h
This will reduce the noise from merges of the rest of the
libcli/security code, without this commit changing what code
is actually used.

This includes (along with other security headers) dom_sid.h and
security_token.h

Andrew Bartlett

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Tue Oct 12 05:54:10 UTC 2010 on sn-devel-104
2010-10-12 05:54:10 +00:00
Volker Lendecke
b5ed09c3af Move talloc_enable_null_tracking() to the s3 daemons 2010-10-08 21:11:45 +02:00
Steven Danneman
455fccf86b s3:events: Call all ready fd event handlers on each iteration of the main loop
Previously, only one fd handler was being called per main message loop
in all smbd child processes.

In the case where multiple fds are available for reading the fd
corresponding to the event closest to the beginning of the event list
would be run.  Obviously this is arbitrary and could cause unfairness.

Usually, the first event fd is the network socket, meaning heavy load
of client requests can starve out other fd events such as oplock
or notify upcalls from the kernel.

In this patch, I have changed the behavior of run_events() to unset
any fd that it has already called a handler function, as well
as decrement the number of fds that were returned from select().
This allows the caller of run_events() to iterate it, until all
available fds have been handled.

I then changed the main loop in smbd child processes to iterate
run_events().  This way, all available fds are handled on each wake
of select, while still checking for timed or signalled events between
each handler function call.  I also added an explicit check for
EINTR from select(), which previously was masked by the fact that
run_events() would handle any signal event before the return code
was checked.

This required a signature change to run_events() but all other callers
should have no change in their behavior.  I also fixed a bug in
run_events() where it could be called with a selrtn value of -1,
doing unecessary looping through the fd_event list when no fds were
available.

Also, remove the temporary echo handler hack, as all fds should be
treated fairly now.
2010-10-01 13:31:33 -07:00
Günther Deschner
b38d0542e1 samba: share select wrappers.
Guenther
2010-10-01 22:30:22 +02:00
Jeremy Allison
f98d217514 Change to using TDB_INCOMPATIBLE_HASH (the jenkins hash) on all
TDB_CLEAR_IF_FIRST tdb's. For tdb's like gencache where we open
without CLEAR_IF_FIRST and then with CLEAR_IF_FIRST if corrupt
this is still safe to use as if opening an existing tdb the new
hash will be ignored - it's only used on creating a new tdb not
opening an old one.

Jeremy.
2010-09-27 17:18:54 -07:00
Günther Deschner
d0a6c32add s3-nmbd: move SYNC_DNS to nmbd.h
Guenther
2010-09-20 14:10:34 -07:00
Günther Deschner
9f4c1a2a7b s3-nmbd: use NETLOGON_NT_VERSION_1 in LOGON_PRIMARY_RESPONSE.
Guenther
2010-09-09 23:14:08 +02:00
Günther Deschner
71b95703f9 s3-nmbd: use autogenerated marshalling for LOGON_SAM_LOGON_REQUEST.
Guenther
2010-09-09 23:07:11 +02:00
Günther Deschner
36d7efa75a s3-nmbd: use autogenerated marshalling for LOGON_PRIMARY_QUERY.
Couldn't find any reproducer for a short request, so removing it for now.

Guenther
2010-09-09 23:07:11 +02:00
Günther Deschner
bfda968e07 s3-nmbd: use autogenerated marshalling for LOGON_REQUEST.
Guenther
2010-09-09 23:07:11 +02:00
Günther Deschner
f002b7fa1b s3-nmbd: handle source_name in one location in nmbd_process_logon().
Guenther
2010-09-09 23:07:11 +02:00
Günther Deschner
5fc7d14b06 s3-nmbd: use nbt_netlogon_packet in process_logon_packet().
Guenther
2010-09-09 23:07:11 +02:00
Günther Deschner
958df10a44 s3-nmbd: fix indentation in process_logon_packet().
purely cosmetic, no code change.

Guenther
2010-09-08 19:34:29 +02:00
Günther Deschner
ed68eb768b s3-nmbd: remove trailing whitespace in nmbd_processlogon.c
Guenther
2010-09-08 19:34:21 +02:00
Björn Jacke
8833adb04f s3/nmbd: tidy up debug message: ttl isn't a hex value 2010-09-07 20:29:13 +02:00
Günther Deschner
c217790918 s3-nmbd: move nmbd proto out of main proto.h
Guenther
2010-08-26 00:20:28 +02:00
Günther Deschner
728fba1233 s3-nmbd: include svcctl.h where needed.
Guenther
2010-08-06 15:43:36 +02:00
Andreas Schneider
ce2a086119 s3-popt: Only include popt-common.h when needed. 2010-08-05 12:08:31 +02:00
Günther Deschner
c136b84f0d s3-secrets: only include secrets.h when needed.
Guenther
2010-08-05 10:12:25 +02:00
Volker Lendecke
7f0e6df883 s3: Pass the new server_id through reinit_after_fork 2010-07-04 17:29:23 +02:00
Volker Lendecke
b3194be286 s3: Fix some type-punned warnings 2010-07-04 16:41:14 +02:00
Volker Lendecke
b01958b0bd s3: Remove serverid_[de]register_self
This removes some deep references to procid_self()
2010-07-04 16:41:14 +02:00
Andreas Schneider
459a1d58b1 s3-nmbd: Leave the sync function if there are no syncs.
Found by clang-analyzer.
2010-06-28 12:56:13 +02:00
Günther Deschner
bcd4077be6 s3: remove unused librpc/ndr/sid.c.
Guenther
2010-06-03 01:07:17 +02:00
Günther Deschner
fbb7814f91 s3: only use netlogon/nbt header when needed.
Guenther
2010-05-31 11:32:37 +02:00
Jelmer Vernooij
b8268cf7b0 s3: Remove use of iconv_convenience. 2010-05-18 11:45:31 +02:00
Günther Deschner
c6ebab846d s3: only include gen_ndr headers where needed.
This shrinks include/includes.h.gch by the size of 7 MB and reduces build time
as follows:

ccache build w/o patch
real    4m21.529s
ccache build with patch
real    3m6.402s

pch build w/o patch
real    4m26.318s
pch build with patch
real    3m6.932s

Guenther
2010-05-06 00:22:59 +02: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
Craig Miskell
f2cbc9fbb1 Fix bug #7191 - WINS doesn't respond after > 86 #1c registrations. 2010-03-15 16:20:44 -07: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
752bffc53f s3: Consolidate server_id_self into the equivalent procid_self() 2010-02-23 15:30:00 +01:00
Andreas Schneider
38b0e6b4d7 s3-nmbd: Remove obsolete signal type cast. 2010-02-23 12:23:42 +01:00
Andrew Tridgell
c804102d0f s3-nmbd: note TODO item for qsort
This uses another char* cast hack. Left alone for now.
2010-02-14 18:44:21 +11:00
Jeremy Allison
0f0229c454 Fix unused variable warning after change to new DLINK macros.
Jeremy.
2010-02-10 17:20:21 -08:00
Andrew Tridgell
ece7089918 s3-nmbd: update nmbd to use new DLIST_ macros
(cherry picked from commit 4d23d777bc6d4fad20d0f3084fe658635812bee9)
2010-02-10 15:36:37 -08:00
Jeremy Allison
c2f3ed48c5 More of the fix for bug #7118 - nmbd problems with socket address.
Add a simple "processed packet queue" cache to stop nmbd responding to
packets received on the broadcast and non-broadcast socket (which
it has opened when "nmbd bind explicit broadcast = yes").

This is a very simple packet queue - it only keeps the packets
processed during a single call to listen_for_packets() (i.e. one
select call). This means that if the delivery notification for a
packet received on both broadcast and non-broadcast addresses
is done in two different select calls, the packet will still be
processed twice. This is a very rare occurrance and we can just
live with it when it does as the protocol is stateless. If this
is ever flagged as a repeatable problem then we can add a longer
lived cache, using timeout processing to clear etc. etc. But without
storing all packets processed we can never be *sure* we've eliminated
the race condition so I'm going to go with this simple solution until
someone proves a more complex one is needed :-).

Jeremy.
2010-02-10 12:32:05 -08:00
Jeremy Allison
3f2415c9bf Make "nmbd bind explicit broadcast" on by default.
Fix a comment typo.

Jeremy.
2010-02-08 14:35:02 -08:00
Stefan Metzmacher
0140bc389d s3:nmbd: change "nmbd:bind explicit broadcast" into "nmbd bind explicit broadcast"
metze
2010-02-08 18:35:11 +01:00
Stefan Metzmacher
30a1bc3650 s3:nmbd: also listen explicit on the subnet broadcast addresses
And send replies always via the unicast address of the subnet.

This behavior is off by default (as before)
and can be enabled with "nmbd:bind explicit broadcast = yes".

metze
2010-02-08 18:35:10 +01:00
Jeremy Allison
1e4868d251 Reduce debug log level from 0 -> 7 on non-critical message.
Jeremy.
2009-09-24 17:44:45 -07:00
Volker Lendecke
8a17cd810f Make gencache more stable
This provides a compromise between stability and performance: gencache is a
persistent database these days that for performance reasons can not use tdb
transactions for all writes. This patch splits up gencache into gencache.tdb
and gencache_notrans.tdb. gencache_notrans is used with CLEAR_IF_FIRST, writes
to it don't use transactions. By default every 5 minutes and when a program
exits, all entries from _notrans.tdb are transferred to gencache.tdb in one
transaction.
2009-07-15 10:55:20 +02:00
Volker Lendecke
5a9ca3db03 Fix bug 4699: Remove pidfile on clean shutdown 2009-06-18 16:17:57 -07:00
Björn Jacke
28e121a19b s3:nmbd: fix typo 2009-05-28 12:22:41 +02:00
Marc VanHeyningen
a4887e250b s3: Allow child processes to exit gracefully if we are out of fds
When we run out of file descriptors for some reason, every new
connection forks a child that immediately panics causing smbd to
coredump.  This seems unnecessarily harsh; with this code change we
now catch that error and merely log a message about it and exit
without the core dump.

Signed-off-by: Tim Prouty <tprouty@samba.org>
2009-05-27 13:16:17 -07:00
Jeremy Allison
6610327770 Fix Coverity bug #902, uninitialized variable.
Jeremy.
2009-04-23 02:02:28 -07:00
Andrew Bartlett
4786a493f7 Solve some of the conflict between Samba3 and Samba4 push_string
This renames push_string in Samba3 into push_string_base and
push_string_check for the two different use cases.

This should allow push_string to be imported from Samba4, using it's
calling conventions.
2009-04-14 12:11:00 +10:00
Jeremy Allison
94ba56b2bd Fix bug #6224 - nmbd waits 5 minutes at startup before checking if it needs to run elections
Fix logic bug that causes nmbd to wait 5 minutes before
looking for a master browser. This one is *old* :-). Thanks
for Simo for bugging me on this.
Jeremy.
2009-03-26 12:28:40 -07:00
Stefan Metzmacher
3b73cdb412 s3:nmbd: implement a MAILSLOT => CLDAP proxy for NETLOGON_SAMLOGON requests
This will be used as part a the franky setup, where nmbd will forward
the MAILSLOT requests to the local samba4 CLDAP server.

"nmbd_proxy_logon:cldap_server = 127.0.0.1" would configure
and activate this feature.

metze
2009-03-21 10:44:42 +01:00
Jeremy Allison
5c63388f63 Fix bug #6186 - map readonly does not work
Jeremy.
2009-03-12 10:57:31 -07:00
Jeremy Allison
faa1100d22 More warning fixes for Solaris.
Jeremy.
2009-02-23 16:22:43 -08:00
Volker Lendecke
0844cca1d5 Replace get_myname() with the talloc version from v3-3-test 2009-02-13 12:15:03 +01:00
Aravind Srinivasan
83cf98f113 Have nmbd check all available interfaces for WINS before failing
When nmbd is acting as WINS, it picks the first interface's IP as WINS
server's IP. If the first interface's IP is zero, we will just quit
(even though we might have other interfaces with valid IPs).

This patch makes nmbd look at all interfaces and pick the first interface
with a valid IP as the WINS server's IP.
2009-02-04 20:26:50 -08:00
Volker Lendecke
0bd92281e4 Make cli_tcon_andx async 2009-01-30 12:47:59 +01:00
Stefan Metzmacher
d361e332a8 s3:nmbd: handle SIG_TERM and SIGHUP via tevent
metze
2009-01-27 15:28:09 +01:00
Stefan Metzmacher
2630d4a252 s3:nmbd: as the sig_term() handler only sets a flag we don't need to block SIGTERM
The arguments of commit d98bea900e
are no longer valid.

metze
2009-01-27 15:28:09 +01:00
Stefan Metzmacher
e663df195c s3:nmbd: install the SIG_DFL handler for SIGTERM while we're waiting for interfaces
We should handle all 3 cases where we actively wait for interfaces
in the same way.

metze
2009-01-27 15:28:08 +01:00
Stefan Metzmacher
4d413381a2 s3:nmbd: we don't need to call message_dispatch() anymore it's event triggered now
metze
2009-01-22 12:37:31 +01:00
Stefan Metzmacher
048f8dba14 s3: always call run_events() before and after sys_select()
And always setup the fd events.

metze
2009-01-22 12:37:29 +01:00
todd stecher
989ad44d32 Memory leaks and other fixes found by Coverity 2009-01-21 17:13:03 -08:00
Michael Adam
99ef38c84f s3:put the browse list into cache_dir, not lock_dir.
Michael
2009-01-16 01:02:23 +01:00
Michael Adam
26e5e4f6fd s3:nmbd: don't leak state_path() to talloc_tos() in wins_write_database()
Michael
2009-01-16 01:02:21 +01:00
Michael Adam
39ec8791f8 s3: make better use of ccache by not including version.h in every C-file.
version.h changes rather frequently. Since it is included via includes.h,
this means each C file will be a cache miss. This applies to the following
situations:

* When building a new package with a new Samba version

* building in a git branch after calling mkversion.sh
  after a new commit (i.e. virtually always)

This patch improves the situation in the following way:

* remove inlude "version.h" from includes.h

* Use samba_version_string() instead of SAMBA_VERSION_STRING
  in files that use no other macro from version.h instead of
  SAMBA_VERSION_STRING.

* explicitly include "version.h" in those files that use more
  macros from "version.h" than just SAMBA_VERSION_STRING.

Michael
2009-01-15 22:56:01 +01:00
Jeremy Allison
907f085296 Remove smbclient globals that bled into clidfs.c. Now we only have
the connections list and authentication structures to worry about.
Jeremy
2009-01-14 16:08:19 -08:00
Steven Danneman
4a578ec50b Covert several persistant tdb files to use state_path() instead of lock_path() 2009-01-12 17:46:15 -08:00
Steven Danneman
7b02e05eb6 Audit usage of get_dyn_STATEDIR() and replace with state_path()
The state directory is now run-time configurable through loadparm, so all
references to it should be done through state_path() or lp_statedir().
2009-01-12 17:46:14 -08:00
Stefan Metzmacher
c34d5f445a s3:events: change event_add_timed() prototype to match samba4
metze
2009-01-05 15:07:35 +01:00
Bo Yang
022e2f8199 clean event context after child is forked.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2009-01-05 15:07:31 +01:00
Volker Lendecke
bb8ca0fdbf Make cli_negprot return NTSTATUS instead of bool 2008-12-19 10:28:30 +01:00
Tim Prouty
2efacde8c4 s3: fix a few "shadows a global declaration" warnings 2008-11-03 14:44:38 -08:00
Jelmer Vernooij
fe36fe8c3e Use common net utility code (address and sockaddr manipulation). 2008-10-23 20:41:15 +02:00
Jelmer Vernooij
d6a5476ee7 Use sockaddr_storage only where we rely on the size, use sockaddr
otherwise (to clarify we can also pass in structs smaller than
sockaddr_storage, such as sockaddr_in).
2008-10-23 19:53:15 +02:00
Jelmer Vernooij
2d89b52be8 Use separate make variables for libutil and libcrypto. 2008-10-18 14:28:40 +02:00
Jelmer Vernooij
4746f79d50 Use {u,}int64_t instead of SMB_BIG_{U,}INT. 2008-10-14 01:59:36 +02:00
Günther Deschner
81fde58551 s3-nbt: remove double nbt netlogon opcodes.
Guenther
2008-09-25 20:11:55 +02:00
Günther Deschner
f51e1f4f93 fix build warning.
Guenther
(This used to be commit a75055be5f)
2008-08-20 22:12:24 +02:00
Jeremy Allison
f23a6b7c93 Fix bug 5697 nmbd spins in reload_interfaces when only loopback has an IPv4 address
reported by Ted Percival <ted@midg3t.net>.
Jeremy.
(This used to be commit ab06efccf3)
2008-08-19 17:30:30 -07:00
Andrew Tridgell
0f41961e4f first cut at adding full transactions for ctdb to samba3
(This used to be commit f91a3e0f7b)
2008-08-13 11:54:08 +02:00
Michael Adam
9b9948134e nmbd: add support for delayed initial samlogon packages.
The hosts or networks configured with "init logon delayed hosts"
have their initial samlogon packages (empty username) delayed
by the value configured with "init logon delay" (defaulting
to 100 milliseconds).

This gives the administrator some control over what clients would
consider the preferred logon server: they choose the server that
repsonds most quickly.

Michael
(This used to be commit d52b9beede)
2008-08-09 01:15:58 +02:00
Michael Adam
33e3e94e0c nmbd_packets: make queue_packet() public.
Michael
(This used to be commit 363eb90ce8)
2008-08-09 01:15:58 +02:00
Michael Adam
7ec1678d60 nmbd: untangle logic in nmbd_messaging_context() slightly.
Michael
(This used to be commit 3baf9eb6a2)
2008-06-26 12:31:11 +02:00
Michael Adam
c1562aae9b nmbd: don't panic if messaging_init() fails - return NULL instead.
Michael
(This used to be commit e6a403209c)
2008-06-26 12:31:11 +02:00
Volker Lendecke
0c4093a234 Fix CLEAR_IF_FIRST handling of messages.tdb
We now open messages.tdb even before we do the become_daemon. become_daemon()
involves a fork and an immediate exit of the parent, thus the
parent_is_longlived argument must be set to false in this case. The parent is
not really long lived :-)
(This used to be commit 4f4781c6d1)
2008-04-23 22:18:26 +02:00
Günther Deschner
bcbac69d1a cldap: avoid duplicate definitions so remove ads_cldap.h.
Guenther
(This used to be commit 538eefe22a)
2008-04-21 20:21:40 +02:00
Stefan Metzmacher
384282c35f nmbd: create the messaging conntext earlier
metze
(This used to be commit 056ff094ad)
2008-04-18 15:00:19 +02:00
Stefan Metzmacher
c5d1a3c710 nmbd: call reinit_after_fork() in all needed cases
metze
(This used to be commit f68829ff14)
2008-04-18 15:00:19 +02:00
Stefan Metzmacher
e21b283d67 dbwrap: wait for tdb2 change notifies in smbd, nmbd and winbindd
metze
(This used to be commit 64450cc1e4)
2008-04-12 09:14:10 +02:00
Jeremy Allison
f85c4b6905 Fix bug #5386, don't keep printing the same waiting
error message.
Jeremy.
(This used to be commit 12e6818df1)
2008-04-11 17:41:49 -07:00
Jeremy Allison
948ebaf033 Fix the last reported debian problem with nmbd not waiting
until interfaces come up.
Jeremy.
(This used to be commit 59a2f0873c)
2008-04-10 08:56:34 -07:00
Jeremy Allison
f3d4cb5efa Fix for termination problems when no interfaces found - bug #5267.
Jeremy.
(This used to be commit 4b03f4eb2d)
2008-03-27 14:23:20 -07:00
Jeremy Allison
868c5c986a Fix bug #5267 - nmbd shuts down when network interfaces go down.
Cause nmbd to wait for an interface, in a mode where SIGTERM
will kills us (same way we wait on startup for an interface).
Jeremy.
(This used to be commit 5440c752ff)
2008-03-06 17:43:25 -08:00
Jeremy Allison
6a7b6a1961 Patch to fix the "Invalid read of size 4" errors. Bug #3617.
Jeremy.
(This used to be commit fa12667ec2)
2008-02-29 06:55:33 -08:00
Jeremy Allison
6346ab79a6 Fix part of bug #3617 from valgrind trace.
"Invalid read of size 1" errors.
Jeremy.
(This used to be commit d954a4954b)
2008-02-29 05:51:09 -08:00
Volker Lendecke
b42a5d68a3 Convert read_data() to NTSTATUS
(This used to be commit af40b71023)
2008-02-02 11:03:23 +01:00
Volker Lendecke
1eb484d4b4 Fix Coverity ID 454
(This used to be commit 902d1d6709)
2008-01-24 16:31:55 +01:00
Volker Lendecke
0ff38a8263 Fix Coverity ID 465
(This used to be commit 8629a0e1c3)
2008-01-24 16:31:55 +01:00
Volker Lendecke
587cf54c61 strtok -> strtok_r
(This used to be commit fd34ce4370)
2008-01-23 15:08:04 +01:00
Jeremy Allison
ff98a654d6 Fix CID 475. work should not be checked against NULL
here as it can never be null.
Jeremy.
(This used to be commit ecb52f50fe)
2008-01-11 23:56:48 -08:00
Jeremy Allison
817e0d899d Ensure we don't take address of one past buffer.
Jeremy.
(This used to be commit 318cbcfae5)
2008-01-09 14:35:00 -08:00
Jeremy Allison
4881ed00ca More logical operation on bool.
Jeremy.
(This used to be commit 7e8e91aeb3)
2008-01-04 23:26:47 -08:00
Jeremy Allison
0090ec236d Attempt to fix bug #3617. Mix of patches from Volker and
myself. Use standard dlinklist macros.
Jeremy.
(This used to be commit 1b06ee69f6)
2008-01-02 11:56:07 -08:00
Jeremy Allison
afc93255d1 Add SMB encryption. Still fixing client decrypt but
negotiation works.
Jeremy.
(This used to be commit d78045601a)
2007-12-26 17:12:36 -08:00
Jeremy Allison
9e733924d9 Arg. The fix for CVE-2007-6015 hadn't been merged into 3.2.
Do so now....
Jeremy.
(This used to be commit 6b1246c29a)
2007-12-13 16:44:24 -08:00
Jeremy Allison
7faee02d0d Remove the char[1024] strings from dynconfig. Replace
them with malloc'ing accessor functions. Should save a
lot of static space :-).
Jeremy.
(This used to be commit 52dc5eaef2)
2007-12-10 11:30:37 -08:00
Volker Lendecke
0cdcd255a5 Fix two incompatible pointer warnings
Jeremy, please check
(This used to be commit 60500fac30)
2007-12-08 09:39:20 -08:00
Jeremy Allison
42cfffae80 Remove next_token - all uses must now be next_token_talloc.
No more temptations to use static length strings.
Jeremy.
(This used to be commit ec003f3936)
2007-12-07 17:32:32 -08:00
Jeremy Allison
acf15ae730 Don't build rpctorture anymore - not maintained. Just remove.
Remove all vestiges of pstring (except for smbctool as noted
in previous commit).
Jeremy
(This used to be commit 4c32a22ac5)
2007-12-07 12:26:32 -08:00
Jeremy Allison
f692694b99 Remove PSTRING_LEN from smbd/ nmbd/.
Remove pstring from libsmb/clidfs.c except for a nasty
hack (that will be removed when pstrings are gone from
client/).
Jeremy.
(This used to be commit cc257b71d1)
2007-11-29 17:25:41 -08:00
Jeremy Allison
9a41314ce8 Remove pstring from nmbd.
Jeremy.
(This used to be commit a317f70c22)
2007-11-19 15:15:09 -08:00
Jeremy Allison
c261545449 Fix bug noticed by kukks <linux@kukkukk.com> where
ip list didn't match namelist added to subnetdb.
Could cause bogus IP addresses to be reported for
the __SAMBA__ name.
Jeremy.
(This used to be commit ad9f14b6dc)
2007-11-15 17:59:12 -08:00
Jeremy Allison
68be9a8200 More pstring removal. This one was tricky. I had to add
one horror (pstring_clean_name()) which will have to
remain until I've removed all pstrings from the client code.
Jeremy.
(This used to be commit 1ea3ac8014)
2007-11-15 14:19:52 -08:00
Gerald (Jerry) Carter
d41713b107 Fix for CVE-2007-5398.
== Subject:     Remote code execution in Samba's WINS
==              server daemon (nmbd) when processing name
==              registration followed name query requests.
==
== CVE ID#:     CVE-2007-5398
==
== Versions:    Samba 3.0.0 - 3.0.26a (inclusive)
...
Secunia Research reported a vulnerability that allows for
the execution of arbitrary code in nmbd.  This defect may
only be exploited when the "wins support" parameter has
been enabled in smb.conf.
(This used to be commit e40c372e0d)
2007-11-15 10:57:31 -06:00
Jeremy Allison
6c25260ec1 Remove more static fstring/pstrings. Fix socket option
set on wrong fd (-1).
Jeremy.
(This used to be commit 52fe04df8e)
2007-11-09 15:09:16 -08:00
Jeremy Allison
5f4693d8f8 Remove more pstring/fstrings.
Jeremy.
(This used to be commit 7a1de5b44e)
2007-11-08 18:50:07 -08:00
Jeremy Allison
d40e47db4b Remove more fstring/pstring bad useage. Go talloc !
Jeremy.
(This used to be commit 2a0173743d)
2007-11-08 17:25:45 -08:00
Jeremy Allison
36441da424 Remove the horror that was the global smb_rw_error.
Each cli struct has it's own local copy of this variable,
so use that in client code. In the smbd server, add one
static to smbd/proccess.c and use that inside smbd. Fix
a bunch of places where smb_rw_error could be set by
calling read_data() in places where we weren't reading
from the SMB client socket (ie. winbindd).
Jeremy.
(This used to be commit 255c2adf7b)
2007-11-05 11:12:56 -08:00
Jeremy Allison
51a0354d75 Remove more static data from lib/util_sock.c and
callers.
Jeremy.
(This used to be commit 35aaa36f82)
2007-11-03 22:34:46 -07:00
Gerald (Jerry) Carter
88ee61625a Patch 2 of 3 from Debian Samba packagers:
The point is doing the following associations:

- non discardable state data (all TDB files that may need to be backed
  up) go to statedir
- shared data (codepage stuff) go to codepagedir

The patch *does not change* the default location for these
directories. So, there is no behaviour change when applying it.

The main change is for samba developers who have to think when dealing
with files that previously pertained to libdir whether they:
- go in statedir
- go in codepagedir
- stay in libdir
(This used to be commit d6cdbfd875)
2007-11-01 15:53:44 -04:00
Stefan Metzmacher
851ef9e22f start smbd, nmbd and winbindd with the same startup message
at debug level 0.

metze
(This used to be commit 95f76ae7a5)
2007-10-30 15:44:27 +01:00
Jeremy Allison
f88b7a076b This is a large patch (sorry). Migrate from struct in_addr
to struct sockaddr_storage in most places that matter (ie.
not the nmbd and NetBIOS lookups). This passes make test
on an IPv4 box, but I'll have to do more work/testing on
IPv6 enabled boxes. This should now give us a framework
for testing and finishing the IPv6 migration. It's at
the state where someone with a working IPv6 setup should
(theorecically) be able to type :
smbclient //ipv6-address/share
and have it work.
Jeremy.
(This used to be commit 98e154c312)
2007-10-24 14:16:54 -07:00
Stefan Metzmacher
669d43af31 fix move to OPT_LOG_STDOUT
metze
(This used to be commit 97f47e3913)
2007-10-20 10:12:55 +02:00
Jeremy Allison
9a85533914 Fix the popt / bool issues. Some places we used BOOL
where we meant int. Fix this. Thanks to metze for
pointing this out.
Jeremy.
(This used to be commit 793a9d24a1)
2007-10-19 11:38:36 -07:00
Stefan Metzmacher
7f82fbad50 fix startup of smbd, nmbd, winbindd
jra: POPT_ARG_VAL arguments need int values.
     I assume there're more places like this
     in the cmdline tools.

     Please fix this properly, as my commit is just
     a hack to get make test working again.

in samba4 we have a workaround for this see
smbd/server.c

metze
(This used to be commit 9cb1937fe8)
2007-10-19 10:34:06 +02:00
Jeremy Allison
30191d1a57 RIP BOOL. Convert BOOL -> bool. I found a few interesting
bugs in various places whilst doing this (places that assumed
BOOL == int). I also need to fix the Samba4 pidl generation
(next checkin).
Jeremy.
(This used to be commit f35a266b3c)
2007-10-18 17:40:25 -07:00
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 3f6bd0e1ec)
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 5c6c8e1fe9)
2007-10-10 15:34:30 -05:00
Jeremy Allison
0d87820380 r25492: Start adding IPv6 compatible code to lib/util_sock.c and deal with
the ripple effects this causes. utmp has to change etc. Remove some
global varables and store address/port in the unexpected db.
Jeremy.
(This used to be commit 18c6a2211d)
2007-10-10 12:31:09 -05:00
Jeremy Allison
934b92f5d0 r25238: Make the error returns from the string functions
always consistent. Return -1 on error, and ensure
we check for this. In cases where the dest is already
specified and we've been asked to terminate with a
null, ensure we always do so even on error.
Jeremy.
(This used to be commit abedd96786)
2007-10-10 12:30:53 -05:00
Jeremy Allison
3aaca8028e r25170: Remove pstring limits from ms_fnmatch and module load.
Jeremy.
(This used to be commit 764574ee05)
2007-10-10 12:30:48 -05:00
Jeremy Allison
eacd314057 r25138: More pstring elimination. Add a TALLOC_CTX parameter
to unix_convert().
Jeremy.
(This used to be commit 39c211a702)
2007-10-10 12:30:44 -05:00
Jeremy Allison
923f14ff37 r25021: Fix coverity #435. Use of -1.
Jeremy.
(This used to be commit f789186086)
2007-10-10 12:30:35 -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 6585ea2cb7)
2007-10-10 12:30:24 -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 a95d9d1ef9)
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 8532e3182a)
2007-10-10 12:30:09 -05:00
Stefan Metzmacher
4ce5c36367 r24027: merge from http://people.samba.org/bzr/metze/samba/3_2-ctdb-metze/:
add in any cluster addresses. We need to response to these,
but not listen on them. This allows us to run nmbd on every
node in the cluster, and have all of them register with a
WINS server correctly

metze
(This used to be commit 98c57562c4)
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 b0132e94fc)
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 22e8404cef)
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 407e6e695b)
2007-10-10 12:28:20 -05:00
Jeremy Allison
1deb049a02 r23556: Fix for error path from Atsushi Nakabayashi <nakabayashi@miraclelinux.com>.
Jeremy.
(This used to be commit 3f70c1b105)
2007-10-10 12:23:28 -05:00
Jeremy Allison
ce02d0dfcb r23554: Fix bug #4711 by makeing cli_connect return an NTSTATUS.
Long overdue fix....
Jeremy.
(This used to be commit 073fdc5a58)
2007-10-10 12:23:28 -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 171dc060e2)
2007-10-10 12:23:23 -05:00
Jeremy Allison
9ae6e51616 r23425: Volker noticed this obvious fix for the wins server
code :-). Thanks Volker !
Jeremy.
(This used to be commit e3f33a2a50)
2007-10-10 12:23:15 -05:00
Jeremy Allison
0ff54fb41d r23349: Fix from Steve Langasek <vorlon@debian.org> to
allow SIGTERM to cause nmbd to exit on awaiting
an interface to come up. Debian bug #168079
Jeremy.
(This used to be commit 9ee310f3d6)
2007-10-10 12:23:08 -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 eaefd00563)
2007-10-10 12:22:17 -05:00
Volker Lendecke
4d5f58c2b9 r23015: Make message_(de)register static to messages.c
(This used to be commit a8082a3c7c)
2007-10-10 12:22:15 -05:00
Volker Lendecke
8c3f8e5697 r22911: Pass a messaging_context to message_send_all
(This used to be commit cc92ce665d)
2007-10-10 12:22:07 -05:00
Volker Lendecke
84758bd1f8 r22908: All callers of message_init now also call messaging_init. Unify those.
(This used to be commit 330946ad23)
2007-10-10 12:22:07 -05:00
Volker Lendecke
ab7a9d2bbe r22902: Add an event_context and a messaging_context to nmbd. Not used yet.
(This used to be commit 6d210fb8a1)
2007-10-10 12:22:06 -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 e43e94cda1)
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 0ad4b1226c)
2007-10-10 12:21:52 -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 19c929c633)
2007-10-10 12:19:33 -05:00
Jeremy Allison
0829e1ad1c r22391: Looks bigger than it is. Make "inbuf" available
to all callers of smb_setlen (via set_message()
calls). This will allow the server to reflect back
the correct encryption context.
Jeremy.
(This used to be commit 2d80a96120)
2007-10-10 12:19:30 -05:00
Jeremy Allison
d1ec690972 r22157: Fix bug #3634 - stop nmbd segfaulting with bad interface line.
Jeremy.
(This used to be commit c3e2207cb4)
2007-10-10 12:19:17 -05:00
Jeremy Allison
0a2cc569a1 r22045: As Volker noticed, skip_string's last argument is
redundent. Remove it.
Jeremy.
(This used to be commit 140881cfbb)
2007-10-10 12:19:05 -05:00
Jeremy Allison
e5358d6c55 r22042: Try and clean up my own mess using the API Volker
suggested. I now use :

BOOL is_offset_safe(const char *buf_base, size_t buf_len, char *ptr, size_t off)
char *get_safe_ptr(const char *buf_base, size_t buf_len, char *ptr, size_t off)
char *get_safe_str_ptr(const char *buf_base, size_t buf_len, char *ptr, size_t off)
int get_safe_SVAL(const char *buf_base, size_t buf_len, char *ptr, size_t off, int failval)
int get_safe_IVAL(const char *buf_base, size_t buf_len, char *ptr, size_t off, int failval)

Volker, please criticize and comment. Thanks,

Jeremy.
(This used to be commit d47af7c926)
2007-10-10 12:19:04 -05:00
Herb Lewis
01efa3d403 r22018: fix compile error
(This used to be commit a4c1c770a2)
2007-10-10 12:19:02 -05:00
Jeremy Allison
261c004d7b r22014: Make us pass RANDOMIPC test again :-(. This is an ugly check-in,
but I've no option.
Jeremy.
(This used to be commit c3a565081d)
2007-10-10 12:19:01 -05:00
Stefan Metzmacher
bc2b6436d0 r22009: change TDB_DATA from char * to unsigned char *
and fix all compiler warnings in the users

metze
(This used to be commit 3a28443079)
2007-10-10 12:19:00 -05:00
Stefan Metzmacher
56ba447668 r22001: change prototype of dump_data(), so that it takes unsigned char * now,
which matches what samba4 has.

also fix all the callers to prevent compiler warnings

metze
(This used to be commit fa322f0cc9)
2007-10-10 12:18:59 -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 c8ae60ed65)
2007-10-10 12:17:32 -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 9a51fba71c)
2007-10-10 12:15:42 -05:00
Jim McDonough
b449884661 r18660: Fix build, one uuid->GUID was missed.
(This used to be commit f8ea2069d4)
2007-10-10 11:52:20 -05:00
Stefan Metzmacher
258a465e20 r18605: sync dlinklist.h with samba4, that means DLIST_ADD_END()
and DLIST_DEMOTE() now take the type of the tmp pointer
not the tmp pointer itself anymore.

metze
(This used to be commit 2f58645b70)
2007-10-10 11:51:59 -05:00
Jeremy Allison
6f9ce7def7 r17864: Fix possible null deref if client doesn't give us
an answer record. Found by the Stanford checker.
Jeremy.
(This used to be commit 1ec77c5011)
2007-10-10 11:38:55 -05:00
Volker Lendecke
22c7238825 r17807: Fix a file descriptor leak pointed out by John Malmberg. Thanks!
Volker
(This used to be commit fac007ccbe)
2007-10-10 11:38:49 -05:00
Jeremy Allison
e7a49f2b25 r17668: Fix the miscalculations in pushing announces. Fixes
problems Kukks reported.
Jeremy.
(This used to be commit 426d722029)
2007-10-10 11:38:45 -05:00
Volker Lendecke
f852fdbe06 r17626: Some C++ Warnings
(This used to be commit 09e7c010f0)
2007-10-10 11:38:44 -05:00
Volker Lendecke
b29915d611 r17571: Change the return code of cli_session_setup from BOOL to NTSTATUS
Volker
(This used to be commit 94817a8ef5)
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 9dafb7f48c)
2007-10-10 11:19:14 -05:00
Jeremy Allison
d88926f6b4 r16665: Fix a couple of bugs I discovered now I've looked
closer at the wins server code. Firstly, it needs
to do the searches on the SELF_NAMES correctly,
secondly it needs to flush the in-memory cache
out before returning the 1b names - else it might
get duplicates returned if many 1b queries are
done in quick succession. Jerry, I hate to say
this but you might want to consider this for 3.0.23....
Jeremy.
(This used to be commit b36b9befbb)
2007-10-10 11:19:07 -05:00
Jeremy Allison
79eaa709a0 r16642: Fix show-stopper bug #3876. Double-free in wins
server code. Jerry please merge for 3.0.23.
Jeremy.
(This used to be commit d354b430ff)
2007-10-10 11:19:05 -05:00
Jeremy Allison
5a1a08d428 r16581: Fix Klocwork #2017. Possible null deref.
Jeremy.
(This used to be commit 6967fd4cef)
2007-10-10 11:19:01 -05:00
Jeremy Allison
d70803ebe3 r16579: Fix Klocwork #2016. Possible null deref.
Jeremy.
(This used to be commit f6d5bae4a1)
2007-10-10 11:19:01 -05:00
Jeremy Allison
9a7adde8a3 r16576: Fix Klocwork #2015. Possible null deref.
Jeremy.
(This used to be commit 9cbfaf62a3)
2007-10-10 11:19:01 -05:00
Jeremy Allison
4433376361 r16313: Not a problem - but ensure Klocwork is quiet (#872).
Jeremy.
(This used to be commit 22a345deed)
2007-10-10 11:17:33 -05:00
Jeremy Allison
a1e0a0e928 r16230: Fix Klocwork #861 and others. localtime and asctime
can return NULL. Ensure we check all returns correctly.
Jeremy.
(This used to be commit 6c61dc8ed6)
2007-10-10 11:17:26 -05:00
Jeremy Allison
a5da0a72e1 r16213: Fix Klocwork #852. iface_n_ip can potentially
return NULL. Ensure we don't deref.
Jeremy.
(This used to be commit c2f0ea2ff2)
2007-10-10 11:17:26 -05:00
Jeremy Allison
863aa313c1 r16019: This should not be a level zero message - it's harmless
and can happen though misconfiguration.
Jeremy.
(This used to be commit 4b9cf399a6)
2007-10-10 11:17:18 -05:00
Jeremy Allison
0648638fef r15700: Make nmbd udp sockets non-blocking to prevent problem
with select returning true but no data being available.
Fix for bug #3779.
Jeremy.
(This used to be commit e5787cf75b)
2007-10-10 11:17:08 -05:00
Volker Lendecke
ce5f1afc75 r15483: Fix 'declaration after code' warnings.
Volker
(This used to be commit 7729799be9)
2007-10-10 11:16:54 -05:00
James Peach
4d55a81958 r15450: Change profiling data macros to use stack variables rather than
globals. This catches mismatched start/end calls and removes
the need for special nested profiling calls.
(This used to be commit ee75049881)
2007-10-10 11:16:47 -05:00
Jeremy Allison
0f985dcb19 r15012: Fix bug #2715. Fix suggested by ISHIKAWA Tomonori <toishika@fsi.co.jp>
No need to null terminate early, pull_ascii_fstring will do this.
Jeremy.
(This used to be commit b1bbe56831)
2007-10-10 11:15:56 -05:00
James Peach
4fa5559800 r14898: This change is an attempt to improve the quality of the information that
is produced when a process exits abnormally.

First, we coalesce the core dumping code so that we greatly improve our
odds of being able to produce a core file, even in the case of a memory
fault. I've removed duplicates of dump_core() and split it in two to
reduce the amount of work needed to actually do the dump.

Second, we refactor the exit_server code path to always log an explanation
and a stack trace. My goal is to always produce enough log information
for us to be able to explain any server exit, though there is a risk
that this could produce too much log information on a flaky network.

Finally, smbcontrol has gained a smbd fault injection operation to test
the changes above. This is only enabled for developer builds.
(This used to be commit 56bc02d644)
2007-10-10 11:15:53 -05:00
Stefan Metzmacher
250c02554e r14618: add --no-process-group to all server programms
to make the following possible:

timelimit 20000 bin/nmbd -F -S --no-process-group
timelimit 20000 bin/smbd -F -S --no-process-group

this is needed to 'make test' working without losing child processes

metze
(This used to be commit c3a9f30e2a)
2007-10-10 11:15:39 -05:00
Jeremy Allison
6b35642037 r14007: Coverity bug CID #197. Don't compare against 0, we
mean the ttl instead.
Jeremy.
(This used to be commit ccb2a52e29)
2007-10-10 11:11:04 -05:00
Jeremy Allison
6d9c2b872f r13892: Doh ! My bugfix had a bug :-). Spotted by Willi Mann <willi@wm1.at>,
if rrec can be null make sure we *never* deref it.
Jeremy.
(This used to be commit d6d7a5ac62)
2007-10-10 11:10:58 -05:00
Jeremy Allison
4d79117c6d r13887: Fix coverity bug CID #94. mem leak on error codepath.
Jeremy.
(This used to be commit dd47e0ef11)
2007-10-10 11:10:58 -05:00
Jeremy Allison
4c0bf8d75d r13884: Fix coverity CID #95. Resource leak on error path.
Jeremy.
(This used to be commit f4bf550b57)
2007-10-10 11:10:58 -05:00
Jeremy Allison
9bb215fe68 r13882: Fix coverity CID bug #96. Missing free on error
exit path.
Jeremy.
(This used to be commit 95ef857c89)
2007-10-10 11:10:58 -05:00
Jeremy Allison
cc6b2d086a r13880: Fix coverity bug CID #97, mem leak on error path.
Jeremy.
(This used to be commit 0dc37dd2d8)
2007-10-10 11:10:58 -05:00