Browse Source

reverted sequence of hash and tunnelID

pull/11/merge
orignal 11 years ago
parent
commit
0d9cc12521
  1. 10
      Garlic.cpp

10
Garlic.cpp

@ -163,10 +163,11 @@ namespace garlic
{ {
buf[size] = eGarlicDeliveryTypeTunnel << 5; // delivery instructions flag tunnel buf[size] = eGarlicDeliveryTypeTunnel << 5; // delivery instructions flag tunnel
size++; size++;
*(uint32_t *)(buf + size) = htobe32 (tunnel->GetNextTunnelID ()); // tunnelID // hash and tunnelID sequence is reversed for Garlic
size += 4;
memcpy (buf + size, tunnel->GetNextIdentHash (), 32); // To Hash memcpy (buf + size, tunnel->GetNextIdentHash (), 32); // To Hash
size += 32; size += 32;
*(uint32_t *)(buf + size) = htobe32 (tunnel->GetNextTunnelID ()); // tunnelID
size += 4;
} }
else else
{ {
@ -330,10 +331,11 @@ namespace garlic
case eGarlicDeliveryTypeTunnel: case eGarlicDeliveryTypeTunnel:
{ {
LogPrint ("Garlic type tunnel"); LogPrint ("Garlic type tunnel");
uint32_t gwTunnel = be32toh (*(uint32_t *)buf); // gwHash and gwTunnel sequence is reverted
buf += 4;
uint8_t * gwHash = buf; uint8_t * gwHash = buf;
buf += 32; buf += 32;
uint32_t gwTunnel = be32toh (*(uint32_t *)buf);
buf += 4;
auto tunnel = i2p::tunnel::tunnels.GetNextOutboundTunnel (); auto tunnel = i2p::tunnel::tunnels.GetNextOutboundTunnel ();
if (tunnel) // we have send it through an outbound tunnel if (tunnel) // we have send it through an outbound tunnel
{ {

Loading…
Cancel
Save