summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2014-07-21 18:58:52 +0200
committerMichael Adam <obnox@samba.org>2014-08-06 09:51:10 +0200
commit318eb4b62d4ba6af48f8d12199302ec46eb98508 (patch)
tree221ffb11df1942134ff7f96436f75dbc8befdaad
parent40386ee78dc33ec349b74c6af0fb9c57a2680642 (diff)
downloadsamba-318eb4b62d4ba6af48f8d12199302ec46eb98508.tar.gz
samba-318eb4b62d4ba6af48f8d12199302ec46eb98508.tar.xz
samba-318eb4b62d4ba6af48f8d12199302ec46eb98508.zip
s3:smbd: add smbXsrv_connection_dbg()
This is similar to fsp_fnum_dbg() and fsp_str_dbg(). Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org> Reviewed-by: Michael Adam <obnox@samba.org>
-rw-r--r--source3/smbd/globals.h2
-rw-r--r--source3/smbd/process.c23
2 files changed, 25 insertions, 0 deletions
diff --git a/source3/smbd/globals.h b/source3/smbd/globals.h
index 70148fb76a..3b9882d211 100644
--- a/source3/smbd/globals.h
+++ b/source3/smbd/globals.h
@@ -389,6 +389,8 @@ struct smbXsrv_connection {
struct smbXsrv_open_table *open_table;
};
+const char *smbXsrv_connection_dbg(const struct smbXsrv_connection *xconn);
+
NTSTATUS smbXsrv_version_global_init(const struct server_id *server_id);
uint32_t smbXsrv_version_global_current(void);
diff --git a/source3/smbd/process.c b/source3/smbd/process.c
index 127bbb3e39..d1074e21d9 100644
--- a/source3/smbd/process.c
+++ b/source3/smbd/process.c
@@ -3485,6 +3485,29 @@ static void smbd_tevent_trace_callback(enum tevent_trace_point point,
}
}
+/**
+ * Create a debug string for the connection
+ *
+ * This is allocated to talloc_tos() or a string constant
+ * in certain corner cases. The returned string should
+ * hence not be free'd directly but only via the talloc stack.
+ */
+const char *smbXsrv_connection_dbg(const struct smbXsrv_connection *xconn)
+{
+ const char *ret;
+
+ /*
+ * TODO: this can be improved later
+ * maybe including the client guid or more
+ */
+ ret = tsocket_address_string(xconn->remote_address, talloc_tos());
+ if (ret == NULL) {
+ return "<tsocket_address_string() failed>";
+ }
+
+ return ret;
+}
+
/****************************************************************************
Process commands from the client
****************************************************************************/