Deleted Added
full compact
28c28
< __FBSDID("$FreeBSD: head/sys/netinet/libalias/alias_ftp.c 124621 2004-01-17 10:52:21Z phk $");
---
> __FBSDID("$FreeBSD: head/sys/netinet/libalias/alias_ftp.c 127094 2004-03-16 21:30:41Z des $");
90,94c90,94
< FTP_PORT_COMMAND,
< FTP_EPRT_COMMAND,
< FTP_227_REPLY,
< FTP_229_REPLY,
< FTP_UNKNOWN_MESSAGE
---
> FTP_PORT_COMMAND,
> FTP_EPRT_COMMAND,
> FTP_227_REPLY,
> FTP_229_REPLY,
> FTP_UNKNOWN_MESSAGE
97,101c97,101
< static int ParseFtpPortCommand(struct libalias *la, char *, int);
< static int ParseFtpEprtCommand(struct libalias *la, char *, int);
< static int ParseFtp227Reply(struct libalias *la, char *, int);
< static int ParseFtp229Reply(struct libalias *la, char *, int);
< static void NewFtpMessage(struct libalias *la, struct ip *, struct alias_link *, int, int);
---
> static int ParseFtpPortCommand(struct libalias *la, char *, int);
> static int ParseFtpEprtCommand(struct libalias *la, char *, int);
> static int ParseFtp227Reply(struct libalias *la, char *, int);
> static int ParseFtp229Reply(struct libalias *la, char *, int);
> static void NewFtpMessage(struct libalias *la, struct ip *, struct alias_link *, int, int);
105,108c105,109
< struct libalias *la,
< struct ip *pip, /* IP packet to examine/patch */
< struct alias_link *link, /* The link to go through (aliased port) */
< int maxpacketsize /* The maximum size this packet can grow to (including headers) */)
---
> struct libalias *la,
> struct ip *pip, /* IP packet to examine/patch */
> struct alias_link *link, /* The link to go through (aliased port) */
> int maxpacketsize /* The maximum size this packet can grow to
> (including headers) */ )
110,113c111,114
< int hlen, tlen, dlen, pflags;
< char *sptr;
< struct tcphdr *tc;
< int ftp_message_type;
---
> int hlen, tlen, dlen, pflags;
> char *sptr;
> struct tcphdr *tc;
> int ftp_message_type;
116,119c117,120
< tc = (struct tcphdr *) ((char *) pip + (pip->ip_hl << 2));
< hlen = (pip->ip_hl + tc->th_off) << 2;
< tlen = ntohs(pip->ip_len);
< dlen = tlen - hlen;
---
> tc = (struct tcphdr *)((char *)pip + (pip->ip_hl << 2));
> hlen = (pip->ip_hl + tc->th_off) << 2;
> tlen = ntohs(pip->ip_len);
> dlen = tlen - hlen;
122,123c123,124
< sptr = (char *) pip;
< sptr += hlen;
---
> sptr = (char *)pip;
> sptr += hlen;
129,131c130,132
< pflags = GetProtocolFlags(link);
< if (dlen <= MAX_MESSAGE_SIZE && !(pflags & WAIT_CRLF)) {
< ftp_message_type = FTP_UNKNOWN_MESSAGE;
---
> pflags = GetProtocolFlags(link);
> if (dlen <= MAX_MESSAGE_SIZE && !(pflags & WAIT_CRLF)) {
> ftp_message_type = FTP_UNKNOWN_MESSAGE;
133c134
< if (ntohs(tc->th_dport) == FTP_CONTROL_PORT_NUMBER) {
---
> if (ntohs(tc->th_dport) == FTP_CONTROL_PORT_NUMBER) {
137,141c138,142
< if (ParseFtpPortCommand(la, sptr, dlen))
< ftp_message_type = FTP_PORT_COMMAND;
< else if (ParseFtpEprtCommand(la, sptr, dlen))
< ftp_message_type = FTP_EPRT_COMMAND;
< } else {
---
> if (ParseFtpPortCommand(la, sptr, dlen))
> ftp_message_type = FTP_PORT_COMMAND;
> else if (ParseFtpEprtCommand(la, sptr, dlen))
> ftp_message_type = FTP_EPRT_COMMAND;
> } else {
145,151c146,152
< if (ParseFtp227Reply(la, sptr, dlen))
< ftp_message_type = FTP_227_REPLY;
< else if (ParseFtp229Reply(la, sptr, dlen)) {
< ftp_message_type = FTP_229_REPLY;
< la->true_addr.s_addr = pip->ip_src.s_addr;
< }
< }
---
> if (ParseFtp227Reply(la, sptr, dlen))
> ftp_message_type = FTP_227_REPLY;
> else if (ParseFtp229Reply(la, sptr, dlen)) {
> ftp_message_type = FTP_229_REPLY;
> la->true_addr.s_addr = pip->ip_src.s_addr;
> }
> }
153,156c154,156
< if (ftp_message_type != FTP_UNKNOWN_MESSAGE)
< NewFtpMessage(la, pip, link, maxpacketsize, ftp_message_type);
< }
<
---
> if (ftp_message_type != FTP_UNKNOWN_MESSAGE)
> NewFtpMessage(la, pip, link, maxpacketsize, ftp_message_type);
> }
159,167c159,168
< if (dlen) { /* only if there's data */
< sptr = (char *) pip; /* start over at beginning */
< tlen = ntohs(pip->ip_len); /* recalc tlen, pkt may have grown */
< if (sptr[tlen-2] == '\r' && sptr[tlen-1] == '\n')
< pflags &= ~WAIT_CRLF;
< else
< pflags |= WAIT_CRLF;
< SetProtocolFlags(link, pflags);
< }
---
> if (dlen) { /* only if there's data */
> sptr = (char *)pip; /* start over at beginning */
> tlen = ntohs(pip->ip_len); /* recalc tlen, pkt may
> * have grown */
> if (sptr[tlen - 2] == '\r' && sptr[tlen - 1] == '\n')
> pflags &= ~WAIT_CRLF;
> else
> pflags |= WAIT_CRLF;
> SetProtocolFlags(link, pflags);
> }
173,177c174,178
< char ch;
< int i, state;
< u_int32_t addr;
< u_short port;
< u_int8_t octet;
---
> char ch;
> int i, state;
> u_int32_t addr;
> u_short port;
> u_int8_t octet;
179c180
< /* Format: "PORT A,D,D,R,PO,RT". */
---
> /* Format: "PORT A,D,D,R,PO,RT". */
181,183c182,184
< /* Return if data length is too short. */
< if (dlen < 18)
< return 0;
---
> /* Return if data length is too short. */
> if (dlen < 18)
> return 0;
185,193c186,214
< addr = port = octet = 0;
< state = -4;
< for (i = 0; i < dlen; i++) {
< ch = sptr[i];
< switch (state) {
< case -4: if (ch == 'P') state++; else return 0; break;
< case -3: if (ch == 'O') state++; else return 0; break;
< case -2: if (ch == 'R') state++; else return 0; break;
< case -1: if (ch == 'T') state++; else return 0; break;
---
> addr = port = octet = 0;
> state = -4;
> for (i = 0; i < dlen; i++) {
> ch = sptr[i];
> switch (state) {
> case -4:
> if (ch == 'P')
> state++;
> else
> return 0;
> break;
> case -3:
> if (ch == 'O')
> state++;
> else
> return 0;
> break;
> case -2:
> if (ch == 'R')
> state++;
> else
> return 0;
> break;
> case -1:
> if (ch == 'T')
> state++;
> else
> return 0;
> break;
195,224c216,255
< case 0:
< if (isspace(ch))
< break;
< else
< state++;
< case 1: case 3: case 5: case 7: case 9: case 11:
< if (isdigit(ch)) {
< octet = ch - '0';
< state++;
< } else
< return 0;
< break;
< case 2: case 4: case 6: case 8:
< if (isdigit(ch))
< octet = 10 * octet + ch - '0';
< else if (ch == ',') {
< addr = (addr << 8) + octet;
< state++;
< } else
< return 0;
< break;
< case 10: case 12:
< if (isdigit(ch))
< octet = 10 * octet + ch - '0';
< else if (ch == ',' || state == 12) {
< port = (port << 8) + octet;
< state++;
< } else
< return 0;
< break;
---
> case 0:
> if (isspace(ch))
> break;
> else
> state++;
> case 1:
> case 3:
> case 5:
> case 7:
> case 9:
> case 11:
> if (isdigit(ch)) {
> octet = ch - '0';
> state++;
> } else
> return 0;
> break;
> case 2:
> case 4:
> case 6:
> case 8:
> if (isdigit(ch))
> octet = 10 * octet + ch - '0';
> else if (ch == ',') {
> addr = (addr << 8) + octet;
> state++;
> } else
> return 0;
> break;
> case 10:
> case 12:
> if (isdigit(ch))
> octet = 10 * octet + ch - '0';
> else if (ch == ',' || state == 12) {
> port = (port << 8) + octet;
> state++;
> } else
> return 0;
> break;
> }
226d256
< }
228,233c258,263
< if (state == 13) {
< la->true_addr.s_addr = htonl(addr);
< la->true_port = port;
< return 1;
< } else
< return 0;
---
> if (state == 13) {
> la->true_addr.s_addr = htonl(addr);
> la->true_port = port;
> return 1;
> } else
> return 0;
239,243c269,273
< char ch, delim;
< int i, state;
< u_int32_t addr;
< u_short port;
< u_int8_t octet;
---
> char ch, delim;
> int i, state;
> u_int32_t addr;
> u_short port;
> u_int8_t octet;
245c275
< /* Format: "EPRT |1|A.D.D.R|PORT|". */
---
> /* Format: "EPRT |1|A.D.D.R|PORT|". */
247,249c277,279
< /* Return if data length is too short. */
< if (dlen < 18)
< return 0;
---
> /* Return if data length is too short. */
> if (dlen < 18)
> return 0;
251,261c281,310
< addr = port = octet = 0;
< delim = '|'; /* XXX gcc -Wuninitialized */
< state = -4;
< for (i = 0; i < dlen; i++) {
< ch = sptr[i];
< switch (state)
< {
< case -4: if (ch == 'E') state++; else return 0; break;
< case -3: if (ch == 'P') state++; else return 0; break;
< case -2: if (ch == 'R') state++; else return 0; break;
< case -1: if (ch == 'T') state++; else return 0; break;
---
> addr = port = octet = 0;
> delim = '|'; /* XXX gcc -Wuninitialized */
> state = -4;
> for (i = 0; i < dlen; i++) {
> ch = sptr[i];
> switch (state) {
> case -4:
> if (ch == 'E')
> state++;
> else
> return 0;
> break;
> case -3:
> if (ch == 'P')
> state++;
> else
> return 0;
> break;
> case -2:
> if (ch == 'R')
> state++;
> else
> return 0;
> break;
> case -1:
> if (ch == 'T')
> state++;
> else
> return 0;
> break;
263,311c312,367
< case 0:
< if (!isspace(ch)) {
< delim = ch;
< state++;
< }
< break;
< case 1:
< if (ch == '1') /* IPv4 address */
< state++;
< else
< return 0;
< break;
< case 2:
< if (ch == delim)
< state++;
< else
< return 0;
< break;
< case 3: case 5: case 7: case 9:
< if (isdigit(ch)) {
< octet = ch - '0';
< state++;
< } else
< return 0;
< break;
< case 4: case 6: case 8: case 10:
< if (isdigit(ch))
< octet = 10 * octet + ch - '0';
< else if (ch == '.' || state == 10) {
< addr = (addr << 8) + octet;
< state++;
< } else
< return 0;
< break;
< case 11:
< if (isdigit(ch)) {
< port = ch - '0';
< state++;
< } else
< return 0;
< break;
< case 12:
< if (isdigit(ch))
< port = 10 * port + ch - '0';
< else if (ch == delim)
< state++;
< else
< return 0;
< break;
---
> case 0:
> if (!isspace(ch)) {
> delim = ch;
> state++;
> }
> break;
> case 1:
> if (ch == '1') /* IPv4 address */
> state++;
> else
> return 0;
> break;
> case 2:
> if (ch == delim)
> state++;
> else
> return 0;
> break;
> case 3:
> case 5:
> case 7:
> case 9:
> if (isdigit(ch)) {
> octet = ch - '0';
> state++;
> } else
> return 0;
> break;
> case 4:
> case 6:
> case 8:
> case 10:
> if (isdigit(ch))
> octet = 10 * octet + ch - '0';
> else if (ch == '.' || state == 10) {
> addr = (addr << 8) + octet;
> state++;
> } else
> return 0;
> break;
> case 11:
> if (isdigit(ch)) {
> port = ch - '0';
> state++;
> } else
> return 0;
> break;
> case 12:
> if (isdigit(ch))
> port = 10 * port + ch - '0';
> else if (ch == delim)
> state++;
> else
> return 0;
> break;
> }
313d368
< }
315,320c370,375
< if (state == 13) {
< la->true_addr.s_addr = htonl(addr);
< la->true_port = port;
< return 1;
< } else
< return 0;
---
> if (state == 13) {
> la->true_addr.s_addr = htonl(addr);
> la->true_port = port;
> return 1;
> } else
> return 0;
326,330c381,385
< char ch;
< int i, state;
< u_int32_t addr;
< u_short port;
< u_int8_t octet;
---
> char ch;
> int i, state;
> u_int32_t addr;
> u_short port;
> u_int8_t octet;
332c387
< /* Format: "227 Entering Passive Mode (A,D,D,R,PO,RT)" */
---
> /* Format: "227 Entering Passive Mode (A,D,D,R,PO,RT)" */
334,336c389,391
< /* Return if data length is too short. */
< if (dlen < 17)
< return 0;
---
> /* Return if data length is too short. */
> if (dlen < 17)
> return 0;
338c393
< addr = port = octet = 0;
---
> addr = port = octet = 0;
340,347c395,416
< state = -3;
< for (i = 0; i < dlen; i++) {
< ch = sptr[i];
< switch (state)
< {
< case -3: if (ch == '2') state++; else return 0; break;
< case -2: if (ch == '2') state++; else return 0; break;
< case -1: if (ch == '7') state++; else return 0; break;
---
> state = -3;
> for (i = 0; i < dlen; i++) {
> ch = sptr[i];
> switch (state) {
> case -3:
> if (ch == '2')
> state++;
> else
> return 0;
> break;
> case -2:
> if (ch == '2')
> state++;
> else
> return 0;
> break;
> case -1:
> if (ch == '7')
> state++;
> else
> return 0;
> break;
349,377c418,456
< case 0:
< if (ch == '(')
< state++;
< break;
< case 1: case 3: case 5: case 7: case 9: case 11:
< if (isdigit(ch)) {
< octet = ch - '0';
< state++;
< } else
< return 0;
< break;
< case 2: case 4: case 6: case 8:
< if (isdigit(ch))
< octet = 10 * octet + ch - '0';
< else if (ch == ',') {
< addr = (addr << 8) + octet;
< state++;
< } else
< return 0;
< break;
< case 10: case 12:
< if (isdigit(ch))
< octet = 10 * octet + ch - '0';
< else if (ch == ',' || (state == 12 && ch == ')')) {
< port = (port << 8) + octet;
< state++;
< } else
< return 0;
< break;
---
> case 0:
> if (ch == '(')
> state++;
> break;
> case 1:
> case 3:
> case 5:
> case 7:
> case 9:
> case 11:
> if (isdigit(ch)) {
> octet = ch - '0';
> state++;
> } else
> return 0;
> break;
> case 2:
> case 4:
> case 6:
> case 8:
> if (isdigit(ch))
> octet = 10 * octet + ch - '0';
> else if (ch == ',') {
> addr = (addr << 8) + octet;
> state++;
> } else
> return 0;
> break;
> case 10:
> case 12:
> if (isdigit(ch))
> octet = 10 * octet + ch - '0';
> else if (ch == ',' || (state == 12 && ch == ')')) {
> port = (port << 8) + octet;
> state++;
> } else
> return 0;
> break;
> }
379d457
< }
381,386c459,464
< if (state == 13) {
< la->true_port = port;
< la->true_addr.s_addr = htonl(addr);
< return 1;
< } else
< return 0;
---
> if (state == 13) {
> la->true_port = port;
> la->true_addr.s_addr = htonl(addr);
> return 1;
> } else
> return 0;
392,394c470,472
< char ch, delim;
< int i, state;
< u_short port;
---
> char ch, delim;
> int i, state;
> u_short port;
396c474
< /* Format: "229 Entering Extended Passive Mode (|||PORT|)" */
---
> /* Format: "229 Entering Extended Passive Mode (|||PORT|)" */
398,400c476,478
< /* Return if data length is too short. */
< if (dlen < 11)
< return 0;
---
> /* Return if data length is too short. */
> if (dlen < 11)
> return 0;
402,403c480,481
< port = 0;
< delim = '|'; /* XXX gcc -Wuninitialized */
---
> port = 0;
> delim = '|'; /* XXX gcc -Wuninitialized */
405,412c483,504
< state = -3;
< for (i = 0; i < dlen; i++) {
< ch = sptr[i];
< switch (state)
< {
< case -3: if (ch == '2') state++; else return 0; break;
< case -2: if (ch == '2') state++; else return 0; break;
< case -1: if (ch == '9') state++; else return 0; break;
---
> state = -3;
> for (i = 0; i < dlen; i++) {
> ch = sptr[i];
> switch (state) {
> case -3:
> if (ch == '2')
> state++;
> else
> return 0;
> break;
> case -2:
> if (ch == '2')
> state++;
> else
> return 0;
> break;
> case -1:
> if (ch == '9')
> state++;
> else
> return 0;
> break;
414,448c506,542
< case 0:
< if (ch == '(')
< state++;
< break;
< case 1:
< delim = ch;
< state++;
< break;
< case 2: case 3:
< if (ch == delim)
< state++;
< else
< return 0;
< break;
< case 4:
< if (isdigit(ch)) {
< port = ch - '0';
< state++;
< } else
< return 0;
< break;
< case 5:
< if (isdigit(ch))
< port = 10 * port + ch - '0';
< else if (ch == delim)
< state++;
< else
< return 0;
< break;
< case 6:
< if (ch == ')')
< state++;
< else
< return 0;
< break;
---
> case 0:
> if (ch == '(')
> state++;
> break;
> case 1:
> delim = ch;
> state++;
> break;
> case 2:
> case 3:
> if (ch == delim)
> state++;
> else
> return 0;
> break;
> case 4:
> if (isdigit(ch)) {
> port = ch - '0';
> state++;
> } else
> return 0;
> break;
> case 5:
> if (isdigit(ch))
> port = 10 * port + ch - '0';
> else if (ch == delim)
> state++;
> else
> return 0;
> break;
> case 6:
> if (ch == ')')
> state++;
> else
> return 0;
> break;
> }
450d543
< }
452,456c545,549
< if (state == 7) {
< la->true_port = port;
< return 1;
< } else
< return 0;
---
> if (state == 7) {
> la->true_port = port;
> return 1;
> } else
> return 0;
461,463c554,556
< struct alias_link *link,
< int maxpacketsize,
< int ftp_message_type)
---
> struct alias_link *link,
> int maxpacketsize,
> int ftp_message_type)
465c558
< struct alias_link *ftp_link;
---
> struct alias_link *ftp_link;
468,469c561,562
< if (pip->ip_src.s_addr != la->true_addr.s_addr)
< return;
---
> if (pip->ip_src.s_addr != la->true_addr.s_addr)
> return;
471,472c564,565
< if (la->true_port < IPPORT_RESERVED)
< return;
---
> if (la->true_port < IPPORT_RESERVED)
> return;
475,476c568,569
< ftp_link = FindUdpTcpOut(la, la->true_addr, GetDestAddress(link),
< htons(la->true_port), 0, IPPROTO_TCP, 1);
---
> ftp_link = FindUdpTcpOut(la, la->true_addr, GetDestAddress(link),
> htons(la->true_port), 0, IPPROTO_TCP, 1);
478,481c571,573
< if (ftp_link != NULL)
< {
< int slen, hlen, tlen, dlen;
< struct tcphdr *tc;
---
> if (ftp_link != NULL) {
> int slen, hlen, tlen, dlen;
> struct tcphdr *tc;
484,485c576,577
< /* Punch hole in firewall */
< PunchFWHole(ftp_link);
---
> /* Punch hole in firewall */
> PunchFWHole(ftp_link);
489,492c581,584
< tc = (struct tcphdr *) ((char *) pip + (pip->ip_hl << 2));
< hlen = (pip->ip_hl + tc->th_off) << 2;
< tlen = ntohs(pip->ip_len);
< dlen = tlen - hlen;
---
> tc = (struct tcphdr *)((char *)pip + (pip->ip_hl << 2));
> hlen = (pip->ip_hl + tc->th_off) << 2;
> tlen = ntohs(pip->ip_len);
> dlen = tlen - hlen;
495,501c587,593
< {
< char stemp[MAX_MESSAGE_SIZE + 1];
< char *sptr;
< u_short alias_port;
< u_char *ptr;
< int a1, a2, a3, a4, p1, p2;
< struct in_addr alias_address;
---
> {
> char stemp[MAX_MESSAGE_SIZE + 1];
> char *sptr;
> u_short alias_port;
> u_char *ptr;
> int a1, a2, a3, a4, p1, p2;
> struct in_addr alias_address;
504,506c596,601
< alias_address = GetAliasAddress(link);
< ptr = (u_char *) &alias_address.s_addr;
< a1 = *ptr++; a2=*ptr++; a3=*ptr++; a4=*ptr;
---
> alias_address = GetAliasAddress(link);
> ptr = (u_char *) & alias_address.s_addr;
> a1 = *ptr++;
> a2 = *ptr++;
> a3 = *ptr++;
> a4 = *ptr;
508c603
< alias_port = GetAliasPort(ftp_link);
---
> alias_port = GetAliasPort(ftp_link);
510,516c605,611
< switch (ftp_message_type)
< {
< case FTP_PORT_COMMAND:
< case FTP_227_REPLY:
< /* Decompose alias port into pair format. */
< ptr = (char *) &alias_port;
< p1 = *ptr++; p2=*ptr;
---
> switch (ftp_message_type) {
> case FTP_PORT_COMMAND:
> case FTP_227_REPLY:
> /* Decompose alias port into pair format. */
> ptr = (char *)&alias_port;
> p1 = *ptr++;
> p2 = *ptr;
518,539c613,634
< if (ftp_message_type == FTP_PORT_COMMAND) {
< /* Generate PORT command string. */
< sprintf(stemp, "PORT %d,%d,%d,%d,%d,%d\r\n",
< a1,a2,a3,a4,p1,p2);
< } else {
< /* Generate 227 reply string. */
< sprintf(stemp,
< "227 Entering Passive Mode (%d,%d,%d,%d,%d,%d)\r\n",
< a1,a2,a3,a4,p1,p2);
< }
< break;
< case FTP_EPRT_COMMAND:
< /* Generate EPRT command string. */
< sprintf(stemp, "EPRT |1|%d.%d.%d.%d|%d|\r\n",
< a1,a2,a3,a4,ntohs(alias_port));
< break;
< case FTP_229_REPLY:
< /* Generate 229 reply string. */
< sprintf(stemp, "229 Entering Extended Passive Mode (|||%d|)\r\n",
< ntohs(alias_port));
< break;
< }
---
> if (ftp_message_type == FTP_PORT_COMMAND) {
> /* Generate PORT command string. */
> sprintf(stemp, "PORT %d,%d,%d,%d,%d,%d\r\n",
> a1, a2, a3, a4, p1, p2);
> } else {
> /* Generate 227 reply string. */
> sprintf(stemp,
> "227 Entering Passive Mode (%d,%d,%d,%d,%d,%d)\r\n",
> a1, a2, a3, a4, p1, p2);
> }
> break;
> case FTP_EPRT_COMMAND:
> /* Generate EPRT command string. */
> sprintf(stemp, "EPRT |1|%d.%d.%d.%d|%d|\r\n",
> a1, a2, a3, a4, ntohs(alias_port));
> break;
> case FTP_229_REPLY:
> /* Generate 229 reply string. */
> sprintf(stemp, "229 Entering Extended Passive Mode (|||%d|)\r\n",
> ntohs(alias_port));
> break;
> }
542c637
< slen = strlen(stemp);
---
> slen = strlen(stemp);
545,547c640,643
< sptr = (char *) pip; sptr += hlen;
< strncpy(sptr, stemp, maxpacketsize-hlen);
< }
---
> sptr = (char *)pip;
> sptr += hlen;
> strncpy(sptr, stemp, maxpacketsize - hlen);
> }
550,551c646,647
< {
< int delta;
---
> {
> int delta;
553,556c649,652
< SetAckModified(link);
< delta = GetDeltaSeqOut(pip, link);
< AddSeq(pip, link, delta+slen-dlen);
< }
---
> SetAckModified(link);
> delta = GetDeltaSeqOut(pip, link);
> AddSeq(pip, link, delta + slen - dlen);
> }
559,560c655,656
< {
< u_short new_len;
---
> {
> u_short new_len;
562,568c658,664
< new_len = htons(hlen + slen);
< DifferentialChecksum(&pip->ip_sum,
< &new_len,
< &pip->ip_len,
< 1);
< pip->ip_len = new_len;
< }
---
> new_len = htons(hlen + slen);
> DifferentialChecksum(&pip->ip_sum,
> &new_len,
> &pip->ip_len,
> 1);
> pip->ip_len = new_len;
> }
571,575c667,669
< tc->th_sum = 0;
< tc->th_sum = TcpChecksum(pip);
< }
< else
< {
---
> tc->th_sum = 0;
> tc->th_sum = TcpChecksum(pip);
> } else {
577,578c671,672
< fprintf(stderr,
< "PacketAlias/HandleFtpOut: Cannot allocate FTP data port\n");
---
> fprintf(stderr,
> "PacketAlias/HandleFtpOut: Cannot allocate FTP data port\n");
580c674
< }
---
> }