const char *share,
struct ntvfs_context **_ntvfs)
{
+ struct auth_session_info *session_info =
+ dcesrv_call_session_info(dce_call);
NTSTATUS status;
struct srvsvc_ntvfs_ctx *c;
struct ntvfs_request *ntvfs_req;
enum ntvfs_type type;
struct share_context *sctx;
struct share_config *scfg;
- const char *sharetype;
+ char *sharetype;
union smb_tcon tcon;
const struct tsocket_address *local_address;
const struct tsocket_address *remote_address;
#endif
/* work out what sort of connection this is */
- sharetype = share_string_option(scfg, SHARE_TYPE, SHARE_TYPE_DEFAULT);
+ sharetype = share_string_option(mem_ctx, scfg, SHARE_TYPE, SHARE_TYPE_DEFAULT);
if (sharetype && strcmp(sharetype, "IPC") == 0) {
type = NTVFS_IPC;
} else if (sharetype && strcmp(sharetype, "PRINTER")) {
type = NTVFS_DISK;
}
+ TALLOC_FREE(sharetype);
+
c = talloc(mem_ctx, struct srvsvc_ntvfs_ctx);
NT_STATUS_HAVE_NO_MEMORY(c);
}
ntvfs_req = ntvfs_request_create(c->ntvfs, mem_ctx,
- dce_call->conn->auth_state.session_info,
+ session_info,
0, /* TODO: fill in PID */
dce_call->time,
NULL, NULL, 0);