UPDCHCK.EXE ------------------------------------------------------------------------ + new added feature and/or parameter(s) * fixes i for information purposes only, no changes. - removed feature/parameter ---------------------------------------------------------------------------- 14.06.2012 v5.90 * New Index Level: H 13.05.2012 v5.80 * Patch check nodelist flags Problems with nodelist flags like INA:... in pointlists: New points sometimes preparing their installation to become a node, so they are reachable 24/7 The new FoIP flags IBN and INA allows to signal other systems, that these systems are reachable. With PVT, -Unpublished-, CM, IBN, INA:... in the pointlist set, the pointsystem is reachable from the world despite the fact, that CM,IBN can be set to Nodelistflags stripping ignored, the new INA flag with a dns url will be stripped anyway as the INA:something doesn't match the flag INA The fix takes care about the new multiple parts nodelist flags like INA:* probably other flags too. SNDLF_EXCL CM,MO,IBN,INA now finds not only CM,MO and IBN, also an INA flag defined like INA:ambrosia60.dnsalias.net 22.02.2009 v5.76 * Fixed CHecKNoDeListFLags module. + added types HA, BZIP2, GZIP, COMPRESS to packertest detection. 19.10.2008 v5.75 * Can't timestamp file the error behind this problem was an system error: 'Too many files open' Fixed. * Changed from ARJ to ZIP packing 5.5.2007 v5.62 * C setfiletime function doesn't release filehandles. multiple execution ends in file cannot be opened. Fixed. v5.60 recompiled to v5.62. 10.4.2007 v5.60 * Changed filedate/filetime touch routine to be network drive/win32 aware 16.6.2005 v5.51 i Differnet types of conversion: NPK level test: Host,24318,2443/1313,velbert,dirk_astrath,000-000-000-000,300,CM,MO,H16, ,1,funboard.1,velbert,sandra_astrath,000-000-000-000,300, RPK level conversion to boss, than re-fake: Boss,2:2443/1313 Pvt,1,funboard.1,velbert,sandra_astrath,-Unpublished-,300, on NPK level works UPDCHECK on RPK level works PNTLCVRT UPDCheck can handle more specialized Pvt Point listings by configuration PVT_POINT parameter in config. Accept, Warning, Change Solution: use parameter PVT_POINT Accept State: no fix needed * undef. freezing debug mode: checkndlFL 114 (ported errflags routine) EFNF 264 EQUAL 1316 ThisFlagER 42 ThisUserER 43 last changes made: added Txx as regular flag addtl. to user flag in errflags.tab file: ; +-----------------------------------------+ ; ! Online time user and regular flag ! ; +-----------------------------------------+ ; ;FLAGS T$$ <- USER T$$ T$$ as FLAGS and as USER caused a loop in the checkndlFL function. Workaround 1: list only any flags unique as FLAGS or USER flag. Not both at the same time! Workaround 2: loop detection in chkndlfl function if regular- or userflags errors above 30. State: Workaround. * undef. index file corruption on next: ODBMC1 line 503 index file corruption (fnc6) using *A*, index *0*, *1*, *2*, *3*, *4*, *5* partial indexing? before db access a *A.COR semaphore will be created and errorlevel changes to errorlevel 60. after db access reset errorlevel to default (99) till other error. State: Fixed. + Added errorlevel 60 (corrupted index) 9.3.2005 v5.50 i New version numbering schema. Relates to PNTLCVRT version numbering as of nodelist index sharing. skipped UPDCHCK revisions v2.0, v3.0, v4.0, v5.0 now v5.50 Major revisions follows PNTLCVRT numbering. Minor revisions are subrevisions within UPDCHCK. * Possible database conflict between nodelist index and implemented t2m netmail procedures fixed. * fixed strange #files handling under winnt by replacement of files# checking code + New index structure includes now _ALL_ nodelist entrys. addtl. flag field allows extended reporting information of unlisted/unindexed nodes within PNTLCVRT. New Index Level: G * Changes on ERRORS.TPL: Nodestate: ERR015 -> Pvt, ERR016 -> Down, ERR017 -> Hold 1.3.2004 v1.54 * Program termination without Errorlevel or Warning if Nodelist missing/not found. Fixed. 29.2.2004 v1.53 * Fixed CRLF problem within nodelist indexing. Changed UPDCheck v1.52 to v1.53. Now nodelist indexing is mandatory in UPDCHECK too. Added undefined nodelist indexing to Errorlevel 70. compatible to PNTLCVRT v5.00 * Lowlevel I/O routines updated. + Add auto identify NDLSTATUS routine - Removed config parameters NODECHECK and NDLSTATUS 14.11.2003 v1.52 * Program termination with: Proc GUFINFO line 1924, undefined identifier _H1 fixed. 23.10.2003 v1.51 + # 17:40:06 BAD move from: \FD\SECURE\22410330.UPD # 17:40:06 to: F:\fd\points\BAD\22410330.000 # 17:40:06 \FD\SECURE\22410330.UPD rejected. Error case : one empty line before first Host line in UPD file. Error message: Host line missing Add empty white line detection before first Host line. Skip empty white line. Fixed. * phone conversion of ip-only nodes step 1: 000-000-000-000 to 000-00-000-000 step 2: 000-00-000-000 to 000-0-000-000 step 3: ?!? Problem: starting "0" in 2nd phone part will be identified as the errorcase "areacode with leading zero" in the phonecheck subroutine. A quick fix is now implemented to accept the complete phone string "000-000-000-000" (4 times "000"). + Advanced identification of error case found in v1.41 (19.7.02) ,HamburgAndi_Brett, => ,Hamburg,Andi_Brett, ,HAMBURGANDI_BRETT, => ,Althuette,HAMBURGANDI_BRETT, ,HHAndi_Brett, => ,HH,Andi_Brett, ,HAMBURGAndi_Brett, => ,HAMBURG,Andi_Brett, ,HHandi_brett, => ,HH,andi_brett, * Fixed missing city case. If multiple entrys exists for one areacode i.e. 069 -> Frankfurt, Offenbach, Hoechst, Griesheim the most counted entry of live data will be used. The "live data" will be analysed by each entry of real pointlists that converted by UPDCheck after the rebuild of the City database. Existing entrys are counted (unique city list, multiple areacodes). 4.10.2003 v1.50 * Update Nodelist Index Routine to Index Level F compatible to PntlCvrt v4.10 + Add Config parameter PVT_IP to support IP-Only nodes vs. Pvt Nodes at all. 19.7.2002 v1.41 + new error case repair within pointlines: ,12,Point12,Filderstadt,Andi_Brett,49-7183-428161,9600, ;E ,12,Point12,FilderstadtAndi_Brett,49-7183-428161,9600,, ;E Warning: empty field detected. ;E |--> One missing field. ;E found possible city and firstname in sysopname in field 4. ;E try to repair by split city and firstname. Can now be fixed automaticly. new ERRORS.TPL (add :ERR086) 3.6.2002 v1.40 * Update Nodelist Index Routine to Index Level E compatible to PntlCvrt v4.00 27. 2.2002 v1.32 * updchck seems to hung within ri2line() routine by some segments. pointers for low/level filebuffering wasn't corrected by new ri2line routine in v1.31. fixed. 25. 2.2002 v1.31 * 0Ah vs. 0D0Ah line terminations test runs into memory problems with large update files. i.e. proc UCATREPL line 1700, out of memory Continue? There was a leak before by testing and analyze steps with UPDCHCK. The hirarchie: packtest, get content infos, 0Ah lines termination fix. produces in step 2 these errors. This leak has been fixed now. (reported by Michael Haase) 14.11.2001 v1.30 * "proc SDB2EFA line 362, disk full" error. Problem with duplicate temp filenames. Status: fixed. (reported by Stefan Klatt) * Proc T2MM41 line 426, subscript range Problem with namensconfig in t2m.cfg. To much sysopnames defined in T2M.CFG or command line "T2M text ... /N11 ..." (Batchline or others) uses an undefined #. The same problem exists with number of AKAs. UPDCHCK reports now T2M.CFG error in the logfile and uses entry #1. Status: fixed both. (reported by Stefan Klatt) + Add 2nd parameter for nodelist to store the indix files internal databases and logs in another path or use 2nd parameter to get the nodelist from a different path than the nodelist index files and internal databases are stored. ; Index, Nodelist and internal database path DBPATH %updworkdir%\nodelist NODELIST c:\MAILER\NODELIST\nodelist.* OLD: NODELIST c:\MAILER\NODELIST\nodelist.* The Nodelist is read in path c:\MAILER\NODELIST and all index files, internal database files and logfiles are stored in the path c:\MAILER\NODELIST. NEW: UPDWORKDIR D:\FIDO\PLC DBPATH %updworkdir%\nodelist NODELIST c:\MAILER\NODELIST\nodelist.* The nodelist is read in path c:\MAILER\NODELIST. All index files, internal databases and logfiles are stored in path D:\FIDO\PLC\NODELIST. hint: upgrade from earlier updchck versions with new parameter DBPATH and a new path: add new path and the parameter DBPATH in your config. move all *.IDX and *.LOG files from the "old" NODELIST-path to the new DBPATH directory. DBPATH should allways be added. DBPATH is used without Nodelist support too!!! see PNTLCVRT v3.30 upgrade too. (by Stefan Klatt) 24.10.2001 v1.20-gamma-4 * Re-Check procedure problem again. after new nodelist update, the main directory won't check cause of information in indexfile that identifies this segment as actualy checked. List of checked segments must be cleared under PNTCVRT and under UPDCHECK if new nodelist arrives. List of checked segments now reset if PNTCVRT first executes the nodelist index and list of checked segments now cleared under UPDCHECK if PNTCVRT created the index or new nodelist arrives. Status: fixed. 4.10.2001 v1.20-gamma-4 * Re-Check procedure don't work cause of missing information in index/logfiles. One Subroutine wasn't fixed in last index-update. Now the updated Nodelist routine works as defined. On any nodelist update, the re-check of the UPD.workdir says no more "nothing to do". Status: Fixed. 1.10.2001 v1.20-gamma-3 * After Errorlevel Exit imported template files are not removed. Fixed. 9.8.2001 v1.20-gamma * New Nodelistindexlevel D. Nodelist-Index-Level "D" is used by UPDCheck >= v1.20 and PNTLCVRT >= v3.00. * Fixed in Low/Level readline routine, cause missing chars in lines near end of file. 24.6.2001 v1.11-gamma9 * Maxbaud Conversion funktioniert nicht wenn in Nodelist hoehere Baudrate als fuer UPDCHCK erlaubt angegeben ist. Fixed. 17.6.2001 v1.11-gamma8 * Supportlevel Region: wenn ein PLC gleichzeitig noch andere Netze serviced (Temp-PLC) wird nurmehr eins von mehreren moeglichen im Makenl.Ctl zugeordneten Segmentfiles gefunden. Alle weiteren Files werden nicht mehr abgearbeitet ... Um das Problem zu umgehen musste die interne Database erweitert werden. In dem Zusammenhang aendert sich auch der "interne" Indexlevel, was wiederum zur Folge hat, dass P24CVRT, das auf die selben Databases zugreifen kann angepasst werden musste. Status: Fixed. * Der Nodelist-Index ist auf Level "C" umgestellt worden. Nodelist-Index-Level "C" wird unterstuetzt von UPDCheck >= v1.118 und P24CVRT >= v2.80. 15.6.2001 v1.11-gamma7 * White Spaces in NDL-Info Logfileoutput eliminiert. 14.6.2001 v1.11-gamma7 * Supportlevel Region: einige Segmente wurden rejected. Sonderfaelle: a) PLC Sysopname in Nodelist unterschiedlich zu Sysopname in Pointlistsegment. b) Nach Einsetzung Temp-PLC Im Fall a) wurde in einer Admin-Zeile eines Region-Segments eine 2d-AKA erwartet, wo keine 2d-AKA per Definition gefordert ist. Fall b) fehlte bislang ein Cleaning "alter" MakeNl.Ctl Daten. Das fuehrte nach einem PLC-Wechsel dazu, dass 2 Records in der internen Database unterschiedliche Informationen zu UPD-Segmenten enthielten. Je nach Pruefroutine wurde im einen Fall der erste Eintrag, im naechsten Fall der zweite Record herangezogen. Bei der Uebernahme der MakeNl.Ctl Infos wird nun zuvor ein Cleaning "alter" Daten vorgenommen. Status: Fixed. 11.6.2001 v1.11-gamma7 * Supportlevel Region, all Files in UPDdir rejected. Status: Fixed. 8.6.2001 v1.11-gamma7 * Der Nodelist-Index ist auf Level "B" umgestellt worden, da sonst P24CVRT v2.62 den Index nur noch fehlerhaft lesen koennte. Nodelist-Index-Level "B" wird unterstuetzt von UPDCheck >= v1.117 und P24CVRT >= v2.70. 6.6.2001 v1.11-gamma7 + Add parameter GLOBAL_NOTIFY Generell Notifys enable/disable + Add new Index-Level fuer Support mehrerer UPDChck Konfigurationen parallel nebeneinander mit nur einer Nodelist. Zur Erkennung, ob das Masterdir gleichsam ueberprueft werden muss gab es bislang intern einen eindimensionalen Aktuallisierungszeiger. Beim Erstaufruf nach Aktuallisierung der Nodelist funktionierte das auch mit dem 1. zu testenden Segment. Ein 2. Aufruf mit einem anderen Segment in einem anderen Verzeichnis, aber bei benutzung des selben Nodelistindex, wurde das Masterdir nicht mehr erneut ueberprueft. Status: Fixed. 9.5.2001 v1.11-gamma6 (Hotfix!) * "proc READBUF line 143, out of memory" und "proc READBUF line 113, out of memory" selbst bei 607K free Memory ! Errors foerderten bei der Analyse ein Designproblem zu Tage, dass nach Einfuehrung der CRC-Analyse der Segmente aufgetaucht ist. In allen Testleveln (Net-, Region-, Zone-) werden von den UPDSegmenten CRC-Werte ermittelt. In der entsprechenden Subroutine habe ich vergessen Pointer nachzufuehren, die dann einen Buffer-Overflow produzierten. :-( Je nach Groesse der zu testenden Segmente tauchte der Memory Overflow bislang eher nur ab Region-Level auf. War aber bei entsprechender Segmentfilegroesse potentiell auch unter dem Net-Level moeglich. Nun aber kommt UPDCheck auch wieder mit 502 Kb Memory aus ... ;) Status: Fixed. 8.5.2001 v1.11-gamma5 i Seit der v1.xx Weiterentwicklung gab es eine ganze Reihe von Erweiterungen zum NET Support. Der Region-Level Support blieb bislang aussen vor in den Testlaeufen. Mit der 1.11-gamma5 liefere ich nun die ueberfaelligen Fixes nach: * Envir.: Region Level Support mit Netmail, Nodelist, Makenl Nachricht: # 01:06:34 Error on R:\POINTLST\NET24.UPD. Unexpected regionadress. # 01:06:34 Find: 24000 Expected: # 01:06:34 Differs from makenl control file definition. check laeuft aber weiter ... Makenl.ctl scheint auch in Ordnung ... Region 24000 NET24.UPD 2:244/1120 ; Ulrich Schroeter Nun wird, wie bei Boss-Segmenten auf NET-Level die Zuordnung aus dem Makenl.Ctl korrekt verwertet. Status: Fixed. * Envir.: Region Level Support mit Netmail, Nodelist, Makenl bei fehlerhaften Segmenten wird ein Notify geschrieben, allerdings _OHNE_ Region-Line ! Addressierung des Notifys erfolgt an den 1. Bossnode (!) Ab der erweiterten Datenbankstruktur, wurden Informationen zu Boss-Segmenten gesammelt. Dies unterblieb bislang auf Region- oder Zone-Level Ebene. Durch die Erweiterung der File-Check-Routine, werden jetzt auch Netzpointlistsegmente korrekt analysiert und ausgewertet. Region Line wird jetzt geschrieben und prinzipiell auch an den PLC addressiert. Status: Fixed. i Memory Overflow "readbuf line 140" bei aktiviertem Debug-Modul nach Einbindung der Voll-Analyse von Region-Segmenten: Bei aktiviertem Debug und 502Kb freiem Hauptspeicher: Buffersize von 2048 auf 256 Kb zurueckgeschraubt. Danach ist das Programm durchgelaufen. Bei 600Kb freiem Hauptspeicher werden mit Sicherheit keine Memory-Probleme auftreten. Bei Hauptspeicher um die 500Kb Grenze ist das allerdings schon eher moeglich. Durch ein Reduzierung der Buffersize im Config laesst sich hier einiger Spielraum schaffen. Status: Workaround. * In einem anderen Notify Fall wurde kein PLC Notify erstellt sondern nur an RPLC (Copy2Keeper). Das koennte darauf zurueckzufuehren sein, dass innerhalb des Segments ein "Node not found" enthalten ist, und bei "Node Not Found" auf Net-Level-Ebene nur ein Notify an den PLC erfolgt ... # 17:51:37 SIK copy from: R:\POINTLST\NET2444.UPD # 17:51:37 to: R:\POINTLST\SIK\NET2444.$02 # 17:54:52 Error on R:\POINTLST\NET2444.UPD. >>># 17:54:52 Node 2444/5110 not found on actual nodelist. # 17:55:47 R:\POINTLST\NET2444.UPD corrected. # 17:55:47 R:\POINTLST\NET2444.UPD: plz('s) in cityfield stripped. # 17:55:47 R:\POINTLST\NET2444.UPD: some nodelistflags stripped. # 17:56:07 R:\POINTLST\NET2444.UPD: checked. # 17:56:07 # 17:56:07 Command: text /FR:\POINTLST\NOTIFY\NET2444.UPD /I /MK+ /N10 # 17:56:07 /R244/1120,Ulrich_Schroeter /TStatic_UPDatefile _corrected # 17:56:07 write message 64.MSG # 17:56:07 From : Pointlistkeeper Netz 244 (2:244/1120) # 17:56:07 To : Ulrich Schroeter (2:244/1120) # 17:56:16 Subj : Static UPDatefile corrected # 17:56:16 Date : 5 May 01 17:56:07 # 17:56:16 Flags: Priv Local Del/sent # 17:56:17 remove ntf file: (1) R:\POINTLST\NOTIFY\NET2444.UPD # 17:56:17 Exit with errorlevel 3 Wie vermutet, verhinderte ein "Node not found in Nodelist" Eintrag innerhalb eines Netz-Pointlistsementes den Notify an den PLC. Trotz "Node ##### not found on actual nodelist." erhaelt jetzt der PLC einen notify Status: Fixed. * Wenn dann Notify an PLC erfolgte, entsteht ein Problem bei der Addressierung der 2d-AKA - zurueckzufuehren durch einen _nicht_ 2d-AKA im Systemnamen eines Region-Eintrags. Die meisten PLCs haben hier einen Eintrag wie nachfolgenden: PLK 2483 Bei der Notify-Addressierung fuehrt dies zu "seltsamen" FTN-Addressen, da in der Regionzeile - nicht so wie bei den Boss-Hostzeilen eine 2d-AKA im Systemnamen vorgegeben wird: Beispiel einer "verunglueckten" Addressierung: W2aka: PLK_2483 INTL 2:244/PLK 2483 2:244/1120 Da an mehreren Stellen eine 2d-AKA "gesammelt" wird, wird bei der Auswahl der 2d-AKA bei Region- oder Zone-Level-Test mitunter auch auf andere Quellen zurueckgegriffen. Dies wird durch einen Test auf eine gueltige FTN-AKA vor Generierung einer Mail gesteuert. Status: Fixed. * Region-Level-Test: Meldung: "rejected: Node not found in actual nodelist" PLC existiert nicht (mehr) "PLC aka not found in nodelist". Bislang: ganzes Segment wurde in die Tonne getreten ... Besser: Segment belassen. Korrektur. Fehlermeldung an RPLC. Meldung an RPLC "PLC not found in nodelist" ... ... mit der Massgabe sich mit dem NC des jeweiligen Netzes in Verbindung zu setzen ... Da schon beim Einlesen der Nodelist und des MakeNl.Ctl's Schalter gesetzt werden, ob ein Node in der Nodelist vorhanden ist oder nicht, musste hier das Flag-Haendling fuer Region- und Zone-Level-Support angepasst werden. Jetzt bestand aber wieder das Problem, dass der Notify an einen "Node not found in nodelist" addressiert wurde. Das ist jetzt auch durch Statusflags geregelt, dass Notify bei einem "PLC not found in nodelist" der Notify nur an den RPLC addressiert wird. Gleichzeitig wird ein Notify an den RPLC getriggert, dass ein PLC nicht mehr gelistet ist. Achtung: Erweiterungen im ERRORS.TPL ! COMM524, SUBJ616 Status: Fixed. * Aufgrund vorheriger Fehlermeldung zeigte sich ein generelles Problem zwischen einem Net-Level- und einem Region-Level-Check. Das betrifft alle nachfolgenden UPDCheck "Sonderfunktionen": - Makenl Clean. - Filedate Check. - Entfernen des Segments wenn PLC nicht mehr gelistet ist. Abschalten bei Region- oder Zone-Level-Support !?!? Wie in vorheriger Fehleranalyse bereits aufgezeigt, waere es "besser" das Segment zu belassen wie es ist, und statt dessen einen Notify an den RPLC zu generieren, der auf den Fehlerfall hinweist. Aufgrund dieser Analyse habe ich obige 3 Sonderfunktionen bei aktiviertem Region- oder Zone-Level-Support zwangsweise abgeschaltet. Egal was im Config angegeben wird, wenn Supportlevel Region oder Zone gewaehlt wurde, werden obige 3 Funktionen automatisch deaktiviert! Status: Fixed. * Region oder Net Level Support: Host,31124,2444/1170,Recklinghausen,Oliver_Hermanns,49-2361-109907, ,1,Point#1,Re,Morton_Jonuschat,49-2361-109907,9600, ,3,Point#3,,Martin_Seine,49-2361-109907,9600, ;E ,3,Point#3,FRG,Martin_Seine,49-2361-109907,9600, ;E ^^^^ FRG stuff stripped. Die FRG-Stuff Sonderfunktion loescht auch einen Eintrag, wenn sonst nichts mehr weiter uebrig bleibt als ein leeres Feld ... Besser: nur "FRG" stehen lassen als garnix ... Neu: Wenn die Laenge des City-Feld-Eintrags <= FRG-Stuff-Teststring ist, wird der Test abgebrochen und es erfolgt keine Korrektur. Status: Fixed. i Alle bisherigen Region-Level-spezifischen Fehler habe ich die Fixes nur im Zusammenhang mit Netmail-Notifying getestet. Beim Batch-Processing kann es daher immer noch zu Fehlern kommen, die sich wie einige der oben aufgefuehrten Fehlermeldungen aeussern. 29.4.2001 v1.11-gamma4 * Dateiinfo ^Makros in Receipt-Notifys lieferten als Datum immer nur das aktuellen Datum. Dies resultierte aus der bisherigen Restriktion, dass fuer Receipt- Notifys _nur_ die Makros ^UPDFILE, ^UPDFSHORT, ^FROM, ^SYSOP, ^SNAME, ^UPDCVER, ^UPDCDATE benutzt werden konnten. Ab der Version 1.00 Entwicklung wurden die Notify-Routinen auf "globale" Benutzung umgestellt, so dass auf einmal auch alle anderen Makros potentiell eingesetzt werden konnten. Da aber zum Zeitpunkt des Receipt-Notifys das gerade in Arbeit befindlich UPD noch nicht auf das urspruengliche Filedatum zurueckgesetzt ist, wurde als Dateiinfo jeweils nur das aktuelle Verarbeitungsdatum/Uhrzeit zurueckgeliefert. Das Problem sollte nun dadurch geloest sein, dass das Filedatum vor der Notify-Routine auf das urspruengliche Filedatum zurueckgesetzt wird ... (reported by Franz Zimmer) 21.3.2001 v1.11-gamma3 i Neues Paket nach T2M v1.11 Update geschnuert. + Added T2M HEADERTYPE Fido|Opus|None Support um den unterschiedlichen *.MSG Varianten (Zone/Point, DateWritten/Arrived, None) gerecht zu werden ... 22.2.2001 v1.10-gamma3 i Neues Paket nach T2M v1.10 Update geschnuert. 16.1.2001 v1.10-gamma3 * Ueberarbeitung der Doku, Configs, weil es immer zu Verstaendnis- Problemen bezueglich UPDCheck.Workdir kam. In den Beschreibungen wird jetzt UPDCheck.Masterdir (was aber gleichbedeutend mit .Workdir ist) verwendet. Added PATHS.DOC. (Reported by Joerg Doering, Franz Zimmer) 9.1.2001 v1.10-gamma3 * Wenn der zu benachrichtigenden Node einen 3-teiligen Namen hat, z.B. Christian von Busse, dann wird von ^SNAME "Christian_von" eingesetzt. Fixed Firstname() Routine. a) Ueberpruefung auf mehrere Namensbestandteile z.Bsp. "Hans_Werner_Braun" wird expanded zu "Hans Werner" Ich gehe davon aus, dass Doppel-Nachnamen _immer_ durch Bindestrich verbunden sind ... b) Sonderfaelle "von" und "van" werden erkannt und dem Nachnamen zugeordnet. Ebenso die Beihaengsel: _vor_, _Mc, _De_, _Di_, _V._, _den_, _Le_, _Dal_ und _&_ (Reported by Joerg Doering) 10.12.2000 v1.10-gamma2 * Die in Notifys angegebenen Fileangaben wie Filedate, Filetime und Filesize wurde grundsaetzlich nur von der entsprechenden Datei aus dem UPDCheck.Workdir angegeben. So konnte es zu Unterschieden zwischen den reporteten Fileangaben und den tatsaechlichen Fileinfos eines "frisch" abgelieferten Files kommen. Dies fuehrte auch bei einem fehlerhaft konfiguriertem System, wenn die Arbeitsfiles nicht im konfiguriertem UPD-Workdir abgelegt wurden, das Workdir also ueberhaupt keine UPD-Files enthielt, oder aber wenn das entsprechende File aufgrund der Filedate-Checkroutine bereits geloescht wurde, zu folgender Fehlerausgabe: 14001.UPD . . -1 Fixed. Nun werden die Fileinfos vom jeweils tatsaechlich getestetem File angegeben. (reported by Franz Zimmer) 29.10.2000 v1.10-gamma i Freigabe zur Official Release v1.10-gamma Nachkorrektur einiger Samples, Debug-Points aus Beta-Release entfernt. 18.10.2000 v1.10-beta2 * Fixed ACF Failures Notify und NOTIFY BATCH mode. ACF Notify Commandlines in NOTIFY.BATch wurden ueberschrieben. * Fixed "WRI3LOG error in line 649, undef. _fn4" error unter ACF System, Form ACFAKEFNAM 4. * Fixed "missing Batch footer" or "not updated Netmailverarbeitungs-Semaphore" unter Bedingung: ACF Failure Notify, kein weiteres UPD zum Testen * Fixed: Subroutine zur 1. Informationsermittlung von UPD Segmenten lieferte unsinnige Rueckmeldungen wenn UPD-Segement ; Kommentar- zeilen vor der 1. Hostzeile enthielt. * Fixed: "Error writing target." bei ACF System, Form ACFAKEFNAM 2. * Fixed: Reset der laufenden Nr. unter ACF System, Form ACFAKEFNAM 4 nach Tageswechsel. 17.10.2000 v1.10-alpha6 + Add Notifys fuer ACF Failures - Notify an Boss/PLC wenn Sysopname zwischen UPD-File + NDL differiert - Notify an Boss/PLC wenn Dupe Upload (2. Versuch) - Notify an PLC wenn Node not in Nodelist - Notify an PLC wenn Node no longer in Nodelist x1) x1) Fall kann vorkommen, wenn eine "alte" abgemeldete Nodenummer neu vergeben wird und der neue Bossnode versucht sich eine Fakenet-Nr. neu generieren zu lassen. => Fix: manuell in Makenl.Ctl eintragen. Meldungen und Subject sind im ERRORS.TPL abgelegt. * Modified ERRORS.TPL handling. Zur schnelleren Bearbeitung von Nachrichten wird das gesamte ERRORS.TPL waehrend der Initialisierung in eine "interne" Database konvertiert (Laufzeit <= 4 sec.), so dass waehrend den Check- und Notify-Routinen mit Indizierungen gearbeitet werden kann, die einen schnelleren Zugriff auf den Inhalt erlauben. * Bei Netmail-Generierung mit Subject-Zeilen > 58 Zeichen gab es einen Deadlock beim Commandline-Logging (Logginglevel > 4) Fixed. (found by U.Schroeter) 16.10.2000 v1.10-beta1 * Fixed: neues Faketrigger File mit unterschiedlichen Sonderfaellen a) falsches Faketrigger b) Sysopname different c) Node not found in Nodelist d) Node no longer in Nodelist e) Boss hat bereits Fakenet erhalten (2. Versuch) Das Faketrigger File wird ins BAD Verzeichnis verschoben. Fehlerbedingung wird ins Logfile geschrieben. 15.10.2000 v1.10-beta1 i Freigabe zur v1.10-beta1. Templates: added: acf.tpl changed: errors.tpl, ntf_f_n.tpl Samplcfg: Netmail1 changed: upde1nm.cfg Netmail2 changed: upde2nm.cfg, actn2nm.inc Batch1 changed: upde1__.cfg, upde1_m.cfg, upde1n_.cfg, upde1nm.cfg Batch2 changed: upde2__.cfg, upde2_m.cfg, upde2n_.cfg, upde2nm.cfg, actn2nm.inc 15.10.2000 v1.01-alpha5 + Add Parameter: ADDAUTODELLINE im Zusammenhang mit NOTIFY BATCH. Alle Notify-Texte mussten bislang entweder per Batch-Footer Script oder per UPDCheck-Handlings-Routine geloescht werden. Da mit den ganzen zusaetzlichen Funktionen (Check UPDCheck.inbound + Check UPDCheck.workdir, Makenl.Clean.Notify, Nodelist.To.Old.Notify, ACF-System) die Notify-Filenames nicht mehr nur den Namen des UPDFiles annehmen koennen, wird ein "automatisches" Loeschen der Files zur Sysiphus Arbeit, insbesondere da durch die Funktion Notify-New-Bossnode auch ein UPD-Segment als FileAttach versand werden kann, dass im Notify-Path abgelegt wird (Vorsicht: globales Loeschen des Notify-Paths loescht auch das zu versendende Attach-File!!!) Mit dem Parameter ADDAUTODELLINE werden nun die Zeilen zum Loeschen des entsprechenden Notifyfiles automatisch in die Batch eingetragen. Bsp.: T2M send /FD:\PROJECTS\UPDCHCK\101\TEST\NOTIFY\14054.UPD /MD+E+ /N10 /R244/1210,Holger_Quander /TD:\PROJECTS\UPDCHCK\101\TEST\NOTIFY\14054.001 T2M send /FD:\PROJECTS\UPDCHCK\101\TEST\NOTIFY\14054.UPD /MD+E+ /N10 /R244/1120,Ulrich_Schroeter /TD:\PROJECTS\UPDCHCK\101\TEST\NOTIFY\14054.001 del D:\PROJECTS\UPDCHCK\101\TEST\NOTIFY\14054.001 ... + Added AutoCreate Missing Directorys Diese Funktion ist _nicht_ konfigurierbar! Verzeichnisse, die zwar konfiguriert sind, die aber nicht angelegt sind, werden bei der Programminitialisierung automatisch angelegt. Anders wenn Verzeichnisse nicht konfiguriert sind - da erhaelt der PLC eine Mitteilung am Bildschirm und das Programm endet mit einem entsprechenden Errorlevel. (Grundidee by Franz Zimmer) 14.10.2000 v1.01-alpha4 * Fixed ACF System: Beim Loeschen des Infotexts wurde stattdessen das umbenannten UPD-Segments nach Netmailnotify geloescht. * Fixed ACF System: Nach Aenderungen der FAKERANGE wurde trotzdem noch Fakenets aus der "alten" Konfiguration vergeben. * Fixed: Memory Overflow Probleme bei Aktuallisierung der Nodelist. 12.10.2000 v1.01-alpha4 + Added "Notify to New Bossnode" fuer ACF Routine Updated ERRORS.TPL. Neue Parameter: BATCHACF ACFINFOTEXT Um das umbenannte Updatesegment des neugebackenen Bossnodes mit einer Nachricht diesem Zusenden zu koennen, muss das Segment mitunter Direct versendet werden. Auch die Versand-Art aendert sich von "Post Message" zu "Send Message with Attach". Aus diesem Grund wurde ein neuer Zeilenaufruf fuer die Erstellung der Mail notwendig, was unter obigem Parameter definiert werden kann. Fuer den BATCHACF Aufruf kann ein zusaetzliches Macro ^MESSAGE benutzt werden, um das Update-Segment und den Messagetext zu unterscheiden. Eine Kopie des zu versendenden Update-Segments wird im NOTIFYPATH abgelegt. Bei der Konfiguration muss darauf geachtet werden, dass bei der Versendung des Files das Message-Attribut DeleteFileIfSent aktiviert ist. Fuer den Nachrichtentext kann ein Template-Files benutzt werden, das unter dem Parameter ACFINFOTEXT angegeben werden muss. (ausfuehrliche Infos: siehe Doku). 11.10.2000 v1.01-alpha4 + Added Auto Create Fake (ACF) Routines. Mittels vordefiniertem Filenamen und vordefiniertem Fakenet kann ein frisch gebackener neuer Bossnode beim PLC eine AutoCreateFakenet Funktion triggern. Mit Hilfe der 2d-Boss-Aka im Upd-Segment wird ein Nodelist- Check durchgefuehrt, ob der neue Bossnode ueberhaupt gelistet ist (Abgleich durch 2d-AKA und Sysopnamen). Aus einer vorzugebenden Fakenet-Range wird dann automatisch eine freie Fakenet-Nummer rausgesucht. Mit vordefinierbaren AutoCreate-Filename-Forms ie. .UPD, <###>.UPD, <###>.UPD, <####>.UPD, <##>.UPD wird dann fuer einen MakeNl.Ctl Eintrag ein Filename kreiert. Das mittels Filename-Trigger zugeschickte File wird umbenannt und die Fakenetnummer korrigiert und das Segment dann gleich in den Check mit eingebunden. Add new Parameters: ACFAKENET ACFAKERANGE ACFAKETRIGGER ACFAKEFNAM <0..4> ACFILETRIGGER (Idee by Alto Speckhardt) 8.10.2000 v1.01-beta1 + Added Config Errors Display "Fehler in der Konfiguration, wie fehlende oder nicht gefundene Directories oder Files sollten prinzipiell nicht nur als Errorlevel sondern immer auch auf dem Bildschirm gemeldet werden. Das fehlt z.B. bei Errorlevel 6 und ist auch im Logfile nicht nachlesbar." In diesem Zusammenhang hat sich die Liste der Errorlevels um 5 erhoeht. (Reported by Franz Zimmer) * Fixed Nodelistflags-Strip Routine im Zusammenhang mit aktiviertem SNDLF_EXCL. ,2,/nul/dev_No.2,Mahlow,Sascha_Beutler,49-3379-379243,9600,MO ;E ,2,/nul/dev_No.2,Mahlow,Sascha_Beutler,49-3379-379243,9600,MO ;E one or more nodelistflag(s) stripped. ^ (Reported by Franz Zimmer) + Erweiterung der DayCheck Routine. Bei aktiviertem DayCheck fuer Nodelisten (>0) wird die gewaehlte Nodelist auf Alter geprueft. Auch wenn der Nodelistindex nur noch eingelesen wird findet ein erneuter DayCheck statt. Bei Ueberschreitung der Hoechst-Differenz (Anzahl Tagen) wird die Verarbeitung mit Errorlevel 7 beendet (NDL Indizes DayCheck). Zusaetzlicher Report (Batch/Netmail) an PLC kann mit dem Parameter OOD_NDL_NOTIFY (Outdated Nodelist Notify) aktiviert werden. Ein kurzer Nachrichtentext kann im ERRORS.TPL unter dem Label COMM517 geschrieben werden. Infos zur Nodelist koennen mit den ^UPDFILE Makros in den Text expandiert werden. Updated ERRORS.TPL! (Reported by Alto Speckhardt) 5.10.2000 v1.00 i Freigabe zur Official Revision v1.00 i Wird gleichfalls P24CVRT eingesetzt muss auch P24CVRT upgedatet werden (rev 2.60). 2.10.2000 v1.00-beta2 i Freigabe zur Revision v1.00-beta2 2.10.2000 v1.00-alpha6 + Erweiterung der Unterstuetzung zu P24CVRT unter Beruecksichtigung der minimalen notwendigen Informationen aus der Nodelist, ist fuer den gemeinsamen Nodelistindex-Support von P24CVRT und UPDCHECK der Nodelist-Index-Level "A" notwendig. Nodelist-Index-Level "A" wird unterstuetzt von UPDCheck >= v1.00 und P24CVRT >= v2.60. In diesem Zusammenhang ist ein neuer Parameter hinzugekommen: POINTLISTNET. PointlistNET ist als Parameter notwendig in P24CVRT UND UPDCHECK wenn UPDCHECK zum Testen von Boss-Pointlistsegments verwendet wird. PointlistNET enthaelt die Netznummer der zu testenden Boss-Pointlistsegmente. Hat ein PLC mehrere Real-Netze zu betreuen, muss hier "*" definiert werden, damit alle Informationen fuer alle relevanten Netze mit aus der Nodelist extrahiert werden koennen. 1.10.2000 v1.00-beta1 i Dokumentation, Beispiele, Configs komplett ueberarbeitet. i Nach letzter Ueberpruefung einer Reihe von "alten" Fehlerfaellen Freigabe zur Revision v1.00-beta1 30.9.2000 v1.00-alpha4 * case "Host Only Line" wurde nach Optimierung nicht mehr richtig verarbeitet. Fixed. 29.9.2000 v1.00-alpha4 + Ueberarbeitung der Index Behandlungsroutinen unter Beruecksichtung des Einsatz eines _anderen_ Programms (P24CVRT), das auch den Nodelist Index aktuallisieren kann. Selbst wenn P24CVRT als erstes Programm den Nodelistindex aktuallisiert wird dies in UPDCheck fuer die MakeNl Clean Routine erkannt. Ebenso fuer ein erneutes ReCheck der Update Segmente im UPDWORKDIR Pfad. Wird eine "externe" Nodelistindexaktuallisierung erkannt wird der UPDWORKDIR ReCheck und die MakeNl Clean Routine nach dem naechsten Start von UPDCHECK durchlaufen. * MAKENLCLEAN Notify wurde zwar immer ausgefuehrt, aber nur wenn der Nodelistindex neu aufgebaut wurde, wurde auch ein Notify an den PLC geschrieben. Fixed: wenn aufgrund eines neuen Nodelistindex eine Aenderung des MAKENL.CTL wirksam wird und beim naechsten UPDCheck Lauf erkannt wird und ein Notify erfolgt, wird dies auch geschrieben. - removed Support "-Unpublished- zulaessig fuer sowohl Pvt als auch Hold und Down" => Not FTS-5000 conform! Da kann ich nurmehr auf die eindeutige FTS-5000 Passage verweisen, die eindeutig _NUR_ das "Pvt" Keyword, nicht aber die Keywords "Hold" und "Down" zulaesst: .... Auszug aus FTS-5000 .......................................... Field 6 - Phone number [...] Alternatively, this field may contain the notation -Unpublished- in the case of a private node. In this case, the keyword "Pvt" must appear on the line. ................................................................... 28.9.2000 v1.00-alpha3 i Komplettueberarbeitung Sample CFGs und Batches Komplettueberarbeitung Doku 26.9.2000 v1.00-alpha3 + Add NMSEMAP Parameter in Config. Nach UPDCheck mit Netmail Notify, create Semaphore (Cfg Parameter NMSEMAP ) zum Start Netmailverarbeitung/Export. + Additional Log Infos by File Copy/Move/Rename (Loglevel >3, >4) * Fix: Logging Problem in Pre-Check Phase * Fix: NM Notifys missing. case: UPDIN check only. War Errorlevel Problem. Fuer UPDCheck Ausstieg wird Errorlevel bereits _vor_ Netmailerstellung gesetzt. Ebenso werden Konfigurationsfehler im Zusammenhang mit Netmailerstellung mit Errorlevel abgefangen. * Fix: ",Host" case Fehlermeldung. Fehlerhafte Zeile wurde bereits "korrigiert" als Fehlerzeile gemeldet. + Add: case "Boss AKA Error" Boss hat mit AKA 1 Pointlistensegment "beantragt" und liefert nun mit AKA 2 im Pointlistensegment ab. AKA wird korrigiert, aber Fehlermeldung wird an Absender generiert. * Fix: Aufgrund des zusaetzlichen Pre-Checks wurden im Fall "field too much in Hostline" die Felder nach dem zusaetzlichen Feld falsch ausgelesen. Der Fall wird zwar zu einem spaeteren Zeitpunkt erkannt, fuer die Notify-Informationen liegen aber bereits "falsche" Angaben vor (i.e. Ortsname statt Sysopname). -> Nachtraegliche Korrektur. * Fix Errflags Routine: Valid Userflags ohne "U" werden nicht mehr abgelehnt sondern korrigiert (verhaelt sich jetzt wie bis v0.52). * Fix STRIP_NFLAGS nach Umstellung auf ERRFLAGS Routine. Der Parameter SNDLF_EXCL funktioniert nun in der althergebrachten Weise. Beim Nodelistflags-Stripping werden _alle_ Flags ausser den mit dem Parameter SNDLF_EXCL angegebenen aus Pointzeilen, die die selbe Rufnummer wie der Bossnode haben entfernt. 25.9.2000 v1.00-alpha2 * Fix case: NDL OFF, MAKENL ON i Tested case: NDL OFF, MAKENL OFF 23.9.2000 v1.00-alpha2 * Fix case: NDL ON, MAKENL OFF + add Makro ^AKA fuer Template Files. (UPDFile "soundso" rejected. -> welche Nodenr.?) 22.9.2000 v1.00-alpha2 i Tests wieder aufgenommen. * Fix in Dupeflags Erkennungs Routine. 9.9.2000 v1.00-alpha2 * Modifizierte Anzeige fuer "Processing UPD Files" um der mehrstufigen Verarbeitung und der mehrfachen Verzeichnis-Abarbeitung (Inbound und/oder Workdir) gerecht zu werden. testing scans fakes/files to test precheck precheck of files to test (filedate, crc, ... ) i/w: proc # full check of selected i(nbound) or w(orkdir) file 8.9.2000 v1.00-alpha2 + Add MAKENL.CTL Clean Function Nach "removed Bossnodes from Nodelist" automatisch Eintraege aus MAKENL.CTL entfernen lassen ... Entfernung der Eintraege wird mittels ; (Auskommentierung) vorgenommen. Neue Parameter: MAKENLCLEAN MKNLCLNTEXT