ira/wip.git
11 years agos3: Implement wbcGetpwsid
Dan Sledz [Tue, 10 Feb 2009 19:06:44 +0000 (11:06 -0800)]
s3: Implement wbcGetpwsid

* Adds the plumbing required to lookup users by sid into winbind, wbinfo
  and smbd helper lib (winbind_util.c).
* Removes some double declarations of winbind_util.c functions.
* Bumps the winbind protocol version to 21 and the minor version of
  wbclient to 3.

11 years agoFix double free caused by incorrect talloc_steal usage.
Dan Sledz [Sun, 8 Feb 2009 19:40:26 +0000 (11:40 -0800)]
Fix double free caused by incorrect talloc_steal usage.

11 years agoAdded nsswitch/ object files to make clean
Steven Danneman [Thu, 12 Feb 2009 00:06:18 +0000 (16:06 -0800)]
Added nsswitch/ object files to make clean

* also removed duplicate paths to lib directories in make clean

11 years agos3-spoolss: remove duplicate PRINTER_NOTIFY_INFO_DISCARDED define.
Günther Deschner [Wed, 11 Feb 2009 23:42:59 +0000 (00:42 +0100)]
s3-spoolss: remove duplicate PRINTER_NOTIFY_INFO_DISCARDED define.

Guenther

11 years agos3: re-run make samba3-idl.
Günther Deschner [Wed, 11 Feb 2009 23:54:40 +0000 (00:54 +0100)]
s3: re-run make samba3-idl.

Guenther

11 years agospoolss: fill in spoolss_RouterReplyPrinterEx.
Günther Deschner [Wed, 11 Feb 2009 21:07:26 +0000 (22:07 +0100)]
spoolss: fill in spoolss_RouterReplyPrinterEx.

Guenther

11 years agos4-smbtorture: fix the build of the ndr spoolss tester.
Günther Deschner [Wed, 11 Feb 2009 22:36:43 +0000 (23:36 +0100)]
s4-smbtorture: fix the build of the ndr spoolss tester.

Guenther

11 years agos3-spoolss: use SPOOLSS_PRINTER_CONTROL flags defined in IDL.
Günther Deschner [Wed, 11 Feb 2009 14:26:00 +0000 (15:26 +0100)]
s3-spoolss: use SPOOLSS_PRINTER_CONTROL flags defined in IDL.

Guenther

11 years agos3: remove old copy of SPOOLSS_ADDPRINTERDRIVEREX flags.
Günther Deschner [Wed, 11 Feb 2009 12:08:44 +0000 (13:08 +0100)]
s3: remove old copy of SPOOLSS_ADDPRINTERDRIVEREX flags.

Guenther

11 years agos3: re-run make samba3-idl.
Günther Deschner [Wed, 11 Feb 2009 12:08:11 +0000 (13:08 +0100)]
s3: re-run make samba3-idl.

Guenther

11 years agospoolss: add spoolss_AddPrinterDriverExFlags.
Günther Deschner [Wed, 11 Feb 2009 12:07:45 +0000 (13:07 +0100)]
spoolss: add spoolss_AddPrinterDriverExFlags.

Guenther

11 years agos3:packaging: fix parsing of include.h in fill-templates
Michael Adam [Wed, 11 Feb 2009 21:27:48 +0000 (22:27 +0100)]
s3:packaging: fix parsing of include.h in fill-templates

The content has changed slightly in master for the merged build,
and we must be more exact when parsing the lines.

Michael

11 years agos3:packaging: fix path to calling update-pkginfo after pushd in fill-templates
Michael Adam [Wed, 11 Feb 2009 21:25:41 +0000 (22:25 +0100)]
s3:packaging: fix path to calling update-pkginfo after pushd in fill-templates

Michael

11 years agos3:packaging: paths cosmetics in fill-templates
Michael Adam [Wed, 11 Feb 2009 21:24:52 +0000 (22:24 +0100)]
s3:packaging: paths cosmetics in fill-templates

Michael

11 years agos3-spoolss: Fix uninitialised variable warning.
Günther Deschner [Wed, 11 Feb 2009 21:34:41 +0000 (22:34 +0100)]
s3-spoolss: Fix uninitialised variable warning.

Guenther

11 years agos4-spoolss: fix rpc_server stub names for opnum 0x42 and 0x43.
Günther Deschner [Wed, 11 Feb 2009 21:06:45 +0000 (22:06 +0100)]
s4-spoolss: fix rpc_server stub names for opnum 0x42 and 0x43.

Guenther

11 years agos3-spoolss: fix rpc_server stub names for opnum 0x42 and 0x43.
Günther Deschner [Wed, 11 Feb 2009 21:05:18 +0000 (22:05 +0100)]
s3-spoolss: fix rpc_server stub names for opnum 0x42 and 0x43.

Guenther

11 years agos3: re-run make samba3-idl.
Günther Deschner [Wed, 11 Feb 2009 21:12:56 +0000 (22:12 +0100)]
s3: re-run make samba3-idl.

Guenther

11 years agospoolss: fix name mismatch for opnum 0x42 (66).
Günther Deschner [Wed, 11 Feb 2009 20:51:39 +0000 (21:51 +0100)]
spoolss: fix name mismatch for opnum 0x42 (66).

opnum 0x42 is spoolss_RouterReplyPrinterEx and *not*
spoolss_RouterRefreshPrinterChangeNotification.

Guenther

11 years agospoolss: fix name mismatch for opnum 0x43 (67).
Günther Deschner [Wed, 11 Feb 2009 20:42:19 +0000 (21:42 +0100)]
spoolss: fix name mismatch for opnum 0x43 (67).

opnum 0x43 is spoolss_RouterRefreshPrinterChangeNotify and *not*
spoolss_RemoteFindNextPrinterChangeNotifyEx

Guenther

11 years agos3 OneFS: Expand the usage of the ignore sacl parameter
todd stecher [Wed, 11 Feb 2009 17:52:02 +0000 (09:52 -0800)]
s3 OneFS: Expand the usage of the ignore sacl parameter

11 years agos4 torture: Smbtorture additions for Windows BRL
Zack Kirsch [Tue, 10 Feb 2009 05:58:50 +0000 (21:58 -0800)]
s4 torture: Smbtorture additions for Windows BRL

- Adds a few new BRL tests to RAW-LOCK
- Adds a "win7" target to allow torture to handle protocol changes in
  windows 7

11 years agos4 torture: Two minor fixes to smbtorture BRL tests.
Zack Kirsch [Tue, 10 Feb 2009 05:59:40 +0000 (21:59 -0800)]
s4 torture: Two minor fixes to smbtorture BRL tests.

11 years agoenable IPv6 support for NetBSD, FreeBSD
Björn Jacke [Wed, 11 Feb 2009 15:34:02 +0000 (16:34 +0100)]
enable IPv6 support for NetBSD, FreeBSD

most systems include netinet/in.h via netdb.h but *BSD don't.

11 years agoUse convenience function for finding setup dir in SaMDB tests.
Jelmer Vernooij [Wed, 11 Feb 2009 17:45:51 +0000 (18:45 +0100)]
Use convenience function for finding setup dir in SaMDB tests.

11 years agoUse convenience function for finding setup_dir based on location of
Jelmer Vernooij [Wed, 11 Feb 2009 17:44:57 +0000 (18:44 +0100)]
Use convenience function for finding setup_dir based on location of
python module.

11 years agoMove some samdb-specific code out of provision.
Jelmer Vernooij [Wed, 11 Feb 2009 17:31:52 +0000 (18:31 +0100)]
Move some samdb-specific code out of provision.

11 years agoMake it possible to override the setup path.
Jelmer Vernooij [Wed, 11 Feb 2009 17:17:00 +0000 (18:17 +0100)]
Make it possible to override the setup path.

11 years agoCancel transactions when exceptions are raised.
Jelmer Vernooij [Wed, 11 Feb 2009 16:54:58 +0000 (17:54 +0100)]
Cancel transactions when exceptions are raised.

11 years ago--interactive doesn't take any argument.
Jelmer Vernooij [Wed, 11 Feb 2009 15:58:00 +0000 (16:58 +0100)]
--interactive doesn't take any argument.

11 years agoFix Coverity ID 519 (NEGATIVE_RETURNS)
Volker Lendecke [Wed, 11 Feb 2009 11:00:19 +0000 (12:00 +0100)]
Fix Coverity ID 519 (NEGATIVE_RETURNS)

11 years agos3:build: some implementations of "ln" are picky about the order of arguments
Michael Adam [Wed, 11 Feb 2009 10:02:05 +0000 (11:02 +0100)]
s3:build: some implementations of "ln" are picky about  the order of arguments

Michael

11 years agos3: re-run make samba3-idl.
Günther Deschner [Wed, 11 Feb 2009 09:20:34 +0000 (10:20 +0100)]
s3: re-run make samba3-idl.

Guenther

11 years agospoolss: fill in spoolss_AddPrinterDriverEx. This is metze's work from 2005 (!).
Günther Deschner [Wed, 11 Feb 2009 09:15:56 +0000 (10:15 +0100)]
spoolss: fill in spoolss_AddPrinterDriverEx. This is metze's work from 2005 (!).

Guenther

11 years agospoolss: fill in spoolss_AddPrinterDriver. This is metze's work from 2005 (!).
Günther Deschner [Wed, 11 Feb 2009 09:13:48 +0000 (10:13 +0100)]
spoolss: fill in spoolss_AddPrinterDriver. This is metze's work from 2005 (!).

Guenther

11 years agoOnly assign argv[1] after the argc check, thanks Tim!
Volker Lendecke [Wed, 11 Feb 2009 08:35:05 +0000 (09:35 +0100)]
Only assign argv[1] after the argc check, thanks Tim!

11 years agoFix an uninitialized variable
Volker Lendecke [Wed, 11 Feb 2009 07:42:29 +0000 (08:42 +0100)]
Fix an uninitialized variable

11 years agos3: Remove some unused vars
Tim Prouty [Wed, 11 Feb 2009 06:16:26 +0000 (22:16 -0800)]
s3: Remove some unused vars

11 years agos4 torture: Change nttransrename to use a normal access mask
Tim Prouty [Wed, 11 Feb 2009 00:51:47 +0000 (16:51 -0800)]
s4 torture: Change nttransrename to use a normal access mask

batch9 already tests for stat-only opens

11 years agopackaging: make update-pkginfo callable from any directory
Michael Adam [Tue, 10 Feb 2009 22:52:40 +0000 (23:52 +0100)]
packaging: make update-pkginfo callable from any directory

Michael

11 years agopackaging: remove commented out stuff from update-pkginfo
Michael Adam [Tue, 10 Feb 2009 22:50:14 +0000 (23:50 +0100)]
packaging: remove commented out stuff from update-pkginfo

Michael

11 years agopackaging: don't clutter the output of fillup-templates with popd output
Michael Adam [Tue, 10 Feb 2009 22:31:52 +0000 (23:31 +0100)]
packaging: don't clutter the output of fillup-templates  with popd output

Michael

11 years agopackaging: fix fill-templates call to update-pkginfo to pushd appropriately first
Michael Adam [Tue, 10 Feb 2009 22:30:48 +0000 (23:30 +0100)]
packaging: fix fill-templates call to update-pkginfo to pushd appropriately first

Michael

11 years agopackaging: fix source dir to source3 in fill-templates
Michael Adam [Tue, 10 Feb 2009 22:10:23 +0000 (23:10 +0100)]
packaging: fix source dir to source3 in fill-templates

Michael

11 years agos3-rpcclient: use one macro for all printername formats.
Günther Deschner [Tue, 10 Feb 2009 14:11:29 +0000 (15:11 +0100)]
s3-rpcclient: use one macro for all printername formats.

Guenther

11 years agos3-spoolss: remove more whitespace.
Günther Deschner [Tue, 10 Feb 2009 12:55:03 +0000 (13:55 +0100)]
s3-spoolss: remove more whitespace.

Guenther

11 years agos3-spoolss: remove devmode fields from include file.
Günther Deschner [Tue, 10 Feb 2009 12:54:39 +0000 (13:54 +0100)]
s3-spoolss: remove devmode fields from include file.

Guenther

11 years agos3: re-run make samba3-idl.
Günther Deschner [Tue, 10 Feb 2009 12:54:20 +0000 (13:54 +0100)]
s3: re-run make samba3-idl.

Guenther

11 years agospoolss: add spoolss_DeviceModeFields bitmap.
Günther Deschner [Tue, 10 Feb 2009 12:53:54 +0000 (13:53 +0100)]
spoolss: add spoolss_DeviceModeFields bitmap.

Guenther

11 years agos4-spoolss: fix dcerpc_spoolss_ReplyOpenPrinter caller.
Günther Deschner [Mon, 9 Feb 2009 14:50:34 +0000 (15:50 +0100)]
s4-spoolss: fix dcerpc_spoolss_ReplyOpenPrinter caller.

Guenther

11 years agos3-spoolss: remove old spoolss_ReplyOpenPrinter.
Günther Deschner [Mon, 9 Feb 2009 14:16:25 +0000 (15:16 +0100)]
s3-spoolss: remove old spoolss_ReplyOpenPrinter.

Guenther

11 years agos4-smbtorture: fix SPOOLSS test w.r.t. spoolss_ReplyOpenPrinter.
Günther Deschner [Mon, 9 Feb 2009 14:15:46 +0000 (15:15 +0100)]
s4-smbtorture: fix SPOOLSS test w.r.t. spoolss_ReplyOpenPrinter.

Guenther

11 years agos3-spoolss: use rpccli_spoolss_ReplyOpenPrinter.
Günther Deschner [Mon, 9 Feb 2009 14:15:26 +0000 (15:15 +0100)]
s3-spoolss: use rpccli_spoolss_ReplyOpenPrinter.

Guenther

11 years agos3: re-run make samba3-idl.
Günther Deschner [Mon, 9 Feb 2009 14:14:52 +0000 (15:14 +0100)]
s3: re-run make samba3-idl.

Guenther

11 years agospoolss: fix spoolss_ReplyOpenPrinter IDL.
Günther Deschner [Mon, 9 Feb 2009 14:14:30 +0000 (15:14 +0100)]
spoolss: fix spoolss_ReplyOpenPrinter IDL.

Guenther

11 years agoS3: Add in missing full audit entries.
todd stecher [Tue, 10 Feb 2009 20:14:39 +0000 (12:14 -0800)]
S3: Add in missing full audit entries.

11 years agoS3: Fixes for coverity issues.
todd stecher [Mon, 9 Feb 2009 21:25:59 +0000 (13:25 -0800)]
S3: Fixes for coverity issues.

11 years agoRemove an unused extern reference
Volker Lendecke [Sun, 8 Feb 2009 13:24:22 +0000 (14:24 +0100)]
Remove an unused extern reference

11 years agoConvert api_NetUserGetGroups to use samr instead of pdb
Volker Lendecke [Sun, 8 Feb 2009 13:20:17 +0000 (14:20 +0100)]
Convert api_NetUserGetGroups to use samr instead of pdb

11 years agoFix some nonempty blank lines
Volker Lendecke [Thu, 5 Feb 2009 14:53:04 +0000 (15:53 +0100)]
Fix some nonempty blank lines

11 years agoDo not use strlen if not necessary... :-)
Volker Lendecke [Sun, 1 Feb 2009 19:47:59 +0000 (20:47 +0100)]
Do not use strlen if not necessary... :-)

11 years agoIf we receive a DOS error code, nt_errstr should display it
Volker Lendecke [Sun, 1 Feb 2009 16:17:37 +0000 (17:17 +0100)]
If we receive a DOS error code, nt_errstr should display it

11 years agopackaging: add script fill-templates
Michael Adam [Tue, 10 Feb 2009 17:54:16 +0000 (18:54 +0100)]
packaging: add script fill-templates

This is a standalone-wrapper for update-pkginfo, which is
usually called from create-tarball. It basically repeats
some functionality of create-tarball.

Michael

11 years agoFix an uninitialized variable. Tim, please check!
Volker Lendecke [Tue, 10 Feb 2009 17:09:12 +0000 (18:09 +0100)]
Fix an uninitialized variable. Tim, please check!

11 years agoAdd queueing to np_write
Volker Lendecke [Tue, 10 Feb 2009 14:28:56 +0000 (15:28 +0100)]
Add queueing to np_write

11 years agoAdd queueing to np_read_state, simulate message-type named pipes.
Volker Lendecke [Mon, 9 Feb 2009 07:10:09 +0000 (08:10 +0100)]
Add queueing to np_read_state, simulate message-type named pipes.

The problem with msg-type pipes is that we have to return short reads when a
message ends before the read request. When reading from the unix domain socket,
the message limits are lost. So we would happily return more than a message,
which confuses for example the s4 rpc client horribly. I'd expect other np rpc
clients also to blow up over this.

The real solution is to properly implement a two-byte length field per message
on the unix domain socket, but this requires more changes there. And as we
right now only serve DCE/RPC over the named pipes, this implements a hack that
looks into the fragment headers to figure out hdr.frag_len.

11 years agoAdd read_pkt_send/recv
Volker Lendecke [Tue, 10 Feb 2009 16:29:02 +0000 (17:29 +0100)]
Add read_pkt_send/recv

11 years agoselftest/Samba4: pass down the kdc address down to provision_raw_*()
Stefan Metzmacher [Tue, 10 Feb 2009 17:00:48 +0000 (18:00 +0100)]
selftest/Samba4: pass down the kdc address down to provision_raw_*()

metze

11 years agoselftest/Samba4: split out ldap specific stuff from provision_raw_*()
Stefan Metzmacher [Tue, 10 Feb 2009 16:55:54 +0000 (17:55 +0100)]
selftest/Samba4: split out ldap specific stuff from provision_raw_*()

metze

11 years agoselftest/Samba4: split out share configurations of provision_raw*()
Stefan Metzmacher [Tue, 10 Feb 2009 16:01:51 +0000 (17:01 +0100)]
selftest/Samba4: split out share configurations of provision_raw*()

metze

11 years agoselftest/Samba4: split provision() into provision_raw_prepare() and provision_raw_run()
Stefan Metzmacher [Wed, 4 Feb 2009 10:18:32 +0000 (11:18 +0100)]
selftest/Samba4: split provision() into provision_raw_prepare() and provision_raw_run()

This functions will be reused soon for a Samba34.pm used by
a 'make selftest34'

metze

11 years agoselftest: s/SMBD/SAMBA/ in Samba.pm
Stefan Metzmacher [Wed, 4 Feb 2009 14:17:14 +0000 (15:17 +0100)]
selftest: s/SMBD/SAMBA/ in Samba.pm

metze

11 years agoselftest: allow "skip" as max runtime for smbd, nmbd and winbindd
Stefan Metzmacher [Wed, 4 Feb 2009 14:16:42 +0000 (15:16 +0100)]
selftest: allow "skip" as max runtime for smbd, nmbd and winbindd

metze

11 years agoselftest: Samba3 protect against removing /*
Stefan Metzmacher [Wed, 4 Feb 2009 10:26:46 +0000 (11:26 +0100)]
selftest: Samba3 protect against removing /*

metze

11 years agoselftest: add target::Template
Stefan Metzmacher [Wed, 4 Feb 2009 10:21:29 +0000 (11:21 +0100)]
selftest: add target::Template

metze

11 years agomerged-build: pass PYTHON and PERL down to make test4
Stefan Metzmacher [Wed, 4 Feb 2009 10:20:39 +0000 (11:20 +0100)]
merged-build: pass PYTHON and PERL down to make test4

metze

11 years agoselftest: add my copyright
Stefan Metzmacher [Wed, 4 Feb 2009 10:20:14 +0000 (11:20 +0100)]
selftest: add my copyright

metze

11 years agos3-spoolss: remove old spoolss_OpenPrinter.
Günther Deschner [Tue, 10 Feb 2009 00:58:46 +0000 (01:58 +0100)]
s3-spoolss: remove old spoolss_OpenPrinter.

Guenther

11 years agos3-spoolss: use pidl for _spoolss_OpenPrinter.
Günther Deschner [Tue, 10 Feb 2009 00:48:18 +0000 (01:48 +0100)]
s3-spoolss: use pidl for _spoolss_OpenPrinter.

Guenther

11 years agos3-spoolss: remove old spoolss_OpenPrinterEx.
Günther Deschner [Tue, 10 Feb 2009 00:53:32 +0000 (01:53 +0100)]
s3-spoolss: remove old spoolss_OpenPrinterEx.

Guenther

11 years agos3-spoolss: use pidl for _spoolss_OpenPrinterEx.
Günther Deschner [Tue, 10 Feb 2009 00:43:25 +0000 (01:43 +0100)]
s3-spoolss: use pidl for _spoolss_OpenPrinterEx.

Guenther

11 years agos3-spoolss: remove old spoolss_SetJob.
Günther Deschner [Mon, 9 Feb 2009 23:21:53 +0000 (00:21 +0100)]
s3-spoolss: remove old spoolss_SetJob.

Guenther

11 years agos3-spoolss: use pidl for _spoolss_SetJob.
Günther Deschner [Mon, 9 Feb 2009 23:21:26 +0000 (00:21 +0100)]
s3-spoolss: use pidl for _spoolss_SetJob.

Guenther

11 years agos3-spoolss: remove old spoolss_StartDocPrinter.
Günther Deschner [Mon, 9 Feb 2009 22:31:35 +0000 (23:31 +0100)]
s3-spoolss: remove old spoolss_StartDocPrinter.

Guenther

11 years agos3-spoolss: use pidl for _spoolss_StartDocPrinter.
Günther Deschner [Mon, 9 Feb 2009 22:28:34 +0000 (23:28 +0100)]
s3-spoolss: use pidl for _spoolss_StartDocPrinter.

Guenther

11 years agos3-spoolss: add temporary convert_devicemode_new function.
Günther Deschner [Tue, 10 Feb 2009 00:46:32 +0000 (01:46 +0100)]
s3-spoolss: add temporary convert_devicemode_new function.

Guenther

11 years agos3-spoolss: use SPOOLSS_JOB_CONTROL bits defined in IDL.
Günther Deschner [Mon, 9 Feb 2009 23:08:11 +0000 (00:08 +0100)]
s3-spoolss: use SPOOLSS_JOB_CONTROL bits defined in IDL.

Guenther

11 years agos3-rpcclient: use rpccli_spoolss_openprinter_ex helper.
Günther Deschner [Mon, 9 Feb 2009 17:49:34 +0000 (18:49 +0100)]
s3-rpcclient: use rpccli_spoolss_openprinter_ex helper.

Guenther

11 years agos3-rpcclient: add rpccli_spoolss_openprinter_ex() convenience wrapper.
Günther Deschner [Mon, 9 Feb 2009 16:56:20 +0000 (17:56 +0100)]
s3-rpcclient: add rpccli_spoolss_openprinter_ex() convenience wrapper.

Guenther

11 years agos3-spoolss: fix memleak in get_remote_printer_publishing_data().
Günther Deschner [Tue, 10 Feb 2009 09:45:55 +0000 (10:45 +0100)]
s3-spoolss: fix memleak in get_remote_printer_publishing_data().

Guenther

11 years agos3: OneFS bulk directory enumeration support
Steven Danneman [Tue, 27 Jan 2009 04:14:32 +0000 (20:14 -0800)]
s3: OneFS bulk directory enumeration support

OneFS provides the bulk directory enumeration syscall readdirplus().  This
syscall has the same semantics as the NFSv3 READDIRPLUS command, returning
a batch of directory entries with prefetched stat information via one
syscall.

This commit wraps the readdirplus() call in the existing POSIX
readdir/seekdir VFS interface.  By default a batch of 128 directory entries
are optimistically read from the kernel into a global cache, and fed to
iterative calls of VFS_OP_READDIR.

The global buffers could be avoided in the future by hanging connection
specific buffers off the conn struct.

Added new parameter "onefs:use readdirplus" which toggles usage of this
code on or off.

11 years agos3: Added SMB_VFS_INIT_SEARCH_OP to initialize data at the beginning of SMB search...
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

11 years agoPass stat buffer down through all levels of VFS_READDIR wrappers
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

11 years agoAdd an optional SMB_STRUCT_SMB parameter to VFS_OP_READDIR
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

11 years agos3 OneFS: Change ACLs to do a stat-only open before get/set_security_descriptor
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.

11 years agos3 OneFS: Add kernel oplocks implementation
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.

11 years agos3 oplocks: Remove oplocks before handling delete on close semantics
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.

11 years agos3 oplocks: Add capabilites flags field to the kernel_oplocks struct
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.

11 years agos3 oplocks: Make the level2 oplock contention API more granular
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.

11 years agos3 oplocks: Differentiate between releasing an oplock vs. downgrading to Level 2...
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.