summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-09-07fix many undefined behaviour in usage of ctype functionsHiltjo Posthuma
- cast all ctype(3) function argument to (unsigned char) to avoid UB POSIX says: "The c argument is an int, the value of which the application shall ensure is a character representable as an unsigned char or equal to the value of the macro EOF. If the argument has any other value, the behavior is undefined." Many libc cast implicitly the value, but NetBSD does not, which is probably the correct thing to interpret it. - no need to cast for putchar + rename some fputc(..., stdout) to putchar POSIX says: "The fputc() function shall write the byte specified by c (converted to an unsigned char) to the output stream pointed to by stream [...]" Major thanks to Leonardo Taccari <iamleot@gmail.com> for reporting and testing it on NetBSD!
2018-08-26bump version to 0.9.5Hiltjo Posthuma
2018-08-26xml: use ANSI types and struct initializationHiltjo Posthuma
long is atleast 32-bits, codepointtoutf8() works with >= 32-bit types. Valid codepoint ranges are not larger than this. unsigned char is not needed because converted unicode bytes don't use this range. tested all valid codepoints and output on amd64, i386 and SPARC64.
2018-08-23xml: remove TODO comments and add a noteHiltjo Posthuma
2018-08-23sfeed_mbox.1: forgot to bump dateHiltjo Posthuma
2018-08-23sfeed_mbox: improvementsHiltjo Posthuma
- 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.
2018-08-23sfeed_twtxt: slightly nicer outputHiltjo Posthuma
2018-08-23sfeed_tail: sleep the proper time, was a debug left-overHiltjo Posthuma
2018-08-23sfeed_tail: file need to exist the first run, but not afterHiltjo Posthuma
+ dont memcpy the struct stat(2) when nothing changed.
2018-08-22sfeed_twtxt: dont use the author and mention style, use a regular linkHiltjo Posthuma
Thanks trqx for pointing it out!
2018-08-22sfeed_tail: improvementsHiltjo Posthuma
- sfeed_tail only reads from files now, not from stdin anymore. This had too many caveats. - Instead of a timer it now detects changes faster and is more efficient using memory. - Improve documentation of its behaviour.
2018-08-22add sfeed_twtxt format program: format to a twtxt feedHiltjo Posthuma
2018-08-22remove stdint.h includeHiltjo Posthuma
the uint* types in XML are not exposed anymore.
2018-08-22xml: improve parsing of invalid attribute values separated by whitespaceHiltjo Posthuma
It is invalid XML, but this allows parsing old HTML pages aswell. For example: <input id=cb checked type="checkbox" title='checkbox' /> or <FONT FACE=wingdings SIZE=12><BLINK>oh hai</BLINK></FONT>
2018-08-22xml: improve handling of invalid long data entitiesHiltjo Posthuma
this also fixes an issue with truncating and missing data on invalid input.
2018-08-21README.xml: improveHiltjo Posthuma
2018-08-21sfeed_frames: stricter pledge when only reading from stdinHiltjo Posthuma
2018-08-21xml: rewrite codepointtoutf8 functionHiltjo Posthuma
No more converting to a uint32_t type. Just convert to a byte buffer. Tested on little- and big-endian. The code should be more clear too hopefully.
2018-08-21xml: don't reset internal tagname when parsing non-tag types like CDATAHiltjo Posthuma
... this affects "tags" starting with < such as CDATA and processing instructions.
2018-08-21xml: fix missing first byte when parsing a long incorrect attribute entityHiltjo Posthuma
... the entity had to be invalid (start with &) and longer than the buffer size. + tiny style fix.
2018-08-21xml: interface change: make some functions privateHiltjo Posthuma
... this does not expose the uint* types either.
2018-08-21xml: increase allowed size of attribute namesHiltjo Posthuma
2018-08-16XML parser: numeric entity: check unicode codepoint rangeHiltjo Posthuma
2018-08-16sfeed_frames: overhaulHiltjo Posthuma
sfeed_frames used to write HTML pages for each entry for each feed. This can be useful but had security issues, because the context of the content changes. sfeed_frames is now a HTML version which works better with browsers that don't support CSS or tables well like w3m and lynx. It is now an alternative for sfeed_html. - Don't reference and embed HTML content for security reasons. This was documented under "SECURITY CONSIDERATIONS" in the man page. - Tighten pledge(2). - Simplify
2018-07-18sfeed_update: fail on feed HTTP redirectHiltjo Posthuma
Make curl fail (return a non-zero exit status) on a HTTP redirect. This makes sure sfeed_update shows the feed as "FAILED" instead of succesful with zero data.
2018-07-18sfeedrc.example: fix linksHiltjo Posthuma
2018-06-24sfeed_opml_import: escape ' properlyHiltjo Posthuma
the shell escape \' was a mistake.
2018-06-24sfeed_gph.1: upstream geomyidae manual is geomyidae(8)Hiltjo Posthuma
2018-06-24bump version to 0.9.4Hiltjo Posthuma
2018-06-24README: linewrapHiltjo Posthuma
2018-06-24util: printutf8pad: proper counting of multiwidth charactersHiltjo Posthuma
for example the string "\xef\xbc\xb5".
2018-04-07sfeed_opml_export: encode more entities for attribute valuesHiltjo Posthuma
Found by testing newsboat and compatibility with other clients.
2018-03-18remove CHANGELOGHiltjo Posthuma
2018-03-11sfeed_tail: remove unused variablesHiltjo Posthuma
2018-03-11sfeed_tail improvementsHiltjo Posthuma
keep sfeed_tail until sfeed is reworked to support tail -f (eventually)
2018-03-11Revert "remove sfeed_tail: the standard tail -f can (soon) be used"Hiltjo Posthuma
This reverts commit 7f3a45b0031ec9cababf764f7826e21bbb59e258.
2018-03-11fix tree.h (platform-specific include)Hiltjo Posthuma
2018-03-11Revert "rm tree.h for sfeed_tail"Hiltjo Posthuma
This reverts commit b7e04c77e4ef03fb15df7cbed9243ca1b5f0ab84.
2018-03-11sfeed_plain: don't flush line (was used for tail -f)Hiltjo Posthuma
2018-03-11include <sys/types.h> for types size_t, ssize_t etcHiltjo Posthuma
This makes sure xml.c in particular can be compiled without further feature macros.
2018-03-11xml: improve comment parsingHiltjo Posthuma
note that ---> is officially invalid XML, but we allow it anyway.
2018-03-11xml: fix parsing of cdata when a handler is unsetHiltjo Posthuma
2018-03-11xml: improve CDATA parsingHiltjo Posthuma
thanks Svyatoslav Mishyn for the feedback!
2018-02-18sfeed_update: revert more merge logicHiltjo Posthuma
this makes sure the sort order of the initial feed sync works again.
2018-02-18sfeed_update: revert new merge logicHiltjo Posthuma
this requires more work without breaking the order in sfeed_html and other tools (top to bottom: new to oldest), vs sfeed_plain in tail mode: oldest to newest. There will also be improvements to the merge logic to reduce many writes in the future.
2018-02-18sfeed_plain: force flush line to output, useful for tail -fHiltjo Posthuma
2018-02-18sfeed_update: revert previous commit, its not an issueHiltjo Posthuma
2018-02-18sfeed_update: dont allow TAB in filename (messes up the merge logic)Hiltjo Posthuma
2018-02-18README: update sfeed_web exampleHiltjo Posthuma
2018-02-18sfeed_update: use filename as feedname againHiltjo Posthuma
make the feedname sanitization less strict again.