=======================================================================
Date:         Fri, 06 Aug 93 08:46:10 EDT
From:         CCENDM03@BRUFPB
Organization: Universidade Federal da Paraiba-JP/BRASIL
To:           BITNET-L@BRUFPB


Aos usuarios do BITFTP
----------------------

       O Bitftp agora suporta a opcao XXENCODE. Esta opcao e' nova. Ha'
poucas semanas atras, so' podia ser usada a opcao UUENCODE, que tem al-
guns caracteres problematicos.

-----------------------

      (Para quem nunca usou o Bitftp:)  Uma das atracoes da rede Internet
e' a  possibilidade de um usuario obter  arquivos que estao guardados em
outra localidade. Esta capacidade e' chamada de "FTP" (uma abreviacao de
"File Transfer Protocol"). Isto significa que uma instituicao pode manter
importantes arquivos gravados (la' na Alemanha, por exemplo) e que um usuario
em outro local (aqui na Paraiba, por exemplo) pode copiar facilmente esses
arquivos, bastando para isso saber o endereco eletronico da instituicao,
o subdiretorio e o nome dos arquivos desejados.
      Apesar do uso do FTP so' ser possivel para quem esta' ligado `a rede
Internet, a Universidade de Princeton "quebra o galho" dos usuarios da
Bitnet atraves do servidor de arquivos chamado BITFTP. O usuario Bitnet
pode enviar uma mensagem para o endereco BITFTP @ PUCC contendo as linhas
de comandos que ele digitaria se estivesse ligado `a Internet. Dai', Bitftp
pega no local especificado os arquivos desejados e depois envia-os para
o usuario Bitnet.
      As mensagens enviadas para Bitftp devem ser da forma

                        FTP destino formato
                        ...
                        (comandos)
                        ...
                        QUIT

onde "destino" e' o endereco eletronico do local da Internet onde os arquivos
               desejados estao guardados;
     "formato" pode ser xxencode, uuencode ou netdata. Sugerimos o formato
               xxencode (pelo menos aqui para a UFPB);
     "comandos" podem ser uma ou varias linhas com comandos DIR (para pedir
               listagem de diretorio), CD (para mudar de diretorio), GET
               (para copiar arquivos), entre outros. Os comandos aceitos por
               Bitftp parecem com os comandos do MS-DOS, tendo-se o cuidado
               de usar a barra normal (/) nos nomes de subdiretorios. Alem
               disso, a distincao entre letras maiusculas e minusculas e'
               importante. Por exemplo, se um arquivo esta' gravado no destino
               como INDEX.ZIP o usuario so' conseguira' copia'-lo com um
               GET INDEX.ZIP , e nao com um comando como GET Index.Zip . Para
               obter um "help" completo dos comandos do Bitftp, envie uma
               mensagem de uma unica linha formada pela palavra HELP para
               BITFTP AT PUCC.


Exemplo:  A mensagem de 10 linhas a seguir pode ser enviada via Bitnet para
--------  BITFTP AT PUCC pedindo para ser feita conexao com a Universidade
          de Washington (wuarchive.wustl.edu) e que sejam enviados de la'
          uma listagem do diretorio /mirrors/garbo.uwasa.fi, o arquivo
          INDEX.ZIP, o "empacotador" PKZIP 2.04 (pkz204g.exe) e os anti-
          virus SCAN / CLEAN 106 (scanv106.zip e clean106.zip). Essa Univer-
          sidade (wuarchive.wustl.edu) contem praticamente uma infinidade
          de programas interessantes para micros.


                    FTP wuarchive.wustl.edu xxencode
                    CD /mirrors/garbo.uwasa.fi
                    DIR
                    GET INDEX.ZIP
                    CD /mirrors/garbo.uwasa.fi/arcers
                    GET pkz204g.exe
                    CD /msdos/virus
                    GET scanv106.zip
                    GET clean106.zip
                    QUIT


------------------

       Um arquivo no formato xxencode e' um "texto" que comeca com a palavra
"begin" e termina com um "end". Depois que se usa um decodificador nesse
"texto" ele volta ao formato normal. Por exemplo, o trecho a seguir e' um
programa executavel PROGRAM1.COM nesse formato:

       begin 644 program1.com
       huOQ+GKtkRLEUNaZgNG-ZQb7jQWsB0YxpR5-pR0-aOKlZ64JmQaxm9Uo8QrFV
       hQbEUPaxo64NjRKtY9Uo8FKtY64tjR0-aPrJiN0sB0aJsOLBoQmsUEK7jQbFd
       hPaQV1Ec+++++uUDe+tc1+0ghA12mAnEpBXQsCI30EoF3FYR6GId9H2pCHp-F
       hIZBIJJNLK3ZOMK7XN4JaNqVdOahgPKtjQ53mQrFpRbRsSLfcw+5cMU4zaUDc
       hvk0hDK7ZRTGhDKRdRSuhDKsURSWzaUCgCgFqyukul5Lvf1f2Rjgul5E2eenf
       hy9eO+nD7W+q+DaY-zrEUh2vB6Hk0R-Uw2bEIWwwfmYZ7u1g-iYk-iFA+g+Ld
       hD0xo-1khRFW9o6g273wxHm09kbI9xVNd+IN4f1f2RUeefCjsCgFq+jb1lUI+
       hyABMK2EURX2iAE-2MLNdN0-E62hdQbBXO47VRKog63FjMKEUG43gP+++++++
       7++++++++++++
       +
       end


       Para criar o PROGRAM1.COM no micro, passe-o na forma xxencode para
um disco (com nome PROGRAM1.XXE) e use um decodificador nele:

                       C:\> XXDECODE program1.xxe

       Se o arquivo desejado for grande, ele vira' fragmentado em varias par-
tes. Se o formato pedido foi o xxencode, entao o usuario interessado devera'
emendar as partes (com um editor de textos ou com o comando COPY do MS-DOS:
C:\> COPY parte1+parte2+parte3 total.ext) devendo antes retirar os cabecalhos
("envelopes") de cada parte.
       Se voce nao tem um XXDECODE.COM, ai' abaixo vai um em Basic. Quando
o trecho a seguir for executado por qualquer versao de Basic (QBASIC,
GWBASIC, Turbo BASIC, etc.)  sera' criado no disco  um  decodificador
XXDECODE.COM.


-------------- CORTE AQUI (usando um editor de textos) ---------------


100 REM - PROGRAMA EM BASIC PARA CRIACAO DO XXDECODE.COM
110 CLS:PRINT "Criando XXDECODE.COM": OPEN "XXDECODE.COM" AS #1 LEN = 1
120 FIELD #1, 1 AS A$: CHECKSUM#=0
130 FOR I = 1 TO    54
140  LINESUM#=0: LOCATE 2,3: PRINT "Contagem regressiva: "    54 - I ;
150  FOR J = 1 TO  16: READ BYTE$: CHECKSUM#=CHECKSUM#+VAL("&H"+BYTE$)
160   LINESUM#=LINESUM#+VAL("&H"+BYTE$)
170   IF (BYTE < 256) THEN LSET A$=CHR$(VAL("&H"+BYTE$)): PUT #1
180  NEXT J
190  READ LINETOT$: LINECHECK# = VAL("&H"+LINETOT$)
200  IF LINECHECK# = LINESUM# THEN GOTO 220
210  LOCATE 4,2: PRINT "Erro na linha #"  ;  260 +  10 * I: GOTO 260
220 NEXT I
230 CLOSE: READ FILETOT$ : FILECHECK# = VAL(FILETOT$)
240 IF CHECKSUM# <> FILECHECK# THEN GOTO 260
250 PRINT: PRINT "XXDECODE.COM  criado com sucesso": SYSTEM
260 PRINT: PRINT "XXDECODE.COM  criado com erro": END
270 DATA E9, A7,  0, 49, 6E, 70, 75, 74, 20, 66, 69, 6C, 65, 20, 65, 72,   657
280 DATA 72, 6F, 72, 2E,  D,  A, 4F, 75, 74, 70, 75, 74, 20, 66, 69, 6C,   584
290 DATA 65, 20, 65, 72, 72, 6F, 72, 2E,  D,  A, 73, 74, 61, 72, 74, 20,   542
300 DATA 6E, 6F, 74, 20, 66, 6F, 75, 6E, 64, 2E,  D,  A, 45, 6E, 64, 20,   509
310 DATA 6E, 6F, 74, 20, 66, 6F, 75, 6E, 64, 2E,  D,  A, 65, 78, 69, 73,   58B
320 DATA 74, 73, 2E, 20, 41, 62, 6F, 72, 74, 69, 6E, 67, 21,  D,  A,  0,   4A3
330 DATA  0,  0,  0, EA,  3, EA,  3, 9A,  3,  0, 2B, 2D, 30, 31, 32, 33,   395
340 DATA 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 4A,   3FE
350 DATA 4B, 4C, 4D, 4E, 4F, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 5A,   528
360 DATA 61, 62, 63, 64, 65, 66, 67, 68, 69, 6A, 6B, 6C, 6D, 6E, 6F, 70,   688
370 DATA 71, 72, 73, 74, 75, 76, 77, 78, 79, 7A, E8, F0,  1, E8, 62,  1,   7BB
380 DATA BF, 9A,  3, E8, EF,  0, AD, 3D, 62, 65, 75, F4, AD, 3D, 67, 69,   807
390 DATA 75, EE, AD, 3D, 6E, 20, 75, E8, BF, 9A,  3, AC, 3A, C4, 76, FB,   8AF
400 DATA AC, 3A, C4, 75, FB, AC, 3A, C4, 76, FB, 3A, C4, 74,  4, AA, AC,   901
410 DATA EB, F8, BA, 9A,  3, 33, C9, 88,  D, 80, 3E, 69,  1, FF, 74, 20,   786
420 DATA B4, 4E, CD, 21, 3C,  2, 74, 18, 3C, 12, 74, 14, 8B, CF, 2B, CA,   5DF
430 DATA 49, 49, E8, 3B,  1, BA, 4C,  1, B9, 13,  0, B0,  5, E9, 24,  1,   54C
440 DATA B4, 3C, CD, 21, 73,  3, E9, F1,  0, A3, 61,  1, BF, 9A,  3, E8,   777
450 DATA 83,  0, 8A,  4,  A, C0, 74, 65, 3C, 2B, 74, 61, 3C, 20, 74, 5D,   51D
460 DATA 57, BB, 6A,  1, BA, 40,  0, 56, AC,  A, C0, 74, 12, 8B, FB, 8B,   6DA
470 DATA CA, F2, AE, 75, 45, 8B, C7, 48, 2B, C3, 88, 44, FF, EB, E9, 5E,   9A9
480 DATA 5F, AC, 32, E4, 8B, E8, B9,  4,  6, AD, 86, C4, 8A, D0, D0, E4,   95C
490 DATA D0, E4, D2, E8,  A, C4, AA, 4D, 74, B5, 8A, E2, AC, 8A, D0, D2,   AA0
500 DATA E4, D0, E8, D0, E8,  A, C4, AA, 4D, 74, A4, 8A, E2, AC, 8A, CD,   AA0
510 DATA D2, E4,  A, C4, AA, 4D, 75, CE, EB, 95, E9, A1,  0, E8, 15,  0,   8C5
520 DATA AD, 3D, 65, 6E, 75,  5, AC, 3C, 64, 74,  3, E8, 9C,  0, E8, 51,   6B7
530 DATA  0, B4, 4C, CD, 21, 8B, 36, 63,  1, 89, 3E, 67,  1, BD, 43,  0,   542
540 DATA BF, 4A,  3, C6,  5,  0, 3B, 36, 65,  1, 72,  6, E8, 33,  0, E8,   529
550 DATA 50,  0, AC, 3C,  D, 74, 1B, 3C,  A, 74, 18, AA, 4D, 75, E7, 3B,   534
560 DATA 36, 65,  1, 72,  3, E8, 3A,  0, AC, 3C,  A, 75, F2, BF, 9A,  3,   5E8
570 DATA EB, C7, 46, C6,  5,  0, 89, 36, 63,  1, 8B, 3E, 67,  1, BE, 4A,   61F
580 DATA  3, C3, BA, 9A,  3, 8B, CA, 87,  E, 67,  1, 2B, CA, 76,  A, 8B,   66F
590 DATA 1E, 61,  1, B4, 40, CD, 21, 72,  1, C3, BA, 16,  1, B9, 14,  0,   536
600 DATA EB, 22, BA, EA,  3, B9,  0, E1, 8B, 1E, 5F,  1, B4, 3F, CD, 21,   738
610 DATA 72,  C,  B, C0, 74,  8, 8B, F2,  3, C6, A3, 65,  1, C3, BA,  3,   694
620 DATA  1, B9, 13,  0, E8,  9,  0, E9, 67, FF, BA, 3C,  1, B9, 10,  0,   5CD
630 DATA 50, BB,  2,  0, B4, 40, CD, 21, 58, C3, 54, 68, 69, 73, 20, 70,   632
640 DATA 72, 6F, 67, 72, 61, 6D, 20, 72, 65, 71, 75, 69, 72, 65, 73, 20,   638
650 DATA 44, 4F, 53, 20, 56, 65, 72, 73, 69, 6F, 6E, 20, 32, 2E, 30, 20,   4BC
660 DATA 6F, 72, 20, 68, 69, 67, 68, 65, 72, 2E,  D,  A, 24,  D,  A, 49,   441
670 DATA 6E, 70, 75, 74, 20, 70, 61, 74, 68, 2F, 66, 69, 6C, 65, 3A, 20,   5BD
680 DATA 20, 4E, 6F, 20, 61, 63, 74, 69, 6F, 6E,  D,  A, 24, B4, 30, CD,   567
690 DATA 21, 3C,  2, 73,  C, BA, 4A,  3, B4,  9, CD, 21, B8,  1, 4C, CD,   562
700 DATA 21, E8, 36,  0, 73, 23, BA, 7D,  3, B9, 14,  0, BB,  2,  0, B4,   54D
710 DATA 40, CD, 21, BF, 7F,  0, C6,  5, 50, 8B, D7, B4,  A, CD, 21, E8,   77D
720 DATA 18,  0, 73,  5, BA, 91,  3, EB, CF, BA, 2C,  4, B8,  0, 3D, CD,   644
730 DATA 21, 72,  4, A3, 5F,  1, C3, E9, 44, FF, BE, 80,  0, BF, 2C,  4,   6B6
740 DATA FC, AC,  A, C0, 74, 2F, B4, 20, AC, 3A, C4, 76, FB, 3C, 2F, 74,   7E3
750 DATA  4, 3C, 2D, 75, 18, 8B, D0, 8B,  4, 24, 5F, 3D, 4F, 20, 8B, C2,   560
760 DATA 75,  B, F6, 16, 69,  1, 46, 46, AC, 3A, C4, 76,  A, AA, AC, EB,   6ED
770 DATA F8, 3A, C4, 76,  2, F9, C3, C6,  5,  0, F8, C3, 58, 58, 44, 20,   7C4
780 DATA 76, 31, 2E, 31,  0, 44, 61, 76, 69, 64, 20, 50, 20, 4B, 69, 72,   4A4
790 DATA 73, 63, 68, 62, 61, 75, 6D, 2C, 20, 54, 6F, 61, 64, 20, 48, 61,   580
800 DATA 6C, 6C,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,    D8
810 DATA 87150


----------------------- CORTE AQUI ------------------ (fim da mensagem)