tam_dados_val_chave is, in fact, only 4 bytes long. Due to a known bug
in the decoder used during reverse engineering, the value of
tam_dados_val was appended to the value of tam_dados_val_chave, since
the two keys have the same prefix.
cliente = "201104" (será a versão do receitanet?)
dados_val = parte do cabeçalho do DEC (desce in_cert até vr_totpagamentos) bytes 112 a 750
tam_dados_val = 0x00 0x00 0x00 0x00 (4 bytes)
- tam_dados_val_chave = 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (8 bytes)
+ tam_dados_val_chave = 0x00 0x00 0x00 0x00 (4 bytes)
arquivos_restantes = 0x00 0x00 0x00 0x00 (4 bytes)
S: (6 bytes) + deflate(hash)
header: 0x01 0xII 0xII 0xOO 0xOO 0x01, II é o tamanho da entrada, OO é o tamanho da saída do deflate
r = rnet_message_add_ascii(msg, "so", "GNU");
r = rnet_message_add_ascii(msg, "cliente", "201104");
r = rnet_message_add_u32(msg, "tam_dados_val", 0);
- r = rnet_message_add_u64(msg, "tam_dados_val_chave", 0);
+ r = rnet_message_add_u32(msg, "tam_dados_val_chave", 0);
r = rnet_message_add_u32(msg, "arquivos_restantes", 0);
free(hash);