-const char parsers_rcs[] = "$Id: parsers.c,v 1.230 2011/09/04 11:32:20 fabiankeil Exp $";
+const char parsers_rcs[] = "$Id: parsers.c,v 1.234 2011/10/08 17:31:51 fabiankeil Exp $";
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/parsers.c,v $
log_error(LOG_LEVEL_HEADER,
"Removing \'%s\' to imply keep-alive.", *header);
freez(*header);
+ /*
+ * While we imply keep-alive to the server,
+ * we have to remember that the client didn't.
+ *
+ * XXX: The implied keep-alive currently doesn't
+ * actually work due to a not yet properly
+ * analyzed regression in chat()
+ */
+ csp->flags &= ~CSP_FLAG_CLIENT_CONNECTION_KEEP_ALIVE;
}
else
{
static jb_err server_last_modified(struct client_state *csp, char **header)
{
const char *newval;
- char buf[BUFFER_SIZE];
time_t last_modified;
char newheader[50];
/*
* Setting Last-Modified Header to now.
*/
+ char buf[30];
get_http_time(0, buf, sizeof(buf));
freez(*header);
*header = strdup("Last-Modified: ");
* attempt to work around GNU libc's strptime()
* reporting negative year values when using %Y.
*/
- static const char *time_formats[] = {
+ static const char * const time_formats[] = {
/* Tue, 02-Jun-37 20:00:00 */
"%a, %d-%b-%y %H:%M:%S",
/* Tue, 02 Jun 2037 20:00:00 */
};
unsigned int i;
- /*
- * Zero out gmt to prevent time zone offsets.
- * Documented to be required for GNU libc.
- */
- memset(&gmt, 0, sizeof(gmt));
-
for (i = 0; i < SZ(time_formats); i++)
{
+ /*
+ * Zero out gmt to prevent time zone offsets.
+ * Documented to be required for GNU libc.
+ */
+ memset(&gmt, 0, sizeof(gmt));
+
if (NULL != strptime(header_time, time_formats[i], &gmt))
{
/* Sanity check for GNU libc. */