The branch, master has been updated
via 82dd1ee9e75 nsswitch: support all known DS lookup flags in
wbclient's wbcLookupDomainController()
via 0f3f5dbbbd1 vfs_default: Use already available SMBPROFILE_*_X macros
via e51fb769e23 vfs_ceph_new: Use already available SMBPROFILE_*_X
macros
via b30ba6867e9 s3/smbd: Use SMBPROFILE_IOBYTES_ASYNC_STATE_X macro
via 26dcee98978 s3/include: Define SMBPROFILE_*_ASYNC_STATE_X macros
from 846a2375c1e compression/tests: Fix possible out of bound access
CID:1517301
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 82dd1ee9e75a12751063de324496fcb97af2e89f
Author: Günther Deschner <[email protected]>
Date: Mon Jul 14 20:18:08 2025 +0200
nsswitch: support all known DS lookup flags in wbclient's
wbcLookupDomainController()
Guenther
Signed-off-by: Guenther Deschner <[email protected]>
Reviewed-by: Andreas Schneider <[email protected]>
Autobuild-User(master): Günther Deschner <[email protected]>
Autobuild-Date(master): Tue Aug 12 08:26:55 UTC 2025 on atb-devel-224
commit 0f3f5dbbbd15aa6746d858e29ee9cc693e92230f
Author: Anoop C S <[email protected]>
Date: Wed Jul 2 15:06:17 2025 +0530
vfs_default: Use already available SMBPROFILE_*_X macros
Signed-off-by: Anoop C S <[email protected]>
Reviewed-by: Guenther Deschner <[email protected]>
commit e51fb769e23bd2ff8c92e390e0c79b7a8de82595
Author: Anoop C S <[email protected]>
Date: Wed Jul 2 15:04:27 2025 +0530
vfs_ceph_new: Use already available SMBPROFILE_*_X macros
Signed-off-by: Anoop C S <[email protected]>
Reviewed-by: Guenther Deschner <[email protected]>
commit b30ba6867e93dfe0dae8a6401a63235f90668e80
Author: Anoop C S <[email protected]>
Date: Wed Jul 2 15:12:20 2025 +0530
s3/smbd: Use SMBPROFILE_IOBYTES_ASYNC_STATE_X macro
Signed-off-by: Anoop C S <[email protected]>
Reviewed-by: Guenther Deschner <[email protected]>
commit 26dcee98978089d8e5d8948cf9a56d24be37b0f7
Author: Anoop C S <[email protected]>
Date: Wed Jul 2 15:08:58 2025 +0530
s3/include: Define SMBPROFILE_*_ASYNC_STATE_X macros
Signed-off-by: Anoop C S <[email protected]>
Reviewed-by: Guenther Deschner <[email protected]>
-----------------------------------------------------------------------
Summary of changes:
nsswitch/libwbclient/wbclient.h | 4 ++++
source3/include/smbprofile.h | 10 ++++++++++
source3/modules/vfs_ceph_new.c | 15 +++++++--------
source3/modules/vfs_default.c | 15 +++++++--------
source3/smbd/globals.h | 3 +--
source3/winbindd/winbindd_dsgetdcname.c | 8 ++++++++
6 files changed, 37 insertions(+), 18 deletions(-)
Changeset truncated at 500 lines:
diff --git a/nsswitch/libwbclient/wbclient.h b/nsswitch/libwbclient/wbclient.h
index 31a7e492098..0b1c740b39b 100644
--- a/nsswitch/libwbclient/wbclient.h
+++ b/nsswitch/libwbclient/wbclient.h
@@ -1548,6 +1548,10 @@ wbcErr wbcListTrusts(struct wbcDomainInfo **domains,
#define WBC_LOOKUP_DC_IS_DNS_NAME 0x00020000
#define WBC_LOOKUP_DC_TRY_NEXTCLOSEST_SITE 0x00040000
#define WBC_LOOKUP_DC_DS_6_REQUIRED 0x00080000
+#define WBC_LOOKUP_DC_WEB_REQUIRED 0x00100000
+#define WBC_LOOKUP_DC_DS_8_REQUIRED 0x00200000
+#define WBC_LOOKUP_DC_DS_9_REQUIRED 0x00400000
+#define WBC_LOOKUP_DC_DS_10_REQUIRED 0x00800000
#define WBC_LOOKUP_DC_RETURN_DNS_NAME 0x40000000
#define WBC_LOOKUP_DC_RETURN_FLAT_NAME 0x80000000
diff --git a/source3/include/smbprofile.h b/source3/include/smbprofile.h
index b45d709b016..c51e0b22672 100644
--- a/source3/include/smbprofile.h
+++ b/source3/include/smbprofile.h
@@ -895,6 +895,10 @@ int smbprofile_persvc_collect_tdb(struct tdb_context *tdb,
SMBPROFILE_BYTES_ASYNC_END(__profasync_persvc_##x); \
} while (0)
+#define SMBPROFILE_BYTES_ASYNC_STATE_X(_async_name, _async_persvc_name) \
+ struct smbprofile_stats_bytes_async _async_name; \
+ struct smbprofile_stats_bytes_async _async_persvc_name;
+
#define SMBPROFILE_BYTES_ASYNC_START_X(_snum, _name, _async, _async_persvc,
_bytes) \
_SMBPROFILE_BYTES_ASYNC_START(_name##_stats, profile_p, _async,
_bytes); \
do {
\
@@ -925,6 +929,10 @@ int smbprofile_persvc_collect_tdb(struct tdb_context *tdb,
_SMBPROFILE_BYTES_ASYNC_END(_async_persvc); \
} while (0)
+#define SMBPROFILE_IOBYTES_ASYNC_STATE_X(_async_name, _async_persvc_name) \
+ struct smbprofile_stats_iobytes_async _async_name; \
+ struct smbprofile_stats_iobytes_async _async_persvc_name;
+
#define SMBPROFILE_IOBYTES_ASYNC_START_X(_snum, _name, _async, _async_persvc,
_bytes) \
_SMBPROFILE_IOBYTES_ASYNC_START(_name##_stats, profile_p, _async,
_bytes); \
do {
\
@@ -968,10 +976,12 @@ int smbprofile_persvc_collect_tdb(struct tdb_context *tdb,
#define START_PROFILE_BYTES_X(_snum, x, n)
#define END_PROFILE_X(x)
#define END_PROFILE_BYTES_X(x)
+#define SMBPROFILE_BYTES_ASYNC_STATE_X(_async_name, _async_persvc_name)
#define SMBPROFILE_BYTES_ASYNC_START_X(_name, _snum, _async, _async_persvc,
_bytes)
#define SMBPROFILE_BYTES_ASYNC_SET_IDLE_X(_async, _async_persvc)
#define SMBPROFILE_BYTES_ASYNC_SET_BUSY_X(_async, _async_persvc)
#define SMBPROFILE_BYTES_ASYNC_END_X(_async, _async_persvc)
+#define SMBPROFILE_IOBYTES_ASYNC_STATE_X(_async_name, _async_persvc_name)
#define SMBPROFILE_IOBYTES_ASYNC_START_X(_name, _snum, _async, _async_persvc,
_bytes)
#define SMBPROFILE_IOBYTES_ASYNC_SET_IDLE_X(_async, _async_persvc)
#define SMBPROFILE_IOBYTES_ASYNC_SET_BUSY_X(_async, _async_persvc)
diff --git a/source3/modules/vfs_ceph_new.c b/source3/modules/vfs_ceph_new.c
index 996edc73458..7112719a399 100644
--- a/source3/modules/vfs_ceph_new.c
+++ b/source3/modules/vfs_ceph_new.c
@@ -2473,8 +2473,7 @@ struct vfs_ceph_aio_state {
struct timespec finish_time;
ssize_t result;
struct vfs_aio_state vfs_aio_state;
- SMBPROFILE_BYTES_ASYNC_STATE(profile_bytes);
- SMBPROFILE_BYTES_ASYNC_STATE(profile_bytes_x);
+ SMBPROFILE_BYTES_ASYNC_STATE_X(profile_bytes, profile_bytes_x);
};
static void vfs_ceph_aio_start(struct vfs_ceph_aio_state *state)
@@ -2745,8 +2744,8 @@ static ssize_t vfs_ceph_pread_recv(struct tevent_req *req,
state->off,
state->len);
- SMBPROFILE_BYTES_ASYNC_END(state->profile_bytes);
- SMBPROFILE_BYTES_ASYNC_END(state->profile_bytes_x);
+ SMBPROFILE_BYTES_ASYNC_END_X(state->profile_bytes,
+ state->profile_bytes_x);
if (tevent_req_is_unix_error(req, &vfs_aio_state->error)) {
goto out;
@@ -2861,8 +2860,8 @@ static ssize_t vfs_ceph_pwrite_recv(struct tevent_req
*req,
state->off,
state->len);
- SMBPROFILE_BYTES_ASYNC_END(state->profile_bytes);
- SMBPROFILE_BYTES_ASYNC_END(state->profile_bytes_x);
+ SMBPROFILE_BYTES_ASYNC_END_X(state->profile_bytes,
+ state->profile_bytes_x);
if (tevent_req_is_unix_error(req, &vfs_aio_state->error)) {
goto out;
@@ -3064,8 +3063,8 @@ static int vfs_ceph_fsync_recv(struct tevent_req *req,
state->len,
state->result);
- SMBPROFILE_BYTES_ASYNC_END(state->profile_bytes);
- SMBPROFILE_BYTES_ASYNC_END(state->profile_bytes_x);
+ SMBPROFILE_BYTES_ASYNC_END_X(state->profile_bytes,
+ state->profile_bytes_x);
if (tevent_req_is_unix_error(req, &vfs_aio_state->error)) {
goto out;
diff --git a/source3/modules/vfs_default.c b/source3/modules/vfs_default.c
index 83c9cc06de8..02057c7394c 100644
--- a/source3/modules/vfs_default.c
+++ b/source3/modules/vfs_default.c
@@ -912,8 +912,8 @@ static void vfs_pread_done(struct tevent_req *subreq)
ret = pthreadpool_tevent_job_recv(subreq);
TALLOC_FREE(subreq);
- SMBPROFILE_BYTES_ASYNC_END(state->profile_bytes);
- SMBPROFILE_BYTES_ASYNC_END(state->profile_bytes_x);
+ SMBPROFILE_BYTES_ASYNC_END_X(state->profile_bytes,
+ state->profile_bytes_x);
talloc_set_destructor(state, NULL);
if (ret != 0) {
if (ret != EAGAIN) {
@@ -955,8 +955,7 @@ struct vfswrap_pwrite_state {
bool posix_append;
struct vfs_aio_state vfs_aio_state;
- SMBPROFILE_BYTES_ASYNC_STATE(profile_bytes);
- SMBPROFILE_BYTES_ASYNC_STATE(profile_bytes_x);
+ SMBPROFILE_BYTES_ASYNC_STATE_X(profile_bytes, profile_bytes_x);
};
static void vfs_pwrite_do(void *private_data);
@@ -1188,8 +1187,8 @@ static void vfs_fsync_done(struct tevent_req *subreq)
ret = pthreadpool_tevent_job_recv(subreq);
TALLOC_FREE(subreq);
- SMBPROFILE_BYTES_ASYNC_END(state->profile_bytes);
- SMBPROFILE_BYTES_ASYNC_END(state->profile_bytes_x);
+ SMBPROFILE_BYTES_ASYNC_END_X(state->profile_bytes,
+ state->profile_bytes_x);
talloc_set_destructor(state, NULL);
if (ret != 0) {
if (ret != EAGAIN) {
@@ -3814,8 +3813,8 @@ static void vfswrap_getxattrat_done(struct tevent_req
*subreq)
ret = pthreadpool_tevent_job_recv(subreq);
TALLOC_FREE(subreq);
- SMBPROFILE_BYTES_ASYNC_END(state->profile_bytes);
- SMBPROFILE_BYTES_ASYNC_END(state->profile_bytes_x);
+ SMBPROFILE_BYTES_ASYNC_END_X(state->profile_bytes,
+ state->profile_bytes_x);
talloc_set_destructor(state, NULL);
if (ret != 0) {
if (ret != EAGAIN) {
diff --git a/source3/smbd/globals.h b/source3/smbd/globals.h
index e518c710cda..aafce615d61 100644
--- a/source3/smbd/globals.h
+++ b/source3/smbd/globals.h
@@ -655,8 +655,7 @@ struct smbd_smb2_request {
struct timeval request_time;
- SMBPROFILE_IOBYTES_ASYNC_STATE(profile);
- SMBPROFILE_IOBYTES_ASYNC_STATE(profile_x);
+ SMBPROFILE_IOBYTES_ASYNC_STATE_X(profile, profile_x);
/* fake smb1 request. */
struct smb_request *smb1req;
diff --git a/source3/winbindd/winbindd_dsgetdcname.c
b/source3/winbindd/winbindd_dsgetdcname.c
index 9dadeab863b..9971d8b4cdb 100644
--- a/source3/winbindd/winbindd_dsgetdcname.c
+++ b/source3/winbindd/winbindd_dsgetdcname.c
@@ -181,6 +181,14 @@ static uint32_t get_dsgetdc_flags(uint32_t wbc_flags)
DS_TRY_NEXTCLOSEST_SITE },
{ WBC_LOOKUP_DC_DS_6_REQUIRED,
DS_DIRECTORY_SERVICE_6_REQUIRED },
+ { WBC_LOOKUP_DC_WEB_REQUIRED,
+ DS_WEB_SERVICE_REQUIRED },
+ { WBC_LOOKUP_DC_DS_8_REQUIRED,
+ DS_DIRECTORY_SERVICE_8_REQUIRED },
+ { WBC_LOOKUP_DC_DS_9_REQUIRED,
+ DS_DIRECTORY_SERVICE_9_REQUIRED },
+ { WBC_LOOKUP_DC_DS_10_REQUIRED,
+ DS_DIRECTORY_SERVICE_10_REQUIRED },
{ WBC_LOOKUP_DC_RETURN_DNS_NAME,
DS_RETURN_DNS_NAME },
{ WBC_LOOKUP_DC_RETURN_FLAT_NAME,
--
Samba Shared Repository