[exim-dev] [Bug 2684] New: Add HTTP lookup method (extend js…

Top Page
Delete this message
Reply to this message
Author: admin
Date:  
To: exim-dev
New-Topics: [exim-dev] [Bug 2684] Add HTTP lookup method (extend json lookup to accept URLs ?)
Subject: [exim-dev] [Bug 2684] New: Add HTTP lookup method (extend json lookup to accept URLs ?)
https://bugs.exim.org/show_bug.cgi?id=2684

            Bug ID: 2684
           Summary: Add HTTP lookup method (extend json lookup to accept
                    URLs ?)
           Product: Exim
           Version: N/A
          Hardware: x86
                OS: Linux
            Status: NEW
          Severity: bug
          Priority: medium
         Component: Lookups
          Assignee: unallocated@???
          Reporter: robot-bugs-exim@???
                CC: exim-dev@???


Use case
========

In designing a mail system, I want to have all the specific lookups customized
in a central location in a specific authentication daemon. Constraints are:

- no LDAP available
- the auth daemon might not be on the same machine, no files can be shared for
lookups
- SQL schema keeps within the auth daemon and the idea is not to leak the SQL
schema or SQL credentials outside of the auth daemon.

I need a custom network protocol where Exim would connect to the auth daemon
and lookup specific values. It should be simple enough so it can be easily
custom implemented. I suggest it should be HTTP based as it's so easy to create
an API HTTP server in any language.

Feature request
===============

A new kind of lookup that would take a URL and return the looked up value. It
should be possible to pass query string parameters (or perhaps even using HTTP
POST parameters). We would add to Exim the following expansions:

- ${urlescape:variable}: URL escape the variable using %XX for each URL unsafe
byte

- ${lookup{user :
password}http{http://example.org?user=${urlescape:local_part}}}: Perform a HTTP
request to http://example.org?user=$local_part and fetch the JSON result. The
lookup value would be the JSON field "password" within the top level "user"
object.

--
You are receiving this mail because:
You are on the CC list for the bug.