1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931
|
2010-03-24 eagle
* Rewording and editing of changes for 2.5.2
2010-03-23 iulius
* Bump revision number.
* Fix a call to an uninitialized value. Thanks to John F. Morse for
the bug report.
* Remove a superfluous space.
* Mention that UTF-8 is needed for LIST DISTRIBUTIONS and LIST
MOTD.
* Do not allow local postings to junk groups, as it has always been
documented in the active man page (before commit [8805]).
Posting will be allowed in configured to in readers.conf (local
postings).
* Enforce UTF-8 for LIST MOTD and LIST DISTRIBUTIONS responses.
2010-03-21 iulius
* mailpost should trim the References: header field when it is too
long. Otherwise, inews rejects the article. RFC 5537 explains how
to trim it.
Original patch from Harald Dunkel.
* Assume STDC_HEADERS is always true nowadays.
CTYPE is no longer useful; yet, as Russ Allbery hints at, we keep
the cast because it remains the case that passing signed
characters into is*() functions can cause problems on some
platforms. Some implementations do straight table lookups and, if
given what they think is a negative number, will happily
dereference memory off the beginning of the table.
* actsync rejects syncing newsgroups whose components start with
'+', '-' or '_'. RFC 5536 in section 3.1.4 states that these MUST
be accepted by news servers (and innd does so), even though their
use is reserved.
actsync now supports them, as well as a hierarchy name that
starts with one of these characters.
Thanks to Florian Schlichting for the patch.
* Remove obsolete AC_HEADER_DIRENT and (unused) AC_STRUCT_TM.
* Change how innfeed logs its article counts. A checkpoint is added
just before a connection is closed. Checkpoints contain values
accumulated since the last checkpoint. This way, innreport can
rely on checkpoints only, so as to produce more accurate stats.
See also commit [9009] for innd.
2010-03-16 iulius
* Properly show in innreport news clients that failed to post
articles.
* Prevent negative values from being reported in nnrpd for the
number of groups read by a client.
* Silent two warnings (gethostbyaddr and getpeername) that used not
to be reported. A change in nnrpd previously broke that.
* Properly count the number of groups opened during a session, and
which contained at least an article.
Previously, the count was not taken into account when groups were
opened with no new articles in any of them. And it was taken into
account for groups with no articles, provided that at least one
contained an article.
The result is now more coherent.
* innreport was not properly summing post errors: the domain count
was not done (though configured in innreport.conf), and the
reader count was not working.
* Better report with innreport: NoCeM notices with only bad
messages will now be shown, innxmit feeds with no accepted
articles will also be shown, as well as news readers which never
read any article (for instance those that only post).
* Change how innd logs its article counts. A checkpoint is added
just before a connection is closed. Checkpoints contain values
accumulated since the last checkpoint. This way, innreport can
rely on checkpoints only, so as to produce more accurate stats.
2010-03-14 iulius
* Remove the check for newsgroups containing only ASCII characters
when receiving a newgroup control article. Otherwise, UTF-8
characters would cause a reject of the control article.
* Better wording, and a POD typo. Commit different from INN 2.6.0
because IHAVE is still handled as a separate POST command for
nnrpd in INN 2.5.x.
* Fix a bug in tradindexed cache entries which made innd throttle
because the oldest cache entry couldn't be found. It thought the
cache was empty, kept opening copies of the same overview files,
and eventually ran out of available system open file descriptors.
* Do not truncate to 9 characters the name of a host when
unspooling files with rnews.
* Properly create datarootdir and pathhttp with the rights
associated to the news user and the news group.
* When answering to IHAVE, innd was sending a checkpoint to the
remote server in case it was time to write a checkpoint to
syslog.
2010-02-16 iulius
* Add a new keyword to news.daily: "procbatchdir" specifies the
backlog directories of innfeed when several instances of innfeed
are running or when its configuration file is not the default
one.
* scanlogs was expecting the default innfeed.conf file to look for
the log file to rotate.
Also fixed a bug in news.daily: procbatch was called without
specifying the innfeed backlog directory.
* Update the size limit of block devices. It has changed since the
time our documentation was written.
Thanks to Miquel van Smoorenburg and Russ Allbery.
2010-02-15 iulius
* Update to latest control.ctl file from ISC.
* Update to latest version of config.guess and config.sub.
* Update to libtool 2.2.6b.
2010-02-09 iulius
* Regular expression should only match at the beginning of the
line. Otherwise "./configure --prefix=/opt/portable" will fail on
test 8 because additional lines matches "port". Test 8 has to be
adjusted to not count and depend on comment lines.
Besides, fix an issue of undefined domain or fromhost being
unset.
Reported by Heiko Schlichting.
2010-02-08 iulius
* tdx-util manpage does not know of -F option for correcting
errors.
Patch from Heiko Schlichting.
Also fix a few typos.
* Variable ARTpathme is filled but not used anywhere.
It was used in INN 2.3 so as not to process ihave and sendme
control messages we sent ourselves.
Patch from Heiko Schlichting.
* Comment corrected: arguments of ok_double() are double, not
integer.
Patch from Heiko Schlichting.
* Comment corrected: ok_article produces five test results, not
three.
Patch from Heiko Schlichting.
* expire.ctl documentation should use examples with reasonable
limits for min/max of Expire: headers.
Patch from Heiko Schlichting.
* dbzstore does return DBZSTORE_RESULT, not bool.
Patch from Heiko Schlichting.
* Use Perl and Python filters on message-ID when articles are given
to innd via TAKETHIS. The new RFC-3977 structure of the TAKETHIS
command easily allows such a check.
* Log the port number of a connection (nnrpd).
* When using tradindexed, the overview data for a cancelled article
is now properly immediately removed from the overview.
OVcancel was failing because the article number could be higher
than the cached high water mark. The overview data is now
reopened so as to check the actual high water mark. The article
number was not always parsed without error (a trailing "\r\n" may
be present).
Thanks to Lars Magne Ingebrigtsen for the patch.
* When a user is allowed to locally post articles, then LIST ACTIVE
and LIST COUNTS will return the right "y" flag (instead of "n" or
"x").
* Do not hide "j" and "x" status in LIST ACTIVE answers.
Use NF_FLAG_* macro instead of hard-coded chars for the status of
a newsgroup.
* Allow "Aj" in newsfeeds (new in INN 2.5.2).
* Fixed a bug in the newsfeeds "C" flag: the count of followup
groups was one less than the real number. When the value of the
Followup-To: header is "poster", it is no longer considered to be
a followup.
Also fixed the default value of the "C" flag: 2 instead of 1.
Thanks to Dieter Stussy for the patch.
* Fixed a bug in how mailpost handles cross-posting feature.
Without this patch, mailpost does not detach from sendmail, i.e.
sendmail starts one mailpost after the other, instead of running
all mailposts for a new message in parallel.
Thanks to Harald Dunkel for the patch.
* Fix a typo in the name of a variable.
Thanks to Manuel Pegourie-Gonnard for the bug report.
* Mention that when logtrash is set to false, unwanted.log is no
longer generated.
* Better explanation of why SASL_CONTINUE must be changed to
SASL_BADPROT. Approved by Ken.
* Clarify how posting backoff is activated.
Thanks to Manuel Pegourie-Gonnard for the report.
* The PID is written in nnrpd.pid when the default port is used.
Thanks to Benoit Izac for having reported that.
2010-01-28 iulius
* Revert commit [8933]. No longer check how many headers an article
has when posted via inews.
2010-01-24 iulius
* A new option has been added to inews. When the "-m" flag is
specified, the corresponding value will be used to determine the
maximum number of header fields that are accepted for an article.
The default was 50 and it is now configurable. Thanks to Torsten
Jerzembeck for the bug report.
2010-01-23 iulius
* Updated changelog for INN 2.5.2.
* Properly return 501 instead of 502 when a peer is already
authenticated and sends a syntactically invalid AUTHINFO command.
2010-01-22 iulius
* Add a new parameter to inn.conf: logtrash, used to add a line in
the news log file to report unwanted newsgroups.
* Increase the allowed difference in the result of the inndf test
suite. (It periodically fails for an unkwnown reason...)
* Though it currently does no harm to use ngp here, it is better to
have another variable (in case the logic of the code changes in
the future, ngp may be used for another purpose and should not be
initialized here).
See commit [8920].
* Set a value to INN_HISTORY_H.
* Check whether a newsgroup has been selected, before asking for
authentication.
Answer to retry later when POST is not allowed due to backoff
limits.
* When a newsgroup is empty, use 0 for the current article number
(instead of the last known low water mark).
* Update all INN code to use include/inn/nntp.h for NNTP codes and
eliminate include/nntp.h.
* A new check has been added to newsfeeds entries: "Aj", when
present, adds the capability to feed articles accepted and filed
in "junk" (due to wanttrash) to peers based on their newsfeeds
feed patterns applied to the Newsgroups: header as though the
article were accepted and all those groups were locally carried.
This is useful if you want to run INN with a minimal active file
and propagate all posts.
Thanks to Andrew Gierth for the patch.
* innconfval no longer maps NULL string or list values to an empty
string or list. These values should really be undefined. In
particular, it fixes an issue reported by Kamil Jonca about nnrpd
inserting an empty Organization: header when the organization:
parameter in inn.conf was unset.
* Fixed a bug in the parsing of the ovgrouppat: wildmat in inn.conf
that prevented overview data from being generated when poisoned
groups were specified but a latter sub-pattern made the group
wanted.
Add complete support for uwildmats in ovgrouppat: negated
patterns "!" are now taken into account (and not considered as
poisoned patterns "@").
Optimize how ovgrouppat is handled.
Thanks to D. Stussy for the bug report.
Also fix a wrong memchr length.
* Fixed a bug in nnrpd Perl filter: a header field whose name
begins with the name of a standardized header field was not
properly taken into account. (For instance "Organization-Test".)
* When an unauthenticated user tried to post an article, nnrpd
replied 440 (posting not allowed) instead of the right 480
(authentication required) when the user might be able to post
after authentication.
Thanks to Daniel Weber for the bug report.
* When adding an overview line with OVadd(), check that Xref: is at
the beginning of an overview field (that is to say that a
tabulation precedes it).
Otherwise, if for instance one has User-Agent:full in LIST
OVERVIEW.FMT and an article is received with the following header
field: User-Agent: test Xref: server test:50 then the overview
data for article 50 in newsgroup test is replaced by the one of
this article. And the real article number of this article is
unknown for the overview.
* Add support for the "POSTED" diag-keyword in nnrpd, as described
in RFC 5537. In particular, nnrpd checks that the article does
not already contain a "POSTED" diag-keyword.
* HDR and OVER commands now return the right 423 code (instead of
420) when the current article number is used but the article no
longer exists.
2010-01-17 iulius
* The O flag in newsfeeds now relies on the contents of the
Injection-Info: header (or X-Trace: header if there is no
Injection-Info: header) to determine the origin of an article.
Make public the skip_cfws() function so as to skip CFWS defined
in RFC 5322.
* Use case-insensitive matches for: - distributions, - path
identities, - IMAP commands, - header names, - control commands.
Message-IDs are case-sensitively matched, except for history
hashes.
Note that newsgroups are still matched case-sensitively.
* Fix a bug in keyword generation code: an initial comma was still
added at the beginning of the Keywords: header (when the first
word was a noised one).
* Fixed a bug when HDR, XHDR and XPAT are used when virtualhost is
set to true in readers.conf. The Xref: header of articles posted
to only one newsgroup appears empty.
The offset count is too large by one in virtual hosting.
* Use "!!" as diag-match in the Path: header after the name of the
virtualhost when virtualhost: is set to true in readers.conf and
it is added at the beginning of the header.
* Fixed a bug to control-only feeds: junked non-control articles
were being fed down control-only feeds. Thanks to Andrew Gierth
for the patch.
* * Update protocol differences for innd, now that RFCs 3977, 4643
and 4644 have been implemented.
* Mention that the -X flag is unset by default.
* The Lines: header is not added by *innd*.
* Other typos.
* Mention new RFC references:
974 -> 5321 (SMTP) 822 and 2822 -> 5322 (mail) 2373 -> 4291
(IPv6) 2553 -> 3493 (IPv6 socket) 2060 -> 3501 (IMAP) 2279 ->
3629 (UTF-8)
* Typos. And use Injection-Info instead of NNTP-Hosting-Host (sic).
* Typos.
Use ":" with chown, and not ".", as separator for group name.
* Note that the "L" reading/posting access in readers.conf is also
in effect for groups with status "x" (and not only "n").
A secure layer can also be negotiated with AUTHINFO SASL.
2010-01-16 iulius
* * Add checks for Archive:, Archived-At:, Injection-Date:,
Injection-Info: and User-Agent: headers.
* No longer check for the Injector-Info: one (it was standardized
under Injection-Info:).
* Check (but do not generate) the Injection-Date: header.
* Add access to the new header field Comments: within Perl and
Python hooks for innd.
Also update the POD documentation and the Python sample.
2009-12-30 iulius
* Commit 8765 (mandatory AUTHINFO USER for authenticated peers)
will be only in INN 2.6.0 -- not INN 2.5.2.
2009-12-21 iulius
* Search for gpgv2 (besides gpgv). Otherwise, GnuPG cannot be found
on a few platforms like FreeBSD.
* Typo.
2009-12-16 iulius
* Fix a bug in the daily Usenet report: a few lines did not appear
in the report whereas the total still took them into account.
These lines do not appear when the peer does not respond during
the whole day. They now appear (and every article is marked as
spooled).
* Do not overwrite LOCKS from innshellvars in case someone in the
future expects it to have the value in innshellvars in the entire
script.
Also prevent a call to LOCK afterwards in the script from
failing.
Thanks to S.P.Zeidler for the patch.
2009-12-07 iulius
* Fix the use of an uninitialized value in mailpost.
Patch from Harald Dunkel.
2009-12-04 iulius
* Add access to three new headers within Perl and Python hooks for
innd:
* Archive [RFC 5536] * Archived-At [RFC 5064] * Summary [RFC
5536]
Also update the POD documentation and the Python sample.
2009-12-03 iulius
* Fix a typo in the name of the news.lists.filters newsgroup.
Thanks to John Marshall for having noticed it.
* Add dependencies for tinyleaf compilation.
It was not recompiled when changes were made to its dependencies.
* Improve gcc warnings on printf-like function calls.
* Implement LIST COUNTS. It is a combination of LIST ACTIVE and
GROUP. It returns the same result as LIST ACTIVE except that the
number of articles in a newsgroup is inserted before its status.
LIST COUNTS was first implemented in Highwinds products (e.g.
Cyclone, Tornado, Typhoon, Twister -- when they support readers).
2009-11-29 iulius
* Typos.
* LIST SUBSCRIPTIONS recognizes an optional argument: a wildmat can
now be specified to restrict the results of this command to
specific newsgroups.
Also change the comment returned after the 215 code (the
newsgroups are now "recommended").
Even though a user does not have any right to read groups, let
him see a possible message of the day (LIST MOTD).
2009-11-28 iulius
* tdx-util was improperly considering empty overview fields as
malformed overview data.
2009-11-27 iulius
* * nnrpd now checks the syntax of the Message-ID: header.
* Fixed a bug when nnrpd sends "IHAVE <mid>\r\n" to innd.
Arbitrary commands could be passed to innd because nnrpd did not
ensure the validity of the syntax of the message-ID.
* The permanent variable was not properly set on IHAVE rejects
and defers.
* innd now accepts commands ending with only "\n".
2009-11-20 iulius
* * Mention that the distributions file should be encoded in UTF-8.
* Mention that the motd.news file should be encoded in UTF-8, and
dot-stuffed.
* Typos.
2009-11-17 iulius
* When processing a checkgroups, do not take into account
duplicated lines with localgroups.
* Integrate showtoken into the main distribution. "sm -c" will now
show clear, decoded information about storage API tokens.
A new SMexplaintoken() function has been added to the storage
manager.
2009-11-15 iulius
* No need to treat expire.log differently than other log files
during its rotation.
Patch from Florian Schlichting.
* Add two log messages for bad commands (too long NNTP command or
argument) in innd.
* When "lowmark" was used without "expireover" in news.daily, the
warning was never shown (the file it was written into was rotated
before being treated).
* Update the changelog for INN 2.5.2.
* Check LIST output for correct dot-stuffing.
* news.daily: don't send superfluous mails when "nomail" is given
Make sure that when news.daily is called with "nomail", mail is
only sent when there is real output. Previously, there would
always be headings and empty lines useful to structure the full
report, which are now ommitted.
Also, postexec has been moved up to be included in the regular
mail, and the "nomail" definition of ${MAIL} is no longer
overwritten with the default.
Thanks to Florian Schlichting for this patch.
* This patch cleans up a little cruft (${T}, ${PROBS}) left in
scanlogs since its rewrite by Gary Palmer in September 1997.
Thanks to Florian Schlichting for this patch.
* Documentation fix: a group with status "j" can receive local
articles.
Mention that groups with status "n" or "x" can receive local
posts, if configured to.
* Wording: "flag" -> "status" for the last field of the active
field.
Also fix a typo in hook-python.
* Confusion between DISTRIB.PATS and DISTRIBUTIONS.
LIST ACTIVE.TIMES now accepts a third argument (newsgroups
wildmat).
Mention LIST HEADERS [MSGID|RANGE].
* It is a POST capability, not a READER one.
* Wording of LIST answers.
* "all" and "world" distributions should not be used according to
USEFOR (RFC 5536).
Fix the doc: when the distributions file is missing, 503 is
returned, not an empty answer.
* innxmit currently requires the message-ID after 501.
* RFC 3977 compliance:
* innxbatch and innxmit now recognize 403 for a problem
preventing the action from being taken.
* innxmit now also recognizes 501 when there is a syntax error
and considers it as a reject (IHAVE/CHECK/TAKETHIS).
* A password is not mandatory with AUTHINFO USER/PASS. A username
may be enough to authenticate according to RFC 4644.
* With AUTHINFO USER/PASS, the username is mandatory.
* Use uppercase letters.
* tinyleaf should use 201 and not 200 as initial greeting. Using
POST is not possible.
* Streaming commands were still allowed when streaming was
deactivated.
* * Fix a long-standing bug in TAKETHIS: when authentication was
required, a 480 code was answered before having received the
whole multi-data block, which broke the NNTP protocol.
* Implement RFC 3977 and 4644 for streaming. TAKETHIS is now
totally RFC-compliant and checks the syntax. (However, 501 is
still not sent for interoperability reasons).
* Better response when an article is cancelled.
* When XBATCH answers 501, it is because of an invalid size, not a
missing size (the new parser takes care of it before calling
XBATCH).
* HDR, XHDR and XPAT were not properly showing leading spaces in
header values.
Besides, CR and LF were both changed to spaces. It is not what
should be done: CRLF should be removed and CR, LF, NUL, TAB
should be changed to spaces after the removal of CRLF.
* * Add a parameter to wire_findheader() so as to keep initial
whitespaces, if needed. It is USEFOR-compliant (RFC 5536).
* archive, makehistory and tdx-util now generate valid overview
data (with leading spaces).
* Fix a bug in archive which did not change LF (withouth CR) into
spaces when generating overview data.
* Update the test suite.
* In streaming mode, there is no code to defer an article sent via
TAKETHIS. When the server was paused, we used 403 (temporary
failure).
However, RFC 4644 mentions that we MUST send 400 here and close
the connection so as not to reject the article.
* Fix a bug introduced by commit 8437. If the Message-ID: or the
Supersedes: headers contains trailing white spaces, the article
is stored corrupted (we have a '\r' inside the header).
Introduce more intelligence in the parsing (see a wish explained
in commit 6921) and retain the removed character to properly put
it again after the parsing.
* If keyword generation is set to true in inn.conf but the
Keywords: header is not stored in the overview, warn the news
administrator and deactive keyword generation (because it is
useless and eats resources for nothing).
* Improve syntax checks on message-IDs: nnrpd was only based on RFC
3977, and innd on RFC 1036. They are now both based on RFC 5536
(USEFOR).
* Record the extra persistant state of NNTP commands per channel
instead of a static global variable.
* * Update the prototype of the function for keyword generation
code when INN is compiled without that support.
* Add two new files for the test suite in the MANIFEST file.
* Fix two gcc 4.4 cast warnings.
* * Add a new "unsigned long" type to the configuration parser. It
will properly warn the user when a variable contains a negative
integer. It will prevent INN from crashing at several places
(like a xmalloc(-5) which in fact allocates 4GB of memory on a
32-bit architecture).
* Modify lots of casts (some are now useless, others needed).
* Also update the test suite, adding case tests for unsigned
integers and lists.
* * The keyword generation code now generates a Keywords: header
only if the original article does not already have one.
* Fixed a segfault because of a possible invalid pointer beyond
the allocated Keywords: header.
* In case the generated Keywords: header is empty, nothing will
be retained (because "Keywords: \r\n" is an invalid header).
* The generated Keywords: header now does not begin with a comma.
* Fix a memory leak in the LISTGROUP command when the provided
range is invalid. And in GROUP/LISTGROUP commands when the client
does not have read access.
* Fix a memory leak in the POST command when the Newsgroups: header
is invalid.
* When INN is compiled without SASL support, AUTHINFO SASL is an
unkwnown AUTHINFO command. It should return 501 (syntax error)
instead of 503 (not mentioned in RFC for that case).
* Fix a bug in cvtbatch which was returning only the size of the
headers of an article with the "b" flag. It now correctly returns
the size of the whole article (which is what "b" is supposed to
do).
Also add a missing free() call.
* Change a few log lines.
* Remove dead code in batcher (it is no longer possible to use file
names).
* When keyword generation was done on an article which has a
Keywords: header whose length is greater than the keylimit:
parameter, innd crashed. Change memcpy to strlcpy.
* innreport was not correctly summing innd stats when the hostname
was an IPv6 address instead of a fully qualified domain name.
* Fix two gcc warnings caused by (size_t *) and (unsigned int *)
casts.
* After successful authentication, MODE-READER is not an available
capability.
* Call the function for MODE CANCEL before the check on the length
of the arguments.
* When the argument to CHECK is not valid, make sure we properly
answer 438 with the whole given argument.
* * Add support for whitespaces in username/password for AUTHINFO
USER/PASS commands.
* Properly retain the whole (possibly syntactically wrong)
message-ID of CHECK/TAKETHIS commands.
* Implement CAPABILITIES in innd.
* Improve authentication in innd and implement RFC 4643 (AUTHINFO
USER/PASS):
* If a feeder will not be able to authenticate (because it
already has access to every feeder commands), 502 is returned
instead of letting it authenticate [and fail to].
* Do not allow AUTHINFO PASS before having sent AUTHINFO USER.
* Document how nnrpd differs in the implementation of RFC 3977.
* Fix the test suite because of a change of return value when an
article is totally empty.
* Add support for the third wildmat argument to LIST commands.
Also check that the output does not contain a dot on a single
line.
* If ".\r\n" was put into motd.news, the result of LIST MOTD was
breaking the NNTP protocol.
* When innd cannot provide information for LIST NEWSGROUPS and LIST
ACTIVE.TIMES, it now returns 503. It was giving an invalid result
(".\r\n" without any response code!).
* Return 502 (permission denied) or 401 MODE-READER to LIST
commands when the feeder cannot use LIST commands.
* Fix a bug when articles were fed to innd via IHAVE or TAKETHIS
with an empty article: the article terminator was not recognized.
Therefore, subsequent NNTP commands were eaten inside the
article...
See also commit 8149 for the same issue with an empty body.
* * Return 435/438 instead of 501 to IHAVE/CHECK commands for
compatibility reasons.
* When a CHECK/TAKETHIS command line is too long and no streaming
is allowed, 500 must be returned (these commands are unknown).
* Remove dead code.
* Missing to deallocate grouplist when an error occurs when
accessing the active file.
* Return 412 (no group selected) instead of 501 (syntax error) when
using HEAD/STAT with an article number.
* * Improve logging of MODE commands in news.notice.
* Specify that MODE READER cannot be sent after a successful
authentication because the client is known as a reader.
* Improve the greeting message and say we are in transit mode with
innd.
* * Add a flag to each NNTP command so as to mention whether it can
be used without being authenticated (AUTHINFO, HELP, MODE and
QUIT).
* Eliminate the special casing of the state CSgetauth. Whether
the peer has authenticated is now stored in the channel rather
than in the channel state. It simplifies a lot the code.
* Fix a bug in the response for reader commands: innd was
answering with a superfluous blank line when readers were not
allowed.
* Add support for whitespaces in usernames/passwords provided with
AUTHINFO USER/PASS. nnrpd was previously considering as invalid
passwords like "a b" (two arguments "a" and "b" when only one was
expected) or parsing " ab" as "ab" (stripping the leading space).
nnrpd now treats everything after the first whitespace character
following AUTHINFO USER/PASS, up to, but not including, the CRLF,
as the username/password.
Thanks to Jeffrey M. Vinocur for the initial patch.
* Mention in the documentation that when "nnrpd -i" is used (for an
initial command), the connection is closed after the response.
* * Add a decent parser to innd for NNTP commands. It now puts into
a table the given arguments. It permits to have a far better
grammar parser (commands like "IHAVE<mid>" are no longer valid,
and commands like " IHAVE <mid> " are now valid).
* The length of each NNTP command is no longer necessary to be
kept in memory by the command handler.
* Typos, and mark MAXHEADERSIZE to be fixed in innd code.
* Do not take into account leading white spaces in NNTP commands in
the RTlong case.
* Do not close the connection upon receiving an NNTP command
containing only spaces!
* Ignore lines smaller than 2 bytes (that is to say lines
containing only "\r\n" or something else like "a\n").
* * If the length of NNTP arguments is too long (> 497 bytes), a
501 error is now returned.
* If a command is given less (or more) arguments than expected, a
501 error is now returned.
* Improve the HELP output for innd, specifying expected
arguments.
* HEAD answers 412 (not in a newsgroup) when requesting an
article number. It was previously sending 501 (syntax error in
mesasge-ID).
* For unimplemented NNTP commands like SLAVE, do not return 501
when the command line is too long, but 500.
* NNTP compliance (RFC 3977):
* Check whether the NNTP command sent by a news client is too
large (> 512 bytes). Return an error (500 or 501, depending on
the base command) if it is the case.
* Send 400 instead of 500 when innd closes the connection after
10 (BAD_COMMAND_COUNT) unrecognized commands.
* Use integers instead of strings for NNTP response codes (HEAD and
STAT).
* Return a comment for 205 (QUIT), 235 (IHAVE OK) and 400 (failure
and exit) response codes. Do not use strings from include/nntp.h.
2009-11-01 iulius
* Convert the documentation for innxmit into POD.
* * New "t" flag for "-w" with cvtbatch, so as to retrieve the
arrival time of an article.
* Convert the man page to POD. Mention the default value for
"-w"; it is no longer possible to use file names with cvtbatch.
2009-10-17 iulius
* Bump version numbers of STABLE (2.5.1 -> 2.5.2).
|