path: tests/fixtures/llhttp/request/missing-cr-between-headers.yml
name: Missing CR Between Headers
checked: true
source:
  path: test/request/invalid.md
  line: 454
meta:
  noScan: true
  type: request
input:
- GET / HTTP/1.1
- 'Host: localhost'
- 'Dummy: x\nContent-Length: 23'
- ''
- GET / HTTP/1.1
- 'Dummy: GET /admin HTTP/1.1'
- 'Host: localhost'
- ''
- ''
llhttp:
- off=0 message begin
- off=0 len=3 span[method]="GET"
- off=3 method complete
- off=4 len=1 span[url]="/"
- off=6 url complete
- off=6 len=4 span[protocol]="HTTP"
- off=10 protocol complete
- off=11 len=3 span[version]="1.1"
- off=14 version complete
- off=16 len=4 span[header_field]="Host"
- off=21 header_field complete
- off=22 len=9 span[header_value]="localhost"
- off=33 header_value complete
- off=33 len=5 span[header_field]="Dummy"
- off=39 header_field complete
- off=40 len=1 span[header_value]="x"
- off=41 error code=25 reason="Missing expected CR after header value"
output:
- offset: 0
  type: request
  payload: null
- offset: 0
  type: begin
  payload: null
- offset: 0
  type: method
  payload: GET
- offset: 4
  type: url
  payload: /
- offset: 6
  type: protocol
  payload: HTTP
- offset: 11
  type: version
  payload: '1.1'
- offset: 16
  type: header_name
  payload: Host
- offset: 22
  type: header_value
  payload: localhost
- offset: 33
  type: error
  payload:
    code: UNEXPECTED_CHARACTER
    description: Invalid header field value character
