Skip to content

Commit 1e63a2f

Browse files
committed
TCP: Test ports < 1024 in port order to select the printer
This should fix issue #1064.
1 parent 2312bd8 commit 1e63a2f

File tree

1 file changed

+34
-26
lines changed

1 file changed

+34
-26
lines changed

print-tcp.c

Lines changed: 34 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -746,50 +746,58 @@ tcp_print(netdissect_options *ndo,
746746
return;
747747
}
748748

749-
if (IS_SRC_OR_DST_PORT(TELNET_PORT)) {
749+
if (IS_SRC_OR_DST_PORT(FTP_PORT)) {
750+
ND_PRINT(": ");
751+
ftp_print(ndo, bp, length);
752+
} else if (IS_SRC_OR_DST_PORT(SSH_PORT)) {
753+
ssh_print(ndo, bp, length);
754+
} else if (IS_SRC_OR_DST_PORT(TELNET_PORT)) {
750755
telnet_print(ndo, bp, length);
751756
} else if (IS_SRC_OR_DST_PORT(SMTP_PORT)) {
752757
ND_PRINT(": ");
753758
smtp_print(ndo, bp, length);
754759
} else if (IS_SRC_OR_DST_PORT(WHOIS_PORT)) {
755760
ND_PRINT(": ");
756761
whois_print(ndo, bp, length);
757-
} else if (IS_SRC_OR_DST_PORT(BGP_PORT))
758-
bgp_print(ndo, bp, length);
759-
else if (IS_SRC_OR_DST_PORT(PPTP_PORT))
760-
pptp_print(ndo, bp);
761-
else if (IS_SRC_OR_DST_PORT(REDIS_PORT))
762-
resp_print(ndo, bp, length);
763-
else if (IS_SRC_OR_DST_PORT(SSH_PORT))
764-
ssh_print(ndo, bp, length);
762+
} else if (IS_SRC_OR_DST_PORT(NAMESERVER_PORT)) {
763+
/* over_tcp: TRUE, is_mdns: FALSE */
764+
domain_print(ndo, bp, length, TRUE, FALSE);
765+
} else if (IS_SRC_OR_DST_PORT(HTTP_PORT)) {
766+
ND_PRINT(": ");
767+
http_print(ndo, bp, length);
765768
#ifdef ENABLE_SMB
766-
else if (IS_SRC_OR_DST_PORT(NETBIOS_SSN_PORT))
769+
} else if (IS_SRC_OR_DST_PORT(NETBIOS_SSN_PORT)) {
767770
nbt_tcp_print(ndo, bp, length);
768-
else if (IS_SRC_OR_DST_PORT(SMB_PORT))
771+
#endif
772+
} else if (IS_SRC_OR_DST_PORT(BGP_PORT)) {
773+
bgp_print(ndo, bp, length);
774+
} else if (IS_SRC_OR_DST_PORT(RPKI_RTR_PORT)) {
775+
rpki_rtr_print(ndo, bp, length);
776+
#ifdef ENABLE_SMB
777+
} else if (IS_SRC_OR_DST_PORT(SMB_PORT)) {
769778
smb_tcp_print(ndo, bp, length);
770779
#endif
780+
} else if (IS_SRC_OR_DST_PORT(RTSP_PORT)) {
781+
ND_PRINT(": ");
782+
rtsp_print(ndo, bp, length);
783+
} else if (IS_SRC_OR_DST_PORT(MSDP_PORT)) {
784+
msdp_print(ndo, bp, length);
785+
} else if (IS_SRC_OR_DST_PORT(LDP_PORT)) {
786+
ldp_print(ndo, bp, length);
787+
} else if (IS_SRC_OR_DST_PORT(PPTP_PORT))
788+
pptp_print(ndo, bp);
789+
else if (IS_SRC_OR_DST_PORT(REDIS_PORT))
790+
resp_print(ndo, bp, length);
771791
else if (IS_SRC_OR_DST_PORT(BEEP_PORT))
772792
beep_print(ndo, bp, length);
773-
else if (IS_SRC_OR_DST_PORT(OPENFLOW_PORT_OLD) || IS_SRC_OR_DST_PORT(OPENFLOW_PORT_IANA))
793+
else if (IS_SRC_OR_DST_PORT(OPENFLOW_PORT_OLD) || IS_SRC_OR_DST_PORT(OPENFLOW_PORT_IANA)) {
774794
openflow_print(ndo, bp, length);
775-
else if (IS_SRC_OR_DST_PORT(FTP_PORT)) {
776-
ND_PRINT(": ");
777-
ftp_print(ndo, bp, length);
778-
} else if (IS_SRC_OR_DST_PORT(HTTP_PORT) || IS_SRC_OR_DST_PORT(HTTP_PORT_ALT)) {
795+
} else if (IS_SRC_OR_DST_PORT(HTTP_PORT_ALT)) {
779796
ND_PRINT(": ");
780797
http_print(ndo, bp, length);
781-
} else if (IS_SRC_OR_DST_PORT(RTSP_PORT) || IS_SRC_OR_DST_PORT(RTSP_PORT_ALT)) {
798+
} else if (IS_SRC_OR_DST_PORT(RTSP_PORT_ALT)) {
782799
ND_PRINT(": ");
783800
rtsp_print(ndo, bp, length);
784-
} else if (IS_SRC_OR_DST_PORT(NAMESERVER_PORT)) {
785-
/* over_tcp: TRUE, is_mdns: FALSE */
786-
domain_print(ndo, bp, length, TRUE, FALSE);
787-
} else if (IS_SRC_OR_DST_PORT(MSDP_PORT)) {
788-
msdp_print(ndo, bp, length);
789-
} else if (IS_SRC_OR_DST_PORT(RPKI_RTR_PORT)) {
790-
rpki_rtr_print(ndo, bp, length);
791-
} else if (IS_SRC_OR_DST_PORT(LDP_PORT)) {
792-
ldp_print(ndo, bp, length);
793801
} else if ((IS_SRC_OR_DST_PORT(NFS_PORT)) &&
794802
length >= 4) {
795803
/*

0 commit comments

Comments
 (0)