Posted to tcl by gwlester at Fri Jun 16 20:10:50 GMT 2017view raw

  1. # Check for validity according to RFC 3986, Appendix A
  2. set validityRE {(?xi)
  3. ^
  4. (?: [-\w.~!$&'()*+,;=:] | %[0-9a-f][0-9a-f] )+
  5. $
  6. }
  7. if {$state(-strict) && ![regexp -- $validityRE $user]} {
  8. unset $token
  9. # Provide a better error message in this error case
  10. if {[regexp {(?i)%(?![0-9a-f][0-9a-f]).?.?} $user bad]} {
  11. return -code error \
  12. "Illegal encoding character usage \"$bad\" in URL user"
  13. }
  14. return -code error "Illegal characters in URL user"
  15. }
  16.