• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

twisted / twisted / 6665 / 5
82%
trunk: 82%

Build:
DEFAULT BRANCH: trunk
Ran 10 Jun 2019 11:19PM UTC
Files 825
Run time 43s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

05 Jun 2019 07:03AM UTC coverage: 90.68%. Remained the same
TOXENV=py36-alldeps-withcov-posix,coverage-prepare,codecov-push,coveralls-push

cron

travis-ci

web-flow
Prevent CRLF injections described in CVE-2019-12387

Author: markrwilliams

Reviewers: glyph

Fixes: ticket:9647

Twisted's HTTP client APIs were vulnerable to maliciously constructed
HTTP methods, hosts, and/or paths, URI components such as paths and
query parameters.  These vulnerabilities were beyond the header name
and value injection vulnerabilities addressed in:

https://twistedmatrix.com/trac/ticket/9420
https://github.com/twisted/twisted/pull/999/

The following client APIs will raise a ValueError if given a method,
host, or URI that includes newlines or other disallowed characters:

- twisted.web.client.Agent.request
- twisted.web.client.ProxyAgent.request
- twisted.web.client.Request.__init__
- twisted.web.client.Request.writeTo

ProxyAgent is patched separately from Agent because unlike other
agents (e.g. CookieAgent) it is not implemented as an Agent wrapper.

Request.__init__ checks its method and URI so that errors occur closer
to their originating input.  Request.method and Request.uri are both
public APIs, however, so Request.writeTo (via Request._writeHeaders)
also checks the validity of both before writing anything to the wire.

Additionally, the following deprecated client APIs have also been
patched:

- twisted.web.client.HTTPPageGetter.__init__
- twisted.web.client.HTTPPageDownloader.__init__
- twisted.web.client.HTTPClientFactory.__init__
- twisted.web.client.HTTPClientFactory.setURL
- twisted.web.client.HTTPDownloader.__init__
- twisted.web.client.HTTPDownloader.setURL
- twisted.web.client.getPage
- twisted.web.client.downloadPage

These have been patched prior to their removal so that they won't be
vulnerable in the last Twisted release that includes them.  They
represent a best effort, because testing every combination of these
public APIs would require more code than deprecated APIs warrant.

In all cases URI components, including hostnames, are restricted to
the characters allo... (continued)

21501 of 27306 branches covered (78.74%)

133079 of 146756 relevant lines covered (90.68%)

0.91 hits per line

Source Files on job 6665.5 (TOXENV=py36-alldeps-withcov-posix,coverage-prepare,codecov-push,coveralls-push)
  • Tree
  • List 0
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Build 24832505
  • Travis Job 6665.5
  • 6c61fc45 on github
  • Prev Job for TOXENV=py36-alldeps-withcov-posix,coverage-prepare,codecov-push,coveralls-push on trunk (#6654.5)
  • Next Job for TOXENV=py36-alldeps-withcov-posix,coverage-prepare,codecov-push,coveralls-push on trunk (#6667.5)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc