ldap: remove legacy sogo search route

This commit is contained in:
Girish Ramakrishnan
2021-11-01 17:08:11 -07:00
parent 8fdbd7bd5f
commit 15d8f4e89c

View File

@@ -278,40 +278,6 @@ async function mailboxSearch(req, res, next) {
} else {
res.end();
}
} else if (req.dn.rdns[0].attrs.domain) { // legacy ldap mailbox search for old sogo
const domain = req.dn.rdns[0].attrs.domain.value.toLowerCase();
let [error, mailboxes] = await safe(mail.listMailboxes(domain, 1, 1000));
if (error) return next(new ldap.OperationsError(error.toString()));
mailboxes = mailboxes.filter(m => m.active);
let results = [];
// send mailbox objects
mailboxes.forEach(function (mailbox) {
var dn = ldap.parseDN(`cn=${mailbox.name}@${domain},domain=${domain},ou=mailboxes,dc=cloudron`);
var obj = {
dn: dn.toString(),
attributes: {
objectclass: ['mailbox'],
objectcategory: 'mailbox',
cn: `${mailbox.name}@${domain}`,
uid: `${mailbox.name}@${domain}`,
mail: `${mailbox.name}@${domain}`
}
};
// ensure all filter values are also lowercase
var lowerCaseFilter = safe(function () { return ldap.parseFilter(req.filter.toString().toLowerCase()); }, null);
if (!lowerCaseFilter) return next(new ldap.OperationsError(safe.error.toString()));
if ((req.dn.equals(dn) || req.dn.parentOf(dn)) && lowerCaseFilter.matches(obj.attributes)) {
results.push(obj);
}
});
finalSend(results, req, res, next);
} else { // new sogo
let [error, mailboxes] = await safe(mail.listAllMailboxes(1, 1000));
if (error) return next(new ldap.OperationsError(error.toString()));