Age | Commit message (Collapse) | Author |
|
Technically for sfeed_atom this violates the RFC standard. There must be an
author in the feed or for an item. However sfeed is not the author, it is a
generator. All readers will read these feeds anyway.
https://www.rfc-editor.org/rfc/rfc4287#section-4.1.1
"atom:feed elements MUST contain one or more atom:author elements, unless all of
the atom:feed element's child atom:entry elements contain at least one
atom:author element." *shrug*
|
|
|
|
This will detect write errors sooner.
|
|
This also makes the programs exit with a non-zero status when a read or write
error occurs.
This makes checking the exit status more reliable in scripts.
A simple example to simulate a disk with no space left:
curl -s 'https://codemadness.org/atom.xml' | sfeed > f
/mnt/test: write failed, file system is full
echo $?
0
Which now produces:
curl -s 'https://codemadness.org/atom.xml' | sfeed > f
/mnt/test: write failed, file system is full
write error: <stdout>
echo $?
1
Tested with a small mfs on OpenBSD, fstab entry:
swap /mnt/test mfs rw,nodev,nosuid,-s=1M 0 0
|
|
Use errx, time(NULL) does not set errno. For sfeed_curses reset errno so it
doesn't print a random error if it failed.
POSIX recommends checking against (time_t)-1 on failure.
Note that some implementation, like the OpenBSD man page says time() cannot
fail.
|
|
No functional difference intended.
|
|
commit ed8079dc3e8ce513c788a5ab11444aac221cbc5b added an option
$SFEED_MBOX_CONTENT with a content-type text/html to include the content.
However in this context the link and enclosure were not fully escaped.
|
|
This is useful for HTML viewers (like lynx -dump) in mail clients to use the
base href as the base URL for relative links in the HTML content.
|
|
This makes the checksum number atleast 64-bit and makes the Message-ID header
consistent across mixed 32-bit and 64-bit systems.
Tested on amd64 and MIPS32BE.
|
|
|
|
No functional or performance difference (intended) because these programs are
not threaded.
|
|
- Add SFEED_MBOX_CONTENT environment option. When set to "1" it outputs the
content aswell. This is disabled by default for security reasons, because many
clients handle HTML in an insecure way.
- Print link and enclosure on one line and align them.
|
|
These are BSD functions.
- HaikuOS now compiles without having to use libbsd.
- Tested on SerenityOS (for fun), which doesn't have these functions (yet).
With a small change to support wcwidth() sfeed works on SerenityOS.
|
|
The Date header is mandatory. Use the current time if it is missing/invalid.
|
|
For the author "unknown" is not a good indicator. Just fallback to the feedname
if the exact author of the feed item is not known/set by the feed.
|
|
The prefix in the subject can be too much/redundant if custom labels are used
in the mail client for example. Filtering or custom labels can be made using
the X-Feedname header.
For mutt it can be useful to use the header X-Label and use the %y format
specified to indicate the label. The index_format is described in the muttrc
man page.
An example:
set index_format = "%4C %Z %[%a, %b %d %H:%M] %?y?%-15.15y ?%-15.15L (%?l?%4l&%4c?) %s"
Other programs have similar headers: Dovecat has "X-Keywords" and Thunderbird
"X-Mozilla-Keys".
|
|
- remove a check that has no use/can never happen.
- remove the return value as it's unused and the input size is known.
- fix an old comment that doesn't reflect what the function does anymore.
|
|
- make converting time error out as the other format tools do also.
- remove wrong comment.
- make code-style consistent.
|
|
|
|
|
|
The message-id has not been working as intended for a while. It only hashed the
timestamp field because parseline() modifies the buffer in-place.
|
|
|
|
|
|
|
|
|
|
- don't output content and HTML mail anymore: this is very insecure for most
mail clients.
- improve Content-Type utf-8 encoding header (use the more common form).
- improve line-endings at the end of the data.
|
|
|
|
this makes sure tail -f with multiple files ignores the ==> file <== lines too.
|
|
|
|
|
|
|
|
|
|
... as a bonus it also saves an allocation.
|
|
|
|
|
|
- pledge tools and add define to enable it on platforms that support it, currently
only OpenBSD 5.9+
- separate getline and parseline functionality.
- use murmur3 hash instead of jenkins1: faster and less collisions.
- make some error messages a bit more clear, for example with path truncation.
- some small cleanups, move printutf8pad to util.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
as input: an empty string or non-digit characters are digits are considered an
error now. Still, for the format tools output the formatted time string as
time_t 0 on a parse error.
|
|
|
|
|
|
|
|
- don't xmlencode HTML, show as is.
- mangle "From " mboxrd-style. Content-Length would be cleaner but would
require extra buffering.
|
|
|
|
|