1
0
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:
Luke Leighton 1999-10-01 18:11:57 +00:00
parent 0db243bacb
commit 860688f6e7
4 changed files with 32 additions and 18 deletions

View File

@ -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);

View File

@ -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)));

View File

@ -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);

View File

@ -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"));