From 7ea5d38a69660bf5e086ff03d18b4a4e9eb75cce Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Tue, 16 Jan 2018 16:21:08 +0100 Subject: [PATCH] libnmb: Move "read_packet" to nmbd It's only used there Signed-off-by: Volker Lendecke Reviewed-by: Jeremy Allison Autobuild-User(master): Jeremy Allison Autobuild-Date(master): Wed Jan 24 05:48:19 CET 2018 on sn-devel-144 --- source3/libsmb/nmblib.c | 35 ----------------------------------- source3/libsmb/nmblib.h | 1 - source3/nmbd/nmbd_packets.c | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 36 deletions(-) diff --git a/source3/libsmb/nmblib.c b/source3/libsmb/nmblib.c index c262c2820e2..bac43400b3a 100644 --- a/source3/libsmb/nmblib.c +++ b/source3/libsmb/nmblib.c @@ -874,41 +874,6 @@ struct packet_struct *parse_packet_talloc(TALLOC_CTX *mem_ctx, return result; } -/******************************************************************* - Read a packet from a socket and parse it, returning a packet ready - to be used or put on the queue. This assumes a UDP socket. -******************************************************************/ - -struct packet_struct *read_packet(int fd,enum packet_type packet_type) -{ - struct packet_struct *packet; - struct sockaddr_storage sa; - struct sockaddr_in *si = (struct sockaddr_in *)&sa; - char buf[MAX_DGRAM_SIZE]; - int length; - - length = read_udp_v4_socket(fd,buf,sizeof(buf),&sa); - if (length < MIN_DGRAM_SIZE || sa.ss_family != AF_INET) { - return NULL; - } - - packet = parse_packet(buf, - length, - packet_type, - si->sin_addr, - ntohs(si->sin_port)); - if (!packet) - return NULL; - - packet->recv_fd = fd; - packet->send_fd = -1; - - DEBUG(5,("Received a packet of len %d from (%s) port %d\n", - length, inet_ntoa(packet->ip), packet->port ) ); - - return(packet); -} - /******************************************************************* Send a udp packet on a already open socket. ******************************************************************/ diff --git a/source3/libsmb/nmblib.h b/source3/libsmb/nmblib.h index 1956ea7efdf..a0624ed085c 100644 --- a/source3/libsmb/nmblib.h +++ b/source3/libsmb/nmblib.h @@ -44,7 +44,6 @@ struct packet_struct *parse_packet_talloc(TALLOC_CTX *mem_ctx, enum packet_type packet_type, struct in_addr ip, int port); -struct packet_struct *read_packet(int fd,enum packet_type packet_type); void make_nmb_name( struct nmb_name *n, const char *name, int type); bool nmb_name_equal(struct nmb_name *n1, struct nmb_name *n2); int build_packet(char *buf, size_t buflen, struct packet_struct *p); diff --git a/source3/nmbd/nmbd_packets.c b/source3/nmbd/nmbd_packets.c index 2b7cc82f341..bbcb9582ec5 100644 --- a/source3/nmbd/nmbd_packets.c +++ b/source3/nmbd/nmbd_packets.c @@ -1879,6 +1879,41 @@ static void nmbd_fd_handler(struct tevent_context *ev, attr->triggered = true; } +/******************************************************************* + Read a packet from a socket and parse it, returning a packet ready + to be used or put on the queue. This assumes a UDP socket. +******************************************************************/ + +static struct packet_struct *read_packet(int fd,enum packet_type packet_type) +{ + struct packet_struct *packet; + struct sockaddr_storage sa; + struct sockaddr_in *si = (struct sockaddr_in *)&sa; + char buf[MAX_DGRAM_SIZE]; + int length; + + length = read_udp_v4_socket(fd,buf,sizeof(buf),&sa); + if (length < MIN_DGRAM_SIZE || sa.ss_family != AF_INET) { + return NULL; + } + + packet = parse_packet(buf, + length, + packet_type, + si->sin_addr, + ntohs(si->sin_port)); + if (!packet) + return NULL; + + packet->recv_fd = fd; + packet->send_fd = -1; + + DEBUG(5,("Received a packet of len %d from (%s) port %d\n", + length, inet_ntoa(packet->ip), packet->port ) ); + + return(packet); +} + /**************************************************************************** Listens for NMB or DGRAM packets, and queues them. return True if the socket is dead -- 2.47.3