⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ckc197.txt

📁 C-Kermit源码。是使用串口/Modem和网络通讯的程序
💻 TXT
📖 第 1 页 / 共 5 页
字号:
Corrections & updates to ckermit2.upd, 19 Jul 97.Fixed ANOTHER off-by-one error in the declarations of switch tables for SENDand GET (this was a bad one, causing core dumps).  ckuus[r6], 19 Jul 97.---Alpha.02---James Cameron verifies the VMS problem with closing DECwindow on C-K is fixed.20 Jul 97.Added cmdate() to parse a date and/or time.  ckucmd.[ch], 20 Jul 97.Dale Dellutri says problem with hanging after "Communications disconnect" isfixed, but NO CARRIER message never shows up (as it always did in 5A(190)).Asked him for a debug log.  21 Jul 97.Added /BEFORE: and /AFTER: switches to SEND, using cmdate().  Also added/LARGER-THAN: and /SMALLER-THAN:.  ckcfns.c now has a nice fileselect()routine that decides whether to send the file based on these switches.ckuusr.c, ckcfns.c, ckuus2.c, ckermit2.upd, 21 Jul 97.Added a crude pattern matcher, ckmatch(pattern,string), supporting only * and? as metacharacters.  ckcmai.c, 21 Jul 97.To test it, added IF MATCH <string> <pattern>.  ckuusr.h, ckuus6.c, 21 Jul 97.Added /EXCEPT:<pattern> to SEND.  ckuus[r2].c, ckermit2.upd, 21 Jul 97.Fix #ifdefs so that CK_ENVIRONMENT is not defined unless TCPSOCKET is defined,to prevent unresolved externals at link time in non-TCP/IP UNIX builds.ckcdeb.h, 21 Jul 97.Add new updates for wait() argument (is it "int" or is it "union wait"?).ckutio.c, 21 Jul 97.Rearrange some lines in ckcnet.c so ucx_port_bug does not turn up undefinedif we are using DECC, 21 Jul 97.Built on Digital UNIX 4.0 (where there is a warning about wait() that I can'tseem to shut up) and 3.2 (no problem there).  21 Jul 97.Fixed numerous #ifdef errors regarding feature selection, many modules.21 Jul 97.Shuffled some more #ifdefs and variable declarations to allow for NOICP build.Minor help text cleanups.  Don't allow SEND /STARTING-AT:n for file groups.Many modules, 22 Jul 97.Fixed another (off-by-one) bug with transfer mode in VMS (it always insistedon receiving in labeled mode).  ckuus6.c, 22 Jul 97.VMS C-Kermit would crash if given invalid command-line args detected inprescan() because fatal(), called to print the error message, could not printit because sysinit() had not yet been called to obtain the console channel.This mess really needs cleaning up.  Meanwhile, I worked around it by havingall the console i/o routines in VMS check first to make sure they have an openchannel, and also to have main set a global flag "initflg" after return fromsysinit() to indicate that sysinit has been done.  If it hasn't, then fatalcalls sysinit() first before trying to print any messages or exit.  This isalso important elsewhere in case (e.g.) we try to restore some systemishthings that we haven't saved yet, e.g. tty modes or somesuch.  ckcmai.c,ckuusx.c, ckvtio.c, 22 Jul 97.Fixed cmini() to not assume that buffers had already been malloc'd.ckucmd.c, 22 Jul 97.Got tired of having to remember to update version numbers, dates, etc, in somany places, so broke all these strings up into their component parts so thateach one only has to be changed in one place, pretty much, and then added aroutine, makever(), to put the various strings and numbers in the places whereall the other routines expect to find them.  ckcmai.c, 24 Jul 97.Added \v(test) == "0" if this is not a test version of Kermit, or else thetest version, e.g. "Alpha.03".  ckuusr.h, ckuus4.c, 24 Jul 97.Added optional pattern for SHOW VARIABLES, e.g. "show var *ver*".  Also, "showvar x" shows all variables whose names start with x, etc.  ckuus5.c, 24 Jul 97.Fixed a bug in the parsing of the LOCAL command.  ckuus5.c, 24 Jul 97.The test for DELETE success/failure was wrong in the non-K95 case.Fixed in dodel(), ckuus6.c, 25 Jul 97.Added \fn2hex() and \fn2oct() to convert numbers to hex and octal.  \fhexify()converts *strings* to hex, which is quite different.  E.g. \fhex(16) = 3130,whereas \fn2hex(16) = 10.  ckuusr.h, ckuus[24].c, 26 Jul 97.Changed default maximum packet buffer size to 290K if BIGBUFOK and DYNAMIC areboth defined at compile time.  This doesn't change the size of the executable,and the memory is allocated only if requested.  ckcker.h, 26 Jul 97.Missing file display on RESEND after SEND, and SEND after RESEND behaved likeRESEND.  Fixed misplaced #ifdefs in doxsend.  ckuusr.c, 26 Jul 97.Scenario: my current directory has a file that I can delete, but the directoryitself lacks write permission.  I try to receive a file into this directorythat has the same name as an existing file, with FILE COLLISION set to BACKUP.The transfer fails, not because I can't overwrite the original file, butbecause I can't create the backup file.  But when in local mode, theappropriate message does not make it to the file-transfer display.  This tookquite a bit of reworking how E packets work and where their messages aresaved, but it seems OK now.  If the user sees the new message ("Can't createbackup file"), she can switch to SET FILE COLLISION OVERWRITE or APPEND,which work.  ckcpro.w, ckcfn*.c, ckermit.bwr, 26 Jul 97.Things I should have thought of long ago dept, cont'd...  Added a new internalvariable, xferstat, that remembers the status of the most recent filetransfer: -1 = no transfer yet, 1 = failure, 0 = success.  Added this info,plus the text of the error packet that terminated an unsuccessful transfer,to the STATISTICS display.  Also added variables for these: \v(xferstat)and \v(xfermsg).  ckuusr.h, ckuus4.c, ckermit2.upd, 26 Jul 97.Cleaned up a bunch of internal messiness involving file-transfer failures.For example, clsof and clsif should not do all of their usual stuff if thefile they are trying to close was never opened.  In particular, they shouldnot call fstats(), which writes messages to the transaction log andaccumulates statistics.  ckcpro.w, ckcfn[s23].c, ckuusx.c, 26 Jul 97.Simplified & corrected parsing of RETURN and added brace-stripping for thereturn value.  ckuusr.c, 26 Jul 97.Added a BACK command, which means to "CD to my previous current directory".Very simple, not a stack -- so successive BACK commands just switch betweentwo directories.  ckuusr.[ch], ckuus[52].c, ckermit2.upd, 26 Jul 97.Added an optional switch, /RAW-SOCKET, to end of SET HOST / TELNET command.It can be given only if you first give a host and a port.  When this switch isgiven, ttnproto is set to the new value, NP_TCPRAW.  See ckermit2.upd 2.3.5.ckuus7.c, ckcnet.[ch], 26 Jul 97.Fixes to /raw-socket code from yesterday to make it actually work, and adddisplay of this to SHOW NET.  ckcnet.[ch], ckutio.c, ckuus4.c, 27 Jul 97.Fixes to epktmsg-related code from yesterday -- in some cases the pointer wasnot initialized, causing core dumps, etc.  Many modules, 27 Jul 97.Added zgperm() to ckufio.c, UNIX only for now (protected by CK_PERMS), to getfile modes/permissions.  ckufio.c, ckcplm.doc, 27 Jul 97.Used zgperm() in rcvfil() in the file collision section.  If the incoming filehas the same name as an existing file, and we are going to create a new copyor overwrite the existing file, we get its permissions first and stuff theminto the attribute structure when initializing it (in initattr()).  If thesender puts its own (local-format) permissions in the A-packet, these willoverride.  But if it doesn't, then the new file inherits the permissions ofthe old one.  If there is no A-packet, the new file inherits the old file'spermissions, but the new file gets the current date and time.  If there isno file collision, there is no inheritance.  ckcfn[s3].c, 27 Jul 97.Adjustments to ckcnet.h for DECC 5.5-002 (remove bzero/bcopy prototypes).27 Jul 97.---Alpha.03---Fixed some bad buffer & pointer declarations in ckcmai.c when DYNAMIC notdefined.  28 Jul 97.Changed SEND /EXCEPT: to allow a list of patterns, rather than just one.ckuus[r5].c, ckcfns.c, 29 Jul 97.Added SEND /NOT-AFTER: and /NOT-BEFORE: to get the {greater,less}-than-or-equaleffect.  ckuusr.[ch], ckuus2.c, 31 Jul 97.Added SET FLAG { ON, OFF } and IF FLAG.  It's just a user-settable flag that'seasy to test in scripts.  ckuusr.[ch], ckuus[23].c, 1 Aug 97.Added { SEND, RECEIVE, GET, etc } /FILTER.  ckuus[r26].c, 1 Aug 97.Fix from Jeff for reconnecting to a raw TCP socket without having the protocolswitch to Telnet.  ckcnet.c, 2 Aug 97.Changed dial module to echo commands if DIAL DISPLAY is ON but modem is notechoing them.  ckudia.c, 2 Aug 97.Added a new member to struct MDMINF -- ini2, the last-minute init string, tobe sent just prior to dialing.  For compatibility with TAPI.  ckcker.h,ckudia.c, 2 Aug 97.Added SET MODEM COMMAND PREDIAL-INIT <string> to set the last-minute initstring.  ckuusr.h, ckuus[23].c, 2 Aug 97.Reported problem with PPI seems to be lost chars on output -- commands are OK.Added \v(sendlist) = number of entries in send-list.  ckuusr.h, ckuus4.c,2 Aug 97.Updated the TAP script to be more robust, etc.  ckepage.ksc, 2 Aug 97.Added /PATHNAMES:{ON,OFF} and /FILENAMES:{CONVERTED,LITERAL} to SEND commands.SEND /PATHNAMES:ON also temporarily SETs FILE NAMES LITERAL.Noticed that more-prompting in the STATISTICS command was messed up.  Itturned out that the cmd_rows variable got set to 0 after a failed filetransfer (and who knows what else!).  Why?  When an E packet is received, wehave some new code to copy the error message to a "failure reason" bufferusing strncpy.  Well, the target buffer was being accessed thru a stringpointer that was mistakenly declared as an array (it originally was an array,but later was changed to a pointer, and evidently the change didn't propogatethru all the modules).  This one was great fun to track down.  ckcfn[s23].c,ckuus4.c, 2 Aug 97.Some testers of Alpha.03 noticed that REMOTE DIRECTORY didn't work.  It wasactually worse than that.  I had broken this when adding the code to avoidclosing a file when it wasn't open.  First, the o_isopen flag was not alwaysbeing set, and second reof() did not give a proper return code.  Now fixed.ckcfn[s3].c, 2 Aug 97.But sending of remote commands to pipes was also broken in Alpha.03.  Thisrequired adding a system-independent front-end to zxcmd(), openc(), that setsthe o_isopen flag.  ckcfn3.c, ckcpro.w, 3 Aug 97.Integrated Jeff's changes from the past week.  Many modules, 10 Aug 97.Replaced all HP-UX makefile entries with new ones from Peter Eichhorn.makefile, 10 Aug 97.Added high serial speeds for SCO OSR5.0.2, along with a new symbol,POSIX_SPEEDS, used to select POSIX speed setting/getting separately from POSIXfor everything else, and predefined this for OSR5.0.2 and IRIX 6.2, along withPOSIX itself and BSD44.  Added new makefile entries for SCO OSR5.0.2.ckcdeb.h, ckutio.c, ckuver.h, makefile, 10 Aug 97.  But this doesn't work atall -- REVISIT THIS MONDAY...Fixed spurious error message issued by VMS C-K when doing a GET command.ckuus6.c, 10 Aug 97.More futzing with SCO OpenServer R5.0.2.  To get the new high speeds, I haveto convert completely to POSIX, but this proves to be an adventure because ofthe situation with hardware flow control, which is outside the scope of POSIX.Got it, after much header-file shuffling.  This also involved some minor butperhaps significant changes to the general POSIX code.  ckcdeb.h, 11 Aug 97.Fixed a truly horrible bug, in which the modem types above 55, namelySupraSonic, Best Data, ATT 19x0, and ATT KeepInTouch, were indexedincorrectly, off by one, because the pointer to SupraSonic was left out of themodemp[] array.  This goes back to May, and nobody ever noticed.  ckudia.c,12 Aug 97.NOTE: THERE IS STILL MORE CONFUSION LURKING because of 1-based modem numbersversus 0-based modemp indexes!More fixes for POSIX serial i/o in SCO OSR5.0.2, and presumably elsewhere too.ckutio.c, 12 Aug 97.Spent the morning determining there was no way to read modem signals in SCOOSR5.0.4 (in termio.h, TIOCMGET is defined only if _SVID3 is defined *and*_POSIX_SOURCE is *not* defined, but we need _POSIX_SOURCE defined so we canget the high serial speeds).  Anyway the underlying ioctl() probably is a justno-op.  13 Aug 97.Noticed and fixed a typo in the Telebit init string: S61=1 should be S61=0(BREAK action should be "do what S63 says" rather than "return to commandmode").  ckudia.c, 13 Aug 97.Fixed hardware flow control in SCO OSR5.0.4 -- more #ifdef juggling.makefile, ckcdeb.h, ckutio.c, 13 Aug 97.Changed references to modemp[n_TAPI] to modemp[n_TAPI - 1] because themodemp[] array is 0 based even though the modem type numbers are 1-based.Confusing but true.  ckudia.c, 13 Aug 97.Another day spent with SCO 5.0.4.  Evidently the new stuff (high serial speedsetc) only works in 5.0.4, even though it might be in the header files for5.0.2, so I changed the symbols, makefile entry names, etc, accordingly.Experimentation with flow control revealed: . The <sys/termiox.h> material (RTSXOFF/CTSXON) compiles OK but doesn't work   (the ioctls return -1). . The RTSFLOW/CTSFLOW material does not show up in a POSIX compilation. . Forcing RTSFLOW/CTSFLOW definitions (yuk) seems to do the trick.But forcing TIOCMGET does not get us working modem signals -- the ioctls justsay "invalid argument".  But I left it in anyway, because some third-partydrivers, like Digiboard, might implement it.  ckcdeb.h, ckutio.c, ckuus5.c,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -