diff options
author | Eric Faurot <eric@faurot.net> | 2018-07-10 12:30:02 +0200 |
---|---|---|
committer | Eric Faurot <eric@faurot.net> | 2018-07-10 12:30:02 +0200 |
commit | 71b604c440dd3338f99e446c3c93a9c5456e0033 (patch) | |
tree | 5f05e84160fecc7a540c9c00555b11f642ade1e8 | |
parent | Add traces and a simple filtering PoC. (diff) | |
parent | Merge pull request #52 from pbhenson/ldap-fix (diff) | |
download | OpenSMTPD-extras-smtpfd.tar.xz OpenSMTPD-extras-smtpfd.zip |
Merge branch 'master' into smtpfdsmtpfd
-rw-r--r-- | extras/filters/filter-monkey/filter-monkey.conf | 2 | ||||
-rw-r--r-- | extras/tables/table-ldap/table_ldap.c | 88 |
2 files changed, 50 insertions, 40 deletions
diff --git a/extras/filters/filter-monkey/filter-monkey.conf b/extras/filters/filter-monkey/filter-monkey.conf index 265e7f9..30a7975 100644 --- a/extras/filters/filter-monkey/filter-monkey.conf +++ b/extras/filters/filter-monkey/filter-monkey.conf @@ -1,4 +1,4 @@ -# opensmptd-extras filter-monkey configuration +# opensmtpd-extras filter-monkey configuration # add random delay on connect and end of message #delay 0:500 on connect diff --git a/extras/tables/table-ldap/table_ldap.c b/extras/tables/table-ldap/table_ldap.c index 88c9ffd..090cfb4 100644 --- a/extras/tables/table-ldap/table_ldap.c +++ b/extras/tables/table-ldap/table_ldap.c @@ -75,45 +75,6 @@ table_ldap_update(void) } static int -table_ldap_check(int service, struct dict *params, const char *key) -{ - int ret; - - switch(service) { - case K_ALIAS: - case K_DOMAIN: - case K_CREDENTIALS: - case K_USERINFO: - case K_MAILADDR: - if ((ret = ldap_run_query(service, key, NULL, 0)) >= 0) { - return ret; - } - log_debug("debug: table-ldap: reconnecting"); - if (!(ret = ldap_open())) { - log_warnx("warn: table-ldap: failed to connect"); - } - return ret; - default: - return -1; - } -} - -static int -table_ldap_lookup(int service, struct dict *params, const char *key, char *dst, size_t sz) -{ - switch(service) { - case K_ALIAS: - case K_DOMAIN: - case K_CREDENTIALS: - case K_USERINFO: - case K_MAILADDR: - return ldap_run_query(service, key, dst, sz); - default: - return -1; - } -} - -static int table_ldap_fetch(int service, struct dict *params, char *dst, size_t sz) { return -1; @@ -362,6 +323,31 @@ err: } static int +table_ldap_lookup(int service, struct dict *params, const char *key, char *dst, size_t sz) +{ + int ret; + + switch(service) { + case K_ALIAS: + case K_DOMAIN: + case K_CREDENTIALS: + case K_USERINFO: + case K_MAILADDR: + if ((ret = ldap_run_query(service, key, dst, sz)) > 0) { + return ret; + } + log_debug("debug: table-ldap: reconnecting"); + if (!(ret = ldap_open())) { + log_warnx("warn: table-ldap: failed to connect"); + return ret; + } + return ldap_run_query(service, key, dst, sz); + default: + return -1; + } +} + +static int ldap_query(const char *filter, char **attributes, char ***outp, size_t n) { struct aldap_message *m = NULL; @@ -498,6 +484,30 @@ end: return ret; } +static int +table_ldap_check(int service, struct dict *params, const char *key) +{ + int ret; + + switch(service) { + case K_ALIAS: + case K_DOMAIN: + case K_CREDENTIALS: + case K_USERINFO: + case K_MAILADDR: + if ((ret = ldap_run_query(service, key, NULL, 0)) >= 0) { + return ret; + } + log_debug("debug: table-ldap: reconnecting"); + if (!(ret = ldap_open())) { + log_warnx("warn: table-ldap: failed to connect"); + } + return ret; + default: + return -1; + } +} + int main(int argc, char **argv) { |