#include <hallo.h> * Eduard Bloch [Wed, Nov 29 2006, 01:46:30AM]: > #include <hallo.h> > * Bill Allombert [Tue, Nov 28 2006, 06:40:53PM]: > > On Sat, Nov 18, 2006 at 01:01:18AM +0100, Eduard Bloch wrote: > > > I could not find it here, and even if I could I doubt they would be > > > easily applicable. Instead, I took the current version in sid and > > > modified it again. The attached version is almost okay any still have > > > some little glitches: > > > > > > - it was not tested on real data, only sparse file to /dev/null > > > transfer > > > - detection of LFS support is not added, I hardcoded good values into > > > config.h.in > > > - I have used off_t as the main type everywhere. On some places even > > > for "unsigned int" where it looked like it would not hurt at the > > > first glance > > > > Hello Eduard, > > It seems the ranges are still 32bit only with your patch. > > This causes some gcc warnings. > > > > I plan to upload a NMU without you patch applied because I don't trust > > myself to deal with the LFS stuff correctly, and the time for Etch > > is short. Sorry about that. > > Hm. Ranges stuff itself should be not a big problem, it is fixed like > other stuff, see attachment. > > One thing I noticed when compiling on amd64 this time is that it shows > warnings about off_t not beeing a long long int expected by printf. > Which OTOH is understandable since off_t seems to be a long which is > already 64bit wide on amd64. Not sure whether this will break some stuff, > but I guess it won't. > > Eduard. > -- > <HE> <caro> Ganneff: passt auf, ich bin blond, habe keine ahnung von > computern, > aber einen client kann ich einrichten, sogar alleine. *stolz guck*
-- <Ganneff> kde und tastatur? passt doch nicht mit dem nutzerprofil "windepp" zusammen :)
Nur in boa-0.94.14rc20.lfspatched/: Makefile. Nur in boa-0.94.14rc20.lfspatched/: config.log. Nur in boa-0.94.14rc20.lfspatched/: config.status. diff -urd boa-0.94.14rc20/debian/changelog boa-0.94.14rc20.lfspatched/debian/changelog --- boa-0.94.14rc20/debian/changelog 2006-01-01 00:01:59.000000000 +0100 +++ boa-0.94.14rc20.lfspatched/debian/changelog 2006-11-17 22:44:34.245211733 +0100 @@ -1,3 +1,10 @@ +boa (0.94.14rc20-1.4) unstable; urgency=low + + * Non-maintainer upload. + * LFS fixes + + -- Eduard Bloch <[EMAIL PROTECTED]> Fri, 17 Nov 2006 22:44:28 +0100 + boa (0.94.14rc20-1.3) unstable; urgency=low * Non Maintainer Upload diff -urd boa-0.94.14rc20/debian/rules boa-0.94.14rc20.lfspatched/debian/rules --- boa-0.94.14rc20/debian/rules 2006-01-01 00:01:59.000000000 +0100 +++ boa-0.94.14rc20.lfspatched/debian/rules 2006-11-18 00:49:05.668146486 +0100 @@ -18,7 +18,8 @@ build-stamp: dh_testdir - CFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE" ./configure;make + #CFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE" + ./configure;make cd docs;make boa.html boa.info touch build-stamp Nur in boa-0.94.14rc20.lfspatched/src: .config.h.swp. Nur in boa-0.94.14rc20.lfspatched/src: .get.c.swp. Nur in boa-0.94.14rc20.lfspatched/src: .read.c.swp. Nur in boa-0.94.14rc20.lfspatched/src: Makefile. Nur in boa-0.94.14rc20.lfspatched/src: alias.o. Nur in boa-0.94.14rc20.lfspatched/src: boa. diff -urd boa-0.94.14rc20/src/boa.h boa-0.94.14rc20.lfspatched/src/boa.h --- boa-0.94.14rc20/src/boa.h 2006-01-01 00:01:59.000000000 +0100 +++ boa-0.94.14rc20.lfspatched/src/boa.h 2006-11-17 23:54:29.535400985 +0100 @@ -25,7 +25,9 @@ #ifndef _BOA_H #define _BOA_H +/* Important, include before anything else */ #include "config.h" + #include <errno.h> #include <stdlib.h> /* malloc, free, etc. */ #include <stdio.h> /* stdin, stdout, stderr */ @@ -165,7 +167,7 @@ void clean_pathname(char *pathname); char *get_commonlog_time(void); void rfc822_time_buf(char *buf, time_t s); -char *simple_itoa(unsigned int i); +char *simple_itoa(uint64_t i); int boa_atoi(const char *s); int month2int(const char *month); int modified_since(time_t * mtime, const char *if_modified_since); Nur in boa-0.94.14rc20.lfspatched/src: boa.o. Nur in boa-0.94.14rc20.lfspatched/src: boa_indexer. diff -urd boa-0.94.14rc20/src/buffer.c boa-0.94.14rc20.lfspatched/src/buffer.c --- boa-0.94.14rc20/src/buffer.c 2006-01-01 00:01:59.000000000 +0100 +++ boa-0.94.14rc20.lfspatched/src/buffer.c 2006-11-18 00:42:40.364066486 +0100 @@ -211,7 +211,7 @@ return -2; if (bytes_to_write) { - int bytes_written; + off_t bytes_written; bytes_written = write(req->fd, req->buffer + req->buffer_start, bytes_to_write); Nur in boa-0.94.14rc20.lfspatched/src: buffer.o. Nur in boa-0.94.14rc20.lfspatched/src: cgi.o. Nur in boa-0.94.14rc20.lfspatched/src: cgi_header.o. Nur in boa-0.94.14rc20.lfspatched/src: config.h. diff -urd boa-0.94.14rc20/src/config.h.in boa-0.94.14rc20.lfspatched/src/config.h.in --- boa-0.94.14rc20/src/config.h.in 2006-01-01 00:01:59.000000000 +0100 +++ boa-0.94.14rc20.lfspatched/src/config.h.in 2006-11-17 23:40:54.980494485 +0100 @@ -205,3 +205,17 @@ /* Define to `int' if <sys/types.h> doesn't define. */ #undef uid_t + +#define LFS_ENABLED + +/* Those enable the LFS ready structures in the system headers */ +#ifdef LFS_ENABLED +#define _FILE_OFFSET_BITS 64 /* glibc style */ +#define _LARGEFILE_SOURCE 1 /* To make ftello() visible (HP-UX 10.20). */ +#define _LARGE_FILES 1 /* Large file defined on AIX-style hosts. */ + +#define _LARGEFILE64_SOURCE /* tell kernel headers to provide the O_LARGEFILE value */ +#define PRINTF_SIZE_ARG "%lld" +#else +#define PRINTF_SIZE_ARG "%ld" +#endif Nur in boa-0.94.14rc20.lfspatched/src: config.h~. Nur in boa-0.94.14rc20.lfspatched/src: config.o. Nur in boa-0.94.14rc20.lfspatched/src: escape.o. diff -urd boa-0.94.14rc20/src/get.c boa-0.94.14rc20.lfspatched/src/get.c --- boa-0.94.14rc20/src/get.c 2006-01-01 00:01:59.000000000 +0100 +++ boa-0.94.14rc20.lfspatched/src/get.c 2006-11-29 01:32:47.906722072 +0100 @@ -25,6 +25,10 @@ #include "boa.h" #include "access.h" +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> + #define STR(s) __STR(s) #define __STR(s) #s @@ -52,9 +56,9 @@ { int data_fd, saved_errno; struct stat statbuf; - volatile unsigned int bytes_free; + volatile off_t bytes_free; - data_fd = open(req->pathname, O_RDONLY); + data_fd = open(req->pathname, O_RDONLY|O_LARGEFILE); saved_errno = errno; /* might not get used */ #ifdef GUNZIP @@ -76,7 +80,7 @@ memcpy(gzip_pathname, req->pathname, len); memcpy(gzip_pathname + len, ".gz", 3); gzip_pathname[len + 3] = '\0'; - data_fd = open(gzip_pathname, O_RDONLY); + data_fd = open(gzip_pathname, O_RDONLY|O_LARGEFILE); if (data_fd != -1) { close(data_fd); @@ -430,8 +434,8 @@ int process_get(request * req) { - int bytes_written; - volatile unsigned int bytes_to_write; + off_t bytes_written; + volatile off_t bytes_to_write; if (req->method == M_HEAD) { return complete_response(req); @@ -531,7 +535,7 @@ memcpy(pathname_with_index, req->pathname, l1); /* doesn't copy NUL */ memcpy(pathname_with_index + l1, directory_index, l2 + 1); /* does */ - data_fd = open(pathname_with_index, O_RDONLY); + data_fd = open(pathname_with_index, O_RDONLY|O_LARGEFILE); if (data_fd != -1) { /* user's index file */ /* We have to assume that directory_index will fit, because @@ -555,7 +559,7 @@ * try index.html.gz */ strcat(pathname_with_index, ".gz"); - data_fd = open(pathname_with_index, O_RDONLY); + data_fd = open(pathname_with_index, O_RDONLY|O_LARGEFILE); if (data_fd != -1) { /* user's index file */ close(data_fd); @@ -624,9 +628,9 @@ * include the NUL when calculating if the size is enough */ snprintf(pathname_with_index, sizeof(pathname_with_index), - "%s/dir.%d.%ld", cachedir, + "%s/dir.%d.%d", cachedir, (int) statbuf->st_dev, statbuf->st_ino); - data_fd = open(pathname_with_index, O_RDONLY); + data_fd = open(pathname_with_index, O_RDONLY|O_LARGEFILE); if (data_fd != -1) { /* index cache */ @@ -642,7 +646,7 @@ if (index_directory(req, pathname_with_index) == -1) return -1; - data_fd = open(pathname_with_index, O_RDONLY); /* Last chance */ + data_fd = open(pathname_with_index, O_RDONLY|O_LARGEFILE); /* Last chance */ if (data_fd != -1) { strcpy(req->request_uri, directory_index); /* for mimetype */ fstat(data_fd, statbuf); @@ -671,7 +675,7 @@ DIR *request_dir; FILE *fdstream; struct dirent *dirbuf; - int bytes = 0; + off_t bytes = 0; char *escname = NULL; if (chdir(req->pathname) == -1) { Nur in boa-0.94.14rc20.lfspatched/src: get.c~. Nur in boa-0.94.14rc20.lfspatched/src: get.o. diff -urd boa-0.94.14rc20/src/globals.h boa-0.94.14rc20.lfspatched/src/globals.h --- boa-0.94.14rc20/src/globals.h 2006-01-01 00:01:59.000000000 +0100 +++ boa-0.94.14rc20.lfspatched/src/globals.h 2006-11-17 23:12:10.544723985 +0100 @@ -130,9 +130,9 @@ int numranges; int data_fd; /* fd of data */ - unsigned long filesize; /* filesize */ - unsigned long filepos; /* position in file */ - unsigned long bytes_written; /* total bytes written (sans header) */ + off_t filesize; /* filesize */ + off_t filepos; /* position in file */ + off_t bytes_written; /* total bytes written (sans header) */ char *data_mem; /* mmapped/malloced char array */ char *logline; /* line to log file */ Nur in boa-0.94.14rc20.lfspatched/src: hash.o. diff -urd boa-0.94.14rc20/src/index_dir.c boa-0.94.14rc20.lfspatched/src/index_dir.c --- boa-0.94.14rc20/src/index_dir.c 2006-01-01 00:01:59.000000000 +0100 +++ boa-0.94.14rc20.lfspatched/src/index_dir.c 2006-11-17 23:41:36.707102235 +0100 @@ -19,6 +19,7 @@ /* $Id: index_dir.c,v 1.32.2.5 2004/03/05 04:19:00 jnelson Exp $*/ +#include "config.h" #include <stdio.h> #include <sys/stat.h> #include <limits.h> /* for PATH_MAX */ @@ -262,10 +263,12 @@ printf("<tr>" "<td width=\"40%%\"><a href=\"%s/\">%s/</a></td>" "<td align=right>%s</td>" - "<td align=right>%ld bytes</td>" + "<td align=right>" + PRINTF_SIZE_ARG + " bytes</td>" "</tr>\n", escaped_filename, html_filename, - ctime(&statbuf.st_mtime), (long) statbuf.st_size); + ctime(&statbuf.st_mtime), (off_t) statbuf.st_size); } printf @@ -308,19 +311,23 @@ "<td width=\"40%%\"><a href=\"%s\">%s</a> " "<a href=\"%s.gz\">(.gz)</a></td>" "<td align=right>%s</td>" - "<td align=right>%ld bytes</td>" + "<td align=right>" + PRINTF_SIZE_ARG + " bytes</td>" "</tr>\n", escaped_filename, html_filename, http_filename, - ctime(&statbuf.st_mtime), (long) statbuf.st_size); + ctime(&statbuf.st_mtime), (off_t) statbuf.st_size); } else { #endif printf("<tr>" "<td width=\"40%%\"><a href=\"%s\">%s</a></td>" "<td align=right>%s</td>" - "<td align=right>%ld bytes</td>" + "<td align=right>" + PRINTF_SIZE_ARG + " bytes</td>" "</tr>\n", escaped_filename, html_filename, - ctime(&statbuf.st_mtime), (long) statbuf.st_size); + ctime(&statbuf.st_mtime), (off_t) statbuf.st_size); #ifdef GUNZIP } #endif Nur in boa-0.94.14rc20.lfspatched/src: index_dir.o. Nur in boa-0.94.14rc20.lfspatched/src: ip.o. diff -urd boa-0.94.14rc20/src/log.c boa-0.94.14rc20.lfspatched/src/log.c --- boa-0.94.14rc20/src/log.c 2006-01-01 00:01:59.000000000 +0100 +++ boa-0.94.14rc20.lfspatched/src/log.c 2006-11-18 00:50:16.568577485 +0100 @@ -146,7 +146,7 @@ } else if (vhost_root) { printf("%s ", (req->host ? req->host : "(null)")); } - printf("%s - - %s\"%s\" %d %ld \"%s\" \"%s\"\n", + printf("%s - - %s\"%s\" %d " PRINTF_SIZE_ARG " \"%s\" \"%s\"\n", req->remote_ip_addr, get_commonlog_time(), req->logline ? req->logline : "-", Nur in boa-0.94.14rc20.lfspatched/src: log.o. diff -urd boa-0.94.14rc20/src/mmap_cache.c boa-0.94.14rc20.lfspatched/src/mmap_cache.c --- boa-0.94.14rc20/src/mmap_cache.c 2006-01-01 00:01:59.000000000 +0100 +++ boa-0.94.14rc20.lfspatched/src/mmap_cache.c 2006-11-17 22:53:37.491162485 +0100 @@ -139,7 +139,7 @@ int data_fd; struct stat statbuf; struct mmap_entry *e; - data_fd = open(fname, O_RDONLY); + data_fd = open(fname, O_RDONLY|O_LARGEFILE); if (data_fd == -1) { perror(fname); return NULL; Nur in boa-0.94.14rc20.lfspatched/src: mmap_cache.o. diff -urd boa-0.94.14rc20/src/pipe.c boa-0.94.14rc20.lfspatched/src/pipe.c --- boa-0.94.14rc20/src/pipe.c 2006-01-01 00:01:59.000000000 +0100 +++ boa-0.94.14rc20.lfspatched/src/pipe.c 2006-11-18 00:45:43.067484735 +0100 @@ -36,8 +36,8 @@ int read_from_pipe(request * req) { - int bytes_read; /* signed */ - unsigned int bytes_to_read; /* unsigned */ + off_t bytes_read; /* signed */ + off_t bytes_to_read; /* unsigned */ /* XXX really? */ bytes_to_read = BUFFER_SIZE - (req->header_end - req->buffer - 1); @@ -127,8 +127,8 @@ int write_from_pipe(request * req) { - int bytes_written; - unsigned int bytes_to_write = req->header_end - req->header_line; + off_t bytes_written; + off_t bytes_to_write = req->header_end - req->header_line; if (bytes_to_write == 0) { if (req->cgi_status == CGI_DONE) @@ -169,8 +169,8 @@ #ifdef HAVE_SENDFILE int io_shuffle_sendfile(request * req) { - int bytes_written; - unsigned int bytes_to_write; + off_t bytes_written; + off_t bytes_to_write; if (req->method == M_HEAD) { return complete_response(req); @@ -239,8 +239,8 @@ int io_shuffle(request * req) { - int bytes_to_read; - int bytes_written, bytes_to_write; + off_t bytes_to_read; + off_t bytes_written, bytes_to_write; if (req->method == M_HEAD) { return complete_response(req); @@ -260,7 +260,7 @@ bytes_to_read = bytes_to_write; if (bytes_to_read > 0 && req->data_fd) { - int bytes_read; + off_t bytes_read; off_t temp; temp = lseek(req->data_fd, req->ranges->start, SEEK_SET); Nur in boa-0.94.14rc20.lfspatched/src: pipe.o. Nur in boa-0.94.14rc20.lfspatched/src: queue.o. diff -urd boa-0.94.14rc20/src/range.c boa-0.94.14rc20.lfspatched/src/range.c --- boa-0.94.14rc20/src/range.c 2006-01-01 00:01:59.000000000 +0100 +++ boa-0.94.14rc20.lfspatched/src/range.c 2006-11-29 01:27:25.478738576 +0100 @@ -27,7 +27,7 @@ #include "boa.h" static void range_abort(request * req); -static void range_add(request * req, unsigned long start, unsigned long stop); +static void range_add(request * req, off_t start, off_t stop); static Range *range_pool = NULL; void ranges_reset(request * req) @@ -87,7 +87,7 @@ req->ranges->stop = -1; } -static void range_add(request * req, unsigned long start, unsigned long stop) +static void range_add(request * req, off_t start, off_t stop) { Range *prev; Range *r = range_pool_pop(); @@ -147,7 +147,7 @@ * 5) start > stop && start != -1 :: invalid */ DEBUG(DEBUG_RANGE) { - fprintf(stderr, "range.c: ranges_fixup: %lu-%lu\n", r->start, r->stop); + fprintf(stderr, "range.c: ranges_fixup: " PRINTF_SIZE_ARG "-" PRINTF_SIZE_ARG "\n", r->start, r->stop); } /* no stop range specified or stop is too big. @@ -168,7 +168,7 @@ * RFC says it gets filesize - stop. * Stop is already valid from a filesize point of view. */ - if ((long) r->start == -1) { + if (r->start == -1) { /* last N bytes of the entity body. * r->stop contains is N * due to the above test we are guaranteed @@ -188,7 +188,7 @@ /* since start <= stop and stop < filesize, * start < filesize */ - if ((long) r->start < 0 || r->start > r->stop) { + if (r->start < 0 || r->start > r->stop) { Range *temp; temp = r; @@ -206,7 +206,7 @@ /* r->stop and r->start may be the same, however */ DEBUG(DEBUG_RANGE) { - fprintf(stderr, "ending with start: %lu\tstop: %lu\n", r->start, r->stop); + fprintf(stderr, "ending with start: "PRINTF_SIZE_ARG"\tstop: "PRINTF_SIZE_ARG"\n", r->start, r->stop); } if (prev == NULL) @@ -277,7 +277,7 @@ #define null 4 #define other 5 int ccode; - unsigned long start = 0, stop = 0; + off_t start = 0, stop = 0; #define ACTMASK1 (0xE0) #define PB (0x20) /* Push Beginning */ Nur in boa-0.94.14rc20.lfspatched/src: range.c~. Nur in boa-0.94.14rc20.lfspatched/src: range.o. diff -urd boa-0.94.14rc20/src/read.c boa-0.94.14rc20.lfspatched/src/read.c --- boa-0.94.14rc20/src/read.c 2006-01-01 00:01:59.000000000 +0100 +++ boa-0.94.14rc20.lfspatched/src/read.c 2006-11-29 01:30:48.721840928 +0100 @@ -38,7 +38,7 @@ int read_header(request * req) { - int bytes; + off_t bytes; unsigned char *check, *buffer; check = req->client_stream + req->parse_pos; @@ -117,7 +117,7 @@ if (req->header_end - req->header_line >= MAX_HEADER_LENGTH) { log_error_doc(req); - fprintf(stderr, "Header too long at %d bytes: \"%s\"\n", + fprintf(stderr, "Header too long at %ld bytes: \"%s\"\n", req->header_end - req->header_line, req->header_line); send_r_bad_request(req); @@ -177,7 +177,7 @@ */ if (req->content_length) { - int content_length; + off_t content_length; content_length = boa_atoi(req->content_length); /* Is a content-length of 0 legal? */ @@ -193,7 +193,7 @@ && content_length > single_post_limit) { log_error_doc(req); fprintf(stderr, - "Content-Length [%d] > SinglePostLimit [%d] on POST!\n", + "Content-Length [" PRINTF_SIZE_ARG "] > SinglePostLimit [%d] on POST!\n", content_length, single_post_limit); send_r_bad_request(req); return 0; @@ -222,7 +222,7 @@ if (req->status < BODY_READ) { /* only reached if request is split across more than one packet */ - unsigned int buf_bytes_left; + off_t buf_bytes_left; buf_bytes_left = CLIENT_STREAM_SIZE - req->client_stream_pos; if (buf_bytes_left < 1 || buf_bytes_left > CLIENT_STREAM_SIZE) { @@ -271,7 +271,7 @@ DEBUG(DEBUG_HEADER_READ) { log_error_time(); req->client_stream[req->client_stream_pos] = '\0'; - fprintf(stderr, "%s:%d -- We read %d bytes: \"%s\"\n", + fprintf(stderr, "%s:%d -- We read " PRINTF_SIZE_ARG " bytes: \"%s\"\n", __FILE__, __LINE__, bytes, #ifdef VERY_FASCIST_LOGGING2 req->client_stream + req->client_stream_pos - bytes @@ -307,8 +307,8 @@ int read_body(request * req) { - int bytes_read; - unsigned int bytes_to_read, bytes_free; + off_t bytes_read; + off_t bytes_to_read, bytes_free; bytes_free = BUFFER_SIZE - (req->header_end - req->header_line); bytes_to_read = req->filesize - req->filepos; @@ -365,8 +365,8 @@ int write_body(request * req) { - int bytes_written; - unsigned int bytes_to_write = req->header_end - req->header_line; + off_t bytes_written; + off_t bytes_to_write = req->header_end - req->header_line; if (req->filepos + bytes_to_write > req->filesize) bytes_to_write = req->filesize - req->filepos; @@ -400,7 +400,7 @@ } DEBUG(DEBUG_HEADER_READ) { log_error_time(); - fprintf(stderr, "%s:%d - wrote %d bytes of CGI body. %ld of %ld\n", + fprintf(stderr, "%s:%d - wrote " PRINTF_SIZE_ARG " bytes of CGI body. " PRINTF_SIZE_ARG " of " PRINTF_SIZE_ARG "\n", __FILE__, __LINE__, bytes_written, req->filepos, req->filesize); } @@ -415,7 +415,7 @@ req->header_line[bytes_written] = '\0'; fprintf(stderr, - "%s:%d - wrote %d bytes (%s). %lu of %lu\n", + "%s:%d - wrote " PRINTF_SIZE_ARG " bytes (%s). " PRINTF_SIZE_ARG " of " PRINTF_SIZE_ARG "\n", __FILE__, __LINE__, bytes_written, req->header_line, req->filepos, req->filesize); req->header_line[bytes_written] = c; Nur in boa-0.94.14rc20.lfspatched/src: read.c~. Nur in boa-0.94.14rc20.lfspatched/src: read.o. diff -urd boa-0.94.14rc20/src/request.c boa-0.94.14rc20.lfspatched/src/request.c --- boa-0.94.14rc20/src/request.c 2006-01-01 00:01:59.000000000 +0100 +++ boa-0.94.14rc20.lfspatched/src/request.c 2006-11-18 00:51:34.625455735 +0100 @@ -259,14 +259,14 @@ static void sanitize_request(request * req, int new_req) { - static unsigned int bytes_to_zero = offsetof(request, fd); + static off_t bytes_to_zero = offsetof(request, fd); if (new_req) { req->kacount = ka_max; req->time_last = current_time; req->client_stream_pos = 0; } else { - unsigned int bytes_to_move = + off_t bytes_to_move = req->client_stream_pos - req->parse_pos; if (bytes_to_move) { @@ -282,7 +282,7 @@ DEBUG(DEBUG_REQUEST) { log_error_time(); - fprintf(stderr, "req: %p, offset: %u\n", (void *) req, + fprintf(stderr, "req: %p, offset: " PRINTF_SIZE_ARG "\n", (void *) req, bytes_to_zero); } Nur in boa-0.94.14rc20.lfspatched/src: request.o. Nur in boa-0.94.14rc20.lfspatched/src: response.o. Nur in boa-0.94.14rc20.lfspatched/src: select.o. Nur in boa-0.94.14rc20.lfspatched/src: signals.o. Nur in boa-0.94.14rc20.lfspatched/src: sublog.o. Nur in boa-0.94.14rc20.lfspatched/src: timestamp.o. diff -urd boa-0.94.14rc20/src/util.c boa-0.94.14rc20.lfspatched/src/util.c --- boa-0.94.14rc20/src/util.c 2006-01-01 00:01:59.000000000 +0100 +++ boa-0.94.14rc20.lfspatched/src/util.c 2006-11-17 23:54:24.287072985 +0100 @@ -502,7 +502,7 @@ memcpy(p, day_tab + t->tm_wday * 4, 4); } -char *simple_itoa(unsigned int i) +char *simple_itoa(uint64_t i) { /* 21 digits plus null terminator, good for 64-bit or smaller ints * for bigger ints, use a bigger buffer! Nur in boa-0.94.14rc20.lfspatched/src: util.o.