Age | Commit message (Collapse) | Author |
|
... this is useful to change the interrupted behaviour in some use-cases.
Thanks leot for the feedback.
|
|
|
|
|
|
Reported by "Dekedro", thanks!
|
|
|
|
- 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!
|
|
|
|
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.
|
|
|
|
|
|
- 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.
|
|
|
|
|
|
+ dont memcpy the struct stat(2) when nothing changed.
|
|
Thanks trqx for pointing it out!
|
|
- 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.
|
|
|
|
the uint* types in XML are not exposed anymore.
|
|
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>
|
|
this also fixes an issue with truncating and missing data on invalid input.
|
|
|
|
|
|
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.
|
|
... this affects "tags" starting with < such as CDATA and processing
instructions.
|
|
... the entity had to be invalid (start with &) and longer than the buffer
size.
+ tiny style fix.
|
|
... this does not expose the uint* types either.
|
|
|
|
|
|
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
|
|
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.
|
|
|
|
the shell escape \' was a mistake.
|
|
|
|
|
|
|
|
for example the string "\xef\xbc\xb5".
|
|
Found by testing newsboat and compatibility with other clients.
|
|
|
|
|
|
keep sfeed_tail until sfeed is reworked to support tail -f (eventually)
|
|
This reverts commit 7f3a45b0031ec9cababf764f7826e21bbb59e258.
|
|
|
|
This reverts commit b7e04c77e4ef03fb15df7cbed9243ca1b5f0ab84.
|
|
|
|
This makes sure xml.c in particular can be compiled without further
feature macros.
|
|
note that ---> is officially invalid XML, but we allow it anyway.
|
|
|
|
thanks Svyatoslav Mishyn for the feedback!
|
|
this makes sure the sort order of the initial feed sync works again.
|
|
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.
|