docs: def verifyReturnTo(realm_str, return_to, _vrfy=getAllowedReturnURLs):
      """Verify that a return_to URL is valid for the given realm.
  
      This function builds a discovery URL, performs Yadis discovery on
      it, makes sure that the URL does not redirect, parses out the
      return_to URLs, and finally checks to see if the current return_to
      URL matches the return_to.
  
      @raises DiscoveryFailure: When Yadis discovery fails
      @returns: True if the return_to URL is valid for the realm
  
      @since: 2.1.0
      """
      realm = TrustRoot.parse(realm_str)
      if realm is None:
          # The realm does not parse as a URL pattern
          return False
  
      try:
          allowable_urls = _vrfy(realm.buildDiscoveryURL())
      except RealmVerificationRedirected, err:
          logging.exception(str(err))
          return False
  
      if returnToMatches(allowable_urls, return_to):
          return True
      else:
          logging.error("Failed to validate return_to %r for realm %r, was not "
                      "in %s" % (return_to, realm_str, allowable_urls))
          return False