From f14af3d95c618fe3b57e38fa005a9d85d9ccaa81 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Sun, 1 May 2005 23:57:09 +0000 Subject: [PATCH] Protocol structure can now specify the default port. --- src/include/proto.h | 2 ++ src/proto/nfs.c | 7 +++---- src/proto/slam.c | 6 +++--- src/proto/tftm.c | 6 +++--- src/proto/tftp.c | 6 +++--- 5 files changed, 14 insertions(+), 13 deletions(-) diff --git a/src/include/proto.h b/src/include/proto.h index 38658ac8..2c157ee4 100644 --- a/src/include/proto.h +++ b/src/include/proto.h @@ -2,9 +2,11 @@ #define PROTO_H #include "tables.h" +#include "in.h" struct protocol { char *name; + in_port_t default_port; int ( * load ) ( char *url, struct sockaddr_in *server, char *file, diff --git a/src/proto/nfs.c b/src/proto/nfs.c index 7d328000..37331a95 100644 --- a/src/proto/nfs.c +++ b/src/proto/nfs.c @@ -103,9 +103,6 @@ static int rpc_lookup(struct sockaddr_in *addr, int prog, int ver, int sport) *p++ = htonl(ver); *p++ = htonl(IP_UDP); *p++ = 0; - if ( ! addr->sin_port ) { - addr->sin_port = SUNRPC_PORT; - } for (retries = 0; retries < MAX_RPC_RETRIES; retries++) { long timeout; udp_transmit(addr->sin_addr.s_addr, sport, addr->sin_port, @@ -623,5 +620,7 @@ nfssymlink: INIT_FN ( INIT_RPC, rpc_init, nfs_reset, nfs_reset ); static struct protocol nfs_protocol __protocol = { - "nfs", nfs + .name = "nfs", + .default_port = SUNRPC_PORT, + .load = nfs, }; diff --git a/src/proto/slam.c b/src/proto/slam.c index 4ea296b8..09d53172 100644 --- a/src/proto/slam.c +++ b/src/proto/slam.c @@ -516,8 +516,6 @@ static int url_slam ( char *url __unused, struct slam_info info; /* Set the defaults */ info.server = *server; - if ( ! info.server.sin_port ) - info.server.sin_port = SLAM_PORT; info.multicast.sin_addr.s_addr = htonl(SLAM_MULTICAST_IP); info.multicast.sin_port = SLAM_MULTICAST_PORT; info.local.sin_addr.s_addr = arptable[ARP_CLIENT].ipaddr.s_addr; @@ -532,5 +530,7 @@ static int url_slam ( char *url __unused, } static struct protocol slam_protocol __protocol = { - "x-slam", url_slam + .name = "x-slam", + .default_port = SLAM_PORT, + .load = url_slam, }; diff --git a/src/proto/tftm.c b/src/proto/tftm.c index 396be422..b96736a1 100644 --- a/src/proto/tftm.c +++ b/src/proto/tftm.c @@ -391,8 +391,6 @@ static int url_tftm ( char *url __unused, /* Set the defaults */ info.server = *server; - if ( ! info.server.sin_port ) - info.server.sin_port = TFTM_PORT; info.local.sin_addr.s_addr = arptable[ARP_CLIENT].ipaddr.s_addr; info.local.sin_port = TFTM_PORT; /* Does not matter. */ info.multicast = info.local; @@ -482,5 +480,7 @@ static int opt_get_multicast(struct tftp_t *tr, unsigned short *len, } static struct protocol tftm_protocol __protocol = { - "x-tftm", url_tftm + .name = "x-tftm", + .default_port = TFTM_PORT, + .load = url_tftm, }; diff --git a/src/proto/tftp.c b/src/proto/tftp.c index 9c0e5563..c59807d7 100644 --- a/src/proto/tftp.c +++ b/src/proto/tftp.c @@ -50,8 +50,6 @@ int tftp_block ( struct tftpreq_info_t *request, blksize = TFTP_DEFAULTSIZE_PACKET; lport++; /* Use new local port */ server = *(request->server); - if ( ! server.sin_port ) - server.sin_port = TFTP_PORT; if ( !udp_transmit(server.sin_addr.s_addr, lport, server.sin_port, xmitlen, &xmit) ) return (0); @@ -170,5 +168,7 @@ int tftp ( char *url __unused, } struct protocol tftp_protocol __default_protocol = { - "tftp", tftp + .name = "tftp", + .default_port = TFTP_PORT, + .load = tftp, };