1. 31 Mar, 2010 1 commit
    • Brion Vibber's avatar
      Ticket #1281: JID validation now more or less follows spec instead of calling e-mail validator · 0841fa71
      Brion Vibber authored
      Basic splitting/validation code submitted via http://status.net/wiki/XMPP/JID_validation -- Copyright 2009 Patrick Georgi <patrick@georgi-clan.de> Licensed under ISC-L, which is compatible with everything else that keeps the copyright notice intact.
      Added PEAR Net_IDNA package to extlib to handle IDN normalization (also used by Validate's email verifier if present).
      * added test suite, supplemented my own test cases with JID validation and normalization test cases from libpurple
      * follows XMPP rules for validation of name part
      * fixes for normalization with non-ASCII names
      * will do domain checks if $config['email']['check_domain'] is on, checking for an XMPP-server SRV record or any lookup. (We don't actually need to ping those direct though.)
      * some more obscure stringprep validation rules aren't quite followed yet, but we err on the side of permissiveness.
      * we still don't actually let you save your address with a resource on it, as we strip resources when looking up users who've sent us presence or message updates. I would recommend saving the outgoing resource as a separate field if/when we add that..?