[SCM] Samba Shared Repository - branch master updated

Michael Adam obnox at samba.org
Tue Jan 26 18:13:03 UTC 2016


The branch, master has been updated
       via  07bb954 VERSION: Bump version up to 4.5.0pre1
       via  6c547b3 VERSION: Set version to 4.4.0rc1...
       via  d201a20 WHATSNEW: Add smbstatus changes.
       via  c1bbe58 WHATSNEW: Extend release notes for Samba 4.4.0rc1.
       via  192f151 waf: Only build smb_krb5_wrapper if we have CUPS
       via  91eeeb7 disk_quotas: style fix
       via  6689499 vfs_gpfs: make sure get_quota does not return bogus values
       via  de3c2ed make disk_norm() static
       via  a8eea0c vfs_gpfs: do not call disk_norm() on disk_free_fn
       via  9e60cbf vfs_ceph: do not call disk_norm() on disk_free_fn
       via  279c9ce vfs_fake_dfq: remove quota code from disk_free
       via  19f9b31 smbd: refactor disk_free handling
       via  72231ec vfs_snapper: add get_quota function
       via  cc25335 vfs_shadow_copy2: add get_quota function
       via  22d757c vfs_cap: add get_quota function
       via  c464b9e vfs: add path parameter to get_quota
       via  f71761c selftest: add disk-free and quota tests based on fake_dfq VFS module
       via  540dcfa vfs_fake_dfq: add vfs module
       via  345f084 smbd: enable unit-testing of NT_TRANSACT_GET_USER_QUOTA
       via  17c9b8d quotas: correct comment about SMB_GROUP_QUOTA_TYPE
       via  798fcfd loadparm: introduce lp_parm_ulonglong() and lpcfg_parm_ulonglong()
       via  7a890a7 smbd:smb2_negprot: implement connection passing based on client_guid
       via  cfbf450 smbd:smb2_server: let smbd_server_connection_terminate() only call exit_server() for the last connection
       via  a446966 smbd:process: use smbXsrv_client_create.
       via  0010dc8 smbd:process: treat initialized table in smbXsrv_connection_init_tables
       via  d77238f smbd: add smbXsrv_client.c
       via  8ab4629 smbd:globals.h: add guid_verified to smbXsrv_connection.smb2.client
       via  3590f3f idl:smbXsrv: add smbXsrv_connection_pass structures.
       via  bae1b94 idl:smbXsrv: add smbXsrv_client_global structures
       via  5e91bf0 idl:messagaing: add MSG_SMBXSRV_CONNECTION_PASS
      from  6a24ccc s3:smbd: only process fsctl_network_iface_info if multi channel is enabled

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 07bb954d929cf2aa61afe469c14ecba449cd5d43
Author: Karolin Seeger <kseeger at samba.org>
Date:   Tue Jan 26 11:17:37 2016 +0100

    VERSION: Bump version up to 4.5.0pre1
    
    Autobuild-User(master): Michael Adam <obnox at samba.org>
    Autobuild-Date(master): Tue Jan 26 19:12:42 CET 2016 on sn-devel-144

commit 6c547b337cdcfa2fc6bd631ef776e48c4077e644
Author: Karolin Seeger <kseeger at samba.org>
Date:   Tue Jan 26 11:08:12 2016 +0100

    VERSION: Set version to 4.4.0rc1...
    
    and disable git snapshots for 4.4.0rc1 release.
    
    Signed-off-by: Karolin Seeger <kseeger at samba.org>

commit d201a2080d73bfb73874c526134d38cebbcb572c
Author: Karolin Seeger <kseeger at samba.org>
Date:   Tue Jan 26 10:57:00 2016 +0100

    WHATSNEW: Add smbstatus changes.
    
    Signed-off-by: Karolin Seeger <kseeger at samba.org>

commit c1bbe58cd6ea9078bc7c3608d45af640eab2292e
Author: Karolin Seeger <kseeger at samba.org>
Date:   Tue Jan 26 10:52:15 2016 +0100

    WHATSNEW: Extend release notes for Samba 4.4.0rc1.
    
    Signed-off-by: Karolin Seeger <kseeger at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 192f1516c378ae942d14921bfcc1e11173da36e6
Author: Andreas Schneider <asn at samba.org>
Date:   Tue Jan 26 11:28:50 2016 +0100

    waf: Only build smb_krb5_wrapper if we have CUPS
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Michael Adam <obnox at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 91eeeb76f0700041bcc7e862dfad5cc949f2c915
Author: Uri Simchoni <uri at samba.org>
Date:   Thu Jan 21 21:09:12 2016 +0200

    disk_quotas: style fix
    
    Signed-off-by: Uri Simchoni <uri at samba.org>
    Reviewed-by: Volker Lendecke <vl at samba.org>

commit 6689499488b15ce996c91bc72048e92e765c5eee
Author: Uri Simchoni <uri at samba.org>
Date:   Sun Jan 10 20:28:57 2016 +0200

    vfs_gpfs: make sure get_quota does not return bogus values
    
    add implementation of get_quota_fn to vfs_gpfs. The implemetation
    returns ENOSYS for the case of user and group quota, to make sure
    the default VFS does not accidentally succeed (and return wrong
    values which would alter the disk-free calculation)
    
    For other quota types the function calls the underlying VFS as
    before.
    
    Signed-off-by: Uri Simchoni <uri at samba.org>
    Reviewed-by: Volker Lendecke <vl at samba.org>

commit de3c2ed0b1a6c786396435d8ea64359c9e17b1ba
Author: Uri Simchoni <uri at samba.org>
Date:   Sun Jan 10 19:54:06 2016 +0200

    make disk_norm() static
    
    Now that disk_norm() is being run centrally from the SMB layer
    it can be made static.
    
    Signed-off-by: Uri Simchoni <uri at samba.org>
    Reviewed-by: Volker Lendecke <vl at samba.org>

commit a8eea0c8b08a474f09cb39fa7aefe5687806d0d7
Author: Uri Simchoni <uri at samba.org>
Date:   Sun Jan 10 15:39:44 2016 +0200

    vfs_gpfs: do not call disk_norm() on disk_free_fn
    
    This is handled at the SMB layer now.
    
    Signed-off-by: Uri Simchoni <uri at samba.org>
    Reviewed-by: Volker Lendecke <vl at samba.org>

commit 9e60cbfc7cff553c6e5ecfaa73a2e69d58c0e85a
Author: Uri Simchoni <uri at samba.org>
Date:   Sun Jan 10 15:38:49 2016 +0200

    vfs_ceph: do not call disk_norm() on disk_free_fn
    
    This is handled at SMB layer now.
    
    Signed-off-by: Uri Simchoni <uri at samba.org>
    Reviewed-by: Volker Lendecke <vl at samba.org>

commit 279c9ce129a2ea16ee7effdd7a46f2d0bf9e95ad
Author: Uri Simchoni <uri at samba.org>
Date:   Sun Jan 10 15:29:32 2016 +0200

    vfs_fake_dfq: remove quota code from disk_free
    
    When mocking disk-free, do not take quota into
    account since this is now done in the SMB layer.
    
    Signed-off-by: Uri Simchoni <uri at samba.org>
    Reviewed-by: Volker Lendecke <vl at samba.org>

commit 19f9b31759d2befdac7fb8d7a3705c744e68aaea
Author: Uri Simchoni <uri at samba.org>
Date:   Sun Jan 10 15:15:41 2016 +0200

    smbd: refactor disk_free handling
    
    Move most of the logic that handles determination of
    disk size and free space from default VFS handler to
    the SMB layer - letting the VFS handle the basic task
    of querying the file system for general stats and
    quota.
    
    Signed-off-by: Uri Simchoni <uri at samba.org>
    Reviewed-by: Volker Lendecke <vl at samba.org>

commit 72231ec5c23a2b0fcf69912a928ac84ee2c3437a
Author: Uri Simchoni <uri at samba.org>
Date:   Sun Jan 10 14:14:58 2016 +0200

    vfs_snapper: add get_quota function
    
    This is in preparation for handling the quota part
    of disk_free via the VFS - each module with a
    disk_free_fn should also have a get_quota_fn.
    
    Signed-off-by: Uri Simchoni <uri at samba.org>
    Reviewed-by: Volker Lendecke <vl at samba.org>

commit cc2533576bd0e4be822ab589b0b7d58459538a09
Author: Uri Simchoni <uri at samba.org>
Date:   Sun Jan 10 14:13:38 2016 +0200

    vfs_shadow_copy2: add get_quota function
    
    This is in preparation for handling the quota part
    of disk_free via the VFS - each module with a
    disk_free_fn should also have a get_quota_fn.
    
    Signed-off-by: Uri Simchoni <uri at samba.org>
    Reviewed-by: Volker Lendecke <vl at samba.org>

commit 22d757c8d8e5bc666ab3a1db3ad8fbfdf5997380
Author: Uri Simchoni <uri at samba.org>
Date:   Sun Jan 10 14:10:10 2016 +0200

    vfs_cap: add get_quota function
    
    This is in preparation for handling the quota part
    of disk_free via the VFS - each module with a
    disk_free_fn should also have a get_quota_fn.
    
    Signed-off-by: Uri Simchoni <uri at samba.org>
    Reviewed-by: Volker Lendecke <vl at samba.org>

commit c464b9e46069a741014333135728a9342ffa45cb
Author: Uri Simchoni <uri at samba.org>
Date:   Sun Jan 10 13:29:25 2016 +0200

    vfs: add path parameter to get_quota
    
    Adding a path parameter would allow the VFS get_quota
    function to be used for determining the quota/usage
    when calculating size and free spacei.
    
    Signed-off-by: Uri Simchoni <uri at samba.org>
    Reviewed-by: Volker Lendecke <vl at samba.org>

commit f71761c47a4c3b160b60c25a56e01a7a887992ab
Author: Uri Simchoni <uri at samba.org>
Date:   Wed Jan 6 12:59:06 2016 +0200

    selftest: add disk-free and quota tests based on fake_dfq VFS module
    
    These tests use the vfs_fake_dfq module to simulate some
    relations between the quota status and disk-free status.
    
    The tests will become meaningful when we take the code that
    does those calculations out of the VFS layer - the tests will
    then exercise the server code.
    
    Signed-off-by: Uri Simchoni <uri at samba.org>
    Reviewed-by: Volker Lendecke <vl at samba.org>

commit 540dcfae6bf36d5c3e07be3aca66b71c0400cae7
Author: Uri Simchoni <uri at samba.org>
Date:   Tue Jan 5 21:12:00 2016 +0200

    vfs_fake_dfq: add vfs module
    
    Add a vfs module "vfs_fake_dfq" for mocking disk-free
    and user/group quota functions.
    
    In this commit there are quota considerations in
    disk_free calculations, based on the mocking of quota.
    
    Those considerations will later be removed once we
    refactor the server code to weigh the disk-free and quota in
    the smb layer and not in individual vfs implementations.
    
    Signed-off-by: Uri Simchoni <uri at samba.org>
    Reviewed-by: Volker Lendecke <vl at samba.org>

commit 345f0849def860e7c4038d9d48f22a11998727c9
Author: Uri Simchoni <uri at samba.org>
Date:   Sat Jan 9 21:24:10 2016 +0200

    smbd: enable unit-testing of NT_TRANSACT_GET_USER_QUOTA
    
    Processing of NT_TRANSACT_GET_USER_QUOTA involves a security check to
    see the user is an admin, allow this check to run in unit-testing mode.
    
    Signed-off-by: Uri Simchoni <uri at samba.org>
    Reviewed-by: Volker Lendecke <vl at samba.org>

commit 17c9b8d2d0691d19d3aa85058412eed9925a3412
Author: Uri Simchoni <uri at samba.org>
Date:   Wed Jan 6 13:30:59 2016 +0200

    quotas: correct comment about SMB_GROUP_QUOTA_TYPE
    
    Signed-off-by: Uri Simchoni <uri at samba.org>
    Reviewed-by: Volker Lendecke <vl at samba.org>

commit 798fcfdabc70d02667d982c648fef08114aac72b
Author: Uri Simchoni <uri at samba.org>
Date:   Mon Jan 18 06:56:43 2016 +0200

    loadparm: introduce lp_parm_ulonglong() and lpcfg_parm_ulonglong()
    
    Signed-off-by: Uri Simchoni <uri at samba.org>
    Reviewed-by: Volker Lendecke <vl at samba.org>

commit 7a890a785547361e609c135bf65bf364f2eaf23f
Author: Michael Adam <obnox at samba.org>
Date:   Tue Jan 26 10:12:46 2016 +0100

    smbd:smb2_negprot: implement connection passing based on client_guid
    
    Pair-Programmed-With: Stefan Metzmacher <metze at samba.org>
    
    Signed-off-by: Michael Adam <obnox at samba.org>
    Signed-off-by: Stefan Metzmacher <metze at samba.org>

commit cfbf4509003639885850d626a62684e2652347a4
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Sep 18 19:27:42 2014 +0200

    smbd:smb2_server: let smbd_server_connection_terminate() only call exit_server() for the last connection
    
    TODO: We need to cancel pending requests on the connection and defer the
    talloc_free.
    
    Currently we only ever have one connection.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Signed-off-by: Michael Adam <obnox at samba.org>

commit a446966e71a112b867d5edcc5d8206607c7af03e
Author: Michael Adam <obnox at samba.org>
Date:   Fri Jan 22 13:13:44 2016 +0100

    smbd:process: use smbXsrv_client_create.
    
    Signed-off-by: Michael Adam <obnox at samba.org>
    Signed-off-by: Stefan Metzmacher <metze at samba.org>

commit 0010dc81be7d9f1359d06891cadb523ec22e63af
Author: Michael Adam <obnox at samba.org>
Date:   Mon Jan 25 19:02:04 2016 +0100

    smbd:process: treat initialized table in smbXsrv_connection_init_tables
    
    Pair-Programmed-With: Stefan Metzmacher <metze at samba.org>
    
    Signed-off-by: Michael Adam <obnox at samba.org>
    Signed-off-by: Stefan Metzmacher <metze at samba.org>

commit d77238f85f63a0743e6464f360121e0dfd85cb28
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Jan 26 01:10:25 2016 +0100

    smbd: add smbXsrv_client.c
    
    Pair-Programmed-With: Michael Adam <obnox at samba.org>
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Signed-off-by: Michael Adam <obnox at samba.org>

commit 8ab462926014c836ae05728e1765459d82cba326
Author: Michael Adam <obnox at samba.org>
Date:   Mon Jan 25 22:50:28 2016 +0100

    smbd:globals.h: add guid_verified to smbXsrv_connection.smb2.client
    
    Signed-off-by: Michael Adam <obnox at samba.org>
    Signed-off-by: Stefan Metzmacher <metze at samba.org>

commit 3590f3f5627d494e65318fa3d746d3a742515495
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Jan 26 00:39:35 2016 +0100

    idl:smbXsrv: add smbXsrv_connection_pass structures.
    
    To be used for the connection passing message.
    
    Pair-Programmed-With: Michael Adam <obnox at samba.org>
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Signed-off-by: Michael Adam <obnox at samba.org>

commit bae1b9401c8821c9222d67355d96038937a6193b
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Jun 23 12:17:04 2014 +0200

    idl:smbXsrv: add smbXsrv_client_global structures
    
    This is for marshalling smbXsrv_client.
    
    Pair-Programmed-With: Michael Adam <obnox at samba.org>
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Signed-off-by: Michael Adam <obnox at samba.org>

commit 5e91bf0337073a509c67d8819dea6d00dd6e7fb0
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Jun 24 07:43:27 2014 +0200

    idl:messagaing: add MSG_SMBXSRV_CONNECTION_PASS
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Signed-off-by: Michael Adam <obnox at samba.org>

-----------------------------------------------------------------------

Summary of changes:
 VERSION                                  |   2 +-
 WHATSNEW.txt                             | 141 +++++-
 examples/VFS/skel_opaque.c               |   5 +-
 examples/VFS/skel_transparent.c          |   7 +-
 lib/param/loadparm.c                     |  33 ++
 lib/param/param.h                        |   4 +
 librpc/idl/messaging.idl                 |   1 +
 selftest/selftesthelpers.py              |   1 +
 selftest/target/Samba3.pm                |  12 +
 source3/include/ntquotas.h               |   2 +-
 source3/include/proto.h                  |   3 +
 source3/include/vfs.h                    |   6 +-
 source3/include/vfs_macros.h             |   8 +-
 source3/librpc/idl/smbXsrv.idl           |  69 +++
 source3/modules/vfs_cap.c                |  14 +
 source3/modules/vfs_ceph.c               |   5 +-
 source3/modules/vfs_default.c            |  14 +-
 source3/modules/vfs_default_quota.c      |  13 +-
 source3/modules/vfs_fake_dfq.c           | 174 +++++++
 source3/modules/vfs_full_audit.c         |   8 +-
 source3/modules/vfs_gpfs.c               |  28 +-
 source3/modules/vfs_shadow_copy2.c       |  34 ++
 source3/modules/vfs_snapper.c            |  34 ++
 source3/modules/vfs_time_audit.c         |   6 +-
 source3/modules/wscript_build            |   7 +
 source3/param/loadparm.c                 |  16 +
 source3/script/tests/test_dfree_quota.sh | 174 +++++++
 source3/selftest/tests.py                |   1 +
 source3/smbd/dfree.c                     |  15 +-
 source3/smbd/globals.h                   |  17 +
 source3/smbd/ntquotas.c                  |   2 +-
 source3/smbd/nttrans.c                   |   2 +-
 source3/smbd/process.c                   |  15 +-
 source3/smbd/proto.h                     |   4 +-
 source3/smbd/quotas.c                    |  25 +-
 source3/smbd/smb2_negprot.c              |  58 +++
 source3/smbd/smb2_server.c               |  17 +-
 source3/smbd/smbXsrv_client.c            | 770 +++++++++++++++++++++++++++++++
 source3/smbd/vfs.c                       |   4 +-
 source3/wscript                          |   1 +
 source3/wscript_build                    |   4 +-
 41 files changed, 1674 insertions(+), 82 deletions(-)
 create mode 100644 source3/modules/vfs_fake_dfq.c
 create mode 100755 source3/script/tests/test_dfree_quota.sh
 create mode 100644 source3/smbd/smbXsrv_client.c


Changeset truncated at 500 lines:

diff --git a/VERSION b/VERSION
index 7966f82..99a1f18 100644
--- a/VERSION
+++ b/VERSION
@@ -24,7 +24,7 @@
 #  ->  "3.0.0"                                         #
 ########################################################
 SAMBA_VERSION_MAJOR=4
-SAMBA_VERSION_MINOR=4
+SAMBA_VERSION_MINOR=5
 SAMBA_VERSION_RELEASE=0
 
 ########################################################
diff --git a/WHATSNEW.txt b/WHATSNEW.txt
index e396ff9..399fb2b 100644
--- a/WHATSNEW.txt
+++ b/WHATSNEW.txt
@@ -1,7 +1,7 @@
 Release Announcements
 =====================
 
-This is the first preview release of Samba 4.4.  This is *not*
+This is the first release candidate of Samba 4.4.  This is *not*
 intended for production environments and is designed for testing
 purposes only.  Please report any defects via the Samba bug reporting
 system at https://bugzilla.samba.org/.
@@ -14,33 +14,100 @@ UPGRADING
 
 Nothing special.
 
-NEW FEATURES
-============
+
+NEW FEATURES/CHANGES
+====================
+
+Asynchronous flush requests
+---------------------------
 
 Flush requests from SMB2/3 clients are handled asynchronously and do
 not block the processing of other requests. Note that 'strict sync'
 has to be set to 'yes' for Samba to honor flush requests from SMB
 clients.
 
+s3: smbd
+--------
+
+Remove '--with-aio-support' configure option. We no longer would ever prefer
+POSIX-RT aio, use pthread_aio instead.
+
+samba-tool sites
+----------------
+
+The 'samba-tool sites' subcommand can now be run against another server by
+specifying an LDB URL using the '-H' option and not against the local database
+only (which is still the default when no URL is given).
+
+samba-tool domain demote
+------------------------
+
+Add '--remove-other-dead-server' option to 'samba-tool domain demote'
+subcommand. The new version of this tool now can remove another DC that is
+itself offline.  The '--remove-other-dead-server' removes as many references
+to the DC as possible.
+
+samba-tool drs clone-dc-database
+--------------------------------
+
+Replicate an initial clone of domain, but do not join it.
+This is developed for debugging purposes, but not for setting up another DC.
+
+pdbedit
+-------
+
+Add '--set-nt-hash' option to pdbedit to update user password from nt-hash
+hexstring. 'pdbedit -vw' shows also password hashes.
+
+smbstatus
+---------
+
+'smbstatus' was enhanced to show the state of signing and encryption for
+sessions and shares.
+
+s4-rpc_server
+-------------
+
+Add a GnuTLS based backupkey implementation.
+
+ntlm_auth
+---------
+
+Using the '--offline-logon' enables ntlm_auth to use cached passwords when the
+DC is offline.
+
+Allow '--password' force a local password check for ntlm-server-1 mode.
+
+vfs_offline
+-----------
+
+A new VFS module called vfs_offline has been added to mark all files in the
+share as offline. It can be useful for shares mounted on top of a remote file
+system (either through a samba VFS module or via FUSE).
+
+KCC
+---
+
+The Samba KCC has been improved, but is still disabled by default.
+
+DNS
+---
+
+There were several improvements concerning the Samba DNS server.
+
+Active Directory
+----------------
+
+There were some improvements in the Active Directory area.
+
 WINS nsswitch module
-====================
+--------------------
 
 The WINS nsswitch module has been rewritten to address memory issues and to
 simplify the code. The module now uses libwbclient to do WINS queries. This
 means that winbind needs to be running in order to resolve WINS names using
 the nss_wins module. This does not affect smbd.
 
-######################################################################
-Changes
-#######
-
-smb.conf changes
-----------------
-
-  Parameter Name		Description		Default
-  --------------		-----------		-------
-  aio max threads               New                     100
-
 CTDB changes
 ------------
 
@@ -113,6 +180,48 @@ CTDB changes
 
 * All CTDB current manual pages are now correctly installed
 
+
+REMOVED FEATURES
+================
+
+Public headers
+--------------
+
+Several public headers are not installed any longer. They are made for internal
+use only. More public headers will very likely be removed in future releases.
+
+The following headers are not installed any longer:
+dlinklist.h, gen_ndr/epmapper.h, gen_ndr/mgmt.h, gen_ndr/ndr_atsvc_c.h,
+gen_ndr/ndr_epmapper_c.h, gen_ndr/ndr_epmapper.h, gen_ndr/ndr_mgmt_c.h,
+gen_ndr/ndr_mgmt.h,gensec.h, ldap_errors.h, ldap_message.h, ldap_ndr.h,
+ldap-util.h, pytalloc.h, read_smb.h, registry.h, roles.h, samba_util.h,
+smb2_constants.h, smb2_create_blob.h, smb2.h, smb2_lease.h, smb2_signing.h,
+smb_cli.h, smb_cliraw.h, smb_common.h, smb_composite.h, smb_constants.h,
+smb_raw.h, smb_raw_interfaces.h, smb_raw_signing.h, smb_raw_trans2.h,
+smb_request.h, smb_seal.h, smb_signing.h, smb_unix_ext.h, smb_util.h,
+torture.h, tstream_smbXcli_np.h.
+
+vfs_smb_traffic_analyzer
+------------------------
+
+The SMB traffic analyzer VFS module has been removed, because it is not
+maintained any longer and not widely used.
+
+vfs_scannedonly
+---------------
+
+The scannedonly VFS module has been removed, because it is not maintained
+any longer.
+
+smb.conf changes
+----------------
+
+  Parameter Name		Description		Default
+  --------------		-----------		-------
+  aio max threads               New                     100
+  ldap page size		Changed default		1000
+
+
 KNOWN ISSUES
 ============
 
@@ -128,7 +237,7 @@ joining the #samba-technical IRC channel on irc.freenode.net.
 If you do report problems then please try to send high quality
 feedback. If you don't provide vital information to help us track down
 the problem then you will probably be ignored.  All bug reports should
-be filed under the Samba 4.3 product in the project's Bugzilla
+be filed under the Samba 4.1 and newer product in the project's Bugzilla
 database (https://bugzilla.samba.org/).
 
 
diff --git a/examples/VFS/skel_opaque.c b/examples/VFS/skel_opaque.c
index 29fe6f4..a4309d4 100644
--- a/examples/VFS/skel_opaque.c
+++ b/examples/VFS/skel_opaque.c
@@ -54,8 +54,9 @@ static uint64_t skel_disk_free(vfs_handle_struct *handle, const char *path,
 	return 0;
 }
 
-static int skel_get_quota(vfs_handle_struct *handle, enum SMB_QUOTA_TYPE qtype,
-			  unid_t id, SMB_DISK_QUOTA *dq)
+static int skel_get_quota(vfs_handle_struct *handle, const char *path,
+			  enum SMB_QUOTA_TYPE qtype, unid_t id,
+			  SMB_DISK_QUOTA *dq)
 {
 	errno = ENOSYS;
 	return -1;
diff --git a/examples/VFS/skel_transparent.c b/examples/VFS/skel_transparent.c
index c5a36a6..2d1ed79 100644
--- a/examples/VFS/skel_transparent.c
+++ b/examples/VFS/skel_transparent.c
@@ -55,10 +55,11 @@ static uint64_t skel_disk_free(vfs_handle_struct *handle, const char *path,
 	return SMB_VFS_NEXT_DISK_FREE(handle, path, bsize, dfree, dsize);
 }
 
-static int skel_get_quota(vfs_handle_struct *handle, enum SMB_QUOTA_TYPE qtype,
-			  unid_t id, SMB_DISK_QUOTA *dq)
+static int skel_get_quota(vfs_handle_struct *handle, const char *path,
+			  enum SMB_QUOTA_TYPE qtype, unid_t id,
+			  SMB_DISK_QUOTA *dq)
 {
-	return SMB_VFS_NEXT_GET_QUOTA(handle, qtype, id, dq);
+	return SMB_VFS_NEXT_GET_QUOTA(handle, path, qtype, id, dq);
 }
 
 static int skel_set_quota(vfs_handle_struct *handle, enum SMB_QUOTA_TYPE qtype,
diff --git a/lib/param/loadparm.c b/lib/param/loadparm.c
index 9b36c7e..9a3451f 100644
--- a/lib/param/loadparm.c
+++ b/lib/param/loadparm.c
@@ -329,6 +329,20 @@ unsigned long lp_ulong(const char *s)
 }
 
 /**
+ * convenience routine to return unsigned long long parameters.
+ */
+unsigned long long lp_ulonglong(const char *s)
+{
+
+	if (!s || !*s) {
+		DEBUG(0, ("lp_ulonglong(%s): is called with NULL!\n", s));
+		return -1;
+	}
+
+	return strtoull(s, NULL, 0);
+}
+
+/**
  * convenience routine to return unsigned long parameters.
  */
 static long lp_long(const char *s)
@@ -473,6 +487,25 @@ unsigned long lpcfg_parm_ulong(struct loadparm_context *lp_ctx,
 	return default_v;
 }
 
+/**
+ * Return parametric option from a given service.
+ * Type is a part of option before ':'
+ * Parametric option has following syntax: 'Type: option = value'
+ */
+unsigned long long lpcfg_parm_ulonglong(struct loadparm_context *lp_ctx,
+					struct loadparm_service *service,
+					const char *type, const char *option,
+					unsigned long long default_v)
+{
+	const char *value = lpcfg_get_parametric(lp_ctx, service, type, option);
+
+	if (value) {
+		return lp_ulonglong(value);
+	}
+
+	return default_v;
+}
+
 long lpcfg_parm_long(struct loadparm_context *lp_ctx,
 		     struct loadparm_service *service, const char *type,
 		     const char *option, long default_v)
diff --git a/lib/param/param.h b/lib/param/param.h
index 500f52d..fb28218 100644
--- a/lib/param/param.h
+++ b/lib/param/param.h
@@ -98,6 +98,10 @@ int lpcfg_parm_bytes(struct loadparm_context *lp_ctx,
 unsigned long lpcfg_parm_ulong(struct loadparm_context *lp_ctx,
 			    struct loadparm_service *service, const char *type,
 			    const char *option, unsigned long default_v);
+unsigned long long lpcfg_parm_ulonglong(struct loadparm_context *lp_ctx,
+					struct loadparm_service *service,
+					const char *type, const char *option,
+					unsigned long long default_v);
 long lpcfg_parm_long(struct loadparm_context *lp_ctx,
 		     struct loadparm_service *service, const char *type,
 		     const char *option, long default_v);
diff --git a/librpc/idl/messaging.idl b/librpc/idl/messaging.idl
index ca99f41..6232322 100644
--- a/librpc/idl/messaging.idl
+++ b/librpc/idl/messaging.idl
@@ -126,6 +126,7 @@ interface messaging
 
 		/* smbXsrv messages */
 		MSG_SMBXSRV_SESSION_CLOSE	= 0x0600,
+		MSG_SMBXSRV_CONNECTION_PASS	= 0x0601,
 
 		/* source4 and NTVFS smb server messages */
 		MSG_BRL_RETRY                   = 0x0700,
diff --git a/selftest/selftesthelpers.py b/selftest/selftesthelpers.py
index 0dfcf54..a5ab3f9 100644
--- a/selftest/selftesthelpers.py
+++ b/selftest/selftesthelpers.py
@@ -183,3 +183,4 @@ scriptdir = os.path.join(srcdir(), "script/tests")
 wbinfo = binpath('wbinfo')
 dbwrap_tool = binpath('dbwrap_tool')
 vfstest = binpath('vfstest')
+smbcquotas = binpath('smbcquotas')
diff --git a/selftest/target/Samba3.pm b/selftest/target/Samba3.pm
index 44dadfb..5002a81 100755
--- a/selftest/target/Samba3.pm
+++ b/selftest/target/Samba3.pm
@@ -1244,6 +1244,7 @@ sub provision($$$$$$$$)
 	symlink "$widelinks_shrdir", "$widelinks_shrdir/dot";
 
 	my $conffile="$libdir/server.conf";
+	my $dfqconffile="$libdir/dfq.conf";
 
 	my $nss_wrapper_pl = "$ENV{PERL} $self->{srcdir}/lib/nss_wrapper/nss_wrapper.pl";
 	my $nss_wrapper_passwd = "$privatedir/passwd";
@@ -1630,9 +1631,20 @@ sub provision($$$$$$$$)
 	vfs objects = shadow_copy2
 	shadow:mountpoint = $shadow_mntdir
 	wide links = yes
+[dfq]
+	path = $shrdir/dfree
+	vfs objects = fake_dfq
+	admin users = $unix_name
+	include = $dfqconffile
 	";
 	close(CONF);
 
+	unless (open(DFQCONF, ">$dfqconffile")) {
+	        warn("Unable to open $dfqconffile");
+		return undef;
+	}
+	close(DFQCONF);
+
 	##
 	## create a test account
 	##
diff --git a/source3/include/ntquotas.h b/source3/include/ntquotas.h
index d8a0dc3..6fbbbb9 100644
--- a/source3/include/ntquotas.h
+++ b/source3/include/ntquotas.h
@@ -63,7 +63,7 @@ enum SMB_QUOTA_TYPE {
 	SMB_USER_FS_QUOTA_TYPE = 1,
 	SMB_USER_QUOTA_TYPE = 2,
 	SMB_GROUP_FS_QUOTA_TYPE = 3,/* not used yet */
-	SMB_GROUP_QUOTA_TYPE = 4 /* not in use yet, maybe for disk_free queries */
+	SMB_GROUP_QUOTA_TYPE = 4 /* used by disk_free queries */
 };
 
 typedef struct _SMB_NTQUOTA_STRUCT {
diff --git a/source3/include/proto.h b/source3/include/proto.h
index ce9e277..e18aaf4 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -966,6 +966,9 @@ const char *lp_parm_const_string_service(struct loadparm_service *service, const
 const char **lp_parm_string_list(int snum, const char *type, const char *option, const char **def);
 int lp_parm_int(int snum, const char *type, const char *option, int def);
 unsigned long lp_parm_ulong(int snum, const char *type, const char *option, unsigned long def);
+unsigned long long lp_parm_ulonglong(int snum, const char *type,
+				     const char *option,
+				     unsigned long long def);
 bool lp_parm_bool(int snum, const char *type, const char *option, bool def);
 struct enum_list;
 int lp_parm_enum(int snum, const char *type, const char *option,
diff --git a/source3/include/vfs.h b/source3/include/vfs.h
index 66e4fc6..c18ea59 100644
--- a/source3/include/vfs.h
+++ b/source3/include/vfs.h
@@ -526,7 +526,9 @@ struct vfs_fn_pointers {
 	void (*disconnect_fn)(struct vfs_handle_struct *handle);
 	uint64_t (*disk_free_fn)(struct vfs_handle_struct *handle, const char *path, uint64_t *bsize,
 			      uint64_t *dfree, uint64_t *dsize);
-	int (*get_quota_fn)(struct vfs_handle_struct *handle, enum SMB_QUOTA_TYPE qtype, unid_t id, SMB_DISK_QUOTA *qt);
+	int (*get_quota_fn)(struct vfs_handle_struct *handle, const char *path,
+			    enum SMB_QUOTA_TYPE qtype, unid_t id,
+			    SMB_DISK_QUOTA *qt);
 	int (*set_quota_fn)(struct vfs_handle_struct *handle, enum SMB_QUOTA_TYPE qtype, unid_t id, SMB_DISK_QUOTA *qt);
 	int (*get_shadow_copy_data_fn)(struct vfs_handle_struct *handle, struct files_struct *fsp, struct shadow_copy_data *shadow_copy_data, bool labels);
 	int (*statvfs_fn)(struct vfs_handle_struct *handle, const char *path, struct vfs_statvfs_struct *statbuf);
@@ -931,7 +933,7 @@ void smb_vfs_call_disconnect(struct vfs_handle_struct *handle);
 uint64_t smb_vfs_call_disk_free(struct vfs_handle_struct *handle,
 				const char *path, uint64_t *bsize,
 				uint64_t *dfree, uint64_t *dsize);
-int smb_vfs_call_get_quota(struct vfs_handle_struct *handle,
+int smb_vfs_call_get_quota(struct vfs_handle_struct *handle, const char *path,
 			   enum SMB_QUOTA_TYPE qtype, unid_t id,
 			   SMB_DISK_QUOTA *qt);
 int smb_vfs_call_set_quota(struct vfs_handle_struct *handle,
diff --git a/source3/include/vfs_macros.h b/source3/include/vfs_macros.h
index eaf0c19..16d5bfd 100644
--- a/source3/include/vfs_macros.h
+++ b/source3/include/vfs_macros.h
@@ -44,10 +44,10 @@
 #define SMB_VFS_NEXT_DISK_FREE(handle, path, bsize, dfree ,dsize)\
 	smb_vfs_call_disk_free((handle)->next, (path), (bsize), (dfree), (dsize))
 
-#define SMB_VFS_GET_QUOTA(conn, qtype, id, qt) \
-	smb_vfs_call_get_quota((conn)->vfs_handles, (qtype), (id), (qt))
-#define SMB_VFS_NEXT_GET_QUOTA(handle, qtype, id, qt) \
-	smb_vfs_call_get_quota((handle)->next, (qtype), (id), (qt))
+#define SMB_VFS_GET_QUOTA(conn, path, qtype, id, qt)                           \
+	smb_vfs_call_get_quota((conn)->vfs_handles, (path), (qtype), (id), (qt))
+#define SMB_VFS_NEXT_GET_QUOTA(handle, path, qtype, id, qt)                    \
+	smb_vfs_call_get_quota((handle)->next, (path), (qtype), (id), (qt))
 
 #define SMB_VFS_SET_QUOTA(conn, qtype, id, qt) \
 	smb_vfs_call_set_quota((conn)->vfs_handles, (qtype), (id), (qt))
diff --git a/source3/librpc/idl/smbXsrv.idl b/source3/librpc/idl/smbXsrv.idl
index 5fc3603..fe86545 100644
--- a/source3/librpc/idl/smbXsrv.idl
+++ b/source3/librpc/idl/smbXsrv.idl
@@ -79,10 +79,39 @@ interface smbXsrv
 
 	/* client */
 
+	typedef struct {
+		[ignore] db_record 			*db_rec;
+		server_id				server_id;
+		[charset(UTF8),string] char		local_address[];
+		[charset(UTF8),string] char		remote_address[];
+		[charset(UTF8),string] char		remote_name[];
+		NTTIME					initial_connect_time;
+		GUID					client_guid;
+		boolean8				stored;
+	} smbXsrv_client_global0;
+
+	typedef union {
+		[case(0)] smbXsrv_client_global0	*info0;
+		[default] hyper				*dummy;
+	} smbXsrv_client_globalU;
+
 	typedef [public] struct {
+		smbXsrv_version_values			version;
+		uint32					seqnum;
+		[switch_is(version)] smbXsrv_client_globalU info;
+	} smbXsrv_client_globalB;
+
+	void smbXsrv_client_global_decode(
+		[in] smbXsrv_client_globalB blob
+		);
+
+	typedef [public] struct {
+		[ignore] smbXsrv_client_table		*table;
 		[ignore] struct tevent_context		*ev_ctx;
 		[ignore] struct messaging_context	*msg_ctx;
 
+		[ref] smbXsrv_client_global0		*global;
+
 		/*
 		 * There's just one 'sconn' per client.
 		 * It holds the FSA layer details, which are global
@@ -115,6 +144,46 @@ interface smbXsrv
 		boolean8		server_multi_channel_enabled;
 	} smbXsrv_client;
 
+	typedef union {
+		[case(0)] smbXsrv_client		*info0;
+		[default] hyper				*dummy;
+	} smbXsrv_clientU;
+
+	typedef [public] struct {
+		smbXsrv_version_values			version;
+		[value(0)] uint32			reserved;
+		[switch_is(version)] smbXsrv_clientU	info;
+	} smbXsrv_clientB;
+
+	void smbXsrv_client_decode(
+		[in] smbXsrv_clientB blob
+		);
+
+	/*
+	 * smbXsrv_connection_pass is used in the MSG_SMBXSRV_CONNECTION_PASS
+	 * message
+	 */
+	typedef struct {
+		NTTIME					initial_connect_time;
+		GUID					client_guid;
+		DATA_BLOB 				negotiate_request;
+	} smbXsrv_connection_pass0;
+
+	typedef union {
+		[case(0)] smbXsrv_connection_pass0	*info0;
+		[default] hyper				*dummy;


-- 
Samba Shared Repository



More information about the samba-cvs mailing list