Lines Matching refs:nat

153 int ippr_ftp_new(fin, aps, nat, private)  in ippr_ftp_new()  argument
156 nat_t *nat;
167 nat = nat; /* LINT */
185 int ippr_ftp_port(fin, ip, nat, f, dlen, ifsftp) in ippr_ftp_port() argument
188 nat_t *nat;
244 if (((nat->nat_dir == NAT_OUTBOUND) &&
245 (a1 != ntohl(nat->nat_inip.s_addr))) ||
246 ((nat->nat_dir == NAT_INBOUND) &&
247 (a1 != ntohl(nat->nat_oip.s_addr)))) {
291 if (nat->nat_dir == NAT_INBOUND)
292 a1 = ntohl(nat->nat_oip.s_addr);
355 if (nat->nat_dir == NAT_OUTBOUND)
356 nat2 = nat_outlookup(&fi, NAT_SEARCH|IPN_TCP, nat->nat_p,
357 nat->nat_inip, nat->nat_oip);
359 nat2 = nat_inlookup(&fi, NAT_SEARCH|IPN_TCP, nat->nat_p,
360 nat->nat_inip, nat->nat_oip);
377 fi.fin_out = nat->nat_dir;
381 if (nat->nat_dir == NAT_OUTBOUND) {
382 fi.fin_fi.fi_saddr = nat->nat_inip.s_addr;
383 ip->ip_src = nat->nat_inip;
384 } else if (nat->nat_dir == NAT_INBOUND) {
385 fi.fin_fi.fi_saddr = nat->nat_oip.s_addr;
386 ip->ip_src = nat->nat_oip;
390 if (nat->nat_dir == NAT_INBOUND)
392 nat2 = nat_new(&fi, nat->nat_ptr, NULL, flags, nat->nat_dir);
396 nat_update(&fi, nat2, nat->nat_ptr);
398 if (nat->nat_dir == NAT_INBOUND) {
399 fi.fin_fi.fi_daddr = nat->nat_inip.s_addr;
400 ip->ip_dst = nat->nat_inip;
410 nat_update(&fi, nat2, nat->nat_ptr);
425 int ippr_ftp_client(fin, ip, nat, ftp, dlen, ifsftp) in ippr_ftp_client() argument
427 nat_t *nat;
485 inc = ippr_ftp_port(fin, ip, nat, f, dlen, ifsftp);
488 inc = ippr_ftp_port(fin, ip, nat, f, dlen, ifsftp);
498 int ippr_ftp_pasv(fin, ip, nat, ftp, dlen, ifsftp) in ippr_ftp_pasv() argument
501 nat_t *nat;
575 if (((nat->nat_dir == NAT_INBOUND) &&
576 (a1 != ntohl(nat->nat_inip.s_addr))) ||
577 ((nat->nat_dir == NAT_OUTBOUND) &&
578 (a1 != ntohl(nat->nat_oip.s_addr)))) {
613 if (nat->nat_dir == NAT_INBOUND) {
614 data_ip = nat->nat_outip.s_addr;
633 return ippr_ftp_pasvreply(fin, ip, nat, f, (a5 << 8 | a6),
637 int ippr_ftp_pasvreply(fin, ip, nat, f, port, newmsg, s, data_ip, ifsftp) in ippr_ftp_pasvreply() argument
640 nat_t *nat;
712 if (nat->nat_dir == NAT_OUTBOUND)
714 nat->nat_p, nat->nat_inip, nat->nat_oip);
717 nat->nat_p, nat->nat_inip, nat->nat_oip);
735 fi.fin_out = nat->nat_dir;
739 if (nat->nat_dir == NAT_OUTBOUND) {
741 fi.fin_fi.fi_saddr = nat->nat_inip.s_addr;
743 ip->ip_src = nat->nat_inip;
744 } else if (nat->nat_dir == NAT_INBOUND) {
745 fi.fin_fi.fi_saddr = nat->nat_oip.s_addr;
746 fi.fin_fi.fi_daddr = nat->nat_outip.s_addr;
747 ip->ip_src = nat->nat_oip;
748 ip->ip_dst = nat->nat_outip;
753 if (nat->nat_dir == NAT_INBOUND)
755 nat2 = nat_new(&fi, nat->nat_ptr, NULL, nflags, nat->nat_dir);
758 nat_update(&fi, nat2, nat->nat_ptr);
760 if (nat->nat_dir == NAT_INBOUND) {
761 fi.fin_fi.fi_daddr = nat->nat_inip.s_addr;
762 ip->ip_dst = nat->nat_inip;
773 nat_update(&fi, nat2, nat->nat_ptr);
788 int ippr_ftp_server(fin, ip, nat, ftp, dlen, ifsftp) in ippr_ftp_server() argument
791 nat_t *nat;
811 inc = ippr_ftp_pasv(fin, ip, nat, ftp, dlen, ifsftp);
813 inc = ippr_ftp_epsv(fin, ip, nat, f, dlen, ifsftp);
815 inc = ippr_ftp_pasv(fin, ip, nat, ftp, dlen, ifsftp);
817 inc = ippr_ftp_epsv(fin, ip, nat, f, dlen, ifsftp);
1032 int ippr_ftp_process(fin, nat, ftp, rv, ifsftp) in ippr_ftp_process() argument
1034 nat_t *nat;
1073 aps = nat->nat_aps;
1281 inc += ippr_ftp_server(fin, ip, nat,
1284 inc += ippr_ftp_client(fin, ip, nat,
1354 int ippr_ftp_out(fin, aps, nat, private) in ippr_ftp_out() argument
1357 nat_t *nat;
1367 rev = (nat->nat_dir == NAT_OUTBOUND) ? 0 : 1;
1371 return ippr_ftp_process(fin, nat, ftp, rev, (ifs_ftppxy_t *)private);
1375 int ippr_ftp_in(fin, aps, nat, private) in ippr_ftp_in() argument
1378 nat_t *nat;
1388 rev = (nat->nat_dir == NAT_OUTBOUND) ? 0 : 1;
1392 return ippr_ftp_process(fin, nat, ftp, 1 - rev, (ifs_ftppxy_t *)private);
1427 int ippr_ftp_epsv(fin, ip, nat, f, dlen, ifsftp) in ippr_ftp_epsv() argument
1430 nat_t *nat;
1490 return ippr_ftp_pasvreply(fin, ip, nat, f, (u_int)ap, newbuf, s,