summaryrefslogtreecommitdiff
path: root/source3/smbd
AgeCommit message (Collapse)AuthorFilesLines
2013-06-06smbd: Change logging when SET_OFFLINE is not supportedChristof Schmitt1-10/+15
A client can send a request to set the OFFLINE attribute. In the default code this is not supported and triggers a log message each time. Change this to only log with level 0 when an actual errors occurs, and log ENOTSUP with level 10. Signed-off-by: Christof Schmitt <christof.schmitt@us.ibm.com> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Autobuild-User(master): Andrew Bartlett <abartlet@samba.org> Autobuild-Date(master): Thu Jun 6 04:30:26 CEST 2013 on sn-devel-104
2013-06-04s3:smbd: explain parameters in call to SMB_VFS_DURABLE_RECONNECT()Michael Adam1-2/+3
Signed-off-by: Michael Adam <obnox@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Tue Jun 4 21:58:16 CEST 2013 on sn-devel-104
2013-06-04s3:smbd: remove code duplication in smb2_create_send()Michael Adam1-51/+25
Move the calls to smb2srv_open_recreate() from the parsing of the create blobs (DHNC and DH2C) to a central place in the open execution phase. This is also where it should be called: in the durable reconnect part, right before the call to SMB_VFS_DURABLE_RECONNECT() Signed-off-by: Michael Adam <obnox@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-06-04s3:smbd: remove old comment about scavenger timer from ↵Michael Adam1-14/+0
vfs_default_durable_reconnect() scavenger functionality belongs to the smb layer (and is meanwhile implemented there). Signed-off-by: Michael Adam <obnox@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-06-03Fix bug 9900: is_printer_published GUID retrievalDavid Disseldorp1-1/+1
Samba currently always responds to GetPrinter(level = 7) requests with DSPRINT_UNPUBLISH, regardless of the AD publish status tracked via the PRINTER_ATTRIBUTE_PUBLISHED flag. This is due to erroneous "objectGUID" unmarshalling in is_printer_published(). This change splits "objectGUID" retrieval into a separate function, and adds a pull_reg_sz() call to correctly unmarshall the GUID. Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
2013-05-27smbd: Fix build on platforms that will not support var = {} initialisationAndrew Bartlett1-1/+4
Reviewed-by: Jelmer Vernooij <jelmer@samba.org>
2013-05-23Revert my accidental commit.Richard Sharpe1-1/+1
Signed-off-by: Richard Sharpe <rsharpe@samba.org> Autobuild-User(master): Richard Sharpe <sharpe@samba.org> Autobuild-Date(master): Thu May 23 06:53:17 CEST 2013 on sn-devel-104
2013-05-21Make sure that if an smbd is exiting because of an error we let the user know.Richard Sharpe1-1/+1
Signed-off-by: Richard Sharpe <realrichardsharpe@gmail.com>
2013-05-14smbd: Remove a pointless variableVolker Lendecke1-2/+1
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org> Autobuild-User(master): Volker Lendecke <vl@samba.org> Autobuild-Date(master): Tue May 14 13:19:44 CEST 2013 on sn-devel-104
2013-05-07Remove the compound_related_in_progress state from the smb2 global state.Jeremy Allison2-12/+0
And also remove the restriction that we can't read a new request whilst we're in this state. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Richard Sharpe <realrichardsharpe@samba.org>
2013-05-07The core of the fix to allow opens to go async inside a compound request.Jeremy Allison1-43/+53
This is only allowed for opens that cause an oplock break, otherwise it is not allowed. See [MS-SMB2].pdf note <194> on Section 3.3.5.2.7. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Richard Sharpe <realrichardsharpe@gmail.com>
2013-05-07Move a variable into the area of code where it's used.Jeremy Allison1-2/+2
Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Richard Sharpe <realrichardsharpe@gmail.com>
2013-05-07Ensure we don't try and cancel anything that is in a compound-related request.Jeremy Allison1-0/+8
Too hard to deal with splitting off the replies. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Richard Sharpe <realrichardsharpe@gmail.com>
2013-05-07Only do the 1 second delay for sharing violations for SMB1, not SMB2.Jeremy Allison1-1/+2
Match Windows behavior. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Richard Sharpe <realrichardsharpe@gmail.com>
2013-05-06Allow "store dos attributes" to override the other "map XXX" parameters.Jeremy Allison1-5/+8
Makes us consistent with what is described in the man pages. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2013-04-30check_parent_exists() can change errno. Ensure we preserve it across calls.Anand Avati1-1/+8
Reviewed-by: Jeremy Allison <jra@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org> Autobuild-User(master): Volker Lendecke <vl@samba.org> Autobuild-Date(master): Tue Apr 30 11:00:11 CEST 2013 on sn-devel-104
2013-04-27Fix bug #9822 - Samba crashing during Win8 sync.Jeremy Allison1-0/+1
When refactoring the dptr desctructor in the fix for bug: 9778 (Samba directory code uses dirfd() without vectoring through a VFS call) I removed the code to NULL out the struct smb_Dir * pointer inside the fsp struct by mistake. Re-add the NULLing out of that pointer when closing a directory pointer associated with an open file. Reporter confirms it fixes the crash. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: David Disseldorp <ddiss@samba.org> Autobuild-User(master): David Disseldorp <ddiss@samba.org> Autobuild-Date(master): Sat Apr 27 20:44:55 CEST 2013 on sn-devel-104
2013-04-27Check for WRITE_ACCESS on the file before overriding an EACCESS.Jeremy Allison1-0/+4
Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org> Autobuild-User(master): Volker Lendecke <vl@samba.org> Autobuild-Date(master): Sat Apr 27 15:57:17 CEST 2013 on sn-devel-104
2013-04-27Ensure we don't try the open_file_fchmod() if we can't write to the file.Jeremy Allison1-0/+5
Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org>
2013-04-27Remove indentation around code wrapped by unneeded CAN_WRITE.Jeremy Allison1-23/+20
Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org>
2013-04-27Add early return in file_set_dosmode() on a read only share.Jeremy Allison1-0/+5
Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org>
2013-04-27smbd: Do not fetch the record in defer_open_doneVolker Lendecke1-8/+1
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Sat Apr 27 02:06:10 CEST 2013 on sn-devel-104
2013-04-26smbd: We don't use DEFERRED_OPEN_ENTRY anymoreVolker Lendecke4-152/+0
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-26smbd: Remove unused smb2_deferred_open_timerVolker Lendecke1-59/+0
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-26smbd: Obsolete MSG_SMB_OPEN_RETRYVolker Lendecke2-45/+0
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-26smbd: Remove the unused fsp->pending_break_messages arrayVolker Lendecke2-15/+3
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-26smbd: Remove unused reply_to_oplock_break_requestsVolker Lendecke5-27/+0
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-26smbd: Obsolete MSG_SMB_BREAK_RESPONSEVolker Lendecke1-62/+1
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-26smbd: Ignore OPEN_RETRY and BREAK_RESPONSEVolker Lendecke3-0/+8
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-26smbd: Use dbwrap_record_watch_send for defer_openVolker Lendecke1-1/+67
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-20Fix bug in old create temp SMB request. Only use VFS functions.Jeremy Allison1-53/+64
Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: David Disseldorp <ddiss@samba.org> Autobuild-User(master): David Disseldorp <ddiss@samba.org> Autobuild-Date(master): Sat Apr 20 21:13:36 CEST 2013 on sn-devel-104
2013-04-20Ensure the RECVFILE path in vfs_pwrite_data() operates on a blocking socket.Jeremy Allison1-1/+12
Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Stefan (metze) Metzmacher <metze@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Sat Apr 20 01:04:05 CEST 2013 on sn-devel-104
2013-04-19Ensure the RECVFILE path in vfs_write_data() operates on a blocking socket.Jeremy Allison1-1/+12
Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Stefan (metze) Metzmacher <metze@samba.org>
2013-04-19Add the internals of is_smb2_recvfile_write.Jeremy Allison1-1/+37
This turns on the real receivefile detection, and completes the receivefile code path changes. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Stefan (metze) Metzmacher <metze@samba.org>
2013-04-19The guts of the receivefile code changes.Jeremy Allison1-5/+60
If an incoming PDU might qualify, only read SMBD_SMB2_SHORT_RECEIVEFILE_WRITE_LEN = (SMB2_HEADER + SMB2_WRITE_BODY_LEN) bytes rather than the whole PDU. Next time we're called, use is_smb2_recvfile_write() to decide if this is an SMB2_WRITE that fit the receivefile criteria, otherwise just read the rest of the PDU. If we did do a short receivefile read, set up the smb2_req->smb1req->unread_bytes value to show what bytes remain in the TCP buffers. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Stefan (metze) Metzmacher <metze@samba.org>
2013-04-19Add stub static function that will turn on/off receivefile code path.Jeremy Allison1-0/+5
Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Stefan (metze) Metzmacher <metze@samba.org>
2013-04-19Add extra fields into struct smbd_smb2_request_read_state to support ↵Jeremy Allison1-0/+3
receivefile. Initialize min_recv_size with the size that will trigger the receivefile write path. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Stefan (metze) Metzmacher <metze@samba.org>
2013-04-19Add macro SMBD_SMB2_SHORT_RECEIVEFILE_WRITE_LEN.Jeremy Allison1-0/+2
This is the 'short' length we'll read in the SMB2_WRITE receivefile code path. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Stefan (metze) Metzmacher <metze@samba.org>
2013-04-19Add utility function get_min_receive_file_size().Jeremy Allison1-0/+11
Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Stefan (metze) Metzmacher <metze@samba.org>
2013-04-19Allow smbd_smb2_request_error_ex() to cope with unread bytes on error.Jeremy Allison1-0/+10
Drain the socket if a RECVFILE write failed. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Stefan (metze) Metzmacher <metze@samba.org>
2013-04-19Add function smbd_smb2_unread_bytes().Jeremy Allison2-0/+13
Returns number of bytes left to read for recvfile. Will be used in SMB_2_WRITE_FILE code path. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Stefan (metze) Metzmacher <metze@samba.org>
2013-04-19If we already have an smb1req attached to the struct smbd_smb2_request, ↵Jeremy Allison1-3/+7
don't recreate it. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Stefan (metze) Metzmacher <metze@samba.org>
2013-04-19Ensure we don't do an SMB2 aio write if RECVFILE is active.Jeremy Allison1-0/+5
Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Stefan (metze) Metzmacher <metze@samba.org>
2013-04-19fileserver: raise the debug level for share connection from non IPC to 2Matthieu Patou1-1/+1
So that logs of make test are not spamed, the code dates from 1999 maybe at that moment we wanted to have some warning I think nodays it's pretty stable. Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-19s3:smbd stop working on a dead client socketChristian Ambach1-0/+1
when the client has already disconnected, exit server as done in other paths in smbd_process Signed-off-by: Christian Ambach <ambi@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org>
2013-04-19s3:smbd increase a loglevelChristian Ambach1-5/+5
do not complain too loudly if the socket has already gone Signed-off-by: Christian Ambach <ambi@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org>
2013-04-19smbd: Fix signing when the async echo handler kicks inVolker Lendecke1-1/+1
This was introduced as a copy&paste error in 5e0258fc932c Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Christian Ambach <ambi@samba.org>
2013-04-19s3:smbd:smb2:scavenger: fix format error for debugging open_persistent_id in ↵Michael Adam1-4/+5
scavenger_timer() Signed-off-by: Michael Adam <obnox@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Fri Apr 19 01:36:15 CEST 2013 on sn-devel-104
2013-04-18s3:smbd: call scavenger_schedule_disconnected() from close normal file for ↵Gregor Beck1-0/+2
durable handles Signed-off-by: Gregor Beck <gbeck@sernet.de> Reviewed-by: Michael Adam <obnox@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-04-18s3:smbd: add a scavenger process for disconnected durable handlesGregor Beck3-0/+567
Pair-Programmed-With: Stefan Metzmacher <metze@samba.org> Signed-off-by: Gregor Beck <gbeck@sernet.de> Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Michael Adam <obnox@samba.org>