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
|
This file describes the changes in "TX" versions, that is versions modified
by me (Pablo Saratxaga <srtxg@chanae.alphanet.ch>).
I began working with sources to solucionate some minor problems about MSGID,
then I liked it and added some features, from me and Tanaka-san (Tsuneo Tanaka
<tt@efnet.com>).
!!! Note that bugs, if any, are from me. The original 2.10 version worked !!!
!!! very well. Note also that I've little credit to the ifmail package; it !!!
!!! exists thanks to its author, E. Crosser. !!!
I hope that you will find the changes and the new features usefull.
I also will appreciate any feedback from you.
Lige, 3 May 1997
Pablo Saratxaga <srtxg@chanae.alphanet.ch>
Features in the current TX version
==================================
(that is new features not found in v2.10)
* When gating from FTN to rfc, support has been added for messages previously
gated by some other gateway, to try to retrieve the most of the original
informations. Some special ones are compile time configurable.
0) v2.10 already recognizes its own gated messages, with ^aRFC- kludges.
1) @FROM :, and @SUBJECT: lines generated by a rfc->PcBoard->FTN gate
(used in France, I don't know if elsewhere) are recognized, and the
original From: and Subject: lines written in gated article.
It needs -DPCBOARD_GATE at compilation.
2) Support for messages gated from rfc to FTN by FidoGate.
3) There is a gate program that writes rfc headers in the text body of FTN
messages. It is parseable, but, Newsgroups: is written erroneously, with
", " instead of "," for separating them. It arrived with FTN K12* echoes
gated from usenet at puddle.fidonet.org. compiling with -DPUDDLE_GATE
corriges that.
4) Support for headers "Golded-style" (^aHeader: .... instead of
^aRFC-Header...)
5) Support for retrieving original Message-ID's from gigo
* changes to Makefiles, now "make man" will install the man pages.
* A new manpage for ifcico
* MIME quoted-printable messages will be dequoted when geting from rfc -> FTN
* FidoGate generates, when it gates from FTN -> rfc, Message-ID's from MSGID
in quoted printable form. The original MSGID is written when gating to FTN
again.
* "Supersedes: <msgid>" and "Control: cancel <msgid>" are gated to their
FTN counterparts (^ACUPDATE: MODIFY and ^aACUPDATE: DELETE) used by Squish
it needs -DALLOW_CONTROL for cancel messages.
* When gating to FTN, if there is more than one group in Newsgroups: line,
the line is conserved.
* Charset support. I'm trying to done it as complete as possible. Until now
it can deal with Cyrillic, Hebrew, Japanese, Chinese, Polish, Czech,
Slovak and West-European languages.
unicode partially supported (utf-7 and utf-8 decoding, but only if it
was iso-8859-1, cyrillic or hebrew)
Greek, Arabic and other latin languages are not complete (I lack info).
See the file README.charset for more info on this.
The idea is to do, if necessary, transcodage when gating, according to the
real charset used in the messages. For this a lot of changes have been done.
When gating from FTN to rfc, it looks, in that order, for a CHARSET FTN
kludge line, or a CHRS kludge line or a Content-Type: line (if it is a
gated article). If none, it will look in Areas file (if compiled with -DJE)
if that fails, then charset is assumed to be CHRS_DEFAULT_FTN (you should
configure it according to the one used in your country).
Then, with this value, the getincode() function gives the charset value
that will be used for writting the rfc article (taylor getincode in
iflib/charset.c for your needs). Or it will look in Areas file (if you
compiled with -DJE)
When gating from rfc to FTN, it looks for Content-Type: line, or a
X-FTN-CHARSET, or a X-FTN-CHRS line. if none, then the default charset is
searched in Areas file (if compiled with -DJE) if there isn't a charset yet
and if the message isn't from FTN networks, charset is assumed to be
CHRS_DEFAULT_RFC (you should configure it according to the one used in
your country).
Then, with this value, the getoutcode() function gives the charset value that
will be used for writting the FTN article (taylor getoutcode in
iflib/charset.c for your needs).
If you compile with -DJE and a charset is set in Areas file, it is taken
from there instead of getoutcode()
If Content-Transfert-Encoding, gives "quoted-printable" or "base64",
the text body is dequoted to 8bit before transcodage is done.
All header lines are passed trough hdrconv() which looks if it is mime
encoded (=?charset?codage?coded-string?=), dequoded, then translated. In
this case the charset read from the mime encoded header (=?charset?... you
remember ?) has priority from the one read at the beginning (From
Content-Type, or X-FTN-CHARSET, or X-FTN-CHRS, you remember ?), then it is
translated to the charset whe want for the FTN message.
* 8bit and "strange" names in to/from fields of FTN messages are quoted
in a quoted-printable like way, allowing full recovery when gating
back to FTN.
* References database; Message-ID <--> MSGID equivalences are stored and
when a reply arrives from FTN the ^aREPLY kludge is matched against the
database and eventually the right ID is recupered.
* If -DFORCE_REPLYTO_LOCAL is used, the value in the ^aREPLYTO: kludge is
forced to be your FTN adress, even if a previous one exists. (I created this
possibility because the news<->echo gate didn't accept netmail).
This compile option creates ^aREPLYTO and ^aREPLYADDR even if a database
is used. So people which uses smart FTN programs can profit of ^aREPLYADDR
kludge, others can still reply to my FTN adress and the database retrieves
the email adress (but it is _far_ from fiable, it can be more than one
"John Smith"... However, without that is even worst, people in ftn networks
aren't used to reply otherwise than pressing th "R" key)
* a "secure mode", when email is gated only if the FTN adresse's node is
listed on the nodelists.
* Telnet-Vmodem in and out connections.
* Read-only FTN areas can be defined as Moderated in rfc side; which is
their equivalent. "TX" versions allow putting a correct "Approved:"
line when gating, so the the moderatod in the FTN side doesn't have to
worry with that. Just add the correct email address for the Approved line
as 6th field (or 4th field if compiled without -DJE) prefixing it whith
"fro:".
See top of misc/Areas for an exemple.
* When a message arrives from FTN to a Usenet (Moderated) group it can be
converted to email to the moderator, by putting its adress as 6th (4th if
not -DJE) field of Areas file; prefixing it whith "umod:".
For exemple "umod:comp-os-linux-announces@uunet.uu.net"
* Possibility to specify several Areas file, in the form of Areas.site
(eg: Areas.f2219, Areas.p5.f23.n15.z45.somenet.ftn). The first match
will be used, it searchs from more specific (5D address) to less specific
(only node or point) defaults to Areas whith no extension.
The Areas whith no extension is allways used for _incoming_ netmail.
Changelog
=========
Changes in 2.14-tx8.10
----------------------
- Changes whith tearlines
- corrected a little problem whith Reply-To: header
- switched ifcico code to ifcico-3.0.cm.alpha-4.0 entirely.
Changes in 2.14-tx8.9
---------------------
- corrected logfacility macro in ifcico/nlpatch.c (it should use CICOLOG
not MAILLOG), thanks to Marco d'Itri.
- made some more headers "kludgerisable" depending on level value
- corrected a bug in 2.14-tx8.8 when more than one % was present in
the Message-ID
- some FTN readers put Cc: lines in the body of FTN messages whith only
names or addresses whithout any "@"; sendmail then added localhost
at each time... now when an FTN messages has such a line it isn't
considered as rfc header anymore.
- corrected a bug in yoohoo.c that caused a sigsev when domains weren't used.
- changed hydra code to the one from ifcico-3.0.cm.alpha-4.0 of
Christof Meerwald <2:315/3.13@FidoNet>
- added several man pages from ifcico-3.0.cm.alpha-4.0
- in iflib/trap.c iBCS2 should be defined for intel compatible architectures
only; added the proper #ifdef __i386__
- recognizes new iso-8859-15 charset
Changes in 2.14-tx8.8
---------------------
- added support for empty passwords (use "" (two double-quoutes) as password)
- added handling of utf-8 encoding of unicode. Same restrictions as for utf-7
apply; that is only works well if the encoded char is of iso-8859-{1,5,6,7,8}
- Merged whith 2.14 code
- Messages in unicode (utf-7 encoding) are appearing in usenet due to
the bogus Microsoft Outlook program, so I've added a basic utf-7 decoding
support (it only converts to 8 bit, only works well for iso-8859-{1,5,6,7,8}).
utf-7 decoding figured out thanks to the utf7.tar.gz package (it is
a set of little programs to convert chinese between GB and unicode)
from Ross Paterson <rap@doc.ic.ac.uk> and Guo Jin (guojin@iss.nus.sg)
- make a little test to avoid segfaults whith MSGID like "MSGID: 12345ab"
(that is, the char string field is missing !).
- added support for usenet headers like ".MSGID: ...", ".PID: ..." etc
(yes, *another* one gateway program that reinvents the weel, still
fidonet people don't realize that standardizing can be a good thingh,
and people continue to create completly incompatible programs that will
generate loops, dupes, *sigh*. If even this one was good enough, but no,
it is not possible to easily retrieve all the info (PATH, SEEN-BY, Origin,
Tearline are in the case), *re-sigh*
- added -DHAS_SIGNUM_H to OPTS = list. That allows compiling whith glibc
on a Linux and still use -DNEED_TRAP
- Corrected a typo in message.c, thanks to Urko Lusa.
- Ooops ! -lintl is not needed anymore whith glibc, if it is included the
locale stuff don't work as it conflicts whith internal glibc one
- corrected a bug that makes SIGSEV when an Approved: header was present
on a netmail
- the "," char is now encoded in email addresses; avoiding that an address
like <Fuchs,.Chris@f875.n292.z2.fidonet.org> be parsed as two addresses
"<Fuchs" and ".Chris@f875.n292.z2.fidonet.org>" by sendmail. Now it becomes
<Fuchs\=2c.Chris@f875.n292.z2.fidonet.org>
Changes in 2.13-tx8.7
---------------------
- merged whith ifmail 2.13
- added support for ^aCODEPAGE: kludge recognition
- HYDRA support (added from ifmail-so, code from Vladimir Zarozhevsky)
- support for nodelist U,Txy flags (from ifmail-so, code of Boris Tobotras)
the meaning of the flags is :
;S System open hours:
;S
;S Txx Availability flag for non-CM nodes indicating the
;S hours during which the node is available in addition
;S to ZMH. This must be in accordance with the recommen-
;S dations in FSC-0062 and the reference table reproduced
;S below.
;S
;S ATTENTION : All times must be UTC!
;S
;S +------+----+ +------+----+ +------+----+ +------+----+ +------+----+
;S |Letter|Time| |Letter|Time| |Letter|Time| |Letter|Time| |Letter|Time|
;S +------+----+ +------+----+ +------+----+ +------+----+ +------+----+
;S | A |0000| | F |0500| | K |1000| | P |1500| | U |2000|
;S | a |0030| | f |0530| | k |1030| | p |1530| | u |2030|
;S | B |0100| | G |0600| | L |1100| | Q |1600| | V |2100|
;S | b |0130| | g |0630| | l |1130| | q |1630| | v |2130|
;S | C |0200| | H |0700| | M |1200| | R |1700| | W |2200|
;S | c |0230| | h |0730| | m |1230| | r |1730| | w |2230|
;S | D |0300| | I |0800| | N |1300| | S |1800| | X |2300|
;S | d |0330| | i |0830| | n |1330| | s |1830| | x |2330|
;S | E |0400| | J |0900| | O |1400| | T |1900| | | |
;S | e |0430| | j |0930| | o |1430| | t |1930| | | |
;S +------+----+ +------+----+ +------+----+ +------+----+ +------+----+
- added support of ZMH (it is just a matter of translating it to a Txy flag
and call the IsNodeCallable() function. I choose the Z[1-6]MH according
to the following table in the Z2 nodelist :
;S #01 Zone 5 mail hour (01:00 - 02:00 UTC)
;S #02 Zone 2 mail hour (02:30 - 03:30 UTC)
;S #08 Zone 4 mail hour (08:00 - 09:00 UTC)
;S #09 Zone 1 mail hour (09:00 - 10:00 UTC)
;S #18 Zone 3 mail hour (18:00 - 19:00 UTC)
;S #20 Zone 6 mail hour (20:00 - 21:00 UTC)
- added a german language file (by Michael Holzt <kju@flummi.de>)
- added conversion of User-Agent: to ^aPID:
- Corrected a bug whith missing From:, I'm ashamed I introduced a so stupid
bug; Thanks to Marco d'Itri for pointing me the problem.
- Corrected a bug whith generation of Notice-Requested-Upon-Delivery-To:
header; the content must be the internet address of the recipient of
the message, not the sender address. Thanks to Marco d'Itri.
- Glibc patch from Yuri Kuzmenko (yuri@cracksoft.kiev.ua)
- changed MAX to NL_MAX in nodelist.h as MAX conflicts whith a macro
definition in glibc
- added #define _REGEX_RE_COMP in respfreq.c otherwise the definitions
of re_comp of <regex.h> aren't read when using glibc
- changed nlookup.c so it uses correctly the domtrans directives
Changes in 2.12-tx8.6
---------------------
- added function ref_store_msgid(), an easier to use interface to
ref_store(), as the arguments don't need to be formatted. As the
way Message-ID --> MSGID work has changed the refdb was broken,
this fixes the problem.
- changed ref.c and ref_interface.h for ref_store_msgid() function.
- changed ifmail.c and mkftnhdr.c to use ref_store_msgid()
- corrected an old bug where keyword "defaultrfcchar" wrongly returned
iso-8859-1 for any iso-8859-* charset (reported by Andrzej Jordanow)
- changed macro DBM_SUFFIX to IF_DBM_SUFFIX as DBM_SUFFIX is used in
ndbm.h and caused some bugs as the macro could have different values...
- corrected a bug in falists.c that made Host adresses (eg 320/0) to be
wrongly handled on SEEN-BY lines (this bug doesn't exist on plain ifmail,
it has been introduced in tx
- merging whith 2.12, the format of Areas changed, now comments are lines
beginning whith a blank. I made two conditional defines,
-DAREAS_NUMERAL_COMMENTS which allows to keep also the old behaviour, and
-DAREAS_NUMERAL_COMPATIBILITY which is the same as -DAREAS_NUMERAL_COMMENTS
but prints a warning.
- added -DFSC_0048 for strict fsc-0048 behaviour when writting packets.
- Corrected a bug related to REPLY kludge
Changes in 2.11-tx8.5
---------------------
- Merged whith 2.11
- Added the ability to support echoarea names whith '#' on them, just
put a '\' before it on the Area file, eg:
TEST.\#2 test.n2
idea from Erik Warmelink.
- improved rfcmsgid, now it will correctly handle some gigo MSGID and
REPLY like "msgid__<message-id>" and "msgid__<message-id>_<another>"
- while the maptabs for CZ and SK where there in tx8.4 I forgot to add
the proper code to charconv.c and charconv.h, sorry :-(
this is corrected, thanks to Stanislav Meduna.
- a better way to handle support, now you have just to comment or uncomment
a line in CONFIG file, no more manual Makefile editing.
- the NLS support now looks for LC_MESSAGE variable rather than LC_ALL, in
case the user wants a different locale for the messages than the general
locale.
- added Thai charset recognition (iso-8859-11)
- added chinese charsets (CN-GB, CN-Big5, zW, HZ, iso-2022-cn) recognition.
and zW --> GB, HZ --> GB, GB --> HZ, zW --> HZ conversion functions.
- added toftnchar to force charset translation of outgoing pkt to a given
charset. see misc/config.
- added ftnmsgidstyle keyword from an idea of Andrzej Jordanow, it is of the
form "ftnmsgidstyle news.chanae.stben.be", then if the level (-l switch)
is less than 1, and the Message-ID is of the form <*@news.chanae.stben.be>
it wont be kept, but the FTN MSGID will be built from the best aka
(eg "MSGID: 2:293/2219@fidonet 123456ab" instead of
"MSGID: news.chanae.stben.be cdef0123") note also that it won't do anything
special for Message-IDs where the string after the "@" doesn't match exactly
(case insensitive however). In other words you can make vanish your
Message-ID while still not touching those of other people.
WARNING: Use this whith care !!! Only for your messages and if you are
absolutely sure that they aren't exported of your machine by other channels
(eg uucp, nntp,...) which conserve the message-id. This feature is intended
for convenience of end-leaf nodes, not to defeat the purpose of dupe
checking.
Changes in 2.10-tx8.4
---------------------
- Changed again the MACHIGAI code, now it is a single supplementary
condition on an if. Idea from Erik Warmelink
- Added support for cp895 used in fidonet in Czechia and Slovakia,
map tables from Stanislav Meduna <stano@trillian.eunet.sk>
- corriged an array overflow problem whith REPLYs (it seems gigo puts there
the whole References: line, in some cases that overflow 128 bytes used.
now it mallocs some space.
- Changed the charset conversion code so it uses *char instead of *FILE
(as disc access is sloooooow); iftoss is 8 times faster than in previous
"tx" versions, it is now only twice as slower as plain ifmail.
For 8bit charsets only, japanese still uses temporary files.
- provided fnet.m4 and ifmail.mc for configuring sendmail.
read misc/sendmail/ifmail.mc.README, it's very easy.
** includes anti-spam rules **
- NLS support for help mesages (eg: ifmail -h). for that in CONFIG file add
-DHAVE_LOCALE_H define to GEN_OPTS= and add -intl in the LIB= entry for
your OS. To install the nls files go to po/ subdirectory and type make
then make install (will install in /usr/share/locale/<lang>/LC_MESSAGES/ )
- added support for Notice-Requested-Upon-Delivery-To: header for RRQ flag
(sendmail doesn't use Return-Receipt-To: any more...)
- removed SWITCH_DATE code
Changes in 2.10-tx8.3
---------------------
- Corrected a bug when modtype=1
- imporved creation of X-FTN-Tearline: to avoid "X-FTN-Tearline: \n"
- changed message.c so a line ^aRFC-Approved is only created for modtype==1
- added -DALLOW_RETURNPATH define to allow the use of a given Return-Path
address, so we can force it to be the real return address instead of the
one of the last FTN node.
- added support of type 2.2 packets
- corrected a bug in rfcmsgid()
- added recognition of Gatebau Message-ID when gating rfc -> FTN
- added generation of Gatebau Message-ID when gating FTN -> rfc
note that this will break the References: database, but anyway that
database isn't needed anymore whith Gatebau style MSGID). You can
select this whith -DGATEBAU_MSGID
- added generation of Gatebau MSGID when gating rfc -> FTN. You can select
this whith -DGATEBAU_MSGID
- corrected problems whith the non conform ^aDOMAIN kludge generated
by fidogate
- improved References: code.
- added -DXGATEWAY_STRICT for strict compliance to X-Gateway header/kludge
in case you need it.
- added -b option to ifmail/ifnews. It allows non-splitting of messages
when writting to pkt.
- made a little change to the skconv() code that speed ups the ifmail/iftoss
when both incode and outcode are known and are the same, a little more
speedy too when default language is 8bit instead of 16bit for unknown
charsets (autodetect).
- added MIK-CYR charset support (Pavel Pavlov)
- corrected bugs in base64 and MACHIGAI code (Pavel Pavlov)
- added config file keywords for default rfc and FTN charsets
Changes in 2.10-tx8.2
---------------------
- added TZUTC handling recognition and generation in EMSI (emsidat.c)
- made a function char *gmtoffset(time_t) that tells the difference whith GMT
in the pattern ("%c%02d%02d",sign,hours,mins)
- merge whith 2.10 version
- -DNEW_MSGID has been dropped as the solution in 2.10 is far superior.
Changes in 2.9-tx8.1
--------------------
- Corrected ifgate/mkftnhdr.c so if the X-Comment-To: line has an address like
"A.Ismael Olea Gonzalez" <"A.Ismael=20Olea=20Gonzalez"@p9.f108.n345.z2.fidonet.org>
the quotes are stripped on the FTN echomail message header. (U.Lusa)
- Changes in ifcico/zmmisc.c to solve problems whith TBBS systems (T.Tanaka)
- Changes in iflib/cleanup_ref.c (M.Schaeffer)
- added Base64 decode support (in both headers and body)
- added escaping of chars [\]{} in outgoing EMSI packets.
- corrected a bug in de-escaping of incoming EMSI packets.
- added code to autodetect the linux kernel used (no more need to
define -DPRE_21_LINUX)
- corrected bugs in zmmisc.c mkrfcmsg.c and unpacker.c, M.Schaeffer.
Changes in 2.9-tx8.0
---------------------
- argh ! I forgot to include clean_ref.c on previous release !
- merging whith version 2.9
- added macintosh charset support
Changes in 2.8g-tx7.9
---------------------
- added chkftnmsgid() to iflib/ftn.c
- corrected ifgate/mkftnhdr.c so it doesn't keep FTN messag-id's in the ref_db
- corrected ifgate/ifdbm.c so long freename are registred only up to MAXNAME
characters long
- cleanup_ref utility that cleans-up the reference database (by M.Schaeffer)
- iftoss now looks at ^aSPTH when writting the rfc-1036 Path: line
- new strcasestr.c (by M.Schaeffer)
- changed the moderator field in Areas file
Changes in 2.8g-tx7.8
---------------------
- included the several changes from 2.8f --> 2.8g
- corrected -DTERMAIL_HACK behaviour.
- (BTW, -DTERMINATE_HACK is done by -DBELEIVE_ZFIN=1 since 2.8f/2.8f-tx7.7)
- added patch from Yar Tikhiy <yar@comp.chem.msu.su> that makes ifpack handle
lines beginning by "~" in *.?lo as already sent, when ifpack decides how
to name new archives.
- added recognition of JAR archiver format (I'm not aware of any unjar for
unix; however the code is there just in case...)
- added removereturnto to message.c, so Return-Receipt-To isn't rewrite when
gating when not needed.
- rewrite the way ref database is used, now it is looked on in rfcmsgid()
function when gating to RFC format. The code looks better and it can also
be used on all MSGID-><Message-ID> lines (MSGID,REPLY,ACUPDATE,...)
- added several PGP recognition support when gating from rfc-->FTN.
Changes in 2.8f-tx7.7
---------------------
- The base against patches are done is now v 2.8f
- Changed FIDOMAZOVIA charset recognition to also understand "FIDOMAZ 2".
- added DEFAULT_ORIGIN from an idea of "Marco d'Itri" <md@linux.it>
- added recognition for Content-Type: multipart/signed messages and
application/pgp as PGP signed messages (= no charset conversion).
- corrected a little security hole when requesting "../filename"
(if you haven't files in the parent directory of the public one, then
there wasn't any problem, but is better to solve it).
Problem pointed out by Andrew Romanenko <andrew@cca.usart.ru>
- in ifgate/getmessage.c, if a kludge line begins whith RFC- then it can have
\n and \t on it. (no badkludge defined). This is good for ^aRFC-Received
lines which often are broken on several lines.
- added TEL6.1 patches of T.Tanaka (add telnet-Vmodem mode)
- FreeBSD specific hack by Igor Vinokurov <igor@cs.ibank.ru> in clibrary.h
- added -DTERMAIL_HACK which tries to correct a bug in TerMail 4 which
sometimes reports incorrect charsets (ie: puts "LATIN-1 2" while it is
in fact "IBMPC 2". iftoss will recognise "^aPID: TerMail 4", hoping
that version 5 will repair it.
- Improved charset determination. Now ^aCHRS has priority on Content-Type:
when gating from FTN --> usenet.
- made the LEVEL stuff a command line option. the -DLEVEL compile time
option is still there to determine the default (1)
- corrected the behaviour when "dosoutbound" is used; now ifcico correctly
convert the pathnames in the fly, see the files and send them.
Changes in 2.8e-tx7.6
---------------------
- I forgot hydra.h GRRRR !! (anyway hydra doesn't work, it is only the *.h)
Changes in 2.8e-tx7.5
---------------------
- replaced the "-p port" option by the "-a adress:port" of Eugene Crosser.
changed the ifcico/openport.c with author's code.
- applyed the Eugene's patch for nodelist.c (that is replaced my bugfix in
tx7.4 by the Eugene's one)
- added some CHRS_* macros (traditional and mainland iso-2022 chinese)
- I splitted iflib/kconv.c in two files: charconv.c (general stuff and eight
bit charsets conversions) and charconv_jp.c (japanese conversions).
charconv_cn.c (chinese) and charconv_kr.c (korean) will be added in the
future.
- added the macro LANG_DEFAULT, used for autodetecting charsets (as now only
LANG_JAPAN does something). Read README.charsets for more info.
- corrected the removereplyto code in ifgate/message.c.
- corrected MSGID retrieval in mkftnhdr.c for <MSGID_...@...> and <ftn_...@..>
Message-IDs.
- Changed the way ifmail/ifnews get the local hostname (gethostname() instead
of $HOSTNAME) and corrected a bug about that. It also checks Reply-To:
line for localness (LEVEL < 1)
- Added a -DDIRTY_CHRS option; it is really dirty, but sometimes necessary.
When compiled like that a "dirtychrs" keyword is recognized in config
files, it tells the charset to assume for packets from a given address.
This is to by-pass the problems of nodes doing savage charset translation,
whitout knowing the original charset, and worst, not changing the ^aCHRS
kludges :-(
a "-c charset" command line option is added to ifmail/ifnews, so you can
force a given charset for a given adress you route through if you know that
it does savage translations.
- Added some #ifdef MIPS_* compile options for RISCos SVR4 (seems very bad to
handle comms :) ).
Contributed by Marc Schaeffer <schaefer@alphanet.ch>
Changes in 2.8e-tx7.4
---------------------
- improved support for PGP-signed messages (don't change "soft CR" to space
nor break lines, if the message is PGP-signed).
It still lacks the same functionality when gating from usenet to FTN...
- corrected a bug when Organization: has only blanks, it caused a seg fault
because after getting out all the leading blanks we finished with a null
string, and strlen() on it is bad :)
problem pointed by Evaldas Auryla <sabas@ibm.net>
- added mxlookup.c from Ruslan Belkin <rus@ua.net>
- applied SEEN-BY database building patch of Yar Tikhiy <yar@comp.chem.msu.su>
- added support for Message-IDs of the pattern:
<ftn_2.204.226$fidonet_1d17b3b3_Johan.Olofsson@magnus.ct.se> to be gated
back to "MSGID: 2:204/226@fidonet 1d17b3b3".
- added references support from Marc SCHAEFER <schaefer@alphanet.ch>
it stores in a database ftn Message-IDs (eg: 125876@some.where) and
RFC ones (eg: aze$12.az@some.where) So when an FTN reply comes back the
right original id can be restored in the References: line.
- -DMIPS_AREAS_HACKING allows you to define "Areas.fidosite" files which
are scanned for a given fidosite. If the file doesn't exist, then it
defaults to "Areas". code from Marc SCHAEFER <schaefer@alphanet.ch>
- -DFIDOIZE and -DMOREFIDOIZE are replaced by -DLEVEL=X option.
- done a timid incursion in implementing fsc-0047 ^aSPLIT kludges.
Somebody can take a look and help me ?
- corrected a bug in ifcico/nodelist.c that caused sigsevs when no domain
was specified in "address" lines of the config file. Thanks to Jerko
Golubovic <Jerko.Golubovic@f112.n381.z2.fidonet.org> for pointing me
this out.
- "magicname" (UUCP) is used in a different way. Now even if it is defined the
messages are scanned for RFC lines, but if the FTN to header is different
of magicname then the rfc "To: " line isn't used. This is useful for mailing
lists for exemple, and all kind of messages where the address in To: line
is different of the address of the addressee (the "enveloppe adress")
Changes in 2.8e-tx7.3
---------------------
- fixed some bugs in mkftnhdr()/DONT_REGATE code. Addresses like:
X-FTN-Sender: . <.@domain> gave serious errors. (changes made by
Wim Van Sebroeck (vsebro@medelec.uia.ac.be)).
- corrected a bug with "ACUPDATE: DELETE"
- added removesupersedes and function chkftnmsgid that checks if a rfc msgid
can be entirely translated to an FTN MSGID.
- minor fixes to charset retrieval in ifmail.c
- added yet another field to Areas file so we can define an address for
Approved lines. So read-only FTN areas can be defined as Moderated in rfc
side; which is their equivalent.
- added removesupersedes and removereplyto to ifgate/message.c so we don't
Write Reply-To: when it is the same as From, and ^aRFC-Supersedes: when
the message-id can be losselessly converted to a FTN MSGID.
- Rewrite the code that converts FTN 'to' fields. Now an FTN header which
have '.' or '_' in it will generate an address whith "quoted" local part
(ex: John A. Smith 1:2/3 --> "John A. Smith"@f3.n2.z1.fidonet.org)
So the '.' and '_' chars can be retrieved when converting back to FTN.
8bit chars, if outside a "local quoted part" are "backslashed"
(ex: Jorge Pea 2:3/4 --> Jorge.Pe\a@f4.n3.z2.fidonet.org
but Jorge P. Prez 3:4/5 --> "Jorge P. Prez"@f5.n4.z3.fidonet.org)
'\' becomes \\ outside quotes but not changes inside of them.
'"' allways become \" in any case. So complicated names like
This is.a \complicated "name" 1:2/3 can be handled, the exemple becomes
"This is.a \complicated \"name\""@f3.n2.z1.fidonet.org
This _absolutely_ needs that sendmail doesn't strip off the ' " ' char
(the double quote). So check in sendmail.cf that there is NOT an "s" flag
for the ifmail definition (flags are those letters after F=....).
The range 0x80 - 0xBF produces problems with sendmail, so they should
be quoted, like in quoted-printable form.
- added domain support and 16 bit product code support in yoohoo code.
- FTN \001REPLYTO can be used same way as an rfc Reply-To, so I modified
mkrfcmsg.c so it creates a correct Reply-To line if itsn't one, nor a
\001REPLYADDR, but there is \001REPLYTO. (it isn't just the same text,
it has to be parsed and converted to rfc822 address)
- -DTERMINATE_HACK allows incomin calls from Terminate to pick their
waiting mail, receive files, etc. (otherwise the connection hangs after
we finish receiving, and nothing is sent).
I don't know if my hack broke something other, so I made it available as -D
Changes in 2.8e-tx7.2
---------------------
- Secure mode option added for ifmail. (code written by Wim Van Sebroeck
(vsebro@medelec.uia.ac.be)). This options checks wether or not a node
is in the nodelist before gating a message from rfc to FTN.
- fixed some bugs in mkftnhdr() code. Addresses like: From: <someone@domain>
gave errors.
- Changed -DDONT_REGATE code so that it works with parserfcaddr().
- corrected restamp date code. Now it does only if newsmode is set.
Changes in 2.8e-tx7.1
---------------------
- I upgraded my kernel from an a.out linux kernel to an ELF format one, with
this new format bugs that have no effect on my machine before became visible
I think they are corrected now, sorry for the trouble m(__)m
Changes in 2.8e-tx7.0
---------------------
- Merged with 2.8e source tree
Changes in 2.8d-tx6
---------------------
- Modified respfreq.c for correctly handling file requests with paths, when
the file is also a magic one.
- Corrected a little bug about charsets and JE-style Areas file and netmail.
- Now -DRESTAMP_OLD_POSTINGS tells the maximum number of days that can be
tolerated for old messages (ex: -DRESTAMP_OLD_POSTINGS=25)
- Added support for LATIN1QP CHRS kludge (latin-1 quoted printable)
- Added -DHAS_PGP. When a message is PGP signed iftoss doesn't attempt any
charset conversion, so signature isn't invalidated.
- Updated e-mail address of Tsuneo Tanaka.
- Corrected a problem about buffers too small
Changes in 2.8d-tx5
-------------------
- Corrected a bug with hdrconv(), sometimes in MIME headers are truncated, and
there isn't a "?=" at the end (this specially arrives with gated inet
messages received trough FTN, as 'to' and 'from' FTN headers are only 35 char
long). It now handles such cases without crashing.
- Corrected a bug that I introduced in ftn.c. Thanks to Thomas Quinot
<operator@melchior.cuivre.fdn.fr> for correcting it.
- The lib (utlib.a in ifmail/iflib) uses some functions defined in rfcmsg.c, so
I moved that file to iflib/ directory to let the lib be independent, I move
too the file batchrd.c, used by rfcmsg.c; and done the changes to reflect
that in the Makefiles.
- added an improvement to tcpproto.c by Jean-Louis Noel <jln@habcnx.stben.be>
- added -DDONT_REGATE code; that keep first FTN gateway address. By Wim
Van Sebroeck <vsebro@medelec.uia.ac.be>.
- corrected a problem with akas in emsidat.c
- added koi8-u (Ukranian)
- added support for domain#zone:net/node[.point] format of addresses
- added an option (-DRESTAMP_OLD_POSTINGS) to change the Date of old FTN
messages. FTN networks are sometimes very slow in routing, when messages
arrive, they are deleted by the news agent as they have more than 15 days.
This one rewrites their date, and puts the old date in X-Origin-Date:
- When gating from inet --> FTN, if X-Origin-Date: exists, date is taken from
there.
- Modified -DRESTAMP_FUTURE_POSTINGS so it uses X-Origin-Date to store the
original date.
- Corrected a bug in X-PcBoard-From: handling
- Applied a bugfix from ifmail mailing list to emsidat.c
Changes in 2.8c-tx4 / 2.8d-tx4
------------------------------
- the base against which diffs are done is now v 2.8d
- added cp852 (MS-DOS codage used in Poland).
- corrected support for Polish thanks to fidomazovia<-->iso-8859-2 tables
given by Krzysztof Halasa <khc@hq.pm.waw.pl>
- changed the way incode is found when gating from rfc to FTN. Now if there
is a Content-Type line but the charset can't be retrieved (not text/plain
or unknown charset) ifmail will look if there is any X-FTN-CHRS: line
- added MAZOVIA/FIDOMAZOVIA charset code.
- added -DRNEWSB; when compiled with it, the result of ifnews -N is an
rnews readable file.
- I've had to change Makefile so ifunpack and ifpack are not linked with areas.o
(that caused problems when compiling with -DJE). I don't understand why
areas.o was linked, there is no use of the functions of areas.c in if(un)pack
For the reason why it caused problems at compilation, I know. iflib/utlib.a
uses a function ( hdr() ) defined in ifgate/rfcmsg.c, it will be cleaner to
move this to iflib directory, but I don't know yet all the consequencies of
doing that, so I'll wait.
- corrected a little bug in dequote()
- added recognition of X-Apparently-To: generated by the french ftn->usenet
gate (it contains th FTN "to" in echomails)
- keyword "maptabdir" now is used.
- modified iflib/kconv.c (after my alphabetical sorting of codes, errors
were introduced, I repair that)
- CHRS_NEW replaced by CHRS_ISO_2202_JP
- readareas modified so it uses getcode() and readchrs() to get incode and
outcode from Areas (#ifdef JE)
- if there isn't a "paketpassword" for an adress, the "password" is used.
- added other functions of JE version. Some of them have their own compile-time
configurable parameter. See CONFIG file for -DIGNORE_SOFTCR, -DNEWDB,
-DKEEP_TEARLINES_CLEAN, -DREPLACE_TEARLINES_WITH=, -DRESTAMP_FUTURE_POSTINGS
- Added support for JE version Areas file, and the ability of retrieving a
default charset/CHRS for there (needs -DJE when compiling)
- added paketpassword keyword.
- Rewritten iflib/charset.c
- Added -DFIDOIZE option. If used gated messages to FTN are more "fido-like"
X-Newsreader or X-Mailer are written to: ^aPID: kludges, Path: line is
skipped.
- added removemsgid and removeinreply to check if Message-ID or In-Reply-To:
should or not be written as ^aRFC-...
- rewritten the code writting ^aREPLY: from References: , now it works also
ok when the last <msgid> isn't separated from the previuos by an espace
(ex: it is at a new line, so separated by "\n\t")
Changes in 2.8c-tx3
-------------------
- changed charset translation code. Now the ftncode is conserved in a
X-FTN-ORIGCHRS: line, and when it is gated back to ftn, this codage is
used in preference.
- corrected a bug with the code that puts "UUCP" in the ftn header when the
adress is too long.
- Corrected problem with MSGID's, it should now be ok with even the
strangiest MSGID's. If you still encounter problems let me know.
Not only "^aMSGID: 1:23/45@domain 152ad589", but also
"^aMSGID: 1:23/45@@domain 152ad589", "^aMSGID: domain#1:23/45 152ad589"
and even "^aMSGID: 1:23/45@ 152ad589"
- added support to dequote MIME quoted printable messages. Code by T.Tanaka
- modified parsefnode to parse '"1:215/33@FIDO NET" 125ab158' found in some
MSGID. It has yet to be improved, so parsefnode can recognize as well
"username ftnadress" and "ftnadress username"
- added generation of correct MIME headers containing the charset value.
- support to decode MSGID from fidogate "Message-ID: <MSGID_....>"
(the same for REPLY too).
- little change to removemime() to work when there isn't a
Content-Transfer-Encoding: header
- added default values for CHRS_... (customize them according to the
charset used in your country/region).
- added hdrconv() which decodes mime encoded headers and then calls the
charset translation routine.
- Changed the charset retrieval from message.c to ifmail.c, now putmessage()
and mkftnhdr() have incode and outcode as parameters, so all headers can be
translated too.
These changes are activated, according to the presence or not of
-DFORCE_CHRS. Now all headers are charset-translation-able.
NOTE: base64 doesn't work yet, I've commented it out.
Changes in 2.8c-tx2
-------------------
- I add a lot of compile time configurable -D.... for the changes in tx1
- Added an option -DFORCE_CHRS for charset support
- The gateway puddle.fidonet.org (1:102/45 I think), put the Usenet header
lines in the text body when gating; but Newsgroups: line
have ", " (comma, space) instead of "," (only comma) to separate different
newsgroups. If you receive groups from there, -DPUDDLE_GATE will repair that.
- Note that all -D*_GATE are for people receiving newsgroups in FTN format,
if you have a direct usenet feed, you probably don't nedd all that. I have
defined it for me ( I haven't yet a direct link ), so the messages passing
trough my system are all standardized in the output.
- Added -DFORCE_REPLYTO_LOCAL, to force the creation of ^aREPLYTO: and
^aREPLYADDR:, even if we use the database. And use the local address, even
if there is already a ^aREPLYTO: (it is rewritten)
- There was too much comment lines, so I leave explicit
/* ### Modified by .... */
.... code ....
/* ### */
only for code that is not clean/beatiful/pretty/..., things that are ok
(or I think that are ;-), I only told briefly at the beginning of the .c file
and here.
- Added support for unrar (and there is a new keyword in config file: unrar).
There is an improved algorithm to determine the compressing format, and a
some others formats can be defined by just uncommenting the related lines in
the source (in ifgate/unpacker.c, iflib/config.h and iflib/rdconfig.c)
- Modified ifmail so if we send an email message to a FTN->e-mail gateway,
and the email adress is greater than 30 chars, "UUCP" is used instead in the
FTN header. (And a "To: address@domain" is put in the body, but that was
already done before). So people who, like me, hasn't yet an email
connectivity other than by FTN<->email gateways can send mails whitout
worrying
- Added charset conversion functions from JE version. (kconv.c)
- added some improvements to ifcico by TCP (code from Tsuneo Tanaka),
particularly the ability to tell a port number in the command line.
- added ISO_8859_* and CP437 as codage identifiers.
- All write functions that handle text (body+subject+Originline) use strkconv
function. It receive as parameters the string to convert, incode, outcode and
"tofullsize" (some codage add some special caracters).
- Write a manpage for ifcico(8)
- cleaned bwrite.c and bread.c of old transcodage code (now it's done by
kconv.c)
- modified kconv.c; if (rfccode == ftncode) noconv() is called
- Written all the stuff needed for charset recognition (in iflib/charset.c).
- Changed iflib/Makefile to create needed.h according to the value of ${NEEDED}
- Corrected ACUPDATE code in message.c, now an rfc message containing a header
of "Supersedes: <msgid>" or "Control: cancel <msgid>" will generate a
^aACUPDATE: kludge (which is the FTN equivalent).
That doesn't work very well if the original message has been splitted and/or
copied to more than one FTN echoarea; as the FTN messages will have different
MSGID than the one generated this way. But it will hopefully work for not
splitted messages. You have to use -DALLOW_CONTROL for this to work.
- added "man" and "man.gz" (for storing man pages in gzipped form) to Makefiles.
You can now install man pages by typing "make man" (or "make man.gz" if you
want to save disk space). Chek if the user "man" and group "man" exists;
if not, change them in CONFIG.
- modified the way ^aREPLYADDR and ftn 'to:' are created (I use the
function parserfcaddr() ), so the address of the "Reply-To: " line (if
exists) is used for ^aREPLYADDR and registration database.
- Added support for Hebrew (cp862 (PC), cp424 (EBCDIC), iso-8859-8)
- added recognition of X-Fsc- (generated by the gateway gnfido.fidonet.org)
- added recognition for "^aMSGID <localid@some.where.org> 0124587" created
by fidogate.
- Added code to write CHRS: from identifiers (ftncode, rfccode)
- A new function : eight2eight to do 8bit -> 8bit
transcodage. Copied from transcodage in original 2.8c (using outtab/intab).
This one receives the caracter map (that I called "maptab") as an argument;
the same can serve for ftn->rfc and rfc->ftn.
Changes in 2.8c-tx1
-------------------
- I've included some changes taken from 2.8c-JE modified by Tsuneo Tanaka
<tt@efnet.com>. [marked as (JE) in the list]
- And some of my own, mainly to include some strange kludges and/or headers
generated by other gateway softwares.
- There is a Usenet-->PcBoard-->FTN gateway that puts in the FTN text body some
usenet headers, but some are changed in their syntax :-(, so I modified
ifgate/rfcmsg.c to force their acceptation:
@FROM : ---> X-PcBoard-FROM:
@SUBJECT: ---> X-PcBoard-SUBJECT:
@PACKOUT: ---> X-PcBoard-PACKOUT:
Then, in ifgate/mkrfcmsg.c, added the lines to map
X-PcBoard-FROM: --> From:
X-PcBoard-SUBJECT: --> Subject:
And also:
^aApparently-To: --> Apparently-To:
^aORIGID: --> Message-ID:
^aORIGREF: --> References:
^aMessage-ID: --> Message-ID:
^aApproved: --> Approved: (JE)
- In ifgate/getmessage.c, added code to force create MSGID's when there isn't
one (with compilation option -DFORCE_MSGID) (JE)
- In ifgate/message.c, and ifgate/mkftnheader.c added recognition of X-FTN-To:
- This is the most important for me: in mkftnheader.c, changed the way that
the FTN From: field is done, to put a real name rather than a userid (JE)
- Now ^aRFC-Newsgroups: is created if more than one ng
- I've tried to generate ^aACUPDATE: kludges from Supersedes: and
Control: cancel but I have no luck :)
The other way (ftn ---> usenet) works fine.
|