Movatterモバイル変換


[0]ホーム

URL:


[RFC Home] [TEXT|PDF|PDF|HTML] [Tracker] [IPR] [Info page]

UNKNOWN
Network Working Group                                           J. WhiteRequest for Comments: 206                    Computer Research Lab, UCSBNIC: 7176                                                  9 August 1971A User TELNETDescription of an Initial ImplementationPREFACE   The User TELNET described in this document has been implemented   within UCSB's Online System by Mark Krilanovich and makes teletype-   compatible time-sharing systems in the Net accessible to Online   System users.Contents                                                                   PageI.   Function...................................................1   II.  Invoking TELNET............................................2   III. The Virtual Teletype.......................................5   IV.  Returning to TELNET........................................11V.   Breaking TELNET Connections................................12   VI.  Abnormal Network Conditions................................12FIGURES                                                                   Page   Figure 1.  Network Sites........................................4   Figure 2.  TELNET Character Set.................................6   Figure 3.  Connect Error Codes..................................13   Figure 4.  Input Error Codes....................................13   Figure 5.  Output Error Codes...................................14I.  Function   This document describes a program whose function is to make an Online   System terminal _appear_ to any teletype-compatible, time-sharing   system in the Network _as if it were directly connected to that   system_.  By invoking this program from his terminal, an OLS user can   effectively dial up a system at another site and use it as if he were   a local user of that system.  The program performs the following   major functions:      1) it resolves keyboard and display device incompatibilities      2) performs character set transformations, andWhite                                                           [Page 1]

RFC 206                      A User TELNET                   August 1971      3) makes its presence and that of the Network transparent to the         user.   The program which performs these functions is called a _User TELNET_.   It operates in conjunction with another program called a _Server   TELNET_ executing at the site whose system is being used.  A Server   TELNET exists at each site whose system is accessible from the Net.   Similarly, a User TELNET must exist at a site before users at that   site have access to remote systems.   User and Server TELNETs access the Net through their respective NCPs,   and operate under a Network-standard protocol which specifies the   hand-shaking procedure by which the two parties connect themselves to   one another, as well as the format of data sent over a pair of   Network connections established between them.  A User TELNET makes   such protocol considerations transparent to its users.   The TELNET protocol is based upon the notion of a virtual teletype,   employing a 7-bit ASCII character set.  The primary function of a   User TELNET, then, is to provide the means by which its users can   'hit' all the keys on that virtual teletype.  If the user's keyboard   happens in fact to actually be a teletype, then the mapping procedure   is a very simple one.  However, in UCSB's case, where a user's input   device is an OLS keyboard (a device very different from a teletype),   the mapping is more complex.   The primary function of a Server TELNET is to map the keys on the   virtual teletype into that set of keys _its_ local users can push on   _their_ keyboards.  Again, if those keyboards are teletypes, the   mapping done by the Server TELNET is straightforward.  In other   cases, the task may be very complex.   A similar set of mappings transforms ouput generated by the remote   system into a form displayable on the user's output device (in UCSB's   case, this device is normally a storage scope).II.  Invoking TELNET   This and succeeding sections describe a preliminary version of a User   TELNET (hereafter referred to simply as TELNET) currently implemented   within the Online System.  This initial implementation does not   provide all of the services that a final version must provide, nor   does it provide all the conveniences that the next version will   offer.  It's a first pass which will be upgraded in the near future.White                                                           [Page 2]

RFC 206                      A User TELNET                   August 1971   TELNET is accessible from NET, a subsystem (like MOLSF and COL) of   OLS.  A user is by default prohibited from loading NET.  To have   access to NET enabled fro his user number, a user need only contact   the Computer Center.  Assuming the foregoing, Net can be loaded with   the key sequence:      KEYBOARD ENTRY          OLS QUERY/RESPONSE      SYST                    WORK AREAS UPDATED      LOAD NET                LOAD NET      RETURN                  FILE LOADED   or by specifying the system name 'NET' at login.   Once in NET, TELNET is invoked by going to Level II Real and hitting   _LOG_.  TELNET responds with a query for site number.  The user   should enter in decimal the number of the site (as indicated in   Figure 1) to which he desires access, followed by _RETURN_.  TELNET   will then query the user for the Server TELNET's socket_number.  By   convention, this number is normally 1, but in certain cases some   other socket may be appropriate.  In any case, the user should enter   the socket number in decimal and hit _RETURN_.  The dialogue, then,   goes like this:      KEYBOARD ENTRY          OLS QUERY/RESPONSE      II LOG                  FOREIGN SITE NO. = (site number)      site number RETURN      FOREIGN SCK NO. = 1      1 RETURN   When the second RETURN is depressed, TELNET will attempt to contact   the designated Server TELNET and establish a duplex connection for   the user.  Once the connection has been established, TELNET will   erase the tube and position the carriage to the upper left-hand   corner of the screen.  From this point on, the user is effectively   connected to the remote system.  TELNET enters a mode in which keys   pushed by the user are mapped into their virtual-teletype equivalents   and incoming text similarly transformed and displayed on the scope.   If the remote system to which the user is connected normally issues a   login message, that message will be the first to be displayed.  In   any case, the user should proceed by logging in to the remote system   according to the conventions appropriate to that system.White                                                           [Page 3]

RFC 206                      A User TELNET                   August 1971                                 Figure 1.                               Network SitesInstitution     Location        Computer        Site    Site #  Site #                                                Name    (HEX)   (DEC)------------------------------------------------------------------------UCLA            Los Angeles     Sigma-7         UCLA    01        1UCLA            Los Angeles     IBM 360/91      UCL1    41       65Stanford ResearchInstitute       Menlo Park      PDP-10          SRI0    02        2Stanford ResearchInstitute       Menlo Park      PDP-15          SRI1    42       66UCSB            Santa Barbara   IBM 360/75      UCSB    03        3University of   Salt Lake City,Utah            Utah            PDP-10          UTAH    04        4Bolt, Beranek,  Cambridge,and Newman      Mass.           PDP-10          BBN0    05        5Bolt, Beranek,  Cambridge,and Newman      Mass.           DDP-516         BBN1    45       69MIT             Cambridge,                Mass.           GE 645          MIT0    06        6MIT             Cambridge,                Mass.           PDP-10          MIT1    46       70RandCorporation     Santa Monica    IBM 1800        RAND    07        7                                (IBM 360/65)System DevelopmentCorporation     Santa Monica    DDP-516         SDC     08        8                                (IBM 360/67)Harvard         Cambridge,University      Mass.           PDP-10          HRV0    09        9Harvard         Cambridge,University      Mass.           PDP-1           HRV1    49       73White                                                           [Page 4]

RFC 206                      A User TELNET                   August 1971Lincoln         Lexington,Laboratory (MIT)Mass.           IBM 360/67      LINO    0A       10Lincoln         Lexington,Laboratory (MIT)Mass.           TX2             LIN1    4A       74StanfordUniversity      Stanford        PDP-10          STAN    0B       11University of   Urbana, Ill.    PDP-11          ILl     0C       12IllinoisCase WesternResevrve        Cleveland,University      Ohio            PDP-10          CASE    0D       13Carnegie-Mellon Pittsburgh,University      Pa.             PDP-10          CARN    0E       14Burroughs       Paoli, Pa.      B-6500          BURR    0F       15                                (Illiac IV)III.  The Virtual Teletype   The algorithm by which TELNET maps the OLS keyboard into the virtual   teletype's character set, and by which it maps that same character   set into the set of characters which can be displayed on the user's   storage scope is defined in Figure 2.  A line of that figure reads as   follows:      For line 11:      The key labeled 'LF' (meaning 'Line Feed') on the virtual      teletype, sometimes referred to as 'control-J', is struck by      pressing either _SUB_, _CASE J_, or [1] on an OLS keyboard.      TELNET sends to the remote system an 8-bit character with the      value X'0A'.  Whenever 'LF' is received from the foreign system,      TELNET displays it by rolling the carriage down one line.   As indicated in the figure, _CASE_ substitutes for the CNTRL key on a   teletype.  Hence, for example, 'control-C' is represented by the key   pair 'CASE C'.  Note, however, that _CASE_ and 'C' are hit in   sequence, whereas on a teletype the CNTRL key is held down while 'C'   is struck.  'CASE A' - 'CASE Z' each have an equivalent on the upper   keyboard, and the position of that key on the upper keyboard   corresponds to that of its counterpart on the lower keyboard.  Hence,   LS equivalent to CASE A.White                                                           [Page 5]

RFC 206                      A User TELNET                   August 1971   Although TELNET provides the user with the means for transmitting   both upper- and lower-case alphabetics (hitting 'A' sends a lower-   case 'A'; holding down _SHIFT_ and hitting 'A' sends upper-case 'A'),   there is no provision in OLS for displaying lower-case characters on   the storage scope.  Hence, TELNET maps lower-case alphabetics into   upper-case before displaying them.   The four virtual teltype keys 'ENQ', 'ACK', 'BEL', and 'NAK' are   displayed by TELNET in a special manner.  Two lines are reserved for   these characters at the top of the display area, and whenever TELNET   receives such a character from the remote system, it displays it in   its assigned position within the two-line field.  TELNET always   positions those four characters at the top of the display area,   regardless of the user's current position on the scope, then returns   to it.   A storage scope has both positive and negative attributes relative to   a teletype.  Display is much quieter on a scope than on a teletype.   However, the noise made by the return of a teletype carriage is often   a valuable cue to the user, frequently signifying that the previous   line of input from the user has been accepted by the system.  As a   substitute for this particular cue, TELNET displays an underline   ('_') at the left edge on the next line whenever it receives a   carriage return (CR) from the remote system.                Figure 2.  TELNET Character SetTo  |              | Also     |Push  |   Or    |Code Sent  |Upon receiptSend| (Explanation)| Known as |Either|         |is (in hex)|Displayed as----+--------------+----------+------+---------+-----------+------------NUL |NULL          |    ^@    | [2]  |         |    00     |    |              |          |      |         |           |SOH |Start of      |  [3]^A   | LS   |[4]CASE A|    01     |    |     Heading  |          |      |         |           |    |              |          |      |         |           |STX |Start of Text |    ^B    | ATAN | CASE B  |    02     |    |              |          |      |         |           |ETX |End of Text   |    ^C    | LOG  | CASE C  |    03     |    |              |          |      |         |           |EOT |End of        |          |      |         |           |    |  Transmission|    ^D    | REFL | CASE D  |    04     |    |              |          |      |         |           |ENQ |Enquiry       |    ^E    |  [4] | CASE E  |    05     | [5] <ENQ>    |              |          |      |         |           |ACK |Acknowledge   |    ^F    |  UP  | CASE F  |    06     | <ACK>    |              |          |      |         |           |BEL |Bell          |    ^G    | DOWN | CASE G  |    07     | <BELL>White                                                           [Page 6]

RFC 206                      A User TELNET                   August 1971BS  |Backspace     |    ^H    | EVAL | CASE H  |    08     |    |              |          |      |         |           |HT  |Horizontal    |          |      |         |           |    |Tab.          |    ^I    | INV  | CASE I, |    09     |    |              |          |      |   TAB   |           |    |              |          |      |         |           |LF  |Line Feed     |    ^J    | SUB  | CASE J, |    0A     | Carriage    |              |          |      |   [1]   |           | rolled down    |              |          |      |         |           |VT  |Vertical Tab. |    ^K    | MAX  | CASE K  |    0B     |    |              |          |      |         |           |FF  |Form Feed     |    ^L    | MOD  | CASE L  |    0C     |    |              |          |      |         |           |CR  |Carriage      |          |      |         |           |    |     Return   |    ^M    | DEL  | CASE M, |    0D     |[6]Carriage    |              |          |      |   RETURN|           |   returned    |              |          |      |         |           |SO  |Shift Out     |    ^N    | ARG  | CASE N  |    0E     |    |              |          |      |         |           |SI  |Shift In      |    ^O    | DIFF | CASE O  |    0F     |    |              |          |      |         |           |DLE |Data Link     |          |      |         |           |    |       Escape |    ^P    | SUM  | CASE P  |    10     |    |              |          |      |         |           |DC1 |Device        |          |      |         |           |    |    Control 1 |    ^Q    | [7]  | CASE Q  |    11     |    |              |          |      |         |           |DC2 |Device        |          |      |         |           |    |    Control 2 |    ^R    | [8]  | CASE R  |    12     |    |              |          |      |         |           |DC3 |Device        |          |      |         |           |    |    Control 3 |    ^S    |  RS  | CASE S  |    13     |    |              |          |      |         |           |DC4 |Device        |          |      |         |           |    |    Control 4 |    ^T    |  SQ  | CASE T  |    14     |    |              |          |      |         |           |NAK |Negative      |          |      |         |           |    | Acknowledge  |    ^U    | CONJ | CASE U  |    15     | <NAK>    |              |          |      |         |           |SYN |Synchronous   |          |      |         |           |    |    Idle      |    ^V    | EXP  | CASE V  |    16     |    |              |          |      |         |           |ETB |End of        |          |      |         |           |    |  Transmission|          |      |         |           |    |  Block       |    ^W    | [9]  | CASE W  |    17     |    |              |          |      |         |           |CAN |Cancel        |    ^X    | COS  | CASE X  |    18     |White                                                           [Page 7]

RFC 206                      A User TELNET                   August 1971EM  |End of Medium |    ^Y    | SQRT | CASE Y  |    19     |    |              |          |      |         |           |SUB | Substitute   |    ^Z    | SIN  | CASE Z  |    1A     |    |              |          |      |         |           |ESC | Escape       |Alt Mode, |  NEG |         |    1B     |    |              |    ^[    |      |         |           |    |              |          |      |         |           |FS  | File         |    ^     | PROD |         |    1C     |    | Separator    |          |      |         |           |    |              |          |      |         |           |GS  | Group        |    ^]    | SORT |         |    1D     |    | Separator    |          |      |         |           |    |              |          |      |         |           |RS  | Record       |    ^^    | CONV |         |    1E     |    | Separator    |          |      |         |           |    |              |          |      |         |           |US  | Unit         |    ^<-   | PWR  |         |    1F     |    | Separator    |          |      |         |           |    |              |          |      |         |           |SP  | Space        |          |SPACE |         |    20     |blank    |              |          |      |         |           |!   | Exclamation  |          |  !   |         |    21     | !    |   Point      |          |      |         |           |    |              |          |      |         |           |"   | Quotation    |Diaeresis |  "   |         |    22     | "    |   Marks      |          |      |         |           |    |              |          |      |         |           |#   | Number Sign  |          |  #   |         |    23     | #    |              |          |      |         |           |$   | Dollar Sign  |          |  $   |         |    24     | $    |              |          |      |         |           |%   | Percent      |          |  %   |         |    25     | %    |              |          |      |         |           |&   | Ampersand    |          |  &   |         |    26     | &    |              |          |      |         |           |'   | Apostrophe   |Acute     |  '   |         |    27     | '    |              | Accent,  |      |         |           |    |              | Closing  |      |         |           |    |              | Single   |      |         |           |    |              |   Quote  |      |         |           |    |              |          |      |         |           |(   | Opening      |          |      |         |    28     | (    |   Parenthesis|          |  (   |         |           |    |              |          |      |         |           |)   | Closing      |          |      |         |    29     | (    |   Parenthesis|          |  (   |         |           |    |              |          |      |         |           |*   | Asterick     |          |  *   |         |    2A     | *White                                                           [Page 8]

RFC 206                      A User TELNET                   August 1971+   | Plus         |          |  +   |         |    2B     | +    |              |          |      |         |           |,   | Comma        |Cedilla   |  ,   |         |    2C     | ,    |              |          |      |         |           |-   | Hyphen       |Minus     |  -   |         |    2D     | -    |              |          |      |         |           |.   | Period       |Decimal   |  .   |         |    2E     | .    |              |  Point   |      |         |           |    |              |          |      |         |           |/   | Slant        |          |  /   |         |    2F     | /    |              |          |      |         |           |:   | Colon        |          |  :   |         |    3A     | :    |              |          |      |         |           |;   | Semicolon    |          |  ;   |         |    3B     | ;    |              |          |      |         |           |<   | Less than    |          |  <   |         |    3C     | <    |              |          |      |         |           |=   | Equals       |          |  =   |         |    3D     | =    |              |          |      |         |           |>   | Greater than |          |  >   |         |    3E     | >    |              |          |      |         |           |?   | Question Mark|          |  ?   |         |    3F     | ?    |              |          |      |         |           |@   | Commercial At|          |  @   |         |    40     | @    |              |          |      |         |           |[   | Opening      |          |  [   |         |    5B     | [    | Bracket      |          |      |         |           |    |              |          |      |         |           |\   | Reverse Slant|          |CASE /|         |    5C     | \    |              |          |      |         |           |]   | Closing      |          |  ]   |         |    5D     | ]    | Bracket      |          |      |         |           |    |              |          |      |         |           |^   | Circumflex   |          |  ^   |   ^     |    5E     | ^    |              |          |      |         |           |_   | Underline    |          | <-   |   _     |    5F     | _    |              |          |      |         |           |`   | Grave Accent | Opening  |CASE `|         |    60     |`    |              | single   |      |         |           |    |              | quote    |      |         |           |    |              |          |      |         |           |{   | Opening Brace|          |CASE (|         |    7B     | {    |              |          |      |         |           ||   | Vertical Line|          |  |   |         |    7C     | |    |              |          |      |         |           |}   | Closing Brace|          |CASE )|         |    7D     | }White                                                           [Page 9]

RFC 206                      A User TELNET                   August 1971~   | Tilde        | Overline,|  -   |         |    7E     | ~    |              | General  |      |         |           |    |              | Accent   |      |         |           |    |              |          |      |         |           |DEL | Delete       | Rubout   | BACK |         |    7F     |    |              |          |      |         |           |0-9 | Numerics     |          | 0-9  |         |   30-39   | 0-9    |              |          |      |         |           |A-Z | Upper Case   |          |SHIFT |         |   41-5A   | A-Z    | Alphabetics  |          |[9]   |         |           |    |              |          | A-Z  |         |           |    |              |          |      |         |           |a-z | Lower Case   |          |      |         |   61-7A   | A-Z    | Alphabetics  |          | A-Z  |         |           |    |              |          |      |         |           |   Table Notes      [1] Down arrow      [2] Superscript 1      [3] Superscript 2      [4] Circle with Dot in the Middle      [5] Superscript 3      [6] Superscript 6      [7] Circle with Plus (+) in the Middle      [8] Circle with Slash (/) in the Middle      [9] Superscript 5   Notes for Figure 2.  TELNET Character Set   Superscript 1 - All of the following keys send NULL:                   SET, CLR, cent sign, Superscript 0-9   Superscript 2 - '^A' is read 'Control A'.  Same for '^B', '^C', etc.   Superscript 3 - ENQ, ACK, BEL, and NAK are displayed as '<ENQ>',                   '<ACK>', '<BELL>', and '<NAK>', respectively, in an                   area at the top of the screen reserved especially for                   those characters.   Superscript 4 - ^A is sent by hitting th keys 'CASE' and 'A' in turn.                   Same for ^B, ^C, etc.   Superscript 5 - Upper case 'A' is  sent by holding down the SHIFT key                   while 'A' is struck.  Same for upper case 'B', 'C',                   etc.White                                                          [Page 10]

RFC 206                      A User TELNET                   August 1971   Superscript 6 - CR also causes an underline '_' to be displayed in                   the left margin as a substitute for the often useful                   cue provided by the noisy return of a teletype                   carriage.   A storage scope is also a much faster display device than a teletype.   However, in some situations this apparent attribute can be   troublesome.  In particular, when a system displays a whole series of   lines of text without requiring input from the user, the display may   be wrapped around from the bottom of the scope to the top, and begin   overlaying itself before the user has had some time to read it all.   In such cases, the following strategy is sometimes useful (and will   make sense once the next section -- Section IV -- has been read): hit   _II_ before the display begins to wrap around upon itself; the   display will stop.  After the text has been read, erase the scope and   hit _LOG_ and display will resume.   If the user hits _ERASE_ while in TELNET, that key will have its   usual effect; it will have _no_effect upon the remote system.   However, because of a quirk in the current implementation of TELNET,   _ERASE_ will have the one additional effect of causing the display of   incoming text to be suspended until another key on the virtual   teletype is struck.  The user is thus cautioned against erasing the   scope while waiting for a response from the remote system.  However,   the user can extricate himself from the situation described by   following the _ERASE_ with NUL on the virtual teletype.IV.  Returning to TELNET   The user can at any time escape from TELNET (and hence from the   remote system to which he is attached) by depressing a level key   (e.g., I, II,...,_SYST, TYPE, LIST_) or of course, by hitting   _RESET_.  Any time thereafter, the user may return to TELNET by   hitting _II LOG_ (on NET) once again, and resume operation on his   remote system _exactly where he left off_.  When _'II LOG'_ is   pressed this second time, instead of querying the user for site   number as before, TELNET will notice that the user is already   connected to a remote system and simply resume where _it_ left off.   After he escapes from TELNET and before he returns to it, the user   may engage himself in any other Online System activity short of   logging out but including changing systems, while still retaining the   option of subsequently returning to TELNET and resuming activity on   the remote system to which he remains connected.  The user can   exploit this property of TELNET to obtain hard copy of a selected   portion of his dialogue with the remote system.  The user simply   brings his system to the point at which a listing is thereby desired,   escapes from TELNET by hitting _'TYPE SEL' 1,4 RETURN'_, therebyWhite                                                          [Page 11]

RFC 206                      A User TELNET                   August 1971   selecting the line printer as a secondary output device, and then   returns to TELNET by pressing _'II LOG'_.  All subsequent   communication with the remote system will be recorded for eventual   output on the printer.  Logging off of OLS while escaped from TELNET   causes the TELNET connection to be broken automatically by the   system.V. Breaking TELNET Connections   At any time while the user is in contact with TELNET, after the   connection to the remote system has been established, the user may   terminate that connection by hitting _'CON RETURN'_.  TELNET will   respond _'SOCKETS PURGED_'.  \ subsequent call to TELNET (i.e., a   subsequent instance of _'II LOG'_) will illicit the original query   for remote site number.  The user is then free to connect himself to   another foreign system.   The user is cautioned that breaking Network connections as just   described is not necessarily equivalent to logging out of the remote   system.  Some Server TELNETs may, when they detect the breaking of   connections, log the user off of their system; others may leave the   user logged on.  The user should be aware of the conventions of the   systems he uses and, where appropriate, log himself off before   breaking connections.   The key sequence _'I DEL RETURN'_ will also terminate a TELNET   connection, but all other connections that may have been previously   established using the operators of Level I are closed as well.VI. Abnormal Network Conditions   While the user is in TELNET and attached to a remote system, TELNET   monitors the user's Network connections.  If any abnormal condition   is detected, it terminates its monitoring and issues a message of the   form:            {CONNECT}            {INPUT}         ERROR - CODE = n            {OUTPUT}   where 'n' is one of the values listed in Figures 3-5.  A CONNECT   error may occur during TELNET's initial attempt to establish   connections to the remote system; an INPUT error may occur when   TELNET attempts to extract incoming data from the NET; and an OUTPUT   error may occur as TELNET tries to insert outgoing data into the Net.White                                                          [Page 12]

RFC 206                      A User TELNET                   August 1971                      Figure 3.  Connect Error Codes   4      -        A previous invocation of TELNET left a local receive                   socket open; the  send socket is closed.  Hit _'I DEL                   RETURN'_.   8      -        A previous invocation of TELNET aborted, and _'I DEL                   RETURN'_ failed to close the Network connections.                   The remote site is probably dead.   12      -       All communication paths between UCSB and the                   specified remote site are in use.   16      -       UCSB's NCP is running at capacity or is drained or                   stopped.   20      -       The connection attempt was refused by the remote                   site.   28      -       No such remote site.   36      -       Remote site was discovered to be dead.   44      -       The Operator has stopped or reset the NCP.   60      -       Either the specified remote site is not accepting                   input from the net, or there was a failure in the                   subnet.   68      -       The specified remote site has broken all existing                   connections to UCSB.   72      -       The remote site is known to be dead.                                Figure 4. Input Error Codes   8       -       Connections to the server TELNET at the remote site                   have been broken.   16      -       Connections to the Server TELNET at the remote site                   are being broken.   52      -       An interrupt was sent by the remote system.  Resume                   by hitting _LOG_.White                                                          [Page 13]

RFC 206                      A User TELNET                   August 1971                               Figure 5. Output Error Codes   8       -       Connections to the Server TELNET at the remote site                   have been broken.   16      -       Connections to the Server TELNET at the remote site                   are being broken.   20      -       same as 8.   36      -       Remote site has died.   44      -       The Operator has stopped or reset the NCP.   52      -       An interrupt was sent by the remote system.  Resume                   by hitting _LOG_.   60      -       Either the remote site has stopped accepting input                   from the Net or  there was a failure in the subnet.   64      -       same as 60.   68      -       The remote site has broken all existing connections                   to UCSB.White                                                          [Page 14]

[8]ページ先頭

©2009-2025 Movatter.jp