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:
- Renomeie o folder "doc" para "Documentation"
- 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>