Fork of the aerc email client (https://sr.ht/~rjarry/aerc)
Go to file
Robin Jarry e804fac59f mk: exclude govulncheck from lint
The vulnerability database is evolving with time. It can cause the lint
step to fail suddenly without any source code changes on our side.

Moreover, sometimes, there is nothing we can do to fix the issue nor to
silence that specific error.

Found 1 known vulnerability.

Vulnerability #1: GO-2022-1039
  Programs which compile regular expressions from untrusted
  sources may be vulnerable to memory exhaustion or denial of
  service. The parsed regexp representation is linear in the size
  of the input, but in some cases the constant factor can be as
  high as 40,000, making relatively small regexps consume much
  larger amounts of memory. After fix, each regexp being parsed is
  limited to a 256 MB memory footprint. Regular expressions whose
  representation would use more space than that are rejected.
  Normal use of regular expressions is unaffected.

  Call stacks in your code:
    config/config.go:1000:46:
    git.sr.ht/~rjarry/aerc/config.AercConfig.LoadBinds calls
    regexp.Compile, which eventually calls regexp/syntax.Parse

  Found in: regexp/syntax@go1.18.6
  Fixed in: regexp/syntax@go1.19.2
  More info: https://pkg.go.dev/vuln/GO-2022-1039

Move govulncheck into its own make target to be executed manually.

Signed-off-by: Robin Jarry <robin@jarry.cc>
Acked-by: Tim Culverhouse <tim@timculverhouse.com>
2022-10-07 17:51:54 -05:00
.builds go: bumped minimum required version 1.16 2022-08-05 21:55:26 +02:00
.github/workflows builds: add gnupg in preparation of gpg integration 2022-04-14 21:51:09 +02:00
commands forward,recall: fix charsets in part attachment 2022-10-07 10:51:53 +02:00
completer go: removed io/ioutil 2022-08-22 09:30:19 +02:00
config viewer: option to not mark message as seen 2022-10-04 09:43:58 +02:00
contrib Add changelog 2022-07-26 23:28:43 +02:00
doc view: add peek flag and propagate 2022-10-04 09:44:04 +02:00
filters filters: fix calendar filter parsing 2022-08-22 09:30:37 +02:00
lib invalidatable: always mark ui as dirty OnInvalidate 2022-10-07 10:51:53 +02:00
logging aerc: add build info to version string 2022-08-22 15:46:33 +02:00
models lint: apply new formatting rules 2022-08-01 10:44:52 +02:00
templates compose: add default template for new messages 2022-01-19 21:42:41 +01:00
widgets terminal: use Invalidate and QueueRedraw 2022-10-07 10:51:53 +02:00
worker aerc: use single event loop 2022-10-07 10:51:53 +02:00
.editorconfig doc: add contribution guidelines including code style 2022-08-05 21:57:12 +02:00
.gitignore gitignore: ignore race.log.* 2022-09-26 17:31:10 +02:00
.golangci.toml lint: add golangci-lint to the linters 2022-08-04 21:58:06 +02:00
.mailmap Add git mailmap 2022-07-23 22:07:04 +02:00
CHANGELOG.md invalidatable: always mark ui as dirty OnInvalidate 2022-10-07 10:51:53 +02:00
CONTRIBUTING.md contributing: refine commit message rules 2022-08-23 17:16:55 +02:00
LICENSE LICENSE: add license name 2022-02-06 16:04:15 +01:00
MAINTAINERS Add MAINTAINERS file 2022-10-01 17:34:44 +02:00
Makefile mk: exclude govulncheck from lint 2022-10-07 17:51:54 -05:00
README.md readme: make contribution section more obvious 2022-08-06 23:12:24 +02:00
aerc.go aerc: use single event loop 2022-10-07 10:51:53 +02:00
go.mod terminal: fix race conditions on access to cmd 2022-10-02 18:47:18 +02:00
go.sum terminal: fix race conditions on access to cmd 2022-10-02 18:47:18 +02:00
tools.go restore compatibility with Go 1.16 2022-08-06 23:12:35 +02:00

README.md

aerc

builds.sr.ht status GitHub macOS CI status

aerc is an email client for your terminal.

This is a fork of the original aerc by Drew DeVault.

A short demonstration can be found on https://aerc-mail.org/

Join the IRC channel: #aerc on irc.libera.chat for end-user support, and development.

Usage

On its first run, aerc will copy the default config files to ~/.config/aerc on Linux or ~/Library/Preferences/aerc on MacOS (or $XDG_CONFIG_HOME/aerc if set) and show the account configuration wizard.

If you redirect stdout to a file, logging output will be written to that file:

$ aerc > log

Note that the example HTML filter (off by default), additionally needs w3m and dante to be installed.

Documentation

Also available as man pages:

User contributions and integration with external tools:

Installation

Binary Packages

Recent versions of aerc are available on:

And likely other platforms.

From Source

Install the dependencies:

  • go (>=1.16) (Go versions are supported until their end-of-life; support for older versions may be dropped at any time due to incompatibilities or newer required language features.)
  • scdoc

Then compile aerc:

$ make

aerc optionally supports notmuch. To enable it, you need to have a recent version of notmuch, including the header files (notmuch.h). Then compile aerc with the necessary build tags:

$ GOFLAGS=-tags=notmuch make

To install aerc locally:

# make install

By default, aerc will install config files to directories under /usr/local/aerc, and will search for templates and stylesets in these locations in order:

  • ${XDG_CONFIG_HOME:-~/.config}/aerc
  • ${XDG_DATA_HOME:-~/.local/share}/aerc
  • /usr/local/share/aerc
  • /usr/share/aerc

At build time it is possible to add an extra location to this list and to use that location as the default install location for config files by setting the PREFIX option like so:

# make PREFIX=/custom/location
# make install PREFIX=/custom/location

This will install templates and other config files to /custom/location/share/aerc, and man pages to /custom/location/share/man. This extra location will have lower priority than the XDG locations but higher than the fixed paths.

Contributing

Anyone can contribute to aerc. Please refer to the contribution guidelines

Resources

Ask for support or follow general discussions on ~rjarry/aerc-discuss@lists.sr.ht.

Send patches and development related questions to ~rjarry/aerc-devel@lists.sr.ht.

Instructions for preparing a patch are available at git-send-email.io

Subscribe to release announcements on ~rjarry/aerc-announce@lists.sr.ht

Submit confirmed bug reports and confirmed feature requests on https://todo.sr.ht/~rjarry/aerc.

License.

Change log.