Bugs conhecidos do PGP 2.6.3i

Abaixo encontra-se a lista dos bugs conhecidos do PGP 2.6.3i, e como corrigi-los. Se você acha que descobriu um novo bug, por favor entre em contato com pgp-bugs@ifi.uio.no, enviando uma descrição completa do bug e como reproduzi-lo.


Patches para o PGP 2.6.3(i)a já estão disponíveis

A última revisão do PGP 2.6.3i é o patch-level a, você pode obtê-lo aqui (Desculpe, apenas disponível sob a forma de código fonte!)


* O PGP ignora a forma longa da variável TZ

A variável de ambiente TZ permite a você ajustar qual é a sua timezone, e também compensar o horário de verão. A forma longa da especificação para TZ permite que você diga quando o horário de verão começa e termina:
  SET TZ=SSS[+|-]nDST,sm,sw,sd,st,em,ew,ed,et,shift
Infelizmente, entretanto, a maior parte das versões compiladas do PGP simplesmente ignoram tudo depois da primeira vírgula. Isso significa que o PGP sempre irá ativar o horário de verão (se você especificou DST) à 1h do primeiro Domingo de Abril, e desativá-lo às 2h do último Sábado de Outubro. Estes valores não são os valores corretos para muitos países, e certamente não funcionam para ninguém no hemisfério sul.


* Arquivos de texto sendo tratados como arquivos binários (todas as plataformas)

A rotina de reconhecimento binário/texto no PGP 2.6.2i foi reescrita, de forma que a versão 2.6.3i pudesse reconhecer como texto e permitir assinaturas legíveis (clearsigns) de textos não-europeus (por exemplo Japonês, Coreano e Chinês). Normalmente a nova rotina funciona bem, mas textos com linhas muito longas (mais de 132 caracteres) irão enganar a rotina. Para remover esse critério de reconhecimento, basta remover a linha 1056 do arquivo fileio.c:
  if (lfctr>132) return FALSE; /* line too long. Not a text file*/
Note porém que arquivos de texto com linhas tão compridas normalmente não conseguem passar pelos canais de email sem alterações.


* Impossibilidade de gerar chaves (Macintosh)

Existe um erro no arquivo de distribuição do MacPGP que provoca esse erro. Para consertar:
  1. Renomeie o folder "doc" para "Documentation"
  2. Mova o folder "PGP User's Guide" para o novo folder "Documentation"


* O PGP não aceita frases-senha (pass phrases) com caracteres acentuados

Um usuário do PGP na Alemanha que recentemente deixou de usar o PGP 2.3a e passou a usar o 2.6.3i reclamou que não era mais possível utilizar as suas chaves mais antigas, pois ele havia usado os caracteres "ä" e "ß" na frase-senha e o PGP 2.6.3i não os estava reconhecendo.

Um conselho: não use esse tipo de caractere. :-) Uma frase-senha escrita em um caracter set ou code page provavelmente não vai funcionar em nenhuma outra. Eu acho que este "bug" foi introduzido em algum momento perto da versão 2.6. Se você possui alguma chave antiga que vá apresentar esse tipo de problema com a frase-senha, troque-a para uma outra frase utilizando apenas caracteres não acentuados antes de atualizar o PGP para a versão 2.6.3i.


* Processamento incorreto da linha de comando quando compilado com o Borland C (MS-DOS)

A versão pré-compilada para MS-DOS do PGP 2.6.3i usa o Microsoft C. Se você for compilar o PGP você mesmo usando o Borland (ou Turbo) C, e estiver utilizando o COMMAND.COM normal (não o 4DOS ou NDOS), você vai descobrir que o PGP não se comportará conforme o documentado quando " (aspas) forem usadas para especificar comandos com espaços inclusos. Exemplo:
  pgp -seat +comment="Você enviaria correspondências sem um envelope?" msg.txt schumacher
deve ser escrito assim:
  pgp -seat "+comment=Você enviaria correspondências sem um envelope?" msg.txt schumacher


* Problemas de compilação (várias plataformas UNIX)

Undefined strdup() function

A função strdup() é normalmente definida em <string.h>, mas em alguns sistemas ela pode não estar lá. Se por causa disso, você não conseguir link-editar o PGP, modifique a linha 2922 do arquivo pgp.c. Mude de:
  if (!(new[entrynum++] = strdup(tempbuf)))
para:
  if (!(new[entrynum++] = store_str(tempbuf)))

E então remova a declaração 'static' em store_str() no arquivo keymaint.c. Se você estiver utilizando um compilador ANSI C, adicione o protótipo de store_str() em keymaint.h também:

  char *store_str(char *str);


Undefined strncasecmp() function

Se seu sistema não possuir a função strncasecmp(), substitua-a por strncmp().


Protótipos faltando

Em pgp,c, acrescente a linha abaixo logo após a linha 129 (na seção #ifdef UNIX):
#include <sys/types.h>



* Este bug é único ao PGP 2.6.3i, mas já foi corrigido.
* Este bug foi herdado do MIT PGP 2.6.2 e está presente em todas as versões do PGP.
Última atualização em 10/06/1997 07:50:06 -03 por Henrique Holschuh, <henriqmh@dca.fee.Unicamp.br>