From b5fafd960d127028dce43076e46038888b3869ee Mon Sep 17 00:00:00 2001 From: zacheiss Date: Thu, 10 Dec 2009 17:01:23 +0000 Subject: [PATCH] Fix seg fault. --- incremental/ldap/winad.c | 44 ++++++++++++++-------------------------- 1 file changed, 15 insertions(+), 29 deletions(-) diff --git a/incremental/ldap/winad.c b/incremental/ldap/winad.c index a9498468..092ddd78 100755 --- a/incremental/ldap/winad.c +++ b/incremental/ldap/winad.c @@ -5124,39 +5124,11 @@ int user_create(int ac, char **av, void *ptr) } samAccountName_v[0] = sam_name; + if ((atoi(av[U_STATE]) != US_NO_PASSWD) && (atoi(av[U_STATE]) != US_REGISTERED)) { userAccountControl |= UF_ACCOUNTDISABLE; - - if (Exchange) - { - hide_address_lists_v[0] = "TRUE"; - - ADD_ATTR("msExchHideFromAddressLists", hide_address_lists_v, - LDAP_MOD_ADD); - - /* - sprintf(address_book, "%s%s", GLOBAL_ADDRESS_LIST_PREFIX, - call_args[1]); - address_book_v[0] = strdup(address_book); - memset(address_book, '\0', sizeof(address_book)); - sprintf(address_book, "%s%s", ADDRESS_LIST_PREFIX, call_args[1]); - address_book_v[1] = strdup(address_book); - memset(address_book, '\0', sizeof(address_book)); - sprintf(address_book, "%s%s", EMAIL_ADDRESS_LIST_PREFIX, - call_args[1]); - address_book_v[2] = strdup(address_book); - memset(address_book, '\0', sizeof(address_book)); - sprintf(address_book, "%s%s", ALL_ADDRESS_LIST_PREFIX, - call_args[1]); - address_book_v[3] = strdup(address_book); - memset(address_book, '\0', sizeof(address_book)); - - ADD_ATTR("showInAddressBook", address_book_v, - LDAP_MOD_ADD); - */ - } } sprintf(userAccountControlStr, "%ld", userAccountControl); @@ -5250,6 +5222,20 @@ int user_create(int ac, char **av, void *ptr) if (Exchange) { + if ((atoi(av[U_STATE]) != US_NO_PASSWD) && + (atoi(av[U_STATE]) != US_REGISTERED)) + { + hide_address_lists_v[0] = "TRUE"; + ADD_ATTR("msExchHideFromAddressLists", hide_address_lists_v, + LDAP_MOD_ADD); + } + else + { + hide_address_lists_v[0] = "FALSE"; + ADD_ATTR("msExchHideFromAddressLists", hide_address_lists_v, + LDAP_MOD_ADD); + } + ADD_ATTR("msExchQueryBaseDN", query_base_dn_v, LDAP_MOD_ADD); ADD_ATTR("mailNickName", mail_nickname_v, LDAP_MOD_ADD); ADD_ATTR("homeMDB", homeMDB_v, LDAP_MOD_ADD); -- 2.45.1