summaryrefslogtreecommitdiffstats
path: root/source3
Commit message (Collapse)AuthorAgeFilesLines
...
* build: check linux/fs.h for compression flagsDavid Disseldorp2013-11-271-1/+2
| | | | | | | | | | | | | | Needed for old distributions (e.g. SLES8), which provide a linux/fs.h without the FS_IOC_GETFLAGS/FS_COMPR_FL defines needed for the btrfs VFS module. Reported-by: Andrew Bartlett <abartlet@samba.org> Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Autobuild-User(master): Andrew Bartlett <abartlet@samba.org> Autobuild-Date(master): Wed Nov 27 18:44:14 CET 2013 on sn-devel-104
* s3:smb2_server: avoid calling set_current_user_info() for each requestStefan Metzmacher2013-11-273-7/+9
| | | | | | | | Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: David Disseldorp <ddiss@samba.org> Autobuild-User(master): Stefan Metzmacher <metze@samba.org> Autobuild-Date(master): Wed Nov 27 16:31:44 CET 2013 on sn-devel-104
* s3:smb2_server: generate a header blob for the sendfile pathStefan Metzmacher2013-11-273-5/+40
| | | | | | | | | | We need to pass the NBT header, SMB2 header and SMB2 Read header as header blob to SMB_VFS_SENDFILE(). This allows the usage of MSG_SEND or other tricks to avoid multiple TCP packets on the wire. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: David Disseldorp <ddiss@samba.org>
* s3:smb2_server: allocate smbd_smb2_request on talloc_tos()Stefan Metzmacher2013-11-271-1/+3
| | | | | | | | This matches the behavior for smb1 requests and avoids an additional malloc() per request. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: David Disseldorp <ddiss@samba.org>
* s3:smb2_server: use tevent_req_notify_callback() in ↵Stefan Metzmacher2013-11-271-0/+7
| | | | | | | | | | | smbd_smb2_request_pending_queue() If the request is already done we can avoid one iteration of tevent_loop_once(), which means we avoids one talloc_stackframe_pool/talloc_free pair. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: David Disseldorp <ddiss@samba.org>
* s3:smb2_server: for performance reasons we use tevent_fd and readv/writev ↵Stefan Metzmacher2013-11-272-438/+402
| | | | | | | | | | | | | | | | | | | | | directly Going via tevent_req_create/talloc_free at multiple layer costs too much cpu cycles per request. I tested downloading a 16GB (sparse) file with smbclient -b1 -mNT1, and -mSMB2_02. Using smb2 max read = 64512, which means smb1 and smb2 will use the same read size. I build with -O3 -g and compared the results with valgrind --tool=callgrind. With -mNT1 the server uses about 2.000.000.000 cpu cycles. This patch reduces the userspace cpu cycles for -mSMB2_02 from about ~ 8.000.000.000 down to ~ 4.000.000.000. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: David Disseldorp <ddiss@samba.org>
* s3:smb2_server: fix drain_socket error handlingStefan Metzmacher2013-11-271-3/+17
| | | | | | | | smbd_smb2_request_error_ex() should return NTSTATUS and the caller will terminate the connection. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: David Disseldorp <ddiss@samba.org>
* smbd: Fix a typoVolker Lendecke2013-11-271-1/+1
| | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
* smbd: Remove a "set but unused" variableVolker Lendecke2013-11-271-1/+0
| | | | | | | | | | This is should have been in a793ac0 Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org> Autobuild-User(master): Stefan Metzmacher <metze@samba.org> Autobuild-Date(master): Wed Nov 27 13:30:48 CET 2013 on sn-devel-104
* torture3: Reproducer for bug 10284Volker Lendecke2013-11-264-0/+89
| | | | | | | | 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 Nov 26 22:53:04 CET 2013 on sn-devel-104
* smbd: Fix bug 10284Volker Lendecke2013-11-261-69/+31
| | | | | | | | | | | | | | | | | | If we msg_read_send on a nonempty channel, we create one tevent_immediate. If we directly receive another message and from within the msg_read_send's tevent_req callback we immediately do another msg_read_send, we end up with two tevent_immediate events for msg_channel_trigger with just one incoming message. Test to follow. This patch simplifies msg_channel.c by removing the explicit immediate events. Instead, it relies on the implicit immediate event available via tevent_req_defer_callback. For messages received from tdb with a msg_read_send req pending, we directly finish that request without putting the message on the queue. Bug: https://bugzilla.samba.org/show_bug.cgi?id=10284 Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
* smbd: Pull mtime handling into open_file_ntcreateVolker Lendecke2013-11-234-38/+23
| | | | | | | | | | | | | | This is a performance improvement for heavily contended files, in particular in a cluster. The separate call to get_file_infos makes us pull the locking.tdb record twice per open. For a contended file this can be a performance penalty, this gets the # of record accesses for the open/close cycle down from 3 to 2. 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 Nov 23 00:40:49 CET 2013 on sn-devel-104
* smbd: Point reply_open at the correct stat structVolker Lendecke2013-11-221-1/+4
| | | | | | | | Not sure if anybody will ever notice this these days, but the same is done in the createfile calls. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* smbd: Factor out get_share_mode_write_time of get_file_infosVolker Lendecke2013-11-222-8/+12
| | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* smbd/open: disable compression with FILE_NO_COMPRESSIONDavid Disseldorp2013-11-221-0/+12
| | | | | | | | Files and directories created with FILE_NO_COMPRESSION should not inherit the compression attribute from their parent directory. Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* s3-smbd: support FILE_ATTRIBUTE_COMPRESSEDDavid Disseldorp2013-11-221-0/+47
| | | | | | | | | | The FILE_ATTRIBUTE_COMPRESSED flag is computed based on whether the filesystem exposes the FILE_FILE_COMPRESSION capability, and whether SMB_VFS_GET_COMPRESSION() reports that the file or directory is currently compressed. Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* smbd: split out dos_mode debug print functionDavid Disseldorp2013-11-221-12/+31
| | | | | Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* vfs_btrfs: advertise per-file compression capabilityDavid Disseldorp2013-11-221-0/+15
| | | | | | | | | | Plumb into the get_fs_capabilities code path to advertise the FILE_FILE_COMPRESSION attribute. Also, document file compression support in the VFS btrfs man page. Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* vfs_btrfs: fix copy-chunk dest unlock argsDavid Disseldorp2013-11-221-1/+1
| | | | | | | src_fsp used instead of dest_fsp for unlock. Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* vfs_btrfs: add [GET/SET]_COMPRESSION handlersDavid Disseldorp2013-11-222-3/+118
| | | | | | | | | Translate such requests into FS_IOC_GETFLAGS and FS_IOC_SETFLAGS ioctls respectively. The module makes no distinction between compression types, only whether or not compression is enabled. Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* smb2/ioctl: add support for FSCTL_[GET/SET]_COMPRESSIONDavid Disseldorp2013-11-221-2/+115
| | | | | | | | | | | In line with MS-FSCC 2.3.47, the FSCTL_SET_COMPRESSION ioctl allows remote SMB2 clients to enable and disable compression on a per-file or per-directory basis. Compression state can be retrieved using the FSCTL_GET_COMPRESSION request. Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* vfs: add [GET/SET]_COMPRESSION hooksDavid Disseldorp2013-11-226-1/+163
| | | | | | | | | | | | | | | The VFS interfaces are sychronous, as the operations only modify meta-data. These hooks are dependent on support for transparent compression by the underlying filesystem - vfs_default returns INVALID_DEVICE_REQUEST. Support for other filesystems providing transparent comression, such as Btrfs and ZFS, can be added in future. The get_compression function takes fsp and smb_fname arguments. The smb_fname argument is needed due to the current dosmode() code-path. Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* selftest/s3: run smb2.ioctl against FS specific shareDavid Disseldorp2013-11-221-0/+4
| | | | | | | | Run the smb2.ioctl tests against the filesystem specific share. This adds ~12s to the selftest runtime on my SSD+Btrfs setup. Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* Rename the profile enums with a SAMBA_ prefix to avoid conflict with system ↵Jeremy Allison2013-11-228-38/+38
| | | | | | | | | files. WRITE_FLUSH is defined in fs.h in Linux. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: David Disseldorp <ddiss@samba.org>
* lib/param: Consolidate code to enable smb signing on the server, always ↵Andrew Bartlett2013-11-221-12/+9
| | | | | | | | | | | | | | | enable on AD DC This uses the code from the source4/ SMB server (the NTVFS smb server) in common, to force SMB Signing to be on when we are an AD DC. Andrew Bartlett Signed-off-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: David Disseldorp <ddiss@samba.org> Autobuild-User(master): David Disseldorp <ddiss@samba.org> Autobuild-Date(master): Fri Nov 22 13:13:05 CET 2013 on sn-devel-104
* s3-winbind: Pass the group name to fillup_pw_field().Andreas Schneider2013-11-221-30/+43
| | | | | | | | | | BUG: https://bugzilla.samba.org/show_bug.cgi?id=2191 Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Fri Nov 22 02:04:54 CET 2013 on sn-devel-104
* s3-lib: Add grpname to talloc_sub_specified().Andreas Schneider2013-11-217-16/+56
| | | | | | | BUG: https://bugzilla.samba.org/show_bug.cgi?id=2191 Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* spoolss: accept XPS_PASS datatype used by Windows 8Arvid Requate2013-11-211-1/+7
| | | | | | | | | | | The new v4 driver model used in Windows 8 declares print jobs intended to bypass the XPS processing layer by setting datatype to "XPS_PASS" instead of "RAW". BUG: https://bugzilla.samba.org/show_bug.cgi?id=10267 Reviewed-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
* testparm: don't warn for TCP_NODELAY in socket options.Michael Adam2013-11-201-3/+3
| | | | | | | TCP_NODELAY is set by default, so we should not warn. Signed-off-by: Michael Adam <obnox@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* testparm: Warnings should not cause failureMartin Schwenke2013-11-201-4/+0
| | | | | | | | | | | | | Remove the return code of 1 associated with some warnings. Warnings should not cause failure. If any of these cases should cause a failure then they should be changed to errors. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Christof Schmitt <cs@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org> Autobuild-User(master): Volker Lendecke <vl@samba.org> Autobuild-Date(master): Wed Nov 20 12:19:59 CET 2013 on sn-devel-104
* debug: remove unused sys_adminlogDavid Disseldorp2013-11-202-28/+0
| | | | | | | | | | printing.c was the last user of this syslog wrapper. Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org> Autobuild-User(master): Günther Deschner <gd@samba.org> Autobuild-Date(master): Wed Nov 20 10:19:32 CET 2013 on sn-devel-104
* printing: use DEBUG instead of sys_adminlogDavid Disseldorp2013-11-201-24/+12
| | | | | | | | sys_adminlog() is another syslog wrapper. Use DEBUG(0, ...) instead, which offers the same syslog(LOG_ERR) behaviour. Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
* printing: fix double space in debug statementDavid Disseldorp2013-11-201-1/+1
| | | | | Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
* loadparm: use lp_printername ctx param instead of tosDavid Disseldorp2013-11-201-1/+1
| | | | | | | | | | lp_printername() takes a TALLOC_CTX argument, but proceeds to use talloc_tos() in a subsequent lp__printername call. Fix it to use the parameter - most callers use talloc_tos() as the argument, the others have a temporary context around. Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
* messaging: use local talloc ctx instead of talloc_tosDavid Disseldorp2013-11-201-4/+4
| | | | | | | | | messaging_tdb_send() allocates a stackframe and stores it in a local variable, subsequent allocations should use the variable instead of calling talloc_tos(). Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
* printing: return WERROR from print_access_checkDavid Disseldorp2013-11-204-67/+58
| | | | | | | | | | print_access_check() currently returns a bool based on whether access is granted or denied. Errno is set on failure, but none of the callers use it. This change converts print_access_check() to return a WERROR. Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
* smbd: Fix a talloc hierarchy problem in msg_channelVolker Lendecke2013-11-201-1/+1
| | | | | | | | | | | | | When tearing down a watch_send with an open tevent_immediate, we talloc_free the msg_channel while the tevent_immediate still references it. Don't make the tevent_immediate outlive the msg_channel. Bug: https://bugzilla.samba.org/show_bug.cgi?id=10250 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): Wed Nov 20 00:13:51 CET 2013 on sn-devel-104
* netapi: Add support for info level 502 in NetShareAdd.Hans Leidekker2013-11-194-1/+71
| | | | | | | | Signed-off-by: Hans Leidekker <hans@meelstraat.net> Reviewed-by: Guenther Deschner <gd@samba.org> Autobuild-User(master): Günther Deschner <gd@samba.org> Autobuild-Date(master): Tue Nov 19 21:48:17 CET 2013 on sn-devel-104
* torture3: Use tevent_req_nterror properlyVolker Lendecke2013-11-191-4/+2
| | | | | | | | | | | Might be minor, but the less example of wrong API use we have the better it is. 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): Tue Nov 19 04:05:08 CET 2013 on sn-devel-104
* printing: always store sytem job-ID in queue stateDavid Disseldorp2013-11-181-21/+22
| | | | | | | | | | | | | | | | | | | Print jobs have multiple identifiers: the regular spoolss jobid, which is allocated by spoolss on job submission, and the system jobid, which is assigned by the printing back-end. Currently these identifiers are incorrectly mixed in print job queue tracking. Fix this by ensuring that only the system jobid is stored in the print queue state structure. BUG: https://bugzilla.samba.org/show_bug.cgi?id=10271 Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org> Reviewed-by: Günther Deschner <gd@samba.org> Autobuild-User(master): David Disseldorp <ddiss@samba.org> Autobuild-Date(master): Mon Nov 18 18:03:41 CET 2013 on sn-devel-104
* spoolss: return the spoolss job ID in notificationsDavid Disseldorp2013-11-183-7/+28
| | | | | | | | | | | | | | | | | Print job notifications currently carry the system print job identifier from the queue structure. Instead, the spoolss job identifier should be resolved and returned. Print clients can use notification job-ids in subsequent spoolss SetJob requests. Returning an incorrect identifier can result in the failure of such requests, e.g. spoolss_SetJob(SPOOLSS_JOB_CONTROL_DELETE). BUG: https://bugzilla.samba.org/show_bug.cgi?id=10271 Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org> Reviewed-by: Günther Deschner <gd@samba.org>
* s3-libnet: Use a const char for realm.Andreas Schneider2013-11-151-1/+1
| | | | | | | | Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Fri Nov 15 23:11:54 CET 2013 on sn-devel-104
* s3-vfs: Make glfs_set_preopened() static.Andreas Schneider2013-11-151-1/+1
| | | | | Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* s3-vfs: Remove unused variable in vfs_glusterfs.Andreas Schneider2013-11-151-1/+0
| | | | | Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* s3-libsmb: Fix scanf format in parse_ace().Andreas Schneider2013-11-151-3/+3
| | | | | Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* s3-utils: Fix scanf format in sharesec.Andreas Schneider2013-11-151-3/+3
| | | | | Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* s3-utils: Fix scanf format in smbacls.Andreas Schneider2013-11-151-3/+3
| | | | | Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* s3-libsmb: Use the right macro to set uint16_t attr.Andreas Schneider2013-11-151-1/+1
| | | | | Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* winbind: Make centry_start staticChristof Schmitt2013-11-152-2/+2
| | | | | | | | | | centry_start is only used in winbindd_cache.c Signed-off-by: Christof Schmitt <cs@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org> Autobuild-User(master): Christof Schmitt <cs@samba.org> Autobuild-Date(master): Fri Nov 15 18:05:41 CET 2013 on sn-devel-104
* s3-client: smbclient shows no error if deleting a directory with del failedJeremy Allison2013-11-143-4/+28
| | | | | | | | | | | | | | | | | BUG: https://bugzilla.samba.org/show_bug.cgi?id=10260 In SMB1 the server filters by attribute requested, in SMB2 there is no attribute sent. Emulate this on the client to provide the same ABI to callers. In SMB1 the server returns NT_STATUS_NO_SUCH_FILE if FindFirst finds no files. Emulate this on the client. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org> Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org> Autobuild-Date(master): Thu Nov 14 21:23:07 CET 2013 on sn-devel-104