NTSTATUS nt_status;
struct smb_filename *smb_fname = NULL;
files_struct *fsp = NULL;
+ struct conn_struct_tos *c = NULL;
connection_struct *conn = NULL;
- struct smb_filename *oldcwd_fname = NULL;
char *printdollar = NULL;
char *printdollar_path = NULL;
char *working_dir = NULL;
driver_directory);
}
- nt_status = create_conn_struct_cwd(frame,
- server_event_context(),
- server_messaging_context(),
- &conn,
- printdollar_snum,
- working_dir,
- session_info, &oldcwd_fname);
+ nt_status = create_conn_struct_tos_cwd(server_messaging_context(),
+ printdollar_snum,
+ working_dir,
+ session_info,
+ &c);
if (!NT_STATUS_IS_OK(nt_status)) {
DEBUG(0,("get_correct_cversion: create_conn_struct "
"returned %s\n", nt_errstr(nt_status)));
TALLOC_FREE(frame);
return -1;
}
+ conn = c->conn;
nt_status = set_conn_force_user_group(conn, printdollar_snum);
if (!NT_STATUS_IS_OK(nt_status)) {
if (fsp != NULL) {
close_file(NULL, fsp, NORMAL_CLOSE);
}
- if (conn != NULL) {
- vfs_ChDir(conn, oldcwd_fname);
- SMB_VFS_DISCONNECT(conn);
- conn_free(conn);
- }
if (!W_ERROR_IS_OK(*perr)) {
cversion = -1;
}