mirror of
https://github.com/samba-team/samba.git
synced 2025-01-27 14:04:05 +03:00
error-code checking in lsa_lookup_sids. anonymous connections for
domain info. adjusting net_srv_get_info function. (This used to be commit 42eb916fae0d377f8908dfc42b332e6a53c4e2d9)
This commit is contained in:
parent
0db243bacb
commit
860688f6e7
@ -3189,6 +3189,9 @@ void cmd_sam_enum_groups(struct client_info *info);
|
||||
|
||||
/*The following definitions come from rpcclient/cmd_srvsvc.c */
|
||||
|
||||
BOOL net_srv_get_info(struct client_info *info,
|
||||
uint32 info_level,
|
||||
SRV_INFO_CTR *ctr);
|
||||
void cmd_srv_query_info(struct client_info *info);
|
||||
void cmd_srv_enum_conn(struct client_info *info);
|
||||
void cmd_srv_enum_shares(struct client_info *info);
|
||||
|
@ -407,7 +407,7 @@ BOOL lsa_lookup_sids(struct cli_state *cli, uint16 fnum,
|
||||
|
||||
if (p && r_l.status != 0 &&
|
||||
r_l.status != 0x107 &&
|
||||
r_l.status != 0xC0000000 | NT_STATUS_NONE_MAPPED)
|
||||
r_l.status != (0xC0000000 | NT_STATUS_NONE_MAPPED))
|
||||
{
|
||||
/* report error code */
|
||||
DEBUG(1,("LSA_LOOKUP_SIDS: %s\n", get_nt_error_msg(r_l.status)));
|
||||
|
@ -1676,7 +1676,7 @@ void cmd_sam_query_dominfo(struct client_info *info)
|
||||
BOOL res = True;
|
||||
fstring info_str;
|
||||
uint32 switch_value = 2;
|
||||
uint32 ace_perms = 0x304; /* absolutely no idea. */
|
||||
uint32 ace_perms = 0x02000000; /* absolutely no idea. */
|
||||
SAM_UNK_CTR ctr;
|
||||
|
||||
sid_to_string(sid, &info->dom.level5_sid);
|
||||
|
@ -41,43 +41,54 @@ extern FILE* out_hnd;
|
||||
/****************************************************************************
|
||||
server get info query
|
||||
****************************************************************************/
|
||||
void cmd_srv_query_info(struct client_info *info)
|
||||
BOOL net_srv_get_info(struct client_info *info,
|
||||
uint32 info_level,
|
||||
SRV_INFO_CTR *ctr)
|
||||
{
|
||||
uint16 nt_pipe_fnum;
|
||||
fstring dest_srv;
|
||||
fstring tmp;
|
||||
SRV_INFO_CTR ctr;
|
||||
uint32 info_level = 101;
|
||||
|
||||
BOOL res = True;
|
||||
|
||||
bzero(&ctr, sizeof(ctr));
|
||||
|
||||
fstrcpy(dest_srv, "\\\\");
|
||||
fstrcat(dest_srv, info->dest_host);
|
||||
strupper(dest_srv);
|
||||
|
||||
if (next_token(NULL, tmp, NULL, sizeof(tmp)-1))
|
||||
{
|
||||
info_level = (uint32)strtol(tmp, (char**)NULL, 10);
|
||||
}
|
||||
|
||||
DEBUG(4,("cmd_srv_query_info: server:%s info level: %d\n",
|
||||
DEBUG(4,("net_srv_get_info: server:%s info level: %d\n",
|
||||
dest_srv, (int)info_level));
|
||||
|
||||
DEBUG(5, ("cmd_srv_query_info: smb_cli->fd:%d\n", smb_cli->fd));
|
||||
|
||||
/* open LSARPC session. */
|
||||
res = res ? cli_nt_session_open(smb_cli, PIPE_SRVSVC, &nt_pipe_fnum) : False;
|
||||
|
||||
/* send info level: receive requested info. hopefully. */
|
||||
res = res ? do_srv_net_srv_get_info(smb_cli, nt_pipe_fnum,
|
||||
dest_srv, info_level, &ctr) : False;
|
||||
dest_srv, info_level, ctr) : False;
|
||||
|
||||
/* close the session */
|
||||
cli_nt_session_close(smb_cli, nt_pipe_fnum);
|
||||
|
||||
if (res)
|
||||
return res;
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
server get info query
|
||||
****************************************************************************/
|
||||
void cmd_srv_query_info(struct client_info *info)
|
||||
{
|
||||
uint32 info_level = 101;
|
||||
SRV_INFO_CTR ctr;
|
||||
fstring tmp;
|
||||
|
||||
bzero(&ctr, sizeof(ctr));
|
||||
|
||||
if (next_token(NULL, tmp, NULL, sizeof(tmp)-1))
|
||||
{
|
||||
info_level = (uint32)strtol(tmp, (char**)NULL, 10);
|
||||
}
|
||||
|
||||
DEBUG(5, ("cmd_srv_query_info: smb_cli->fd:%d\n", smb_cli->fd));
|
||||
|
||||
if (net_srv_get_info(info, info_level, &ctr))
|
||||
{
|
||||
DEBUG(5,("cmd_srv_query_info: query succeeded\n"));
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user