WEIRDS interop report IETF 88, Vancouver WEIRDS 2013-11-07 - - PowerPoint PPT Presentation

weirds interop report ietf 88 vancouver weirds 2013 11 07
SMART_READER_LITE
LIVE PREVIEW

WEIRDS interop report IETF 88, Vancouver WEIRDS 2013-11-07 - - PowerPoint PPT Presentation

WEIRDS interop report IETF 88, Vancouver WEIRDS 2013-11-07 {simon.perreault, guillaume.leclanche, marc.blanchet} @viagenie.ca ::1 Attendance 5 servers 2 number servers 2 name servers 1 number+name server 1 test suite


slide-1
SLIDE 1

::1

WEIRDS interop report IETF 88, Vancouver WEIRDS 2013-11-07

{simon.perreault, guillaume.leclanche, marc.blanchet} @viagenie.ca

slide-2
SLIDE 2

::2

Attendance

  • 5 servers

– 2 number servers – 2 name servers – 1 number+name server

  • 1 test suite (acting as a client) targeting servers
slide-3
SLIDE 3

::3

What's new

  • Added autnum tests
  • Added domain search tests
  • Added IDN tests

– Found bug in libidn, *sigh*

  • Added test for /help

– Turns out it's really hard to get right

  • General improvement of the previous tests and

core logic

slide-4
SLIDE 4

::4

Results

  • Discovered 32 issues in implementations
  • A few questions about the specs...
slide-5
SLIDE 5

::5

Question #1: Domain search in A- and U-label

  • /domains?name=xn*

– Does this return A-labels? – Does this return U-labels starting with “xn”? – Does this return U-labels starting with “xn” both in

their U-label form and in their A-label form?

  • (see next slide before answering)
slide-6
SLIDE 6

::6

Question #2: A|U-labels

  • Allowing U-labels in queries (both search and normal) opens the door

to many potential bugs. Increases complexity and code paths to be tested.

  • Clients (browsers) already have IDNA code to convert from U-label to

A-label which they use for the hostname part of any HTTP request.

  • Only use-case for U-labels in queries: curl

– But if you're hacker enough to use “curl”, then you're hacker enough to use

“idn” beforehand.

  • Proposal:

– Client MUST NOT send U-label queries. – Say nothing about server side. Implicitly, the server is free to do whatever it

wants with U-label queries.

slide-7
SLIDE 7

::7

Question #3: Disallowing certain search patterns

  • E.g., query string must specify TLD
  • Seems like this should return 403.
  • How to let the user know what is acceptable?

– Reason-Phrase? – In the body?

slide-8
SLIDE 8

::8

Next steps

  • Do it again at IETF 89 in London?