const char *short_architecture;
struct smb_filename *smb_dname = NULL;
char *new_dir = NULL;
+ struct conn_struct_tos *c = NULL;
connection_struct *conn = NULL;
NTSTATUS nt_status;
int i;
int ver = 0;
- struct smb_filename *oldcwd_fname = NULL;
char *printdollar = NULL;
int printdollar_snum;
WERROR err = WERR_OK;
return WERR_BAD_NET_NAME;
}
- nt_status = create_conn_struct_cwd(frame,
- server_event_context(),
- server_messaging_context(),
- &conn,
- printdollar_snum,
- lp_path(frame, printdollar_snum),
- session_info, &oldcwd_fname);
+ nt_status = create_conn_struct_tos_cwd(server_messaging_context(),
+ printdollar_snum,
+ lp_path(frame, printdollar_snum),
+ session_info,
+ &c);
if (!NT_STATUS_IS_OK(nt_status)) {
DEBUG(0,("move_driver_to_download_area: create_conn_struct "
"returned %s\n", nt_errstr(nt_status)));
TALLOC_FREE(frame);
return err;
}
+ conn = c->conn;
nt_status = set_conn_force_user_group(conn, printdollar_snum);
if (!NT_STATUS_IS_OK(nt_status)) {
err_exit:
unbecome_user();
err_free_conn:
- if (conn != NULL) {
- vfs_ChDir(conn, oldcwd_fname);
- SMB_VFS_DISCONNECT(conn);
- conn_free(conn);
- }
-
TALLOC_FREE(frame);
return err;
}