Age | Commit message (Collapse) | Author |
|
|
|
When a new URL file is used with no URL entries then NULL is passed to qsort()
and bsearch(). This is reported by clang UBsan as undefined behaviour
(debatable), but no issue in practise with many implementations. Fix it anyway.
To reproduce with clang UBsan:
Compile with clang or gcc with CFLAGS and LDFLAGS -fsanitize=undefined
touch /tmp/urls # new file which should be empty.
SFEED_URL_FILE=/tmp/urls sfeed_curses 2>/tmp/log
^D
q
cat /tmp/log
|
|
|
|
|
|
|
|
|
|
|
|
Reported by Christos Margiolis and plasmoduck, thanks
|
|
|
|
This makes it a bit more easy to reuse the script and makes the run-time
dependency on lynx more optional.
For example with w3m:
SFEED_HTMLCONV="w3m -I UTF-8 -O UTF-8 -T text/html -dump" \
sfeed_curses ~/.sfeed/feeds/*
(of course this can be set in a wrapper script or shell profile too)
|
|
|
|
Performance improvements, use feed URL if the feed title is not (yet) set.
|
|
tested for fun
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sfeed_curses can be optionally compiled. Separate flags can be passed for
example for the curses library.
Also pass CFLAGS and LDFLAGS as a suffix.
See commit 0a9c4460c15e90113607ff1928858dfa940df725 of sfeed_curses
This is useful when passing -Wl,--as-needed or hardening flags.
|
|
|
|
|
|
Import sfeed_curses into sfeed.
The files are based of the commit 8e151ce48b503ad0ff0e24cb1be3bc93d6fbd895
|
|
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.
|
|
|
|
"man sfeed" now hopefully more quickly gives a better overview how the tools
work together. Reference the README for extended examples and use-cases.
|
|
|
|
The Atom RFC standard supports multiple authors, but this is usually one.
The first author is parsed.
|
|
|
|
|
|
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.
|
|
chibicc (amd64): https://github.com/rui314/chibicc
|
|
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/ar.html
This was changed in the below commit but should have been changed consistently:
commit 3d2cd7cf4a4052f3db6e13af4f22835b457bdeb3
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Wed Jun 10 14:40:06 2020 +0200
Makefile: pedantic change: use ar -rc instead of ar rc
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Some rewording and typo fixes.
- Specify in more detail how sfeed_web detects links from HTML code.
|
|
|
|
|
|
No functional or performance difference (intended) because these programs are
not threaded.
|
|
RSS (pubDate) uses RFC822 dates. This standard is obsoleted by RFC2822.
The RSS 2.0 spec says for the pubDate field:
"[...] All date-times in RSS conform to the Date and Time Specification of RFC
822, with the exception that the year may be expressed with two characters or
four characters (four preferred)."
RFC822 section 5.1 describes the syntax with 2 digit years:
https://datatracker.ietf.org/doc/html/rfc822#section-5.1
It was obsoleted/fixed in RFC2822 section 4.3:
https://datatracker.ietf.org/doc/html/rfc2822#section-4.3
" Where a two or three digit year occurs in a date, the year is to be
interpreted as follows: If a two digit year is encountered whose
value is between 00 and 49, the year is interpreted by adding 2000,
ending up with a value between 2000 and 2049. If a two digit year is
encountered with a value between 50 and 99, or any three digit year
is encountered, the year is interpreted by adding 1900."
In the real world I've seen all sites using RSS use the 4-digit format.
For historic context of changes and what feeds it might affect:
- RFC822 was published in 13 august 1982, obsoleted by RFC2822.
- RFC2822 was published in april 2001, obsoleted by RFC5322.
- RFC5322 was published in october 2008.
- RDF was started around 1996. It was published around 2004.
- March 15, 1999: RSS 0.90 (Netscape), published by Netscape and authored by
Ramanathan Guha.
- July 10, 1999: RSS 0.91 (Netscape), published by Netscape and authored by Dan
Libby.
- June 9, 2000: RSS 0.91 (UserLand), published by UserLand Software and
authored by Dave Winer.
- Dec. 25, 2000: RSS 0.92, UserLand.
- Aug. 19, 2002: RSS 2.0, UserLand.
- July 15, 2003: RSS 2.0 (version 2.0.1), published by the Berkman Center for
Internet & Society at Harvard Law School and authored by Dave Winer.
- July 15, 2003: RSS 2.0 (version 2.0.1-rv-1), published by the RSS Advisory
Board.
- July 17, 2003: RSS 2.0 (version 2.0.1-rv-2), RSS Advisory Board.
- April 6, 2004: RSS 2.0 (version 2.0.1-rv-3), RSS Advisory Board.
- May 31, 2004: RSS 2.0 (version 2.0.1-rv-4), RSS Advisory Board.
- June 19, 2004: RSS 2.0 (version 2.0.1-rv-5), RSS Advisory Board.
- January 25, 2005: RSS 2.0 (version 2.0.1-rv-6), RSS Advisory Board.
- Aug. 12, 2006: RSS 2.0 (version 2.0.8), RSS Advisory Board.
- June 5, 2007: RSS 2.0 (version 2.0.9), RSS Advisory Board.
- Oct. 15, 2007: RSS 2.0 (version 2.0.10), RSS Advisory Board.
- March 30, 2009 (current): RSS 2.0 (version 2.0.11), RSS Advisory Board.
RSS history source: https://www.rssboard.org/rss-history
|
|
|
|
|
|
- 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.
|
|
|
|
This makes it slightly easier to lookup fields and map the fields by field
number in scripts (awk, cut) etc.
|