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

go-pkgz / email
93%
master: 93%

Build:
Build:
LAST BUILD BRANCH: refs/tags/v0.8.0
DEFAULT BRANCH: master
Repo Added 11 Feb 2022 07:42PM UTC
Files 3
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

LAST BUILD ON BRANCH refs/tags/v0.8.0
branch: SELECT
CHANGE BRANCH
x
  • No branch selected
  • attachment-and-message-fixes
  • attachment-filename-header-injection
  • display-name-fix
  • feat/send-context
  • fix-ci-caching
  • helo-host
  • master
  • paskal/brush_up
  • paskal/shadow
  • refs/tags/v0.1.0
  • refs/tags/v0.1.1
  • refs/tags/v0.1.2
  • refs/tags/v0.2.0
  • refs/tags/v0.3.0
  • refs/tags/v0.4.0
  • refs/tags/v0.4.1
  • refs/tags/v0.5.0
  • refs/tags/v0.6.0
  • refs/tags/v0.7.0
  • refs/tags/v0.8.0
  • security-and-reliability-fixes

19 Aug 2026 01:26AM UTC coverage: 92.875% (+0.7%) from 92.191%
32208384525

push

github

web-flow
Format attachment file names into mime part headers safely (#31)

Previously, the file name went into the Content-Type name parameter by
plain string concatenation, so a name containing CR or LF ended the header
and injected part headers and a body of its own. Content-Disposition was
built with %q and escaped those, but its quoting was still wrong for names
holding a quote, a semicolon or non-ascii characters.

After this change, both headers are built with mime.FormatMediaType, which
quotes and RFC 2231 encodes the name, and a file name containing CR or LF
is rejected outright, which also keeps Content-ID safe.

The generated headers change shape for every attachment: parameters are no
longer quoted when they don't need to be, so tests assert file names from
the parsed mime tree instead of matching the serialized header text.

14 of 14 new or added lines in 1 file covered. (100.0%)

378 of 407 relevant lines covered (92.87%)

219.73 hits per line

Relevant lines Covered
Build:
Build:
407 RELEVANT LINES 378 COVERED LINES
219.73 HITS PER LINE
Source Files on master
  • Tree
  • List 3
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
32208384525 refs/tags/v0.8.0 Format attachment file names into mime part headers safely (#31) Previously, the file name went into the Content-Type name parameter by plain string concatenation, so a name containing CR or LF ended the header and injected part headers and a bod... push 19 Aug 2026 02:23AM UTC web-flow github
92.87
32204932748 master Format attachment file names into mime part headers safely (#31) Previously, the file name went into the Content-Type name parameter by plain string concatenation, so a name containing CR or LF ended the header and injected part headers and a bod... push 19 Aug 2026 01:26AM UTC web-flow github
92.87
32201330356 attachment-filename-header-injection Format attachment file names into mime part headers safely Previously, the file name went into the Content-Type name parameter by plain string concatenation, so a name containing CR or LF ended the header and injected part headers and a body of i... Pull #31 19 Aug 2026 12:28AM UTC paskal github
92.87
32199955332 attachment-filename-header-injection Format attachment file names into mime part headers safely Previously, the file name went into the Content-Type name parameter by plain string concatenation, so a name containing CR or LF ended the header and injected part headers and a body of i... Pull #31 19 Aug 2026 12:07AM UTC paskal github
91.99
32199806140 attachment-filename-header-injection Format attachment file names into mime part headers safely Previously, the file name went into the Content-Type name parameter by plain string concatenation, so a name containing CR or LF ended the header and injected part headers and a body of i... push 19 Aug 2026 12:04AM UTC paskal github
91.99
32195979123 master Add SendContext to bound the whole SMTP transaction (#29) TimeOut applies to the connection setup only, so a server which accepts the connection and stalls afterwards blocks Send forever: greeting, auth, recipients, body and QUIT have no deadline... push 18 Aug 2026 11:10PM UTC web-flow github
92.19
32195812467 feat/send-context Add SendContext to bound the whole SMTP transaction TimeOut applies to the connection setup only, so a server which accepts the connection and stalls afterwards blocks Send forever: greeting, auth, recipients, body and QUIT have no deadline and n... Pull #29 18 Aug 2026 11:07PM UTC paskal github
92.19
32195276346 master Wrap base64 attachments, accept empty files, build the message in one buffer (#28) * Build the message in a single buffer Previously, buildMessage assembled the headers into a string, the body into a separate buffer, joined the two into another ... push 18 Aug 2026 11:00PM UTC web-flow github
92.82
32195201168 attachment-and-message-fixes Add a benchmark for building a message with a large attachment Building a message with a 4mb attachment takes 21.0mb and 84 allocations, against 23.8mb and 103 allocations before the single buffer change. Pull #28 18 Aug 2026 10:59PM UTC umputun github
92.82
32195200143 master Reject header injection and report smtp delivery failures (#27) * Reject CR and LF in email header values Previously, From, To, Subject, UnsubscribeLink and InReplyTo were copied into the generated message as is, so a value with CR or LF termina... push 18 Aug 2026 10:59PM UTC web-flow github
94.15
See All Builds (101)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc