netapi: support level 1012 in NetUserSetInfo.
authorGünther Deschner <gd@samba.org>
Tue, 26 Aug 2008 23:36:49 +0000 (01:36 +0200)
committerGünther Deschner <gd@samba.org>
Fri, 29 Aug 2008 11:57:56 +0000 (13:57 +0200)
Guenther
(This used to be commit db650e9b6ead70152b2640415477bb26d0b16097)

source3/lib/netapi/user.c

index 8fa0710dc166f8af43169f3f7e1ee6b147a2b2c8..b7581957c474ca41c8f829487eb7405f3e3908a9 100644 (file)
@@ -69,6 +69,9 @@ static void convert_USER_INFO_X_to_samr_user_info21(struct USER_INFO_X *infoX,
        if (infoX->usriX_full_name) {
                fields_present |= SAMR_FIELD_FULL_NAME;
        }
+       if (infoX->usriX_usr_comment) {
+               fields_present |= SAMR_FIELD_COMMENT;
+       }
 
        unix_to_nt_time_abs(&password_age, infoX->usriX_password_age);
 
@@ -88,7 +91,7 @@ static void convert_USER_INFO_X_to_samr_user_info21(struct USER_INFO_X *infoX,
                              NULL,
                              infoX->usriX_comment,
                              NULL,
-                             NULL,
+                             infoX->usriX_usr_comment,
                              &zero_parameters,
                              0,
                              0,
@@ -118,6 +121,7 @@ static NTSTATUS construct_USER_INFO_X(uint32_t level,
        struct USER_INFO_1007 *u1007 = NULL;
        struct USER_INFO_1009 *u1009 = NULL;
        struct USER_INFO_1011 *u1011 = NULL;
+       struct USER_INFO_1012 *u1012 = NULL;
 
        if (!buffer || !uX) {
                return NT_STATUS_INVALID_PARAMETER;
@@ -184,6 +188,10 @@ static NTSTATUS construct_USER_INFO_X(uint32_t level,
                        u1011 = (struct USER_INFO_1011 *)buffer;
                        uX->usriX_full_name     = u1011->usri1011_full_name;
                        break;
+               case 1012:
+                       u1012 = (struct USER_INFO_1012 *)buffer;
+                       uX->usriX_usr_comment   = u1012->usri1012_usr_comment;
+                       break;
                case 3:
                case 4:
                default:
@@ -1324,6 +1332,9 @@ WERROR NetUserSetInfo_r(struct libnetapi_ctx *ctx,
                case 1011:
                        user_mask = SAMR_USER_ACCESS_SET_ATTRIBUTES;
                        break;
+               case 1012:
+                       user_mask = SAMR_USER_ACCESS_SET_LOC_COM;
+                       break;
                default:
                        werr = WERR_NOT_SUPPORTED;
                        goto done;