ippseudo
struct ippseudo ippseudo;
ippseudo.ippseudo_src = ipovly->ih_src;
ippseudo.ippseudo_dst = ipovly->ih_dst;
ippseudo.ippseudo_pad = 0;
ippseudo.ippseudo_p = IPPROTO_TCP;
ippseudo.ippseudo_len = htons(len + sizeof(struct tcphdr) + optlen);
MD5Update(&ctx, (char *)&ippseudo, sizeof(struct ippseudo));
struct ippseudo *ph;
stuff = (unsigned char*) malloc(len + sizeof(struct ippseudo));
ph = (struct ippseudo*) stuff;
memcpy(stuff + sizeof(struct ippseudo), stuff0, len);
return in_cksum((unsigned short*)stuff, len+sizeof(struct ippseudo));
struct ippseudo *ph;
tmp = (unsigned char*) malloc(len + sizeof(struct ippseudo));
ph = (struct ippseudo*) tmp;
memcpy(tmp + sizeof(struct ippseudo), stuff, len);
return in_cksum((unsigned short*)tmp, len+sizeof(struct ippseudo));