Re: [apps-discuss] Aggregated service discovery

"Paul E. Jones" <> Mon, 18 June 2012 01:48 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id EF7A721F85C0 for <>; Sun, 17 Jun 2012 18:48:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[AWL=-0.001, BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id wNo-hNPtkUgc for <>; Sun, 17 Jun 2012 18:48:16 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 0770821F85C5 for <>; Sun, 17 Jun 2012 18:48:15 -0700 (PDT)
Received: from sydney ( []) (authenticated bits=0) by (8.14.5/8.14.5) with ESMTP id q5I1m5ri006329 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Sun, 17 Jun 2012 21:48:06 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;; s=dublin; t=1339984088; bh=pOcQPEVLpH7syymC4lZYWCDE6xSpWltRFIc2UT1X4DQ=; h=From:To:Cc:References:In-Reply-To:Subject:Date:Message-ID: MIME-Version:Content-Type; b=e90AqNjzlxI7gRMwH8KP/7O8xCP4v7PKp6ckmmSVMekCrh+KhOOCOn2sD5YxMLcxQ eLPyocuNLHxXNcyFgaJH5sbUP8+SKcUYqnkVzXCEpWt+Zc+fmG9xBxQa2RfuCMIDOI 3iV9ptCfqZOX6TP5iYyFlvq/kwp0ydD5aHGopLeE=
From: "Paul E. Jones" <>
To: 'William Mills' <>, 'Peter Saint-Andre' <>
References: <64C6DF43A866F40437AF4CC3@cyrus.local> <059c01cd39c8$f3d027c0$db707740$> <> <> <> <> <>
In-Reply-To: <>
Date: Sun, 17 Jun 2012 21:48:07 -0400
Message-ID: <012401cd4cf4$6a465da0$3ed318e0$>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----=_NextPart_000_0125_01CD4CD2.E3366B50"
X-Mailer: Microsoft Outlook 14.0
Content-Language: en-us
Subject: Re: [apps-discuss] Aggregated service discovery
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: General discussion of application-layer protocols <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 18 Jun 2012 01:48:19 -0000



My apologies for the belated reply.  I've been busy this week and got rather
behind on email.


I do not personally like using SRV records, either.  SRV records could work
for smaller domains, but I'm not sure that they're the best solution for
larger domains.  Personally, I would prefer putting users on specific
servers or server clusters and SRV records will not differentiate users. 


To use WebFinger to find one's IMAP, SMTP, or POP server, we could do as I
suggested in my email.  Now the question is what does one query?  Since
these three services are email, I'd suggest we query
"".  We could use another URI scheme (e.g.,
"acct:"), but mailto seems most appropriate given that you're seeking info
about mail services.


I provided an example earlier that would simply point to a config file with
server information.  We could do this directly via WebFinger like this:


GET /.well-known/host-meta?


This query would then return something like this:



  "subject" : "",

  "links" :



      "rel" : "smtp-server",

      "properties" :


        "host" : "",

        "port" : "587",

        "login-required" : "yes",

        "transport" : "starttls"




      "rel" : "imap-server",

      "properties" :


        "host" : "",

        "port" : "993",

        "transport" : "ssl"






We would need to standardize the link relation values (smtp-server and
imap-server).  We would also need to document what the various properties
would be.  If you would like to create such a configuration document based
on WebFinger, I'd be happy to help out.  In any case, you can see that
WebFinger would serve quite nicely for conveying configuration information
given a user's email ID.


I'm not sure exactly what you would need for OAuth endpoints, but I would
suggest you make that a separate document since it is not mail related.  (At
least I assume it's not.  Even if it were, the mail server information and
OAuth information are still different animals.)




From: William Mills [] 
Sent: Wednesday, June 13, 2012 7:32 PM
To: Peter Saint-Andre
Cc: Paul E. Jones; 'Cyrus Daboo';
Subject: Re: [apps-discuss] Aggregated service discovery


In my use case it's a service/server.


Not a terribly happy answer to say "DNS SRV records won't work for you, and
there is no other solution.".  By the same token I could ask "Why do we need
Webfinger and host meta at all if we have DNS SRV records?".


If XMPP uses SRV records for discovery, that's fine.  IMAP and outbound SMTP
services both lack a defined discovery method other than the ubiquitous
"service documentation".  Is there a compelling reason to pick DNS over WF
for this?  From the app developer point of view I don't want to have N ways
to discover M services.






From: Peter Saint-Andre <>
To: William Mills <> 
Cc: Paul E. Jones <>; 'Cyrus Daboo' <>;
"" <> 
Sent: Wednesday, June 13, 2012 3:57 PM
Subject: Re: [apps-discuss] Aggregated service discovery

On 6/13/12 4:54 PM, William Mills wrote:
> As I said, I'm interested specifically in IMAP, SMTP and OAuth endpoints. 

What exactly is an "endpoint"? A client? An account? A server?

> As a data point, DNS SRV records are not controllable in many hosted
> domain models.

At the last XMPP Summit a few months ago, we learned that DNS SRV
records are unavailable in whole countries (e.g., Japan). That doesn't
mean we should define a replacement for DNS over HTTP. :)


Peter Saint-Andre