--- mkpasswd.c Fri Jan 11 19:40:57 2002 +++ mkpasswd.new.c Fri Jan 11 20:34:18 2002 @@ -114,9 +114,10 @@ enum_users (LPWSTR servername, int print DWORD entriesread = 0; DWORD totalentries = 0; DWORD resume_handle = 0; - DWORD rc; + DWORD rc, er; char ansi_srvname[256]; WCHAR uni_name[512]; + char buf[4096]; if (servername) uni2ansi (servername, ansi_srvname, sizeof (ansi_srvname)); @@ -147,9 +148,14 @@ enum_users (LPWSTR servername, int print break; default: - fprintf (stderr, "NetUserEnum() failed with error %ld.\n", rc); - if (rc == NERR_UserNotFound) - fprintf (stderr, "That user doesn't exist.\n"); + fprintf (stderr, "mkpasswd: error %ld.\n", rc); + if (FormatMessage (FORMAT_MESSAGE_FROM_SYSTEM + | FORMAT_MESSAGE_IGNORE_INSERTS, + NULL, + rc, + MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT), + (LPTSTR) buf, sizeof (buf), NULL)) + fprintf (stderr, "%s", buf); exit (1); } @@ -206,7 +212,14 @@ enum_users (LPWSTR servername, int print "LookupAccountName(%s,%s) failed with error %ld\n", servername ? ansi_srvname : "NULL", username, - GetLastError ()); + er = GetLastError ()); + if (FormatMessage (FORMAT_MESSAGE_FROM_SYSTEM + | FORMAT_MESSAGE_IGNORE_INSERTS, + NULL, + er, + MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT), + (LPTSTR) buf, sizeof (buf), NULL)) + fprintf (stderr, "%s", buf); continue; } else if (acc_type == SidTypeDomain) @@ -228,7 +241,14 @@ enum_users (LPWSTR servername, int print "LookupAccountName(%s,%s) failed with error %ld\n", servername ? ansi_srvname : "NULL", domname, - GetLastError ()); + er = GetLastError ()); + if (FormatMessage (FORMAT_MESSAGE_FROM_SYSTEM + | FORMAT_MESSAGE_IGNORE_INSERTS, + NULL, + er, + MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT), + (LPTSTR) buf, sizeof (buf), NULL)) + fprintf (stderr, "%s", buf); continue; } } @@ -266,7 +286,8 @@ enum_local_groups (int print_sids) DWORD entriesread = 0; DWORD totalentries = 0; DWORD resume_handle = 0; - DWORD rc ; + DWORD rc, er; + char buf[4096]; do { @@ -285,7 +306,14 @@ enum_local_groups (int print_sids) break; default: - fprintf (stderr, "NetLocalGroupEnum() failed with %ld\n", rc); + fprintf (stderr, "mkpasswd: error %ld.\n", rc); + if (FormatMessage (FORMAT_MESSAGE_FROM_SYSTEM + | FORMAT_MESSAGE_IGNORE_INSERTS, + NULL, + rc, + MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT), + (LPTSTR) buf, sizeof (buf), NULL)) + fprintf (stderr, "%s", buf); exit (1); } @@ -306,7 +334,14 @@ enum_local_groups (int print_sids) &acc_type)) { fprintf (stderr, "LookupAccountName(%s) failed with %ld\n", - localgroup_name, GetLastError ()); + localgroup_name, er = GetLastError ()); + if (FormatMessage (FORMAT_MESSAGE_FROM_SYSTEM + | FORMAT_MESSAGE_IGNORE_INSERTS, + NULL, + er, + MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT), + (LPTSTR) buf, sizeof (buf), NULL)) + fprintf (stderr, "%s", buf); continue; } else if (acc_type == SidTypeDomain) @@ -325,7 +360,14 @@ enum_local_groups (int print_sids) { fprintf (stderr, "LookupAccountName(%s) failed with error %ld\n", - localgroup_name, GetLastError ()); + localgroup_name, er = GetLastError ()); + if (FormatMessage (FORMAT_MESSAGE_FROM_SYSTEM + | FORMAT_MESSAGE_IGNORE_INSERTS, + NULL, + er, + MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT), + (LPTSTR) buf, sizeof (buf), NULL)) + fprintf (stderr, "%s", buf); continue; } } @@ -432,6 +474,7 @@ main (int argc, char **argv) { LPWSTR servername = NULL; DWORD rc = ERROR_SUCCESS; + DWORD er; WCHAR domain_name[200]; int print_local = 0; int print_domain = 0; @@ -442,6 +485,7 @@ main (int argc, char **argv) int id_offset = 10000; int i; char *disp_username = NULL; + char buf[4096]; char name[256], passed_home_path[MAX_PATH]; DWORD len; @@ -534,7 +578,14 @@ main (int argc, char **argv) if (!load_netapi ()) { fprintf (stderr, "Failed loading symbols from netapi32.dll " - "with error %lu\n", GetLastError ()); + "with error %lu\n", er = GetLastError ()); + if (FormatMessage (FORMAT_MESSAGE_FROM_SYSTEM + | FORMAT_MESSAGE_IGNORE_INSERTS, + NULL, + er, + MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT), + (LPTSTR) buf, sizeof (buf), NULL)) + fprintf (stderr, "%s", buf); return 1; } @@ -571,7 +622,14 @@ main (int argc, char **argv) if (rc != ERROR_SUCCESS) { - fprintf (stderr, "Cannot get DC, code = %ld\n", rc); + fprintf (stderr, "mkpasswd: error %ld.\n", rc); + if (FormatMessage (FORMAT_MESSAGE_FROM_SYSTEM + | FORMAT_MESSAGE_IGNORE_INSERTS, + NULL, + rc, + MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT), + (LPTSTR) buf, sizeof (buf), NULL)) + fprintf (stderr, "%s", buf); exit (1); }