summaryrefslogtreecommitdiff
path: root/sfeed_frames.c
AgeCommit message (Collapse)Author
2018-08-21sfeed_frames: stricter pledge when only reading from stdinHiltjo 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-02-18sfeed_frames: code-styleHiltjo Posthuma
2017-12-24format programs: ignore fields with an invalid timeHiltjo Posthuma
this makes sure tail -f with multiple files ignores the ==> file <== lines too.
2017-08-12add newline after </html>Hiltjo Posthuma
2017-04-27simplify pledge stubHiltjo Posthuma
2017-04-27compatiblity with browsers: use numeric entity for aposHiltjo Posthuma
this entity is XHTML, it is not supported by some (older) browsers.
2016-08-06sfeed_frames, sfeed_html: don't use HTML tablesHiltjo Posthuma
reasons: - HTML table rendering is extremely slow (invalidate because of resizing cells etc). - whitespace wrapping does not work properly in ancient browsers, links(1).
2016-08-06add USE_PLEDGE, remove pledge dummy functionHiltjo Posthuma
2016-04-12sfeed_frames: make content filename more unique: use UNIX timestamp in titleHiltjo Posthuma
this makes sure if an item has the same title but is posted or updated at a different time it will not overwrite the file.
2016-04-10sfeed_frames: dont make title of content a link if its emptyHiltjo Posthuma
2016-04-10remove basename, just use last part of the path...Hiltjo Posthuma
... as a bonus it also saves an allocation.
2016-03-29add time parsing to sfeed itself, remove time fieldHiltjo Posthuma
- less overhead (we only need GMT time) so no setenv("TZ", ...) tzset() crap. - timezone format (for example %z in strptime) is non-standard, this will add some lines of code and some complexity to our code though, but the trade-off is worth it imho.
2016-03-20sfeed_frames: also XML encode formatted time (just in case)Hiltjo Posthuma
2016-03-04sfeed_frames: use S_IR* names (portability), respect umaskHiltjo Posthuma
use 0777 and 0666 permissions, it will respect the process umask (generally 0022), so 0755 and 0644 effectively.
2016-03-04sfeed_frames: use mkdir and check errno EEXISTHiltjo Posthuma
no need to stat and then mkdir, this is a (theoretical) race-condition too.
2016-02-29sfeed_frames: no need to read from index files, mode "w+b" to "wb"Hiltjo Posthuma
2016-02-29sfeed_frames: whoops, set file permissions (else its 0000)Hiltjo Posthuma
2016-02-28sfeed_frames: add fattr to pledge...Hiltjo Posthuma
... it did not abort, but set it anyway. I think cpath implies fattr, it makes sense.
2016-02-28sfeed_frames: fix open file permission (write only).Hiltjo Posthuma
check errno EEXIST (file exist? -> ignore), handle other errno codes as errors. ... also make sure to fflush write before modifying file access and modification timestamps or it will be overwritten again.
2016-02-28sfeed_frames: fix TOCTTUO with access() and fopen()Hiltjo Posthuma
... and use futimens() in favor of deprecated utime(). a minor difference in behaviour is now filetimes are only updated when the file doesn't exist. minor cleanup: remove namelen, its variable was unused (reported by cppcheck).
2016-02-28null-terminate line at newline from getline()Hiltjo Posthuma
2016-02-27various improvementsHiltjo Posthuma
- 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.
2016-02-27remove some unneeded checksHiltjo Posthuma
2015-08-16code-style + no need to zero static variablesHiltjo Posthuma
2015-08-16code-style, wrap some lines, etcHiltjo Posthuma
2015-08-07util: strtotime: stricter time parsingHiltjo Posthuma
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.
2015-08-02sfeed_frames: wrap plain-text, encode as XML/HTML 2.0Hiltjo Posthuma
2015-08-02sfeed_frames: limit titles and feednames to 128 chars for filenamesHiltjo Posthuma
This prevents unnecessary path-truncation in some cases, with the side-effect it can overwrite items with the same title more often. We handle path truncation as a fatal error, so this was annoying.
2015-08-02sfeed_frames: normalizepath: dont start with replaced -, just ignoreHiltjo Posthuma
2015-08-02util: simplify parseline() and check t for strtotime().Hiltjo Posthuma
2015-08-02refactor print, decodefield into xmlencodeHiltjo Posthuma
... put specific formatting-logic per program (printcontent()).
2015-07-31Various improvementsHiltjo Posthuma
- Only escape characters in "content" field, these can contain newlines. - Trim newlines and tabs, etc from the title, id and author fields. - Make decodefield, xmlencode functions easier to "chain" without allocatting new buffers. - Move printutf8pad from util (only used by sfeed_plain) to sfeed_plain. - Update README, still need to update the man-page and improve the documentation in general. - Code cleanup.
2015-07-30check for time() failureHiltjo Posthuma
2015-07-29sfeed_frames: style: sys includes at topHiltjo Posthuma
2015-07-28sfeed_frames, sfeed_html: add space before amount of new itemsHiltjo Posthuma
2015-07-28improve code-style and consistencyHiltjo Posthuma
2015-06-21sfeed_html, sfeed_frames: escape nameHiltjo Posthuma
2015-06-21improvementsHiltjo Posthuma
2015-05-24sfeed_frames and util cleanupHiltjo Posthuma
- remove xerr and xerrx, assume the OS closes and flushes file descriptors on OS process exit. - move esnprintf, printcontent to util.
2015-05-16sfeed_frames: show mkdir error string, shorter function name normalizepath()Hiltjo Posthuma
2015-01-05remove some TODOs, styleHiltjo Posthuma
2015-01-05sfeed_frames: rename makepathname -> normalizepathname and add a commentHiltjo Posthuma
2015-01-05sfeed_frames: improve error message informationHiltjo Posthuma
2015-01-05sfeed_frames: check truncation for pathHiltjo Posthuma
2015-01-05sfeed_frames: cleanupHiltjo Posthuma
2015-01-05sfeed_frames: improve makepathname, cleanupHiltjo Posthuma
2015-01-05add and use BSD queue.h, cleanupHiltjo Posthuma
2015-01-04sfeed_frames: always error if fopen failedHiltjo Posthuma
2015-01-04snprintf() truncation checksHiltjo Posthuma