Steven Danneman [Tue, 3 Feb 2009 05:37:51 +0000 (21:37 -0800)]
s3: Added SMB_VFS_INIT_SEARCH_OP to initialize data at the beginning of SMB search requests.
By default this VFS call is a NOOP, but the onefs vfs module takes advantage
of it to initialize direntry search caches at the beginning of each
TRANS2_FIND_FIRST, TRANS2_FIND_NEXT, SMBffirst, SMBsearch, and SMBunique
Steven Danneman [Fri, 23 Jan 2009 04:18:56 +0000 (20:18 -0800)]
Pass stat buffer down through all levels of VFS_READDIR wrappers
* VFS_OP_READDIR can now provide stat information, take advantage of it
if it's available
* is_visible_file(): optimistically expect the provided stat buffer is
already valid
* dptr_ReadDirName(): refactor code for easier readability, functionality
is the same
Steven Danneman [Fri, 23 Jan 2009 04:14:38 +0000 (20:14 -0800)]
Add an optional SMB_STRUCT_SMB parameter to VFS_OP_READDIR
* this allows VFS implementations that prefetch stat information on
readdir to return it through one VFS call
* backwards compatibility is maintained by passing in NULL
* if the system readdir doesn't return stat info, the stat struct is
set to invalid
Tim Prouty [Thu, 5 Feb 2009 01:28:21 +0000 (17:28 -0800)]
s3 OneFS: Change ACLs to do a stat-only open before get/set_security_descriptor
This ensures that getting/stting a security descriptor does not
contend an oplock. The correct access checks will be still be done in
the kernel on the get/set rather than the open.
Tim Prouty [Wed, 28 Jan 2009 00:13:35 +0000 (16:13 -0800)]
s3 OneFS: Add kernel oplocks implementation
A few functions in oplocks_onefs.c need to be accessed from the onefs
vfs module. It would be ideal if oplocks were implemented at the vfs
layer, but since they aren't yet, a new header is added to
source3/include to make these functions available to the onefs vfs
module. oplocks_onefs.o doesn't need to be linked into the onefs vfs
module explicitly, since it is already linked into smbd by default.
Tim Prouty [Wed, 4 Feb 2009 07:17:48 +0000 (23:17 -0800)]
s3 oplocks: Remove oplocks before handling delete on close semantics
Unlinking a file while still holding an oplock can cause problems with
kernel oplocks. This simply releases the oplock before actually
unlinking the file.
Tim Prouty [Tue, 3 Feb 2009 23:40:23 +0000 (15:40 -0800)]
s3 oplocks: Add capabilites flags field to the kernel_oplocks struct
Here is a short description for each of the new capability flags:
KOPLOCKS_LEVEL2_SUPPORTED: Level 2 oplocks are supported natively in
the kernel.
KOPLOCKS_DEFERRED_OPEN_NOTIFICATION: The kernel notifies deferred
openers when they can retry the open.
KOPLOCKS_TIMEOUT_NOTIFICATION: The kernel notifies smbds when an
oplock break times out.
KOPLOCKS_OPLOCK_BROKEN_NOTIFICATION: The kernel notifies smbds when an
oplock is broken.
Tim Prouty [Tue, 3 Feb 2009 19:56:35 +0000 (11:56 -0800)]
s3 oplocks: Make the level2 oplock contention API more granular
This replaces release_level2_oplocks_on_change with
contend_level2_oplock_begin/end in order to contend level2 oplocks
throughout an operation rather than just at the begining. This is
necessary for some kernel oplock implementations, and also lays the
groundwork for better correctness in Samba's standard level2 oplock
handling. The next step for non-kernel oplocks is to add additional
state to the share mode lock struct that prevents any new opens from
granting oplocks while a contending operation is in progress.
All operations that contend level 2 oplocks are now correctly spanned
except for aio and synchronous writes. The two write paths both have
non-trivial error paths that need extra care to get right.
RAW-OPLOCK and the rest of 'make test' are still passing with this
change.
Tim Prouty [Fri, 9 Jan 2009 21:07:58 +0000 (13:07 -0800)]
s3 oplocks: Differentiate between releasing an oplock vs. downgrading to Level 2 for kernel oplocks
Pass in an extra argument when releasing an oplock so kernel oplock
implementations can support downgrading from Level 1 to Level 2.
Tim Prouty [Sun, 1 Feb 2009 04:51:04 +0000 (20:51 -0800)]
s3 vfs: Add a destructor to the fsp extension data API
I'm not certain if the dummy pointer is needed in struct vfs_fsp_data,
but I added it to be consistent with the comment below.
Andrew Tridgell [Tue, 10 Feb 2009 06:31:57 +0000 (17:31 +1100)]
added a workaround to the handling of unicodePwd for Win7-beta
The Win7-beta domain process has changed. It no longer uses SAMR for
setting the password, and instead uses a ldap modify on a SASL
encrypted ldap connection. We didn't handle that as the unicodePwd
attribute has a dual use, holding the nt style MD4 hases for DRS
replication, but holding a UTF-16 plaintext password for a LDAP
modify.
This patch copes with the ldap unicodePwd modify by recognising the
format and creating the correct attributes on the fly. Note that this
assumes we will never get a unicodePwd attribute set in NT MD4 format
with the first 2 and last 2 bytes set to 0x22 0x00.
Andrew Bartlett is looking at a more robust solution, possibly using a
flag to say that this modify came via ldap, and not internal ldb
calls.
Andrew Tridgell [Tue, 10 Feb 2009 06:28:05 +0000 (17:28 +1100)]
fixed two problems with the DsRGetDCNameEx2 call, as used by
Win7-beta.
The first problem is that we removed the dnsDomain attribute a while
back, so we were returning NULL for two fields. We now return the
realm.
The second problem is that Win7-beta sends the domain in the form the
user typed it, so it may be in either the short or long form. We check
for the short form and convert if needed.
todd stecher [Mon, 9 Feb 2009 07:43:21 +0000 (23:43 -0800)]
S3: Various fixes for log2pcaphex utility
Tim Prouty [Tue, 10 Feb 2009 00:12:20 +0000 (16:12 -0800)]
s3 spoolss: arch needs to be set before it's passed to get_version_id.
7717ad688099860fa0989ed3582435404fd6d4fa left arch unitialized.
Guenther, please check.
Michael Adam [Mon, 9 Feb 2009 22:24:31 +0000 (23:24 +0100)]
Revert "s3:winbindd_user: create domain connection in winbindd_fill_pwent if necessary."
This reverts commit
487f5e7b4768cfe9e511b0ba56f16c411e21f702.
I was confused about the real meaning of find_domain_from_name_noinit()
vs. find_domain_from_name(). We don't need the connection established
here, just the domain struct which gets initialized by rescan_trusted_domains().
Sorry for the noise.
Michael
Jelmer Vernooij [Mon, 9 Feb 2009 22:29:41 +0000 (23:29 +0100)]
Revert "Fix errornos assumption that all compilers are gcc"
This breaks (some?) files with gcc.
This reverts commit
98a4327b19e83ffad4e0be7e8895fdbd9e48d49f.
Günther Deschner [Mon, 9 Feb 2009 21:30:54 +0000 (22:30 +0100)]
s3-spoolss: remove old spoolss_ScheduleJob.
Guenther
Günther Deschner [Mon, 9 Feb 2009 21:30:23 +0000 (22:30 +0100)]
s3-spoolss: use pidl for _spoolss_ScheduleJob.
Guenther
Günther Deschner [Mon, 9 Feb 2009 21:12:38 +0000 (22:12 +0100)]
s3-spoolss: remove old spoolss_AddJob.
Guenther
Günther Deschner [Mon, 9 Feb 2009 21:12:15 +0000 (22:12 +0100)]
s3-spoolss: use pidl for _spoolss_AddJob.
Guenther
Günther Deschner [Mon, 9 Feb 2009 21:11:25 +0000 (22:11 +0100)]
s3: re-run make samba3-idl.
Guenther
Günther Deschner [Mon, 9 Feb 2009 21:30:07 +0000 (22:30 +0100)]
spoolss: fill in spoolss_ScheduleJob.
Guenther
Günther Deschner [Mon, 9 Feb 2009 21:10:47 +0000 (22:10 +0100)]
spoolss: fill in spoolss_AddJob.
Guenther
Tim Prouty [Mon, 9 Feb 2009 17:36:40 +0000 (09:36 -0800)]
s3 async: Fix the build on systems that have ETIMEDOUT but not ETIME
Fallback on EAGAIN
todd stecher [Mon, 9 Feb 2009 07:12:02 +0000 (23:12 -0800)]
S3 OneFS: Add in Isilon specific performance counter module
todd stecher [Mon, 9 Feb 2009 07:10:34 +0000 (23:10 -0800)]
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.
Torgeir Lerkerod [Mon, 9 Feb 2009 20:11:13 +0000 (21:11 +0100)]
Fix errornos assumption that all compilers are gcc
When compiling Samba 4's IDL files buildsystem assumes that compiler
knows about -xc, which is a gcc spesefic switch as this switch isn't
needed on gcc either the flag was uneeded and can be removed. Thus no
warnings on non gcc systems.
Signed-off-by: Torgeir Lerkerod <Torgeir.Lerkerod@gmail.com>
Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
Karolin Seeger [Mon, 9 Feb 2009 20:00:47 +0000 (21:00 +0100)]
docs: Add man sharesec.
Karolin
Volker Lendecke [Mon, 9 Feb 2009 19:18:57 +0000 (20:18 +0100)]
Attempt to fix the build
Jelmer Vernooij [Mon, 9 Feb 2009 18:44:50 +0000 (19:44 +0100)]
Merge branch 'master' of ssh://git.samba.org/data/git/samba
Jelmer Vernooij [Mon, 9 Feb 2009 18:43:52 +0000 (19:43 +0100)]
Fix warning in spoolss IDL file output.
Jelmer Vernooij [Mon, 9 Feb 2009 18:43:06 +0000 (19:43 +0100)]
Rerun pidl.
Günther Deschner [Mon, 9 Feb 2009 14:00:49 +0000 (15:00 +0100)]
s3-spoolss: remove old rpccli_spoolss_routerreplyprinter.
Guenther
Günther Deschner [Mon, 9 Feb 2009 12:35:05 +0000 (13:35 +0100)]
s3-spoolss: remove old spoolss_ReplyClosePrinter.
Guenther
Günther Deschner [Mon, 9 Feb 2009 12:34:35 +0000 (13:34 +0100)]
s3-spoolss: use rpccli_spoolss_ReplyClosePrinter.
Guenther
Günther Deschner [Mon, 9 Feb 2009 14:32:34 +0000 (15:32 +0100)]
s3-spoolss: remove old spoolss_AddPrintProcessor.
Guenther
Günther Deschner [Mon, 9 Feb 2009 14:31:35 +0000 (15:31 +0100)]
s3-spoolss: use pidl for _spoolss_AddPrintProcessor.
Guenther
Günther Deschner [Mon, 9 Feb 2009 18:02:56 +0000 (19:02 +0100)]
s3-rpcclient: remove a pointless fstring.
Guenther
Günther Deschner [Mon, 9 Feb 2009 17:10:18 +0000 (18:10 +0100)]
s3-rpcclient: use srv_name_slash instead of formating servername again and again.
Guenther
Karolin Seeger [Mon, 9 Feb 2009 18:05:20 +0000 (19:05 +0100)]
s4/wrepl_server: Fix typo in comment.
Karolin
Jelmer Vernooij [Mon, 9 Feb 2009 17:39:27 +0000 (18:39 +0100)]
Remove an invalid discard_const_p() - it masks an actual
bug in pidl where pidl uses "const" in a struct where there should not be
const.
There is only a single place in the Samba codebase where this triggers a
warning.
Jelmer Vernooij [Mon, 9 Feb 2009 16:50:35 +0000 (17:50 +0100)]
Use discard_const_p rather than CONST_DISCARD.
Jelmer Vernooij [Mon, 9 Feb 2009 16:48:30 +0000 (17:48 +0100)]
Revert "s3/s4: Move CONST_DISCARD into lib/util so it's available from s3 and s4"
lib/util already has discard_const_p.
This reverts commit
0cb430c22e9c0af2248fbc15ce97a4d760df189d.
Jelmer Vernooij [Mon, 9 Feb 2009 15:51:46 +0000 (16:51 +0100)]
Merge branch 'master' of ssh://git.samba.org/data/git/samba
Günther Deschner [Mon, 9 Feb 2009 13:54:02 +0000 (14:54 +0100)]
s3: re-run make samba3-idl.
Guenther
Günther Deschner [Mon, 9 Feb 2009 14:22:37 +0000 (15:22 +0100)]
s3-spoolss: move PRINTER_ENUM_ICONMASK to IDL.
Guenther
Günther Deschner [Mon, 9 Feb 2009 14:21:30 +0000 (15:21 +0100)]
s3-spoolss: use PRINTER_ENUM_NAME and remove double enum define.
Guenther
Günther Deschner [Mon, 9 Feb 2009 13:54:20 +0000 (14:54 +0100)]
s3-spoolss: remove PRINTER_CHANGE* flags now defined in IDL.
Guenther
Günther Deschner [Mon, 9 Feb 2009 14:28:54 +0000 (15:28 +0100)]
spoolss: fill in spoolss_AddPrintProcessor.
Guenther
Günther Deschner [Mon, 9 Feb 2009 14:53:07 +0000 (15:53 +0100)]
spoolss: fill in spoolss_RouterReplyPrinter.
Guenther
Günther Deschner [Mon, 9 Feb 2009 13:53:31 +0000 (14:53 +0100)]
spoolss: add spoolss_PrinterChangeFlags.
Guenther
Derrell Lipman [Mon, 9 Feb 2009 14:53:44 +0000 (09:53 -0500)]
eliminate compiler warnings
Michael Adam [Mon, 9 Feb 2009 12:50:31 +0000 (13:50 +0100)]
s3:winbindd_user: create domain connection in winbindd_fill_pwent if necessary.
Calling find_domain_from_name_noinit() might not be enough here.
This makes winbindd_getpwent() behave the same as winbindd_getgrent().
Michael
Michael Adam [Mon, 9 Feb 2009 10:07:11 +0000 (11:07 +0100)]
s3:winbindd_user: fix a debug message.
find_domain_from_name_noinit() is no longer called only for
name alias support.
Michael
Stefan Metzmacher [Mon, 9 Feb 2009 12:31:03 +0000 (13:31 +0100)]
testprogs/win32: add an option to trigger small reads in npecho_client2.c
metze
Günther Deschner [Mon, 9 Feb 2009 12:03:23 +0000 (13:03 +0100)]
s3-spoolss: remove old _spoolss_FindClosePrinterNotify.
Guenther
Günther Deschner [Mon, 9 Feb 2009 12:03:07 +0000 (13:03 +0100)]
s3-spoolss: use pidl for _spoolss_FindClosePrinterNotify.
Guenther
Günther Deschner [Mon, 9 Feb 2009 11:40:12 +0000 (12:40 +0100)]
s3-spoolss: remove whitespace in printing code.
Guenther
Volker Lendecke [Mon, 9 Feb 2009 11:32:16 +0000 (12:32 +0100)]
Fix count in _srvsvc_NetDiskEnum()
Without this, remotely adding a share via MMC fails
Günther Deschner [Mon, 9 Feb 2009 10:14:41 +0000 (11:14 +0100)]
s3-spoolss: remove old _spoolss_DeletePrinterDriverEx.
Guenther
Günther Deschner [Mon, 9 Feb 2009 10:14:00 +0000 (11:14 +0100)]
s3-rpcclient: use rpccli_spoolss_DeletePrinterDriverEx.
Guenther
Günther Deschner [Mon, 9 Feb 2009 10:13:10 +0000 (11:13 +0100)]
s3-spoolss: use pidl for _spoolss_DeletePrinterDriverEx.
Guenther
Günther Deschner [Mon, 9 Feb 2009 00:50:04 +0000 (01:50 +0100)]
s3-spoolss: remove old spoolss_DeletePrinterDriver.
Guenther
Günther Deschner [Mon, 9 Feb 2009 00:49:40 +0000 (01:49 +0100)]
s3-rpcclient: use rpccli_spoolss_DeletePrinterDriver.
Guenther
Günther Deschner [Mon, 9 Feb 2009 00:49:19 +0000 (01:49 +0100)]
s3-spools: use pidl for _spoolss_DeletePrinterDriver.
Guenther
Günther Deschner [Mon, 9 Feb 2009 00:33:16 +0000 (01:33 +0100)]
s3-spoolss: remove old _spoolss_DeletePrinterKey.
Guenther
Günther Deschner [Mon, 9 Feb 2009 00:33:00 +0000 (01:33 +0100)]
s3-spoolss: use pidl for _spoolss_DeletePrinterKey.
Guenther
Günther Deschner [Mon, 9 Feb 2009 00:18:20 +0000 (01:18 +0100)]
s3-spoolss: remove old _spoolss_DeletePrinterData.
Guenther
Günther Deschner [Mon, 9 Feb 2009 00:17:57 +0000 (01:17 +0100)]
s3-spoolss: use pidl for _spoolss_DeletePrinterData.
Guenther
Günther Deschner [Mon, 9 Feb 2009 00:11:37 +0000 (01:11 +0100)]
s3-spoolss: remove old _spoolss_DeletePrinterDataEx.
Guenther
Günther Deschner [Mon, 9 Feb 2009 00:11:18 +0000 (01:11 +0100)]
s3-spoolss: use pidl for _spoolss_DeletePrinterDataEx.
Guenther
Günther Deschner [Mon, 9 Feb 2009 11:32:09 +0000 (12:32 +0100)]
s3-spoolss: remove SPOOLSS_DELETEPRINTERDRIVEREX flags now defined in IDL.
Guenther
Günther Deschner [Mon, 9 Feb 2009 10:11:28 +0000 (11:11 +0100)]
s3: re-run make samba3-idl.
Guenther
Günther Deschner [Mon, 9 Feb 2009 10:11:01 +0000 (11:11 +0100)]
spoolss: fill in spoolss_DeletePrinterDriverEx IDL.
Guenther
Kai Blin [Mon, 9 Feb 2009 11:11:43 +0000 (12:11 +0100)]
async_sock: Map ASYNC_REQ_TIMEOUT to ETIMEDOUT instead of ETIME
Also, fall back to EIO if ETIMEDOUT is not present
Stefan Metzmacher [Mon, 9 Feb 2009 11:09:01 +0000 (12:09 +0100)]
testprogs/win32: make it possible to run in byte or message mode in npecho_server2
metze
Stefan Metzmacher [Mon, 9 Feb 2009 10:56:05 +0000 (11:56 +0100)]
s4:Makefile: fix PUBLIC_HEADERS typo
metze
Stefan Metzmacher [Mon, 9 Feb 2009 10:54:34 +0000 (11:54 +0100)]
testprogs/win32: add npecho_*2.c
This exlores some details of message type named pipes.
metze
Günther Deschner [Mon, 9 Feb 2009 00:32:28 +0000 (01:32 +0100)]
s3: re-run make samba3-idl.
Guenther
Günther Deschner [Mon, 9 Feb 2009 00:48:34 +0000 (01:48 +0100)]
spoolss: fix spoolss_DeletePrinterDriver IDL.
Guenther
Günther Deschner [Mon, 9 Feb 2009 00:32:02 +0000 (01:32 +0100)]
spoolss: fill in spoolss_DeletePrinterKey IDL.
Guenther
Günther Deschner [Sun, 8 Feb 2009 22:13:45 +0000 (23:13 +0100)]
s3-spoolss: remove old _spoolss_GetForm.
Guenther
Günther Deschner [Sun, 8 Feb 2009 22:12:25 +0000 (23:12 +0100)]
s3-spoolss: use pidl for _spoolss_GetForm.
Guenther
Günther Deschner [Sun, 8 Feb 2009 22:11:28 +0000 (23:11 +0100)]
s3-spoolss: add fill_form_info_1.
Guenther
Günther Deschner [Sun, 8 Feb 2009 18:51:20 +0000 (19:51 +0100)]
s3-rpcclient: use rpccli_spoolss_GetForm.
Guenther
Günther Deschner [Sun, 8 Feb 2009 18:24:39 +0000 (19:24 +0100)]
s3-spoolss: restore delete_a_form().
Guenther
Günther Deschner [Sun, 8 Feb 2009 18:21:26 +0000 (19:21 +0100)]
s3-spoolss: remove old _spoolss_SetForm.
Guenther
Günther Deschner [Sun, 8 Feb 2009 18:19:57 +0000 (19:19 +0100)]
s3-spoolss: use pidl for _spoolss_SetForm.
Guenther
Günther Deschner [Sun, 8 Feb 2009 18:19:20 +0000 (19:19 +0100)]
s3-rpcclient: use rpccli_spoolss_SetForm.
Guenther
Günther Deschner [Sat, 7 Feb 2009 23:04:48 +0000 (00:04 +0100)]
s3-spoolss: remove old spoolss_AddForm.
Guenther
Günther Deschner [Sat, 7 Feb 2009 23:04:27 +0000 (00:04 +0100)]
s3-spoolss: use pidl for spoolss_AddForm.
Guenther
Günther Deschner [Sat, 7 Feb 2009 23:03:00 +0000 (00:03 +0100)]
s3-spoolss: use rpccli_spoolss_AddForm in net and rpcclient.
Guenther
Günther Deschner [Sun, 8 Feb 2009 23:06:36 +0000 (00:06 +0100)]
s3-rpcclient: fix getform command asprintf return code.
Guenther
todd stecher [Thu, 29 Jan 2009 16:08:35 +0000 (08:08 -0800)]
s3 OneFS: Fake Timestamps
This checkin enables setting arbitrary timestamps on files matching
the pattern stored in smb.conf. This was a customer request for a
specific workflow.
Changes include:
1) configuration state machine to avoid tons of string comparisons on
each and every stat.
2) Code to adjust post-stat() times to match time now, or sloptime +
time now.
Björn Jacke [Fri, 30 Jan 2009 16:28:18 +0000 (17:28 +0100)]
look for nanosleep in librt, some Unix flavours have it there
Kai Blin [Wed, 4 Feb 2009 08:07:36 +0000 (09:07 +0100)]
async_sock: Use unix errnos instead of NTSTATUS
This also switches wb_reqtrans to use wbcErr instead of NTSTATUS as it would
be pointless to convert to errno first and to wbcErr later.
Volker Lendecke [Sat, 7 Feb 2009 22:36:50 +0000 (23:36 +0100)]
Make prs_struct->out_data.current_pdu dynamically allocated
Another 4k per open pipe
Volker Lendecke [Sat, 7 Feb 2009 22:36:23 +0000 (23:36 +0100)]
Most RPC requests do not need a full fragment, start smaller
Volker Lendecke [Sat, 7 Feb 2009 18:00:50 +0000 (19:00 +0100)]
Fix some nonempty blank lines
Volker Lendecke [Sat, 7 Feb 2009 17:46:30 +0000 (18:46 +0100)]
Fix memleaks in chain_reply for async requests