summaryrefslogtreecommitdiff
path: root/source3/smbd/reply.c
AgeCommit message (Collapse)AuthorFilesLines
2013-03-20s3:smbd: Add functions calc_max_read_pdu()/calc_read_size() to work out the ↵Jeremy Allison1-25/+86
length we should return. LARGE_READX test shows it's always safe to return a short read. Windows does so. Do the calculations to return what will fit in a read depending on what the client negotiated. Signed-off-by: Jeremy Allison <jra@samba.org> Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-20s3:smbd: Remove server_will_accept_large_read() and erroneous comment.Jeremy Allison1-28/+1
We're going to replace this with a function that calculates the max PDU to return on a read and supports short reads. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-16Fix bug #9724 - is_encrypted_packet() function incorrectly used inside server.Jeremy Allison1-3/+2
The is_encrypted_packet() function should only be used on the raw received data to determine if a packet came in encrypted. Once we're inside the SMB1 processing code in smbd/reply.c we should be looking at the smb1request->encrypted field to determine if a packet was really encrypted or not. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org> Autobuild-User(master): Stefan Metzmacher <metze@samba.org> Autobuild-Date(master): Sat Mar 16 12:44:44 CET 2013 on sn-devel-104
2013-01-25Fix bug #9587 - archive flag is always set on directories.Jeremy Allison1-1/+2
Creating a directory to a Samba share sets the attributes to 'D' only (correct) - only when creating a new file should the 'A' attribute be set. However, doing a rename of that directory sets the 'A' attribute in error. This should only be done on a file rename. smbclient regression test to follow. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: David Disseldorp <ddiss@samba.org>
2013-01-24Fix bug #9572 - File corruption during SMB1 read by Mac OSX 10.8.2 clients.Jeremy Allison1-2/+30
Accept a large read if we told the client we have UNIX extensions and the client sent a non-zero upper 16-bit size. Do the non-zero upper 16-bit size check first to save a function call in what is a hot path. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Thu Jan 24 21:01:51 CET 2013 on sn-devel-104
2013-01-24Revert "s3:smbd: SMB ReadX with size > 0xffff should only possible for samba ↵Jeremy Allison1-10/+1
clients." Part of fix for bug #9572 - File corruption during SMB1 read by Mac OSX 10.8.2 clients This reverts commit f8c26c16b82989e002b839fc9eba6386fc036f6a. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2012-12-21s3-smbd: Check return code of SMB_VFS_{L}STAT.Andreas Schneider1-2/+7
Found by Coverity. Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Günther Deschner <gd@samba.org>
2012-11-05s3:smbd: pass the current time to make_connection[_smb1]()Stefan Metzmacher1-2/+3
Otherwise smbstatus reports the wrong time for tree connects. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Christian Ambach <ambi@samba.org> Autobuild-User(master): Christian Ambach <ambi@samba.org> Autobuild-Date(master): Mon Nov 5 20:43:23 CET 2012 on sn-devel-104
2012-10-19s3:smbd: update sconn->remote_hostname after the netbios session requestStefan Metzmacher1-0/+13
Also update the info in the new smbXsrv structure. This way we can log the remote name in status outputs. metze Signed-off-by: Michael Adam <obnox@samba.org>
2012-08-04s3:smbd: add support for SMB_EXTENDED_SIGNATURES in SMBtconXStefan Metzmacher1-1/+9
metze Autobuild-User(master): Stefan Metzmacher <metze@samba.org> Autobuild-Date(master): Sat Aug 4 14:28:04 CEST 2012 on sn-devel-104
2012-08-04s3:smbd: setup the application session key with the first tcon on a sessionStefan Metzmacher1-1/+85
Look for Server.Session.SessionKeyState in [MS-SMB]. The first SMBtconX sets the state to available, which makes it possible to protect the session key at that stage, if client and server support TREE_CONNECT_ANDX_EXTENDED_SIGNATURE. metze
2012-08-01s3:smbd: add a optional_support helper variable to reply_tcon_and_X()Stefan Metzmacher1-4/+7
metze Autobuild-User(master): Stefan Metzmacher <metze@samba.org> Autobuild-Date(master): Wed Aug 1 18:25:26 CEST 2012 on sn-devel-104
2012-08-01s3:smbd: make use of TCONX_FLAG_DISCONNECT_TID defineStefan Metzmacher1-1/+1
metze
2012-07-24Fix compiler warning.Jeremy Allison1-1/+1
2012-07-23Fix problem found by Andrew Bartlett - correctly check encrypted flag.Jeremy Allison1-2/+6
2012-07-18s3-smb1: Postpone close_file until all aio is handledVolker Lendecke1-1/+81
Thanks to Jeremy for this simple idea Signed-off-by: Jeremy Allison <jra@samba.org>
2012-07-18s3: Slightly simplify reply_close()Volker Lendecke1-25/+13
Signed-off-by: Jeremy Allison <jra@samba.org>
2012-07-18loadparm: make the source3/ lp_ functions take an explicit TALLOC_CTX *.Rusty Russell1-7/+9
They use talloc_tos() internally: hoist that up to the callers, some of whom don't want to us talloc_tos(). A simple patch, but hits a lot of files. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2012-06-25s3:smbd: make use of smbXsrv_session for smb1Stefan Metzmacher1-5/+21
Pair-Programmed-With: Michael Adam <obnox@samba.org> metze
2012-06-25s3:smbd: make use of smbXsrv_tcon for smb1Stefan Metzmacher1-4/+54
Pair-Programmed-With: Michael Adam <obnox@samba.org> metze
2012-06-15s3:smbd: change reply.c to use fsp_fnum_dbg() for fsp->fnum logging.Michael Adam1-50/+50
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-06s3:include: change smb_request->vuid to uint64_tStefan Metzmacher1-3/+4
metze
2012-06-06s3:smbd: use 'struct user_struct' instead of typedef'ed 'user_struct'Stefan Metzmacher1-1/+1
metze
2012-06-06s3:smbd: use print_spool_rap_jobid() in reply_ioctl()Stefan Metzmacher1-5/+2
metze
2012-05-23s3:smbd: use reply_force_doserror(req, ERRSRV, ERRbaduid) on SMBulogoffStefan Metzmacher1-0/+5
We don't support security = share anymore, so we should always have a valid session. Found by the raw.context test. metze Autobuild-User: Stefan Metzmacher <metze@samba.org> Autobuild-Date: Wed May 23 12:47:37 CEST 2012 on sn-devel-104
2012-05-22s3:smbd: remove unused 'connection_struct->used'Michael Adam1-2/+0
Pair-Programmed-With: Stefan Metzmacher <metze@samba.org> Autobuild-User: Stefan Metzmacher <metze@samba.org> Autobuild-Date: Tue May 22 16:42:22 CEST 2012 on sn-devel-104
2012-05-18s3:smbd: SMBtdis should return ERRSRV, ERRinvnid instead of NETWORK_NAME_DELETEDStefan Metzmacher1-1/+1
Found by the raw.context test. metze
2012-04-06build: Remove SMB_OFF_T, replace with off_tAndrew Bartlett1-29/+29
Now that we always require a 64 bit off_t, we no longer need SMB_OFF_T. Andrew Bartlett Autobuild-User: Andrew Bartlett <abartlet@samba.org> Autobuild-Date: Fri Apr 6 01:47:43 CEST 2012 on sn-devel-104
2012-04-05build: #ifdef LARGE_SMB_OFF_T as off_t is now always 64 bitsAndrew Bartlett1-53/+0
2012-04-04Second part of bugfix for bug #8837 - smbd crashes when deleting directory ↵Jeremy Allison1-2/+6
and veto files are enabled. Store the 'struct security_token' as well as the 'struct security_unix_token' inside the locking db when setting a delete on close.
2012-03-10s3: Remove "req_wct_ofs()"Volker Lendecke1-1/+1
This is fixed up in construct_reply_chain
2012-03-10s3: Remove chain_replyVolker Lendecke1-8/+0
<insert your favourite tombstone ascii art here>
2012-03-10s3: Make sure the andX chains are ended correctlyVolker Lendecke1-0/+13
Normally chain_reply took care of this. This will go away soon.
2012-03-05s3: Move the drain_socket on error to reply_write_and_XVolker Lendecke1-0/+9
That's the only case where this can happen, so we should not clutter the main code path.
2012-03-05s3: Use "goto out;" in reply_write_and_XVolker Lendecke1-18/+9
2012-03-04s3-auth: Remove security=share (depricated since 3.6).Andrew Bartlett1-34/+4
This patch removes security=share, which Samba implemented by matching the per-share password provided by the client in the Tree Connect with a selection of usernames supplied by the client, the smb.conf or guessed from the environment. The rationale for the removal is that for the bulk of security=share users, we just we need a very simple way to run a 'trust the network' Samba server, where users mark shares as guest ok. This is still supported, and the smb.conf options are documented at https://wiki.samba.org/index.php/Public_Samba_Server At the same time, this closes the door on one of the most arcane areas of Samba authentication. Naturally, full user-name/password authentication remain available in security=user and above. This includes documentation updates for username and only user, which now only do a small amount of what they used to do. Andrew Bartlett -------------- / \ / REST \ / IN \ / PEACE \ / \ | SEC_SHARE | | security=share | | | | | | 5 March | | | | 2012 | *| * * * | * _________)/\\_//(\/(/\)/\//\/\///|_)_______
2012-03-01Add open_dir_with_privilege() to ensure we're opening the correct directory ↵Jeremy Allison1-0/+1
when doing backup requests. Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Thu Mar 1 03:50:40 CET 2012 on sn-devel-104
2012-02-19s3: get_share_mode_lock->get_existing_share_mode_lockVolker Lendecke1-1/+1
2012-02-18Fix a bunch of "unused variable" warnings.Jeremy Allison1-2/+0
Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Sat Feb 18 06:22:40 CET 2012 on sn-devel-104
2012-02-16Rename obscure defined constants.Christopher R. Hertel (crh)1-2/+2
Replaced the undescriptive SMB_PORT1 and SMB_PORT2 defined constants with the slightly more descriptive names NBT_SMB_PORT and TCP_SMB_PORT. Also replaced several hard-coded references to the well-known port numbers (139 and 445, respectively) as appropriate. Small changes to clarify some comments regarding the two transport types. Signed-off-by: Simo Sorce <idra@samba.org> Autobuild-User: Simo Sorce <idra@samba.org> Autobuild-Date: Thu Feb 16 08:29:41 CET 2012 on sn-devel-104
2012-01-12s3: Put an indirection layer into share_mode_lockVolker Lendecke1-2/+2
Signed-off-by: Jeremy Allison <jra@samba.org>
2012-01-12s3: Introduce get_share_mode_lock_fresh()Volker Lendecke1-2/+1
This slightly simplifies the code path for all callers which assume that a share mode exists already. Only the callers in open_file_ntcreate and open_directory will ever create new share modes. Signed-off-by: Jeremy Allison <jra@samba.org>
2011-12-31Final part of fix for bug #8679 - recvfile code path using splice() on Linux ↵Jeremy Allison1-5/+0
leaves data in the pipe on short write. The code to set a DOS error on short writeX return is amazingly legacy code, and also breaks the reply as fixup_chain_error_packet() enforces a 2-byte wct on any reply where smb_rcls != 0. Found in testing by Andrew Bartlett. Thanks Andrew ! Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Sat Dec 31 08:05:35 CET 2011 on sn-devel-104
2011-12-16Fix bug #8664 - Renaming a symlink fails if the symlink target is outside of ↵Jeremy Allison1-2/+4
the share. Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Fri Dec 16 23:32:26 CET 2011 on sn-devel-104
2011-12-15s3:smbd: pass smbd_server_connection and a snumused function pointer to ↵Stefan Metzmacher1-1/+1
reload_services() metze
2011-12-02s3: Use autogenerated open_files.idlVolker Lendecke1-0/+1
2011-11-16Final part of patchset to fix bug #8556 - ACL permissions ignored when ↵Jeremy Allison1-0/+7
SMBsetatr is requested. This now plumbs access checks through all setattr calls. Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Wed Nov 16 04:20:04 CET 2011 on sn-devel-104
2011-11-15Remove the check for FILE_WRITE_ATTRIBUTES from smb_set_file_time(). ItJeremy Allison1-0/+5
is called from places like fileio.c that need to update the write time on a file handle only open for write, without neccessarily having FILE_WRITE_ATTRIBUTES permission. Move all checks to before the smb_set_file_time() callers.
2011-11-15Always set the attribute first, before the time.Jeremy Allison1-7/+7
2011-09-14s3:smbd: SMB ReadX with size > 0xffff should only possible for samba clients.Stefan Metzmacher1-1/+10
Windows 2008 R2 (and others) ignore the high bits for the read size. Unless we're using the unix extentions and the client uses CIFS_UNIX_LARGE_READ_CAP, we should also ignore the high bits. But we still need to support old "smbclient" binaries and have to check if the client is "Samba". metze Signed-off-by: Jeremy Allison <jra@samba.org>