1
0
mirror of https://github.com/samba-team/samba.git synced 2025-08-03 04:22:09 +03:00

r6004: Let's make server manager able to kill a user session.

This will send a shutdown command to the right process by pid read from the sessions list.
This commit is contained in:
Simo Sorce
2005-03-23 20:57:03 +00:00
committed by Gerald (Jerry) Carter
parent 21e3cf2f8f
commit 5d3d025db7
4 changed files with 167 additions and 0 deletions

View File

@ -1995,6 +1995,79 @@ BOOL srv_io_r_net_sess_enum(const char *desc, SRV_R_NET_SESS_ENUM *r_n, prs_stru
return True;
}
/*******************************************************************
Inits a SRV_Q_NET_SESS_DEL structure.
********************************************************************/
void init_srv_q_net_sess_del(SRV_Q_NET_SESS_DEL *q_n, const char *srv_name,
const char *cli_name, const char *user_name)
{
DEBUG(5,("init_q_net_sess_enum\n"));
init_buf_unistr2(&q_n->uni_srv_name, &q_n->ptr_srv_name, srv_name);
init_buf_unistr2(&q_n->uni_cli_name, &q_n->ptr_cli_name, cli_name);
init_buf_unistr2(&q_n->uni_user_name, &q_n->ptr_user_name, user_name);
}
/*******************************************************************
Reads or writes a structure.
********************************************************************/
BOOL srv_io_q_net_sess_del(const char *desc, SRV_Q_NET_SESS_DEL *q_n, prs_struct *ps, int depth)
{
if (q_n == NULL)
return False;
prs_debug(ps, depth, desc, "srv_io_q_net_sess_del");
depth++;
if(!prs_align(ps))
return False;
if(!prs_uint32("ptr_srv_name", ps, depth, &q_n->ptr_srv_name))
return False;
if(!smb_io_unistr2("", &q_n->uni_srv_name, True, ps, depth))
return False;
if(!prs_align(ps))
return False;
if(!prs_uint32("ptr_cli_name", ps, depth, &q_n->ptr_cli_name))
return False;
if(!smb_io_unistr2("", &q_n->uni_cli_name, q_n->ptr_cli_name, ps, depth))
return False;
if(!prs_align(ps))
return False;
if(!prs_uint32("ptr_user_name", ps, depth, &q_n->ptr_user_name))
return False;
if(!smb_io_unistr2("", &q_n->uni_user_name, q_n->ptr_user_name, ps, depth))
return False;
return True;
}
/*******************************************************************
Reads or writes a structure.
********************************************************************/
BOOL srv_io_r_net_sess_del(const char *desc, SRV_R_NET_SESS_DEL *r_n, prs_struct *ps, int depth)
{
if (r_n == NULL)
return False;
prs_debug(ps, depth, desc, "srv_io_r_net_sess_del");
depth++;
if(!prs_align(ps))
return False;
if(!prs_werror("status", ps, depth, &r_n->status))
return False;
return True;
}
/*******************************************************************
Inits a CONN_INFO_0 structure
********************************************************************/