GENWiki

Premier IT Outsourcing and Support Services within the UK

User Tools

Site Tools


rfc:rfc466

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] 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] 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] 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] 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] 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] 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] 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] 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]

/data/webs/external/dokuwiki/data/pages/rfc/rfc466.txt · Last modified: 2001/11/29 00:00 (external edit)