-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathckermit80.txt
10279 lines (8429 loc) · 454 KB
/
ckermit80.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
[1]The Columbia Crown The Kermit Project | Columbia University
612 West 115th Street, New York NY 10025 USA o [2][email protected]
...since 1981
[3]Home [4]Kermit 95 [5]C-Kermit [6]Scripts [7]Current [8]New [9]FAQ
[10]Support
C-Kermit 8.0 Update Notes
Second Supplement to Using C-Kermit, 2nd Edition
For C-Kermit 8.0
As of C-Kermit version: 8.0.211
Date of C-Kermit release: 10 April 2003
This file last updated: Mon Sep 13 08:52:36 2010
* IF YOU ARE READING A PLAIN-TEXT version of this document, note that
it is a plain-text dump of a Web page. You can visit the original
(and possibly more up-to-date) Web page here:
[15]http://www.columbia.edu/kermit/ckermit80.html
* If you are reading the HTML version of this file with a GUI Web
browser, the features added since C-Kermit 8.0.201 are shown in red
if your browser and monitor permit. Features that were new to
versions 8.0.200 and 201 are in black.
Authors: Frank da Cruz and Christine M. Gianone
Address: The Kermit Project
Columbia University
612 West 115th Street
New York NY 10025-7799
USA
Fax: +1 (212) 662-6442
E-Mail: [16][email protected]
Web: [17]http://www.columbia.edu/kermit/
Or: [18]http://www.kermit-project.org/
Or: [19]http://www.columbia.nyc.ny.us/kermit/
NOTICES
This document:
Copyright © 1997, 2002, Frank da Cruz and Christine M. Gianone.
All rights reserved.
Kermit 95:
Copyright © 1995, 2002, Trustees of Columbia University in the
City of New York. All rights reserved.
C-Kermit:
Copyright © 1985, 2002,
Trustees of Columbia University in the City of New York. All
rights reserved. See the C-Kermit [20]COPYING.TXT file or the
copyright text in the [21]ckcmai.c module for disclaimer and
permissions.
When Kerberos(TM) and/or SRP(TM) (Secure Remote Password) and/or
SSL/TLS protocol are included:
Portions Copyright © 1990, Massachusetts Institute of
Technology.
Portions Copyright © 1991, 1993 Regents of the University of
California.
Portions Copyright © 1991, 1992, 1993, 1994, 1995 by AT&T.
Portions Copyright © 1997, Stanford University.
Portions Copyright © 1995-1997, Eric Young <[email protected]>.
For the full text of the third-party copyright notices, see
[22]Appendix V.
WHAT IS IN THIS FILE
This file lists changes made to C-Kermit since version 7.0 was released
in January 2000. Use this file as a supplement to:
* The second edition of [23]Using C-Kermit; and:
* The [24]C-Kermit 7.0 Update Notes. Also available in plain-text
form as [25]ckermit70.txt.
until the third edition of Using C-Kermit is published. We apologize
for the scattered documentation and will consolidate it when we are
able.
ADDITIONAL FILES
Several other files accompany this new Kermit release:
[26]ckututor.html
C-Kermit Tutorial (for Unix). Also distributed in Nroff form as
[27]ckuker.nr, the Unix C-Kermit manual page.
[28]security.htm
Discussion of Kermit's new authentication and encryption
features, updated for C-Kermit 8.0.
[29]telnet.htm
Detailed documentation of Kermit's Telnet client, updated for
C-Kermit 8.0.
[30]ftpscripts.html
Tutorial: Writing FTP automation scripts
[31]ckcbwr.html
Platform-independent C-Kermit hints and tips. Also distributed
in plain text form as [32]ckcbwr.txt
[33]ckubwr.html
Unix-specific C-Kermit hints and tips. Also distributed in plain
text form as [34]ckubwr.txt.
[35]ckvbwr.html
VMS-specific C-Kermit hints and tips. Also distributed in plain
text form as [36]ckvbwr.txt.
[37]ckuins.html
Unix C-Kermit installation instructions. Also distributed in
plain text form as [38]ckuins.txt.
[39]ckvins.html
VMS C-Kermit installation instructions. Also distributed in
plain text form as [40]ckvins.txt.
[41]ckccfg.html
Compile-time configuration options. Also distributed in plain
text form as [42]ckccfg.txt.
[43]ckcplm.html
C-Kermit Program Logic Manual. Also distributed in plain text
form as [44]ckcplm.txt.
[45]iksd.html
Internet Kermit Service Administrators Guide for Unix.
[46]skermit.html
C-Kermit as an SSH Subsystem (SFTP server replacement).
[ [47]Top ] [ [48]C-Kermit ] [ [49]Kermit Home ]
CONTENTS
[50]0. WHAT'S NEW
[51]1. FIXES SINCE VERSION 7.0.196
[52]2. SSH AND HTTP
[53]2.1. SSH Connections
[54]2.2. HTTP Connections
[55]2.2.1. HTTP Command Switches
[56]2.2.2. HTTP Action Commands
[57]2.2.3. HTTP Headers
[58]2.2.4. Secure HTTP Connections
[59]2.2.5. HTTP Variables
[60]2.2.6. The HTTP Command-Line Personality
[61]3. THE BUILT-IN FTP CLIENT
[62]3.1. Making and Managing FTP Connections
[63]3.1.1. Kermit Command-Line Options for FTP
[64]3.1.2. The FTP Command-Line Personality
[65]3.1.3. The FTP URL Interpreter
[66]3.1.4. Interactive FTP Session Establishment
[67]3.2. Making Secure FTP Connections
[68]3.3. Setting FTP Preferences
[69]3.4. Managing Directories and Files
[70]3.5. Uploading Files With FTP
[71]3.5.1. FTP PUT Switches
[72]3.5.2. Update Mode
[73]3.5.3. Recovery
[74]3.6. Downloading Files With FTP
[75]3.6.1. FTP GET Switches
[76]3.6.2. Filename Collisions
[77]3.6.3. Recovery
[78]3.7. Translating Character Sets
[79]3.7.1. Character Sets and Uploading
[80]3.7.2. Character Sets and Downloading
[81]3.8. FTP Command Shortcuts
[82]3.9. Dual Sessions
[83]3.10. Automating FTP Sessions
[84]3.10.1. FTP-Specific Variables and Functions
[85]3.10.2. Examples
[86]3.10.3. Automating Secure FTP Connections
[87]3.11. Advanced FTP Protocol Features [88]4. FILE SCANNING
[89]5. FILE AND DIRECTORY NAMES CONTAINING SPACES
[90]6. OTHER COMMAND PARSING IMPROVEMENTS
[91]6.1. Grouping Macro Arguments
[92]6.2. Directory and File Name Completion
[93]6.3. Passing Arguments to Command Files
[94]6.4. More-Prompting
[95]6.5. Commas in Macro Definitions
[96]6.6. Arrow Keys
[97]7. NEW COMMANDS AND SWITCHES
[98]8. SCRIPTING IMPROVEMENTS
[99]8.1. Performance and Debugging
[100]8.2. Using Macros as Numeric Variables
[101]8.3. New IF Conditions
[102]8.4. The ON_UNKNOWN_COMMAND and ON_CD Macros
[103]8.5. The SHOW MACRO Command
[104]8.6. Arrays
[105]8.7. New or Improved Built-in Variables and Functions
[106]8.8. The RETURN and END Commands
[107]8.9. UNDEFINing Groups of Variables
[108]8.10. The INPUT and MINPUT Commands
[109]8.11. Learned Scripts
[110]8.12. Pattern Matching
[111]8.13. Dates and Times
[112]8.14. Trapping Keyboard Interruption
[113]9. S-EXPRESSIONS
[114]9.1. What is an S-Expression?
[115]9.2. Integer and Floating-Point-Arithmetic
[116]9.3. How to Use S-Expressions
[117]9.4. Summary of Built-in Constants and Operators
[118]9.5. Variables
[119]9.6. Assignments and Scope
[120]9.7. Conditional Expressions
[121]9.8. Extensibility
[122]9.9. Examples
[123]9.10. Differences from Algebraic Notation
[124]9.11.Differences from Lisp
[125]10. FILE TRANSFER
[126]11. MODEMS AND DIALING
[127]12. TERMINAL CONNECTION
[128]13. CHARACTER SETS
[129]14. DIALOUT FROM TELNET TERMINAL SERVERS
[130]15. COPING WITH BROKEN KERMIT PARTNERS
[131]16. NEW COMMAND-LINE OPTIONS
[132]17. LOGS
[ [133]Top ] [ [134]C-Kermit ] [ [135]Kermit Home ]
0. WHAT'S NEW
The Initialization and Customization Files
C-Kermit 8.0 now supports specification of the initialization
file name (path) in an environment variable, CKERMIT_INI. It
also relies far less than before on the initialization for
functioning. See [136]Section 5 of the Unix C-Kermit
[137]installation instructions for details. As of version
8.0.201, C-Kermit also executes your customization file (if you
have one) even if the initialization file was not found.
Previously, the customization file was executed by a TAKE
command in the initialization file (and it still is, if an
initialization is found).
Incompatible Changes
As always, we do our best to avoid changes that break existing
scripts. However, C-Kermit 8.0 does include a rather pervasive
syntax change that might alter the behavior of scripts that
depend on the previous behavior. As described in [138]Section 5,
C-Kermit now accepts doublequotes in most contexts where you
previously had to use braces to group multiple words into a
single field, or to force inclusion of leading or trailing
blanks. Most noticeably, in C-Kermit 7.0 and earlier:
echo {this is a string}
would print:
this is a string
whereas:
echo "this is a string"
printed:
"this is a string"
In C-Kermit 8.0, both print:
this is a string
To force the doublequotes to be treated as part of the string,
use either of the following forms:
echo {"this is a string"}
echo ""this is a string""
Similarly, to force braces to be treated as part of the string:
echo "{this is a string}"
echo {{this is a string}}
Other incompatibilities:
1. Using the SET HOST command to make HTTP connections is no
longer supported. Instead, use the new HTTP OPEN command,
described in [139]Section 2.2.
C-Kermit 7.1 Alpha.01 (8 December 2000)
Its major new features are those listed in the [140]Table of
Contents: the FTP client, file scanning, command parsing and
scripting improvements, S-Expressions, and support for the
Telnet Com Port Option, plus wider availability of the Kerberos,
SSL/TLS, and SRP security options for secure Internet
connections.
C-Kermit 7.1.199 Alpha.02 (4 January 2001)
+ C-Kermit now accepts [141]FTP, TELNET, and IKSD URLs as its
first command-line argument.
+ Character-set translation added to the FTP client for
[142]filenames.
+ Optional [143]setting of date of incoming files by FTP [M]GET
from the server date.
+ [144]FTP CHECK filename added to let FTP client check the
existence of a file on the server.
+ [145]FTP GET /NAMELIST:filename added to get list of server
filenames into a local file.
+ [146]FTP [M]PUT /SERVER-RENAME:template added to make server
rename a file as indicated by the template after it has
arrived completely.
+ FTP [M]GET /SERVER-RENAME:template added to make server rename
a file as indicated by the template after it has been sent
completely.
+ FTP [147]VDIRECTORY added for getting verbose directory
listings from TOPS-20.
+ [148]FTP TYPE TENEX added for transferring 8-bit binary files
with PDP-10s.
+ Added [149]automatic text/binary mode switching for FTP
[M]GET, based on filename patterns (e.g. *.zip, *.gz, *.exe
are binary; *.txt, *.c are text).
+ [150]SET SEND I-PACKETS OFF added for coping with Kermit
servers that do not support I packets.
+ A new option was added to [151]\fword() and \fsplit() for
parsing comma-separated lists that might contain empty
elements.
+ Bug fixes including:
o {} or "" could not be used as expected to represent the
empty string.
o ,- on a line by itself in a macro definition caused
subsequent statements to be skipped.
o FTP [M]GET didn't work right if path segments were
included in the filespec.
o FTP MGET, if interrupted, did not clear its file list.
o Various problems with FTP PUT /AS-NAME that nobody
noticed.
o Some FTP messages and displays interfered with each
other.
o Parsing of YESTERDAY, TODAY, and TOMORROW in date-time
fields was broken.
o Automatic old-to-new dialing directory format conversion
was broken on VMS.
o Various source-code portability problems fixed.
+ Improvement of various HELP and SHOW messages.
C-Kermit 7.1.199 Alpha.04 (1 April 2001)
+ Big changes:
o Changed default modem type from NONE to GENERIC.
o Generic dialing now sends no init string at all.
o Changed default terminal bytesize from 7 to 8.
+ New features:
o SET SESSION-LOG TIMESTAMPED-TEXT for timestamped session
log.
+ New modem types:
o Conexant modem family
o Lucent VENUS chipset
o PCTel V.90 chipset
o Zoom V.90
o Zoom V.92
+ FTP client:
o FTP OPEN /PASSIVE and /ACTIVE switches added.
o Now works with servers that that don't include path in
NLST response.
o Fixed SEND /RECURSIVE not to follow symlinks (UNIX).
o SET FTP VERBOSE-MODE default is now OFF instead of ON.
+ Kermit protocol:
o Fixed what I hope is the last "Receive window full"
error.
o SET PREFIXING or SET CONTROL PREFIX now automatically
sets CLEARCHANNEL OFF.
o Fixed incorrect report of number of files transferred at
end of transfer.
o Fixed SEND /RECURSIVE not to follow symlinks (UNIX).
+ UNIX:
o HTTP and shadow passwords enabled for SCO 5.0.6.
o Even with SET FILENAMES CONVERTED, spaces were still
accepted in incoming filenames; now they are converted to
underscores.
o Added support for compile-time mktemp()/mkstemp()
selection.
+ VMS:
o Session-log format for scripted sessions fixed.
+ Scripting:
o Fixed \frdir() not to follow symlinks (UNIX).
o Fixed \fday() not to dump core for dates prior to 17 Mar
1858.
+ General:
o "Closing blah..." message upon exit could not be
suppressed.
o Added /PAGE and /NOPAGE to DELETE switches.
o Added GO response for DELETE /ASK (delete all the rest
without asking).
o Added GO response to "more?" prompt (for multi-page
screen output).
o Updated HELP texts.
C-Kermit 7.1.199 Beta.01 (10 May 2001)
+ FTP client verbosity adjustments.
+ Bug with generic modem dialing pausing several secs fixed.
+ SET HOST /USER:, SET LOGIN USERID, etc, fixed when given no
user ID.
+ A couple \v(dm_blah) dial modifier variables added.
+ "--version" command-line switch added.
+ Fixed NetBSD serial-port DTR handling.
+ Lots of syntax cleanups for Flexelint and gcc -Wall.
+ Fixed modem-type aliases to not take precedence over real
names.
+ Fixed funny treatment of doublequotes by ECHO command.
+ Enabled SET SESSION-LOG for VMS and other non-UNIX platforms.
+ Fixed changing direction in command history buffer.
+ Fixed handling of IKSD URLs.
+ Made sure DELETE prints a message if it got any errors.
C-Kermit 8.0.200 Beta.02 (28 June 2001)
+ Major version number increased from 7 to 8.
+ [152]SSH command.
+ More-consistent Kermit protocol defaults.
+ CONNECT idle timeout and action selection.
+ CONNECT status variable.
+ A way to allocate more space for filename lists.
+ Pseudoterminal handler fixed for late-model Linuxes.
+ Command-line option -dd for timestamped debug log.
+ Download directory now works for external protocols too.
+ GREP /COUNT:variable.
+ SET ATTRIBUTE RECORD-FORMAT { OFF, ON }.
+ Bug fixes.
C-Kermit 8.0.200 Beta.03 (9 Sep 2001)
+ [153]HTTP 1.1 connections and scripting
+ [154]ON_CTRLC macro for trapping Ctrl-C in scripts
+ [155]Date-time parsing improvements, timezones, comparison,
arithmetic
+ [156]Pattern-matching improvements
+ FTP improvements
+ SET EXIT HANGUP { ON, OFF }
+ SET FILE EOF { CTRL-Z, LENGTH }
+ ASK[Q] /TIMEOUT
+ Bug fixes
+ New platforms
C-Kermit 8.0.200 Beta.04 (16 Nov 2001)
+ [157]New Unix man page
+ [158]New Unix installation instructions
+ SET TELOPT policies are now enforced on non-Telnet ports if
the server begins Telnet negotiations.
+ SET TERMINAL IDLE-ACTION { TELNET-NOP, TELNET-AYT }.
+ UUCP lockfile creation race condition fixed.
+ Dialout, modem signals, hangup, hardware flow control, etc,
tested extensively on many platforms, numerous problems fixed.
+ Improved hints when dialing fails.
+ SET STOP-BITS 2 can now be given without SET FLOW HARDWARE.
+ Major improvements in RFC 2217 Telnet Com-Port Control.
+ Improved ability to REDIAL a modem server port.
+ kermit -h now shows the command name in the usage usage
string.
+ kermit -h now shows ALL command-line options.
+ kermit -s blah, where blah is a symlink, now works.
+ --noperms command-line option = SET ATTRIBUTE PERMISSIONS OFF.
+ HTTP and HTTPS URLs now supported on the command line.
+ An http command-line personality is now available.
+ Initialization file streamlined to load faster, anachronisms
removed.
+ Updated NEWS, INTRO, HELP text, SHOW commands. In particular,
see SHOW COMM, HELP SET LINE, HELP WAIT.
+ Date/time arithmetic routines converted from floating-point to
integer arithmetic (internally) for greater accuracy and
portability.
+ Quoted strings containing commas no longer break macro
execution.
+ Dynamic Kermit file-transfer timeouts are now much more
aggressive.
+ New "hot keys" to turn debug.log on/off during file transfer.
+ Improved hints when file transfer fails.
+ FTP CD orientation messages are now printed.
+ -R now accepted on the FTP command line to request Recursion.
+ -m allows Active or Passive mode to be chosen on the FTP
command line.
+ -dd on the FTP command line creates a timestamped debug.log.
+ FTP command-line security options filled in.
+ Improved automatic text/binary mode switching for MGET.
+ Removed spurious error messages that sometimes occur during
MGET.
+ DIRECTORY, GREP, TYPE, HEAD, and TAIL now have a /OUTPUT:file
option.
+ TYPE /NUMBER adds line numbers.
+ CAT = TYPE /NOPAGE; MORE = TYPE /PAGE.
+ GETOK ?-help fixed.
+ \v(timestamp) (= "\v(ndate) \v(time)")
+ \v(hour) (hour of the day, 0-23)
+ \funix2dospath() converts a UNIX path (/) to a DOS one (\).
+ \fdos2unixpath() converts a DOS (Windows, OS/2) path to a UNIX
one.
+ \fkeywordval() parses name=value pair, allows macro keyword
parameters.
+ We now make every attempt to not write passwords to the
debug.log.
+ New Certificate Authority certificates file, includes the
Kermit Project at Columbia University so you can access our
IKSD securely.
+ Secure targets improved and better documented in Unix
makefile.
+ All Linux (libc and glibc) builds consolidated under "make
linux".
+ HP-UX makefile targets now have consistent names.
+ New aix50 and aix51 targets added.
C-Kermit 8.0.200 Final (12 Dec 2001)
+ Remote/local-mode confusion on some platforms introduced in
Beta.04, fixed.
+ Many of the makefile targets adjusted, new ones added.
+ New "make install" target should please most people.
+ New command: SHOW IKSD.
+ FTP over TLS.
+ Last-minute touchups to text messages, HELP text, etc.
+ Enable modem-signal reading for SCO OSR5 and Unixware 7.
+ Special superfast TRANSMIT /BINARY /NOECHO /NOWAIT mode added.
+ Fixed PBX dialing in unmarked-area-code case.
+ Improved SHOW COMMUNICATIONS tells lockfile directory, typical
dialout device name.
+ Some FTP OPEN command parsing problems fixed.
+ Some errors in date arithmetic fixed.
+ New command: SET TERMINAL AUTODOWNLOAD { ..., ERROR { STOP,
CONTINUE } }
+ New command: HELP FIREWALL.
+ SET MODEM HANGUP-METHOD DTR added as synonym for RS232-SIGNAL
+ Support for secure URL protocols added: telnets:, ftps:,
https:.
C-Kermit 8.0.201 (8 Feb 2002)
+ Installability as an [159]SSH v2 Subsystem.
+ [160]SET LOCUS command.
+ [161]L-versions of CD, DIR, DELETE, MKDIR, etc, to force local
execution.
+ [162]USER and ACCOUNT added as synonyms for FTP USER and FTP
ACCOUNT.
+ [163]SHOW VARIABLES now accepts a list of variables.
+ Rudimentary support for [164]Caller ID when receiving phone
calls.
+ Up/Down [165]Arrow-key navigation of command history buffer.
+ [166]Automatic execution of customization file if init file is
missing.
C-Kermit 8.0.206 Beta.01 (11 Oct 2002)
New commands:
o ORIENTATION lists location-related variables and their
values.
o KCD changes to special directories by their symbolic
names ("kcd ?" for a list).
o SET CD HOME path to specify home directory for CD and KCD
commands.
o CONTINUE given at top level is equivalent to END -- handy
when PROMPT'ed out of a script, to continue the script.
New switches or operands for existing commands:
o GETOK /TIMEOUT
o ASK, ASKQ, GETOK /QUIET (suppresses error message on
timeout)
o COPY /APPEND now allows concatenating multiple source
files into one dest file.
o SET TCP { HTTP-PROXY, SOCKS-SERVER } /USER, /PASSWORD.
o DIRECTORY command now accepts multiple filespecs, e.g.
"dir a b c".
SET QUIET ON now also applies to:
o SET HOST connection progress messages.
o "Press the X or E key to cancel" file-transfer message.
o REMOTE CD response.
o REMOTE LOGIN response.
Improvements and new features:
o Numerous FTP client fixes and new features, listed below.
o C-Kermit, when in remote mode at the end of a file
transfer, now prints a one-line "where" message. Control
with SET TRANSFER REPORT.
o Unix makefile "install" target now creates an UNINSTALL
script.
o Improved operation and performance on RFC 2217 Telnet
connections.
o Improved CONNECT (interactive terminal connection)
performance.
o HELP text updated for many commands.
New or fixed makefile targets:
o Solaris 9 (several variations)
o Concurrent PowerMAX
o Mac OS X 10.2
o FreeBSD 1.0
o FreeBSD 4.6, 5.0
o AIX 5.2, 5.3
Bugs fixed (general):
o Failure to run in VMS Batch fixed.
o LDIRECTORY fixed to run Kermit's built-in DIRECTORY
command rather than an external one.
o Fixed Solaris and other SVORPOSIX builds to find out
their full hostnames rather than just the "uname -n"
name.
o Fixed some problems matching strings that start with ".".
o Fixed some problems matching pattern that contain {a,b,c}
lists.
o Fixed erroneous reporting of text-mode reception as
binary when sender did not report the file size (cosmetic
only).
o Many problems with SWITCH statements fixed.
o Fixed SET OPTIONS DIRECTORY /DOTFILES to work for server
too.
o Fixed DELETE to print an error message if the file was
not found.
o Fixed SET CONTROL UNPREFIX ALL and SET PREFIXING NONE to
do the same thing.
o Fixed bugs executing macros from within the ON_EXIT
macro.
o \fday() and \fnday() fixed for dates prior to 17 Nov
1858.
o Serial speed-changing bug in Linux fixed.
o "Unbalanced braces" script parsing errors when using
\{number} fixed.
o "if defined \v(name)" fixed to behave as described in the
book.
o Fixed Problems caused by LOCAL variables whose names are
left substrings of macro names.
o The INPUT command was fixed to honor the PARITY setting.
o Fixed bug with COPY to existing file that is longer than
source file.
o REINPUT command failed to strip braces/quotes around its
target string.
o Network directory lookups didn't work for SSH
connections.
o REMOTE SET { FILE, TRANSFER } CHARACTER-SET fixed.
o Closed some holes whereby an incompletely received file
was not deleted when SET FILE INCOMPLETE is DISCARD, e.g.
when the Kermit is hung up upon.
o SET XFER CHARACTER-SET TRANSPARENT fixed to do the same
as SET XFER TRANSLATION OFF.
o SET HOST PTY (e.g. SSH) connection fixed to pass along
window-size changes.
o C-Kermit search path for TAKE files was accidentally
disabled.
FTP client bugs fixed:
o Character set translation was broken on little-endian
(e.g. PC) architectures.
o FTP PUT /SERVER-RENAME:, /RENAME-TO:, /MOVE-TO: switches
were sticky.
o Make SET TRANSFER MODE MANUAL apply to FTP.
o Make SET FILE INCOMPLETE { KEEP, DISCARD } apply to FTP.
o FTP MGET /UPDATE handled equal times incorrectly.
o FTP MGET /RECOVER fixed to ignore file dates, use only
size.
o FTP MGET /RECOVER sometimes downloaded files it didn't
need to.
o FTP downloads with TRANSFER DISPLAY BRIEF could give
misleading error messages.
o FTP MGET temp file not deleted if FTP DEBUG set to OFF
after it was ON.
o LOCUS not switched back when FTP connection is lost.
o Set incoming file date even if it was not completely
received.
o FTP MGET sent SIZE and MDTM commands even when it didn't
have to.
o FTP MGET sent SIZE and MDTM commands even when it knew
they wouldn't work.
o FTP MGET failed if no files were selected for download.
o FTP MGET a* b* c* would fail to get any c*'s if no b*'s
existed.
o Big problems canceling MGET with Ctrl-C.
o Some extraneous LOCUS dialogs squelched.
o Some inconsistencies in SET FTP FILENAMES AUTO fixed.
o Fixed file-descriptor pileup after multiple MGETs when
using mkstemp().
o Fixed "mget foo", where foo is a directory name.
FTP improvements:
o New [167]FTP protocol features added (FEAT, MLSD).
o FTP MGET /RECURSIVE now works as expected if server
supports MLSD.
o FTP MGET /DATES-DIFFER to download if local and remote
file dates differ.
o FTP DATES default changed to ON.
o FTP MPUT, MGET /EXCEPT now allows up to 64 patterns (up
from 8).
o Top-level SITE and PASSIVE commands added for
convenience.
o MGET /COLLISION:APPEND /AS-NAME:newfile *.* puts all
remote files into one local file.
o SET FTP SERVER-TIME-OFFSET for when server has wrong
timezone set.
o Allow for alternative server interpretations of [M]MPUT
/UNIQUE.
o SET FTP ANONYMOUS-PASSWORD lets you specify the default
anonymous password.
o Allow "GET /RECURSIVE path/file" to force local
subdirectory creation.
o SET FTP DISPLAY is like SET TRANSFER DISPLAY but applies
only to FTP.
o FTP { ENABLE, DISABLE } new-protocol-feature-name.
o FTP MGET /NODOTFILES.
o Debug log now records FTP commands and responses in
grep-able format.
[ [168]Top ] [ [169]Contents ] [ [170]C-Kermit ] [ [171]Kermit Home ]
1. FIXES SINCE VERSION 7.0.196 First, the changes from 7.0.196 to 7.0.197...
Source and makefile tweaks to get successful builds on platforms that were
not available in time for the 7.0 release:
* 4.2BSD
* 4.3BSD
* AIX 4.3
* AT&T 3B2 and 3B20
* BeOS 4.5
* CLIX
* Interactive UNIX System V/386 R3.2 V4.1.1
* OS-9/68000
* OSF/1 1.3.
* PS/2 AIX 1.2.1
* SCO OSR5.0.x
* SCO Xenix 2.3.4
* SINIX 5.41/Intel
* Stratus FTX
* Stratus VOS
* SunOS 4.1 with X.25
* Ultrix 4.2
* Unixware 2.0
There were no functional changes from 196 to 197.
Fixes applied after C-Kermit 7.0.197 was released:
Source code: Big flexelint and "gcc -Wall" audit and cleanup.
Configuration:
* Solaris RTS/CTS (hardware flow control) didn't work.
* BSDI RTS/CTS worked only in one direction.
* FreeBSD 4.0 with ncurses 5.0 broke interactive command parsing.
* QNX-32 build lacked -DBIGBUFOK so couldn't execute big macros.
Connections:
* SET HOST /PTY didn't work on some platforms.
* Broken SET HOST /USER:xxx /PASSWORD:yyy /ACCOUNT:zzz switches
fixed.
* Transparent printing was broken in Unix.
* ANSWER 0 (wait forever) didn't work.
* Some problems in Multitech modem command strings.
* Spurious "?Sorry, can't condition console terminal" errors.
* Disabling modem command strings by setting them to nothing broke
dialing.
* SET DIAL TIMEOUT value was usually ignored.
* SET DIAL METHOD PULSE didn't work.
* Certain modem commands, if changed, not refreshed if modem type
changed.
* SET SESSION-LOG command was missing from VMS.
* VMS session log format fixed for scripts.
* HANGUP by dropping DTR didn't work in NetBSD.
* SET FLOW /AUTO versus SET FLOW confusion fixed.
* Spurious secondary Solaris lockfile removed.
* SCO OSR5 DTR On/Off hangup.
* UUCP lockfile race condition.
Commands and scripts:
* Missing CAUTIOUS and FAST commands restored.
* Broken PTY command in late-model Linuxes fixed (API changed).
* Fixed off-by-one error in command recall when switching direction.
* Fixed recall of commands that contain '?'.
* COPY /SWAP-BYTES didn't work on some architectures.
* Various combinations of COPY switches didn't work.
* Various problems with COPY or RENAME with a directory name as
target.
* SHIFT didn't decrement \v(argc) if used within IF, ELSE, or SWITCH
block.
* SHIFT didn't affect the \%* variable.
* Divide by zero improperly handled in some \function()s.
* Problems with RETURN from right-recursive functions.
* FSEEK /LINE \%c LAST didn't work if already at end.
* Some buffer vulnerabilities and potential memory leaks were
discovered and fixed.
* \frdirectory() fixed not to follow symbolic links.
* SET EXIT WARNING OFF fixed to work when EXIT given in a script.
* Missing DELETE and MKDIR error message fixed.
* \fday() core dump for ancient dates fixed.
File transfer:
* SEND /COMMAND was broken.
* CRECEIVE was broken (but RECEIVE /COMMAND was OK).
* Quoting wildcard chars in filenames didn't work.
* Problems canceling streaming file transfers with X or Z.
* Problems shifting between streaming and windowing file transfer.
* Non-FULL file-transfer displays erroneously said STREAMING when
not.
* An active SEND-LIST prevented GET from working.
* SET SERVER GET-PATH interpretation of relative names like "." was
wrong.
* The MAIL command was broken.
* "kermit -s *" might have skipped some files.
* Transaction log entries were not made for external protocol
transfers.
* File count report fixed to show number of files actually
transferred.
* Fixed filename conversion to convert spaces to underscores.
* Made SET PREFIXING / SET CONTROL PREFIX also adjust CLEARCHANNEL.
* More "Receive window full" errors fixed.
* Broken terminal buffering after curses display in Solaris fixed.
* SET FILE INCOMPLETE DISCARD did not work in all cases.
* Packet log changed to reformat the start-of-packet character
printably.
* Dynamic timeouts could grow ridiculously large.
Character sets:
* Hebrew-7 translations missed the letter Tav.
* C1 area of CP1252 was ignored.
* SET TRANSFER CHARACTER-SET TRANSPARENT could give garbage
translations.
* TRANSLATE might not work on Little Endian architectures.
* Insufficient range checking in certain TRANSLATE operations.
The following bugs in C-Kermit 8.0.200 were fixed in 8.0.201:
* An obscure path through the code could cause the Unix version of
C-Kermit to dump core during its startup sequence. This happened to
only one person, but now it's fixed.
* When C-Kermit 8.0 is in Kermit server mode and the client says "get
blah", where blah (on the server) is a symlink rather than a real
file, the server unreasonably refused to send the linked-to file.
* When C-Kermit is an FTP client and says "get foo/bar" (i.e. a
filename that includes one or more path segments), it failed to
accept the incoming file (this happened only with GET, not MGET).
* Array references should be case insensitive but only lowercase
array letters were accepted.
* SHOW VARIABLES dumped core on \v(sexpression) and \v(svalue).
* Spurious refusals of remote directory listings if the remote
server's date was set in the past.
* In AIX, and maybe elsewhere too, Kermit's COPY command always
failed with "Source and destination are the same file" when the
destination file didn't exist.
* The VMS version of C-Kermit did not work in Batch or when SPAWN'd.
To compound the problem, it also pretty much ignored the -B and -z
command-line options, whose purpose is to work around such
problems.
* C-Kermit 8.0 could not be built on IRIX 5.x.
* The C-Kermit 8.0 build for QNX6 said it was an "(unknown version)".
Other fixes are listed in the [172]previous section.
[ [173]Top ] [ [174]Contents ] [ [175]C-Kermit ] [ [176]Kermit Home ]
2. SSH AND HTTP
2.1. SSH Connections
This section does not apply to [177]Kermit 95 2.0, which has its own
built-in SSH client, which is documented [178]SEPARATELY.
On most UNIX platforms, C-Kermit can make SSH (Secure SHell) connection
by running the external SSH command or program through its
pseudoterminal interface. The command is:
SSH text
Tells Kermit to start the external SSH client, passing the given
text to it on the command line. Normally the text is just the
hostname, but it can be anything else that is acceptable to the
ssh client. If the command succeeds, the connection is made and
Kermit automatically enters CONNECT (terminal) mode. You can use
the SSH command to make a connection to any host that has an SSH
server.
Kermit's SSH command gives you all the features of Kermit on an SSH
connection: command language, file transfer, character-set translation,
scripting, and all the rest. By default, C-Kermit invokes SSH with "-e
none", which disables the ssh escape character and makes the connection
transparent for purposes of file transfer. You can, however, change the
SSH invocation to whatever else you might need (an explicit path,
additional command-line arguments, etc) with:
SET SSH COMMAND text
Specifies the system command that Kermit's SSH command should
use to invoke the external SSH client. Use this command to
supply a specific path or alternative name, or to include
different or more command-line options.
In most cases, these connections work quite well. They can be scripted
like any other connection, and file transfer goes as fast as, or faster
than, on a regular Telnet connection. In some cases, however, the
underlying pseudoterminal driver is a limiting factor, resulting in
slow or failed file transfers. Sometimes you can work around such
problems by reducing the Kermit packet length. Note that Kermit does
not consider SSH connections to be reliable, so it does not offer to
use streaming in Kermit protocol transfers (but you can force it with
SET RELIABLE or SET STREAMING if you wish).
The SSH command is like the TELNET command: it enters CONNECT mode
automatically when the connection is made. Therefore, to script an SSH
connection, use:
set host /pty ssh -e none [ other-options ] host
if fail ...
to make the connection.
Here's a sequence that can be used to make a connection to a given host
using Telnet if the host accepts it, otherwise SSH:
if not defined \%1 exit 1 Usage: \%0 host
set quiet on
set host \%1 23 /telnet
if fail {
set host /pty ssh -l \m(user) -e none \%1
if fail exit 1 \%1: Telnet and SSH both fail
echo SSH connection to \%1 successful
} else {
echo Telnet connection to \%1 successful
}
In SSH v2, it is possible to make an SSH connection direct to a Kermit
server system if the host administrator has configured the SSH server
to allow this.
Since Kermit uses external ssh client software, and since there are
different ssh clients (and different releases of each one), the exact
command to be used to make an SSH/Kermit connection can vary. Here is
the command for the OpenSSH 3.0.2p1 client:
set host /pipe ssh -e none [ -l username ] -T -s hostname kermit
Example:
set host /pipe ssh -e none -l olga -T -s hq.xyzcorp.com kermit
The SSH client might or might not prompt you for a password or other
information before it makes the connection; this depends on your SSH
configuration (your public and private keys, your authorized hosts
file, etc). Here's a brief synopsis of the OpenSSH client command
syntax ("man ssh" for details):
-e none
This tells the SSH client to use no escape character. Since we
will be transferring files across the connection, we don't want
the connection to suddenly block because some character in the
data.
-l username
This is the username on the remote host. You can omit the -l
option and its argument if your local and remote usernames are
the same. If they are different, you must supply the remote
username.
-T
This tells the SSH client to tell the SSH server not to allocate
a pseudoterminal. We are not making a terminal connection, we
don't need a terminal, and in fact if a terminal were allocated
on the remote end, the connection would not work.
-s ... kermit
This tells the SSH client to tell the SSH server to start the
specified subsystem ("kermit") once the connection is made. The
subsystem name comes after the hostname.
hostname
The IP host name or address of the desired host.
You might want to include other or additional ssh command-line options;
"man ssh" explains what they are. Here are some examples for the
OpenSSH 3.0.2p1 client:
-oClearAllForwardings yes
-oForwardAgent no
-oForwardX11 no
-oFallbackToRsh no
These ensure that a secure connection is used and that the
connection used for file transfer is not also used for
forwarding other things that might be specified in the
ssh_config file.
-oProtocol 2
(i.e. SSH v2) Ensures that the negotiated protocol supports
subsystems.
Once you have an SSH connection to a Kermit server, it's just like any
other connection to a Kermit server (and very similar to a connection
to an FTP server). You give the client file transfer and management
commands for the server, and the server executes them. Of course you
can also give the client any other commands you wish.
[ [180]SSH Kermit Server Subsystem ] [ [181]Kermit 95 Built-in SSH
Client ]
2.2. HTTP Connections
Hypertext Transfer Protocol, or HTTP, is the application protocol of