Support is offered in two conferences at present, these being N.SUP.AUTOMAGIC in NeST, and T_NETDEV in TurboNet. The program is distributed in EST_NETWARE, and beta releases go through the beta chain echo AM_BETA. I can be contacted by email to David J. Thomas at 2:442/600@fidonet.org, 90:103/103@nest.ftn, 100:104/0@turbonet.ftn, or as davtom@dream.embassy.co.uk. My address for paper mail is currently 56 Forrest Road, CARDIFF, CF5 1HQ, UK until October/November 1994. In most cases, the support echo should be used in preference to contacting me privately, since this will allow other people to reply as well, and may facilitate a quicker reply. The version of MakeDiff that I publish is always obtainable via file request for 'MAKEDIFF' from my board. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. The document explains the terms and conditions under which you may use and distribute this package. ------------------------------------------------------------------------------- +--- 11 Aug 1994 -- Version 1.15 - 100307 bytes | -- Use of the GNU General Public License |This is the first release of MakeDiff under the terms of the GNU General |Public License. In order to facilitate this, a few changes have been made: | (a) Keys are no longer required for use of the program. The key detection | code has therefore been removed, and this appears to have shaved 6k from | the object code! | (b) The source is of course being distributed along with the program. | -- Improvement |New CRC routines have been installed. These have been written in machine code, |so I hope that they will offer some speed improvement over the older, BASIC |version. I checked the output with an older version before 'going to press.' +--- 26 Feb 1994 -- Version 1.14 - 106282 bytes | -- IMPORTANT!!! New keys required |Everybody must have a new key for MakeDiff before they can run this program, |these will be supplied by myself or Al Petersen to you. I cannot send to |everybody in a night, so please have patience. For now there is little change |from version 1.13, so you can run that version until you receive a new key. |Note that the key for MakeDiff is _not_ the same as that for AutoFile. |You should add into your control file(s) your name as Name as you |specified when you registered, and your key as Key . Both are case |insensitive. | -- Bug (Al Petersen) |There was a problem with the date (viz. it was coming up as Sat Jan 36, 1994) |in version 1.121, I suspect that the correction in 1.13 took care of this |since I could not reproduce the bug. | -- Change |The ^PID line in netmails isn't required and has been removed. Also the |registration number is not quoted in this release. (Everyone will have new |numbers soon.) +--- 3 Jan 1994 -- Version 1.13 - 108353 bytes | -- Bug (Ben Van Bokkem, Daron Brewood) |The 'day-of-the-year' numbers went haywire in earlier versions! I think they |are OK now. +--- 5 Oct 1993 -- Version 1.121 - 112445 bytes | -- Bug (Ben Van Bokkem) |A slight problem with the key validation code was corrected. +--- 4 Oct 1993 -- Version 1.12 - 112438 bytes |This release needs ALL keys issued with serial numbers from 1000 onwards to be |updated. Please do not install this version of MakeDiff if you have not |received an updated key, but instead, contact the support board. | -- Change |MakeDiff now searches through the netmail base at a much faster rate. (Take |note for TMail, Ben -- that's what I mean by SPEED ) +--- 1 Mar 1993 -- Version 1.11 - 109672 bytes | -- Bug (Mick Coleman) |Problem with detecting the screen length in columns, which caused the program |to go into an infinite loop, should now be resolved. | -- Bug |The logging routines were slightly problemmatic. They should be all right now, |and the entire entry of each log should now be displayed, even if it exceeds |the screen width. Hopefully this change will solve Mick's problem. | -- Bug (Mark Butler) |Problem with importing the nodelist segments of hubs, these were regarded as |not being of a net/region/zone and the whole segment was chucked out. | -- New feature |If MakeDiff is invoked with the parameter -R, then it will send a report to |your nodes listing their node number, node name, location, etc as listed in |your (or your hub's) segment. The reports use the same netmail priority as |ConfRec (but if "None" is specified for ConfRec then the netmails are given |Hold status). This reporting stops when either the zone number or net number |changes. This option is not available for hubs. It is intended for use by |coordinators at regular intervals, for example maybe twice or three times a |year. Certainly not for everyday use, otherwise you might annoy your |downlinks! |When using this mode, any new segments will be imported, but no other |processing will occur. +--- 8 Oct 1992 -- Version 1.10 (general release) | -- New feature |I am completely fed up with the lack of shareware registrations received for |this program. Therefore, it now REQUIRES a key. I will personally send out |full keys that are purchased. If somebody wants a demo key, it will function |for 28 days only and is available by using AMKEYREQ, the AutoMagiKey Request |program. |People that have already registered must rename MAKEDIFF.KEY or AUTOMATI.KEY |to AUTOMAGI.KEY before this, and future releases of MakeDiff, will function. |I have removed the time delay that used to be present, since I hope that |people will now register this product. If they don't, then it can always be |re-enabled. +--- 3 Oct 1992 -- Version 1.092 (restricted release) | -- Bug |Program failed if the control file did not exist. | -- Bug |If NoLog was used, the bar was still displayed at the beginning. Why does |nobody tell me these things?... | -- New feature |AutoFilePath allows you to designate where the HATCH file |will be written. | -- Bug |%Y and %D options were not working properly. | -- Bug |If logging a line that was more than 69 characters, the program failed. Now it |reads the width of the screen at startup, and this means that you can now even |run the program in low resolution ;-) | -- Bug |If more than one % parameter was included in AutoFile or AutoDiff then the |description was truncated on the left hand side. | -- Bug (Ben Van Bokkem) |More than one space in the descriptions were converted to one. Underscores |(_) will be replaced with spaces now. +--- 29 Sep 1992 -- Version 1.091 (restricted release) | -- Update on Bug (Daron Brewood) of Version 1.09 |The error wouldn't have occurred if the Bink parameter was not used in the |control file. I would like to remind you all NOT to use Bink or The-Box if |Submit isn't used, in your control file. Anyway, if you don't remember, the |program will now remind you. | -- Change |I've made the logging consistent. Some log lines which weren't very important |were being given a higher priority than more important ones. Of course this |matter is subjective, but I think that it's pretty good now. For a pretty full |report of what's happening, use at least LogLevel 4. | -- New feature for AutoFile 0.08 or later |In conjunction with AutoFile, it is now possible to have files automatically |sent into file echoes. Whilst this could have been done before with the |AutoSend parameter in AutoFile, this only allowed for a fixed description |(unless you change it each week). This doesn't look too good! So... |The new parameters are: |AutoFile |and |AutoDiff |Translations used in the field are as follows: |%D - Current Day number of the month (1-31) |%I - Nodelist Issue number |%J - Julian Day number (001-366) |%M - Current Month (January, February etc) |%Y - Current Year (e.g. 1992) |%% - % |If producing anything other than a Distribution, just use AutoFile and the |file that would normally be submitted will be placed in the echo; else if |producing a Distribution, the archived file (or the normal file if archives |are not being produced) will be sent in the AutoFile area, and the difference |file will only be sent in AutoDiff if AutoDiff is specified. |This can only work with AutoFile because the program produces a file HATCH |which AutoFile reads. At present, AutoFile hasn't been released to the general |public, so please contact me for details of the program. +--- 11 Sep 1992 -- Version 1.09 (restricted release) | -- Bug (Joerg Spilker) |After program exit, screen length was set to 25 lines whatever screen size was |being used. MakeDiff will now use the entire screen no matter what the size of |it (i.e. you could be using a Moniterm monitor), and restore it correctly at |the end, assuming that the Line-A variable table is correctly set up. If you |do experience any problems, include the "NoBar" control in your control file, |and contact me, because I lack the facilities to debug this. | -- Bug (Daron Brewood) |If attempting to use the default outbound directory in BinkleyTerm mode, the |program was creating another directory with the same name, and an extension |.000. The program currently looks for the outbound directory with an extension |of the hex zone number specified in the Submit statement (if specified), and |if this exists then this will be used, in BinkleyTerm mode; otherwise it looks |for the outbound directory specified. If this doesn't exist then it will be |created. +--- 29 Aug 1992 -- Version 1.08 | -- Bug (Ben Van Bokkem) |The first line of a segment was being replaced by the program, and as a |result, MakeDiff was reporting a fatal error. | -- Bug |Copyright, Head and Tail no longer work with anything but a distribution. I |was intending for the three files to be used to write comments into the |segment update for inclusion in the log of your coordinator, but this seems |to have caused a lot of hassle, and if you want to inform your coordinator of |anything then this is easily done in netmail. | -- New feature |In case you use environment variables to specify default directories for |operations by archivers, any environment specified will now be sent to any |program launched by MakeDiff. | -- Bug |Ordinary segments were being treated as erroneous where the entire name was |not in upper case. +--- 26 Aug 1992 -- Version 1.07 | -- Bug |A few certain types of error were not getting eliminated properly with the |previous version. | -- New feature |You can include the control NoBar if you don't want the E..F type bar at the |bottom of the screen to appear, could speed things up and stops the Line A |parameters being interfered with. | -- New feature |The program checks for lo-rez at startup, and requests a change to an 80- |column mode if lo-rez is being used when MakeDiff is called. | -- New feature |The automated error update full file request has been extended to request a |new file in the report netmail sent to indicate an error, now if any errors |occur which haven't previously been trapped then the file will be resent by |the "bad" node automatically. Note that if this was a password error then a |feedback loop will occur, so you should check the log report for problems of |this sort if you use passwords. | -- Bug |When copying a file to the bad files directory, the file was deleted before it |was moved. Also an incorrect filename was passed to the function during the |processing of generic filenames. | -- New feature |When using a mailer, if a list of files to send to the submit node is present, |the program will now check through them to see that the file isn't already |waiting to go out; if it is, then it will not add the filename to the list |again, since it's already there, thus preventing a duplication. | -- New feature |It is now mandatory that networks who include more than one entry for a Type |of the same hierarchy, specify EqualHier in their control files. This option |is designed for TurboNet, which sometimes has many nets in the same Type Net |segment, for example. It should be disabled for "proper" operation, otherwise |a fatal error will occur upon every program execution. | -- New feature |It is now mandatory that the network level be specified in the control file, |e.g. "Type NET4001 90:4001/0" should be changed to "Type NET4001 90:4001/0 |N4001". This is now part of the final error-checking routine. An option is |that a password can now be placed on the line, if this is done then it must be |at the end of the line, and preceded by !, e.g. "Type REGION1 R1 !PASSWORD". |This is not case sensitive, but should only contain letters and/or numbers. It |should not be included in the case of reading a pure data file (the * |parameter) where someone is using a text editor, and for some reason cannot |run MakeDiff; it also should not be used if the remote uses software that |doesn't support passwords, e.g. versions of MakeDiff below 1.07. | -- New feature |Correspondingly with the above, it is now possible to specify "Password" to |indicate the password used by yourself and your coordinator; in this case, the |exclamation mark should NOT be included. (This does not apply in the case of a |distribution nodelist.) | -- Bug |Error lines written by non-local nodes were not included in the output. | -- New feature |Automatic error update full file request is now completely implemented. If a |netmail from MakeDiff to Coordinator with a subject line of "Request for X" |exists, where X is the name of your segment (e.g. REGION10), which has the |origin address of your "Submit" and the destination address of your "Address" |then this will be deleted, and a full file or an archive file (NOT a |difference file) will be submitted immediately. If more than one netmail |exists that fulfills the above conditions, they will all be deleted. If test |mode would normally be invoked, an override will occur and process mode will |automatically be initiated, unless test mode has been forced from the command |line. | -- New feature |If specified directories don't exist, these are created by MakeDiff. If |specified drives don't exist, MakeDiff will issue an error report. Previously |the program would just exit with errorlevel 254, not giving any hint as to the |reason why. | -- Bug (John Carolin) |The MaxLine statement was not being read, instead "MaxList" was being read. |To avoid confusion, the new version accepts both verbs. | -- Bug (John Carolin) |Apparently The-Box's equivalent of FLO files are named *.HF and *.IF, not |*.CF, *.NF and *.WF like the guy originally told me! This error is now |hopefully corrected.. !! +--- 20 Aug 1992 -- Version 1.06 | -- Problem |As it stood, MakeDiff 1.05b did not run on 1 megabyte systems, or smaller, |without a MaxLine control existing in the control file. Therefore I have |decreased the default to 5,000, which requires about 130Kb of data space. I |have also done away with one of the arrays, since it is no longer needed. | -- Bug (Ben Van Bokkem) |Various comment lines from the Tail, and possibly other, files included |verbatim were not added. +--- 18 Aug 1992 -- Version 1.05b | -- Bug (Ben Van Bokkem) |File copying was again causing problems, I have resorted to a method much more |similar to the original one where files are loaded into an array. The program |does not attempt to copy any binary files, so I don't expect any problems with |this method. The "CopySpace" parameter is once again removed. | -- Bug |The latest segment was not always selected, and the correct segments were not |always deleted (anything in Update when in process mode, plus any file 2 weeks |old in Master). | -- New feature |You can now specify a "MaxLine" control, where you can indicate the maximum |number of lines that can be processed by MakeDiff. This is limited to 32,768. |That is also the default; if you have memory problems then try and reduce this |amount. The program will now cope very well with files the size of FidoNet |nodelists on a 4 meg machine; I cannot vouch for the performance of the |program on smaller platforms. +--- 16 Aug 1992 -- Version 1.05a (not released through the file echo) | -- Bug |Various problems with Malloc and RESERVE prevented the manufacture of |difference files in the previous version. | -- Bug |The program was attempting to validate a subset, which of course is completely |unnecessary. This was preventing proper execution. The problem is now fixed. +--- 15 Aug 1992 -- Version 1.05 | -- New feature (John Carolin) |The program now uses the upper 24 lines of the screen for logging purposes, |and the remaining line is kept for the indicator, now. This has been |graphically done now, although the program is still a .TOS and does not use |GEM (except that the compiler may issue an appl_init() and appl_exit(); if |this occurs then GEM doesn't seem to mind). | -- New feature |It is now possible to control the priority at which requests for non-existent |files are written, with the control "ConfNoSeg"; this has the same syntax as |that of ConfError and ConfRec. This defaults to the same as ConfRec. Also the |program now checks for existence of all files in test mode. | -- New feature |The CopySpace control has now been reinstated. | -- New feature |It is now possible to control the allocation of private nodes. You should |modify your config as follows: |If you don't wish to allow your segment, nor any segments written below you, |to have any private nodes, add the keyword "NoPrivate" to your file. |If you wish to allow complete access to private nodes in your segment and all |segments written below you, leave your control file as it is. |If you want to keep only those Private nodes that have been authorised by |yourself, add "Private zone:net/node [zone:net/node [zone:net/node [...]]]" |into the control file, and only those nodes which have been allowed Private |status by yourself will be kept in the nodelist; the others will have a line |stating "Unauthorised private node" and be commented out. Of course, you |should ensure that all coordinators above yourself also allow the private |node. |I personally recommend the following: |1) If a network is completely "open" with regard to assignment of private node |numbers, obviously nobody should use the "Private" or "NoPrivate" controls. |2) If a network allows authorised private nodes only, the following should be |taken as a guide: | a. If you are a *C who is required to validate Private nodes, you use the | "Private" or "NoPrivate" keyword, whichever is appropriate. | b. If you are not required to validate Private nodes, you allow all Private | nodes through into your own listing, and don't use either keyword. | -- Bug (Ben Van Bokkem) |The program would not report certain errors in the local segment when running |in test mode. +--- 10 Aug 1992 -- Version 1.04 (restricted release) | -- Bug (Daron Brewood) |Report netmail indicating any errors in received segments was empty. | -- New feature |Where a file has been processed correctly, the confirmation netmail produced |by MakeDiff is now considerably shorter. Various changes have been made to |MakeDiff's output to facilitate a change in the future where MakeDiff will be |able to communicate with other copies of itself to inform them of errors, and |this will mean even less for the human operator to do. | -- New feature (Ben Van Bokkem) |There is not much point in having two copies of the same file hanging around, |which will have been the case if you produce a distribution up until now; |these being the file produced in the Master folder, and the file produced in |the Nodelist folder. MakeDiff will now create the file in the Nodelist |directory only, if the "Nodelist" control is used and a Distribution nodelist |is being maintained. | -- Sort of a bug (Ben Van Bokkem) |If MakeDiff errored out when creating a nodelist, the files from the Update |directory were moved to the Master directory. Those with generic filenames |given the extension of the next nodelist date. The program now checks for |these before those files bearing the extension of the last nodelist date |first, in the Master folder, thus preventing data loss from two successive |faulty runs of MakeDiff. | -- New feature |MakeDiff will now request an update file from a coordinator if a segment from |that coordinator doesn't exist at the system, this is sent with the same |priority as error report netmails, and occurs in Process mode. | -- New feature |Subject line of confirmation netmail now takes the form "FILE.EXT received - |OK" or "FILE.EXT received - ERROR", indicating the status of the received file |quickly to anyone using the LED List option. | -- Bug |Whilst trying to compile the difference file between REGION25.213 and |REGION25.220 I found that MakeDiff simply froze up with it's infamous |continuous placement of the C0 diff line, I think I've finally got the |difference file creation routine right! If it can do parts of the FidoNet |nodelist well then I am pretty confident that it's in working order. | -- Change |When "Bink" or "The-Box" is specified in the control file, the netmail written |by previous versions of MakeDiff is no longer written, because there is no |longer any need for this to be done. This means that the exporter need not be |run after sending a file, and the errorlevel will of course be set accordingly |upon program exit. | -- Change |"Arc" and "SendArc" controls are doubled now with "Unpack" and "Pack" |respectively, I think these are more descriptive and the control file will be |easier to understand. "Arc" and "SendArc" are retained for backward |compatibility for now; please change your control files to list the new |parameter. | -- Change |"SendDay" keyword dropped. This was supported for backward compatibility only, |as early versions of MakeDiff used the parameter. | -- Bug (Ben Van Bokkem) |It seems that GEMDOS does not like excessive use of the Malloc() and Mfree() |statements. Either that, or GfA Basic tries to grab more RAM than is |available sometimes. It caused a general GEMDOS error. |CopySpace is now deleted. File buffering still exists, but now a fixed buffer |of 32,000 bytes is allocated whenever there is a need to do a file copy |operation. The program is now, once again, totally devoid of Malloc() and |Mfree() system calls. | -- Bug |When creating an archive of a nodelist but not creating a difference file, the |program always reported "No archiver specified" even when an archiver was |specified; this was not a problem because the archiver would still be called, |but the misleading error message has been removed now. | -- Bug |The routine to change directory had a small bug that prevented proper access |to a different partition. +--- 6 Aug 1992 -- Version 1.03 (restricted release) | -- New feature |A new keyword, NoCheck, will suppress the full | -- New feature (John Carolin) |It is now possible to specify a BinkleyTerm or The-Box setup for mail |processors that do not correctly interpret the "With File" flag in a netmail, |this will cause MakeDiff to write a .?LO file for BinkleyTerm systems or a .?F |file for The-Box systems, where the name of the outbound file will be placed. |To use this, the Hold directory must be defined (note that this should be the |stub for BinkleyTerm setups, as it is placed in BINKLEY.CFG, MakeDiff will |choose the correct outbound directory) and must be different from the Master |directory. This method does have the advantage that any archive or difference |file produced will be deleted by the mailer after it has been sent, but if you |send your updates Crash then you must run the exporter after MakeDiff (if it |exits with the errorlevel reporting that netmail was written) to send the |netmail immediately, otherwise an additional crash mail packet will be sent by |the exporter when it next runs. |You must specify the keyword "Bink" for BinkleyTerm systems, or "The-Box" for |The-Box systems. Note that MakeDiff uses the older 3D packet naming |convention in BinkleyTerm. | -- Bug |The program treated all nodes with the "\" character (backslash) in their |system name, location, and/or sysop name fields as being erroneous due to an |exclusion of the character in the checking algorithm, this has now been |rectified. | -- New feature |If a Master path is missing, it will be defined as being the current path, |instead of an error reported. This now works as per the documentation. | -- Bug |When there was (at least) one problem with the control file, the program would |go into an endless loop due to a file already open error. I seem to have fixed |this, but I don't know how I did it! If it recurs, please let me know. | -- New feature |The cursor is now turned on by the program. +--- 5 Aug 1992 -- Version 1.02 | -- Major Improvement |The file reader has been given a six-fold boost in speed. This should speed |things along quite a bit! One side-effect, though, is that files must not |finish in the middle of a line, except that the program will recognise a ^Z |(hex 1A) and stop reading a file, as long as it's at the very start of a |line. If you want to blame someone for that, blame the programmer of GfA |Basic! |The advantage in vast increase of speed outweighs the disadvantages brought |on by slightly decreased reliability in my view. As long as MakeDiff is used |throughout, there should be no problems. | -- New feature |I've added various time indicators at various boring points in the program. |Whereas before you could be bored off to sleep watching a still screen, now |you can be bored off to sleep watching # and = signs going about the screen! |What amazing new stuff is in this release! | -- New feature |MakeDiff is now not only useful to coordinators, but is now interesting and |useful to all with a copy of a nodelist! It can take as input certain parts of |a nodelist, rather than a fixed segment made from within a text editor, and |can produce a new nodelist that is a subset of the nodelist it was produced |from. This is rather interesting, and it's worth spending some time over. The |control statement that designates this type of operation has the following |format: |Subset |For example, to produce a Zone 2 Region 25 "local" FidoNet nodelist (featuring |mainly UK nodes) on my system I would use the following command: |Subset D:\NL\NODELIST R2:25 |This would produce a nodelist as follows: |;A FidoNet Nodelist for Friday, 31 July, 1992 -- Day number 213 : 12345 |;A This is a subset of the FidoNet Nodelist which contains: |;A - Region 2 of Zone 25 |;A |;A The FidoNet(r) Nodelist... |This would then contain the first "Zone 2" line, a separator, and all lines |from the "Region,25," line to the first line before the next "Region," line. |The nodelist produced would be followed by the end of nodelist comments. |The field can contain any number and combination of |the following: |Z - Zone number and all it's regions and nets |R: - Region number in Zone and all it's nets | (a Zone entry will be included before the region) |N: - Net number in Zone (a Zone and a Region entry | will be included before the net) |It would even be possible to use the following statement: |Subset NL\TNETLIST Z 100 R 101:13 N 101:163 N 101:164 Z 102 R 101:10 |Also note that the above is equivalent to: |Subset NL\TNETLIST z100r101:13n101:163n101:164Z102r101:10 |Both are equivalent. The rule is that only the first letter of "Zone", |"Region" or "Net" is included, and "Region" and "Net" must ALWAYS be followed |by the zone in which the segment lies. |Note that this facility needs an up to date nodelist to work, and will not |work with a nodelist that is more than two weeks old. Also the PublishDay has |to be set up, if the default Friday is not used by the network. |As for time taken, it was taking 25 minutes to extract the Region 25 segment |of the FidoNet NODELIST.213 of this week in the interpreter, which is |obviously much too long, so a bit of optimisation of code reduced the time to |a much more acceptable 4 minutes, which whilst still not being fast, is |certainly usable. | -- New feature |Duplicate node numbers are now detected and trapped, unfortunately this |increases the amount of work space required by 12Kb. If a Host, Region or Zone |statement is a duplicate then it will be commented out, and all of the nodes |immediately underneath this one will be assumed to be of the immediately |preceding net, region or zone. | -- New feature |It is now possible to select whether confirmation netmails go out marked as |Hold, Crash, etc with the two control statements "ConfReceipt" and "ConfError" |which should be followed by one of None, Hold, Route or Crash. Confirmation of |receipts can not have a higher priority than confirmation of errors. Both |default to Route, although it is recommended that Crash be used to confirm |errors so that the error(s) can be corrected quickly. It is certainly not |recommended that "ConfError None" be used, as this will prevent MakeDiff from |reporting errors to submitters. | -- New feature |I suppose some people have their setups set to cause earlier MakeDiff versions |to produce nodelists with two semicolons occupying adjacent lines, this will |no longer occur, which should save a small amount of space in the output files |produced. | -- Bug |Comments were NOT ignored by MakeDiff, these were included into the nodelist. | -- New feature |The errorlevel exits employed by MakeDiff have now been tidied up, and |documented for the first time, these are as follows: | 0.....Test mode, no netmail written by the program | 1.....Test mode, netmail written (normally notification messages) | 2.....Test mode, general error occurred | 3.....Process mode, no netmail written | 4.....Process mode, netmail written (notification and/or file attaches) | 5.....Process mode, general error occurred | 254...MakeDiff internal error | 255...Control file error |These could be used, for example, to execute ParseLst after processing |(useful for a distribution compiler), or to selectively export the netmail |on exit with an errorlevel 1 or 3; I think this is more useful than the |previous return of an errorlevel indicating only what kind of errors occurred, |and whether Process mode was invoked or not. | -- Change |The CleanUp command now causes the removal of nodelist segments that are two |weeks old, newer segments are not deleted, so it is possible to use this |command and process your files more than once in the case of an error. Also |all files in the update folder are deleted as soon as they have been moved to |the master folder. | -- New feature |Whereas incorrect segments were simply deleted before, now they can be |recovered from a new directory by use of the Bad keyword. The syntax is the |same as Master and Update. If a file has errors, then it will be copied to |the Bad files directory before being deleted. | -- Improvement |The copy routine has been improved in terms of speed. There is now a new |keyword, CopySpace, that MakeDiff reads to allocate an amount of RAM, |currently dedicated solely for file copying. The value defaults to 32k, but |if you have out of memory reports from the program then decrease this value; |on the other hand, if you handle with segments larger than 32k then you may |wish to increase this value. +--- 20 Jul 1992 -- Version 1.01 (public release) | -- Bug (Ben Van Bokkem) |The new feature added in 1.00 now actually works! The distribution of version |1.00 was stopped, this will not go through most of EST, as the program had a |major fault earlier on. Also checking should occur much faster, and certain |updates are not necessarily written out. +--- 19 Jul 1992 -- ******* FIRST RELEASE VERSION ******* Version 1.00 | -- Bug (Ben Van Bokkem, Daron Brewood) |When a file was received by 0.71, the checking procedure was failing, causing |a bus error. Now fixed. | -- New feature (Ben Van Bokkem) |When a segment hasn't changed, there is no need for the segment to be |resubmitted unless a full nodelist is being created. MakeDiff will now check |any existing previous segment, and will only submit a new file (or difference |file or archive) if there are changes between the previous segment and the |current one. +--- 10 Jul 1992 -- Version 0.71 | -- Note |This version has not been fully checked. I believe it is in everybody's best |interests that this version be released, even though it may contain a lot more |errors than previous versions. If errors do occur then PLEASE REPORT them in |N_DIFCHAT if you are a member of NeST, or by netmail if you are not (I will |shortly be proposing that a new echo be started in TurboNet called T_MKDF, for |similar queries etc to those placed in N_DIFCHAT). | -- New feature |If the program has not been registered, then it will now pause for 10s and |ring the console bell 20 times during this period before beginning execution. |My apologies for having to introduce this but I need more financial support to |be able to continue with the program. If this doesn't encourage more people to |register then I will be adding a requirement for a key to be pressed before |the program will start processing. | -- Bug |Address reporting was not occurring properly. | -- New feature (Bernd Renzing) |MakeDiff will accept update files written by hand, without CRC information, |where somebody for some reason cannot use MakeDiff or a compatible program to |provide their |nodelist segment. In order that this can occur, MakeDiff must |be informed; |this is accomplished by appending a star on the File line, |placed after the type information, specified as follows: |File HOST441 111:441/0 N441* |The file written in the Update directory will be of a form that MakeDiff |would usually write, and the file submitted by the coordinator below should |just contain the nodelist information, and nothing more. | -- New feature |The format of the File statement has now been extended. You can now specify |the type of data expected from each file. This will be of the following |format: |File TWOZONES 43:43/0 |File ZONE45 45:45/0 Z45 |File REGION10 37:10/0 R10 |File HOST234 13:234/0 N234 |File HUB6000 25:253/6000 H6000 |Z specifies that the nodelist segment is a Zone, R that it is a Region, N that |it is a Net and H that it is a Hub. If no parameter is given, then the file |will not be checked for validity, other than checking for errors in the file. |What now occurs is that the file is checked for entries which should not be in |the supplied update nodelist segments, so for example a Region entry would not |be allowed in a Net. This already occurs at a local level in the local |checking, but it would obviously be easy for somebody to change their Type and |get MakeDiff to produce, for example, a zone nodelist where a region nodelist |is desired, possibly having undesirable effects. Therefore this is a security |measure. | -- Bug |Where you had a nodelist representation graph such as the following: | Old Nodelist lines | / | | / /| / | | /| / | / | | / |/ | / | | / / |/ | |/ / | 0------------- New nodelist lines |The program kept trying to copy 0 lines again. Now fixed, because it will |smooth from the start of the nodelist rather than the start of the block. | -- Bug |Where the same line occurred twice in the new nodelist but only once in the |old one, and a difference file was being produced, MakeDiff would occasionally |try to copy 0 lines again. Now fixed. | -- Bug (Daron Brewood) |MakeDiff was refusing to produce a difference file; I managed to get it to |report an error at my end, but other than this, I don't know whether it will |work on Daron's system because I haven't seen any logs from him of this |problem. | -- Bug (Daron Brewood) |Receiving archives only worked for one archiver type, and only if a SendArc |statement was used; this is now hopefully rectified. +--- 23 Jun 1992 -- Version 0.70 | -- New feature |MakeDiff now ignores all comments found in segments; that is, all lines |beginning with ; that are of greater length than one character. This is the |first stage to implementing password protection in the future. | -- New feature |What happens when you've introduced a new node into your net, and want to |inform the new node of their node number? You can edit the nodelist file |yourself if your nodelist processor doesn't check the CRC at the top of the |nodelist while just parsing a nodelist, but it's messy doing it this way, and |in this age of automation, why would you want to do that? |Another new control file statement has therefore been added, called Merge. |When MakeDiff is run in test mode, if the current issue nodelist is found |then a new nodelist will be created from the local details, and the nodelist, |which contains the new data; this file has exactly the same name as the |nodelist, but an extension .000. You can then process this new file instead |of the old one. This works in whatever mode you are in. |This option takes time, so it is not enabled by default; you need to include |the Merge statement in the control file, along with the Nodelist statement |with the same format as that described below, or just have the Nodelist |statement in your control file and include the switch '-m' on the command |line. | -- New feature (Daron Brewood) |Whenever you run the program, it now reports any errors found in the local |segment that you produce in a netmail. In addition to this, the error checking |has been tightened by an even greater extent; it is now a requirement that you |have the correct information on the first line, and if you are generating a |Hub segment, you cannot have any of Hub, Host, Region or Zone in your segment, |except for the initial Hub entry; if you are generating a Net, you can only |have Hub entries, not Host, Region or Zone, except for the initial Host entry, |etc. The program will abort with a fatal error if it finds any of these. You |can determine this by the errorlevel exit; if 2 or 12, the program has aborted |for some reason (2 in test mode, 12 in process mode). | -- New feature (Ben Van Bokkem, Daron Brewood) |MakeDiff will now automatically update the nodelist of the distributor, with |the inclusion of the new control file statement Nodelist. This should contain |the path and generic file name (i.e. no extension) of your nodelist |directory. MakeDiff will then update your nodelist once per week, and delete |the old copy. An example of use is Nodelist .\nl\nestlist | -- Bug (Ben Van Bokkem) |Still problems with the commandline interpretation of the program causing bus |error! Now fixed. +--- 12 Jun 1992 -- Version 0.69 | -- Bug (Daron Brewood) |Part of the diff creation technique was failing. This was when a break, as |I've described below, was present, and the lines that MakeDiff decided to |include as full in the diff were at the bottom of the file, instead of at the |top. | -- Bug |Only field 6 (phone number) was being checked in the nodelist checking |routine. I only found this out by chance, when adding the next feature listed. | -- New feature (Daron Brewood) |Additional nodelist error checks: Pvt entries must have -Unpublished- in field |6, and non-Pvt/Hold/Down must not have it in field 6. | -- Bug |If no SendArc was specified, it was not possible to create a difference file |on it's own. This is now rectified. | -- Bug |When creating a distribution pair, a nodelist would be archived with the name |.Atm, regardless of the SendArc-type used. | -- Bug |If SendArc type is specified in lower case, then the program would exit with |a bad array index. +--- 10 Jun 1992 -- Version 0.68 | -- Bug |The status log control statement was causing the program to crash if it was |qualified with a path. I've stopped the release of 0.67 to NeST (as there is |no point delivering two updates of the same program at the same time). +--- 9 Jun 1992 -- Version 0.67 | -- Release Keys |Please delete every single 16-byte key you have, as they are no longer |required. From this release, the program becomes a Wide Beta version, which |means that distribution is no longer restricted (except as governed by the |licencing agreement). Keys are still available for those wishing to register, |and as an incentive to do this, there is now a short delay when you start the |program if you have not yet registered, and of course, the netmails produced |by the program all show Unregistered, but this in no way affects the |functionality of the program. | -- Bug (Steven Green) |The command line bug was not fully corrected in the last issue of the |program; it is, however, hopefully now completely eradicated. Well, you can |but hope :-) | -- Bug (Robert Darling) |Difference files should not be terminated by 0x1a. This is now fixed. I |wouldn't normally release a new version with just one small change, but this |one is very important indeed! +--- 4 Jun 1992 -- Version 0.66 | -- New feature |A lot more logging has been added, and I hope people find it useful. | -- New feature |Nodelist testing has been extended. Entries at the start of any list that do |not have a Hub, Host, Region or Zone coordination entry above them are now |removed, and Private nodes are now not allowed directly under Regions or |Zones. | -- Bug |More fullstops in the names of explicit filenames have been eradicated. | -- New feature |The Threshold command can now have two parameters: |Threshold [] |The parameters are the minimum size of segment that will invoke archiving, |followed by the minimum size that will invoke difference file processing. |Defaults are -1,-1. "Threshold 0 0" will cause an archived difference file to |be produced at all times. "Threshold 0" will cause an archived full file to |be produced. "Threshold -1 -1" will disable both archived file production and |diff production, which is default. |The first parameter must not be greater than the second parameter, i.e. it |must be possible to archive before a difference file is created. Less errors |will result if a full file is received by coordinator, than if a difference |file is received. |There are the following new control statements: |Arc will cause the program to look |for *.tu or *.Du in the inbound in addition to *.htu when |using generic filenames, and if one is found, it will cause the specified |archiver to be invoked with the command line specified, where % is replaced |with the filename. The command should be a general extract command that can |extract all files from an archive. |SendArc will cause the archiver listed under | for a corresponding Arc statement to be invoked with the |command line specified, where % is replaced with the archived filename and & |is replaced with the filename to archive with. |This now provides support for archivers, which can be very useful. Please note |that you must have enough memory to run each archiver; if you do not have |enough memory, then it is advisable to try an archiver that is less |memory-intensive, e.g. SEA ARC v5 format. The following letters are advised |for use: |A for SEA ARC, J for ARJ, L for LHarc, O for ZOO and Z for ZIP. |Please note that D cannot be used. This is because D is used for difference |files. All other letters are suitable. The program has only been tested with |SEA ARC version 6.02ST at present, however I see no reason why it shouldn't |work with other archivers. If you have problems then try turning Debug on and |see how much memory you have, or switch to an archiver that doesn't require as |much storage space. |FidoNet only uses SEA ARC version 5. This archiver does not compress as well |as any of the others can. However, if there is a need to support it, then |depending on whether you use ARC v6+ or not, you would use the 'a' or 'a5' |command to produce an ARC v5 compatible archive. 'a5' ONLY for v6+. |The add command does not have to cause the archiver to delete the old file |after it has been packed. At the end of the process, if the archive exists |then it will be sent, otherwise the non-archived file will be sent. +--- 3 Jun 1992 -- Version 0.65 | -- Bug |There is no possible way of creating a difference file using a single-pass |algorithm to be the smallest size possible when full generality is considered. |This is because a line could occur as, say, the 500th line of a previous |nodelist, with the next occurring also as line 200 of the previous nodelist. |It may sound unlikely, but it does happen. So which way do we go? Do we skip |all the lines up to line 500 and add the next one in, or do we add the first |one in and refrain from skipping the lines? |I have made an algorithm to correct this problem. It may not produce the |smallest possible files, but the files it produces are small enough. To |produce the smallest possible files requires 2^(n-1) calculations, where n is |the number of overlaps (I've called them blocks). It's possible to get very |close using a different algorithm that is slightly less efficient but reduces |the number of diff-size calculations to n-1. |Please note that as a result, it takes a lot longer time now. I am not happy |about the speed, and will address the issue after I've added archiver support |etc. Please be wary of this version, and if it should produce a problem, |please send me a copy of it's debug logfile (which will now be very big!) | -- Bug |I think that the program was enabling the mouse pointer before. That's a |problem with GfA Basic. I've introduced a HIDEM statement into the code that |will hopefully get rid of the thing. |(Don't blame me for GfA Basic!) | -- Bug (Steven Green) |If the program was invoked with a command line, MakeDiff crashed without fail. |I think this was more to do with the GfA Basic compiler, but it should be OK |now. +--- 28 May 1992 -- Version 0.64 | -- Bug |When a submit address was specified, outgoing files were sent to |:/ instead of :/. | -- Bug (Steve Caple) |The program would fail if lines in the control file were indented. They can |now be indented properly. +--- 22 May 1992 -- Version 0.63 | -- New feature |All of the % translations usable in the Copyright text file can now also be |used in the Header text file. | -- Bug |When using explicit filenames (those with specified extensions) there were a |number of occurrences in the log of a file with names like "NEST.UK.108". This |should be now completely eradicated. | -- New feature |Two new command line switches have been added; -P causes automatic initiation |of process mode, whether it is currently a process day or not; and -T causes |automatic initiation of test mode, where the program only looks for incoming |segments and tests them. | -- Bug (Steve Caple) |In the case of a small net with no segments, the Update directory being |undefined was regarded as a fault. Also the program didn't check that the |Master directory is defined, which should be in ALL control files. | -- New feature |The program will now accept ProcessDay as well as SendDay in it's control |file. Both of these mean the same thing. I think that ProcessDay is more |descriptive of what actually happens. |Please change your control files, because SendDay will be dropped soon. | -- Bug (Steven Green) |The full path for a file attach should now be provided on the subject line, |preventing a problem which was occurring where a file was not found when the |mail processor tossed the netmail area. | -- Tidying up of code |The netmail generator has been standardised, with MakeDiff writing a signature |for each netmail produced and a NUL byte added to the end of the netmail; I |think that a problem used to exist with ACS which required a NUL byte |terminator to be added. Also the update file attach documentation has been |improved, with the filename, size (of difference file and full segment, if |applicable) and CRC included. I'll be testing this before releasing it. | -- Bug |The crashmail sent by the registering process was slightly faulty; that has |now been rectified. | -- New feature |All files produced by MakeDiff now have an end of file marker (hex 1A) added |at the end of the file. Nothing seemed to be having problems without the added |character, but since everything else seems to add this character, I added it |as well, for compatibility's sake. | -- Bug (Robert Darling) |Illegal characters with codes greater than 126 or less than 32 were detected |within various lines of the nodelist, causing problems with processing on |various platforms. The program now checks for the illegal characters on ALL |lines, including those with comments, and replaces any "extended" characters |with question marks (?). | -- Bug |The copyright text was not appearing as a complete entity in the difference |file created at the distribution level. Fixed. +--- 16 May 1992 -- Version 0.62 | -- New feature |Program now checks that a Distribution Nodelist is being created, if an Issue |statement is in the config. | -- Bug |Program was incrementing the number after the Issue statement after every run, |now fixed so that it does this only when send processing is initiated. | -- New feature |Added Automatic Key Request coding, this allows the user to immediately write |a key request which will then be sent directly to 2:253/600. | -- New feature |Added Threshold control statement, which allows you to set the maximum size of |full submittal file that will be sent before a difference file is sent. |Defaults to 2048. +--- 6 May 1992 -- Version 0.61 | -- New feature (Daron Brewood) |There is now a facility for a nodelist issue number. A new control file |statement "Issue" has been implemented, and it is to be entered by the user |as "Issue n", where n is the issue number of the next edition of the nodelist. |The software will update this once per week, and will add a new parameter |signifying when the issue number was last updated. To use this in the |CPYRIGHT.TXT file, specify %I or %i. | -- New feature (Daron Brewood) |The serial number report now contains the originating address of the current |control file, useful for systems acting as more than one coordinator in one |network or acting in two networks. | -- New feature |^APID: line now reports on serial number of copy used, and also it can be |determined whether the user has registered his/her copy of the program. |Unregistered copies have a - after the serial number, and registered copies |have a + in this location. Well, it might encourage people to register :-) | -- Bug (Bernd Renzing) |Files sent from a coordinator were addressed to the same type of coordinator, |e.g. a file contructed by a Region Coordinator, which is sent to the Zone |Coordinator, was being sent to Region Coordinator on the destination system |rather than Zone Coordinator. Rather cosmetic, but fixed anyway. | -- Bug |When non-generic names were being used, the program would sometimes try to |make a difference file anyway, and the log reports indicated "FILE.EXT.htm" |as having been created. Fixed. +--- 27 Apr 1992 -- Version 0.60 | -- New feature |I have added a debug mode. If the command Debug is supplied in the control |file, the program will open, write and close the log each time it is written. |Not to be used normally, because it takes longer. This is helpful in the case |of exceptions causing crashes. |This facility might be expanded to provide more information in the log file at |a later stage, which should allow for easier hunting down of errors. | -- Bugs (Steven Green) |Problem with attempting to open a previous nodelist to produce a difference |file when it wasn't available, fixed. The program should create a new nodelist |segment in it's first run now. |Problem with program bombing after sending out a nodelist segment update |fixed. This was just a small problem with the logging routine. +--- 17 Apr 1992 -- Version 0.59 | -- Error-trapping |First and foremost, a lot of changes have occurred with the program, as you |can note from the documentation file that is now included. If an error occurs |now, the program should trap the error and report on the error in the log. A |lot more errors which could have occurred have now been trapped, but as a |consequence the program has been made much slower. It is rather unfortunate |that GfA Basic has a problem with the LINE INPUT # command, in that if an end |of line sequence is not received before the end of a file, the program used to |exit with an error. There is now a loop which checks for end of file while |taking in input lines, so the problem is circumvented. This also marks the |first release of the compiled code. +--- 16 Apr 1992 -- Version 0.58 | -- Error-detection code commenced |A few bugs have been fixed, and a major addition of error-detection in |nodelist segments has been started. At the moment this is limited to converting |converting erroneous lines that could cause problems to nodelist compilers to |lines that begin with ;E, with a short explanatory note at the bottom. |A major bug has been rectified, which caused a diff file to never be completed |if there was more to add to the end of a nodelist after the original was |completed. I'm really glad I found that out, because it's been worrying me for |ages! +--- 24 Mar 1992 -- Version 0.55 | -- New features |The program now calculates the required CRC all by itself, hence no more need |for APPLYCRC! This isn't very fast at the moment, despite using lookup tables, |but I intend to produce a C version. The entire top line is now created by the |program, and has the same format as that produced for the biggie, the FidoNet |one, except that Network-ST is substituted for FidoNet at the top of the list. |The date used is today's date as seen from the system clock, and does not have |to be a Friday. Please note that the new nodelist MUST CONTAIN a top line, |even though it will be forgotten about. Suggestions in N_DIFCHAT please! +--- 24 Jan 1992 -- Version 0.54 | -- Bug (Daron Brewood) |Much smaller DIFFs are now produced. The original problem of not checking for |a possible copy after a delete has now been corrected. Actually this error |was causing the program to go completely out of sync with the nodediff, and |diffs were being produced that were rampantly long. +--- 11 Jan 1992 -- Version 0.53 | -- New feature |Support for commandline has been added. If the program is started with no |commandline then the GEM item selector is used as in previous versions. If |a commandline is specified then it should be of the following format: |makediff |Tested with the interpreted version, I think there will be problems with |the compiled version. +--- 11 Jan 1992 -- Version 0.52 | -- Bug |When ParseLst has applied a DIFF, the end of the new nodelist produced has |a ^Z (0x1A) character that was making MAKEDIFF fall down. Fixed. +--- 7 Jan 1992 -- Version 0.51 | -- Bug (Daron Brewood) |After a delete flag was inserted, the Add flag was checked for immediately |and as a result, any copying that could be done (which results in a smaller |DIFF) was not performed. Fixed. -------------------------------------------------------------------------------