+ argv[0] = filesys_name;
+
+ if (!(rc = mr_query("get_filesys_by_label", 1, argv, save_query_info,
+ save_argv)))
+ {
+ n = 0;
+ ADD_ATTR("mitMoiraIMAPAddress", mit_moira_imap_address_v,
+ LDAP_MOD_REPLACE);
+ mods[n] = NULL;
+ rc = ldap_modify_s(ldap_handle, distinguished_name, mods);
+
+ if (rc == LDAP_ALREADY_EXISTS || rc == LDAP_TYPE_OR_VALUE_EXISTS)
+ rc = LDAP_SUCCESS;
+
+ if(rc)
+ com_err(whoami, 0,
+ "Unable to set the mitMoiraIMAPAddress for %s : %s",
+ user_name, ldap_err2string(rc));
+
+ sprintf(temp, "%s@%s", user_name, save_argv[FS_MACHINE]);
+
+ mit_moira_imap_address_v[0] = temp;
+
+ n = 0;
+ ADD_ATTR("mitMoiraIMAPAddress", mit_moira_imap_address_v,
+ LDAP_MOD_ADD);
+ mods[n] = NULL;
+ rc = ldap_modify_s(ldap_handle, distinguished_name, mods);
+
+ if (rc == LDAP_ALREADY_EXISTS || rc == LDAP_TYPE_OR_VALUE_EXISTS)
+ rc = LDAP_SUCCESS;
+
+ if(rc)
+ com_err(whoami, 0, "Unable to set the mitMoiraIMAPAddress for "
+ "%s : %s", user_name, ldap_err2string(rc));
+ } else if(rc==MR_NO_MATCH) {
+
+ n = 0;
+ ADD_ATTR("mitMoiraIMAPServer", mit_moira_imap_address_v,
+ LDAP_MOD_REPLACE);
+ mods[n] = NULL;
+ rc = ldap_modify_s(ldap_handle, distinguished_name, mods);
+
+ if (rc == LDAP_ALREADY_EXISTS || rc == LDAP_TYPE_OR_VALUE_EXISTS)
+ rc = LDAP_SUCCESS;
+
+ if(rc)
+ com_err(whoami, 0,
+ "Unable to set the mitMoiraIMAPAddress for %s : %s",
+ user_name, ldap_err2string(rc));
+
+ }
+