char *report_to_originator_v[] = {NULL, NULL};
char *address_book_v[] = {NULL, NULL};
char *legacy_exchange_dn_v[] = {NULL, NULL};
+ char *null_v[] = {NULL, NULL};
u_int groupTypeControl;
char groupTypeControlStr[80];
char contact_mail[256];
{
mail_v[0] = contact_mail;
ADD_ATTR("mail", mail_v, LDAP_MOD_REPLACE);
+
+ if(!ActiveDirectory)
+ {
+ null_v[0] = "/dev/null";
+ ADD_ATTR("mailRoutingAddress", null_v, LDAP_MOD_REPLACE);
+ }
}
}
char *address_book_v[] = {NULL, NULL};
char *legacy_exchange_dn_v[] = {NULL, NULL};
char *gidNumber_v[] = {NULL, NULL};
+ char *null_v[] = {NULL, NULL};
char groupTypeControlStr[80];
char group_membership[1];
int i;
{
mail_v[0] = contact_mail;
ADD_ATTR("mail", mail_v, LDAP_MOD_ADD);
+
+ if(!ActiveDirectory)
+ {
+ null_v[0] = "/dev/null";
+ ADD_ATTR("mailRoutingAddress", null_v, LDAP_MOD_ADD);
+ }
}
}
{
mail_v[0] = contact_mail;
ADD_ATTR("mail", mail_v, LDAP_MOD_REPLACE);
+
+ if(!ActiveDirectory)
+ {
+ null_v[0] = "/dev/null";
+ ADD_ATTR("mailRoutingAddress", null_v, LDAP_MOD_REPLACE);
+ }
}
else
{
mail_v[0] = NULL;
ADD_ATTR("mail", mail_v, LDAP_MOD_REPLACE);
+
+ if(!ActiveDirectory)
+ {
+ null_v[0] = NULL;
+ ADD_ATTR("mailRoutingAddress", null_v, LDAP_MOD_REPLACE);
+ }
}
}
{
mail_v[0] = contact_mail;
ADD_ATTR("mail", mail_v, LDAP_MOD_REPLACE);
+
+ if(!ActiveDirectory)
+ {
+ ADD_ATTR("mitMoiraMail", mail_v, LDAP_MOD_REPLACE);
+ }
}
n = SetHomeDirectory(ldap_handle, user_name, distinguished_name, WinHomeDir,
{
mail_v[0] = contact_mail;
ADD_ATTR("mail", mail_v, LDAP_MOD_REPLACE);
+
+ if(!ActiveDirectory)
+ {
+ ADD_ATTR("mitMoiraMail", mail_v, LDAP_MOD_REPLACE);
+ }
}
mods[n] = NULL;
{
mail_v[0] = contact_mail;
ADD_ATTR("mail", mail_v, LDAP_MOD_ADD);
+
+ if(!ActiveDirectory)
+ {
+ ADD_ATTR("mitMoiraMail", mail_v, LDAP_MOD_ADD);
+ }
}
if(strlen(av[U_FIRST])) {
static int illegalchars_ldap[] = {
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* ^@ - ^O */
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* ^P - ^_ */
- 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, /* SPACE - / */
+ 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, /* SPACE - / */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, /* 0 - ? */
0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* @ - O */
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, /* P - _ */
if(ActiveDirectory)
{
if (illegalchars[(unsigned) character])
- return 0;
+ {
+ com_err(whoami, 0, "Found illegal char '%c' (%d) in string %s",
+ character, (unsigned) character, s);
+ return 0;
+ }
}
else
{
if (illegalchars_ldap[(unsigned) character])
- return 0;
+ {
+ com_err(whoami, 0, "Found illegal char '%c' (%d) in string %s",
+ character, (unsigned) character, s);
+ return 0;
+ }
}
}
if (rc = mr_query("get_list_info", 1, av, GetAceInfo, AceInfo))
{
- if(rc != MR_LIST)
+ if(rc != MR_NO_MATCH)
com_err(whoami, 0, "Unable to get ACE info for list %s : %s",
GroupName, error_message(rc));
call_args[3] = NULL;
callback_rc = 0;
+ if(!strcasecmp(AceName, PRODUCTION_PRINCIPAL) ||
+ !strcasecmp(AceName, TEST_PRINCIPAL))
+ {
+ return(1);
+ }
+
if (rc = mr_query("get_user_account_by_login", 1, av,
save_query_info, save_argv))
{
sprintf(member, "uid=%s,%s,%s", ptr->member, pUserOu,
dn_path);
}
-
}
else if (!strcasecmp(ptr->type, "STRING"))
{