1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-21 01:59:07 +03:00

65 Commits

Author SHA1 Message Date
Martin Pool
9af0717315 Doxygen janitor -
Jeremy Allison
4ae130bfa8 Add 3 second timeout when terminating server and sending print notify
messages. Stops build-up of large numbers of smbd's waiting to terminate
on large print throughput.
Jeremy.
-
Tim Potter
6fee7196d6 Move debug level message handling into debug.c from messages.c
Removed duplicate message_register() for REQ_DEBUGLEVEL message.
-
Jeremy Allison
5b8cf0810a Added new message_send_pid() code that uses tdb append to reduce locking
contention on the messaging tdb.
Jeremy.
-
Jeremy Allison
04243e39cf First part of efficiency fixes for message sending to pid's (cutting down
the amount of time we hold tdb locks). Gulp down all messages at once rather
than reading/re-writing one at a time. NOTE: All dispatch routines *must*
be able to cope with incoming message on *odd* byte boundaries (all current
handlers do).
Jeremy.
-
Andrew Bartlett
92a777d0ea BIG patch...
This patch makes Samba compile cleanly with -Wwrite-strings.
 - That is, all string literals are marked as 'const'.  These strings are
always read only, this just marks them as such for passing to other functions.

What is most supprising is that I didn't need to change more than a few lines of code (all
in 'net', which got a small cleanup of net.h and extern variables).  The rest
is just adding a lot of 'const'.

As far as I can tell, I have not added any new warnings - apart from making all
of tdbutil.c's function const (so they warn for adding that const string to
struct).

Andrew Bartlett
-
Jeremy Allison
19f86f1f72 Lots of fixes for error paths where tdb_fetch() data need freeing.
Found via a post from Arcady Chernyak <Arcady.Chernyak@efi.com>.
Jeremy.
-
Jeremy Allison
a7781f91d8 Never, *ever* hold a mutex lock in the message database where there may
be traversals being attempted. Yes, this was from bitter experience (and
an out of control server :-). Also allow callers to break out of a tdb_chainlock
with sigalarm if desired.
Jeremy.
-
Jeremy Allison
aca3337196 Add bcast_msg_flags to connection struct. Allows sender to filter when
sending broadcast messages. Also initial cut-down of printing notify
messages (not yet finished).
Jeremy.
-
Tim Potter
c29cef7f34 Fixed compiler warning. -
Gerald Carter
29874f4b8f compile warngin fixes merged from 2.2 -
Tim Potter
41f036ab37 Fixed typo in debug. -
Jeremy Allison
aa0a6f5532 Ensure we save any older SIGALRM signal handler.
Jeremy.
-
Tim Potter
39ec94bffe Spelling fix. -
Simo Sorce
44df5a13bc move debug stuff from messages.c to debug.c (Elrond) -
Andrew Bartlett
84ea2a434b Keep the compiler happy -
Simo Sorce
be5c3b3f57 so here it is the code to introduce seriously debugggging classes.
this is a first step only passdb stuff has beein "classized".

 - so what can you do?
   set debug level to:  1 poasdb:10
   that will make all the code run at debug level 1 except the code in
   passdb/* files that will run at level 10
   TODO: fix the man page

 - also smbcontrol has this nice feature so smbcontrol smbd debug 3 passdb:5
   will set every smbd to have a default log level of 3 while passdb stuff
   will be at level 5

   and so no..

  minor cosmetic fix to pdbedit is there too
-
Jeremy Allison
e144c174ea Moved debug messages for grabbing/releasing mutex.
Jeremy.
-
Jeremy Allison
1b9f1a368f Don't hold the mutex for more than 20 seconds.
Jeremy.
-
Martin Pool
098905bea2 Add assertions that kill() is never accidentally passed a non-positive
pid.  This follows a bug in rsync where it would accidentally
kill(-1), removing all the user's processes.  I can't see any way this
would directly happen in Samba, but having the assertions seems
beneficial.

http://cvs.samba.org/cgi-bin/cvsweb/rsync/util.c.diff?r1=1.108&r2=1.109&f=h
-
Tim Potter
a3cea5e9ae getpid() -> sys_getpid() -
Tim Potter
b9ab79f30a Doc. -
Andrew Tridgell
eb196070e6 serialise all domain auth requests
this is needed because W2K will send a TCP reset to any open
connections that have not done a negprot when a second connection is
made. This meant that under heavy netlogon load a Samba domain member
would fail authentications.

Jeremy, you may wish to port this to 2.2.x
-
Tim Potter
6a58c9bd06 Removed version number from file header.
Changed "SMB/Netbios" to "SMB/CIFS" in file header.
-
Martin Pool
53dd8b4539 If we receive a message that is not handled then emit a gentle warning
to the log.
-
Martin Pool
6bd5b7ce8e debug output on receipt of message. -
Martin Pool
22e510ea0d Add an output parameter to message_send_all that says how many
messages were sent, so you know how many replies to expect.

Const and doc religion.
-
Martin Pool
e2b080587c Doc how to reply to messages. -
Jeremy Allison
694372b2c4 Merged in JohnR's ping messaging extension.
Jeremy.
-
Jeremy Allison
dfb58f2276 Fixed enumeration of large numbers of groups from a Samba DC.
Tidied up debug messages in lib/messages.c
Jeremy.
-
Simo Sorce
60e907b7e8 move to SAFE_FREE() -
Andrew Tridgell
c26e0d3f27 got rid of USE_TDB_MMAP_FLAG as its not needed any more -
Simo Sorce
b29a549cdd Some fixes about malloc/Realloc and mem leak
thanks to andreas moroder
-
Jeremy Allison
840802f106 Added "use mmap" for HPUX.
Jeremy.
-
Andrew Tridgell
8ec9c87b5d use LDSHFLAGS not -shared in several places -
Jeremy Allison
c6cd42a679 Check sizes of data entries in connections.tdb before deciding they're crecs...
We will need this when we use finer grained locking for max connections.
Jeremy.
-
Jeremy Allison
6fcb600dcd More debug %d -> %u issues.
Jeremy.
-
Jeremy Allison
94747b4639 Got "medieval on our ass" about adding the -1 to slprintf.
Jeremy.
-
Jeremy Allison
0be41d5158 Merge of new 2.2 code into HEAD (Gerald I hate you :-) :-). Allows new SAMR
RPC code to merge with new passdb code.
Currently rpcclient doesn't compile. I'm working on it...
Jeremy.
-
Jeremy Allison
c0517d6f4e Merge of JohnR's changes to appliance-head, JF's changes to 2.2,
updated the POSIX_ACL code to be in sync.
Jeremy.
-
Jeremy Allison
8d3601c136 Merge from 2.2 - with connection fix.
Jeremy.
-
David O'Neill
02f154e729 Changes from APPLIANCE_HEAD:
source/rpc_server/srv_spoolss_nt.c
        - add an access check to _spoolss_deleteprinter() to stop random
          users and passers by from deleting printers.

    source/lib/messages.c
        - converted global msg_all struct to a local in message_send_all()
          function.

    source/include/smb.h
        - added a success error code to the spoolss return codes.

    source/include/proto.h
    source/param/loadparm.c
    source/printing/printing.c
        - Added new parameter "total print jobs" to limit the total number
          of print jobs across all queues. Currently individual queues are
          limited by "max print jobs".
-
Andrew Tridgell
30fb31a3ab removed unnecessary process_exists() call in message_send_pid()
it slows us down and doesn't gain anything
-
David O'Neill
376601d17d Changes from APPLIANCE_HEAD:
testsuite/printing/psec.c
        - Use lock directory from smb.conf parameter when peeking at the
          ntdrivers.tdb file.
    source/rpc_parse/parse_sec.c
        - fix typo in debug message
    source/script/installbin.sh
        - create private directory as part of 'make install'.
    source/nsswitch/winbindd_cache.c
    source/nsswitch/winbindd_idmap.c
    source/passdb/secrets.c
    source/smbd/connection.c
        - always convert tdb key to unix code-page when generating.
    source/printing/nt_printing.c
        - always convert tdb key to unix code-page when generating.
        - don't prepend path to a filename that is NULL in
          add_a_printer_driver_3().
    source/rpc_server/srv_spoolss_nt.c
        - always convert tdb key to unix code-page when generating.
        - don't prepend server name to a path/filename that is NULL in the
          fill_printer_driver_info functions.
    source/printing/printing.c
        - always convert tdb key to unix code-page when generating.
        - move access check for print_queue_purge() outside of job delete
          loop.
    source/smbd/unix_acls.c
        - fix for setting ACLs (this got missed earlier)
    source/lib/messages.c
        - trivial sync with appliance_head
-
Jeremy Allison
6dc83a8c66 Fix from John for growing messages.tdb.
Jeremy.
-
Jeremy Allison
0a40bc83e1 Fixed memory leaks in lsa_XX calls. Fixed memory leaks in smbcacls. Merged
in fixes from appliance-head and 2.2. Fixed multiple connection.tdb open
problem.
Jeremy.
-
Jeremy Allison
9dea7b7c25 Changed to sourceforge tdb code. This includes spinlocks (so we now have
a --with-spinlocks option to configure, this does mean the on-disk tdb
format has changed, so 2.2alphaX sites will need to re-create their
tdb's. The upside is no more tdb fragmentation and a +5% on netbench.
Swings and roundabouts....
Jeremy.
-
Andrew Tridgell
1d63160c75 fixed messaging bug - use strlen() instead of sizeof() in key length -
Andrew Tridgell
3575ad1098 fixed the problem with messages not getting through
the problem had nothing to do with being your own pid, it was instead
a problem with IPC$ connections not being registered in the
connections database and an incorrect test for -1 in the messaging
code.

These changes also mean that IPC$ shares now show up in
smbstatus. That is probably a good thing.
-
Jeremy Allison
6e18a2aa58 Delete queue on empty.
Jeremy.
-