[1955] in Moira Commits
/svn/moira r4094 - trunk/moira/incremental/ldap
daemon@ATHENA.MIT.EDU (Garry Zacheiss)
Thu Jan 31 09:18:28 2013
Date: Thu, 31 Jan 2013 09:18:21 -0500
From: Garry Zacheiss <zacheiss@MIT.EDU>
Message-Id: <201301311418.r0VEIL7X014389@drugstore.mit.edu>
To: moira-commits@MIT.EDU
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Author: zacheiss
Date: 2013-01-31 09:18:21 -0500 (Thu, 31 Jan 2013)
New Revision: 4094
Modified:
trunk/moira/incremental/ldap/winad.c
Log:
Don't bounce mail from deactivated Exchange accounts set up for forwarding.
Modified: trunk/moira/incremental/ldap/winad.c
===================================================================
--- trunk/moira/incremental/ldap/winad.c 2013-01-31 02:44:17 UTC (rev 4093)
+++ trunk/moira/incremental/ldap/winad.c 2013-01-31 14:18:21 UTC (rev 4094)
@@ -4348,7 +4348,6 @@
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_REPLACE);
ADD_ATTR("msExchRBACPolicyLink", rbac_policy_link_v,
LDAP_MOD_REPLACE);
ADD_ATTR("showInAddressBook", address_book_v, LDAP_MOD_REPLACE);
@@ -4719,7 +4718,7 @@
}
argv[0] = user_name;
-
+
if (!(rc = mr_query("get_pobox", 1, argv, save_query_info, save_argv)))
{
if(!strcmp(save_argv[1], "EXCHANGE") ||
@@ -4743,8 +4742,15 @@
if(!strcmp(save_argv[1], "SPLIT") ||
!strcmp(save_argv[1], "SMTP")) {
- deliver_and_redirect_v[0] = "TRUE";
- alt_recipient_v[0] = alt_recipient;
+ if ((State != US_NO_PASSWD) && (State != US_REGISTERED)) {
+ deliver_and_redirect_v[0] = "FALSE";
+ alt_recipient_v[0] = NULL;
+ }
+ else {
+ deliver_and_redirect_v[0] = "TRUE";
+ alt_recipient_v[0] = alt_recipient;
+ }
+
ADD_ATTR("altRecipient", alt_recipient_v, LDAP_MOD_REPLACE);
ADD_ATTR("deliverAndRedirect", deliver_and_redirect_v,
LDAP_MOD_REPLACE);
@@ -4752,8 +4758,14 @@
}
else
{
- deliver_and_redirect_v[0] = "FALSE";
- alt_recipient_v[0] = alt_recipient;
+ if ((State != US_NO_PASSWD) && (State != US_REGISTERED)) {
+ deliver_and_redirect_v[0] = "FALSE";
+ alt_recipient_v[0] = NULL;
+ } else {
+ deliver_and_redirect_v[0] = "FALSE";
+ alt_recipient_v[0] = alt_recipient;
+ }
+
ADD_ATTR("altRecipient", alt_recipient_v, LDAP_MOD_REPLACE);
ADD_ATTR("deliverAndRedirect", deliver_and_redirect_v,
LDAP_MOD_REPLACE);
@@ -4774,8 +4786,14 @@
}
else
{
- deliver_and_redirect_v[0] = "FALSE";
- alt_recipient_v[0] = alt_recipient;
+ if ((State != US_NO_PASSWD) && (State != US_REGISTERED)) {
+ deliver_and_redirect_v[0] = "FALSE";
+ alt_recipient_v[0] = NULL;
+ } else {
+ deliver_and_redirect_v[0] = "FALSE";
+ alt_recipient_v[0] = alt_recipient;
+ }
+
ADD_ATTR("altRecipient", alt_recipient_v, LDAP_MOD_REPLACE);
ADD_ATTR("deliverAndRedirect", deliver_and_redirect_v,
LDAP_MOD_REPLACE);
@@ -5006,7 +5024,6 @@
if (Exchange)
{
- ADD_ATTR("msExchQueryBaseDN", query_base_dn_v, LDAP_MOD_REPLACE);
ADD_ATTR("mailNickName", mail_nickname_v, LDAP_MOD_REPLACE);
ADD_ATTR("mail", mail_v, LDAP_MOD_REPLACE);
ADD_ATTR("proxyAddresses", proxy_address_v, LDAP_MOD_REPLACE);
@@ -5325,7 +5342,6 @@
LDAP_MOD_ADD);
}
- ADD_ATTR("msExchQueryBaseDN", query_base_dn_v, LDAP_MOD_ADD);
ADD_ATTR("msExchRBACPolicyLink", rbac_policy_link_v, LDAP_MOD_ADD);
ADD_ATTR("showInAddressBook", address_book_v, LDAP_MOD_ADD);
ADD_ATTR("mailNickName", mail_nickname_v, LDAP_MOD_ADD);
@@ -5356,25 +5372,37 @@
if(!strcmp(save_argv[1], "SPLIT") ||
!strcmp(save_argv[1], "SMTP")) {
- deliver_and_redirect_v[0] = "TRUE";
- alt_recipient_v[0] = alt_recipient;
+ if ((atoi(av[U_STATE]) == US_NO_PASSWD) ||
+ (atoi(av[U_STATE]) == US_REGISTERED)) {
+
+ deliver_and_redirect_v[0] = "TRUE";
+ alt_recipient_v[0] = alt_recipient;
- ADD_ATTR("altRecipient", alt_recipient_v, LDAP_MOD_ADD);
- ADD_ATTR("deliverAndRedirect", deliver_and_redirect_v,
+ ADD_ATTR("altRecipient", alt_recipient_v, LDAP_MOD_ADD);
+ ADD_ATTR("deliverAndRedirect", deliver_and_redirect_v,
LDAP_MOD_ADD);
+ }
}
}
else
{
- alt_recipient_v[0] = alt_recipient;
- ADD_ATTR("altRecipient", alt_recipient_v, LDAP_MOD_ADD);
+ if ((atoi(av[U_STATE]) == US_NO_PASSWD) ||
+ (atoi(av[U_STATE]) == US_REGISTERED)) {
+
+ alt_recipient_v[0] = alt_recipient;
+ ADD_ATTR("altRecipient", alt_recipient_v, LDAP_MOD_ADD);
+ }
}
}
else
{
- alt_recipient_v[0] = alt_recipient;
- ADD_ATTR("altRecipient", alt_recipient_v, LDAP_MOD_ADD);
-
+ if ((atoi(av[U_STATE]) == US_NO_PASSWD) ||
+ (atoi(av[U_STATE]) == US_REGISTERED)) {
+
+ alt_recipient_v[0] = alt_recipient;
+ ADD_ATTR("altRecipient", alt_recipient_v, LDAP_MOD_ADD);
+ }
+
com_err(whoami, 0, "Unable to fetch pobox for %s", user_name);
}
}