uniover > 2GB

Oliver Blasnik ob at omnilink.net
Wed Oct 20 14:36:37 UTC 1999


Hi there,

today was _the_ Day. Our Uniover-file got the 2GB-Limit and inn2.2.1 didn't do
how it should.

First, the mmap-based uniover failed. "Ok", I thought, "possiby a FreeBSD-Bug"
(running 3.1-release). But it wasn't :( Feeding did, nnrpd not.

After several debugging-sessions I encountered, that storage/overview.c tries
to do a fseek() like:

[]  if (fseek(config->fp, token->offset, SEEK_SET) == -1)

Unfornutaly token->offset is defined as "long", and so fseek() did an negative
seek, which is not really nice with SEEK_SET :)

As I wanted a "fast-hack" the solution was to change this line to

[]  if (fseek(config->fp, (unsigned long) token->offset, SEEK_SET) == -1)

instead changing the declaration for "struct TOKEN". After remaking storage/
and nnrpd/ the system was up+running again.

Cu, Oliver Blasnik
SysAdmin OMNILINK ISC
--
    __               OMNILINK Internet Service Center GmbH
   /  \              Hahnstrasse 70, 60528 Frankfurt
 __\  /_________     Tel.: (0 69)66 44 10   Fax: (0 69)66 44 11 99
 O M N I L I N K     http://www.omnilink.net



More information about the inn-bugs mailing list