unknown_3 flag of USER_INFO

Jianliang Lu j.lu at tiesse.com
Tue Jan 13 16:08:57 GMT 2004


I'd like to discuss about the implementation of SAMR_SET_USERINFO2,in which 
the important ULONG flag "unknown_3" is not interpreted. The "unknown_3" flag 
is "WhichFields" on MS RPC SAMR that is like  "can set" mask, means that I 
can set a field of the user_info only its correspondent bit of mask is set. 
So the code should be like as following: 

(WhichFields = unknown_3;)

if ( from->WhichFields & USER_INFO_WORKSTATIONS ) { then set WORKSTATIONS };  
if ( from->WhichFields & USER_INFO_USERNAME ) ) { then set 
USERNAMES };   .....

The mask bits are following:

#define USER_INFO_USERNAME           0x00000001
#define USER_INFO_FULLNAME           0x00000002
#define USER_INFO_USERID             0x00000004
#define USER_INFO_PRIMARYGROUPID     0x00000008
#define USER_INFO_ADMINCOMMENT       0x00000010
#define USER_INFO_USERCOMMENT        0x00000020
#define USER_INFO_HOMEDIRECTORY      0x00000040
#define USER_INFO_HOMEDIRECTORYDRIVE 0x00000080
#define USER_INFO_SCRIPTPATH         0x00000100
#define USER_INFO_PROFILEPATH        0x00000200
#define USER_INFO_WORKSTATIONS       0x00000400
#define USER_INFO_LASTLOGON          0x00000800
#define USER_INFO_LASTLOGOFF         0x00001000
#define USER_INFO_LOGONHOURS         0x00002000
#define USER_INFO_BADPASSWORDCOUNT   0x00004000
#define USER_INFO_LOGONCOUNT         0x00008000
#define USER_INFO_PASSWORDCANCHANGE  0x00010000
#define USER_INFO_PASSWORDMUSTCHANGE 0x00020000
#define USER_INFO_PASSWORDLASTSET    0x00040000
#define USER_INFO_ACCOUNTEXPIRES     0x00080000
#define USER_INFO_USERACCOUNTCONTROL 0x00100000
#define USER_INFO_PARAMETERS         0x00200000 /* ntsubauth */
#define USER_INFO_COUNTRYCODE        0x00400000
#define USER_INFO_CODEPAGE           0x00800000
#define USER_INFO_NTPASSWORDPRESENT  0x01000000  /* field AND boolean */
#define USER_INFO_LMPASSWORDPRESENT  0x02000000  /* field AND boolean */
#define USER_INFO_PRIVATEDATA        0x04000000  /* field AND boolean */
#define USER_INFO_PASSWORDEXPIRED    0x08000000
#define USER_INFO_SECURITYDESCRIPTOR 0x10000000
#define USER_INFO_OWFPASSWORD        0x20000000  /* boolean */

#define USER_INFO_UNDEFINED_MASK     0xC0000000

Cheers,
Jianliang Lu
TieSse s.p.a.     Ivrea (To) - Italy
j.lu at tiesse.com   luj at libero.it
http://www.tiesse.com


More information about the samba-technical mailing list