uni_full_name and uni_acct_desc in SAM_USER_INFO_21 swapped?

Jim McDonough jmcd at us.ibm.com
Tue Feb 20 18:51:57 GMT 2001


I was trying to get Full Name to show up on User Manager for domains, on
both NT4 and 2K, so I added some code to get_passwd_entries in srv_samr.c.
However, when I used uni_full_name, that text showed up in the
"Description" column, and uni_acct_desc text showed up in the "Full Name"
column in usrmgr.exe.  Is it possible these two fields are swapped?

Here's the code I added to srv_samr.c:

--- ../../../../orig/samba-2.2/source/rpc_server/srv_samr.c  Tue Feb 20
11:50:02 2001
+++ ./srv_samr.c    Tue Feb 20 11:30:07 2001
@@ -278,6 +284,7 @@
     /* now current_idx == start_idx */
     while ((*num_entries) < max_num_entries) {
          int user_name_len;
+         int full_name_len;
          char *unmap_name;

          /* This does the original UNIX user itself */
@@ -291,6 +298,7 @@
               }

               user_name_len = strlen(pwd->pw_name);
+              full_name_len = strlen(pwd->pw_gecos);

               /* skip the trust account stored in the /etc/passwd file */
               if (pwd->pw_name[user_name_len-1]=='$')
@@ -300,6 +308,11 @@
               ZERO_STRUCTP(&pw_buf[(*num_entries)]);
               init_unistr2(&(pw_buf[(*num_entries)].uni_user_name),
pwd->pw_name, user_name_len);
               init_uni_hdr(&(pw_buf[(*num_entries)].hdr_user_name),
user_name_len);
+              if (full_name_len) {
+                init_unistr2(&(pw_buf[(*num_entries)].uni_acct_desc),
pwd->pw_gecos, full_name_len);
+                init_uni_hdr(&(pw_buf[(*num_entries)].hdr_acct_desc),
full_name_len);
+              }
+
               pw_buf[(*num_entries)].user_rid = pw_rid;
               memset((char *)pw_buf[(*num_entries)].nt_pwd, '\0', 16);


----------------------------
Jim McDonough
Linux Technology Center
IBM Boulder

Notes: Jim McDonough/Boulder/IBM @ IBMUS
VNET: JMCD at IBMUSM54
Internet: jmcd at us.ibm.com

Phone: (303) 924-5822
T/L: 263-5822





More information about the samba-technical mailing list