Update of /cvsroot/dhcp-agent/dhcp-agent/src
In directory sc8-pr-cvs1:/tmp/cvs-serv1313/src
Modified Files:
dhcp-net.c dhcp-libutil.h
Log Message:
fixed up udp code
Index: dhcp-net.c
===================================================================
RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-net.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** dhcp-net.c 17 Jul 2003 13:18:10 -0000 1.4
--- dhcp-net.c 20 Jul 2003 05:49:49 -0000 1.5
***************
*** 42,46 ****
if((sd = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0) {
! FATAL_MESSAGE("unable to open UDP socket: %s", strerror(errno));
}
--- 42,47 ----
if((sd = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0) {
! ERROR_MESSAGE("unable to open UDP socket: %s", strerror(errno));
! return -1;
}
***************
*** 48,60 ****
if(setsockopt(sd, SOL_SOCKET, SO_REUSEADDR, &opt_on, len) < 0) {
! FATAL_MESSAGE("unable to set SO_REUSEADDR on socket: %s", strerror(errno));
}
if(setsockopt(sd, SOL_SOCKET, SO_BROADCAST, &opt_on, len) < 0) {
! FATAL_MESSAGE("unable to set SO_BROADCAST on socket: %s", strerror(errno));
}
if(fcntl(sd, F_SETFL, O_NONBLOCK) < 0) {
! FATAL_MESSAGE("unable to set O_NONBLOCK on socket: %s", strerror(errno));
}
--- 49,64 ----
if(setsockopt(sd, SOL_SOCKET, SO_REUSEADDR, &opt_on, len) < 0) {
! ERROR_MESSAGE("unable to set SO_REUSEADDR on socket: %s", strerror(errno));
! return -1;
}
if(setsockopt(sd, SOL_SOCKET, SO_BROADCAST, &opt_on, len) < 0) {
! ERROR_MESSAGE("unable to set SO_BROADCAST on socket: %s", strerror(errno));
! return -1;
}
if(fcntl(sd, F_SETFL, O_NONBLOCK) < 0) {
! ERROR_MESSAGE("unable to set O_NONBLOCK on socket: %s", strerror(errno));
! return -1;
}
***************
*** 66,70 ****
if(bind(sd, (struct sockaddr *)&myaddr, len) < 0) {
! FATAL_MESSAGE("unable to bind UDP socket: %s", strerror(errno));
}
--- 70,75 ----
if(bind(sd, (struct sockaddr *)&myaddr, len) < 0) {
! ERROR_MESSAGE("unable to bind UDP socket: %s", strerror(errno));
! return -1;
}
***************
*** 113,162 ****
if(retval != size)
- return 1;
-
- return 0;
- }
-
- /* read a line in from a tcp socket. */
- char *tcp_sock_read_line(int sock)
- {
- stringbuffer_t *sb;
- char c;
- int retval;
- char *line;
-
- sb = stringbuffer_create();
-
- while(1) {
-
- retval = recv(sock, &c, 1 , 0);
- if(retval == -1) {
- stringbuffer_destroy(sb);
- return NULL;
- }
-
- if(c != '\n') {
-
- stringbuffer_append_c(sb, c);
-
- } else {
-
- /* we're done. */
- line = xstrdup(stringbuffer_getstring(sb));
- stringbuffer_destroy(sb);
- return line;
- }
- }
- }
-
- /* write a line to a tcp socket. */
- int tcp_sock_write_line(int sock, const char *line)
- {
- int len = strlen(line);
-
- if(send(sock, line, len, 0) != len)
- return 1;
-
- if(send(sock, "\n", 1, 0) != 1)
return 1;
--- 118,121 ----
Index: dhcp-libutil.h
===================================================================
RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-libutil.h,v
retrieving revision 1.31
retrieving revision 1.32
diff -C2 -d -r1.31 -r1.32
*** dhcp-libutil.h 17 Jul 2003 13:18:37 -0000 1.31
--- dhcp-libutil.h 20 Jul 2003 05:49:49 -0000 1.32
***************
*** 320,325 ****
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);
- extern char *tcp_sock_read_line(int sock);
- extern int tcp_sock_write_line(int sock, const char *line);
/* constants. */
--- 320,323 ----
|