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
|
Network Working Group J. Winett
Request for Comments: 466 LL-67
NIC: 14740 27 February 1973
Category: TELNET
TELNET LOGGER/SERVER For Host LL-67
The attached writeup documents the TELNET LOGGER/SERVER for the
CP/CMS system on the Lincoln Laboratory 360>67 (host 10). The
facility serves both half duplex and full duplex TELNET users with
data in either ASCII or EBCDIC codes.
Use of the hide-your-input and noecho TELNET controls are used for
the EBCDIC print suppress (bypass) and print restore features during
the login procedure. To support half duplex terminals, the TELNET
control break (reverse break) is sent as an input prompt when input
is desired. This code can also be used to indicate that a previous
line sent without an end of line sequence (CR-LF) should be printed.
This material has not been reviewed for public release and is
intended only for use with the ARPA network. It should not be quoted
or cited in any publication not related to the ARPA network.
Winett [Page 1]
^L
RFC 466 TELNET LOGGER/SERVER For Host LL-67 February 1973
Operation of the Lincoln Laboratory
CP/CMS TELNET LOGGER/SERVER
ICP Connection
The TELNET LOGGER/SERVER follows the ICP protocol for making a pair
of connections. The LOGGER is initially enabled for a connection on
socket X'00000001'. When an RFC is received for this socket a pair
of sockets will be chosen for the TELNET connections. If the maximum
number of TELNET users which can be served are active, the initial
connection is refused. Currently, three TELNET users can be served.
TELNET LOGGER
After the ICP connections have been setup, the LOGGER expects a
TELNET data type code, a string of network ASCII characters, or a
null line (just CR-LF) to indicate whether its operation should be in
ASCII or in EBCDIC character codes. ASCII is assumed unless the
first byte received is the TELNET EBCDIC data type code (X'A2). When
something has been received, the message:
Lincoln Laboratory CP/CMS Online
will be transmitted by the LOGGER. For example, if ASCII operation
is desired a null line (just CR-LF) transmitted on the send socket
will cause the welcoming message to be sent in ASCII. The CP login
procedure can then begin. If communications is desired to be carried
on with EBCDIC character codes, the first byte transmitted should be
the TELNET data type code for EBCDIC (X'A2'). Thereafter all
communications will be in the code originally used.
The CP login procedure expects the user to enter:
LOGIN userid
where the userid specifies the desired virtual machine. CP then
replies with:
ENTER PASSWORD:
followed by the EBCDIC code for bypass (x'24') which is mapped into
the TELNET code hide-your-input.
The user should then enter a password. Passwords entered from the
network may be different from those entered from a local terminal.
The LOGGER maps network passwords into a corresponding CP password.
Thus, access to an account can only be made from the network if a
network password, together with a CP password and userid, is entered
Winett [Page 2]
^L
RFC 466 TELNET LOGGER/SERVER For Host LL-67 February 1973
into a file which is read by the LOGGER. If a userid entered from
the network is not in the LOGGER FILE (or if the network password
does not match the one included in the file for the specified userid)
the LOGGER passes an invalid userid (or password) to CP. The CP
response for an invalid userid or password is then sent to the
network user.
After a password is received by CP, CP transmits the EBCDIC code for
restore (X'14') which is mapped into the TELNET control noecho.
TELNET SERVER
Since the CP/CMS system operates with EBCDIC codes, ASCII codes must
be translated into EBCDIC before being sent to a virtual machine.
Figure 1 gives the ASCII codes and their EBCDIC mapping. When the
ASCII sequence CR-LF is received, it is mapped into the EBCDIC code
NL. Whenever the TELNET control NOP is included in an input string,
it is mapped into an EBCDIC idle (X'17') and then removed from the
string. Thus, if TELNET NOP codes are included between a CR and LF,
they are removed before the CR-LF is mapped into the EBCDIC NL.
The TELNET control hide-your-input is mapped into the EBCDIC code for
bypass (X'24') and the TELNET control echo is mapped into the EBCDIC
control for restore (X'14'). If the TELNET control echo is received,
the SERVER should send the control noecho but this feature has not
yet been implemented. Instead, the TELNET control echo is mapped
into the EBCDIC code X'23'. If the TELNET break is received, it is
interpreted as an attention signal and the appropriate action is
taken by CP or CMS.
CP/CMS is a line at a time system and expects all input to consist of
lines ending with a NL code. Characters received are buffered until
the newline code is received.
Since CP/CMS is also a half duplex system, characters are only
examined when the system is expecting input. If the system is not
expecting input, a network interrupt is required to cause the SERVER
to process received characters. On receipt of a network interrupt,
characters received before the TELNET data mark is received are
examined and discarded, except that if a TELNET break code is found,
the appropriate CP/CMS interrupt action is stimulated.
On output, EBCDIC codes are mapped into network ASCII if a mapping
exists; otherwise, the codes are mapped into the TELNET control NOP.
A NL code is mapped into CR-LF. The EBCDIC code for bypass maps into
the TELNET control hide-your-input and the EBCDIC code for restore
maps into the TELNET control noecho. Also, the code X'23' maps into
the TELNET control echo and the code X'38' maps into the TELNET
Winett [Page 3]
^L
RFC 466 TELNET LOGGER/SERVER For Host LL-67 February 1973
control break.
Since CP/CMS is a line at a time, half duplex system the TELNET
control break is transmitted as an end of message signal and also as
an input prompt code. If characters were output without a NL, the
break, as an end of message code, indicates to the user TELNET
operating on a line at a time mode that the characters previously
transmitted should be printed without waiting for the end of line
sequence. If the user TELNET is also operating in a half duplex
mode, the break as an input prompt indicates that the system is ready
for input.
If input had been anticipated and sent by a full duplex user TELNET,
the TELNET SERVER will have that input available for immediate
processing. Thus, in the case of a full duplex user TELNET the break
as a prompt should be ignored.
Though CP/CMS operates in a half duplex mode, it supports half duplex
terminals with the reverse break feature allowing the system to abort
an input mode in order to transmit a priority output message. In
this situation, the TELNET SERVER transmits a TELNET SYNC. A half
duplex user TELNET should interpret this by aborting the input mode,
i.e., revoking a previous TELNET break which was interpreted as an
input prompt.
No codes in the output character stream can cause the TELNET data
mark to be transmitted.
LOGOUT
When a user logs out from his virtual machine, CP passes the
equivalent of a line disconnect to the LOGGER. The LOGGER then
closes the TELNET send and receive sockets.
Winett [Page 4]
^L
RFC 466 TELNET LOGGER/SERVER For Host LL-67 February 1973
ASCII ASCII ASCII SYMBOLS EBCDIC EBCDIC
DEC OCT HEX HEX DEC
0 0 (00) NUL (00) 00
1 1 (01) SOH (01) 01
2 2 (02) STX (02) 02
3 3 (03) ETX (03) 03
4 4 (04) EOT (37) 55
5 5 (05) ENQ (2D) 45
6 6 (06) ACK (2E) 46
7 7 (07) BEL (2F) 47
8 10 (08) BS (16) 22
9 11 (09) HT (05) 05
10 12 (0A) LF (25) 37
11 13 (0B) VT (0B) 11
12 14 (0C) FF (0C) 12
13 15 (0D) CR (0D) 13
14 16 (0E) SO (0E) 14
15 17 (0F) SI (0F) 15
16 20 (10) DLE (10) 16
17 21 (11) DC1 (11) 17
18 22 (12) DC2 (12) 18
19 23 (13) DC3 (13) 19
20 24 (14) DC4 (3C) 60
21 25 (15) NAK (3D) 61
22 26 (16) SYN (32) 50
23 27 (17) ETB (26) 38
24 30 (18) CAN (18) 24
25 31 (19) EM (19) 25
26 32 (1A) SUB (3F) 63
27 33 (1B) CTL (27) 39
28 34 (1C) FS (1C) 28
29 35 (1D) GS (1D) 29
30 36 (1E) RS (1E) 30
31 37 (1F) US (1F) 31
ASCII/EBCDIC Code Mappings
FIGURE 1
Winett [Page 5]
^L
RFC 466 TELNET LOGGER/SERVER For Host LL-67 February 1973
ASCII ASCII ASCII SYMBOLS EBCDIC EBCDIC
DEC OCT HEX HEX DEC
32 40 (20) SP (40) 64
33 41 (21) ! (5A) 90
34 42 (22) " (7F) 127
35 43 (23) # (7B) 123
36 44 (24) $ (5B) 91
37 45 (25) % (6C) 108
38 46 (26) & (50) 80
39 47 (27) ' (7D) 124
40 50 (28) ( (4D) 77
41 51 (29) ) (5D) 93
42 52 (2A) * (5C) 92
43 53 (2B) + (4E) 78
44 54 (2C) , (6D) 109
45 55 (2D) - (60) 96
46 56 (2E) . (4B) 75
47 57 (2F) / (61) 97
48 60 (30) 0 (F0) 240
49 61 (31) 1 (F1) 241
50 62 (32) 2 (F2) 242
51 63 (33) 3 (F3) 243
52 64 (34) 4 (F4) 244
53 65 (35) 5 (F5) 245
54 66 (36) 6 (F6) 246
55 67 (37) 7 (F7) 247
56 70 (38) 8 (F8) 248
57 71 (39) 9 (F9) 249
58 72 (3A) : (7A) 122
59 73 (3B) ; (5E) 94
60 74 (3C) < (4C) 76
61 75 (3D) = (7E) 126
62 76 (3E) > (6E) 110
63 77 (3F) ? (6F) 111
ASCII/EBCDIC Code Mappings
FIGURE 1 (CONTINUED)
Winett [Page 6]
^L
RFC 466 TELNET LOGGER/SERVER For Host LL-67 February 1973
ASCII ASCII ASCII SYMBOLS EBCDIC EBCDIC
DEC OCT HEX HEX DEC
64 100 (40) @ (7C) 124
65 101 (41) A (C1) 193
66 102 (42) B (C2) 194
67 103 (43) C (C3) 195
68 104 (44) D (C4) 196
69 105 (45) E (C5) 197
70 106 (46) F (C6) 198
71 107 (47) G (C7) 199
72 110 (48) H (C8) 200
73 111 (49) I (C9) 201
74 112 (4A) J (D1) 209
75 113 (4B) K (D2) 210
76 114 (4C) L (D3) 211
77 115 (4D) M (D4) 212
78 116 (4E) N (D5) 213
79 117 (4F) O (D6) 214
80 120 (50) P (D7) 215
81 121 (51) Q (D8) 216
82 122 (52) R (D9) 217
83 123 (53) S (E2) 226
84 124 (54) T (E3) 227
85 125 (55) U (E4) 228
86 126 (56) V (E5) 229
87 127 (57) W (E6) 230
88 130 (58) X (E7) 231
89 131 (59) Y (E8) 232
90 132 (5A) Z (E9) 233
91 133 (5B) [ (AD) 173
92 134 (5C) <cent> (4A) 74 (BACK-SLASH)
93 135 (5D) ] (BD) 189
94 136 (5E) ^ (71) 113 (CARAT)
95 137 (5F) _ (6D) 109
ASCII/EBCDIC Code Mappings
FIGURE 1 (CONTINUED)
Winett [Page 7]
^L
RFC 466 TELNET LOGGER/SERVER For Host LL-67 February 1973
ASCII ASCII ASCII SYMBOLS EBCDIC EBCDIC
DEC OCT HEX HEX DEC
96 140 (60) ` (79) 121 (GRAVE)
97 141 (61) a (81) 129
98 142 (62) b (82) 130
99 143 (63) c (83) 131
100 144 (64) d (84) 132
101 145 (65) e (85) 133
102 146 (66) f (86) 134
103 147 (67) g (87) 135
104 150 (68) h (88) 136
105 151 (69) i (89) 137
106 152 (6A) j (91) 145
107 153 (6B) k (92) 146
108 154 (6C) l (93) 147
109 155 (6D) m (94) 148
110 156 (6E) n (95) 149
111 157 (6F) o (96) 150
112 160 (70) p (97) 151
113 161 (71) q (98) 152
114 162 (72) r (99) 153
115 163 (73) s (A2) 162
116 164 (74) t (A3) 163
117 165 (75) u (A4) 164
118 166 (76) v (A5) 165
119 167 (77) w (A6) 166
120 170 (78) x (A7) 167
121 171 (79) y (A8) 168
122 172 (7A) z (A9) 169
123 173 (7B) { (8B) 139
124 174 (7C) | (4F) 79 (BAR/OR)
125 175 (7D) } (9B) 155
126 176 (7E) <bent bar> (5F) 95 (TILDE/NOT)
127 177 (7F) DEL (07) 7
ASCII ASCII ASCII TELNET EBCDIC EBCDIC
DEC OCT HEX CONTROLS HEX DEC
128 100 (80) DATA-MARK (80) 128
129 101 (81) BREAK (38) 56
130 102 (82) NOP (17) 23 IDLE
131 103 (83) NOECHO (14) 20 RESTORE
132 104 (84) ECHO (23) 35
133 105 (85) HIDE-YOUR INPUT (24) 36 BYPASS
ASCII/EBCDIC Code Mappings
FIGURE 1 (CONTINUED)
Winett [Page 8]
^L
RFC 466 TELNET LOGGER/SERVER For Host LL-67 February 1973
[This RFC was put into machine readable form for entry]
[into the online RFC archives by Helene Morin, Via Genie, 12/99]
Winett [Page 9]
^L
|