From 6fb5804b28adffbbcb45b84e485e09d9d2ddddea Mon Sep 17 00:00:00 2001 From: Luke Leighton Date: Fri, 25 Sep 1998 22:20:05 +0000 Subject: added in samr commands. assistance in returning the missing functions, automatically removed because they were "unused", would be appreciated. (This used to be commit d0f7b0d915973ccb85409af3d6d951a716cd66d2) --- source3/rpcclient/cmd_samr.c | 180 ++++++++++++++++++++++-------------------- source3/rpcclient/display.c | 104 ++++++++++++------------ source3/rpcclient/rpcclient.c | 4 - 3 files changed, 147 insertions(+), 141 deletions(-) (limited to 'source3/rpcclient') diff --git a/source3/rpcclient/cmd_samr.c b/source3/rpcclient/cmd_samr.c index 447f2c41d0..f8710d548d 100644 --- a/source3/rpcclient/cmd_samr.c +++ b/source3/rpcclient/cmd_samr.c @@ -34,7 +34,6 @@ extern int DEBUGLEVEL; #define DEBUG_TESTING extern struct cli_state *smb_cli; -extern int smb_tidx; extern FILE* out_hnd; @@ -45,8 +44,8 @@ experimental SAM encryted rpc test connection void cmd_sam_test(struct client_info *info) { fstring srv_name; - fstring sid; fstring domain; + fstring sid; BOOL res = True; fstrcpy(sid , info->dom.level5_sid); @@ -58,20 +57,18 @@ void cmd_sam_test(struct client_info *info) return; } - strcpy(srv_name, "\\\\"); - strcat(srv_name, info->myhostname); + fstrcpy(srv_name, "\\\\"); + fstrcat(srv_name, info->myhostname); strupper(srv_name); fprintf(out_hnd, "SAM Encryption Test\n"); /* open SAMR session. */ - res = res ? do_ntlm_session_open(smb_cli, smb_tidx, - PIPE_SAMR, &(info->dom.samr_fnum), - info->myhostname, domain) : False; + res = res ? cli_nt_session_open(smb_cli, PIPE_SAMR, True) : False; /* close the session */ - do_session_close(smb_cli, smb_tidx, info->dom.samr_fnum); + cli_nt_session_close(smb_cli); if (res) { @@ -90,8 +87,9 @@ experimental SAM users enum. void cmd_sam_enum_users(struct client_info *info) { fstring srv_name; - fstring sid; fstring domain; + fstring sid; + DOM_SID sid1; int user_idx; BOOL res = True; BOOL request_user_info = False; @@ -112,40 +110,42 @@ void cmd_sam_enum_users(struct client_info *info) return; } - strcpy(srv_name, "\\\\"); - strcat(srv_name, info->dest_host); + make_dom_sid(&sid1, sid); + + fstrcpy(srv_name, "\\\\"); + fstrcat(srv_name, info->dest_host); strupper(srv_name); /* a bad way to do token parsing... */ - if (next_token(NULL, tmp, NULL)) + if (next_token(NULL, tmp, NULL, sizeof(tmp))) { request_user_info |= strequal(tmp, "-u"); request_group_info |= strequal(tmp, "-g"); } - if (next_token(NULL, tmp, NULL)) + if (next_token(NULL, tmp, NULL, sizeof(tmp))) { request_user_info |= strequal(tmp, "-u"); request_group_info |= strequal(tmp, "-g"); } #ifdef DEBUG_TESTING - if (next_token(NULL, tmp, NULL)) + if (next_token(NULL, tmp, NULL, sizeof(tmp))) { num_entries = strtoul(tmp, (char**)NULL, 16); } - if (next_token(NULL, tmp, NULL)) + if (next_token(NULL, tmp, NULL, sizeof(tmp))) { unk_0 = strtoul(tmp, (char**)NULL, 16); } - if (next_token(NULL, tmp, NULL)) + if (next_token(NULL, tmp, NULL, sizeof(tmp))) { acb_mask = strtoul(tmp, (char**)NULL, 16); } - if (next_token(NULL, tmp, NULL)) + if (next_token(NULL, tmp, NULL, sizeof(tmp))) { unk_1 = strtoul(tmp, (char**)NULL, 16); } @@ -161,20 +161,20 @@ void cmd_sam_enum_users(struct client_info *info) #endif /* open SAMR session. negotiate credentials */ - res = res ? do_session_open(smb_cli, smb_tidx, PIPE_SAMR, &(info->dom.samr_fnum)) : False; + res = res ? cli_nt_session_open(smb_cli, PIPE_SAMR, False) : False; /* establish a connection. */ - res = res ? do_samr_connect(smb_cli, smb_tidx, info->dom.samr_fnum, + res = res ? do_samr_connect(smb_cli, srv_name, 0x00000020, &info->dom.samr_pol_connect) : False; /* connect to the domain */ - res = res ? do_samr_open_domain(smb_cli, smb_tidx, info->dom.samr_fnum, - &info->dom.samr_pol_connect, admin_rid, sid, + res = res ? do_samr_open_domain(smb_cli, + &info->dom.samr_pol_connect, admin_rid, &sid1, &info->dom.samr_pol_open_domain) : False; /* read some users */ - res = res ? do_samr_enum_dom_users(smb_cli, smb_tidx, info->dom.samr_fnum, + res = res ? do_samr_enum_dom_users(smb_cli, &info->dom.samr_pol_open_domain, num_entries, unk_0, acb_mask, unk_1, 0xffff, info->dom.sam, &info->dom.num_sam_entries) : False; @@ -201,13 +201,13 @@ void cmd_sam_enum_users(struct client_info *info) if (request_user_info) { /* send user info query, level 0x15 */ - if (get_samr_query_userinfo(smb_cli, smb_tidx, info->dom.samr_fnum, + if (get_samr_query_userinfo(smb_cli, &info->dom.samr_pol_open_domain, 0x15, user_rid, &usr)) { - display_sam_user_info_21(out_hnd, DISPLAY_TXT, ACTION_HEADER , &usr); - display_sam_user_info_21(out_hnd, DISPLAY_TXT, ACTION_ENUMERATE, &usr); - display_sam_user_info_21(out_hnd, DISPLAY_TXT, ACTION_FOOTER , &usr); + display_sam_user_info_21(out_hnd, ACTION_HEADER , &usr); + display_sam_user_info_21(out_hnd, ACTION_ENUMERATE, &usr); + display_sam_user_info_21(out_hnd, ACTION_FOOTER , &usr); } } @@ -217,13 +217,13 @@ void cmd_sam_enum_users(struct client_info *info) DOM_GID gid[LSA_MAX_GROUPS]; /* send user group query */ - if (get_samr_query_usergroups(smb_cli, smb_tidx, info->dom.samr_fnum, + if (get_samr_query_usergroups(smb_cli, &info->dom.samr_pol_open_domain, user_rid, &num_groups, gid)) { - display_group_rid_info(out_hnd, DISPLAY_TXT, ACTION_HEADER , num_groups, gid); - display_group_rid_info(out_hnd, DISPLAY_TXT, ACTION_ENUMERATE, num_groups, gid); - display_group_rid_info(out_hnd, DISPLAY_TXT, ACTION_FOOTER , num_groups, gid); + display_group_rid_info(out_hnd, ACTION_HEADER , num_groups, gid); + display_group_rid_info(out_hnd, ACTION_ENUMERATE, num_groups, gid); + display_group_rid_info(out_hnd, ACTION_FOOTER , num_groups, gid); } } @@ -231,14 +231,14 @@ void cmd_sam_enum_users(struct client_info *info) } } - res = res ? do_samr_close(smb_cli, smb_tidx, info->dom.samr_fnum, + res = res ? do_samr_close(smb_cli, &info->dom.samr_pol_connect) : False; - res = res ? do_samr_close(smb_cli, smb_tidx, info->dom.samr_fnum, + res = res ? do_samr_close(smb_cli, &info->dom.samr_pol_open_domain) : False; /* close the session */ - do_session_close(smb_cli, smb_tidx, info->dom.samr_fnum); + cli_nt_session_close(smb_cli); if (res) { @@ -257,8 +257,9 @@ experimental SAM user query. void cmd_sam_query_user(struct client_info *info) { fstring srv_name; - fstring sid; fstring domain; + fstring sid; + DOM_SID sid1; int user_idx; BOOL res = True; BOOL request_user_info = False; @@ -284,11 +285,14 @@ void cmd_sam_query_user(struct client_info *info) return; } - strcpy(srv_name, "\\\\"); - strcat(srv_name, info->dest_host); + make_dom_sid(&sid1, sid); + + fstrcpy(srv_name, "\\\\"); + fstrcat(srv_name, info->dest_host); strupper(srv_name); - if (next_token(NULL, rid_str, NULL) && next_token(NULL, info_str, NULL)) + if (next_token(NULL, rid_str , NULL, sizeof(rid_str )) && + next_token(NULL, info_str, NULL, sizeof(info_str))) { user_rid = strtoul(rid_str , (char**)NULL, 16); info_level = strtoul(info_str, (char**)NULL, 10); @@ -300,16 +304,16 @@ void cmd_sam_query_user(struct client_info *info) info->myhostname, srv_name, domain, sid); /* open SAMR session. negotiate credentials */ - res = res ? do_session_open(smb_cli, smb_tidx, PIPE_SAMR, &(info->dom.samr_fnum)) : False; + res = res ? cli_nt_session_open(smb_cli, PIPE_SAMR, False) : False; /* establish a connection. */ - res = res ? do_samr_connect(smb_cli, smb_tidx, info->dom.samr_fnum, + res = res ? do_samr_connect(smb_cli, srv_name, 0x00000020, &info->dom.samr_pol_connect) : False; /* connect to the domain */ - res = res ? do_samr_open_domain(smb_cli, smb_tidx, info->dom.samr_fnum, - &info->dom.samr_pol_connect, admin_rid, sid, + res = res ? do_samr_open_domain(smb_cli, + &info->dom.samr_pol_connect, admin_rid, &sid1, &info->dom.samr_pol_open_domain) : False; fprintf(out_hnd, "User RID: %8x User Name: %s\n", @@ -317,26 +321,26 @@ void cmd_sam_query_user(struct client_info *info) info->dom.sam[user_idx].acct_name); /* send user info query, level */ - if (get_samr_query_userinfo(smb_cli, smb_tidx, info->dom.samr_fnum, + if (get_samr_query_userinfo(smb_cli, &info->dom.samr_pol_open_domain, info_level, user_rid, &usr)) { if (info_level == 0x15) { - display_sam_user_info_21(out_hnd, DISPLAY_TXT, ACTION_HEADER , &usr); - display_sam_user_info_21(out_hnd, DISPLAY_TXT, ACTION_ENUMERATE, &usr); - display_sam_user_info_21(out_hnd, DISPLAY_TXT, ACTION_FOOTER , &usr); + display_sam_user_info_21(out_hnd, ACTION_HEADER , &usr); + display_sam_user_info_21(out_hnd, ACTION_ENUMERATE, &usr); + display_sam_user_info_21(out_hnd, ACTION_FOOTER , &usr); } } - res = res ? do_samr_close(smb_cli, smb_tidx, info->dom.samr_fnum, + res = res ? do_samr_close(smb_cli, &info->dom.samr_pol_connect) : False; - res = res ? do_samr_close(smb_cli, smb_tidx, info->dom.samr_fnum, + res = res ? do_samr_close(smb_cli, &info->dom.samr_pol_open_domain) : False; /* close the session */ - do_session_close(smb_cli, smb_tidx, info->dom.samr_fnum); + cli_nt_session_close(smb_cli); if (res) { @@ -355,8 +359,9 @@ experimental SAM groups query. void cmd_sam_query_groups(struct client_info *info) { fstring srv_name; - fstring sid; fstring domain; + fstring sid; + DOM_SID sid1; BOOL res = True; fstring info_str; uint32 switch_value = 2; @@ -371,11 +376,13 @@ void cmd_sam_query_groups(struct client_info *info) return; } - strcpy(srv_name, "\\\\"); - strcat(srv_name, info->dest_host); + make_dom_sid(&sid1, sid); + + fstrcpy(srv_name, "\\\\"); + fstrcat(srv_name, info->dest_host); strupper(srv_name); - if (next_token(NULL, info_str, NULL)) + if (next_token(NULL, info_str, NULL, sizeof(info_str))) { switch_value = strtoul(info_str, (char**)NULL, 10); } @@ -385,30 +392,30 @@ void cmd_sam_query_groups(struct client_info *info) info->myhostname, srv_name, domain, sid); /* open SAMR session. negotiate credentials */ - res = res ? do_session_open(smb_cli, smb_tidx, PIPE_SAMR, &(info->dom.samr_fnum)) : False; + res = res ? cli_nt_session_open(smb_cli, PIPE_SAMR, False) : False; /* establish a connection. */ - res = res ? do_samr_connect(smb_cli, smb_tidx, info->dom.samr_fnum, + res = res ? do_samr_connect(smb_cli, srv_name, 0x00000020, &info->dom.samr_pol_connect) : False; /* connect to the domain */ - res = res ? do_samr_open_domain(smb_cli, smb_tidx, info->dom.samr_fnum, - &info->dom.samr_pol_connect, admin_rid, sid, + res = res ? do_samr_open_domain(smb_cli, + &info->dom.samr_pol_connect, admin_rid, &sid1, &info->dom.samr_pol_open_domain) : False; /* send a samr 0x8 command */ - res = res ? do_samr_unknown_8(smb_cli, smb_tidx, info->dom.samr_fnum, + res = res ? do_samr_unknown_8(smb_cli, &info->dom.samr_pol_open_domain, switch_value) : False; - res = res ? do_samr_close(smb_cli, smb_tidx, info->dom.samr_fnum, + res = res ? do_samr_close(smb_cli, &info->dom.samr_pol_connect) : False; - res = res ? do_samr_close(smb_cli, smb_tidx, info->dom.samr_fnum, + res = res ? do_samr_close(smb_cli, &info->dom.samr_pol_open_domain) : False; /* close the session */ - do_session_close(smb_cli, smb_tidx, info->dom.samr_fnum); + cli_nt_session_close(smb_cli); if (res) { @@ -427,8 +434,9 @@ experimental SAM aliases query. void cmd_sam_enum_aliases(struct client_info *info) { fstring srv_name; - fstring sid; fstring domain; + fstring sid; + DOM_SID sid1; int user_idx; BOOL res = True; BOOL res2 = True; @@ -455,18 +463,20 @@ void cmd_sam_enum_aliases(struct client_info *info) return; } - strcpy(srv_name, "\\\\"); - strcat(srv_name, info->dest_host); + make_dom_sid(&sid1, sid); + + fstrcpy(srv_name, "\\\\"); + fstrcat(srv_name, info->dest_host); strupper(srv_name); /* a bad way to do token parsing... */ - if (next_token(NULL, tmp, NULL)) + if (next_token(NULL, tmp, NULL, sizeof(tmp))) { request_user_info |= strequal(tmp, "-u"); request_alias_info |= strequal(tmp, "-g"); } - if (next_token(NULL, tmp, NULL)) + if (next_token(NULL, tmp, NULL, sizeof(tmp))) { request_user_info |= strequal(tmp, "-u"); request_alias_info |= strequal(tmp, "-g"); @@ -477,34 +487,34 @@ void cmd_sam_enum_aliases(struct client_info *info) info->myhostname, srv_name, domain, sid); /* open SAMR session. negotiate credentials */ - res = res ? do_session_open(smb_cli, smb_tidx, PIPE_SAMR, &(info->dom.samr_fnum)) : False; + res = res ? cli_nt_session_open(smb_cli, PIPE_SAMR, False) : False; /* establish a connection. */ - res = res ? do_samr_connect(smb_cli, smb_tidx, info->dom.samr_fnum, + res = res ? do_samr_connect(smb_cli, srv_name, 0x00000020, &info->dom.samr_pol_connect) : False; /* connect to the domain */ - res = res ? do_samr_open_domain(smb_cli, smb_tidx, info->dom.samr_fnum, - &info->dom.samr_pol_connect, admin_rid, sid, + res = res ? do_samr_open_domain(smb_cli, + &info->dom.samr_pol_connect, admin_rid, &sid1, &info->dom.samr_pol_open_domain) : False; /* send a query on the aliase */ - res = res ? do_samr_query_unknown_12(smb_cli, smb_tidx, info->dom.samr_fnum, + res = res ? do_samr_query_unknown_12(smb_cli, &info->dom.samr_pol_open_domain, admin_rid, num_aliases, alias_rid, &num_aliases, alias_names, num_als_usrs) : False; if (res) { - display_alias_name_info(out_hnd, DISPLAY_TXT, ACTION_HEADER , num_aliases, alias_names, num_als_usrs); - display_alias_name_info(out_hnd, DISPLAY_TXT, ACTION_ENUMERATE, num_aliases, alias_names, num_als_usrs); - display_alias_name_info(out_hnd, DISPLAY_TXT, ACTION_FOOTER , num_aliases, alias_names, num_als_usrs); + display_alias_name_info(out_hnd, ACTION_HEADER , num_aliases, alias_names, num_als_usrs); + display_alias_name_info(out_hnd, ACTION_ENUMERATE, num_aliases, alias_names, num_als_usrs); + display_alias_name_info(out_hnd, ACTION_FOOTER , num_aliases, alias_names, num_als_usrs); } #if 0 /* read some users */ - res = res ? do_samr_enum_dom_users(smb_cli, smb_tidx, info->dom.samr_fnum, + res = res ? do_samr_enum_dom_users(smb_cli, &info->dom.samr_pol_open_domain, num_entries, unk_0, acb_mask, unk_1, 0xffff, info->dom.sam, &info->dom.num_sam_entries) : False; @@ -531,13 +541,13 @@ void cmd_sam_enum_aliases(struct client_info *info) if (request_user_info) { /* send user info query, level 0x15 */ - if (get_samr_query_userinfo(smb_cli, smb_tidx, info->dom.samr_fnum, + if (get_samr_query_userinfo(smb_cli, &info->dom.samr_pol_open_domain, 0x15, user_rid, &usr)) { - display_sam_user_info_21(out_hnd, DISPLAY_TXT, ACTION_HEADER , &usr); - display_sam_user_info_21(out_hnd, DISPLAY_TXT, ACTION_ENUMERATE, &usr); - display_sam_user_info_21(out_hnd, DISPLAY_TXT, ACTION_FOOTER , &usr); + display_sam_user_info_21(out_hnd, ACTION_HEADER , &usr); + display_sam_user_info_21(out_hnd, ACTION_ENUMERATE, &usr); + display_sam_user_info_21(out_hnd, ACTION_FOOTER , &usr); } } @@ -547,13 +557,13 @@ void cmd_sam_enum_aliases(struct client_info *info) DOM_GID gid[LSA_MAX_GROUPS]; /* send user aliase query */ - if (get_samr_query_useraliases(smb_cli, smb_tidx, info->dom.samr_fnum, + if (get_samr_query_useraliases(smb_cli, &info->dom.samr_pol_open_domain, user_rid, &num_aliases, gid)) { - display_alias_info(out_hnd, DISPLAY_TXT, ACTION_HEADER , num_aliases, gid); - display_alias_info(out_hnd, DISPLAY_TXT, ACTION_ENUMERATE, num_aliases, gid); - display_alias_info(out_hnd, DISPLAY_TXT, ACTION_FOOTER , num_aliases, gid); + display_alias_info(out_hnd, ACTION_HEADER , num_aliases, gid); + display_alias_info(out_hnd, ACTION_ENUMERATE, num_aliases, gid); + display_alias_info(out_hnd, ACTION_FOOTER , num_aliases, gid); } } @@ -562,14 +572,14 @@ void cmd_sam_enum_aliases(struct client_info *info) } #endif - res = res ? do_samr_close(smb_cli, smb_tidx, info->dom.samr_fnum, + res = res ? do_samr_close(smb_cli, &info->dom.samr_pol_connect) : False; - res = res ? do_samr_close(smb_cli, smb_tidx, info->dom.samr_fnum, + res = res ? do_samr_close(smb_cli, &info->dom.samr_pol_open_domain) : False; /* close the session */ - do_session_close(smb_cli, smb_tidx, info->dom.samr_fnum); + cli_nt_session_close(smb_cli); if (res) { diff --git a/source3/rpcclient/display.c b/source3/rpcclient/display.c index b3a4e60029..f399b7fc03 100644 --- a/source3/rpcclient/display.c +++ b/source3/rpcclient/display.c @@ -32,20 +32,20 @@ char *get_file_mode_str(uint32 share_mode) switch ((share_mode>>4)&0xF) { - case DENY_NONE : strcpy(mode, "DENY_NONE "); break; - case DENY_ALL : strcpy(mode, "DENY_ALL "); break; - case DENY_DOS : strcpy(mode, "DENY_DOS "); break; - case DENY_READ : strcpy(mode, "DENY_READ "); break; - case DENY_WRITE: strcpy(mode, "DENY_WRITE "); break; - default : strcpy(mode, "DENY_???? "); break; + case DENY_NONE : fstrcpy(mode, "DENY_NONE "); break; + case DENY_ALL : fstrcpy(mode, "DENY_ALL "); break; + case DENY_DOS : fstrcpy(mode, "DENY_DOS "); break; + case DENY_READ : fstrcpy(mode, "DENY_READ "); break; + case DENY_WRITE: fstrcpy(mode, "DENY_WRITE "); break; + default : fstrcpy(mode, "DENY_???? "); break; } switch (share_mode & 0xF) { - case 0 : strcat(mode, "RDONLY"); break; - case 1 : strcat(mode, "WRONLY"); break; - case 2 : strcat(mode, "RDWR "); break; - default: strcat(mode, "R??W??"); break; + case 0 : fstrcat(mode, "RDONLY"); break; + case 1 : fstrcat(mode, "WRONLY"); break; + case 2 : fstrcat(mode, "RDWR "); break; + default: fstrcat(mode, "R??W??"); break; } return mode; @@ -62,10 +62,10 @@ char *get_file_oplock_str(uint32 op_type) oplock[0] = 0; - if (excl ) strcat(oplock, "EXCLUSIVE"); - if (excl && batch) strcat(oplock, "+"); - if ( batch) strcat(oplock, "BATCH"); - if (!excl && !batch) strcat(oplock, "NONE"); + if (excl ) fstrcat(oplock, "EXCLUSIVE"); + if (excl && batch) fstrcat(oplock, "+"); + if ( batch) fstrcat(oplock, "BATCH"); + if (!excl && !batch) fstrcat(oplock, "NONE"); return oplock; } @@ -79,11 +79,11 @@ char *get_share_type_str(uint32 type) switch (type) { - case STYPE_DISKTREE: strcpy(typestr, "Disk" ); break; - case STYPE_PRINTQ : strcpy(typestr, "Printer"); break; - case STYPE_DEVICE : strcpy(typestr, "Device" ); break; - case STYPE_IPC : strcpy(typestr, "IPC" ); break; - default : strcpy(typestr, "????" ); break; + case STYPE_DISKTREE: fstrcpy(typestr, "Disk" ); break; + case STYPE_PRINTQ : fstrcpy(typestr, "Printer"); break; + case STYPE_DEVICE : fstrcpy(typestr, "Device" ); break; + case STYPE_IPC : fstrcpy(typestr, "IPC" ); break; + default : fstrcpy(typestr, "????" ); break; } return typestr; } @@ -97,7 +97,7 @@ char *get_server_type_str(uint32 type) if (type == SV_TYPE_ALL) { - strcpy(typestr, "All"); + fstrcpy(typestr, "All"); } else { @@ -109,32 +109,32 @@ char *get_server_type_str(uint32 type) { switch (1 << i) { - case SV_TYPE_WORKSTATION : strcat(typestr, "Wk " ); break; - case SV_TYPE_SERVER : strcat(typestr, "Sv " ); break; - case SV_TYPE_SQLSERVER : strcat(typestr, "Sql "); break; - case SV_TYPE_DOMAIN_CTRL : strcat(typestr, "PDC "); break; - case SV_TYPE_DOMAIN_BAKCTRL : strcat(typestr, "BDC "); break; - case SV_TYPE_TIME_SOURCE : strcat(typestr, "Tim "); break; - case SV_TYPE_AFP : strcat(typestr, "AFP "); break; - case SV_TYPE_NOVELL : strcat(typestr, "Nov "); break; - case SV_TYPE_DOMAIN_MEMBER : strcat(typestr, "Dom "); break; - case SV_TYPE_PRINTQ_SERVER : strcat(typestr, "PrQ "); break; - case SV_TYPE_DIALIN_SERVER : strcat(typestr, "Din "); break; - case SV_TYPE_SERVER_UNIX : strcat(typestr, "Unx "); break; - case SV_TYPE_NT : strcat(typestr, "NT " ); break; - case SV_TYPE_WFW : strcat(typestr, "Wfw "); break; - case SV_TYPE_SERVER_MFPN : strcat(typestr, "Mfp "); break; - case SV_TYPE_SERVER_NT : strcat(typestr, "SNT "); break; - case SV_TYPE_POTENTIAL_BROWSER: strcat(typestr, "PtB "); break; - case SV_TYPE_BACKUP_BROWSER : strcat(typestr, "BMB "); break; - case SV_TYPE_MASTER_BROWSER : strcat(typestr, "LMB "); break; - case SV_TYPE_DOMAIN_MASTER : strcat(typestr, "DMB "); break; - case SV_TYPE_SERVER_OSF : strcat(typestr, "OSF "); break; - case SV_TYPE_SERVER_VMS : strcat(typestr, "VMS "); break; - case SV_TYPE_WIN95_PLUS : strcat(typestr, "W95 "); break; - case SV_TYPE_ALTERNATE_XPORT : strcat(typestr, "Xpt "); break; - case SV_TYPE_LOCAL_LIST_ONLY : strcat(typestr, "Dom "); break; - case SV_TYPE_DOMAIN_ENUM : strcat(typestr, "Loc "); break; + case SV_TYPE_WORKSTATION : fstrcat(typestr, "Wk " ); break; + case SV_TYPE_SERVER : fstrcat(typestr, "Sv " ); break; + case SV_TYPE_SQLSERVER : fstrcat(typestr, "Sql "); break; + case SV_TYPE_DOMAIN_CTRL : fstrcat(typestr, "PDC "); break; + case SV_TYPE_DOMAIN_BAKCTRL : fstrcat(typestr, "BDC "); break; + case SV_TYPE_TIME_SOURCE : fstrcat(typestr, "Tim "); break; + case SV_TYPE_AFP : fstrcat(typestr, "AFP "); break; + case SV_TYPE_NOVELL : fstrcat(typestr, "Nov "); break; + case SV_TYPE_DOMAIN_MEMBER : fstrcat(typestr, "Dom "); break; + case SV_TYPE_PRINTQ_SERVER : fstrcat(typestr, "PrQ "); break; + case SV_TYPE_DIALIN_SERVER : fstrcat(typestr, "Din "); break; + case SV_TYPE_SERVER_UNIX : fstrcat(typestr, "Unx "); break; + case SV_TYPE_NT : fstrcat(typestr, "NT " ); break; + case SV_TYPE_WFW : fstrcat(typestr, "Wfw "); break; + case SV_TYPE_SERVER_MFPN : fstrcat(typestr, "Mfp "); break; + case SV_TYPE_SERVER_NT : fstrcat(typestr, "SNT "); break; + case SV_TYPE_POTENTIAL_BROWSER: fstrcat(typestr, "PtB "); break; + case SV_TYPE_BACKUP_BROWSER : fstrcat(typestr, "BMB "); break; + case SV_TYPE_MASTER_BROWSER : fstrcat(typestr, "LMB "); break; + case SV_TYPE_DOMAIN_MASTER : fstrcat(typestr, "DMB "); break; + case SV_TYPE_SERVER_OSF : fstrcat(typestr, "OSF "); break; + case SV_TYPE_SERVER_VMS : fstrcat(typestr, "VMS "); break; + case SV_TYPE_WIN95_PLUS : fstrcat(typestr, "W95 "); break; + case SV_TYPE_ALTERNATE_XPORT : fstrcat(typestr, "Xpt "); break; + case SV_TYPE_LOCAL_LIST_ONLY : fstrcat(typestr, "Dom "); break; + case SV_TYPE_DOMAIN_ENUM : fstrcat(typestr, "Loc "); break; } } } @@ -977,12 +977,12 @@ void display_sam_user_info_21(FILE *out_hnd, enum action_type action, SAM_USER_I fprintf(out_hnd, "\t\tUnknown Str : %s\n", unistrn2(usr->uni_unknown_str .buffer, usr->uni_unknown_str .uni_str_len)); /* unknown string unicode string */ fprintf(out_hnd, "\t\tRemote Dial : %s\n", unistrn2(usr->uni_munged_dial .buffer, usr->uni_munged_dial .uni_str_len)); /* munged remote access unicode string */ - fprintf(out_hnd, "\t\tLogon Time : %s\n", time_to_string(interpret_nt_time(&(usr->logon_time )))); - fprintf(out_hnd, "\t\tLogoff Time : %s\n", time_to_string(interpret_nt_time(&(usr->logoff_time )))); - fprintf(out_hnd, "\t\tKickoff Time : %s\n", time_to_string(interpret_nt_time(&(usr->kickoff_time )))); - fprintf(out_hnd, "\t\tPassword last set Time : %s\n", time_to_string(interpret_nt_time(&(usr->pass_last_set_time )))); - fprintf(out_hnd, "\t\tPassword can change Time : %s\n", time_to_string(interpret_nt_time(&(usr->pass_can_change_time )))); - fprintf(out_hnd, "\t\tPassword must change Time: %s\n", time_to_string(interpret_nt_time(&(usr->pass_must_change_time)))); + fprintf(out_hnd, "\t\tLogon Time : %s\n", http_timestring(interpret_nt_time(&(usr->logon_time )))); + fprintf(out_hnd, "\t\tLogoff Time : %s\n", http_timestring(interpret_nt_time(&(usr->logoff_time )))); + fprintf(out_hnd, "\t\tKickoff Time : %s\n", http_timestring(interpret_nt_time(&(usr->kickoff_time )))); + fprintf(out_hnd, "\t\tPassword last set Time : %s\n", http_timestring(interpret_nt_time(&(usr->pass_last_set_time )))); + fprintf(out_hnd, "\t\tPassword can change Time : %s\n", http_timestring(interpret_nt_time(&(usr->pass_can_change_time )))); + fprintf(out_hnd, "\t\tPassword must change Time: %s\n", http_timestring(interpret_nt_time(&(usr->pass_must_change_time)))); fprintf(out_hnd, "\t\tunknown_2[0..31]...\n"); /* user passwords? */ diff --git a/source3/rpcclient/rpcclient.c b/source3/rpcclient/rpcclient.c index 9c4f160f9f..3166046c19 100644 --- a/source3/rpcclient/rpcclient.c +++ b/source3/rpcclient/rpcclient.c @@ -115,18 +115,14 @@ struct {"srvfiles", cmd_srv_enum_files, "DCE/RPC - List files on a server"}, #endif {"lsaquery", cmd_lsa_query_info, "Query Info Policy (domain member or server)"}, -#if 0 {"enumusers", cmd_sam_enum_users, "SAM User Database Query (experimental!)"}, {"samuser", cmd_sam_query_user, " SAM User Query (experimental!)"}, {"samtest", cmd_sam_test , "SAM User Encrypted RPC test (experimental!)"}, {"enumaliases",cmd_sam_enum_aliases, "SAM Aliases Database Query (experimental!)"}, -#endif #if 0 {"enumgroups", cmd_sam_enum_groups, "SAM Group Database Query (experimental!)"}, #endif -#if 0 {"samgroups", cmd_sam_query_groups, "SAM Group Database Query (experimental!)"}, -#endif {"quit", cmd_quit, "logoff the server"}, {"q", cmd_quit, "logoff the server"}, {"exit", cmd_quit, "logoff the server"}, -- cgit