=============================================================================== VSoup1.2.5 NNTP/POP3/SMTP client 09-Nov-1996 =============================================================================== TTaabbllee  ooff  CCoonntteennttss ================================== 1 Introduction to VSoup 2 Legal Issues 3 Features 4 Installation 4.1 Environment Settings 4.2 VSoup And YarnIo Troubleshooting 5 Command Line Options 5.1 Global Options 5.2 News Receiving Options 5.2.1 Note Regarding The -K And -N Options 5.3 URLs 5.3.1 Brief Description Of NNTP/POP3/SMTP 5.3.2 Evaluation Order Of URLs 5.4 News Reception 6 Diagnostics 7 Utilities 7.1 YarnIo 7.1.1 YarnIo.Set 7.1.2 LoginIsp 7.1.3 LogoutIsp 7.2 OwnSoup 7.3 QSoup 7.4 ConvSoup 7.5 ModifyEmxH 8 Files 8.1 The Newsrc File 8.2 The Kill File 8.2.1 Regular expression syntax 8.3 Other Files 9 Insufficiencies, Bugs & Plans 10 Author & Acknowledgements 11 History 12 FAQ 11  IInnttrroodduuccttiioonn  ttoo  VVSSoouupp ============================================== VVSSoouupp11..22..55 is a network mail and news client program for OS/2 Warp with TCP/IP (or the Internet Access Kit) installed. It transfers mail and news fetched from a PPOOPP33 server and NNNNTTPP server respectively to packets in _S_O_U_P format. It can also send messages in _S_O_U_P reply packets to NNNNTTPP / SSMMTTPP servers. VVSSoouupp11..22..55 is especially designed to work with YYaarrnn, but it is probable that VVSSoouupp11..22..55 will work with most offline newsreaders which expect _S_O_U_P as their input and output. The program requires the _e_m_x run-time DLLs. You can get these from e.g. ftp://ftp-os2.nmsu.edu/os2/unix/emx09c/emxrt.zip The _e_m_x_0_9_c run-times or newer are required. eemmxxrreevv should show at least revision 50 for the DLLs. VVSSoouupp11..22..55 may work with an earlier version such as _e_m_x_0_9_b, but keep in mind that there were many changes in the DLLs concerning multithreading / sockets since _e_m_x_0_9_a. ------------------------------------------------------------------------------- !!!!! MAKE SURE THAT YOU ARE USING THE CORRECT DLL-VERSIONS !!!!! ------------------------------------------------------------------------------- 22  LLeeggaall  IIssssuueess ============================ This program is heavily based on ideas and modules from Chin Huangs (cthuang@io.org) Souper15. Thanks to him for both _S_o_u_p_e_r and YYaarrnn. PPLLEEAASSEE NNOOTTEE TTHHAATT BBUUGG RREEPPOORRTTSS AANNDD EEVVEERRYYTTHHIINNGG EELLSSEE CCOONNCCEERRNNIINNGG VVSSOOUUPP SSHHOOUULLDD BBEE DDIIRREECCTTEEDD TTOO HHAARRDDYY GGRRIIEECCHH ((RRGGRRIIEECCHH@@IIBBMM..NNEETT)),, NNOOTT TTOO CCHHIINN HHUUAANNGG!! SSttaannddaarrdd  DDiissccllaaiimmeerr -------------------------------------- VVSSoouupp11..22..55 is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License (GPL) as published by the Free Software Foundation; either version 2, or (at your option) any later version. For more details about the GPL see the file CCOOPPYYIINNGG contained in this archive. VVSSoouupp11..22..55 is distributed in the hope that it will be useful, but WWIITTHHOOUUTT AANNYY WWAARRRRAANNTTYY; without even the implied warranty of MMEERRCCHHAANNTTAABBIILLIITTYY or FFIITTNNEESSSS FFOORR AA PPAARRTTIICCUULLAARR PPUURRPPOOSSEE. See the GNU General Public License for more details. WWaarrnniinngg -------------- Some news sites might see VVSSoouupp11..22..55 as a news sucking utility and might feel offended by its use. The intention is that VVSSoouupp11..22..55 is to be used to receive news for your personal use from a reasonable number of newsgroups. Misuse of this program could conceivably result in a general ban on the use of this or similar programs to the detriment of responsible VVSSoouupp11..22..55 users who certainly don't want a general ban of VVSSoouupp11..22..55. 33  FFeeaattuurreess ==================== - Multithreaded news receiving is supported, anything between 1 and 10 threads can be started (default 4), and in addition there are several possible strategies for fine tuning. Multithreading gives a speed gain of 200%-500% depending on the overall speed of the connection and the number of threads; on the other hand multiple connections have a communication overhead (i.e. the connections must be established, the groups selected). Estimated loss is around 5%... - all the packets are exchanged in _S_O_U_P format files, i.e. offline readers expecting as input format either _S_O_U_P or _U_S_E_N_E_T batch format can be used together with VVSSoouupp11..22..55. - VVSSoouupp11..22..55 generates a status message as incoming mail. (this is not in the _S_O_U_P standard, but is recognized by YYaarrnn). Normally this message is only generated in case of failure (eg., cannot select newsgroup) or when special events occur (eg., when new newsgroups are added), but the generation can be forced to always occur by means of a command line option. - VVSSoouupp11..22..55 will show some statistic information about data transfer. - Specification of the required servers is easy by using URLs on the command line. - It is possible to filter articles by header lines before retrieving the body text, see kill file handling. - VVSSoouupp11..22..55 detects too low throughput or stuck connections. - VVSSoouupp11..22..55 knows about NNNNTTPP authentication. - YarnIo, a script to do VVSSoouupp11..22..55 operation safely (without risk of message loss etc.) is included in the archive. YarnIo is capable of simultaneously receiving news from up to nine separate NNNNTTPP news servers, posting news to NNNNTTPP, receiving mail from up to nine PPOOPP33 servers and sending mail to SSMMTTPP. - Other utilities included are OwnSoup This, with the help of the YYaarrnn iimmppoorrtt program, redirects news articles matching a specific pattern into a separate mail folder which will show up when you read your mail with YYaarrnn. For example you can search newsgroups for any mention of your name or any mention of a program you are interested in. QSoup This appends mail and news messages to the YYaarrnn _r_e_p_l_y _p_a_c_k_e_t file for transmission by VVSSoouupp. ConvSoup This transforms all articles from binary _S_O_U_P format to mailbox/USENET format. - FAQ included. - source code included. - freeware according to GPL (without any warranty for correct function etc.). 44  IInnssttaallllaattiioonn ============================ This section describes the installation of VVSSoouupp11..22..55 on a step by step basis. Steps (1)-(4) are for preparation to ensure that you have a system configuration which can run VVSSoouupp11..22..55. The installation instructions assume that you intend to run VVSSoouupp11..22..55 with the help of YarnIo. If you wish to use VVSSoouupp11..22..55 on its own for example to benefit from multithreaded news reception, but do not need YarnIo, simply skip the steps (7)-(11) and parts of (6). Anyway you can use YYAARRNNIIOO..CCMMDD as an example. If you experience any problems take a look at the troubleshooting section. If you are upgrading an older VVSSoouupp11..22..55 version, you should have a look at the history section for hints on important changes. 1. your system must be one of the following: - OS/2 2.x with TCP/IP (not tested but should work) - OS/2 3.0 (Warp) with the 'Internet Access Kit' installed - OS/2 3.0 (Warp Connect) with TCP/IP installed - anything above 2. get the latest version of the _e_m_x runtime library and install it or check your current installation with eemmxxrreevv. This should show a revision level higher than or equal to '50'. If you are not intending to use YarnIo, then add an environment setting of SSEETT EEMMXXOOPPTT==--hh4400 to your CCOONNFFIIGG..SSYYSS as noted in the environment settings section below. 3. check your environment variables according to the environment settings section below. 4. check your %%EETTCC%%\\SSEERRVVIICCEESS file to ensure that it contains the following lines: smtp 25/tcp mail #Simple Mail Transfer smtp 25/udp mail #Simple Mail Transfer pop3 110/tcp #Post Office Protocol - Version 3 pop3 110/udp #Post Office Protocol - Version 3 nntp 119/tcp readnews untp #Network News Transfer Protocol nntp 119/udp readnews untp #Network News Transfer Protocol Most probably the %%EETTCC%%\\SSEERRVVIICCEESS file is located either in xx::\\TTCCPPIIPP\\EETTCC or xx::\\MMPPTTNN\\EETTCC. 5. unzip the VVSSOOUUPP112255..ZZIIPP archive in a temporary file directory (%%TTMMPP%% is a good place). 6. copy the following files into a subdirectory of your choice (using a subdirectory contained in the PPAATTHH statement is always a good choice): - VVSSOOUUPP..EEXXEE, the VVSSoouupp11..22..55 executable - YYAARRNNIIOO..CCMMDD, the YarnIo script - YARNIO.SET, the YarnIo configuration file Note: YYAARRNNIIOO..CCMMDD & YARNIO.SET must reside in the same subdirectory and must have the same filename, except the extension... - If you want YarnIo dial automatically, then you should also copy LOGINISP.CMD and LOGOUTISP.CMD as templates for your own connect/disconnect scripts. - OWNSOUP.EXE and/or QSOUP.EXE and/or CONVSOUP.EXE should be copied if required. - If you want to have help available, then copy also the documentation: either VVSSOOUUPP..IINNFF or VVSSOOUUPP..TTXXTT (both have the same content). - If you are interested in the source code, move it also to a specific subdirectory. 7. review the Command Line Options section below and edit the YARNIO.SET configuration file according to your specific needs. Also read the comments in YARNIO.SET. Note: the setup of YARNIO.SET is required only once. In future, updates will be made by amending YYAARRNNIIOO..CCMMDD. 8. If you wish YYAARRNNIIOO..CCMMDD to dial for you, you must also setup the scripts LOGINISP.CMD and LOGOUTISP.CMD to reflect your needs. Another option is to use your dialer to call your ISP (provider) and start YarnIo after the connection has been established. The disadvantage of doing it this way is that after completion of YarnIo the dialer will not hang up immediately. Note: If you have only FAT drives you have to rename LOGOUTISP.CMD to something else. Therefor you have to change the hhaanngguuppIISSPP setting in YARNIO.SET too. 9. setup the directory structure for YarnIo: %HOME%ÄÄ yarn - subdirectory containing Yarn config file : ÃÄÄ in - root of YarnIo input subdirectories ³ ÃÄÄ mail - primary subdir for EMail reception ³ ÃÄÄ mail2 - optional #2 subdir for EMail reception ³ ÃÄÄ : : ³ ÃÄÄ mail9 - optional #9 subdir for EMail reception ³ ³ ³ ÃÄÄ news - primary subdir for news reception ³ ÃÄÄ news2 - optional #2 subdir for news reception ³ ÃÄÄ : : ³ ÀÄÄ news9 - optional #9 subdir for news reception ÃÄÄ out - subdirectory for EMail&news transmission : In each of the NNEEWWSS subdirectories you will need to create an appropriate NNEEWWSSRRCC file as detailed in the Newsrc File section. The ....MMAAIILL, ....MMAAIILL22 until ....MMAAIILL99 subdirectories have to be created only. They should be left empty. The number of subdirectories depend on the number of servers you wish to poll. 10. change the following line in the Yarn-config file (%%HHOOMMEE%%\\YYAARRNN\\CCOONNFFIIGG): reply-packet=%HOME%\yarn\out\reply.zip If this is omitted or is incorrect then transmission of replies will not be possible, because YYaarrnn will move its output to a place where VVSSoouupp11..22..55 does not expect it! Of course %%HHOOMMEE%% should be replaced by the actual value of HHOOMMEE. 11. if you have setup LOGINISP.CMD and LOGOUTISP.CMD, start YarnIo directly. Otherwise first dial-in to your ISP and then start YarnIo. When you first start using VVSSoouupp11..22..55 I recommend that you add the --MM option to each call of VVSSoouupp11..22..55 (e.g. in YARNIO.SET) to force generation of the status mail. This can be a good debugging aid... 44..11  EEnnvviirroonnmmeenntt  SSeettttiinnggss ------------------------------------------------ Environment variables are set in your CCOONNFFIIGG..SSYYSS by lines such as: SET ETC=D:\TCPIP\ETC Also they can be set in a dedicated script, which calls VVSSoouupp11..22..55. EEMMXXOOPPTT This are the settings for the _e_m_x runtime DLLs. Recommended setting of this variable should contain --hh4400 to allow 40 file handles (not required, if you are calling VVSSoouupp11..22..55 through YarnIo). EETTCC This is needed for accessing the TCP/IP configuration contained in the file %%EETTCC%%\\TTCCPPOOSS22..IINNII. If --ii is specified in the command line, EETTCC is not required. HHOOMMEE your home directory (can also be specified on the command line). If HHOOMMEE is not defined, it defaults to the current directory. MMAAIILLEERR command for transmitting EMails (the EMail is piped into the stdin of MMAAIILLEERR). If VVSSoouupp11..22..55 should do the job, MMAAIILLEERR must be undefined. NNNNTTPPSSEERRVVEERR hostname of the nntp server (can also be specified in the command line). This variable is, in my opinion, obsolete and remains only to avoid compatibility problems. PPOOSSTTEERR command for transmitting news (the article is piped into the stdin of PPOOSSTTEERR). If VVSSoouupp11..22..55 should do the job, PPOOSSTTEERR must be undefined. TTMMPP points to the subdirectory which holds temporary files (VVSSoouupp11..22..55 generates ssoouupp_<_x_x_x_x_>..ttmmpp as temporaries, with _<_x_x_x_x_> being a number between 0000 and 9999). If TTMMPP does not exist, the temporaries will be generated in the current subdirectory. TTZZ setting of your time zone (e.g. mine is MMEETT--11MMEESS). Due to a bug in the _e_m_x runtime, the setting of this variable is critical for correct functioning of the _e_m_x C library revision 50. Check the _e_m_x runtime documentation for the syntax of the TTZZ settings. An incorrect setting of TTZZ can also cause errors if you appear to be getting mail before it was sent. 44..22  VVSSoouupp  AAnndd  YYaarrnnIIoo  TTrroouubblleesshhoooottiinngg ------------------------------------------------------------------------ some simple checks can be carried out: - read the FAQ section. - if VVSSoouupp11..22..55 does not run at all, initiate VVSSoouupp11..22..55 with VVSSOOUUPP --??. This should output the usage information to the screen. If it does not, you have to check your system configuration. Otherwise you should try to call VVSSoouupp11..22..55 in its different modes directly from the command line to check all your command line options. - generate the VVSSoouupp11..22..55 status mail with --MM and check if it tells you the expected file locations and server names. - is the configuration file YARNIO.SET correct and in the same directory as YYAARRNNIIOO..CCMMDD? - is the subdirectory setup correct for YarnIo? - does the ppiinnggHHoosstt command work as expected? Issue the program via RREEXXXXTTRRYY to check the return values in connected/disconnected case. - if you have a setup including LOGINISP.CMD and LOGOUTISP.CMD you can also check if they work. Run LOGINISP.CMD from a command line - login should be performed. Then run LOGOUTISP.CMD - logout should be performed. Now also the YarnIo auto-dial/hangup should work... - connect to your ISP and try YYAARRNNIIOO --RRCCVVMMAAIILL --SSEENNDD --RRCCVVNNEEWWSS22. This will start only the YYaarrnnIIoo RRCCVVNNEEWWSS window (hit ctrl-ESC and open it). News reception should be performed as expected, at the end iimmppoorrtt to yarn will be initiated (after that 30s pause). You can check all single YarnIo modes this way. - is VVSSoouupp11..22..55 called in each window started by YarnIo? 55  CCoommmmaanndd  LLiinnee  OOppttiioonnss ============================================ This section describes the VVSSoouupp11..22..55 command line options in detail. An example is presented first. EExxaammppllee -------------- VSoup -m -h d:\yourHomedir nntp://your.news.server This would start VVSSoouupp11..22..55 telling it not to fetch mail (i.e. to collect news only) using a home directory called dd::\\yyoouurrHHoommeeddiirr from a news server named yyoouurr..nneewwss..sseerrvveerr. The llooggiinniidd and ppaasssswwoorrdd would by default be taken from your TCP/IP configuration. 55..11  GGlloobbaall  OOppttiioonnss ------------------------------------ --hh_<_d_i_r_> sets the home directory for the VVSSoouupp11..22..55 operation. You can also specify your home directory through the environment variable HHOOMMEE. --ii ignore the settings of the TCP/IP configuration. --mm do not fetch mail. --MM generate the VVSSoouupp11..22..55 status mail ..\\SSTTSSMMAAIILL..MMSSGG in any case. Default is to generate the message in case of error only. --nn do not fetch news. --rr read only mode. Only the ..\\AARREEAASS, ..\\0000**..MMSSGG, ..\\0000**..IIDDXX files are written (e.g. %%HHOOMMEE%%\\NNEEWWSSTTIIMMEE, %%HHOOMMEE%%\\NNEEWWSSRRCC are not written). Also the EMails are not deleted from the PPOOPP33 server. Main purpose for this option is debugging. --ss send replies. Do not use this option in combination with --mm or --nn, if you do it will be ignored. --TT_<_n_> throughput must be higher than _<_n_>, otherwise transfer will be aborted. Throughput is checked against the limit _<_n_> every 10s after data transfer has begun. If 6 samples show not enough throughput, VVSSoouupp11..22..55 will be aborted. Default is '0 bytes/s', i.e. it will be checked for a stuck connection. Use --TT--_<_n_> to check your throughput conditions. Special case is --TT--11, which disables throughput check. 55..22  NNeewwss  RReecceeiivviinngg  OOppttiioonnss ---------------------------------------------------- --aa add new newsgroups to the %%HHOOMMEE%%\\NNEEWWSSRRCC file. If there are any new groups on the server, the generation of the status message will be forced. The new newsgroups will be added in the unsubscribed state. --cc[[nn]] catchup: mark every article as read except for the last nn (default is 10). --kk_<_n_> set maximum news packet size to n KBytes (default is no limit). _<_n_> indicates the total amount of received messages, not the size of a single message (see --ll). --KK_<_f_i_l_e_> set the name of the kill file (see note below regarding -K/-N options). --ll_<_n_> Do not fetch articles that contain more than _<_n_> lines in the body of the message. This is intended for omitting binaries in text groups. --NN_<_f_i_l_e_> set the name of the NNEEWWSSRRCC file (see note below regarding -K/-N options). --SS_<_n_> receiving strategy (_<_n_>=0..2). Speed increases (at least it should) in the direction 0 to 2, danger of receiving crossposted articles increases also from 0 to 2. The default of 1 is ok for most cases, but this parameter is an issue of fine tuning! How the strategy parameter operates: --SS00 groups are read sequentially, i.e. all threads are fetching articles from only one group. --SS11 if one thread goes into waiting state the next group will be accessed - only small modification of the above. --SS22 VVSSoouupp11..22..55 tries to keep all threads busy. I.e. each thread accesses one dedicated group, groups are read in parallel (if there are no more groups to access, the waiting threads are used for parallel reading from one group). Recommendation: - If you have a lot of groups with small amount of articles per fetch and only a little bit cross-posting, --SS22 will be the best option for you. If you allow reception of crossposted articles (see option --xx), --SS22 will be best for you in any case. - if you are accessing groups with large articles (i.e. cost of double reception of crossposted articles is high), --SS00 will be the best for you. --tt_<_n_> receive the news with _<_n_> threads, i.e. connect to the NNNNTTPP server _<_n_> times (limits are 1-10, default 4). --uu create news summary. Output can be found in the ..\\0000**..IIDDXX files. Be aware that the summarized articles are marked as read (one way to get out of this, is to call VVSSoouupp11..22..55 with --rr). --xx do not process news Xref headers, i.e. allow reception of crossposted articles. 55..22..11  NNoottee  RReeggaarrddiinngg  TThhee  --KK  AAnndd  --NN  OOppttiioonnss ------------------------------------------------------------------------------------ If you are using the --hh option then use of either of the options --KK or --NN is not recommended, because behavior is not very transparent. If the --hh option is placed behind the --KK / --NN options the result will not be as expected - VVSSoouupp11..22..55 (and _S_o_u_p_e_r) will revert to KKIILLLL and NNEEWWSSRRCC in the new specified home directory. If --KK / --NN options are placed behind the --hh option and do not contain absolute paths, they will not be located in the home directory specified by --hh. This is confusing and will be fixed in a future release. IITT IISS BBEETTTTEERR AANNDD CCLLEEAANNEERR TTOO UUSSEE --HH AANNDD SSEETTUUPP TTHHEE SSPPEECCIIAALL KKIILLLL//NNEEWWSSRRCC FFIILLEESS IINN TTHHAATT SSUUBBDDIIRREECCTTOORRYY!! 55..33  UURRLLss ---------------- The addresses of the hosts are given in UUnified RResource LLocator (URL) form. These do not fully conform to the standard, so a short explanation follows: - nnnnttpp::////[[UUsseerrIIdd[[::PPaasssswwoorrdd]]@@]]nnnnttpp--hhoosstt defines the address of your NNNNTTPP server (i.e. news server). UUsseerrIIdd and PPaasssswwoorrdd can be given if required for AUTHINFO. - ppoopp33::////[[UUsseerrIIdd[[::PPaasssswwoorrdd]]@@]]ppoopp33--hhoosstt defines the address of your PPOOPP33 server. UUsseerrIIdd and PPaasssswwoorrdd are usually required. - ssmmttpp::////[[UUsseerrIIdd[[::ppaasssswwoorrdd]]@@]]ssmmttpp--ggaatteewwaayy defines your SSMMTTPP gateway. UUsseerrIIdd and PPaasssswwoorrdd are not required, in fact they are ignored by VVSSoouupp11..22..55! The URL-feature makes VVSSoouupp11..22..55 different to _S_o_u_p_e_r_1_6, which wants to see a %%HHOOMMEE%%\\NNEEWWSSAAUUTTHH file for NNNNTTPP authorization. Ah ja: it is not intended to implement other protocols like hhttttpp or so... 55..33..11  BBrriieeff  DDeessccrriippttiioonn  OOff  NNNNTTPP//PPOOPP33//SSMMTTPP ---------------------------------------------------------------------------------- Mail can be compared to the postal service, just like a letter. EMail-reception is handled through PPOOPP33 server (ppoopp33:://// prefix), transmission through SSMMTTPP gateways (ssmmttpp:://// prefix). News messages are more like broadcasting, everybody will 'hear' your message. News messages are transmitted and received via NNNNTTPP servers (nnnnttpp:://// prefix). Perhaps it is a little bit confusing, that you can also deliver news via EMail service (just like the YYaarrnn list). The other way around is not possible... Anyway, please don't mix up news and EMail (your EMail might be news, but in these terms they remain EMails). 55..33..22  EEvvaalluuaattiioonn  OOrrddeerr  OOff  UURRLLss ------------------------------------------------------------ Evaluation order is as follows: 1. take all information from the 'Internet Connection for OS/2' notebook settings 2. check the NNNNTTPPSSEERRVVEERR environment settings Note1: NNNNTTPPSSEERRVVEERR is a URL without leading nnnnttpp:://// Note2: there are no environment variables for the SSMMTTPP / PPOOPP33 setup. 3. command line options If you specify only e.g. nnnnttpp::////yyoouurr..nneewwss..sseerrvveerr in the command line (without userid/password), the userid and password from the TCP/IP configuration are taken as a standard value. 55..44  NNeewwss  RReecceeppttiioonn ------------------------------------ For news reception you have the following options (which cannot combined): - either process ..\\CCOOMMMMAANNDDSS (..\\CCOOMMMMAANNDDSS exists), - or catch-up the newsgroups (--cc option), - or create newsgroups summary (--uu option), - or receive the news in the standard way (no specific option). New newsgroups are added to the %%HHOOMMEE%%\\NNEEWWSSRRCC file, when news is received in the standard way and the command line option --aa is given. 66  DDiiaaggnnoossttiiccss ========================== VVSSoouupp11..22..55 returns with an exit code of 11, if any operation failed. Otherwise return code will be 00. Failing operations are: - bad command line options, - bad setup (e.g. no EETTCC set, but 'Internet Connection' settings requested), - bad OS (e.g. D*ø@!S), - user hit ^C or ^BREAK, - throughput check failed (e.g. connection broken), - could not setup connection (e.g. server not defined, server does not exist, server is down, etc.), - there was no ..\\RREEPPLLIIEESS file and you have requested --ss, - ..\\RREEPPLLIIEESS contains an illegal entry, - ..\\MMAAIILL..MMSSGG or ..\\NNEEWWSS..MMSSGG is malformed, - could not deliver news article, e.g. NNNNTTPP server did not allow it, - could not deliver mail, e.g. PPOOPP33 authentication failed, - MMAAIILLEERR / PPOOSSTTEERR contains illegal value, - there is no NNEEWWSSRRCC file, ..\\SSTTSSMMAAIILL..MMSSGG -------------------------- In case of an error condition the status message ..\\SSTTSSMMAAIILL..MMSSGG will be generated. Under the following additional cases ..\\SSTTSSMMAAIILL..MMSSGG will be generated too: - VVSSoouupp11..22..55 was called with the --MM option (force ..\\SSTTSSMMAAIILL..MMSSGG generation), - VVSSoouupp11..22..55 was called with --aa and there were new newsgroups on your NNNNTTPP server, - VVSSoouupp11..22..55 could not select a newsgroup specified in NNEEWWSSRRCC, - VVSSoouupp11..22..55 could not select a newsgroup specified in ..\\CCOOMMMMAANNDDSS, - a newsgroup specified in ..\\CCOOMMMMAANNDDSS was not contained in NNEEWWSSRRCC, - there was another command than sseennddmmee contained in ..\\CCOOMMMMAANNDDSS, - a specified (--KK_<_f_i_l_e_>) kill file does not exist. - ..\\RREEPPLLIIEESS contained an illegal (i.e. not understood by VVSSoouupp11..22..55) reply type. Legal reply types are 'b' and 'B', - ..\\RREEPPLLIIEESS contained an illegal (i.e. not understood by VVSSoouupp11..22..55) reply kind. Legal reply kinds are ""mmaaiill"" and ""nneewwss"". FFuuttuurree  eexxtteennssiioonnss ---------------------------------- The following failing operations are NOT yet implemented fully: - there was no EMail in your PPOOPP33 mailbox, - there were no new news, - you have requested --ss, but a message file is missing (VVSSoouupp11..22..55 deletes message files immediately after successful delivery. Note that if you need two runs to deliver all your messages e.g. one file will be missing on the second attempt. This is considered ok). It is possible, that diagnostics code will change in the future. Return codes with a cleared bit 0 (like 0,2,4,...) will indicate a non-fatal condition, return codes with a set bit 0 will indicate fatal conditions. 77  UUttiilliittiieess ====================== This section describes the several utilities contained in VVSSOOUUPP112255..ZZIIPP archive in more detail. For most users only the YarnIo files will be of interest. 77..11  YYaarrnnIIoo -------------------- As stated before YarnIo - actually consisting of YYAARRNNIIOO..CCMMDD, YARNIO.SET and optionally of LOGINISP.CMD and LOGOUTISP.CMD - is responsible for safe VVSSoouupp11..22..55 I/O operations. The script(s) handle(s) the complete I/O between YYaarrnn and the internet world. Newsgroups are read from up to nine NNNNTTPP servers, mail/news packets are transmitted and mail is received again from up to nine PPOOPP33 servers - all simultaneously. Actions can be disabled individually (type YYAARRNNIIOO ?? for more information). The script should be started directly after the connection has been established. It is also possible to let YarnIo dial out to establish the connection. To do this you must provide the two scripts LOGINISP.CMD and LOGOUTISP.CMD (see the installation section). Most items of the user configuration are in a file called YARNIO.SET. It contains the settings for the initialization of the external programs including VVSSoouupp, iimmppoorrtt ... calls. YYoouu WWIILLLL nneeeedd ttoo aammeenndd tthhee ddeettaaiillss iinn tthhee YYAARRNNIIOO..SSEETT ffiillee.. Sorry, but the directory structure must be set up manually! You should follow the structure given above in the installation section. 77..11..11  YYaarrnnIIoo..SSeett -------------------------------- For configuration of YarnIo, YARNIO.SET is required. YARNIO.SET must reside in the same directory as YYAARRNNIIOO..CCMMDD and must have the same filename prefix (i.e. YYAARRNNIIOO). YARNIO.SET contains the statements which determine how YYAARRNNIIOO..CCMMDD is to call the several commands. To give you an idea what must be configured in YARNIO.SET, an example follows. There is a YARNIO.SET contained in the archive, which includes more comments. : '@set nntpserver=' preImportProg = 'ownsoup -q rgriech stuff4me OwnTemp' importProg = 'import.exe -u' soupProg = 'vsoup.exe' soupSend = soupProg '-s nntp://xmt.nntp.server' soupRcvNews = soupProg '-mai' '-h' rcvNewsDir 'nntp://1st.nntp.server' soupRcvNews2 = soupProg '-mai' '-h' rcvNews2Dir 'nntp://2nd.nntp.server' soupRcvMail = soupProg '-n' pingHost = 'ping x.y.z 10 1 2>&1 > nul' connectISP = 'cmd /c loginisp.cmd NOWAIT' hangupISP = 'cmd /c logoutisp.cmd' unzipProg = 'unzip.exe -oq' zipProg = 'zip -0mq' : RReemmaarrkkss -------------- - The host xx..yy..zz in ppiinnggHHoosstt must NNOOTT be contained in the %%EETTCC%%\\HHOOSSTTSS, because otherwise ppiinnggHHoosstt will return unexpected results. - Do not remove the option ''--hh'' rrccvvNNeewwssDDiirr from the ssoouuppRRccvvNNeewwss line or the option ''--hh'' rrccvvNNeewwss22DDiirr from the ssoouuppRRccvvNNeewwss22 line. - If you are not interested in a service (e.g. ssoouuppRRccvvNNeewwss22), set the corresponding variable to '' (empty string). - If required, you can change the environment settings in YARNIO.SET, e.g. the above ''@@SSEETT NNNNTTPPSSEERRVVEERR=='' clears an existing NNNNTTPPSSEERRVVEERR environment variable. - To enable news server #3..#9, you have to add ssoouuppRRccvvNNeewwss33..ssoouuppRRccvvNNeewwss99 lines into YARNIO.SET. Use ssoouuppRRccvvNNeewwss22 as a template. Of course you have to set up the corresponding Newsrc Files in the respective subdirectories. For PPOOPP33 server #2..#9 you have to set up ssoouuppRRccvvMMaaiill22..ssoouuppRRccvvMMaaiill99. You have to create the corresponding subdirectories manually. For setting up the correct subdirectory structure see also the Installation section. 77..11..22  LLooggiinnIIsspp ---------------------------- LOGINISP.CMD is an optional script, which allows YarnIo to dial in to your ISP. The following example script will connect using the internet dialer. If you are a customer of Advantis the script will work for you without any changes - of course you have to insert the correct aaccccoouunntt uusseerr ppaasssswwdd information. /* LoginIsp - rg211096 Login to your ISP. If Option NOWAIT is given, the command will not wait until connection has been established. You have to do the following configuration: - the line '...logoutisp...' must show the effective logoff script - the line '...start...' must show the effective call of the dialer - the line '...ping...' must show a pinger to check connection */ call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs' call SysLoadFuncs TRACE('') option = ARG(1) DO FOREVER '@cmd /c logoutisp.cmd' '@start dialer.exe account user passwd '-m' IF option = 'NOWAIT' THEN LEAVE DO j = 1 TO 20 rc = SysSleep(3) '@ping www.ibm.net 2>&1 > nul' IF rc = 0 THEN EXIT END j END EXIT Note1: You will find an almost identical LOGINISP.CMD in the VVSSOOUUPP112255..ZZIIPP archive. Note2: This LOGINISP.CMD requires a working LOGOUTISP.CMD. 77..11..33  LLooggoouuttIIsspp ------------------------------ LOGOUTISP.CMD is an optional script, which allows YarnIo to disconnect from your ISP. The following example script will disconnect using the internet dialer. If you are a customer of Advantis the script will work for you without any changes - other than maybe changing ddiiaalleerr and ccoommPPoorrtt. This script is a little bit more complicated than LOGINISP.CMD, because it will 1. block itself to avoid multiple instances of itself 2. wait until the dialer has been closed 3. force a disconnect of the modem through switching DTR An almost identical version of the script is contained in the VVSSOOUUPP112255..ZZIIPP archive. /* LogoutIsp - rg211096 Logoff from your ISP. The lines dialer/dialerClose,comPort must be configured */ call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs' call SysLoadFuncs dialer = 'c:\tcpip\bin\dialer.exe' dialerClose = dialer '-c' comPort = 'com3' TRACE('') parse source . . compCmdName cmdName = filespec('name',compCmdName) tmpDir = value('tmp',,'os2environment') lockFile = '' IF tmpDir = '' THEN SAY 'please define %TMP% for locking' CmdName ELSE DO lockFile = tmpDir || '\logout.sem' if stream( lockFile,'c','open write') \= 'READY:' then DO SAY CmdName 'already active...' EXIT END END if isActive(dialer) then do SAY 'logging off...' '@start /min' dialerClose rc = SysSleep( 2 ) DO FOREVER IF \isActive(dialer) THEN LEAVE call HangupNow rc = SysSleep( 2 ) END end call HangupNow IF lockFile \= '' THEN DO rc = stream( lockFile,'c','close' ) rc = SysFileDelete( lockFile ) END EXIT HangupNow: '@mode' comPort || ',dtr=on > nul' '@mode' comPort || ',dtr=off > nul' '@mode' comPort || ',dtr=on > nul' RETURN isActive: PROCEDURE prog = ARG(1) '@pstat /c | RXQUEUE' prog = TRANSLATE(prog) found = 0 DO ii = 1 TO queued() PULL line IF POS(prog,TRANSLATE(line)) \= 0 THEN do found = 1 LEAVE END END RETURN found 77..22  OOwwnnSSoouupp ---------------------- OwnSoup, with the help of the YYaarrnn iimmppoorrtt program, redirects news articles matching a specific pattern into a mail folder. OwnSoup can be seen as a notification program to allow easy tracking of news threads you are involved in. SSyynnttaaxx ------------ oowwnnssoouupp [[--hh]] [[--bb]] [[--qq]] _<_p_a_t_t_e_r_n_> _<_g_r_o_u_p_n_a_m_e_> _<_o_u_t_p_u_t_f_i_l_e_> where [[--hh]] search for _<_p_a_t_t_e_r_n_> in header of article only, [[--bb]] search for _<_p_a_t_t_e_r_n_> in body of article only. The subject line of the header is considered to be part of header and body. If --hh or --bb is not specified the default is to search the complete article, [[--qq]] be quiet. Only the number of matches found will be displayed, _<_p_a_t_t_e_r_n_> is your search pattern which should be defined according to the regular expression syntax, _<_g_r_o_u_p_n_a_m_e_> is a dummy groupname to allow easy filtering. All the matching articles will contain the header line XX--oowwnnssoouupp:: _<_g_r_o_u_p_n_a_m_e_>, _<_o_u_t_p_u_t_f_i_l_e_> is the name of the temporary outputfile (the ..MMSSGG-extension will be added by OwnSoup). The generated _<_o_u_t_p_u_t_f_i_l_e_> will be registered in the ..\\AARREEAASS file, thus iimmppoorrtt will also find the _<_o_u_t_p_u_t_f_i_l_e_>. Note that the _<_o_u_t_p_u_t_f_i_l_e_> will be deleted after the iimmppoorrtt so that the actual name you choose is unimportant. EExxaammppllee  SSeettuupp  ooff  OOwwnnSSoouupp ------------------------------------------------ - Assuming a script is used when importing news, directly before iimmppoorrtt is called, a line calling OwnSoup is placed in the script. This would be something like: ownsoup rgriech stuff4me OwnTemp This example would search for ""rrggrriieecchh"" in the header and body sections of each message, writing matching messages to an output file called OwnTemp after marking them with X-ownsoup: stuff4me The YYaarrnn iimmppoorrtt can now easily filter out any such news articles and put them in a mail folder which in this example we will call ""PPeerrssoonnaall"". The search pattern here is ""rrggrriieecchh"" but a more complex pattern could be used, for example I could search on a pattern of ""rrggrriieecchhÝÝhhaarrddyy??ggrriieecchh"" which would find either my email name or my full name. The '?' wildcard is used in place of a space. The pattern must be in quotes. Note that because no --hh or --bb parameter is set, OwnSoup will search both the header and the body of all messages. If you are using YarnIo, OwnSoup would be called by setting the pprreeIImmppoorrttPPrroogg line in YARNIO.SET. Our example would require the following: preImportProg = 'ownsoup rgriech stuff4me OwnTemp' - To setup a YYaarrnn filter which moves all the messages matching the pattern ""XX--oowwnnssoouupp:: ssttuuffff44mmee"" into the mail folder ""PPeerrssoonnaall"" you would do the following: Set up a filter using the YYaarrnn FFIILLTTEERR..EEXXEE program. When run, this shows a box for details, which you would complete as follows: Ú Mail Rule ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ ³ Rule name: MentionsMe ³ ³ ³ ³ Search in: ( ) From ³ ³ ( ) To ³ ³ ( ) Subject ³ ³ (*) Header ³ ³ ( ) Body ³ ³ ( ) Header and body ³ ³ ³ ³ Search for: X-ownsoup: stuff4me ³ ³ Match case: No ³ ³ ³ ³ Action: (*) Move to folder/newsgroup: Personal ³ ³ ( ) Delete ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ In the ""SSeeaarrcchh ffoorr"" line above, ""XX--oowwnnssoouupp:: ssttuuffff44mmee"" represents the string you wish to search for, i.e. the string that OwnSoup puts in when it finds a match on its own search and ""PPeerrssoonnaall"" represents the name you wish the new mail folder to have. Note that YYaarrnn's filter now only needs to search the header as it is only looking for the ""XX--oowwnnssoouupp:: ssttuuffff44mmee"" line. After this preparation all incoming news articles will be checked for _<_p_a_t_t_e_r_n_> as set in OwnSoup (in this case ""rrggrriieecchh""), and matching articles will be moved into the ""PPeerrssoonnaall"" mail folder. - Of course, you can set up more than one filter and if you wish put the output in different mail folders. RReessttrriiccttiioonnss ------------------------ - It is NNOOTT possible to post a followup to the respective newsgroup, but it is possible to send a reply to the author of a filtered article. - Do not set up ""PPeerrssoonnaall"" as a newsgroup, because YYaarrnn would skip the filtered articles in this case due to the message Id. OOtthheerrss ------------ OwnSoup scans all files contained in ..\\AARREEAASS matching the _S_O_U_P formats ""bb"" and ""uu"", i.e. files containing news articles. The generated file has the binary 8-bit clean mail _S_O_U_P format (""bbnn""). 77..33  QQSSoouupp ------------------ QSoup (pronounce 'queue soup') appends mail and news messages to the YYaarrnn _r_e_p_l_y _p_a_c_k_e_t file for transmission by VVSSoouupp. The messages must contain all required header fields, i.e. QSoup does not manipulate the content of the message, except that it does '\r' stripping and interpretes ^Z as end of message. SSyynnttaaxx ------------ qqssoouupp [[--mm]] [[--vv]] [[--ii]] [[--hh_<_d_i_r_>]] [[--ll_<_f_i_l_e_>]] [[_<_i_n_p_u_t_f_i_l_e_>]] where [[--mm]] the message input to QSoup is a mail, default is news, [[--vv]] be verbose, [[--ii]] ignore all options coming behind the _<_-_i_>. This is useful, if the calling program appends command line arguments which are not known by QSoup, [[--rr_<_f_i_l_e_>]] set the name of the _r_e_p_l_y _p_a_c_k_e_t to _<_f_i_l_e_>. Default is to read the name of the _r_e_p_l_y _p_a_c_k_e_t from %%HHOOMMEE%%\\YYAARRNN\\CCOONNFFIIGG in the line rreeppllyy--ppaacckkeett, [[--ll_<_f_i_l_e_>]] use _<_f_i_l_e_> as the lock file for access control to the _r_e_p_l_y _p_a_c_k_e_t. Default is to use %%YYAARRNN%%\\HHIISSTTOORRYY..PPAAGG, [[_<_i_n_p_u_t_f_i_l_e_>]] is the name of the message file. If omitted, the message will be read from stdin, thus allowing to connect the message provider and QSoup through a pipe. EExxaammppllee  SSeettuupp  OOff  QQSSoouupp  AAnndd  SSeennddmmaaiill ---------------------------------------------------------------------- Using _s_e_n_d_m_a_i_l has several advantages. First, it is a standard tool which is used by many programs for mail delivery (e.g. LLyynnxx). Second, it is very flexible and allows routing of messages depending on their recipients address. The second point is also the weakest point of _s_e_n_d_m_a_i_l: it is hard to configure. This example shows my setup of _s_e_n_d_m_a_i_l. But be warned: I am no _s_e_n_d_m_a_i_l expert and to get this configuration running was a lot of fiddling! My changes to the standard configuration were as follows: - take the original sseennddmmaaiill..uummll from Warp Connect and copy it to %%EETTCC%%\\sseennddmmaaiill..ccff, - insert the following two lines in the very beginning of sseennddmmaaiill..ccff: Cwworkstationname.domain Dwworkstationname.domain - change the OOQQ setting so it reflects the subdirectory of your mail queue (which in fact should not be required, because the mails are received by QSoup immediately), - set the HH??FF??FFrroomm:: field to your email address. This will be the default address, if nothing else is specified in the FFrroomm::-header of the message, - in the RRuulleesseett 00 at the end of the first section specify the rule R$+<@$+> $#local $:$1 This will instruct _s_e_n_d_m_a_i_l to direct all mails to the local mailer program. Note that the blanks between the >> and the $$ have to be tabs, - change the local mailer program, so that it shows the following: Mlocal, P=d:\b\32\qsoup.exe , F=lmnDFM, S=10, R=0, A=-m -i $u You have to replace the dd::\\bb\\3322 with the actual QSoup path. If this path is not correct, _s_e_n_d_m_a_i_l will not deliver the mails! After you have done the setup, you should check it with a dummy mail. Type in the following: sendmail -t --->IBM OS/2 SENDMAIL VERSION 1.3.17 --->reading ...\sendmail.cf 10 to: dummy@x.y.z subject: sendmail/qsoup testing Hello ^Z (this is a ctrl-Z!) --->11/09/96 19:01:03 mail delivered from: YourName Now you can check the successful delivery with the command uunnzziipp --CCpp --aaaa rreeppllyy--ppaacckkeett mmaaiill..mmssgg. The output should be something like that: Received: by ibm.net (IBM OS/2 SENDMAIL VERSION 1.3.17/2.12um) id AA3986; ... Date: Sat, 09 Nov 96 18:59:40 +0100 From: YourName Message-Id: <9611091759.AA3986@ibm.net> To: dummy@x.y.z Subject: sendmail/qsoup testing Hello Note, that _s_e_n_d_m_a_i_l inserted the missing DDaattee::, FFrroomm:: and MMeessssaaggee--IIdd:: header lines (the redundant header RReecceeiivveedd:: too). YYoouurrNNaammee should show the correct settings. After successful test you should delete the reply packet file. For the actual 'diff' of my sseennddmmaaiill..ccff and sendmail.umf see also the FAQ. MMiisscceellllaanneeoouuss -------------------------- - If you are using QSoup as a _s_e_n_d_m_a_i_l mailer program you can not setup _s_e_n_d_m_a_i_l as the MMAAIILLEERR of VVSSoouupp. First, this would result in a deadlock during transmit action of VVSSoouupp, because the invoked _s_e_n_d_m_a_i_l would invoke an instance of QSoup, which could not proceed, because the YYaarrnn _r_e_p_l_y _p_a_c_k_e_t would be held by the transmitting VVSSoouupp. Second, this would not be a meaningful configuration, because the mail would loop endlessly in your computer without being ever transmitted to the external world. If other programs require the MMAAIILLEERR environment variable pointing to _s_e_n_d_m_a_i_l and if _s_e_n_d_m_a_i_l is configured to deliver mails to QSoup, one should clear MMAAIILLEERR prior to the ""VVSSoouupp --ss"" call. For YarnIo operation this could be done in YARNIO.SET. - Because QSoup has to unzip/zip the _r_e_p_l_y _p_a_c_k_e_t, do not expect fast operation. Anyway appending a message to the _r_e_p_l_y _p_a_c_k_e_t will be much faster than the actual delivery. - If QSoup is copied to an executable with the name _s_e_n_d_m_a_i_l (SSEENNDDMMAAIILL..EEXXEE) and is invoked as _s_e_n_d_m_a_i_l, QSoup mode defaults to 'get a mail from stdin'. If QSoup is copied to an executable with the name _i_n_e_w_s (IINNEEWWSS..EEXXEE) and is invoked as _i_n_e_w_s, QSoup mode defaults to 'get a news article from stdin'. All command line options will be ignored in either case. Keep in mind, that the messages must contain all required header fields. - The exact access criteria for _r_e_p_l_y _p_a_c_k_e_t access are as follows: 1. Set %%YYAARRNN%%\\HHIISSTTOORRYY..PPAAGG to writable without access sharing. This operation must be accomplished successfully. %%YYAARRNN%%\\RREEPPLLIIEESS is the default lock file which can be overridden by the --ll_<_f_i_l_e_> option. 2. The RREEPPLLIIEESS file in the _r_e_p_l_y _p_a_c_k_e_t subdirectory must not exist. Criterion (1) blocks QSoup, if YYaarrnn is active. Also this works like a semaphor and prevents multiple instances of QSoup to access the _r_e_p_l_y _p_a_c_k_e_t. Criterion (2) prevents QSoup from accessing the _r_e_p_l_y _p_a_c_k_e_t if it is unzipped, e.g. during ""VVSSoouupp --ss"". Don't forget that an open YYaarrnn or an active ""VVSSoouupp --ss"" blocks QSoup. This means, as long as another application accesses either the lloocckkffiillee or the YYaarrnn _r_e_p_l_y _p_a_c_k_e_t, QSoup can not perform the requested operation. 77..44  CCoonnvvSSoouupp ------------------------ ConvSoup is a small program which converts the VVSSoouupp11..22..55 _S_O_U_P output files, which are in binary format (""bbnn"" & ""BBnn"") into UNIX mailbox format (""mmnn"") and _U_S_E_N_E_T batch format (""uunn"") respectively. The output files are written with '\n' as line separator. ConvSoup must be started in the subdirectory that contains the ..\\AARREEAASS and the ..\\**..MMSSGG files. ConvSoup is useful for people who wants to use VVSSoouupp11..22..55 with a squish based offline newsreader, because the _S_O_U_P to squish converter SSoouupp22SSqq can not handle binary input. Also _C_h_a_n_g_i's _R_N_e_w_s expects _U_S_E_N_E_T batch format on its input. 77..55  MMooddiiffyyEEmmxxHH ---------------------------- This script is of interest for people who want to compile VVSSoouupp11..22..55 on their own. MMOODDIIFFYYEEMMXXHH..CCMMDD is required for multiple inclusion of the ooss22..hh and ooss22eemmxx..hh header files. MMOODDIIFFYYEEMMXXHH..CCMMDD reads form stdin and copies to stdout. Keep in mind, that multiple inclusion of the above mentioned headers is not standard. It is just for my convenience. 88  FFiilleess ============== This section describes all the input and output files used and generated by VVSSoouupp11..22..55 in detail. Under normal circumstances %%HHOOMMEE%%\\NNEEWWSSRRCC and %%HHOOMMEE%%\\KKIILLLL are the only files of interest. For description of YarnIo files, see the YarnIo section. 88..11  TThhee  NNeewwssrrcc  FFiillee -------------------------------------- %%HHOOMMEE%%\\NNEEWWSSRRCC contains the list of newsgroups. ':' behind the name indicates subscribed group, '!' indicates an unsubscribed one. This list of newsgroups can be obtained from the news server by using the --aa option in VVSSoouupp11..22..55 (see FAQ) or can be prepared with a text editor as follows: List the newsgroups you want to receive, one per line, and end each line with a colon. For example: comp.answers: news.answers: rec.humor.funny: VVSSoouupp11..22..55 will keep track of fetched articles by recording the article numbers in this file. SSyynnttaaxx ------------ For anyone who really wants to know, the syntax of the file is as follows: %%HHOOMMEE%%\\NNEEWWSSRRCC ::::== _<_l_i_n_e_s_> _<_l_i_n_e_s_> ::::== _<_l_i_n_e_> _<_l_i_n_e_s_> || eemmppttyy _<_l_i_n_e_> ::::== _<_g_r_o_u_p_n_a_m_e_> _<_s_e_p_> _<_a_r_t_i_c_l_e_-_r_a_n_g_e_s_> ""\\nn"" _<_s_e_p_> ::::== ""!!"" || ""::"" _<_a_r_t_i_c_l_e_-_r_a_n_g_e_s_> ::::== _<_a_r_t_i_c_l_e_-_r_a_n_g_e_s_> "",,"" _<_a_r_t_-_r_a_n_g_e_> || _<_a_r_t_-_r_a_n_g_e_> _<_a_r_t_-_r_a_n_g_e_> ::::== "" "" _<_a_r_t_-_n_u_m_> || "" "" _<_a_r_t_-_n_u_m_> ""--"" _<_a_r_t_-_n_u_m_> _<_g_r_o_u_p_n_a_m_e_> is the name of a group, _<_a_r_t_-_n_u_m_> is a long integer. _<_a_r_t_i_c_l_e_-_r_a_n_g_e_s_> must be sorted in ascending order to be recognized correctly. Blanks are only allowed at the indicated positions. Under normal circumstances, only the _<_s_e_p_> is important to the user for subscribing and unsubscribing groups. 88..22  TThhee  KKiillll  FFiillee ---------------------------------- The kill file specifies criteria used to exclude articles from the VVSSoouupp11..22..55 packet. You can kill articles that have a specific subject, are from a specific poster, or contain a particular string anywhere in the header. %%HHOOMMEE%%\\KKIILLLL is the default kill file. The name and subdirectory of the kill file can be configured by specifying the --KK_<_k_i_l_l_f_i_l_e_> command line option. This allows one single kill file for all news servers you wish to access. An entry in the kill file, also called _<_k_i_l_l_-_s_e_c_t_i_o_n_>, has the format: _<_n_e_w_s_g_r_o_u_p_> ""{{"" _<_s_e_a_r_c_h_> _<_p_a_t_t_e_r_n_> ...... ""}}"" where: _<_n_e_w_s_g_r_o_u_p_> is the name of a newsgroup where the pattern is to be applied. If the name is aallll the search pattern is applied to all groups. _<_s_e_a_r_c_h_> specifies where to search in the header. ffrroomm searches the From line, ssuubbjjeecctt searches the subject line and so on. The special _<_s_e_a_r_c_h_>-pattern hheeaaddeerr searches all the lines in the header of the article. _<_p_a_t_t_e_r_n_> is the string in form of a regular expression to search for. RReemmaarrkkss -------------- - News transmission speed decreases if a kill file is used, because an article is fetched then in two steps: HHEEAADD <>, then BBOODDYY <>. Otherwise an article will be fetched in only one single step: AARRTTIICCLLEE <>. Scoring from YYaarrnn is also more flexible than this simple killing, and anyway, who knows in advance about the development of a news thread... - It is pretty legal to break the kill criteria for one newsgroup (aallll is a special group) in several _<_k_i_l_l_-_s_e_c_t_i_o_n_>s. - Upper/lower case is ignored for all fields. - The kill file works on news only. - Check the FAQ for example kill files. SSyynnttaaxx ------------ The exact syntax of the kill file is as follows: %%HHOOMMEE%%\\KKIILLLL ::::== {{_<_l_i_n_e_> ""\\nn""}}_* _<_l_i_n_e_> ::::== ''##'' _<_t_e_x_t_> || _<_k_i_l_l_-_s_e_c_t_i_o_n_> Lines beginning with a '#' indicates a comment, _<_t_e_x_t_> indicates a literal string. _<_k_i_l_l_-_s_e_c_t_i_o_n_> ::::== ""aallll"" ""{{"" _<_k_i_l_l_-_e_x_p_s_> ""}}"" || _<_g_r_o_u_p_-_n_a_m_e_> ""{{"" _<_k_i_l_l_-_e_x_p_s_> ""}}"" ""aallll"" indicates, that the following _<_k_i_l_l_-_e_x_p_s_> is valid for all newsgroups, _<_g_r_o_u_p_-_n_a_m_e_> limits the _<_k_i_l_l_-_e_x_p_s_> to a specific group. _<_k_i_l_l_-_e_x_p_s_> ::::== _<_h_e_a_d_e_r_-_n_a_m_e_> _<_k_i_l_l_-_e_x_p_> ""\\nn"" {{_<_k_i_l_l_-_e_x_p_s_>}} _<_h_e_a_d_e_r_-_n_a_m_e_> is a literal string. If _<_h_e_a_d_e_r_-_n_a_m_e_> is ""hheeaaddeerr"", the _<_k_i_l_l_-_e_x_p_> is valid for the complete header. _<_k_i_l_l_-_e_x_p_> is a regular expression. Note: "\n" is the newline character. It is mandatory! 88..22..11  RReegguullaarr  eexxpprreessssiioonn  ssyynnttaaxx -------------------------------------------------------------- The following description has been taken from the mmaann rreeggeexxpp pages (BSD experimental). A regular expression is zero or more branches, separated by ||. It matches anything that matches one of the branches. A branch is zero or more pieces, concatenated. It matches a match for the first, followed by a match for the second, etc. A piece is an atom possibly followed by _*, ++, or ??. An atom followed by _* matches a sequence of 0 or more matches of the atom. An atom followed by ++ matches a sequence of 1 or more matches of the atom. An atom followed by ?? matches a match of the atom, or the null string. An atom is a regular expression in parentheses (matching a match for the regular expression), a range (see below), .. (matching any single character), ^^ (matching the null string at the beginning of the input string), $$ (matching the null string at the end of the input string), a \\ followed by a single character (matching that character), or a single character with no other significance (matching that character). A range is a sequence of characters enclosed in [[]]. It normally matches any single character from the sequence. If the sequence begins with ^^, it matches any single character not from the rest of the sequence. If two characters in the sequence are separated by --, this is shorthand for the full list of ASCII characters between them (e.g. [[00--99]] matches any decimal digit). To include a literal ]] in the sequence, make it the first character (following a possible ^^). To include a literal --, make it the first or last character. 88..33  OOtthheerr  FFiilleess ------------------------------ ..\\CCOOMMMMAANNDDSS -------------------- contains lines with the syntax: ''sseennddmmee'' _<_g_r_o_u_p_n_a_m_e_> _<_a_r_t_i_c_l_e_-_r_a_n_g_e_s_>. ..\\CCOOMMMMAANNDDSS is executed instead of standard fetching of news (see also News Reception). After successful ..\\CCOOMMMMAANNDDSS processing, the file will be deleted. Note: articles which have already been read (marked in %%HHOOMMEE%%\\NNEEWWSSRRCC) will be skipped! %%HHOOMMEE%%\\NNEEWWSSTTIIMMEE ------------------------------ contains the time of the last NNNNTTPP connection. This is for fetching of new newsgroups. If %%HHOOMMEE%%\\NNEEWWSSTTIIMMEE does not exist, aallll currently available newsgroups are fetched from the server when VVSSoouupp11..22..55 was called with the --aa option. %%TTMMPP%%\\SSOOUUPP**..TTMMPP ------------------------------ temporary files for received articles. _* will be replaced by a number in the range 0-9999. If %%TTMMPP%% is not defined, %%TTMMPP%% will be substituted by a '.' ..\\0000**..MMSSGG ------------------ contain the received messages (news articles & EMail). The files are written in the following _S_O_U_P formats: - Binary 8-bit clean news format (""BBnn"") for incoming news. Lines are delimited by a single '\n', - Binary 8-bit clean mail format (""bbnn"") for incoming mails. Lines are delimited by a single '\n'. ..\\0000**..IIDDXX ------------------ contain the received newsgroup summaries (--uu option). The files are written in the _S_O_U_P ""iicc"" format. ..\\SSTTSSMMAAIILL..MMSSGG -------------------------- contains the status message generated by VVSSoouupp11..22..55. This file is written in the _S_O_U_P UNIX mailbox format (""mmnn""). Lines are delimited by a single '\n'. ..\\AARREEAASS -------------- contains the table of contents of the received ..\\0000**..MMSSGG / ..\\0000**..IIDDXX files (+ ..\\SSTTSSMMAAIILL..MMSSGG). ..\\NNEEWWSS..MMSSGG -------------------- contains the news messages that should be sent to the NNNNTTPP server. The following _S_O_U_P formats are supported: ""BB"" Binary 8-bit clean news format. The files are read in binary mode but transferred in text mode to the NNNNTTPP host, ""uu"" _U_S_E_N_E_T batch format with the area name ""nneewwss"". The files are read in binary mode, thus '\r\n' pairs are treated as two characters (this is not according to RFC1036 but according to Soup12.Html). ..\\MMAAIILL..MMSSGG -------------------- contains the mail messages that should be sent to the SSMMTTPP server. The following _S_O_U_P formats are supported: ""bb"" Binary 8-bit clean mail format. The files are read in binary mode but transferred in text mode to the SSMMTTPP gateway, ""uu"" _U_S_E_N_E_T batch format with the area name ""mmaaiill"". The files are read in binary mode, thus '\r\n' pairs are treated as two characters (this is not according to RFC1036 but according to Soup12.Html). ..\\RREEPPLLIIEESS ------------------ contains the table of contents of the ..\\NNEEWWSS..MMSSGG / ..\\MMAAIILL..MMSSGG files to be transmitted. Instead of the above file names other names could be used too. 99  IInnssuuffffiicciieenncciieess,,  BBuuggss  &&  PPllaannss ============================================================== IInnssuuffffiicciieenncciieess ------------------------------ - only very basic killfile handling - some cmd options, some files (including the score/kill file) are not compatible with _S_o_u_p_e_r_1_6 - the port section in URLs is not recognized (future version) - space allocated from the heap is not freed (debugging...) - behaviour for news receiving/posting, mail receiving/posting is not symmetrical, i.e. there is no multithreading except for news receiving... This will be (perhaps) fixed in a future version - only one single version (for OS/2) - it is not clear, how to handle '\r\n' pairs in the _S_O_U_P format! Soup12.Html says '\r' should be treated as data, but '\r\n' must be avoided. In Soup12.Html '\r' are counted just like normal data bytes. BBuuggss -------- - how to kill a thread which is blocked in a 16(/32?)-bit call (I think, this is an old OS/2 issue)? (problem arises, if the main thread of VVSSoouupp11..22..55 has received a signal) - version of the _e_m_x runtime is not checked! PPllaannss ---------- - remove bugs & insufficiencies - more situation dependent return codes - perhaps more status information on the screen 1100  AAuutthhoorr  &&  AAcckknnoowwlleeddggeemmeennttss ======================================================== AAuutthhoorr ------------ Hardy Griech Kurt-Schumacher-Str. 25/1 72762 Reutlingen Germany email: rgriech@ibm.net AAcckknnoowwlleeddggeemmeennttss -------------------------------- - FSF for GCC (2.7.2.1 used), EMACS (19.31.1 used), - Eberhard Mattes for the GCC & EMACS ports to OS/2 and the documentation utility eemmxxddoocc, which made the ..IINNFF-file possible, - Chin Huang for YYaarrnn and _S_o_u_p_e_r, - the gamma testers Jim Holcomb, Kay Pyrtek and Ralph D. Bednarski, - Barrie Smith for rework on the documentation, for many suggestions about documentation and a lot of proof reading! 1111  HHiissttoorryy ==================== VVeerrssiioonn  11..22..55 -------------------------- - Improved Documentation, thanks to Barrie Smith. Documentation now in TXT and INF format available, thanks to eemmxxddoocc. - _S_O_U_P format for iimmppoorrtt has been changed: - ..\\SSTTSSMMAAIILL..MMSSGG has format ""mmnn"" (same as before) - from PPOOPP33 incoming Mails have format ""bbnn"": binary 8-bit clean mail format. This allows from headers in the first column of the mail, i.e. mail handling is now transparent (old was ""mmnn""). - news have format ""BBnn"": binary 8-bit clean news format (old was ""uunn"") To allow the conversion to the old format ConvSoup has been added. - Added OwnSoup which filters news articles containing a specific pattern into a mail folder. - Added QSoup to allow injection of messages into the _S_O_U_P reply packet. - YarnIo changes: - YarnIo now only zips the SSEENNDD packets (this is to allow re-edit of the replies). Received messages are imported via iimmppoorrtt --uu. If you have an older version of YARNIO.SET it must be updated. - YarnIo now supports OwnSoup. To allow operation of OwnSoup the entry pprreeIImmppoorrttPPrroogg has been added to YARNIO.SET. - YarnIo now supports up to nine NNNNTTPP servers for news reception and up to nine PPOOPP33 servers for EMail reception. - --TT--11 disables throughput check completely. - the _<_k_i_l_l_-_s_e_c_t_i_o_n_> for one _<_g_r_o_u_p_> can now be seperated, e.g. the kill file may now contain several ""aallll"" sections. - now article ranges are allowed in the sseennddmmee of ..\\CCOOMMMMAANNDDSS. This is a non-standard _S_O_U_P extension. - bug fixes: - hostname is now fetched through TCP/IP API, no longer from 'internet settings' - it was possible in --SS22 that during final catchup of articles the connections were changing group assignment on each fetched article - catchup did not work as expected. It sets the %%HHOOMMEE%%\\NNEEWWSSRRCC, so that in any case 'n' articles were read afterwards. Display now shows groupLo & groupHi - ^Z was not recognized correctly for %%HHOOMMEE%%\\NNEEWWSSRRCC & %%HHOOMMEE%%\\KKIILLLL - Now again linked dynamically, ths EEMMXX..DDLLLL and EEMMXXLLIIBBCCMM..DDLLLL are required - Lines containing a single '.' were aborting EMails, even if the '.' is actually doubled for transfer. Don't know if this is an SSMMTTPP bug. Appending a blank behind the '.' helped (i.e. ".. " is actually transferred to the SSMMTTPP server). For news articles it works without appending the blank. - sockets are now opened in text mode, because all the RFCs requires \r\n as a line delimiter. VVeerrssiioonn  11..22 ---------------------- - first non-beta release - more detailed README - YarnIo enhanced (autodial, disabling specific actions, configuration file, ...) - some changes/enhancements/extensions in ..\\SSTTSSMMAAIILL..MMSSGG, e.g. command line parameters are contain, important server names too... (useful for debugging) - if supported by the NNNNTTPP server, the XHDRs are retrieved to determine holes in the article sequence - throughput check (-T option) now replaces the old timeout detection. It is now working for all operations. - news reading, strategy parameter: --SS00 groups are read sequentially, i.e. all threads are fetching articles from only one group --SS11 the next group will be accessed, if one thread goes into waiting state - only small modification of the above --SS22 it is tried, to keep all threads busy. I.e. each thread accesses one dedicated group, groups are read parallel (if there are no more groups to access, the waiting threads are used for parallel reading from one group) - more robust (but slower) reading of %%HHOOMMEE%%\\KKIILLLL and %%HHOOMMEE%%\\NNEEWWSSRRCC. Because it is slower: clean-up your %%HHOOMMEE%%\\NNEEWWSSRRCC from time to time, if you are using the --aa option - bug fixes: - 'internet connection' settings were never ignored (--ii did not work) - some very minor bug fixes for handling of broken connections - under some circumstances broken SSMMTTPP connection did not produce an error condition - bug in kill file handling fixed (trailing blanks in line were not accepted). Lines in the kill file can now be outcommented through a '#' as the first non-blank character - if getArticle() fails, the according connection will be marked as failed. This lets VVSSoouupp die gracefully, if single connections are cancelled (by whom?) - signal handling changed: VVSSoouupp tries (!) to kill the sub-threads - number of file handles provided by _e_m_x is now checked - now compiled with _e_m_x_0_9_c. During this 'port' it became obvious, that streams are not appropriate. Thus all file i/o is done directly via handles (class TFile in mts.cc) VVeerrssiioonn  11..11áá  ((001100999966)) ------------------------------------------ - first public beta - if NNNNTTPP server knows nothing about DATE command, the internal clock will be taken as a reference (required for --aa cmd option only) - 'AUTHINFO USER' / 'AUTHINFO PASS' for nntp server implemented (RFC977 extension). Call VVSSoouupp simply with the nntp-URL nntp://user:passwd@nntpserver - NNNNTTPP NEXT will only be done, if there is a bigger gap between the articles - bug in socket.cc ((char)0xff == (int)-1 !!!) VVeerrssiioonn  11..00áá  ((001100889966)) ------------------------------------------ - Program is now named VVSSoouupp. I am sorry, but the program again requires the _e_m_x DLLs (to my opinion no disadvantage, because most of the people will have them anyway). Also there is no support for Win95 (this was not intended and I am not sorry, but I have no Win95 system - and I am happy about that ;-) - Program is now multithreaded for news reading. This gives a speed gain of 200%-500% depending on the overall speed of the connection and the number of threads; on the other hand multiple connections have a communication overhead (i.e. the connections must be established, the groups selected). Estimated loss is around 5%... - Return codes are now much more consistent: on failure an EXIT_FAILURE (1) is returned, on success EXIT_SUCCESS (0) - On failure a status mail is generated. Most of the console messages are redirected into this status mail. The generation of the mail can be forced thru cmd option --MM - If file %%HHOOMMEE%%\\NNEEWWSSTTIIMMEE does not exist, the complete newsgroup list is retrieved from the news server (NNNNTTPP LIST) - Kill files may have comments ('#' in the first position of a line). This is very beta... - Readonly mode is now much more consistent (%%HHOOMMEE%%\\NNEEWWSSTTIIMMEE is not updated, also the sent articles are not deleted) - the default maximum packet size has been changed to unlimited - Small bug in %%HHOOMMEE%%\\NNEEWWSSRRCC handling found (firstUnread was wrong sometimes) - automatic timeout for NNNNTTPP reception 1122  FFAAQQ ============ This sections contains several frequently questions and the corresponding answers. The questions are: ---------------------- WWhhyy ddoo II ggeett ssoommeetthhiinngg lliikkee ''00000000000022..mmssgg:: TToooo mmaannyy ooppeenn ffiilleess''?? and the related question II aamm ggeettttiinngg tthhee mmeessssaaggee ''......nnuummbbeerr ooff tthhrreeaaddss ccuutt......''.. WWhhaatt ddooeess iitt mmeeaann?? VVSSoouupp needs a lot of open file handles. The YarnIo script provides these automatically, but if you are not using this script then it is recommended that you add the following line to your CCOONNFFIIGG..SSYYSS: SSEETT EEMMXXOOPPTT==--hh4400 --cc --nn. This allows 40 open file handles which should be enough. ---------------------- WWhhyy iiss mmyy nneewwss rreecceeppttiioonn ggeettttiinngg ssttuucckk ssoommeettiimmeess?? One common reason is that you are using the wrong (too old) version of the emx-runtime-DLLs. Check them with eemmxxrreevv (should show revisions >= 50) and update them if required. Also you have to avoid a mixture of _e_m_x runtime DLLs. ---------------------- eemmxx0099cc bbrreeaakkss mmyy ssyysstteemm,, bbuutt VVSSoouupp ssaayyss iitt rreeqquuiirreess tthhee eemmxx0099cc rruunnttiimmeess.. WWhhaatt ccaann II ddoo?? - You can use the older _e_m_x_0_9_b runtimes. I've checked this and it seems to work. If you are using the _e_m_x_0_9_b runtimes (emx.dll revision >= 40) you will get a warning message in the VVSSoouupp11..22..55 display. E.g. you may see a display something like this: [D:\u\C\tcpip\vsoup\tst]..\vsoup -r -m -i -h . nntp://atlas WARNING: emx 0.9c or later required vsoup: connected to news server Atlas (getNews) vsoup: 27 unread articles in comp.os.os2.announce ³ 7% (3: 00022k) Simply ignore the warning message. If VVSSoouupp11..22..55 aborts after issueing the message, there must be something different wrong. Stop all other programs which are using the _e_m_x runtime and retry initiating VVSSoouupp11..22..55. - Check the setting of the environment variable TTZZ. It should/must contain a value which is acceptable for the _e_m_x C library. Especially _e_m_x_0_9_c revision=50 is sensitive to correct setting of the TTZZ environment variable. ---------------------- II ccaannnnoott rreecceeiivvee EEMMaaiill ffrroomm mmyy PPOOPP33 sseerrvveerr?? - Check, if your UserId/Password settings are ok - Check, that your %%EETTCC%%\\SSEERRVVIICCEESS file contains the following lines (see also Installation): pop3 110/tcp #Post Office Protocol - Version 3 pop3 110/udp #Post Office Protocol - Version 3 ---------------------- II hhaavvee aannootthheerr EEMMaaiill pprrooggrraamm.. TThheerreeffoorr II''dd lliikkee ttoo ddiissaabbllee tthhee RRCCVVMMAAIILL ffeeaattuurree ooff YYaarrnnIIOO.. HHooww ddoo II ddoo tthhiiss?? You simply have to set ssoouuppRRccvvMMaaiill in YARNIO.SET to '' (the empty string). ---------------------- GGiivvee mmee aann eexxaammppllee kkiillllffiillee!!?? Here you are: # this is a killfile for VSoup # all { header microsoft from bill.*gates } all { subject make.*money subject \$\$\$ x-newsreader forte agent } comp.os.os2.mail-news { subject ultimail subject netscape subject help: } This would kill messages in aallll newsgroups which have - the word mmiiccrroossoofftt somewhere in the header, - or are ffrroomm a guy with a bbiillll-pattern followed somewhere by a ggaatteess pattern, - or contain mmaakkee followed by mmoonneeyy in the ssuubbjjeecctt, - or contain three consecutive $$$$$$ in the ssuubbjjeecctt, - or contain ffoorrttee aaggeenntt in the xx--nneewwssrreeaaddeerr header line. And would also kill messages in the ccoommpp..ooss..ooss22..mmaaiill--nneewwss group which have ssuubbjjeecctt lines containing the words uullttiimmaaiill, nneettssccaappee or hheellpp::. Also check killfile explanation and the regular expression syntax. ---------------------- HHooww ttoo kkiillll hheeaavviillyy ccrroossssppoosstteedd aarrttiicclleess ((aanndd tthhuuss aavvooiidd ssppaammss vveerryy lliikkeellyy))?? Add the following to your kill file: # this kills articles posted to more then 4 groups # all { newsgroups ,.*,.*,.*, } ---------------------- II hhaavvee 88 ccoonnnneeccttiioonnss rreeqquueesstteedd ffoorr nneewwss rreecceeiivviinngg ((wwiitthh tthhee --tt88 ooppttiioonn)),, bbuutt tthhee ssttaattuuss mmeessssaaggee ssaayyss tthhaatt oonnllyy 33 tthhrreeaaddss wweerree ccoonnnneecctteedd ssuucccceessssffuullllyy.. WWhhaatt''ss wwrroonngg?? Nothing! Sometimes it takes very long to establish a connection to the news server which means that VVSSoouupp11..22..55 has finished before all requested threads have been connected. It is also possible that a news server might restrict the number of simultaneous connections by one user. I have not heard of this happening, but who knows! ---------------------- II aamm ggeettttiinngg mmaaiillss,, wwhhiicchh aaccttuuaallllyy sseeeemmss ttoo bbee nneewwss aarrttiicclleess!!?? You are using OwnSoup somewhere. If you are using YarnIo for you I/O operations, check in YARNIO.SET the pprreeIImmppoorrttPPrroogg line, which should either be empty ('') or should contain arguments to match your needs (not MMIINNEE as the settings reflect in the sample YARNIO.SET in the archive). ---------------------- II aamm uussiinngg YYAARRNNIIOO..SSEETT.. HHooww ccaann II sseettuupp mmoorree tthhaann oonnee ffiilltteerr wwiitthh OOwwnnSSoouupp?? You have to use the command concatenator in the pprreeIImmppoorrttPPrroogg line of YARNIO.SET, e.g. preImportProg = 'ownsoup -q rgriech stuff4me OwnTemp' preImportProg = preImportProg '&& ownsoup -bq vsoup vsoupstuff VsTemp' This example will search for ""rrggrriieecchh"" in header and body and additionally for ""vvssoouupp"" in the body section of the news articles. In a second step you have to setup the corresponding mail filter with the YYaarrnn ffiilltteerr program. ---------------------- HHooww ddoo II ggeett aa lliissttiinngg ooff aallll aavvaaiillaabbllee nneewwssggrroouuppss?? Delete the file %%HHOOMMEE%%\\NNEEWWSSTTIIMMEE and call VVSSoouupp11..22..55 with the --aa option the next time. After that you will get a status mail and the all the available groups are appended to your %%HHOOMMEE%%\\NNEEWWSSRRCC file. ---------------------- CCaann II aabboorrtt VVSSoouupp ooppeerraattiioonn ssaaffeellyy?? Yes, it is safe to abort VVSSoouupp11..22..55 by ^C or ^BREAK. The following takes place: News reception: VVSSoouupp11..22..55 will save the current NNEEWWSSRRCC contents and the articles are stored after the reception of each single article into the corresponding ..\\0000**..MMSSGG file. The ..\\AARREEAASS file will be left in a proper state for import. EMail reception: The QUIT command will not be sent to the PPOOPP33 server, which means that the mailbox will not be emptied which again means that when you next call you will get the already received EMails of the aborted VVSSoouupp11..22..55 session again. News transmission: Double sent articles are detected by the news server and will be rejected by it. This special type of rejection (435 & 437 error number in NNNNTTPP reply) will be considered by VVSSoouupp11..22..55 as a non-error condition, thus the articles are handled as having been successfully delivered (which in fact they are). EMail transmission: If the VVSSoouupp11..22..55 session has been aborted during EMail transmission, the whole EMail batch will be resent. ---------------------- CCaann yyoouu sshhooww mmee tthhee ''ddiiffff'' bbeettwweeeenn yyoouurr sseennddmmaaiill..ccff aanndd tthhee oorriiggiinnaall sseennddmmaaiill..uummll?? Of course, but you should be capable of reading 'diffs'. Also be aware, that _s_e_n_d_m_a_i_l requires tabs as delimiter between the ruleset fields. *** sendmail.uml Tue Oct 3 23:09:04 1995 --- d:sendmail.cf Sat Nov 9 19:20:30 1996 *************** *** 1,3 **** --- 1,7 ---- + Cwibm.net + Dwibm.net ######################################################################### # # # Sendmail # *************** *** 102,108 **** # # If macro R is undefined, then mail for internal destinations will be # delivered directly ! DDYour.Domain # Internal, directly connected domains # --- 106,112 ---- # # If macro R is undefined, then mail for internal destinations will be # delivered directly ! DD # Internal, directly connected domains # *************** *** 154,160 **** # SMTP read timeout Or15m # Queue directory - this must be changed if TCP/IP is moved! ! OQC:\MPTN\ETC\mqueue # Always queue for safety Os # Time to live in the queue --- 158,164 ---- # SMTP read timeout Or15m # Queue directory - this must be changed if TCP/IP is moved! ! OQd:\ETC\MQUEUE # Always queue for safety Os # Time to live in the queue *************** *** 173,179 **** # HReceived: $?sfrom $s $.by $j ($v/$Z) id $i; $b H?D?Date: $a ! H?F?From: $q H?M?Message-Id: <$t.$i@$j> H?D?Resent-Date: $a H?F?Resent-From: $q --- 177,183 ---- # HReceived: $?sfrom $s $.by $j ($v/$Z) id $i; $b H?D?Date: $a ! H?F?From: Hardy Griech H?M?Message-Id: <$t.$i@$j> H?D?Resent-Date: $a H?F?Resent-From: $q *************** *** 297,302 **** --- 301,307 ---- R$* : $* ; $#error $@ USAGE $: "list:; syntax illegal for... R<@ $+> $#error $@ USAGE $: "user address required" R<$* : $* > $#error $@ USAGE $: "colon illegal in host name part" + R$+<@$+> $#local $:$1 # handle numeric address spec R$* < @ [ $+ ] > $* $#smtp $@ [$2] $: $1 < @ [$2] > $3 numeric... *************** *** 387,393 **** # Msmtp, P=[IPC], F=mDFMuX, S=10, R=0, A=IPC $h ! Mlocal, P=C:\TCPIP\UMAIL\UMAILER.EXE , F=lsm, S=10, R=0, A=-dest C:\TCP... Mprog, P=xxx, A=Required by sendmail but unused --- 392,398 ---- # Msmtp, P=[IPC], F=mDFMuX, S=10, R=0, A=IPC $h ! Mlocal, P=d:\b\32\qsoup.exe , F=lmnDFM, S=10, R=0, A=-m -i $u Mprog, P=xxx, A=Required by sendmail but unused ---------------------- CCaann II uussee VVSSoouupp ttooggeetthheerr wwiitthh CChhaannggii?? Yes, you can use VVSSoouupp as the news feeder for _C_h_a_n_g_i. For reply transmission _C_h_a_n_x must still be used. The following setup should work: - setup VVSSoouupp for news reception as described in the installation section, - after VVSSoouupp operation ConvSoup must be called, which converts the ..\\0000**..MMSSGG from binary format to the _U_S_E_N_E_T batch format, - then do a ccooppyy 0000**..mmssgg aallll__iinn__oonnee, - then call the _C_h_a_n_g_i _R_N_e_w_s with aallll__iinn__oonnee as input file. The above is not tested! If anybody likes to confirm the procedure, please send me an EMail. Anyway the ..\\SSTTSSMMAAIILL..MMSSGG is not handled by the above procedure. Remark: The question 'why should I use VVSSoouupp together with _C_h_a_n_g_i?' is triggered by the fact that several news servers do not allow the NEWNEWS command, which is used by _C_h_a_n_x for multithreaded news reception. ---------------------- WWhheerree ttoo oobbttaaiinn mmoorree iinnffoorrmmaattiioonn aabboouutt SSOOUUPP?? For more information about _S_O_U_P refer to Soup12.Html which can be found on the net, e.g. at hhttttpp::////wwwwww..eeddeenn..ccoomm//~~ccoommbbeeee//ssoouupp1122..hhttmmll. ---------------------- WWhheerree aarree tthhee iinntteerrnneett ssttaannddaarrddss ddeessccrriibbeedd?? The internet standards are described in Request For Comment documents (RFC). VVSSoouupp uses the NNNNTTPP, PPOOPP33 and SSMMTTPP standards. A good starting point for RFC reading is e.g. hhttttpp::////pphhoobbooss..iilllltteell..ddeennvveerr..ccoo..uuss//ccddrroomm//iinneett//rrffcc//. RFCs of interest are: RFC821 Simple Mail Transfer Protocol, RFC822 Standard for the format of ARPA Internet text messages, RFC977 Network News Transfer Protocol, RFC1036 Standard for interchange of _U_S_E_N_E_T messages, RFC1460 Post Office Protocol - Version 3. ---------------------- WWhheerree ttoo oobbttaaiinn tthhee llaatteesstt vveerrssiioonn ooff VVSSoouupp?? I will upload public releases of VVSSoouupp to ffttpp..ccddrroomm..ccoomm and ffttpp..lleeoo..oorrgg. The corresponding URLs are: - ffttpp::////ffttpp..lleeoo..oorrgg//ppuubb//ccoommpp//ooss//ooss22//ttccppiipp//nneewwss//vvssoouupp**..zziipp - ffttpp::////ffttpp..ccddrroomm..ccoomm//ppuubb//ooss22//iinnccoommiinngg//vvssoouupp**..zziipp, later on it can be found at ffttpp::////ffttpp..ccddrroomm..ccoomm//ppuubb//ooss22//iinntteerrnneett//vvssoouupp**..zziipp. I will not upload to Hobbes (ffttpp--ooss22..nnmmssuu..eedduu), because it seems to be not very reliable. Version notification will take place in the YYaarrnn mailing list. The current update frequency is at about one release per month. But this will stabilize in the very near future (09-Nov-1996). ---------------------- WWhheerree ttoo oobbttaaiinn tthhee llaatteesstt vveerrssiioonn ooff YYaarrnn?? Best place to check is hhttttpp::////wwwwww..vveexx..nneett//yyaarrnn//. For notification about new versions check the YYaarrnn mailing list. ---------------------- HHooww ttoo ssuubbssccrriibbee ttoo tthhee YYaarrnn mmaaiilliinngg lliisstt?? To subscribe to the mailing list, mail a message to lliissttpprroocc@@lliissttss..ccoolloorraaddoo..eedduu. The body of the message should be the line ssuubbssccrriibbee yyaarrnn--lliisstt YYoouurr FFuullll NNaammee, assuming YYoouurr FFuullll NNaammee is your full name. If it isn't, substitute your own name.