summaryrefslogtreecommitdiff
path: root/source3/smbd
AgeCommit message (Collapse)AuthorFilesLines
2009-06-03s3:smbd: implement SMB2 WriteStefan Metzmacher3-1/+215
This only works on file shares. metze
2009-06-03s3:smbd: implement SMB2 ReadStefan Metzmacher3-1/+209
This only works works on file shares. metze
2009-06-03s3:smbd: implement SMB2 FlushStefan Metzmacher3-1/+122
This works only on file shares yet. metze
2009-06-03s3:smbd: implement SMB2 CloseStefan Metzmacher3-1/+134
metze
2009-06-03s3:smbd: implement a simple version of SMB2 CreateStefan Metzmacher3-1/+276
It only work on file shares and just ignores any additional Create Context Values. metze
2009-06-03s3:smbd: add smbd_smb2_fake_smb_request()Stefan Metzmacher2-0/+53
metze
2009-06-03s3:smbd: return more details in the SMB2 Tree Connect responseStefan Metzmacher1-6/+32
metze
2009-06-03s3:smbd: create a connection_struct in SMB2 Tree ConnectStefan Metzmacher4-1/+30
metze
2009-06-03s3:smbd: create a user_struct for compat in SMB2 Session SetupStefan Metzmacher3-1/+19
metze
2009-06-03s3:smbd: add a lazy mode for conn_new() and conn_free() for SMB2Stefan Metzmacher1-0/+15
metze
2009-06-03s3:smbd: make make_connection_snum() non staticStefan Metzmacher1-2/+1
metze
2009-06-03s3:smbd: move tcon specific globals to struct smbd_server_connectionStefan Metzmacher9-74/+81
metze
2009-06-03s3:smbd: move more session specific globals to struct smbd_server_connectionStefan Metzmacher12-161/+221
metze
2009-06-03s3:smbd: move some session specific globals to struct smbd_server_connectionStefan Metzmacher8-22/+29
metze
2009-06-03s3:smbd: move already_got_session to struct smbd_server_connectionStefan Metzmacher4-6/+7
metze
2009-06-03s3:smbd: move max_recv to struct smbd_server_connectionStefan Metzmacher5-21/+22
metze
2009-06-03s3:smbd: move negprot related globals to struct smbd_server_connectionStefan Metzmacher7-49/+79
metze
2009-06-03s3:smbd: move pending_auth_data list to struct smbd_server_connectionStefan Metzmacher3-23/+37
metze
2009-06-03s3:smbd: remove old comment, we support SMB2 signing nowStefan Metzmacher1-2/+0
metze
2009-06-03s3:smbd: allow SMB2 only if we don't use security = shareStefan Metzmacher1-1/+2
metze
2009-06-02Add SMB_VFS_CONNECTPATH operationVolker Lendecke1-8/+22
This is required for the shadow_copy2 module and "wide links = no". The file system snapshots by nature are typically outside of share directory. So the REALPATH result fails the wide links = no test.
2009-06-02Remove a variable used just onceVolker Lendecke1-2/+3
2009-05-30Fix bug #6421 - POSIX read-only open fails on read-only shares.Jeremy Allison2-8/+12
The change to smbd/trans2.c opens up SETFILEINFO calls to POSIX_OPEN only. The change to first smbd/open.c closes 2 holes that would have been exposed by allowing POSIX_OPENS on readonly shares, and their ability to set arbitrary flags permutations. The O_CREAT -> O_CREAT|O_EXCL change removes an illegal combination (O_EXCL without O_CREAT) that previously was being passed down to the open syscall. Jeremy.
2009-05-30Simplify the dropbox patchJeremy Allison1-5/+10
2009-05-29Re-Add the "dropbox" functionality with -wx rights on a directoryVolker Lendecke1-3/+3
2009-05-28s3: Fix a few more users of stat to use stat_exTim Prouty1-10/+10
2009-05-27s3: Allow child processes to exit gracefully if we are out of fdsMarc VanHeyningen1-6/+13
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-27Fix some nonempty blank linesVolker Lendecke1-14/+13
2009-05-26Attempt to fix the build on NetBSDVolker Lendecke1-6/+0
2009-05-26Fix some nonempty blank linesVolker Lendecke1-28/+27
2009-05-26Introduce "struct stat_ex" as a replacement for SMB_STRUCT_STATVolker Lendecke14-211/+210
This patch introduces struct stat_ex { dev_t st_ex_dev; ino_t st_ex_ino; mode_t st_ex_mode; nlink_t st_ex_nlink; uid_t st_ex_uid; gid_t st_ex_gid; dev_t st_ex_rdev; off_t st_ex_size; struct timespec st_ex_atime; struct timespec st_ex_mtime; struct timespec st_ex_ctime; struct timespec st_ex_btime; /* birthtime */ blksize_t st_ex_blksize; blkcnt_t st_ex_blocks; }; typedef struct stat_ex SMB_STRUCT_STAT; It is really large because due to the friendly libc headers playing macro tricks with fields like st_ino, so I renamed them to st_ex_xxx. Why this change? To support birthtime, we already have quite a few #ifdef's at places where it does not really belong. With a stat struct that we control, we can consolidate the nanosecond timestamps and the birthtime deep in the VFS stat calls. At this moment it is triggered by a request to support the birthtime field for GPFS. GPFS does not extend the system level struct stat, but instead has a separate call that gets us the additional information beyond posix. Without being able to do that within the VFS stat calls, that support would have to be scattered around the main smbd code. It will very likely break all the onefs modules, but I think the changes will be reasonably easy to do.
2009-05-26s3:smbd: remove unused global 'orig_inbuf'Stefan Metzmacher2-2/+0
metze
2009-05-26s3:smbd: move SMB1 specific stuff into a substructure of smbd_server_connectionStefan Metzmacher5-28/+30
metze
2009-05-26s3:smbd: add support for SMB2 signingStefan Metzmacher4-53/+277
metze
2009-05-26s3:smbd: return the correct security mode and capabilities in SMB2 NegotitateStefan Metzmacher1-5/+18
metze
2009-05-24TALLOC_FREE happily lives with a NULL ptr. Tim, please check!Volker Lendecke3-48/+16
Thanks, Volker
2009-05-22Ensure we return NT_STATUS_FILE_IS_A_DIRECTORY on a posix open on aJeremy Allison1-1/+1
directory name. Jeremy.
2009-05-22s3:smbd: implement SMB2 Tree DisconnectStefan Metzmacher3-1/+38
metze
2009-05-22s3:smbd: implement SMB2 Tree ConnectStefan Metzmacher4-1/+285
For now this only checks if the share is present or not. metze
2009-05-22s3:smbd: SMB2 session ids are 64bit...Stefan Metzmacher2-3/+3
We only grand ids up to 0x0000000000FFFFFF, because that's what our idtree implementation can handle. But also 16777215 sessions on one tcp connection should be enough:-) metze
2009-05-22s3:smbd: implement SMB2 LogoffStefan Metzmacher3-1/+47
metze
2009-05-21s3:smbd: we want to get the next command offset and not set it...Stefan Metzmacher1-1/+1
This should also fix the build on some hosts. metze
2009-05-20s3: Change unix_convert (and its callers) to use struct smb_filenameTim Prouty6-374/+537
This is the first of a series of patches that change path based operations to operate on a struct smb_filename instead of a char *. This same concept already exists in source4. My goals for this series of patches are to eventually: 1) Solve the stream vs. posix filename that contains a colon ambiguity that currently exists. 2) Make unix_convert the only function that parses the stream name. 3) Clean up the unix_convert API. 4) Change all path based vfs operation to take a struct smb_filename. 5) Make is_ntfs_stream_name() a constant operation that can simply check the state of struct smb_filename rather than re-parse the filename. 6) Eliminate the need for split_ntfs_stream_name() to exist. My strategy is to start from the inside at unix_convert() and work my way out through the vfs layer, call by call. This first patch does just that, by changing unix_convert and all of its callers to operate on struct smb_filename. Since this is such a large change, I plan on pushing the patches in phases, where each phase keeps full compatibility and passes make test. The API of unix_convert has been simplified from: NTSTATUS unix_convert(TALLOC_CTX *ctx, connection_struct *conn, const char *orig_path, bool allow_wcard_last_component, char **pp_conv_path, char **pp_saved_last_component, SMB_STRUCT_STAT *pst) to: NTSTATUS unix_convert(TALLOC_CTX *ctx, connection_struct *conn, const char *orig_path, struct smb_filename *smb_fname, uint32_t ucf_flags) Currently the smb_filename struct looks like: struct smb_filename { char *base_name; char *stream_name; char *original_lcomp; SMB_STRUCT_STAT st; }; One key point here is the decision to break up the base_name and stream_name. I have introduced a helper function called get_full_smb_filename() that takes an smb_filename struct and allocates the full_name. I changed the callers of unix_convert() to subsequently call get_full_smb_filename() for the time being, but I plan to eventually eliminate get_full_smb_filename().
2009-05-20s3:smbd: check the incoming session id for SMB2 requestsStefan Metzmacher3-2/+98
metze
2009-05-20s3:smbd: implement SMB2 Session Setup with raw NTLMSSPStefan Metzmacher3-1/+220
metze
2009-05-20s3:smbd: for now indicate raw NTLMSSP in the SMB2 Negotiate responseStefan Metzmacher1-0/+3
metze
2009-05-20s3:smbd: move the callback functions of smbd_smb2_request_reply() closer itselfStefan Metzmacher1-42/+42
metze
2009-05-20s3:smbd: add smbd_smb2_request_done_ex()Stefan Metzmacher2-5/+16
Some times we have to return a non-error response with status != NT_STATUS_OK. metze
2009-05-20s3:smbd: fix initialized memory in SMB2 responsesStefan Metzmacher1-4/+4
MESSAGE_ID and SESSION_ID are both 64bit. metze
2009-05-20s3:smbd: add support for SMB2 Keepalive (SMB2 Echo)Stefan Metzmacher3-0/+92
metze