rec = dbwrap_fetch_locked(db, mem_ctx, key);
if (rec == NULL) {
+ struct GUID_txt_buf buf;
DBG_DEBUG("Failed to lock guid [%s], key '%s'\n",
- GUID_string(talloc_tos(), client_guid),
+ GUID_buf_string(client_guid, &buf),
hex_encode_talloc(talloc_tos(), key.dptr, key.dsize));
}
return NT_STATUS_OBJECTID_NOT_FOUND;
}
+ if (global == NULL) {
+ /*
+ * most likely ndr_pull_struct_blob() failed
+ */
+ return NT_STATUS_INTERNAL_DB_CORRUPTION;
+ }
+
*_global = global;
return NT_STATUS_OK;
}
* store the information in the old format.
*/
+ SMB_ASSERT(global->local_address != NULL);
+ SMB_ASSERT(global->remote_address != NULL);
+ SMB_ASSERT(global->remote_name != NULL);
+
if (global->db_rec == NULL) {
return NT_STATUS_INTERNAL_ERROR;
}
client->msg_ctx = msg_ctx;
client->server_multi_channel_enabled = lp_server_multi_channel_support();
-
+ if (client->server_multi_channel_enabled) {
+ client->next_channel_id = 1;
+ }
client->table = talloc_move(client, &table);
table = client->table;
talloc_set_destructor(client, smbXsrv_client_destructor);
if (DEBUGLVL(DBGLVL_DEBUG)) {
- struct smbXsrv_clientB client_blob;
-
- ZERO_STRUCT(client_blob);
- client_blob.version = SMBXSRV_VERSION_0;
- client_blob.info.info0 = client;
-
- DBG_DEBUG("client_guid[%s] stored\n",
- GUID_string(talloc_tos(), &global->client_guid));
+ struct smbXsrv_clientB client_blob = {
+ .version = SMBXSRV_VERSION_0,
+ .info.info0 = client,
+ };
+ struct GUID_txt_buf buf;
+
+ DBG_DEBUG("client_guid[%s] created\n",
+ GUID_buf_string(&global->client_guid, &buf));
NDR_PRINT_DEBUG(smbXsrv_clientB, &client_blob);
}
if (!GUID_equal(&client->global->client_guid, &pass_info0->client_guid))
{
+ struct GUID_txt_buf buf1, buf2;
+
DBG_WARNING("client's client_guid [%s] != passed guid [%s]\n",
- GUID_string(talloc_tos(), &client->global->client_guid),
- GUID_string(talloc_tos(), &pass_info0->client_guid));
+ GUID_buf_string(&client->global->client_guid,
+ &buf1),
+ GUID_buf_string(&pass_info0->client_guid,
+ &buf2));
if (DEBUGLVL(DBGLVL_WARNING)) {
NDR_PRINT_DEBUG(smbXsrv_connection_passB, &pass_blob);
}
DBG_ERR("got connection sockfd[%d]\n", sock_fd);
NDR_PRINT_DEBUG(smbXsrv_connection_passB, &pass_blob);
- status = smbd_add_connection(client, sock_fd, &xconn);
+ status = smbd_add_connection(client,
+ sock_fd,
+ pass_info0->initial_connect_time,
+ &xconn);
if (!NT_STATUS_IS_OK(status)) {
close(sock_fd);
sock_fd = -1;
NTSTATUS status;
if (client->global->db_rec != NULL) {
+ struct GUID_txt_buf buf;
DBG_ERR("guid [%s]: Called with db_rec != NULL'\n",
- GUID_string(talloc_tos(),
- &client->global->client_guid));
+ GUID_buf_string(&client->global->client_guid,
+ &buf));
return NT_STATUS_INTERNAL_ERROR;
}
status = smbXsrv_client_global_store(client->global);
if (!NT_STATUS_IS_OK(status)) {
+ struct GUID_txt_buf buf;
DBG_ERR("client_guid[%s] store failed - %s\n",
- GUID_string(talloc_tos(), &client->global->client_guid),
+ GUID_buf_string(&client->global->client_guid,
+ &buf),
nt_errstr(status));
return status;
}
if (DEBUGLVL(DBGLVL_DEBUG)) {
- struct smbXsrv_clientB client_blob;
-
- ZERO_STRUCT(client_blob);
- client_blob.version = SMBXSRV_VERSION_0;
- client_blob.info.info0 = client;
+ struct smbXsrv_clientB client_blob = {
+ .version = SMBXSRV_VERSION_0,
+ .info.info0 = client,
+ };
+ struct GUID_txt_buf buf;
DBG_DEBUG("client_guid[%s] stored\n",
- GUID_string(talloc_tos(), &client->global->client_guid));
+ GUID_buf_string(&client->global->client_guid,
+ &buf));
NDR_PRINT_DEBUG(smbXsrv_clientB, &client_blob);
}
NTSTATUS status;
if (client->global->db_rec != NULL) {
+ struct GUID_txt_buf buf;
DBG_ERR("client_guid[%s]: Called with db_rec != NULL'\n",
- GUID_string(talloc_tos(), &client->global->client_guid));
+ GUID_buf_string(&client->global->client_guid,
+ &buf));
return NT_STATUS_INTERNAL_ERROR;
}
status = smbXsrv_client_global_remove(client->global);
if (!NT_STATUS_IS_OK(status)) {
+ struct GUID_txt_buf buf;
DBG_ERR("client_guid[%s] store failed - %s\n",
- GUID_string(talloc_tos(), &client->global->client_guid),
+ GUID_buf_string(&client->global->client_guid, &buf),
nt_errstr(status));
return status;
}
if (DEBUGLVL(DBGLVL_DEBUG)) {
- struct smbXsrv_clientB client_blob;
-
- ZERO_STRUCT(client_blob);
- client_blob.version = SMBXSRV_VERSION_0;
- client_blob.info.info0 = client;
+ struct smbXsrv_clientB client_blob = {
+ .version = SMBXSRV_VERSION_0,
+ .info.info0 = client,
+ };
+ struct GUID_txt_buf buf;
DBG_DEBUG("client_guid[%s] stored\n",
- GUID_string(talloc_tos(), &client->global->client_guid));
+ GUID_buf_string(&client->global->client_guid, &buf));
NDR_PRINT_DEBUG(smbXsrv_clientB, &client_blob);
}