ira/wip.git
15 years agofixed some of the TLS problems
Andrew Tridgell [Wed, 18 Feb 2009 03:46:57 +0000 (14:46 +1100)]
fixed some of the TLS problems

This fixes two things in the TLS support for Samba4. The first is to
use a somewhat more correct hostname instead of 'Samba' when
generating the test certificates. That allows TLS test clients (such
as gnutls-cli) to connect to Samba4 using auto-generated certificates.

The second fix is to add a call to gcry_control() to tell gcrypt to
use /dev/urandom instead of /dev/random (on systems that support
that). That means that test certificate generation is now very fast,
which was previously an impediment to putting the TLS tests on the
build farm.

15 years agoDon't miss an absolute pathname as a kerberos keytab path. From Glenn Machin <gmachin...
Jeremy Allison [Tue, 17 Feb 2009 23:54:33 +0000 (15:54 -0800)]
Don't miss an absolute pathname as a kerberos keytab path. From Glenn Machin <gmachin@sandia.gov>.
Jeremy.

15 years agoFix bug #6117 - Samba 3.3.0: pdbedit -a core dumps.
Jeremy Allison [Tue, 17 Feb 2009 21:43:58 +0000 (13:43 -0800)]
Fix bug #6117 - Samba 3.3.0: pdbedit -a core dumps.
Jeremy.

15 years agoFix warning about missmatch of uint32_t and size_t.
Jeremy Allison [Tue, 17 Feb 2009 21:18:10 +0000 (13:18 -0800)]
Fix warning about missmatch of uint32_t and size_t.
Jeremy.

15 years agodocs: extend the example in the idmp_rid manpage to configure 2 domains with rid
Michael Adam [Tue, 17 Feb 2009 07:59:27 +0000 (08:59 +0100)]
docs: extend the example in the idmp_rid manpage to configure 2 domains with rid

Michael

15 years agodocs: extend the idmap_rid manpage
Michael Adam [Tue, 17 Feb 2009 07:51:39 +0000 (08:51 +0100)]
docs: extend the idmap_rid manpage

Michael

15 years agos3:winbindd: make do_async_domain() static.
Michael Adam [Fri, 13 Feb 2009 15:40:17 +0000 (16:40 +0100)]
s3:winbindd: make do_async_domain() static.

Michael

15 years agos3:build: improve the check for a working krb5-config.
Michael Adam [Fri, 13 Feb 2009 12:02:23 +0000 (13:02 +0100)]
s3:build: improve the check for a working krb5-config.

Not only check if it exists and is executable, but also
check whether it accepts the command line "krb5-config --libs gssapi".

Chris Hoogendyk <hoogendyk@bio.umass.edu> has reported configure
failing on a Solaris machine due to krb5-config raising errors on
these options.

Michael

15 years agos4-smbtorture: fix spoolss test after count out,ref idl changes.
Günther Deschner [Mon, 16 Feb 2009 15:42:21 +0000 (16:42 +0100)]
s4-smbtorture: fix spoolss test after count out,ref idl changes.

Guenther

15 years agos4-spoolss: fix spoolss server after out,ref count pointer changes.
Günther Deschner [Mon, 16 Feb 2009 15:41:48 +0000 (16:41 +0100)]
s4-spoolss: fix spoolss server after out,ref count pointer changes.

Guenther

15 years agospoolss: fix spoolss helper for out ref count pointer.
Günther Deschner [Mon, 16 Feb 2009 15:40:54 +0000 (16:40 +0100)]
spoolss: fix spoolss helper for out ref count pointer.

Guenther

15 years agos3: re-run make samba3-idl.
Günther Deschner [Tue, 17 Feb 2009 15:15:32 +0000 (16:15 +0100)]
s3: re-run make samba3-idl.

Guenther

15 years agospoolss: in enum-calls make [out] count a ref pointer.
Günther Deschner [Mon, 16 Feb 2009 15:25:30 +0000 (16:25 +0100)]
spoolss: in enum-calls make [out] count a ref pointer.

Guenther

15 years agos3-spoolss: remove old spoolss_ResetPrinter.
Günther Deschner [Tue, 17 Feb 2009 03:29:27 +0000 (04:29 +0100)]
s3-spoolss: remove old spoolss_ResetPrinter.

Guenther

15 years agos3-spoolss: use pidl for _spoolss_ResetPrinter.
Günther Deschner [Tue, 17 Feb 2009 03:28:54 +0000 (04:28 +0100)]
s3-spoolss: use pidl for _spoolss_ResetPrinter.

Guenther

15 years agos3: re-run make samba3-idl.
Günther Deschner [Tue, 17 Feb 2009 09:52:04 +0000 (10:52 +0100)]
s3: re-run make samba3-idl.

Guenther

15 years agospoolss: fill in spoolss_ResetPrinter.
Günther Deschner [Tue, 17 Feb 2009 09:47:35 +0000 (10:47 +0100)]
spoolss: fill in spoolss_ResetPrinter.

Guenther

15 years agos3-netapi: fix Coverity #881 and #882.
Günther Deschner [Tue, 17 Feb 2009 09:14:58 +0000 (10:14 +0100)]
s3-netapi: fix Coverity #881 and #882.

Guenther

15 years agoFix an invalid typecasting
Volker Lendecke [Sat, 14 Feb 2009 17:01:20 +0000 (18:01 +0100)]
Fix an invalid typecasting

entry->num_of_strings is a uint16_t. Casting it with

(int *)&entry->num_of_strings

is wrong, because it gives add_string_to_array the illusion that the object
"num" points to is an int, which it is not.

In case we are running on a machine where "int" is 32 or 64 bits long, what
happens with that cast? "add_string_to_array" interprets the byte field that
starts where "num_of_strings" starts as an int. Under very particular
circumstances this might work in a limited number of cases: When the byte order
of an int is such that the lower order bits of the int are stored first, the
subsequent bytes which do not belong to the uint16_t anymore happen to be 0 and
the result of the increment still fits into the first 2 bytes of that int, i.e.
the result is < 65536.

The correct solution to this problem is to use the implicit type conversion
that happens when an assignment is done.

BTW, this bug is found if you compile with -O3 -Wall, it shows up as a warning:

rpc_server/srv_eventlog_lib.c:574: warning: dereferencing type-punned pointer
will break strict-aliasing rules

Thanks,

Volker

15 years agoasync_sock: Use tevent_timeval instead of timeval functions
Kai Blin [Mon, 16 Feb 2009 22:36:21 +0000 (23:36 +0100)]
async_sock: Use tevent_timeval instead of timeval functions

15 years agotevent: Rename ev_timeval* functions to tevent_timeval, export them.
Kai Blin [Mon, 16 Feb 2009 22:34:15 +0000 (23:34 +0100)]
tevent: Rename ev_timeval* functions to tevent_timeval, export them.

Also add tevent_timeval_add() and tevent_timeval_current_ofs()
to help not depending on lub/util/time.c for things that just need tevent

15 years agos3-rpcclient: use rpccli_spoolss_RemoteFindFirstPrinterChangeNotifyEx.
Günther Deschner [Mon, 16 Feb 2009 22:32:31 +0000 (23:32 +0100)]
s3-rpcclient: use rpccli_spoolss_RemoteFindFirstPrinterChangeNotifyEx.

Guenther

15 years agos4-spoolss: fix dcesrv_spoolss_RemoteFindFirstPrinterChangeNotifyEx server.
Günther Deschner [Mon, 16 Feb 2009 23:32:58 +0000 (00:32 +0100)]
s4-spoolss: fix dcesrv_spoolss_RemoteFindFirstPrinterChangeNotifyEx server.

Guenther

15 years agos4-smbtorture: fix spoolss notify test.
Günther Deschner [Mon, 16 Feb 2009 23:32:28 +0000 (00:32 +0100)]
s4-smbtorture: fix spoolss notify test.

Guenther

15 years agos3: re-run make samba3-idl.
Günther Deschner [Mon, 16 Feb 2009 23:22:25 +0000 (00:22 +0100)]
s3: re-run make samba3-idl.

Guenther

15 years agospoolss: fix idl for spoolss_RouterRefreshPrinterChangeNotify.
Günther Deschner [Mon, 16 Feb 2009 22:31:59 +0000 (23:31 +0100)]
spoolss: fix idl for spoolss_RouterRefreshPrinterChangeNotify.

Guenther

15 years agospoolss: change some type names in spoolss_RemoteFindFirstPrinterChangeNotifyEx.
Günther Deschner [Mon, 16 Feb 2009 22:13:22 +0000 (23:13 +0100)]
spoolss: change some type names in spoolss_RemoteFindFirstPrinterChangeNotifyEx.

Guenther

15 years agoFix bug 5920
Yasuma Takeda [Mon, 16 Feb 2009 13:07:37 +0000 (14:07 +0100)]
Fix bug 5920

The length of the memcpy was calculated wrong, r->out.return_authenticator is
a pointer

15 years agos3:netlogon: implement _netr_LogonGetCapabilities() with NT_STATUS_NOT_IMPLEMENTED
Stefan Metzmacher [Mon, 16 Feb 2009 09:20:55 +0000 (10:20 +0100)]
s3:netlogon: implement _netr_LogonGetCapabilities() with NT_STATUS_NOT_IMPLEMENTED

This hopefully fixes bug #6100.

metze

15 years agos4:netlogon: implement netr_LogonGetCapabilities with NT_STATUS_NOT_IMPLEMENTED
Stefan Metzmacher [Mon, 16 Feb 2009 10:00:07 +0000 (11:00 +0100)]
s4:netlogon: implement netr_LogonGetCapabilities with NT_STATUS_NOT_IMPLEMENTED

This hopefully fixes bug #6109.

metze

15 years agolibrpc: rerun make idl
Stefan Metzmacher [Mon, 16 Feb 2009 09:59:45 +0000 (10:59 +0100)]
librpc: rerun make idl

metze

15 years agonetlogon.idl: add idl for netr_LogonGetCapabilities()
Stefan Metzmacher [Mon, 16 Feb 2009 09:42:43 +0000 (10:42 +0100)]
netlogon.idl: add idl for netr_LogonGetCapabilities()

metze

15 years agos4:netlogon: always return correct negotiate_flags in Authenticate[2|3]()
Stefan Metzmacher [Mon, 16 Feb 2009 08:42:24 +0000 (09:42 +0100)]
s4:netlogon: always return correct negotiate_flags in Authenticate[2|3]()

metze

15 years agolibrpc: rerun make idl
Stefan Metzmacher [Mon, 16 Feb 2009 08:41:44 +0000 (09:41 +0100)]
librpc: rerun make idl

metze

15 years agonetlogon.idl: add NETLOGON_REG_SUPPORTS_AES_SHA2 flags and use correct names for...
Stefan Metzmacher [Mon, 16 Feb 2009 08:40:36 +0000 (09:40 +0100)]
netlogon.idl: add NETLOGON_REG_SUPPORTS_AES_SHA2 flags and use correct names for some other flags

metze

15 years agotevent: fix compiler warning in pytevent.c
Stefan Metzmacher [Fri, 13 Feb 2009 18:03:38 +0000 (19:03 +0100)]
tevent: fix compiler warning in pytevent.c

metze

15 years agos3 auth: Add parameter that forces every user through an NSS lookup
Zach Loafman [Sat, 14 Feb 2009 18:20:33 +0000 (18:20 +0000)]
s3 auth: Add parameter that forces every user through an NSS lookup

When set to yes, "force username map" forces every user, even AD
users, through an NSS lookup. This allows the token to be overridden
with information from NSS in certain broken environments.

15 years agos3 perfcount: Fix segfault with smbclient 'echo 3 foo'
Tim Prouty [Sun, 15 Feb 2009 20:36:02 +0000 (12:36 -0800)]
s3 perfcount: Fix segfault with smbclient 'echo 3 foo'

15 years agos3 OneFS: Add defaults to the fake timestamp parameters
Tim Prouty [Sun, 15 Feb 2009 00:10:51 +0000 (16:10 -0800)]
s3 OneFS: Add defaults to the fake timestamp parameters

15 years agomake receive_smb_raw_talloc more readable
Tim Prouty [Tue, 10 Feb 2009 07:43:08 +0000 (23:43 -0800)]
make receive_smb_raw_talloc more readable

15 years agolib/tevent: change to LGPLv3+
Stefan Metzmacher [Mon, 16 Feb 2009 07:52:06 +0000 (08:52 +0100)]
lib/tevent: change to LGPLv3+

metze

15 years agoAttempt to fix bug #6099. According to Microsoft
Jeremy Allison [Mon, 16 Feb 2009 02:12:20 +0000 (18:12 -0800)]
Attempt to fix bug #6099. According to Microsoft
Windows 7 looks at the negotiate_flags
returned in this structure *even if the
call fails with access denied ! So in order
to allow Win7 to connect to a Samba NT style
PDC we set the flags before we know if it's
an error or not.
Jeremy.

15 years agoremove accidental white space
Derrell Lipman [Sun, 15 Feb 2009 03:29:28 +0000 (22:29 -0500)]
remove accidental white space

15 years agoenums are traditionally signed. Avoid use of high bit in bit flags.
Derrell Lipman [Sun, 15 Feb 2009 03:29:11 +0000 (22:29 -0500)]
enums are traditionally signed. Avoid use of high bit in bit flags.

15 years agoGet rid of the warnings I had for testing
Derrell Lipman [Sat, 14 Feb 2009 23:56:33 +0000 (18:56 -0500)]
Get rid of the warnings I had for testing

15 years agoIt seems some systems use f_flags instead of f_flag. Use the appropriate one.
Derrell Lipman [Sat, 14 Feb 2009 21:00:51 +0000 (16:00 -0500)]
It seems some systems use f_flags instead of f_flag. Use the appropriate one.

15 years agoRemove a pointless NULL check
Volker Lendecke [Sat, 14 Feb 2009 17:51:41 +0000 (18:51 +0100)]
Remove a pointless NULL check

15 years agoFix some nonempty blank lines
Volker Lendecke [Sat, 14 Feb 2009 17:49:13 +0000 (18:49 +0100)]
Fix some nonempty blank lines

15 years agoRename lp_smb_perfcount_module() to lp_perfcount_module() to match the parameter...
Volker Lendecke [Sat, 14 Feb 2009 17:25:33 +0000 (18:25 +0100)]
Rename lp_smb_perfcount_module() to lp_perfcount_module() to match the parameter name

15 years agoReplace a // style comment with a /* */ one
Volker Lendecke [Sat, 14 Feb 2009 17:10:54 +0000 (18:10 +0100)]
Replace a // style comment with a /* */ one

15 years agoFix some C++ warnings
Volker Lendecke [Sat, 14 Feb 2009 17:10:20 +0000 (18:10 +0100)]
Fix some C++ warnings

15 years agoMake smb_load_perfcount_module static
Volker Lendecke [Sat, 14 Feb 2009 16:45:01 +0000 (17:45 +0100)]
Make smb_load_perfcount_module static

15 years agoAdd missing include to shut up missing prototype warnings
Volker Lendecke [Sat, 14 Feb 2009 16:42:51 +0000 (17:42 +0100)]
Add missing include to shut up missing prototype warnings

15 years agoAdd missing prototype for "tevent_req_print"
Volker Lendecke [Sat, 14 Feb 2009 16:39:55 +0000 (17:39 +0100)]
Add missing prototype for "tevent_req_print"

15 years agoFix a warning and a bug: pipe(2) can fail
Volker Lendecke [Sat, 14 Feb 2009 16:38:05 +0000 (17:38 +0100)]
Fix a warning and a bug: pipe(2) can fail

15 years agoAdd two variable assignments to shut up gcc
Volker Lendecke [Sat, 14 Feb 2009 16:37:47 +0000 (17:37 +0100)]
Add two variable assignments to shut up gcc

15 years agof_frsize field is not ubiquitous. Check for it.
Derrell Lipman [Sat, 14 Feb 2009 17:30:23 +0000 (12:30 -0500)]
f_frsize field is not ubiquitous. Check for it.

15 years agoThe f_fsid field is not always an integer type. Don't set it in that case.
Derrell Lipman [Sat, 14 Feb 2009 17:27:40 +0000 (12:27 -0500)]
The f_fsid field is not always an integer type. Don't set it in that case.

15 years agoEnsure consistency of values on stack (caught by AIX compiler)
Derrell Lipman [Sat, 14 Feb 2009 15:08:10 +0000 (10:08 -0500)]
Ensure consistency of values on stack (caught by AIX compiler)

15 years agoCheck for the right error return value
Derrell Lipman [Sat, 14 Feb 2009 14:41:55 +0000 (09:41 -0500)]
Check for the right error return value

15 years ago[Bug 6069] Add a fstatvfs function for libsmbclient
Derrell Lipman [Fri, 13 Feb 2009 21:47:54 +0000 (16:47 -0500)]
[Bug 6069] Add a fstatvfs function for libsmbclient

- Revert Tim's changes for the moment. I need to see what the issue is and
  arrange to use "struct statvfs" if at all possible.

Derrell

15 years agoignore new test program executables
Derrell Lipman [Fri, 13 Feb 2009 21:42:26 +0000 (16:42 -0500)]
ignore new test program executables

15 years agoAttempt to fix the build on Solaris 8
Volker Lendecke [Sat, 14 Feb 2009 10:42:05 +0000 (11:42 +0100)]
Attempt to fix the build on Solaris 8

15 years agoFix a valgrind error
Volker Lendecke [Sat, 14 Feb 2009 07:07:29 +0000 (08:07 +0100)]
Fix a valgrind error

15 years agos3 OneFS: Add recvfile implementation
Tim Prouty [Sat, 14 Feb 2009 05:36:42 +0000 (21:36 -0800)]
s3 OneFS: Add recvfile implementation

15 years agos3 vfs: Fix SMB_VFS_RECVFILE/SENDFILE macros
Tim Prouty [Fri, 13 Feb 2009 01:30:58 +0000 (17:30 -0800)]
s3 vfs: Fix SMB_VFS_RECVFILE/SENDFILE macros

15 years agos3: Fix uninitialized const char *
Tim Prouty [Sat, 14 Feb 2009 01:56:08 +0000 (17:56 -0800)]
s3: Fix uninitialized const char *

15 years agoEnable total anonymization in vfs_smb_traffic_analyzer, by mapping any user names...
Holger Hetterich [Wed, 4 Feb 2009 14:31:24 +0000 (15:31 +0100)]
Enable total anonymization in vfs_smb_traffic_analyzer, by mapping any user names to the one given by anonymize_prefix, without generating a hash number. This setting is optional and is compatible with the module configuration format of Samba 3.3.

15 years agos3-spoolss: remove unused convert_printer_info.
Günther Deschner [Sat, 14 Feb 2009 00:41:11 +0000 (01:41 +0100)]
s3-spoolss: remove unused convert_printer_info.

Guenther

15 years agos3-spoolss: use pidl for _spoolss_SetPrinter.
Günther Deschner [Thu, 12 Feb 2009 23:10:10 +0000 (00:10 +0100)]
s3-spoolss: use pidl for _spoolss_SetPrinter.

Guenther

15 years agos3-spoolss: use pidl for _spoolss_AddPrinterEx.
Günther Deschner [Tue, 10 Feb 2009 22:35:19 +0000 (23:35 +0100)]
s3-spoolss: use pidl for _spoolss_AddPrinterEx.

Guenther

15 years agos3-spoolss: add printer_info2_to_nt_printer_info2 and convert_printer_info_new.
Günther Deschner [Tue, 10 Feb 2009 22:34:35 +0000 (23:34 +0100)]
s3-spoolss: add printer_info2_to_nt_printer_info2 and convert_printer_info_new.

Guenther

15 years agos3-rpcclient: use rpccli_spoolss_AddPrinterEx.
Günther Deschner [Fri, 13 Feb 2009 17:06:45 +0000 (18:06 +0100)]
s3-rpcclient: use rpccli_spoolss_AddPrinterEx.

Guenther

15 years agos4-smbtorture: fix test_PausePrinter and test_ResumePrinter.
Günther Deschner [Fri, 13 Feb 2009 16:18:32 +0000 (17:18 +0100)]
s4-smbtorture: fix test_PausePrinter and test_ResumePrinter.

Guenther

15 years agos3: re-run make samba3-idl.
Günther Deschner [Sat, 14 Feb 2009 00:19:07 +0000 (01:19 +0100)]
s3: re-run make samba3-idl.

Guenther

15 years agospoolss: fill in some unknowns in spoolss_PrinterInfo0 and spoolss_SetPrinterInfo0.
Günther Deschner [Fri, 13 Feb 2009 23:32:05 +0000 (00:32 +0100)]
spoolss: fill in some unknowns in spoolss_PrinterInfo0 and spoolss_SetPrinterInfo0.

Guenther

15 years agospoolss: fill in more levels in spoolss_UserLevel union.
Günther Deschner [Fri, 13 Feb 2009 17:09:26 +0000 (18:09 +0100)]
spoolss: fill in more levels in spoolss_UserLevel union.

Guenther

15 years agospoolss: fix spoolss_AddPrinterEx IDL.
Günther Deschner [Fri, 13 Feb 2009 15:56:14 +0000 (16:56 +0100)]
spoolss: fix spoolss_AddPrinterEx IDL.

Guenther

15 years agospoolss: fix spoolss_SetPrinter IDL.
Günther Deschner [Fri, 13 Feb 2009 15:02:24 +0000 (16:02 +0100)]
spoolss: fix spoolss_SetPrinter IDL.

Guenther

15 years agos3-netlogon: some more appropriate debug messages.
Günther Deschner [Fri, 13 Feb 2009 15:56:52 +0000 (16:56 +0100)]
s3-netlogon: some more appropriate debug messages.

Guenther

15 years agoMerge branch 'master' of ssh://jra@git.samba.org/data/git/samba
Jeremy Allison [Sat, 14 Feb 2009 00:07:07 +0000 (16:07 -0800)]
Merge branch 'master' of ssh://jra@git.samba.org/data/git/samba

15 years agoParameterize in local.h the MAX_RPC_DATA_SIZE, and ensure
Jeremy Allison [Sat, 14 Feb 2009 00:06:17 +0000 (16:06 -0800)]
Parameterize in local.h the MAX_RPC_DATA_SIZE, and ensure
that "offered" read from the rpc packet in spoolss is under
that size. Tidyup from analysis from Veracode.
Jeremy.

15 years agos3: Fix uninitialized variable warning (and bug).
Zack Kirsch [Fri, 13 Feb 2009 23:35:21 +0000 (15:35 -0800)]
s3: Fix uninitialized variable warning (and bug).

15 years agoNoted by Vericode analysis. Correctly use chroot().
Jeremy Allison [Fri, 13 Feb 2009 23:02:32 +0000 (15:02 -0800)]
Noted by Vericode analysis. Correctly use chroot().
Jeremy.

15 years agos4 torture: Add rename test to imitate the way OS X renames files
Aravind Srinivasan [Fri, 13 Feb 2009 21:06:44 +0000 (13:06 -0800)]
s4 torture: Add rename test to imitate the way OS X renames files

This tests for mis-behaved case-insensitive get_real_filename
implementations.

15 years agos3 libsmbclient: Fix fstatvfs to be more portable
Tim Prouty [Fri, 13 Feb 2009 18:58:54 +0000 (10:58 -0800)]
s3 libsmbclient: Fix fstatvfs to be more portable

The statvfs struct isn't guaranteed to be portable across operating
systems.  Since libsmbclient isn't actually calling statvfs and just
using the statvfs struct to store similar information, this patch adds
a new portable smbc_statvfs struct.  This fixes a few of the failures
in the build farm introduced by:
ae259575c447e61665c8e7070c476914161b953f

Derrell, please check.

15 years agos3 OneFS: Add vfs implementation for SMB_VFS_GET_REAL_FILE_NAME
Aravind Srinivasan [Fri, 13 Feb 2009 19:07:46 +0000 (11:07 -0800)]
s3 OneFS: Add vfs implementation for SMB_VFS_GET_REAL_FILE_NAME

15 years agos3: Test module for perfcount system
todd stecher [Thu, 12 Feb 2009 06:28:20 +0000 (22:28 -0800)]
s3: Test module for perfcount system

Add 'perfcount module = pc_test' to exercise this module. Results are
logged into smb.log every 50 operations (configurable via smb.conf).

15 years agoFix Coverity ID 740 (RESOURCE_LEAK)
Volker Lendecke [Fri, 13 Feb 2009 20:52:21 +0000 (21:52 +0100)]
Fix Coverity ID 740 (RESOURCE_LEAK)

15 years agoFix the build. When you do "make distclean; ./autogen; ./configure; make" and it...
Jeremy Allison [Fri, 13 Feb 2009 18:36:11 +0000 (10:36 -0800)]
Fix the build. When you do "make distclean; ./autogen; ./configure; make" and it still doesn't build you know it's messed up.
Jeremy.

15 years agoOneFS implementation of BRL VFS ops:
Zack Kirsch [Tue, 10 Feb 2009 05:54:51 +0000 (21:54 -0800)]
OneFS implementation of BRL VFS ops:

* Much of the beginning should look familiar, as I re-used the OneFS oplock
  callback record concept. This was necessary to keep our own state around - it
  really only consists of a lock state, per asynchronous lock that is currently
  unsatisfied.  The onefs_cbrl_callback_records map to BLRs by the id.
* There are 4 states an async lock can be in. NONE means there is no async
  currently out for the lock, as opposed to ASYNC. DONE means we've locked
  *every* lock (keep in mind a request can ask for multiple locks at a time.)
  ERROR is an error.
* onefs_cbrl_async_success: The lock_num is incremented, and the state changed,
  so that when process_blocking_lock_queue is run, we will try the *next* lock,
  rather than the same one again.
* onefs_brl_lock_windows() has some complicated logic:
    * We do a no-op if we're passed a BLR and the matching state is ASYNC --
      this means Samba is trying to get the same lock twice, and we just need
      to wait longer, so we return an error.
    * PENDING lock calls happen when the lock is being queued on the BLQ -- we
      do async in this case.
    * We also do async in the case that we're passed a BLR, but the lock is not
      pending. This is an async lock being probed by process_blocking_lock_queue.
    * We do a sync lock for any normal first request of a lock.
    * Failure is returned, but it doesn't go to the client unless the lock has
      actually timed out.

15 years agoAdd VFS ops for Windows BRL: Lock, Unlock and Cancel:
Zack Kirsch [Tue, 10 Feb 2009 05:51:29 +0000 (21:51 -0800)]
Add VFS ops for Windows BRL: Lock, Unlock and Cancel:

This patch adds 3 new VFS OPs for Windows byte range locking: BRL_LOCK_WINDOWS,
BRL_UNLOCK_WINDOWS and BRL_CANCEL_WINDOWS. Specifically:

* I renamed brl_lock_windows, brl_unlock_windows and brl_lock_cancel to
  *_default as the default implementations of the VFS ops.
* The blocking_lock_record (BLR) is now passed into the brl_lock_windows and
  brl_cancel_windows paths. The Onefs implementation uses it - future
  implementations may find it useful too.
* Created brl_lock_cancel to do what brl_lock/brl_unlock do: set up a
  lock_struct and call either the Posix or Windows lock function. These happen
  to be the same for the default implementation.
* Added helper functions: increment_current_lock_count() and
  decrement_current_lock_count().
* Minor spelling correction in brl_timeout_fn: brl -> blr.
* Changed blocking_lock_cancel() to return the BLR that it has cancelled. This
  allows us to assert its the lock that we wanted to cancel. If this assert ever
  fires, this path will need to take in the BLR to cancel, rather than choosing
  on its own.
* Adds a small helper function: find_blocking_lock_record_by_id(). Used by the
  OneFS implementation, but could be useful for others.

15 years agoRemove typedef struct blocking_lock_record and move references to struct blocking_loc...
Zack Kirsch [Thu, 12 Feb 2009 06:13:26 +0000 (22:13 -0800)]
Remove typedef struct blocking_lock_record and move references to struct blocking_lock_record.

15 years agos4:configure: require the same version for external and internal libtevent
Stefan Metzmacher [Fri, 13 Feb 2009 17:52:40 +0000 (18:52 +0100)]
s4:configure: require the same version for external and internal libtevent

Until we reach 1.0.0, we better require the exact same version.

metze

15 years agotevent: raise version to 0.9.3
Stefan Metzmacher [Fri, 13 Feb 2009 17:51:28 +0000 (18:51 +0100)]
tevent: raise version to 0.9.3

- aio events are removed
- tevent_req infrastructure was added

metze

15 years agolib/tevent: add tevent_req infrastructure
Stefan Metzmacher [Fri, 13 Feb 2009 14:37:35 +0000 (15:37 +0100)]
lib/tevent: add tevent_req infrastructure

This is almost a copy of the async_req code,
which will be removed later.

metze

15 years agolib/tevent: add tevent_req.c as copy of lib/async_req/async_req.c
Stefan Metzmacher [Fri, 13 Feb 2009 14:43:04 +0000 (15:43 +0100)]
lib/tevent: add tevent_req.c as copy of lib/async_req/async_req.c

metze

15 years agolib/tevent: expose ev_timeval_zero() for internal usage
Stefan Metzmacher [Fri, 13 Feb 2009 14:36:16 +0000 (15:36 +0100)]
lib/tevent: expose ev_timeval_zero() for internal usage

metze

15 years agolib/tevent: remove broken tevent_aio support
Stefan Metzmacher [Fri, 13 Feb 2009 13:05:41 +0000 (14:05 +0100)]
lib/tevent: remove broken tevent_aio support

It makes no sense to support aio events because,
the current implementation was based on IOCB_CMD_EPOLL_WAIT
which never made it into the main kernel tree.

The native linux aio can be used with select/epoll
using eventfd(), which means we can implement aio
with fd events and implement aio outside of tevent.

metze

15 years agos4:lib/socket: add socket_address_copy()
Stefan Metzmacher [Fri, 13 Feb 2009 12:07:58 +0000 (13:07 +0100)]
s4:lib/socket: add socket_address_copy()

metze