char *name_v[] = {NULL, NULL};
char *desc_v[] = {NULL, NULL};
char *samAccountName_v[] = {NULL, NULL};
+ char *groupTypeControl_v[] = {NULL, NULL};
+ u_int groupTypeControl = ADS_GROUP_TYPE_GLOBAL_GROUP;
+ char groupTypeControlStr[80];
int n;
int i;
int rc;
name_v[0] = after_group_name;
samAccountName_v[0] = sam_name;
desc_v[0] = after_desc;
+ if (after_security_flag)
+ groupTypeControl |= ADS_GROUP_TYPE_SECURITY_ENABLED;
+ sprintf(groupTypeControlStr, "%ld", groupTypeControl);
+ groupTypeControl_v[0] = groupTypeControlStr;
n = 0;
ADD_ATTR("samAccountName", samAccountName_v, LDAP_MOD_REPLACE);
ADD_ATTR("displayName", name_v, LDAP_MOD_REPLACE);
if (strlen(after_desc) == 0)
desc_v[0] = NULL;
ADD_ATTR("description", desc_v, LDAP_MOD_REPLACE);
+ ADD_ATTR("groupType", groupTypeControl_v, LDAP_MOD_REPLACE);
mods[n] = NULL;
sprintf(new_dn, "cn=%s,%s,%s", after_group_name, after_group_ou, dn_path);
if ((rc = ldap_modify_s(ldap_handle, new_dn, mods)) != LDAP_SUCCESS)