tevent_req_callback_data(subreq,
struct smbXsrv_client);
//struct smbXsrv_client_table *table = client->table;
+ struct smbXsrv_connection *xconn = NULL;
int ret;
struct messaging_rec *rec = NULL;
struct smbXsrv_connection_passB pass_blob;
DEBUG(0,("%s:%s: got connection sockfd[%d]\n", __location__, __func__,
sock_fd));
NDR_PRINT_DEBUG(smbXsrv_connection_passB, &pass_blob);
- smb_panic(__location__);
+ status = smbd_add_connection(client, sock_fd, &xconn);
+ if (!NT_STATUS_IS_OK(status)) {
+ close(sock_fd);
+ sock_fd = -1;
+ DEBUG(0,("smbXsrv_client_connection_pass_loop: "
+ "smbd_add_connection => \n", nt_errstr(status)));
+ NDR_PRINT_DEBUG(smbXsrv_connection_passB, &pass_blob);
+ goto next;
+ }
+
+ smbd_smb2_first_negprot(xconn, pass_info0->negotiate_request.data,
+ pass_info0->negotiate_request.length);
+
next:
TALLOC_FREE(rec);