Commit Briefs

Thomas Adam

gotwebd: do not allocate server/socket list heads separately

ok millert@



Thomas Adam

fix snprintf error handling

follow the "proper secure idiom" described in the CAVEATS section of printf(3). reminded by tb@ and millert@


Thomas Adam

convert two snprintf to strlcpy

"looks good to me" millert@


Thomas Adam

check for fprintf failure


Thomas Adam

got(1): Replace 'Ar sign' with 'Cm sign'

Cm sign matches the markup used in the ssh-keygen(1) man page. Patch by Josiah Frentsos



Thomas Adam

Group options in accordance with style(9)

patch by Josiah Frentsos


Thomas Adam

gotwebd: fix double free in gotweb_process_request

don't free the querystring, it's already done later by fcgi_celanup_request. ok tracey@


Thomas Adam

tog: add missing checks for NULL pointers in log view state

ok jamsek


Thomas Adam

tog: don't block when processing log view 'G' key map

As per stsp's TODO item, make tog respond to key presses while "loading..." history. Initial testing in src.git appears to work as intended. ok stsp@


Thomas Adam

tog: fix delayed tree index update

If a child blame view has been opened, halfdelay() is reset to a 1 second refresh rate, so the index in the header lags behind subtree navigation as we set the index based on the selected tree entry, which isn't updated till that refresh cycle completes. Don't wait for the selected_entry to update; instead, compute the index from the first displayed entry and the currently selected line index. improved by and ok stsp@


Thomas Adam

tog: move all 'G' logic into log_move_cursor_down()

Previously, we only handled 'G' in log_move_cursor_down() when all commits had not yet been loaded; move the case where all commits are already loaded into this routine too, and simplify by handling both cases the same. This change was prompted by Mikhail's observation of a redundant assignment in the previous 'G' handling in log_move_cursor_down(). ok stsp@


Thomas Adam

tog: fix log 'd' keymap when last commit is displayed

When at the end of the log view such that the currently selected line is greater than nlines/2, add--don't assign--the page down value to the selected index so we don't jump up when the user expects tog to scroll down. While here, rework log page down logic for a smoother UX in horizontal split mode by moving the selection cursor down rather than scrolling when 'd' or 'f' is entered if the last commit is already on screen. ok stsp@


Thomas Adam

portable: fix sys/queue,h detection

When checking for specific sys/queue.h declarations, ensure to add the header file (sys/queue.h) to search, otherwise nothing will be found.



Thomas Adam

convert gotwebd.conf "bind interface IP/iface" to "listen on IP/iface"

ok kn, tracey


Thomas Adam

gotwebd: fix alternate colors in tree entries

it was broken in 7ecc454 because now we're emitting tags with multiple `class' attributes (by mistake) and only the first one is used. However, instead of fixing the HTML `class' attribute, use a CSS selector to alternate the background colors. ok tracey@


Thomas Adam

gotwebd: add a some buffering

This adds some buffering to fcgi_gen_binary_response so that we don't end up sending too many (very) small fastcgi records. While here also make fcgi_send_response non-void and make its errors "sticky". ok tracey@


Thomas Adam

gotwebd: switch some HTML IDs to classes

HTML IDs are meant to be unique across the page. While here fix two small errors in the generated HTML (one missing closing div and one extra.) ok tracey@


Thomas Adam

gotwebd: wrap __packed around __attribute__

Needed for -portability reasons. OK op@


Thomas Adam

portable: provide sockaddr-linux implementation

Someof the socket code has been factored out of gotwebd and put centrally so that platform-specific targets can be created, without the need of heavily modifying the central socket code to contain numerous ifdefs.


Thomas Adam

remove the last remaining use of sin_len from gotwebd

I don't think this assignment to sin_len is needed at all, because sin_len is already being set via got_sockaddr_inet[6]_init() during the configuration stage. Tested successfully on both fcgi socket types (unix / tcp).


Thomas Adam

tog: drop regex for line types to colour the diff view

ok stsp@


Thomas Adam

avoid allocating too many errors in cmd_info

got_error_path uses get_custom_err to get a statically allocated error allocated on a buffer that's used a ring. This is nice and simple, but the drawback is that thees custom errors shouldn't be used "for too long" because they might get overwritten later. cmd_info is one offender: change it to store a "simple" error and later re-use it to construct the per-path error. OK and tweaks stsp@