1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-31 17:18:04 +03:00
Commit Graph

674 Commits

Author SHA1 Message Date
Volker Lendecke
2d81721a3f s3: Move "trans_num" to smbd_server_connection 2010-08-24 21:06:41 +02:00
Volker Lendecke
1808dd0a85 s3: Make srv_send_smb take an sconn instead of a sock fd 2010-08-24 21:06:41 +02:00
Volker Lendecke
70c5bed4b2 s3: Replace calls to check_access by allow_access
We already have both the name and address of the client stored now
2010-08-22 14:28:34 +02:00
Volker Lendecke
ac7b63384d s3: Lift smbd_server_fd from reload_services() 2010-08-18 11:18:21 +02:00
Volker Lendecke
a58cea0026 s3: Lift smbd_server_fd() from receive_smb_raw_talloc 2010-08-17 22:44:03 +02:00
Volker Lendecke
1f0afe1aed s3: Lift smbd_server_fd() from read_smb_length_return_keepalive 2010-08-17 22:44:03 +02:00
Volker Lendecke
9671547d17 s3: Lift smbd_server_fd() from read_fd_with_timeout() 2010-08-17 22:44:03 +02:00
Volker Lendecke
40ae8b74b6 s3: Remove smbd_server_fd() from write_data()
This completely removes the DEBUG(0, ..) error message from write_data(). I've
gone through all callers of write_data() and made sure that they have their own
equivalent error message printing.
2010-08-17 12:46:53 +02:00
Volker Lendecke
68e86969fa s3: Remove smbd_server_fd() from smbd_process 2010-08-16 22:39:25 +02:00
Volker Lendecke
0bd39c73be s3: Remove smbd_server_fd() from smbd_echo_loop 2010-08-16 22:39:25 +02:00
Volker Lendecke
2cd643865d s3: Remove smbd_server_fd() from smbd_echo_reader 2010-08-16 22:39:25 +02:00
Volker Lendecke
a23483310d s3: Remove smbd_server_fd() from smbd_echo_reply 2010-08-16 22:39:25 +02:00
Volker Lendecke
bb867df269 s3: Remove smbd_server_fd() from keepalive_fn 2010-08-16 22:39:25 +02:00
Volker Lendecke
a2bf46e9ec s3: Remove smbd_server_fd() from smbd_server_connection_handler 2010-08-16 22:39:25 +02:00
Volker Lendecke
8e7a92bc24 s3: Remove smbd_server_fd() from smbd_server_connection_read_handler 2010-08-16 22:39:25 +02:00
Volker Lendecke
6737c3dd32 s3: Remove smbd_server_fd() from chain_reply 2010-08-16 22:39:25 +02:00
Volker Lendecke
b9d052c728 s3: Remove smbd_server_fd() from construct_reply 2010-08-16 22:39:24 +02:00
Volker Lendecke
61989a9e54 s3: Remove smbd_server_fd() from switch_message 2010-08-16 22:39:24 +02:00
Volker Lendecke
ee796255ce s3: Remove smbd_server_fd() from smbd_server_connection_loop_once 2010-08-16 22:39:24 +02:00
Volker Lendecke
95b232a008 s3: Remove smbd_server_fd() from receive_smb_raw_talloc_partial_read 2010-08-16 22:39:24 +02:00
Volker Lendecke
96ae457023 s3: Remove get_client_fd() 2010-08-16 13:13:10 +02:00
Volker Lendecke
ad871b73a2 s3: Fix some error messages 2010-08-13 22:53:06 +02:00
Andreas Schneider
aff002e829 s3-smbd: Move rpc services init to smbd parent.
The move to the parent makes it possible to use an internal rpc pipe
really early and as we migrated serveral parts of samba to rpc function
this is required. This should speed up the fork of a smbd a bit cause
the rpc services are already running.

We still have several problems here which aren't solved. We don't have a
dependency tree here. For example we have to make sure that the registry
is initialized before we can use the winreg pipe. The spoolss server
requires winreg, so we have to start winreg before we can start the
spoolss server. I'm sure there are more dependencies.

Signed-off-by: Simo Sorce <idra@samba.org>
2010-08-13 12:20:10 -04:00
Volker Lendecke
f7e14a8e5e s3: Reduce the load on the echo handler
If the parent is fast enough, the echo handler should not step in. When the
socket becomes readable, the echo handler goes to sleep for a second. If within
that second, the parent has picked up the SMB request from the net, the echo
handler will just go back to select().
2010-08-12 13:32:16 +02:00
Volker Lendecke
c672797a0a s3: Slightly simplify the logic in smbd_server_echo_handler 2010-08-12 13:31:51 +02:00
Volker Lendecke
c7a2e52ef1 s3: Slightly simplify the logic in smbd_server_connection_handler 2010-08-12 13:31:51 +02:00
Volker Lendecke
277248a4a7 s3: ?true:false is a *bit* pointless :-) 2010-08-12 12:26:56 +02:00
Volker Lendecke
10a76f5d42 s3: Remove the smbd_messaging_context from spoolss_init_cb 2010-08-08 23:37:47 +02:00
Volker Lendecke
b71f2af1a6 s3: Remove some smbd_messaging_context references from smbd_process 2010-08-08 23:37:47 +02:00
Volker Lendecke
37d71a56fd s3: Pass sconn to smbd_process 2010-08-08 23:37:47 +02:00
Volker Lendecke
1702b17494 s3: Lift the server_messaging_context from housekeeping_fn 2010-08-08 23:37:46 +02:00
Volker Lendecke
e64bd85d90 s3: Lift the server_messaging_context from check_reload 2010-08-08 23:37:46 +02:00
Volker Lendecke
53ed39de4a s3: Make check_reload() static 2010-08-08 23:37:46 +02:00
Volker Lendecke
1b60ead64a s3: Lift the server_messaging_context from update_monitored_printq_cache 2010-08-08 18:09:38 +02:00
Volker Lendecke
75b4dfd14d s3: Lift the smbd_messaging_context from smbd_setup_sig_hup_handler 2010-08-08 18:09:33 +02:00
Volker Lendecke
5281e62941 s3: Lift the smbd_messaging_context from smbd_sig_hup_handler 2010-08-08 18:09:33 +02:00
Volker Lendecke
39da717fe1 s3: Lift the smbd_messaging_context from reload_services 2010-08-08 18:09:33 +02:00
Volker Lendecke
7c7ffb70fb s3: Lift the smbd_messaging_context from reload_printers 2010-08-08 18:09:33 +02:00
Volker Lendecke
80cda2e807 s3: Lift the smbd_messaging_context from nt_printing_tdb_migrate 2010-08-08 16:03:15 +02:00
Volker Lendecke
72fd7fb49d s3: Remove some references to smbd_messaging_context() 2010-08-07 14:36:59 +02:00
Simo Sorce
c4b3c9ec0f smbd: Fix build warning 2010-07-28 12:44:37 -04:00
Andreas Schneider
b95d5563dd s3-printing: Added automatic migration of printing tdbs.
Signed-off-by: Jim McDonough <jmcd@samba.org>
2010-07-27 10:27:15 -04:00
Volker Lendecke
300667e4a9 s3: Pass procid_self() explicitly to messaging_ctdbd_connection() 2010-07-05 11:06:23 +02:00
Volker Lendecke
7f0e6df883 s3: Pass the new server_id through reinit_after_fork 2010-07-04 17:29:23 +02:00
Ira Cooper
3549425b30 s3: Change exit on immediate socket failure.
This change makes it so socket errors early in the smbd child
    process cause orderly exits not coredumps.

Signed-off-by: Jeremy Allison <jra@samba.org>
2010-06-28 12:08:03 -07:00
Volker Lendecke
375ce3c96a s3: Explicitly pass sconn to [remove|schedule]_deferred_open_message_smb2 2010-06-12 15:42:57 +02:00
Volker Lendecke
9747eb45d6 s3: Explicitly pass sconn to open_was_deferred_smb2 2010-06-12 15:42:57 +02:00
Volker Lendecke
6b8db9b215 s3: Remove smbd_server_conn from switch_message 2010-06-12 15:42:55 +02:00
Volker Lendecke
dd192bb649 s3: Explicitly pass sconn to is_valid_writeX_buffer 2010-06-12 15:42:52 +02:00
Volker Lendecke
d5f20aea73 s3: Pass sconn explicitly to reply_special 2010-06-12 15:42:52 +02:00
Volker Lendecke
46a48edcdf s3: Use "sconn" argument in smbd_[un]lock_socket_internal
Metze, please check!
2010-06-12 11:59:21 +02:00
Volker Lendecke
d7bc5fe734 s3: Pass sconn to init_smb_request() 2010-06-12 11:59:21 +02:00
Volker Lendecke
edfc7eaf6d s3: Add "smbd_server_connection" to smb_request 2010-06-12 11:59:21 +02:00
Volker Lendecke
d5cf6482ed s3: Fix starving the echo responder
When both the echo responder and the 445 socket want to send stuff to the
worker smbd, the select loop is not fair. It always chooses the smaller file
descriptor to work on. This can mean that on a busy system the echo responder
never gets around to feed its stuff to the parent.

This fix chooses the async echo responder socket when both the 445 and the echo
responder socket are readable.

Yes, it is a very hackish fix which is required *now* I think. The proper fix
would be to either assign priorities to fd's in tevent, or the from my point of
view better fix would be to make tevent kindof round-robin.

Round-robin would mean that whenever a fd has been dealt with, it is taken off
the list of interested sockets, and only if no other socket is active, all of
the ones waiting are put back. This is a bit like EPOLL_ONESHOT, which I would
like to use for this in the epoll case. Although, I need to do some research if
maybe epoll already guarantees round-robin, I did not find anything in the docs
yet.

Volker
2010-06-11 10:58:54 +02:00
Jeremy Allison
d28fa8faab Rename "allow_smb2" -> "using_smb2" and make the usage clearer. 2010-06-09 19:12:02 -07:00
Jeremy Allison
efd0c35a7e Ensure we don't send SMB1 keepalives on an SMB2 connection.
Jeremy.
2010-06-09 17:08:41 -07:00
Simo Sorce
b32b59d47f s3:smbd make yp cache local.
The my_yp_domain variable is just a static cache needed to avoid
making over and over expensive and potentially blocking calls to
yp_get_default_domain().
Instead of keeping this onto the smbd_server_connection struct, just
keep it local to the only function ever using this variable.

This disentagle this function (and a number of calling functions)
from having to pass around smbd_server_connection and thus having
to link against smbd. It also removes a few ifdefs.

Nothing changes from a global/local pov, as the smbd_server_connection
variable passed around is also a global one.

Signed-off-by: Andreas Schneider <asn@samba.org>
2010-05-31 18:21:29 +02:00
Simo Sorce
d9cffc01be s3:auth use info3 in auth_serversupplied_info
Signed-off-by: Günther Deschner <gd@samba.org>
2010-05-28 00:55:53 +02:00
Volker Lendecke
abbf8efb24 s3: Fix a bad memleak in the async echo responder 2010-05-27 18:15:19 +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
Jeremy Allison
c9a3661c4b Fix the "allow_smb2" bug being set to false that was driving me mad :-).
The first packet from a rebooted Win7 on an SMB2 connection is an SMB1
negprot...

Jeremy.
2010-04-27 22:15:17 -07:00
Stefan Metzmacher
b764145ac8 s3:smbd: keep local and remote tsocket_address per connection
metze
2010-04-27 17:22:31 +02:00
Jeremy Allison
2bbb8c917e Allow smb2 create requests to be cancelled.
Jeremy.
2010-04-23 13:10:15 -07:00
Jeremy Allison
8f67f873ac Make deferred opens (NT_STATUS_SHARING_VIOLATION) work over SMB2.
Makes SMB2Create call re-entrant internally.
Now this infrastructure is in place, oplocks will follow shortly.
Tested with Win7 client and with W2K8R2.

Jeremy.
2010-04-22 23:52:19 -07:00
Jeremy Allison
7984243768 Move to using 64-bit mid values in our internal open file database.
This will allow us to share logic much easier between SMB1 and SMB2
servers.

Jeremy
2010-04-12 21:40:28 -07:00
Jeremy Allison
e15939b456 Plumb SMB2 stubs into all the places we defer SMB1 operations.
Rename functions to be internally consistent. Next step is
to cope queueing single (non-compounded) SMB2 requests to
put some code inside the stubs.

Jeremy.
2010-04-09 19:26:34 -07:00
Jeremy Allison
08b24e923d Stop smb2 from calling into smb1 blocking lock request code.
Allocate a uint16_t internal SMB1 mid for an SMB2 request.
Add a back pointer from the faked up smb_request struct
to the smb2 request.

Getting ready to add restart code for blocking locks,
share mode violations and oplocks in SMB2.

Jeremy.
2010-04-08 22:15:55 -07:00
Jeremy Allison
3413cf7a6b Start to plumb smb2 into the oplock system. Calls dummy functions for now.
Jeremy.
2010-04-07 19:00:44 -07:00
Jeremy Allison
bf90969892 Move initialize_async_io_handler() inside of smbd/aio.c.
Call from actual aio read or write. No reason to call this globally on startup.

Jeremy.
2010-04-01 16:47:59 -07:00
Jeremy Allison
6800fdbb81 Make smbd_lock_socket/smbd_unlock_socket recursive with a ref_count.
As these always call exit_server, make that part of the function.
Use _internal functions for the echo client.

Metze please check !

Jeremy.
2010-03-31 17:40:30 -07:00
Stefan Metzmacher
6f30b9a6ff s3:smbd: handle SMB2 in deadtime_fn() and avoid disconnecting non idle clients
metze
2010-03-31 04:55:47 +02:00
Volker Lendecke
cad0c004ad s3: Implement an asynchronous echo responder process
This replies to echo requests when the main smbd is stuck somewhere

Signed-off-by: Stefan Metzmacher <metze@samba.org>
2010-03-22 17:15:14 +01:00
Stefan Metzmacher
0c77e3a1ba s3:smbd: don't allow SMB2 if the async echo handler is active
metze
2010-03-22 17:15:14 +01:00
Stefan Metzmacher
453e6af5b8 s3:smbd: don't use recvfile if the echo handler is active
metze
2010-03-22 17:15:13 +01:00
Stefan Metzmacher
b2c107ffbc s3:smbd: pass down trusted_channel via receive_smb_talloc()
metze
2010-03-22 17:15:12 +01:00
Stefan Metzmacher
c1653e3b0e s3:smbd: send keepalive packets under the socket lock
metze
2010-03-22 17:15:11 +01:00
Stefan Metzmacher
977aa660f4 s3:smbd: smbd_[un]lock_socket() while accessing the socket to the client
metze
2010-03-22 17:15:11 +01:00
Stefan Metzmacher
8de8554628 s3:smbd: add smbd_[un]lock_socket() dummies
metze
2010-03-22 17:15:11 +01:00
Stefan Metzmacher
0b7da43da0 s3:smbd: add an option to skip signings checks srv_check_sign_mac for trusted channels
metze
2010-03-22 17:15:10 +01:00
Volker Lendecke
b7898148c1 s3: Make init_smb_request return bool
Centralize the exit_server_cleanly()
2010-03-11 15:18:07 +01:00
Volker Lendecke
25452a2268 s3: Fix a NULL pointer dereference
Found by Laurent Gaffie <laurent.gaffie@gmail.com>.

Thanks!

Volker
2010-03-09 22:00:44 +01:00
Volker Lendecke
8905b599b4 s3: Fix some nonempty blank lines 2010-01-23 14:35:37 +01:00
Volker Lendecke
9b4b9d26f1 s3: Initialize the seqnum in "init_smb_request"
This makes it a bit more obvious for me that the signing sequence number is
tied to the SMB request.
2010-01-21 14:08:27 +01:00
Volker Lendecke
33e397f9fd s3: Make "init_smb_request" static to process.c 2010-01-21 14:08:27 +01:00
Volker Lendecke
b6f446ca35 s3: Move smb_splice_chain to smbd/process.c, its only user 2009-12-22 13:54:43 +01:00
Jeremy Allison
74deee3cc9 Rename reply_doserror() -> reply_force_doserror().
Rewrite all calls to reply_nterror(NT_STATUS_DOS()) to
reply_force_doserror() and update the comment in smbd/error.c

Jeremy.
2009-12-21 11:16:38 -08:00
Jeremy Allison
642101ac23 Remove all calls to reply_doserror - turn them into
correct reply_nterror calls. Next rename reply_doserror ->
reply_force_doserror and plumb in when NT_STATUS_DOS is
used.
Jeremy.
2009-12-21 11:05:25 -08:00
Günther Deschner
89e02ef1f3 s3-smbd: no drsuapi server stubs yet in s3. Fixes the build, sorry.
Guenther
2009-11-26 20:26:01 +01:00
Günther Deschner
3d679a3b5f s3-rpc: Avoid including every pipe's client and server stubs everywhere in samba.
Guenther
2009-11-26 20:03:17 +01:00
Volker Lendecke
0f8e2a6ebb Revert "s3: Move the global variable Protocol to struct smbd_server_connection"
This reverts commit c85a4c9ba4.
2009-11-23 16:34:59 +01:00
Volker Lendecke
c85a4c9ba4 s3: Move the global variable Protocol to struct smbd_server_connection 2009-11-21 20:49:17 +01:00
Jeremy Allison
8a6b90d401 Fix for CVE-2009-2906.
Summary:
Specially crafted SMB requests on
authenticated SMB connections can send smbd
into a 100% CPU loop, causing a DoS on the
Samba server.
2009-10-01 14:32:36 +02:00
Zack Kirsch
5e9aade516 s3 onefs: Add some debugging/asserts to give more info when there is bad deferred open state.
Signed-off-by: Tim Prouty <tprouty@samba.org>
2009-09-24 11:19:00 -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
Stefan Metzmacher
59c3f5e3ca s3:smbd: move dptr globals into struct smbd_server_connection
metze
2009-08-07 14:18:17 +02:00
Volker Lendecke
5135ebd6f0 Fix a valgrind error in chain_reply
construct_reply() references the request after chain_reply has freed it.
2009-07-27 16:15:54 +02:00
Volker Lendecke
c116652a30 In chain_reply, copy the subrequests' error to the main request 2009-07-24 17:17:08 +02:00
Jeremy Allison
55b4231c77 Move the initialization of smbd_server_conn from smbd/process,
after the accept and fork, to smbd_init_globals(), so it's
done immediately on server startup. This is needed as some
messages are sent to all active smbd processes (including
the master listening daemon). If it gets a message that
forces it to scan it's current connections (ie. conn_find())
then it discovers that sconn->smb1.tcons.Connections dereferences
null (as sconn == NULL in the parent) and crashes. Yes,
I could fix all cases where sconn is used and explicitly
check for NULL but this fix is easier. It means that
the smbd_event_context() is initialized in the master
daemon and then re-initialized after fork, but that
should be being done correctly in every fork call anyway.
Without this change the previous fix 6a9e003910
still panics in the reproducible test case for bug
6564, as this is one case where such a message
(MSG_SMB_CONF_UPDATED) is sent to the parent. Metze
please check. This change passes valgrind.
Jeremy.
2009-07-17 17:57:48 -07:00
Jeremy Allison
d57e67f9eb Revert this commit :
s3: Make smbd aware of permission change of usershare. Since usershare are relatively volatile and
non-previledge users must disconnect from smbd and reconnect to it to make share permission in effect.

For now. This is a feature request and I think we need
to design it a little differently so as not to touch
core change_to_user() code.

Jeremy.
2009-07-14 11:25:45 -07:00
Bo Yang
9ef6af73b3 s3: Make smbd aware of permission change of usershare. Since usershare are relatively volatile and non-previledge users must disconnect from smbd and reconnect to it to make share permission in effect. 2009-07-15 17:05:45 +08:00
Aravind Srinivasan
5a4d618109 s3: forward MSG_DEBUG from smbd parent to all children
Before 3.3, an smbcontrol debug message sent to the target "smbd" would
actually be sent to all running processes including nmbd and winbindd.
This behavior was changed in 3.3 so that the "smbd" target would only
send a message to the process found in smbd.pid, while the "all" target
would send a message to all processes.

The ability to set the debug level of all processes within a single
daemon, without specifying each pid is quite useful.  This was implemented
in winbindd in 065760ed.  This patch does the same thing for smbd.

Upon receiving a MSG_DEBUG the parent smbd will rebroadcast it to all of
its children.

The printing process has been added to the list of smbd child processes,
and we now always track the number of smbd children regardless of the
"max smbd processes" setting.
2009-06-22 19:09:37 -07:00
Stefan Metzmacher
c862018008 s3:smbd: move tcon specific globals to struct smbd_server_connection
metze
2009-06-03 17:54:38 +02:00
Stefan Metzmacher
75d03970b7 s3:smbd: move more session specific globals to struct smbd_server_connection
metze
2009-06-03 17:54:37 +02:00
Stefan Metzmacher
356f0336e5 s3:smbd: move some session specific globals to struct smbd_server_connection
metze
2009-06-03 17:54:37 +02:00
Stefan Metzmacher
f554af1871 s3:smbd: move already_got_session to struct smbd_server_connection
metze
2009-06-03 17:54:37 +02:00
Stefan Metzmacher
d9843b3db4 s3:smbd: move max_recv to struct smbd_server_connection
metze
2009-06-03 17:54:37 +02:00
Stefan Metzmacher
8be8d911a8 s3:smbd: allow SMB2 only if we don't use security = share
metze
2009-06-03 10:51:25 +02:00
Stefan Metzmacher
ebc860ebeb s3:smbd: move SMB1 specific stuff into a substructure of smbd_server_connection
metze
2009-05-26 10:48:12 +02:00
Stefan Metzmacher
688945a994 s3:smbd: add infrastructure for SMB2 support
This is disabled by default and activated by
"max protocol = SMB2".

metze
2009-05-20 15:42:24 +02:00
Tim Prouty
6c935f95b3 s3: Fix chained sesssetupAndX/tconn messages
A sesssetupAndX chained with a tconn will not correctly set the TID in
the response header.  I'm seeing an XP client send this chained
sesssetup/tconn when samba has security = share.  Samba's current
behavior is to return a TID of 0 in the smb header rather than the
actual TID.  This patch also updates the UID in the header as well.
2009-05-08 17:09:16 -07:00
Michael Adam
7d6e4c7e95 s3:smbd: fix the fix for mapped IPv4 address handling in release_ip().
It was too late... Thanks Metze for noticing.

Michael
2009-05-08 16:42:56 +02:00
Michael Adam
e86a534fa7 s3: make release_ip() call (ctdb) cope with IPv4 mapped addresses
Michael
2009-05-08 01:18:58 +02:00
Volker Lendecke
c344ad3043 write_data already guarantees everything was written 2009-04-12 14:51:15 +02:00
Stefan Metzmacher
c16c90a1cb s3:smbd: use new simplified snb_signing code in the server
We keep the seqnum/mid mapping in the smb_request structure.

This also moves one global variable into the
smbd_server_connection struct.

metze
2009-03-23 12:21:13 +01:00
Stefan Metzmacher
7716ad68a8 s3:smbd: if we allow trans2 on the IPC$ share, then we have to allow transs2 too.
Otherwise we'll confuse the client signing engine, when we reply an error to each transs2.

metze
2009-03-23 12:21:12 +01:00
Tim Prouty
dea223ba79 make receive_smb_raw_talloc more readable 2009-02-16 00:29:20 -08:00
Jeremy Allison
f6821a15a0 Noted by Vericode analysis. Correctly use chroot().
Jeremy.
2009-02-13 15:02:32 -08:00
todd stecher
54c51a66e3 S3: New module interface for SMB message statistics gathering
This changelist allows for the addition of custom performance
monitoring modules through smb.conf. Entrypoints in the main message
processing code have been added to capture the command, subop, ioctl,
identity and message size statistics.
2009-02-09 13:23:44 -08:00
Volker Lendecke
9941e730ca Fix memleaks in chain_reply for async requests 2009-02-07 19:25:34 +01:00
Volker Lendecke
d94e9c802c Remove the global variable "chain_size" 2009-01-31 11:09:39 +01:00
Stefan Metzmacher
52f6a4436f s3:smbd: make kernel oplocks event driven
And use signal events for Linux oplocks.

metze
2009-01-27 15:28:10 +01:00
Stefan Metzmacher
4a22713495 s3:smbd: remove pointless respond_to_all_remaining_local_messages() function
This the process_kernel_oplock() function never response to messages,
it only generates messages to ourself.

metze
2009-01-27 15:28:10 +01:00
Stefan Metzmacher
ac61f650ae s3:smbd: use signal events for SIGTERM, SIGHUP and SIGCHLD
metze
2009-01-27 15:28:07 +01:00
Stefan Metzmacher
27f812f3a8 s3:smbd: move all code that handles a client connection into smbd_process()
metze
2009-01-27 15:28:07 +01:00
Volker Lendecke
c0fea1f0f7 Fix chain_reply for pipe reads
The caller might have over-allocated reply->outbuf. Deal with that.

Sorry, Günther, for giving you so much pain ...

Volker
2009-01-25 12:18:34 +01:00
Stefan Metzmacher
830b31a41a s3:smbd: 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
196028ab7b s3:smbd: restructure kernel oplocks code
This converts the irix oplocks code to use a fd event
and removes the last special case for file descriptors
for the main sys_select().

metze
2009-01-22 12:37:29 +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
Volker Lendecke
55dfad40af "userdom_struct" does not need "full_name" anymore -- unused 2009-01-20 23:10:16 +01:00
Stefan Metzmacher
fcf9f72e04 s3:smbd: call message_dispatch() before processing incoming PDUs
This is a hack to fix races which happen with the RAW-RENAME and RAW-OPLOCK
tests. We should try to remove it later.

metze
2009-01-20 00:40:56 +01:00
Volker Lendecke
0d7ca8e89e remove the old chain_reply code 2009-01-16 13:00:45 +01:00
Volker Lendecke
ddaa65ef6e Correctly calculate the offset for read&x 2009-01-16 13:00:44 +01:00
Volker Lendecke
ba981128ac Add a new implementation of chain_reply
This the global variable "orig_inbuf" in the old chain_reply code. This global
variable was one of the reasons why we had the silly restriction to not allow
async requests within a request chain.
2009-01-16 13:00:28 +01:00
Volker Lendecke
d9c40172bf Fix a type-punned error 2009-01-10 13:05:35 +01:00
Volker Lendecke
50aa8a4ac8 Fix a C++ warning 2009-01-10 13:05:34 +01:00
Stefan Metzmacher
aeb798c325 s3:smbd: handle incoming smb requests via event handlers
We use a fd event and receive incoming smb requests
when the fd becomes readable. It's not completely
nonblocking yet, but it should behave like the old code.

We use timed events to trigger retries for deferred open calls.

metze
2009-01-09 08:45:40 +01:00
Stefan Metzmacher
3dde0cbb76 s3:smbd: move all globals and static variables in globals.[ch]
The goal is to move all this variables into a big context structure.

metze
2009-01-08 12:22:21 +01:00
Stefan Metzmacher
c34d5f445a s3:events: change event_add_timed() prototype to match samba4
metze
2009-01-05 15:07:35 +01:00
Jeremy Allison
2c0faaf5d9 Fix bug #6009 - Setting "min receivefile size = 1" breaks writes.
Jeremy.
2009-01-04 11:47:16 -08:00
Volker Lendecke
1ce9525be2 Replace "goto again" by "return NT_STATUS_RETRY" in receive_message_or_smb
This gives lower-level routines the chance to indicate a retry condition
2008-12-31 19:33:25 +01:00
Volker Lendecke
ae0c6cff25 Remove the direct inbuf reference from construct_reply_common() 2008-12-19 18:08:47 +01:00
Volker Lendecke
5a33e906f6 Make "construct_reply_common" static 2008-11-08 10:42:29 +01:00
Volker Lendecke
b9211deba8 Fix the build 2008-11-05 10:48:43 +01:00
Volker Lendecke
b8125663d9 Make "inbuf" a talloc child of "smb_request" for normal smb requests
This is necessary if we want to keep the whole smb_request for deferred ops.
The explicit settings of req->inbuf will be removed once all those deferring
operations are converted to store the whole request and not just the inbuf.
2008-11-04 20:52:06 +01:00
Volker Lendecke
e4897a5376 Add construct_reply_common_req wrapper
The goal is to remove the remaining direct calls to construct_reply_common.
2008-11-04 20:52:06 +01:00
Volker Lendecke
0953688012 Trigger (and fix) a bug in Samba3 making smbd an infinite data source
A deferred open directly followed by a ulogoffX makes smbd3 send an infinite
stream of ERRinvuid replies :-(
2008-11-04 09:41:15 +01:00
Volker Lendecke
7808a2594c Remove some inbuf references by adding "cmd" to smb_request 2008-11-02 23:17:01 +01:00
Volker Lendecke
2bab73a18d Remove a bunch of direct inbuf references by adding "vwv" to smb_request 2008-11-02 16:58:19 +01:00
Volker Lendecke
7bdb571ec4 Remove a bunch of direct inbuf references by adding "buf" to smb_request 2008-11-01 19:41:08 +01:00
Volker Lendecke
7f9d6f80ef Add a "buflen" struct member to smb_request
This removes some explicit inbuf references and also removes a pointless check
in reply_echo. The buflen can never be more than 64k, this is just a 16 bit
value.
2008-11-01 19:41:07 +01:00
Volker Lendecke
7a0ed93169 Remove unused extern declaration 2008-11-01 19:41:07 +01:00
Volker Lendecke
48d3a1d2fb "fn_new"->"fn" in smb_messages[], we got beyond that :-) 2008-10-19 21:51:17 +02:00
Volker Lendecke
1510b7b8c9 Use a direct compare instead of calling strncmp in valid_smb_header 2008-10-19 21:51:16 +02:00
Volker Lendecke
ac647d03ac Move the global hosts_allow() check out of the processing loop 2008-10-19 21:51:16 +02:00
Jelmer Vernooij
4746f79d50 Use {u,}int64_t instead of SMB_BIG_{U,}INT. 2008-10-14 01:59:36 +02:00
Volker Lendecke
a781b78417 Remove smb_np_struct 2008-10-13 20:59:33 +02:00
Volker Lendecke
d65afbe55f Remove the chain_fsp global 2008-10-13 19:32:39 +02:00
Jeremy Allison
f6c883b4b0 Simply our main loop processing. A lot :-). Correctly use events for all the previous "special" cases.
A step on the way to adding signals to the events and being able to merge the S3 event system with
the S4 one.
Jeremy.
2008-10-03 14:18:35 -07:00
Volker Lendecke
227718cd1a Fix Coverity ID 587
The following test program prints "8" on 64-bit :-)

static void print_size(const char lenbuf[4])
{
        printf("sizeof(lenbuf) = %d\n", (int)sizeof(lenbuf));
}
int main(void)
{
        const char lenbuf[4];
        print_size(lenbuf);
        return 0;
}

Jeremy, please check :-)

Volker
(This used to be commit 9daea0ccfd)
2008-09-01 13:51:11 +02:00
Volker Lendecke
1a7b6fe34d fix smb_len calculation for chained requests
I think chain_reply() is one of the most tricky parts of Samba. This recursion
needs to go away, we need to sequentially walk the chain list.
(This used to be commit af2b01d851)
2008-08-10 18:24:33 +02:00
Volker Lendecke
12b6c1f57d Fix andx offset calculation for more than 2 chained requests
Untested code is broken code.... Test follows later, it's quite an intrusive
change to libsmb/
(This used to be commit 0ff16e8573)
2008-08-10 18:24:32 +02:00
Volker Lendecke
5cd8a42720 Factor out create_outbuf, creating an outbuf just given an inbuf
(This used to be commit 50427cbf63)
2008-06-28 10:38:51 +02:00
Jeremy Allison
d36434f312 Security fix for CVE-2008-1105: Boundary failure when parsing SMB responses
can result in a buffer overrun.
Jeremy.
(This used to be commit 23b825e9d2)
2008-05-28 09:31:42 -07:00
Jeremy Allison
8ca459e067 Fix bug #5477 - recvfile code was broken.
Jeremy.
(This used to be commit 830337f054)
2008-05-20 12:09:48 -07:00
Volker Lendecke
bec1dfab27 Remove "userdom_struct user" from "struct user_struct"
(This used to be commit 420de03523)
2008-05-05 18:28:59 +02:00
Volker Lendecke
a4c0812af0 Fix some "ignoring asprintf result" warnings
(This used to be commit 155d62ddfd)
2008-04-14 13:13:46 +02:00
Jeremy Allison
8b04a33500 Ok, final move of this code :-). I think I've found the correct
place for it now where it will cause minimal disruption (only
call the extra message_dispatch just before reading the next
smb off the wire).
Jeremy.
(This used to be commit da2c19c481)
2008-03-31 17:01:27 -07:00
Jeremy Allison
6913f10134 Move the message_dispatch() call after the check for errno on
the select return. We don't want the call to message_dispatch
to mess up the errno value.
Jeremy.
(This used to be commit 26a74d01bb)
2008-03-31 16:56:21 -07:00
Jeremy Allison
e11cd466e1 Reduce the race condition in Samba4 in RAW-RENAME test. We rename a file
using trans2 setfileinfo on one connection, and then check the
file name has changed on the other. In Samba we achieve this by
sending a local message to the other process. This change causes
us to re-scan for incoming messages after we've woken up from the
select (which is cheap if there are no pending messages). This reduces
the race significantly. Volker please review.
Jeremy.
(This used to be commit a7499e994a)
2008-03-31 16:46:20 -07:00
Volker Lendecke
d634ab06b3 Convert secrets_lock_trust_account_password to talloc
This is preparing the conversion of secrets.c to ctdb
(This used to be commit 1307f0130c)
2008-03-10 21:08:45 +01:00
Jeremy Allison
47666c93a7 Fix a couple of "might be used uninitialized" warnings.
Jeremy.
(This used to be commit b3ac8073a2)
2008-02-05 13:36:17 -08:00
Volker Lendecke
e8f1edb9cd Remove smb_read_error global
YESS :-)
(This used to be commit 26771bdca0)
2008-02-02 11:03:23 +01:00
Volker Lendecke
9e5a5d49de Remove dependency on get_srv_read_error() from main loop
(This used to be commit fad8796892)
2008-02-02 11:03:23 +01:00
Volker Lendecke
eaf7621c51 Convert receive_message_or_smb to NTSTATUS
(This used to be commit 0f7d360a01)
2008-02-02 11:03:23 +01:00
Volker Lendecke
21e7344d2f Make get_srv_read_error static to process.c
(This used to be commit 9e2947039e)
2008-02-02 11:03:23 +01:00
Volker Lendecke
6ddfa6ae77 read_socket_with_timeout_ntstatus->read_socket_with_timeout
(This used to be commit 90554799af)
2008-02-02 11:03:22 +01:00
Volker Lendecke
e514cd0af5 Convert receive_smb_talloc to NTSTATUS
(This used to be commit ddbdd11a49)
2008-02-02 11:03:22 +01:00
Volker Lendecke
9fe66ddd15 Convert receive_smb_raw_talloc to NTSTATUS
(This used to be commit 187707591f)
2008-02-02 11:03:22 +01:00
Volker Lendecke
250b2b6464 Convert receive_smb_raw_talloc_partial_read to NTSTATUS
(This used to be commit 9a82350ba9)
2008-02-02 11:03:22 +01:00
Volker Lendecke
e604e137e2 Convert read_packet_remainder to return NTSTATUS
(This used to be commit 667864d442)
2008-02-02 11:03:22 +01:00
Volker Lendecke
48b1ee61db Convert read_packet_remainder to use read_socket_with_timeout_ntstatus
(This used to be commit fff31f8f35)
2008-02-02 11:03:21 +01:00
Volker Lendecke
0afbfa4284 Convert read_smb_length_return_keepalive to return NTSTATUS
(This used to be commit 73a79a957a)
2008-02-02 11:03:21 +01:00
Volker Lendecke
47e1251f72 Remove an unused external reference
(This used to be commit 147033b9df)
2008-01-27 00:35:14 +01:00
Volker Lendecke
a925a53f61 read_socket_with_timeout has timeout=0 handling
(This used to be commit 7101026061)
2008-01-23 17:09:10 +01:00
Volker Lendecke
5b35ecd930 Remove two unused variables
(This used to be commit f12ac1eced)
2008-01-23 10:33:36 +01:00
Volker Lendecke
18083f1d88 Get the inbuf on talloc_tos()
(This used to be commit 883f741576)
2008-01-12 21:09:43 +01:00
Jeremy Allison
253fbf1a6e Make use of talloc_pool in the main codepaths. Remove the sub-contexts.
Jeremy.
(This used to be commit bc932b8ad4)
2008-01-09 17:11:04 -08:00
Jeremy Allison
29562987c3 Now conn is part of smb_request, we don't need it as
an extra parameter. This cleans up quite a few places
we were passing it around without needing it.
Jeremy.
(This used to be commit 8f36def18e)
2008-01-04 15:37:24 -08:00
Jeremy Allison
9254bb4ef1 Refactor the crypto code after a very helpful conversation
with Volker. Mostly making sure we have data on the incoming
packet type, not stored in the smb header.
Jeremy.
(This used to be commit c4e5a50504)
2008-01-04 12:56:23 -08:00
Jeremy Allison
afce2b245a Add the capability to set "smb encrypt = required"
on a share (or global) and have the server reply with
ACCESS_DENIED for all non-encrypted traffic (except
that used to query encryption requirements and set
encryption state).
Jeremy.
(This used to be commit d241bfa577)
2007-12-27 23:51:03 -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
a34c6cd0e7 Remove last_message completely as it's no longer used.
Jeremy.
(This used to be commit c378c3edc1)
2007-12-18 18:10:09 -08:00
Jeremy Allison
d068bc64b6 Three more pstring removals.
Jeremy.
(This used to be commit c15819b757)
2007-11-11 21:46:52 -08:00
Volker Lendecke
637f9d9bf0 Fix some warnings
(This used to be commit 0a1f524e8c)
2007-11-09 15:16:26 +01: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
58fbb512cc Forgot arg type.
Jeremy.
(This used to be commit 46f3b04dde)
2007-11-04 17:15:35 -08:00
Jeremy Allison
4721050df5 Don't believe len returned from read_smb_length_return_keepalive(),
it may be a UNIX large writeX (which wraps len in that case).
Stevef this should fix your 128k write bug.
Jeremy.
(This used to be commit de2ebffa3c)
2007-11-04 15:38:43 -08:00
Jeremy Allison
5b0b4f23ef Remove most of the remaining globals out of lib/util_sock.c.
I have a plan for dealing with the remaining..... Watch
this space.
Jeremy.
(This used to be commit 963fc76852)
2007-11-03 23:20:10 -07:00
Jeremy Allison
25074433f4 I can't get away without a 'length' arg. :-).
Jeremy.
(This used to be commit 95d01279a5)
2007-11-03 18:41:26 -07:00
Jeremy Allison
6658165d5e Stop get_peer_addr() and client_addr() from using global
statics. Part of my library cleanups.
Jeremy.
(This used to be commit e848506c85)
2007-11-03 18:15:45 -07:00
Jeremy Allison
73d4079680 Remove the smb_read_error global variable and replace
it with accessor functions. "One global or pstring a day...." :-).
Jeremy.
(This used to be commit d50d14c300)
2007-11-03 15:12:42 -07:00
Jeremy Allison
695c4a7a74 Fix vfstest link - move socket calls into smbd/process.c
not smbd/server.c
Jeremy
(This used to be commit 8fbefe18a2)
2007-10-31 14:24:52 -07:00
Jeremy Allison
c3250149e1 Add new parameter, "min receivefile size" (by default set
to zero). If non-zero, writeX calls greater than this
value will be left in the socket buffer for later handling
with recvfile (or userspace equivalent). Definition of
recvfile for your system is left as an exercise for
the reader (I'm working on getting splice working :-).
Jeremy.
(This used to be commit 11c03b75dd)
2007-10-30 16:22:24 -07: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
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
12f61e09d9 r25117: The mega-patch Jerry was waiting for. Remove all pstrings from
the main server code paths. We should now be able to cope with
paths up to PATH_MAX length now.
Final job will be to add the TALLOC_CTX * parameter to
unix_convert to make it explicit (for Volker).
Jeremy.
(This used to be commit 7f0db75fb0)
2007-10-10 12:30:41 -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
Volker Lendecke
b578db69e9 r24702: Remove the old API pointers
(This used to be commit 17df313db4)
2007-10-10 12:30:14 -05:00
Jeremy Allison
a662a62e5a r24500: Add check that bcc is correct in an incoming packet.
Jeremy.
(This used to be commit 267a0ac48d)
2007-10-10 12:29:52 -05:00
Jeremy Allison
ed70bc0d8e r24468: Don't forget the +4 for length :-).
Jeremy.
(This used to be commit 4d01e0b744)
2007-10-10 12:29:50 -05:00
Jeremy Allison
a1f593cd73 r24467: Do range checking on incoming smb request.
Jeremy.
(This used to be commit dbd58dd647)
2007-10-10 12:29:50 -05:00
Volker Lendecke
716e01d97e r24457: Convert reply_tcon to the new API
Jeremy, I really apologize for doing this, but I just wanted to enjoy
converting the last SMB call :-)

I've left one little task for you there, I'm not certain that checking
the inbuf length is correct here.

Volker
(This used to be commit 1e08fddafd)
2007-10-10 12:29:49 -05:00
Volker Lendecke
24f42c5cef r24453: Remove the read and write bmpx calls
Talked to both Tridge and Jeremy about this, Tridge said that there is a
special error message persuading OS/2 to fall back to other methods.
The calls now checked in always return the error message we used to
return when "read bmpx = False" was set (the default): ERRSRV, ERRuseSTD.

If someone has a reproducable test case where this is really needed, we
can always dig it up from version control and convert it to the new API.
But that time without that silly parameter, and with a torture test case
for "make test" please :-)

Volker
(This used to be commit d941aae2df)
2007-10-10 12:29:49 -05:00
Jeremy Allison
2823bf10b5 r24445: Convert SMBwritebraw. No test suite unfortunately.... I need to write one for this.
Jeremy
(This used to be commit edc17dfcbd)
2007-10-10 12:29:48 -05:00
Volker Lendecke
527905a09a r24444: Convert reply_find[n]close to the new API
(This used to be commit 6af8595346)
2007-10-10 12:29:48 -05:00
Volker Lendecke
5edcc342c6 r24443: Convert reply_search/fclose to the new API
(This used to be commit a8a33c377e)
2007-10-10 12:29:48 -05:00
Volker Lendecke
f93b093d5f r24442: Convert reply_copy to the new API
(This used to be commit 0cb00c5475)
2007-10-10 12:29:48 -05:00
Volker Lendecke
9c2bfffece r24441: Convert reply_ioctl to the new API
(This used to be commit a5af7ebb7f)
2007-10-10 12:29:48 -05:00
Volker Lendecke
c5572072e5 r24440: Convert the reply_sendXX functions to the new API
(This used to be commit a64bc31098)
2007-10-10 12:29:48 -05:00
Volker Lendecke
90741da80b r24439: Convert reply_get/setattrE to the new API
(This used to be commit 6b0ad071d8)
2007-10-10 12:29:47 -05:00
Volker Lendecke
05fafc1df2 r24436: Convert reply_lockread/writeunlock to the new API
(This used to be commit 1b6add251c)
2007-10-10 12:29:47 -05:00
Volker Lendecke
2ea14d4e98 r24433: Convert reply_ntrename to the new API
(This used to be commit 42b07a52b9)
2007-10-10 12:29:46 -05:00
Volker Lendecke
591669ba06 r24431: Convert the reply_printXX calls to the new API
(This used to be commit e528479f56)
2007-10-10 12:29:46 -05:00
Volker Lendecke
4a989dac81 r24430: Convert reply_writeclose to the new API
(This used to be commit 6def2ee03b)
2007-10-10 12:29:46 -05:00
Volker Lendecke
0f73d64f7d r24428: Convert reply_unlock to the new API
(This used to be commit 01c7426fc0)
2007-10-10 12:29:45 -05:00
Volker Lendecke
ca70ea9310 r24427: Convert reply_lock to the new API
(This used to be commit 212f43ddea)
2007-10-10 12:29:45 -05:00
Volker Lendecke
4c7212b4e4 r24426: Convert reply_read to the new API
(This used to be commit 30aada0ef8)
2007-10-10 12:29:45 -05:00
Volker Lendecke
7c25bf4511 r24425: Convert reply_write to the new API
(This used to be commit 244965f7b6)
2007-10-10 12:29:45 -05:00
Volker Lendecke
fe502551c3 r24423: Convert reply_lseek to the new API
(This used to be commit bd22885386)
2007-10-10 12:29:44 -05:00
Volker Lendecke
dee4ab1533 r24422: Convert reply_ctemp to the new API
(This used to be commit 3cc22fd74f)
2007-10-10 12:29:44 -05:00
Volker Lendecke
06ed827edf r24417: Convert reply_setatr to the new API
(This used to be commit 56bab5ea4c)
2007-10-10 12:29:43 -05:00
Volker Lendecke
73b3ae9c55 r24415: Convert reply_getatr to the new API
(This used to be commit 1a08b97a93)
2007-10-10 12:29:43 -05:00
Volker Lendecke
5fe4384cd9 r24414: Convert reply_mv to the new API
(This used to be commit fa341e4840)
2007-10-10 12:29:42 -05:00
Volker Lendecke
2da44a2dee r24412: Convert reply_open to the new API
(This used to be commit 394987f522)
2007-10-10 12:29:42 -05:00
Volker Lendecke
29df25351d r24406: Push reply_prep_legacy into reply_lockingX
(This used to be commit bce87ebdc0)
2007-10-10 12:29:41 -05:00
Volker Lendecke
ae89ba48ec r24404: Remove get_OutBuffer usage from blocking.c
(This used to be commit cb8fab5663)
2007-10-10 12:29:41 -05:00
Jeremy Allison
d701a47c73 r24387: Convert readbraw to the new api. Volker, keep checking in
your patches please :-). I'll work on SMBreadBmpx tomorrow.
Jeremy.
(This used to be commit 27e183afa8)
2007-10-10 12:29:38 -05:00
Jeremy Allison
5cc0a6b43c r24386: Piss off Volker (not deliberately) by checking in a reply_mknew -> conversion.
Sorry vl, remove one of your 15 patches :-).
Jeremy.
(This used to be commit a7648ed9d4)
2007-10-10 12:29:38 -05:00
Volker Lendecke
6bee410431 r24358: Push reply_prep_legacy into reply_nttrans[s]
(This used to be commit 197c231079)
2007-10-10 12:29:36 -05:00
Volker Lendecke
2fb27fcb69 r24349: For large read&x we need more than 64k of outbuf.
(This used to be commit f7e2eec35f)
2007-10-10 12:29:32 -05:00
Volker Lendecke
d90f6fa1bd r24328: Restore chain_reply error handling
Get the whole smb header from the second chained function, in particular
the error fields
(This used to be commit 0eb831ca0e)
2007-10-10 12:29:30 -05:00
Volker Lendecke
26f6826dfc r24327: First round of fixes to chain_reply
The argument to smb_setlen does not contain the nbt header of 4 bytes

The chained function might allocate outbuf itself (as now happens with
reply_read_and_X). This would erroneously overwrite the caller's outbuf.
Give it an outbuf pointer of it's own
(This used to be commit f923bba908)
2007-10-10 12:29:29 -05:00
Volker Lendecke
61ee2d3720 r24322: Wrap reply_read_and_X in reply_prep_legacy
(This used to be commit 7926b5dfb8)
2007-10-10 12:29:28 -05:00
Volker Lendecke
c898c51984 r24318: Print a prominent warning when reply_prep_legacy is called
This is a temporary function anyway
(This used to be commit 9269e3d588)
2007-10-10 12:29:27 -05:00
Volker Lendecke
b0dc209c19 r24271: Push reply_prep_legacy into reply_write_and_X
(This used to be commit 607e7d2447)
2007-10-10 12:29:24 -05:00
Volker Lendecke
1d3c1de502 r24231: Push allocating InBuffer/OutBuffer into reply_transs
(This used to be commit 74ae19cca6)
2007-10-10 12:29:18 -05:00
Volker Lendecke
133ef281c0 r24229: Push allocating InBuffer/OutBuffer into reply_transs
(This used to be commit 39a7809aa4)
2007-10-10 12:29:18 -05:00
Volker Lendecke
5d2031915e r24225: Convert reply_flush to the new API
(This used to be commit f843c02f07)
2007-10-10 12:29:18 -05:00
Volker Lendecke
c847b2afe7 r24223: Convert reply_echo to the new API
(This used to be commit 4863ff2899)
2007-10-10 12:29:17 -05:00
Volker Lendecke
1d8851f4c7 r24159: Convert reply_transs2 to the new API
(This used to be commit a55a4d71ff)
2007-10-10 12:29:15 -05:00