This project has moved. For the latest updates, please go here.


Update TIdNNTP and TIdNNTPServer to use 64-bit article numbers


According to RFC 3977 Section 6 (, article numbers can increase until they reach 2,147,483,647, the upper bounds of a 32-bit Integer. While servers are not allowed to send higher values, the RFC is open to this possibility and advises implementors to have internal structures prepared to hold higher values. In fact, some high-volume newsgroups have already exceeded the boundary (for instance, and some newsreaders have issues handling this. Some of the most popular news servers, like GigaNews, are already sending higher bound numbers in unsigned 64-bit format and are recommending for newsreaders to implement this as well (see
When the number reaches 32-bit limit odd things may happen in newsreaders - they may stop accepting new articles. Some servers might (not sure) wrap article numbers to reset the count. But most popular ones have chosen not to do so but continue increasing the number and this is likely to happen for others as well.
TIdNNTP and TIdNNTPServer use 32-bit Integers for holding article numbers. This needs to be changed to Int64, or even UInt64 on versions that support it.
Closed Apr 6 at 12:27 AM by gambit47


gambit47 wrote Dec 24, 2011 at 10:08 PM

Implemented in SVN rev 4718.

wrote Feb 13, 2013 at 10:09 PM

wrote May 16, 2013 at 5:14 AM

wrote May 16, 2013 at 5:14 AM

wrote Jun 14, 2013 at 7:50 AM

wrote Apr 6 at 12:27 AM