Resumo

  • A RFC 3164 limita o pacote syslog legado completo a 1.024 bytes e exige que o relay insira um horário ausente; também recomenda acrescentar o nome do host.
  • Se os campos adicionados ultrapassarem o limite, o relay deve truncar o pacote; a RFC alerta que informações importantes do final original podem se perder.

O cabeçalho disputa o mesmo orçamento

Imagine um equipamento enviando um pacote syslog quase cheio, mas sem horário válido. O relay verifica o campo PRI antes de encaminhar. Pela seção 4.3.2 da RFC 3164, deve inserir seu horário local atual depois de PRI e também deveria acrescentar o nome do host se puder identificá-lo. O restante do conteúdo recebido passa a ser o CONTENT da mensagem.

Esse enriquecimento consome bytes. A seção 4.1 limita o pacote inteiro, não apenas o texto do evento: PRI, HEADER e MSG compartilham o teto de 1.024 bytes. Se o horário, o nome e os espaços fizerem o pacote remontado exceder esse limite, o relay deve conferir o tamanho e truncá-lo para 1.024 bytes. A RFC alerta explicitamente que informações vitais no final do pacote original podem ser perdidas.

O registro ainda pode parecer bem formado. O coletor vê uma prioridade e um cabeçalho organizados, mas talvez faltem os últimos bytes do evento: a explicação depois de “porque”, o resultado de um comando, um identificador do equipamento ou um valor de diagnóstico. São possibilidades, não incidentes afirmados aqui. O protocolo expõe o final quando os campos acrescentados empurram uma entrada longa além do teto compartilhado.

Uma regra normativa não é um censo de implementações

A RFC 3164 é um memorando Informational de agosto de 2001 que documenta o protocolo BSD syslog; não prova que todos os relays seguiram essa regra. A seção 4.2 aceita qualquer mensagem syslog válida como conteúdo UDP destinado à porta 514 e recomenda que o emissor forneça PRI, HEADER e MSG para evitar a alteração pelo relay. A seção 6.1 exige que receptores não falhem com mensagens acima de 1.024 bytes e descreve comportamentos diferentes. Nenhuma das seções mede a frequência de mensagens longas, quais relays truncavam ou o que coletores guardavam.

Esse teto de mensagem não é o MTU do caminho. Fragmentação IP, tratamento UDP e truncamento na aplicação são mecanismos diferentes. O horário inserido é a hora local atual do relay, não necessariamente a hora do evento. O nome é como o relay conhece o equipamento — ou seu endereço IP — e a RFC não exige que o receptor valide esse nome contra o remetente.

Formatos posteriores esclarecem a distinção, mas não provam a migração

A RFC 5424 substituiu a RFC 3164 com um cabeçalho mais explícito e dados estruturados. A RFC 6587 descreve o enquadramento em TCP e observa que o limite legado de 1.024 octetos foi ampliado para o syslog padronizado. A RFC 3195 usa outra contabilidade: seu perfil RAW limita cada corpo de evento a 1.024 bytes, excluindo a sobrecarga do enquadramento BEEP. A comparação mostra que a mesma cifra pode medir camadas distintas; não demonstra que emissores ou relays antigos sumiram quando saíram novos RFCs.

A lição histórica é específica: ao acrescentar contexto, o relay pode gastar o mesmo orçamento finito usado pelo conteúdo transportado. O pacote pode chegar, ser analisado e arquivado sem que isso prove a preservação integral da mensagem original. Em um sistema real, seriam necessários os bytes da origem, as entradas e saídas de cada relay, a análise do coletor e uma leitura posterior.

Fontes