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

📄 old-history-2

📁 一个通讯程序源码
💻
📖 第 1 页 / 共 3 页
字号:
============= Changes for ECU 3.10 =======================================This file gives hints about what has changed.  Rereading or skimmingthe manual is highly recommended.  My apologies if some changes didnot get reflected in the manual.  Please let me know.1. Add nice interactive and procedure commands and %nice integer function.2. Add the %uid and %gid integer function.3. If ECU starts setuid, always reset the uid to the real uid.   Previously this only happened if ECU was setuid to root.4. Made compatible with Metro Link X11R4 xterm under SCO UNIX/386.   To use:   a. include -DMETROLINK_X11R4 in CFLAGS of ECU compilation.   b. edit the models/nonansikeys file patched by this patch      to comment out the SCO ODT xterm key definiton and      uncomment the Metro Link X11R4 definition.      Follow other instructions you see in the nonansikey file.5. Fixed miscellaneous typos and misspelled words in models/nonansikeys.6. Environment variables LINES and COLS override termcap li and co   values like terminfo curses does.  This gives you the correct   size screen on xterms, but the ecu curses stuff still sees   the termcap description un altered, giving you shorter (usually 24 line)   dialing and help menus.7. Support is provided in nonansikeys for Metro Link's MetroX newest   xterm (the one that uses pty pseudottys).  (Some of the key   bindings are differerent and some .xinitrc and xterm resources   are required; see 'models/nonansikeys'.)8. The -N switch for the procedure commands sx, sy, sz, rx, ry, and   rz forces the "no curses" mode for file transfer.  This mode   uses brief, tty-style reporting of file transfer progress.   The "no curses" mode is automatically invoked if the console   is not a pty or multiscreen and has a lower baud rate than the   attached communication line.9. I added a dialer for the "generic Hayes-style 2400" (dialgHA24) and   for the USR Courier 2400 (dialgUSR24).  My USR is at least   6 years old and I don't even know if they still make them or   if it is the same modem.10. A new config procedure greatly simplifies making and installing.11. I don't know if this will get it or not, but to try and help    our European friends to be able to use alt_[a-z].ep, the keycodes    required in the mapkeys file have changed from      128 through 153 (0x80 through 0x99)     to      229 through 249 (0xE0 through 0xF9).    Reread mapkeys/README.12. Termination of file transfers by SIGINT did not cause termination    of procedfure execution in pre-3.10 versions.  In this version, it does.    The appropriate manual sections have been updated to indicate:    Integer variable $i0 receives the exit status from the transfer.    Note: procedure execution IS terminated by a SIGINT to the spawned    file transfer process.  This is different than for versions prior    to 3.10.  If $i0 is set to -1, the file transfer program did not    begin.13. kbdtest3 is included to help figure out nonansikey configurations.    see models/nonansikeys.14. SCO UNIX MEMMOVE() AND GCCmemmove() is a very, very fast non-overlapping memory copy, butsince it does not save certain registers it uses, calling fromGCC can be tricky.  GCC does a fabulous job of grinding all itcan out of the available registers; MSC doesn't make very gooduse of registers, er, I mean keeps a lot of registers for scratchuse.  I've never seen 386 MSC use dx except as a side effect ofmultiply.  I guess that's what somebody (Gates?) meant by "tuning"one compiler to meet many needs being adequate. Enough philosophy,though.I am using of -fcall-save-{ax,bx,cx,dx} since in at least onecase (ecufkey.c display_keyset()), rigorous optimization andreally righteous register usage caused a call to strlen() toscrew up since cx is not preserved by strlen.strlen:         push    edistrlen+0x1:     mov     edi,[esp+0x8]strlen+0x5:     xor     eax,eax               <-- goodbye ax strlen+0x7:     mov     ecx,0xffffffff        <-- goodbye cxstrlen+0xc:     repne   scasbstrlen+0xe:     inc     ecx     strlen+0xf:     mov     eax,ecx strlen+0x11:    not     eaxstrlen+0x13:    pop     edistrlen+0x14:    retmemmove:        push    ebpmemmove+0x1:    mov     ebp,espmemmove+0x3:    mov     edx,edi               <-- move rather than pushmemmove+0x5:    mov     ebx,esi               <-- move rather than pushmemmove+0x7:    mov     esi,[ebp+0xc]memmove+0xa:    mov     edi,[ebp+0x8]memmove+0xd:    mov     eax,edi               <-- goodbye ax memmove+0xf:    mov     ecx,[ebp+0x10]        <-- goodbye cx (OK w/MSC)memmove+0x12:   jcxz    memmove+0x43memmove+0x14:   cmp     edi,esimemmove+0x16:   jbe     memmove+0x2ememmove+0x18:   mov     eax,esimemmove+0x1a:   add     eax,ecxmemmove+0x1c:   cmp     edi,eaxmemmove+0x1e:   jae     memmove+0x2ememmove+0x20:   mov     eax,edimemmove+0x22:   add     esi,ecxmemmove+0x24:   add     edi,ecxmemmove+0x26:   dec     esimemmove+0x27:   dec     edimemmove+0x28:   stdmemmove+0x29:   rep     movsbmemmove+0x2b:   cldmemmove+0x2c:   jmp     near memmove+0x43memmove+0x2e:   mov     eax,edimemmove+0x30:   test    Byte Ptr 0x1f:0x1,almemmove+0x36:   je      memmove+0x3amemmove+0x38:   movsbmemmove+0x39:   dec     ecxmemmove+0x3a:   shr     ecx,1memmove+0x3c:   rep     movswmemmove+0x3f:   adc     ecx,ecxmemmove+0x41:   rep     movsbmemmove+0x43:   mov     esi,ebxmemmove+0x45:   mov     edi,edxmemmove+0x47:   pop     ebpmemmove+0x48:   retmemmove+0x49:   nopmemmove+0x4a:   nopmemmove+0x4b:   nop15.  A documented feature is that upon connecting to a remotedialed through the directory, if a 'fkey' key set from ~/.ecu/keys matches the directory name, the key set is automatically loaded.This feature has never worked (I never used it or tested it.)Recently I told someone they could use it and they reported itdid not work.  It does now.16. The example file models/sz_update.ep was treating skipped filesas a failed transfer.  This was fixed.17. Interactive and procedure commands 'pushd' and 'popd' were added.18.  Adding pushd and popd documentation made ecu.man too longgiving me "word overflow" and a core dump from my nroff.  So,there are now two documents, ecu.man and exits.man.  The latteris very short and is just a kludge since the former is as long asit can be.19. Added the procedure rlog command for procedure control ofreceiver logging.20. Added _initial.ep, _connect.ep and _hangup.ep. See "SpecialProcedures" in the manual.21. The use of #ifdef GCC140 is made to take advantage of aassembly source generation bug fix in gcc 1.40.22. Running ecu with no pre-existing phone directory and specifyinga logical phone number (directory entry) to dial caused erraticbehavior or core dump.  This has been fixed.  Thanks for the reportfrom mju@mudos.ann-arbor.mi.us.  He did a good job of testingan alpha version of 3.10.23. Pressing an invalid function key during interactive commandentry used to destroy the string being entered.  This hasbeen fixed.24. The ESCape vs. function key keyboard input discriminationalgorithm has been improved.  Fewer, if any, function keys will nowmisinterpreted as ESCape keys followed by "junk."README.P1           ECU 3.10 Patch 1     Mon Aug 12 03:46:20 EDT 1991This describes patch 1 to ECU 3.10, bringing the program toversion 3.11.  Due to the manner in which the program builds itsversion strings, patchlevel.h should contain #define PATCHLEVEL11.To use------To apply the patch, unshar all of the parts.  This step willcreate patch files and overwrite some files whose diffs werelarger than the new files.type the command    sh PATCH1.APPLYthen do the    Configuresequence and re-makeOnce you are satisfied the patch has been correctly applied,you may     rm PATCH1.*and    make neatto remove the usual crud and peanut hulls left on the floor aftera patch operation.This patch fixes the following problems:----------------------------------------1.  ISC lock files are placed in /usr/spool/locks.  ECU now has aconfigurable lock file directory whose name is automatically selecteddepending upon the machine type.1.  1.  Several problems with compiling the the makedirs program underXENIX were fixed.3.  The 'w' (wait) subcommand of the dialing directory screen was notasking for both single and multiple entry list weait values, but onlythe first.4.  VT220 and perhaps other terminals insist upon generating the CSI(ESCape plus 0x80) character as a function prefix.  To handle the needfor eight bit keryboard support for nonansikeys, I did the following:   a. fixed the ECU code to honor the full eight bits of keyboard      code sequences when processing function key reads.   b. removed other code that masks the parity bit of various data items.   c. added code the kbdtest3.c that includes an stty -a listing for      the keyboard at the time it is run.  I also specify in clearer      terms what parity was in use and that may be required to use      the keyboard.5.  Previously, you had to have a copy of nonansikeys in each user's.ecu directory who use non-ANSI consoles.  You may now put a single copyin the ECU library directory (usually /usr/local/lib/ecu).  ECU searchesfirst in ~/.ecu then in the library directory.5a. The manual stated a number of restrictions regardingthe codes which can be transmitted by a keyboard to be supportedby the non-ANSI console feature.  I missed updating that manual partwhen I released 3.10.  ECU 3.10 merely requires the code sequenceto be free of nulls and less than 33 characters in length.6.  The models/nonansikeys file has been updated to include an entry forthe latest Metro Link X11R4 server.  The new server has improved defaultkey bindings and the previously dead KP_5 (unshifted Keypad 5) lives.7.  In previous revisions of ECU, when editing an existing string on ascreen, the cursor was placed at the end of the line at the commencementof editing.  This was untrue of 3.10 and this patch restores thebehavior.8.  Baud rates below 300 now get two stop bits.  I doubt anyone is using110 baud but if you ever get the hankering, it will work now.9.  In the respond function of the expect-respond handler, \n sent CRnot NL as documented.10.  The test for an environment HZ was incorrect causing thesys/param.h value to be used always.11.  The 'nap' procedure command napped for the wrong amount of time ifthe -m option was used.12. Under some conditions, ecuungetty would find a lock file created byits (parent) ECU and report that the line was in use by another dial out.This has been around for a long time.13. The command history mechanism got botched up by some last minutechanges to the tty line input editor. 

⌨️ 快捷键说明

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