• 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..?
    0841fa71
JidValidateTest.php 5.84 KB