This document describes all changes in the various modules of the AmigaNCP package. ===================================================================== AmigaNCP-FileServer 1.6 ----------------------- - reversed "HideIcons" to be "ShowIcons", hiding .info and .backdrop being the new default setting. AmigaNCP-FileServer 1.7 ----------------------- - fixed to a misunderstanding on RF_OPEN with P_FCREATE / P_FREPLACE: The path of the file wasn't created if it didn't exists. This caused problems with Backup option of the S3a which relies on this behavior and doesn't makedir() it's file's path. AmigaNCP-FileServer 1.8 ----------------------- - changed to use "amigancp.library" - fixed a bug in write handling where the last two bytes of a full sized packet got trashed. Since internal data structures got overwritten, this may have caused undefined behaviour or even total system crashes. - now correctly converts filenames from IBM to ISO charset. - RF_SFSTAT (setting the file flags) didn't convert the name and therefore always failed with E_FILE_NXIST. This is the cause of error of the "File doesn't exists" requester after copying a file from the S3's system screen. AmigaNCP-FileServer 1.9 ----------------------- - the finfo call now correctly converts the filename to ibm charset. AmigaNCP-FileServer 1.10 ------------------------ - updated to use amigancp.library 3.x - now calls the pool functions embedded in amigancp.library to avoid hassle on 2.x systems. AmigaNCP-FileServer 1.11 ------------------------ - fixed a bug in workbench startup: the original lock wasn't restored after CDing to wa->wa_Lock - updated to use amigancp.library 4.x - major speedup in all charset conversion operations due to new table conversion functions. - fixed stupid bug: Used Read()/Write() instead of FRead()/FWrite(), thus rendering buffering completely useless if not used in conversation mode. - updated catalog file to version 2.0. - now checks CTRL^C after ReadArgs() to allow early quit. AmigaNCP-FileServer 1.12 ------------------------ - recompiled using SAS/C 6.55 - cleaned up memory usage; avoid wasting due to mismatched pool size rounding and fixed a pool erraneously allocated with a puddle size of 4, thus creating a new puddle for every allocation. AmigaNCP-FileServer 1.14 ------------------------ - recompiled using SAS/C 6.55 - fixed some text - insists on using V5 of "amigancp.library" AmigaNCP-FileServer 1.15 ------------------------ - insists on using V6 of "amigancp.library" - several small cleanups and fixes AmigaNCP-FileServer 1.16 ------------------------ - recompiled with SAS/C 6.57 for potential compiler code introduced bugs. AmigaNCP-FileServer 2.0 ----------------------- - insists on using V9 of "amigancp.library" - will now warn if amigancp library is in S5 mode, and refuse to run ========================================================================== AmigaNCP-FileSystem 1.5 ----------------------- - fixed a bug in the file name conversion where the extension was cutted at the first dot, not at the last. Both will fail, but this way you are protected against side effects like "delete Agenda.Agn.info" deleting "Agenda.agn" instead of simple failure. - fixed a bug in ACTION_DELETE where invalid file names (e.g. containing multiple extensions) to confusingly cause ERROR_DIRECTORY_NOT_EMPTY. Now returns ERROR_OBJECT_NOT_FOUND. AmigaNCP-FileSystem 1.6 ----------------------- - changed to use "amigancp.library" - locks now contain a non-zero value in fl_Key. This should fix several problems with programs making tricky assumptions about the internal lock structure. - now correctly translates non-ascii characters in filenames from ISO to IBM charset. - now attempts to recreate the NCP channel if the remote NCP changed (e.g. was killed and started again). - fixed a race condition when Examine()ing the root dir: the filename was actually filled in after the packet was replied. - fixed a bug which caused random memory trashing if the first entry in a directory scan was volume file. - returned TRUE instead of DOSTRUE thoroughly. - Examine()/ExNext() now returns the same value in fib_DirEntryType and the (undocumented) fib_EntryType, as the standard file system does. Should fix several buggy directory utilities ;-) - ACTION_DELETE always returned ERROR_DIRECTORY_NOT_EMPTY on an error no matter what really happened. - now returns ERROR_DEVICE_NOT_MOUNTED if the NCP link fails for some reason. - ACTION_EXAMINE on the root directory now correctly returns the volume name. - Locking "/" (or any combined form) didn't get higher than the pseudo subdirectories in NCP:. AmigaNCP-FileSystem 1.7 ----------------------- - ACTION_EXAMINE/ACTION_EXNEXT now correctly convert the filename charset from IBM to ISO. AmigaNCP-FileSystem 1.8 ----------------------- - updated to use amigancp.library 3.x - now calls the pool functions embedded in amigancp.library to avoid hassle on 2.x systems. AmigaNCP-FileSystem 1.9 ----------------------- - fixed a bug in initdirlist() which could cause misaligned word access if the P_FINFOs returned by the Psion weren't word aligned. Caused a 80000003 guru on 68000 machines. AmigaNCP-FileSystem 1.10 ------------------------ - fixed a bug in ACTION_WRITE: remote errors (e.g. Disk Full) weren't correctly reported to the caller, instead the write simply aborted. AmigaNCP-FileSystem 2.0 ----------------------- - now stores icon files in a special AmigaDOS directory hierarchy to allow snapshoting and permanent option setting. The icon path defaults to PROGDIR:Icons, but can be specified by the ICONDIR tooltype or shell argument. Release versions are shipped with a default icon tree. - corrected inefficent pool size for the ACTION_EXNEXT cache. - the "Missing Server" requester now has an additional option "Run Server and Retry". - on CTRL^C now reports number of open locks/files if quit is currently not possible. - on CTRL^F now dumps a debug list of locks in use. - now fakes fib_NumBlocks on Examine() to enforce compatibility with even more buggy directory utilities. - did some internal code cleanup. - updated to use amigancp.library 4.x - fixed a bug in workbench startup: the original lock wasn't restored after CDing to wa->wa_Lock (yes, this was exactly the same bug as in the FileServer ;-) - major speedup in all charset conversion operations due to new table conversion functions. - updated catalog file to version 2.0. - now checks CTRL^C after ReadArgs() to allow early quit. AmigaNCP-FileSystem 2.1 ----------------------- - recompiled using SAS/C 6.55 - ACTION_SETPROTECT & ACTION_SETDATE on one of the fake device subdirectories return ERROR_INVALID_OBJECT_NAME which was correctly generated by the Psion file server. Now since this caused problems with several backup utilities, these operations are now implemented as NO-OPs and silently report "OK". - fixed ACTION_COPY_DIR(NULL) to return NULL instead of causing several enforcer hits and undefined behavior. - now returns approximated memory usage on CTRL^F debug dump. - reduced lock and fib pool sizes to reduce overall memory usage overhead. [AmigaNCP-FileSystem 2.2 - 2.4 internal only] AmigaNCP-FileSystem 2.5 ----------------------- - insists on using V6 of "amigancp.library" - several small cleanups and fixes AmigaNCP-FileSystem 2.6 ----------------------- - recompiled with SAS/C 6.57 for potential compiler code introduced bugs. AmigaNCP-FileSystem 3.1 ----------------------- - insists on using V9 of "amigancp.library" - added EPOC32 protocol support AmigaNCP-FileSystem 3.3 ----------------------- - fixed long directory reads in EPOC32 mode AmigaNCP-FileSystem 3.4 ----------------------- - fixed parsing of short file names in EPOC32 mode AmigaNCP-FileSystem 3.5 ----------------------- - fixed character conversation AmigaNCP-FileSystem 3.6 ----------------------- - added a workaround for opening READ_ONLY files in EPOC32 mode -- when opening in READ_WRITE mode fails and on the AmigaDOS side the file was opened in MODE_OLDFILE, the file is opened in READ_ONLY mode; subsequent ACTION_WRITEs would then fail. Ugly, but AmigaDOS doesn't have a proper READ_ONLY mode for opening files... - implemented ACTION_SET_PROTECTION to set READ-ONLY and ARCHIVE on remote side. The implementation is purely speculative, use on your own risk :) AmigaNCP-FileSystem 3.7 ----------------------- - fixed mask setting for ACTION_SET_PROTECT - added Psion S5 clipboard support. AmigaNCP Filesys takes two new arguments AmigaToPsionClip and PsionToAmigaClip as a hotkey specification (like any other Commoditiy). Pressing the hotkey will read/write the clipboard data file (NCP:C/System/Data/Clpboard.cbd) to/from the Amiga clipboard in FTXT format. Will convert newlines and do iso/ibm conversion. AmigaNCP-FileSystem 3.8 ----------------------- - apparently, the S5 is using iso-8859-1 for filenames, thus the added character conversion in AmigaNCP screwed all filenames. Grrr. Fixed. AmigaNCP-FileSystem 3.10 ------------------------ - fixed clipboard hotkey initialization - fixed PsionToAmiga clipboard handling (AmigaToPsion still broken, and probably will be unless I get my hands on a documentation of the Psion clipboard file format) AmigaNCP-FileSystem 3.11 ------------------------ - fixed ACTION_SET_DATE in S5 mode (hopefully) AmigaNCP-FileSystem 3.12 ------------------------ - fixed file format for Amiga2Psion clipboard functionality (hopefully) - now sends a "Clipboard changed" message to the remote clipboard server when a clipboard exchange has been executed (hopefully) AmigaNCP-FileSystem 3.13 ------------------------ - fixed file format for Amiga2Psion clipboard functionality (hopefully) [deja vu?] - fixed clipboard conversion from psion code 6/7 to LF AmigaNCP-FileSystem 3.14 ------------------------ - rebuild with full optimization, for release - fixed S5 implementations of ACTION_SET_DATE and ACTION_SET_PROTECT ========================================================================== ncp.lib 1.1 ----------- - modified constructor to open "amigancp.library" - fixed error requester to correctly show up the tasks name on workbench startup. ncp.lib 1.2 ----------- - updated to open V3 of "amigancp.library" ncp.lib 1.3 ----------- - updated to open V4 of "amigancp.library" ncp.lib 1.4 ----------- - updated to open V5 of "amigancp.library" ncp.lib 1.5 ----------- - updated to open V6 of "amigancp.library" ncp.lib 1.6 ----------- - updated to open V9 of "amigancp.library" ========================================================================== AmigaNCP-Monitor 1.3 -------------------- - relinked with ncp.lib 1.1 to use "amigancp.library" AmigaNCP-Monitor 1.4 -------------------- - relinked with ncp.lib 1.3 to use V4 of "amigancp.library" AmigaNCP-Monitor 1.5 -------------------- - recompiled using SAS/C 6.55 AmigaNCP-Monitor 1.6 -------------------- - recompiled to use V6 of "amigancp.library" ========================================================================== amigancp.library 2.0 (formerly called "ncp.library") ---------------------------------------------------- - "ncp.library" is now named "amigancp.library" in order to avoid problems with Oxxi's Novell Client software, which uses a similary named library. - fixed several internal problems with reconnecting after the remote side powered off without killing the actual NCP connection. This always happened when the S3/S3a auto-powered off. Should now correctly handle all cases of reconnection including such nice operations as removing the link cable, turning off the S3 link, reconnecting the cable and then turning back on the link process. - usage of the SERF_7WIRE protocol prevented llmac to "ping" the S3 back into life after a power-off because DSR was low. Now, if DSR is low, correctly closes the device, reopens it without SERF_7WIRE to ping the S3 and then continues normal operation. - partial packets weren't properly discarded after a reconnection. - LLMAC didn't check data block sequence numbers. Now data blocks which are not in sequence are silently thrown away. amigancp.library 3.0 -------------------- - embedded the AsmXXPool-functions from amiga.lib to secure operation with AmigaOS 2.x systems. amigancp.library 3.1 -------------------- - recompiled to use utility.library for 32 bit math. amigancp.library 3.2 -------------------- - fixed a possibly hangup in internal channel flushing during reconnection. amigancp.library 4.0 -------------------- - added functions to directly return pointers to internal conversion tables for more efficient charset conversions. - fixed possibly crash on reconnection during connection request. amigancp.library 4.1 -------------------- - recompiled using SAS/C 6.55. - changed to directly drop the NCP connection if the last user closes it's channel. amigancp.library 5.0 -------------------- - fixed system lockup with certain llmac race conditions. - recompiled using SAS/C 6.56. - uses fixed pools.lib to avoid memory loss with 2.x systems. amigancp.library 6.0 -------------------- - fixed the character conversion tables to properly reflect IBM850->ISO-8859-1 conversion - fixed a potential problem in NCP_WaitRead()/NCP_WaitWrite() - recompiled with SAS/C 6.57 for potential compiler code introduced bugs. amigancp.library 9.0 -------------------- - renamed ENV:NCP.config to ENV:AmigaNCP.config (ENV:NCP.config will still be read if ENV:AmigaNCP.config doesn't exist) - added "SERIES5" to the ENV:AmigaNCP.config variable to activate EPOC32 (protocol version 6) mode - added NCP_RemoteVersion() call to determine whether library is running in EPOC16 or EPOC32 mode amigancp.library 9.1 -------------------- - fixed broken keyfile parsing amigancp.library 9.2 -------------------- - will no longer retry failed LLMAC layer requests other than LLMAC_CONNECT, as nothing will come out (if the Psion switched off, it *will* need a LLMAC renegotiation after turning on anyway) amigancp.library 9.3 -------------------- [internal] amigancp.library 9.4 -------------------- - NCP_LinkRemoteRun() now supports up to 128 char command names in S5 mode - fixed a possible buffer overflow in NCP_LinkRemoteRun() amigancp.library 9.5 -------------------- - recompiled with optimization, for release ========================================================================== Install-AmigaNCP 0.4 -------------------- - changed all references to "ncp.library" to "amigancp.library" Install-AmigaNCP 0.5 -------------------- - fixed to avoid the well known COPYLIB "newname" problem with older Installer versions. Install-AmigaNCP 0.6 -------------------- - updated to copy "Submissions" drawer Install-AmigaNCP 1.0 -------------------- - updated for 1.8 release Install-AmigaNCP 1.1 -------------------- - updated for 1.9 release - now checks SetPatch version Install-AmigaNCP 1.2 -------------------- - updated for 2.0 release Install-AmigaNCP 1.3 -------------------- - fixed SetPatch checking code (should now recognize SetPatch 43.x correctly as new enough) - removed stale "LANGUAGE=german" tooltype ========================================================================== S3PrintServer 1.1 ----------------- - fixed parsing of NCP.config S3PrintServer 1.2 ----------------- - recompiled using SAS/C 6.55. - now pops up to Retry/Cancel requester on printer.device errors - quits on CTRL^C AmigaNCP-PrintServer 2.0 ------------------------ - renamed to "AmigaNCP-PrintServer" because it's no longer S3-only :) - will now attempt to flush "amigancp.library" from memory to free the serial.port - will now read ENV:AmigaNCP.config in preference to ENV:NCP.config AmigaNCP-PrintServer 2.1 ------------------------ - now shows proper error requesters when being started from WB and unable to open serial or printer device ========================================================================== AmigaNCP-Prefs 1.0 ------------------ - first release AmigaNCP-Prefs 1.1 ------------------ - fixed muimaster minimum version AmigaNCP-Prefs 1.2 ------------------ - Localized AmigaNCP-Prefs 1.3 ------------------ - added hack for opening on 640x200 screens - added support for PsionToAmigaClip (uses Pophotkey.mcc when installed)