[dhcp-agent-commits] dhcp-agent/src dhcp-net.c,1.5,1.6 dhcp-libutil.h,1.32,1.33
Status: Alpha
Brought to you by:
actmodern
From: <act...@us...> - 2003-07-26 23:46:19
|
Update of /cvsroot/dhcp-agent/dhcp-agent/src In directory sc8-pr-cvs1:/tmp/cvs-serv4917/src Modified Files: dhcp-net.c dhcp-libutil.h Log Message: fixed up socket level udp networking Index: dhcp-net.c =================================================================== RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-net.c,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** dhcp-net.c 20 Jul 2003 05:49:49 -0000 1.5 --- dhcp-net.c 26 Jul 2003 23:46:16 -0000 1.6 *************** *** 28,32 **** #include "dhcp-limits.h" #include "dhcp-libutil.h" - #include "dhcp-librawnet.h" /* * * * * * * * * * * * * --- 28,31 ---- *************** *** 82,92 **** } ! size_t udp_sock_recv(int sd, uint8_t *buff, size_t buffsize, ip_addr_t *src_addr) { ! size_t retval; struct sockaddr_in in; socklen_t len = sizeof(struct sockaddr_in); retval = recvfrom(sd, buff, buffsize, 0, (struct sockaddr *)&in, &len); *src_addr = in.sin_addr.s_addr; --- 81,94 ---- } ! int udp_sock_recv(int sd, uint8_t *buff, size_t buffsize, ip_addr_t *src_addr) { ! int retval; struct sockaddr_in in; socklen_t len = sizeof(struct sockaddr_in); retval = recvfrom(sd, buff, buffsize, 0, (struct sockaddr *)&in, &len); + + if(retval < 0) + return -1; *src_addr = in.sin_addr.s_addr; Index: dhcp-libutil.h =================================================================== RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-libutil.h,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -d -r1.32 -r1.33 *** dhcp-libutil.h 20 Jul 2003 05:49:49 -0000 1.32 --- dhcp-libutil.h 26 Jul 2003 23:46:16 -0000 1.33 *************** *** 318,322 **** extern int udp_sock_create(uint16_t source_port, ip_addr_t local_addr); extern void udp_sock_destroy(int sd); ! extern size_t udp_sock_recv(int sd, uint8_t *buff, size_t buffsize, ip_addr_t *src_addr); extern int udp_sock_send(int udp_sock, uint8_t *msg, size_t size, ip_addr_t dst_addr, uint16_t dest_port); --- 318,322 ---- extern int udp_sock_create(uint16_t source_port, ip_addr_t local_addr); extern void udp_sock_destroy(int sd); ! extern int udp_sock_recv(int sd, uint8_t *buff, size_t buffsize, ip_addr_t *src_addr); extern int udp_sock_send(int udp_sock, uint8_t *msg, size_t size, ip_addr_t dst_addr, uint16_t dest_port); |