openbsd-ports/mail/smtp-vilter/patches/patch-bin_smtp-vilter_engine_c

45 lines
1.1 KiB
Plaintext

$OpenBSD: patch-bin_smtp-vilter_engine_c,v 1.7 2013/05/09 18:47:53 jasper Exp $
Implement missing print_entries_with_values(), taken from smtp-vilter 1.3.6.
--- bin/smtp-vilter/engine.c.orig Thu May 9 20:46:11 2013
+++ bin/smtp-vilter/engine.c Thu May 9 20:46:35 2013
@@ -1371,6 +1371,37 @@ vilter_unwanted(struct backend *backend, SMFICTX *ctx,
return retval;
}
+#ifdef ENABLE_LDAP
+static void
+print_entries_with_values(LDAP *ld, LDAPMessage *result)
+{
+ LDAPMessage *e;
+ BerElement *ber;
+ char *dn, *attr;
+ char **vals;
+ int i;
+
+ for (e = ldap_first_entry(ld, result); e != NULL;
+ e = ldap_next_entry(ld, e)) {
+ if ((dn = ldap_get_dn(ld, e)) != NULL) {
+ if (verbose)
+ warnx("dn: %s", dn);
+ ldap_memfree(dn);
+ }
+ for (attr = ldap_first_attribute(ld, e, &ber); attr != NULL;
+ attr = ldap_next_attribute(ld, e, ber)) {
+ if ((vals = ldap_get_values(ld, e, attr)) != NULL) {
+ for (i = 0; vals[i] != NULL; i++)
+ printf("%s: %s\n", attr, vals[i]);
+ ldap_value_free(vals);
+ }
+ ldap_memfree(attr);
+ }
+ ber_free(ber, 0);
+ }
+}
+#endif
+
static sfsistat
vilter_eom(SMFICTX *ctx)
{