[SCM] Samba Shared Repository - branch master updated
Jeremy Allison
jra at samba.org
Thu Mar 22 06:22:02 UTC 2018
The branch, master has been updated
via 7964b36 tdb: Fix a "increases alignment" warning
via 2adbb1f tdb: Align a few integer types
via 6f45cbf tdb: Harden allocating the tdb recovery area
via 5f24fd6 tdb: Make sure the hash size fits
via 1b0fbda Harden tdb_check_used_record against overflow
via 2c94093 tdb: Handle TDB_NEXT_LOCK_ERR in tdb_traverse_internal
via df2a036 tdb: Harden tdb_rec_read
via ac33b56 tdbdump: Avoid an int cast
via fc922bd s3: docs: Add documentation for "smb2" and "smb2_credits" debug classes.
via ad973fd s3: smbd: SMB2: Add DBGC_SMB2_CREDITS class to specifically debug credit issues.
via cdde6d9 lib: debug: Add DBGC_XXX versions of the macros to allow class-specific messages.
via 8dabcf8 s3: debug: smb2: Create a new DBGC_SMB2 debug class and mark all smbd/smb2_*.c files with it.
from e0cf35a lib:param: Fix the size type in lp_do_parameter_parametric()
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 7964b3640aacaab68f002c290d82f86e7c709268
Author: Volker Lendecke <vl at samba.org>
Date: Sun Mar 4 11:51:13 2018 +0100
tdb: Fix a "increases alignment" warning
Many of those warnings are difficult to fix, but this one was easy :-)
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
Autobuild-User(master): Jeremy Allison <jra at samba.org>
Autobuild-Date(master): Thu Mar 22 07:21:44 CET 2018 on sn-devel-144
commit 2adbb1f75183a1105848ccb6acc577541279b3f6
Author: Volker Lendecke <vl at samba.org>
Date: Sun Mar 4 11:48:47 2018 +0100
tdb: Align a few integer types
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 6f45cbf42738d869e310027c05e0a5bba07de9fc
Author: Volker Lendecke <vl at samba.org>
Date: Sun Mar 4 11:26:37 2018 +0100
tdb: Harden allocating the tdb recovery area
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 5f24fd6863f1278f1e5ea27829c5402c0cae4366
Author: Volker Lendecke <vl at samba.org>
Date: Sun Mar 4 11:09:10 2018 +0100
tdb: Make sure the hash size fits
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 1b0fbdaf853b341a8e53e23e1e3f2ae1c9037dc2
Author: Volker Lendecke <vl at samba.org>
Date: Sun Mar 4 10:46:09 2018 +0100
Harden tdb_check_used_record against overflow
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 2c94093ad961f3e93302dae6aa373e5b3fe8ee95
Author: Volker Lendecke <vl at samba.org>
Date: Sun Mar 4 10:21:09 2018 +0100
tdb: Handle TDB_NEXT_LOCK_ERR in tdb_traverse_internal
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit df2a036377ad68a999cbccd6e2ba813fa48e7cb9
Author: Volker Lendecke <vl at samba.org>
Date: Sun Mar 4 10:07:29 2018 +0100
tdb: Harden tdb_rec_read
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit ac33b5653f9ee7a69cd367e262bdaceb29c9867c
Author: Volker Lendecke <vl at samba.org>
Date: Sun Mar 4 10:07:09 2018 +0100
tdbdump: Avoid an int cast
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit fc922bd29b40a20450f16728fa7347f8f83d3bcd
Author: Jeremy Allison <jra at samba.org>
Date: Wed Mar 21 12:56:12 2018 -0700
s3: docs: Add documentation for "smb2" and "smb2_credits" debug classes.
https://bugzilla.samba.org/show_bug.cgi?id=13347
Signed-off-by: Jeremy Allison <jra at samba.org>
Reviewed-by: Ralph Böhme <slow at samba.org>
commit ad973fddef00d6d92443be89e7f5404006a94d99
Author: Jeremy Allison <jra at samba.org>
Date: Wed Mar 21 12:52:49 2018 -0700
s3: smbd: SMB2: Add DBGC_SMB2_CREDITS class to specifically debug credit issues.
https://bugzilla.samba.org/show_bug.cgi?id=13347
Signed-off-by: Jeremy Allison <jra at samba.org>
Reviewed-by: Ralph Böhme <slow at samba.org>
commit cdde6d93605d15a59e816a35e8e02ca193bf1403
Author: Jeremy Allison <jra at samba.org>
Date: Wed Mar 21 12:40:50 2018 -0700
lib: debug: Add DBGC_XXX versions of the macros to allow class-specific messages.
https://bugzilla.samba.org/show_bug.cgi?id=13347
Signed-off-by: Jeremy Allison <jra at samba.org>
Reviewed-by: Ralph Böhme <slow at samba.org>
commit 8dabcf8948c2e514b489169c34673e093519b583
Author: Jeremy Allison <jra at samba.org>
Date: Wed Mar 21 12:01:05 2018 -0700
s3: debug: smb2: Create a new DBGC_SMB2 debug class and mark all smbd/smb2_*.c files with it.
Will allow easier smb2-specific debugging.
https://bugzilla.samba.org/show_bug.cgi?id=13347
Signed-off-by: Jeremy Allison <jra at samba.org>
Reviewed-by: Ralph Böhme <slow at samba.org>
-----------------------------------------------------------------------
Summary of changes:
docs-xml/smbdotconf/logging/loglevel.xml | 2 ++
lib/tdb/common/check.c | 17 ++++++++++-
lib/tdb/common/io.c | 28 ++++++++++++++++++
lib/tdb/common/open.c | 15 ++++++++++
lib/tdb/common/transaction.c | 25 +++++++++++-----
lib/tdb/common/traverse.c | 13 ++++----
lib/tdb/tools/tdbdump.c | 4 +--
lib/util/debug.c | 2 ++
lib/util/debug.h | 32 ++++++++++++++++++++
source3/smbd/smb2_break.c | 3 ++
source3/smbd/smb2_close.c | 3 ++
source3/smbd/smb2_create.c | 3 ++
source3/smbd/smb2_flush.c | 3 ++
source3/smbd/smb2_getinfo.c | 3 ++
source3/smbd/smb2_glue.c | 3 ++
source3/smbd/smb2_ioctl.c | 3 ++
source3/smbd/smb2_ioctl_dfs.c | 3 ++
source3/smbd/smb2_ioctl_filesys.c | 3 ++
source3/smbd/smb2_ioctl_named_pipe.c | 3 ++
source3/smbd/smb2_ioctl_network_fs.c | 3 ++
source3/smbd/smb2_keepalive.c | 3 ++
source3/smbd/smb2_lock.c | 3 ++
source3/smbd/smb2_negprot.c | 3 ++
source3/smbd/smb2_notify.c | 3 ++
source3/smbd/smb2_query_directory.c | 3 ++
source3/smbd/smb2_read.c | 3 ++
source3/smbd/smb2_server.c | 51 +++++++++++++++++++++-----------
source3/smbd/smb2_sesssetup.c | 3 ++
source3/smbd/smb2_setinfo.c | 3 ++
source3/smbd/smb2_tcon.c | 3 ++
source3/smbd/smb2_write.c | 3 ++
31 files changed, 219 insertions(+), 33 deletions(-)
Changeset truncated at 500 lines:
diff --git a/docs-xml/smbdotconf/logging/loglevel.xml b/docs-xml/smbdotconf/logging/loglevel.xml
index 1a3767d..d3b5c45 100644
--- a/docs-xml/smbdotconf/logging/loglevel.xml
+++ b/docs-xml/smbdotconf/logging/loglevel.xml
@@ -22,6 +22,8 @@
<listitem><para><parameter moreinfo="none">printdrivers</parameter></para></listitem>
<listitem><para><parameter moreinfo="none">lanman</parameter></para></listitem>
<listitem><para><parameter moreinfo="none">smb</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">smb2</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">smb2_credits</parameter></para></listitem>
<listitem><para><parameter moreinfo="none">rpc_parse</parameter></para></listitem>
<listitem><para><parameter moreinfo="none">rpc_srv</parameter></para></listitem>
<listitem><para><parameter moreinfo="none">rpc_cli</parameter></para></listitem>
diff --git a/lib/tdb/common/check.c b/lib/tdb/common/check.c
index e632af5..3a5c8b8 100644
--- a/lib/tdb/common/check.c
+++ b/lib/tdb/common/check.c
@@ -242,12 +242,27 @@ static bool tdb_check_used_record(struct tdb_context *tdb,
void *private_data)
{
TDB_DATA key, data;
+ tdb_len_t len;
if (!tdb_check_record(tdb, off, rec))
return false;
/* key + data + tailer must fit in record */
- if (rec->key_len + rec->data_len + sizeof(tdb_off_t) > rec->rec_len) {
+ len = rec->key_len;
+ len += rec->data_len;
+ if (len < rec->data_len) {
+ /* overflow */
+ TDB_LOG((tdb, TDB_DEBUG_ERROR, "Record lengths overflow\n"));
+ return false;
+ }
+ len += sizeof(tdb_off_t);
+ if (len < sizeof(tdb_off_t)) {
+ /* overflow */
+ TDB_LOG((tdb, TDB_DEBUG_ERROR, "Record lengths overflow\n"));
+ return false;
+ }
+
+ if (len > rec->rec_len) {
TDB_LOG((tdb, TDB_DEBUG_ERROR,
"Record offset %u too short for contents\n", off));
return false;
diff --git a/lib/tdb/common/io.c b/lib/tdb/common/io.c
index 15ba5b7..94b3163 100644
--- a/lib/tdb/common/io.c
+++ b/lib/tdb/common/io.c
@@ -733,6 +733,9 @@ int tdb_parse_data(struct tdb_context *tdb, TDB_DATA key,
/* read/write a record */
int tdb_rec_read(struct tdb_context *tdb, tdb_off_t offset, struct tdb_record *rec)
{
+ int ret;
+ tdb_len_t overall_len;
+
if (tdb->methods->tdb_read(tdb, offset, rec, sizeof(*rec),DOCONV()) == -1)
return -1;
if (TDB_BAD_MAGIC(rec)) {
@@ -741,6 +744,31 @@ int tdb_rec_read(struct tdb_context *tdb, tdb_off_t offset, struct tdb_record *r
TDB_LOG((tdb, TDB_DEBUG_FATAL,"tdb_rec_read bad magic 0x%x at offset=%u\n", rec->magic, offset));
return -1;
}
+
+ overall_len = rec->key_len + rec->data_len;
+ if (overall_len < rec->data_len) {
+ /* overflow */
+ return -1;
+ }
+
+ if (overall_len > rec->rec_len) {
+ /* invalid record */
+ return -1;
+ }
+
+ ret = tdb->methods->tdb_oob(tdb, offset, rec->key_len, 1);
+ if (ret == -1) {
+ return -1;
+ }
+ ret = tdb->methods->tdb_oob(tdb, offset, rec->data_len, 1);
+ if (ret == -1) {
+ return -1;
+ }
+ ret = tdb->methods->tdb_oob(tdb, offset, rec->rec_len, 1);
+ if (ret == -1) {
+ return -1;
+ }
+
return tdb->methods->tdb_oob(tdb, rec->next, sizeof(*rec), 0);
}
diff --git a/lib/tdb/common/open.c b/lib/tdb/common/open.c
index cfb476d..8baa7e4 100644
--- a/lib/tdb/common/open.c
+++ b/lib/tdb/common/open.c
@@ -687,6 +687,21 @@ _PUBLIC_ struct tdb_context *tdb_open_ex(const char *name, int hash_size, int td
}
}
+ if (tdb->hash_size > UINT32_MAX/4) {
+ TDB_LOG((tdb, TDB_DEBUG_FATAL, "tdb_open_ex: "
+ "hash size %"PRIu32" too large\n", tdb->hash_size));
+ errno = EINVAL;
+ goto fail;
+ }
+
+ ret = tdb->methods->tdb_oob(tdb, FREELIST_TOP, 4*tdb->hash_size, 1);
+ if (ret == -1) {
+ TDB_LOG((tdb, TDB_DEBUG_FATAL, "tdb_open_ex: "
+ "hash size %"PRIu32" does not fit\n", tdb->hash_size));
+ errno = EINVAL;
+ goto fail;
+ }
+
if (locked) {
if (tdb_nest_unlock(tdb, ACTIVE_LOCK, F_WRLCK, false) == -1) {
TDB_LOG((tdb, TDB_DEBUG_ERROR, "tdb_open_ex: "
diff --git a/lib/tdb/common/transaction.c b/lib/tdb/common/transaction.c
index 7d281fc..73d02b6 100644
--- a/lib/tdb/common/transaction.c
+++ b/lib/tdb/common/transaction.c
@@ -592,7 +592,8 @@ static int transaction_sync(struct tdb_context *tdb, tdb_off_t offset, tdb_len_t
static int _tdb_transaction_cancel(struct tdb_context *tdb)
{
- int i, ret = 0;
+ uint32_t i;
+ int ret = 0;
if (tdb->transaction == NULL) {
TDB_LOG((tdb, TDB_DEBUG_ERROR, "tdb_transaction_cancel: no transaction\n"));
@@ -654,7 +655,7 @@ _PUBLIC_ int tdb_transaction_cancel(struct tdb_context *tdb)
static bool tdb_recovery_size(struct tdb_context *tdb, tdb_len_t *result)
{
tdb_len_t recovery_size = 0;
- int i;
+ uint32_t i;
recovery_size = sizeof(uint32_t);
for (i=0;i<tdb->transaction->num_blocks;i++) {
@@ -689,6 +690,8 @@ int tdb_recovery_area(struct tdb_context *tdb,
tdb_off_t *recovery_offset,
struct tdb_record *rec)
{
+ int ret;
+
if (tdb_ofs_read(tdb, TDB_RECOVERY_HEAD, recovery_offset) == -1) {
return -1;
}
@@ -709,6 +712,13 @@ int tdb_recovery_area(struct tdb_context *tdb,
*recovery_offset = 0;
rec->rec_len = 0;
}
+
+ ret = methods->tdb_oob(tdb, *recovery_offset, rec->rec_len, 1);
+ if (ret == -1) {
+ *recovery_offset = 0;
+ rec->rec_len = 0;
+ }
+
return 0;
}
@@ -834,7 +844,7 @@ static int transaction_setup_recovery(struct tdb_context *tdb,
tdb_off_t recovery_offset, recovery_max_size;
tdb_off_t old_map_size = tdb->transaction->old_map_size;
uint32_t magic, tailer;
- int i;
+ uint32_t i;
/*
check that the recovery area has enough space
@@ -844,13 +854,12 @@ static int transaction_setup_recovery(struct tdb_context *tdb,
return -1;
}
- data = (unsigned char *)malloc(recovery_size + sizeof(*rec));
- if (data == NULL) {
+ rec = malloc(recovery_size + sizeof(*rec));
+ if (rec == NULL) {
tdb->ecode = TDB_ERR_OOM;
return -1;
}
- rec = (struct tdb_record *)data;
memset(rec, 0, sizeof(*rec));
rec->magic = TDB_RECOVERY_INVALID_MAGIC;
@@ -859,6 +868,8 @@ static int transaction_setup_recovery(struct tdb_context *tdb,
rec->key_len = old_map_size;
CONVERT(*rec);
+ data = (unsigned char *)rec;
+
/* build the recovery data into a single blob to allow us to do a single
large write, which should be more efficient */
p = data + sizeof(*rec);
@@ -1096,7 +1107,7 @@ static bool repack_worthwhile(struct tdb_context *tdb)
_PUBLIC_ int tdb_transaction_commit(struct tdb_context *tdb)
{
const struct tdb_methods *methods;
- int i;
+ uint32_t i;
bool need_repack = false;
if (tdb->transaction == NULL) {
diff --git a/lib/tdb/common/traverse.c b/lib/tdb/common/traverse.c
index 9b83379..7a1d567 100644
--- a/lib/tdb/common/traverse.c
+++ b/lib/tdb/common/traverse.c
@@ -166,9 +166,16 @@ static int tdb_traverse_internal(struct tdb_context *tdb,
/* tdb_next_lock places locks on the record returned, and its chain */
while ((off = tdb_next_lock(tdb, tl, &rec)) != 0) {
- tdb_len_t full_len = rec.key_len + rec.data_len;
+ tdb_len_t full_len;
int nread;
+ if (off == TDB_NEXT_LOCK_ERR) {
+ ret = -1;
+ goto out;
+ }
+
+ full_len = rec.key_len + rec.data_len;
+
if (full_len > recbuf_len) {
recbuf_len = full_len;
@@ -195,10 +202,6 @@ static int tdb_traverse_internal(struct tdb_context *tdb,
}
}
- if (off == TDB_NEXT_LOCK_ERR) {
- ret = -1;
- goto out;
- }
count++;
/* now read the full record */
nread = tdb->methods->tdb_read(tdb, tl->off + sizeof(rec),
diff --git a/lib/tdb/tools/tdbdump.c b/lib/tdb/tools/tdbdump.c
index 8cf3146..2c68970 100644
--- a/lib/tdb/tools/tdbdump.c
+++ b/lib/tdb/tools/tdbdump.c
@@ -41,10 +41,10 @@ static void print_data(TDB_DATA d)
static int traverse_fn(TDB_CONTEXT *tdb, TDB_DATA key, TDB_DATA dbuf, void *state)
{
printf("{\n");
- printf("key(%d) = \"", (int)key.dsize);
+ printf("key(%zu) = \"", key.dsize);
print_data(key);
printf("\"\n");
- printf("data(%d) = \"", (int)dbuf.dsize);
+ printf("data(%zu) = \"", dbuf.dsize);
print_data(dbuf);
printf("\"\n");
printf("}\n");
diff --git a/lib/util/debug.c b/lib/util/debug.c
index 6428550..d010b72 100644
--- a/lib/util/debug.c
+++ b/lib/util/debug.c
@@ -541,6 +541,8 @@ static const char *default_classname_table[] = {
[DBGC_AUTH_AUDIT_JSON] = "auth_json_audit",
[DBGC_KERBEROS] = "kerberos",
[DBGC_DRS_REPL] = "drs_repl",
+ [DBGC_SMB2] = "smb2",
+ [DBGC_SMB2_CREDITS] = "smb2_credits",
};
/*
diff --git a/lib/util/debug.h b/lib/util/debug.h
index e82553a..1e184b4 100644
--- a/lib/util/debug.h
+++ b/lib/util/debug.h
@@ -93,6 +93,8 @@ bool dbghdr( int level, const char *location, const char *func);
#define DBGC_AUTH_AUDIT_JSON 25
#define DBGC_KERBEROS 26
#define DBGC_DRS_REPL 27
+#define DBGC_SMB2 28
+#define DBGC_SMB2_CREDITS 29
/* So you can define DBGC_CLASS before including debug.h */
#ifndef DBGC_CLASS
@@ -216,6 +218,14 @@ extern int *DEBUGLEVEL_CLASS;
&& (dbgtext("%s: ", __func__)) \
&& (dbgtext body) )
+/* Prefix messages with the function name - class specific */
+#define DBGC_PREFIX(dbgc_class, level, body ) \
+ (void)( ((level) <= MAX_DEBUG_LEVEL) && \
+ unlikely(DEBUGLEVEL_CLASS[ dbgc_class ] >= (level)) \
+ && (dbghdrclass(level, dbgc_class, __location__, __func__ )) \
+ && (dbgtext("%s: ", __func__)) \
+ && (dbgtext body) )
+
/*
* Debug levels matching RFC 3164
*/
@@ -231,12 +241,34 @@ extern int *DEBUGLEVEL_CLASS;
#define DBG_INFO(...) DBG_PREFIX(DBGLVL_INFO, (__VA_ARGS__))
#define DBG_DEBUG(...) DBG_PREFIX(DBGLVL_DEBUG, (__VA_ARGS__))
+#define DBGC_ERR(dbgc_class, ...) DBGC_PREFIX(dbgc_class, \
+ DBGLVL_ERR, (__VA_ARGS__))
+#define DBGC_WARNING(dbgc_class, ...) DBGC_PREFIX(dbgc_class, \
+ DBGLVL_WARNING, (__VA_ARGS__))
+#define DBGC_NOTICE(dbgc_class, ...) DBGC_PREFIX(dbgc_class, \
+ DBGLVL_NOTICE, (__VA_ARGS__))
+#define DBGC_INFO(dbgc_class, ...) DBGC_PREFIX(dbgc_class, \
+ DBGLVL_INFO, (__VA_ARGS__))
+#define DBGC_DEBUG(dbgc_class, ...) DBGC_PREFIX(dbgc_class, \
+ DBGLVL_DEBUG, (__VA_ARGS__))
+
#define D_ERR(...) DEBUG(DBGLVL_ERR, (__VA_ARGS__))
#define D_WARNING(...) DEBUG(DBGLVL_WARNING, (__VA_ARGS__))
#define D_NOTICE(...) DEBUG(DBGLVL_NOTICE, (__VA_ARGS__))
#define D_INFO(...) DEBUG(DBGLVL_INFO, (__VA_ARGS__))
#define D_DEBUG(...) DEBUG(DBGLVL_DEBUG, (__VA_ARGS__))
+#define DC_ERR(...) DEBUGC(dbgc_class, \
+ DBGLVL_ERR, (__VA_ARGS__))
+#define DC_WARNING(...) DEBUGC(dbgc_class, \
+ DBGLVL_WARNING, (__VA_ARGS__))
+#define DC_NOTICE(...) DEBUGC(dbgc_class, \
+ DBGLVL_NOTICE, (__VA_ARGS__))
+#define DC_INFO(...) DEBUGC(dbgc_class, \
+ DBGLVL_INFO, (__VA_ARGS__))
+#define DC_DEBUG(...) DEBUGC(dbgc_class, \
+ DBGLVL_DEBUG, (__VA_ARGS__))
+
/* The following definitions come from lib/debug.c */
/** Possible destinations for the debug log (in order of precedence -
diff --git a/source3/smbd/smb2_break.c b/source3/smbd/smb2_break.c
index 4c5d62e..86529ed 100644
--- a/source3/smbd/smb2_break.c
+++ b/source3/smbd/smb2_break.c
@@ -26,6 +26,9 @@
#include "../lib/util/tevent_ntstatus.h"
#include "locking/leases_db.h"
+#undef DBGC_CLASS
+#define DBGC_CLASS DBGC_SMB2
+
static NTSTATUS smbd_smb2_request_process_lease_break(
struct smbd_smb2_request *req);
diff --git a/source3/smbd/smb2_close.c b/source3/smbd/smb2_close.c
index 5830228..992b529 100644
--- a/source3/smbd/smb2_close.c
+++ b/source3/smbd/smb2_close.c
@@ -25,6 +25,9 @@
#include "../lib/util/tevent_ntstatus.h"
#include "lib/tevent_wait.h"
+#undef DBGC_CLASS
+#define DBGC_CLASS DBGC_SMB2
+
static struct tevent_req *smbd_smb2_close_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct smbd_smb2_request *smb2req,
diff --git a/source3/smbd/smb2_create.c b/source3/smbd/smb2_create.c
index d34a5f7..3f38af5 100644
--- a/source3/smbd/smb2_create.c
+++ b/source3/smbd/smb2_create.c
@@ -29,6 +29,9 @@
#include "../lib/util/tevent_ntstatus.h"
#include "messages.h"
+#undef DBGC_CLASS
+#define DBGC_CLASS DBGC_SMB2
+
int map_smb2_oplock_levels_to_samba(uint8_t in_oplock_level)
{
switch(in_oplock_level) {
diff --git a/source3/smbd/smb2_flush.c b/source3/smbd/smb2_flush.c
index 51584ca..d1ab3a0 100644
--- a/source3/smbd/smb2_flush.c
+++ b/source3/smbd/smb2_flush.c
@@ -24,6 +24,9 @@
#include "../libcli/smb/smb_common.h"
#include "../lib/util/tevent_ntstatus.h"
+#undef DBGC_CLASS
+#define DBGC_CLASS DBGC_SMB2
+
static struct tevent_req *smbd_smb2_flush_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct smbd_smb2_request *smb2req,
diff --git a/source3/smbd/smb2_getinfo.c b/source3/smbd/smb2_getinfo.c
index 7f44868..694e9f8 100644
--- a/source3/smbd/smb2_getinfo.c
+++ b/source3/smbd/smb2_getinfo.c
@@ -26,6 +26,9 @@
#include "trans2.h"
#include "../lib/util/tevent_ntstatus.h"
+#undef DBGC_CLASS
+#define DBGC_CLASS DBGC_SMB2
+
static struct tevent_req *smbd_smb2_getinfo_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct smbd_smb2_request *smb2req,
diff --git a/source3/smbd/smb2_glue.c b/source3/smbd/smb2_glue.c
index bf2ea5a..6a73ec0 100644
--- a/source3/smbd/smb2_glue.c
+++ b/source3/smbd/smb2_glue.c
@@ -23,6 +23,9 @@
#include "smbd/globals.h"
#include "../libcli/smb/smb_common.h"
+#undef DBGC_CLASS
+#define DBGC_CLASS DBGC_SMB2
+
struct smb_request *smbd_smb2_fake_smb_request(struct smbd_smb2_request *req)
{
struct smb_request *smbreq;
diff --git a/source3/smbd/smb2_ioctl.c b/source3/smbd/smb2_ioctl.c
index 993682f..be70e3a 100644
--- a/source3/smbd/smb2_ioctl.c
+++ b/source3/smbd/smb2_ioctl.c
@@ -27,6 +27,9 @@
#include "smb2_ioctl_private.h"
#include "librpc/gen_ndr/ioctl.h"
+#undef DBGC_CLASS
+#define DBGC_CLASS DBGC_SMB2
+
static struct tevent_req *smbd_smb2_ioctl_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct smbd_smb2_request *smb2req,
diff --git a/source3/smbd/smb2_ioctl_dfs.c b/source3/smbd/smb2_ioctl_dfs.c
index f4dd189..72893ca 100644
--- a/source3/smbd/smb2_ioctl_dfs.c
+++ b/source3/smbd/smb2_ioctl_dfs.c
@@ -26,6 +26,9 @@
#include "include/ntioctl.h"
#include "smb2_ioctl_private.h"
+#undef DBGC_CLASS
+#define DBGC_CLASS DBGC_SMB2
+
static NTSTATUS fsctl_dfs_get_refers(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct connection_struct *conn,
diff --git a/source3/smbd/smb2_ioctl_filesys.c b/source3/smbd/smb2_ioctl_filesys.c
index 79c5021..8a9c8c6 100644
--- a/source3/smbd/smb2_ioctl_filesys.c
+++ b/source3/smbd/smb2_ioctl_filesys.c
@@ -31,6 +31,9 @@
#include "librpc/gen_ndr/ndr_ioctl.h"
#include "smb2_ioctl_private.h"
+#undef DBGC_CLASS
+#define DBGC_CLASS DBGC_SMB2
+
/*
* XXX this may reduce dup_extents->byte_count so that it's less than the
* target file size.
diff --git a/source3/smbd/smb2_ioctl_named_pipe.c b/source3/smbd/smb2_ioctl_named_pipe.c
index 13c4982..f9e3dec 100644
--- a/source3/smbd/smb2_ioctl_named_pipe.c
+++ b/source3/smbd/smb2_ioctl_named_pipe.c
@@ -27,6 +27,9 @@
#include "include/ntioctl.h"
#include "smb2_ioctl_private.h"
+#undef DBGC_CLASS
+#define DBGC_CLASS DBGC_SMB2
+
static void smbd_smb2_ioctl_pipe_write_done(struct tevent_req *subreq);
static void smbd_smb2_ioctl_pipe_read_done(struct tevent_req *subreq);
diff --git a/source3/smbd/smb2_ioctl_network_fs.c b/source3/smbd/smb2_ioctl_network_fs.c
index 4006ccf..c0d1756 100644
--- a/source3/smbd/smb2_ioctl_network_fs.c
+++ b/source3/smbd/smb2_ioctl_network_fs.c
@@ -31,6 +31,9 @@
#include "smb2_ioctl_private.h"
#include "../lib/tsocket/tsocket.h"
+#undef DBGC_CLASS
+#define DBGC_CLASS DBGC_SMB2
+
static void copychunk_pack_limits(struct srv_copychunk_rsp *cc_rsp)
{
cc_rsp->chunks_written = COPYCHUNK_MAX_CHUNKS;
diff --git a/source3/smbd/smb2_keepalive.c b/source3/smbd/smb2_keepalive.c
index b16ff6b..fac567c 100644
--- a/source3/smbd/smb2_keepalive.c
+++ b/source3/smbd/smb2_keepalive.c
@@ -23,6 +23,9 @@
#include "smbd/globals.h"
#include "../libcli/smb/smb_common.h"
+#undef DBGC_CLASS
+#define DBGC_CLASS DBGC_SMB2
+
NTSTATUS smbd_smb2_request_process_keepalive(struct smbd_smb2_request *req)
{
--
Samba Shared Repository
More information about the samba-cvs
mailing list