dhcp-agent-commits Mailing List for dhcp-agent (Page 9)
Status: Alpha
Brought to you by:
actmodern
You can subscribe to this list here.
| 2002 |
Jan
|
Feb
(33) |
Mar
|
Apr
|
May
(19) |
Jun
(61) |
Jul
(12) |
Aug
|
Sep
(5) |
Oct
(31) |
Nov
(24) |
Dec
(56) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(9) |
Feb
|
Mar
(16) |
Apr
(4) |
May
(68) |
Jun
(70) |
Jul
(100) |
Aug
(54) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2004 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
(7) |
Jun
(12) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2007 |
Jan
(1) |
Feb
|
Mar
(1) |
Apr
(4) |
May
(1) |
Jun
|
Jul
(1) |
Aug
(1) |
Sep
(8) |
Oct
(5) |
Nov
(6) |
Dec
(4) |
| 2008 |
Jan
(9) |
Feb
(20) |
Mar
(32) |
Apr
(18) |
May
(19) |
Jun
(12) |
Jul
(23) |
Aug
(7) |
Sep
(15) |
Oct
(22) |
Nov
(50) |
Dec
(68) |
| 2009 |
Jan
(63) |
Feb
(23) |
Mar
(43) |
Apr
(50) |
May
(110) |
Jun
(103) |
Jul
(71) |
Aug
(26) |
Sep
(16) |
Oct
(31) |
Nov
(8) |
Dec
(13) |
| 2010 |
Jan
(6) |
Feb
(6) |
Mar
(36) |
Apr
(57) |
May
(67) |
Jun
(70) |
Jul
(44) |
Aug
(46) |
Sep
(27) |
Oct
(2) |
Nov
|
Dec
|
| 2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
| 2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
|
|
From: <act...@us...> - 2004-05-25 06:46:33
|
Update of /cvsroot/dhcp-agent/dhcp-agent/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27147 Modified Files: dhcp-net.c Log Message: now using SO_BINDTODEVICE if possible Index: dhcp-net.c =================================================================== RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-net.c,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** dhcp-net.c 5 Aug 2003 04:58:31 -0000 1.7 --- dhcp-net.c 25 May 2004 06:46:23 -0000 1.8 *************** *** 33,37 **** * * * * * * * * * * * * */ ! int udp_sock_create(uint16_t source_port, ip_addr_t local_addr) { struct sockaddr_in myaddr; --- 33,37 ---- * * * * * * * * * * * * */ ! int udp_sock_create(uint16_t source_port, ip_addr_t local_addr, const char *device) { struct sockaddr_in myaddr; *************** *** 57,60 **** --- 57,70 ---- } + #ifdef HAVE_SO_BINDTODEVICE + + len = (strlen(device) + 1); + if(setsockopt(sd, SOL_SOCKET, SO_BINDTODEVICE, device, len) < 0) { + ERROR_MESSAGE("unable to set SO_BINDTODEVICE on socket: %s", strerror(errno)); + return -1; + } + + #endif /* HAVE_SO_BINDTODEVICE */ + if(fcntl(sd, F_SETFL, O_NONBLOCK) < 0) { ERROR_MESSAGE("unable to set O_NONBLOCK on socket: %s", strerror(errno)); |
|
From: <act...@us...> - 2004-05-25 06:45:10
|
Update of /cvsroot/dhcp-agent/dhcp-agent/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26851 Modified Files: dhcp-libutil.h Log Message: Updated prototype to udp_sock_create Index: dhcp-libutil.h =================================================================== RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-libutil.h,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** dhcp-libutil.h 26 Jul 2003 23:46:16 -0000 1.33 --- dhcp-libutil.h 25 May 2004 06:45:01 -0000 1.34 *************** *** 316,320 **** /* udp socket routines. */ ! 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); --- 316,320 ---- /* udp socket routines. */ ! extern int udp_sock_create(uint16_t source_port, ip_addr_t local_addr, const char *device); 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); *************** *** 336,340 **** /* Line length for messages before breaking into a new line. */ ! #define MESSAGE_LINE_LENGTH 70 /* timeout as per rfc2131 */ --- 336,340 ---- /* Line length for messages before breaking into a new line. */ ! #define MESSAGE_LINE_LENGTH 78 /* timeout as per rfc2131 */ |
|
From: <act...@us...> - 2004-05-25 06:44:04
|
Update of /cvsroot/dhcp-agent/dhcp-agent/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26706 Modified Files: dhcp-librawnet.h Log Message: Cosmetic fix to #defines Index: dhcp-librawnet.h =================================================================== RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-librawnet.h,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** dhcp-librawnet.h 18 Aug 2003 01:49:32 -0000 1.25 --- dhcp-librawnet.h 25 May 2004 06:43:55 -0000 1.26 *************** *** 254,264 **** /* DHCP Type messages */ ! # define DHCP_DISCOVER_TM 1 ! # define DHCP_OFFER_TM 2 ! # define DHCP_REQUEST_TM 3 ! # define DHCP_DECLINE_TM 4 ! # define DHCP_DHCPACK_TM 5 ! # define DHCP_DHCPNAK_TM 6 ! # define DHCP_RELEASE_TM 7 /* BOOTP Types */ --- 254,264 ---- /* DHCP Type messages */ ! #define DHCP_DISCOVER_TM 1 ! #define DHCP_OFFER_TM 2 ! #define DHCP_REQUEST_TM 3 ! #define DHCP_DECLINE_TM 4 ! #define DHCP_DHCPACK_TM 5 ! #define DHCP_DHCPNAK_TM 6 ! #define DHCP_RELEASE_TM 7 /* BOOTP Types */ *************** *** 277,356 **** */ ! # define TAG_DHCP_PAD 0 ! # define TAG_DHCP_SUBNET_MASK 1 ! # define TAG_DHCP_TIME_OFFSET 2 ! # define TAG_DHCP_ROUTER 3 ! # define TAG_DHCP_TIME_SERVER 4 ! # define TAG_DHCP_NAME_SERVER 5 ! # define TAG_DHCP_DOMAIN_NAME_SERVER 6 ! # define TAG_DHCP_LOG_SERVER 7 ! # define TAG_DHCP_COOKIE_SERVER 8 ! # define TAG_DHCP_LPR_SERVER 9 ! # define TAG_DHCP_IMPRESS_SERVER 10 ! # define TAG_DHCP_RESOURCE_LOCATION_SERVER 11 ! # define TAG_DHCP_HOST_NAME 12 ! # define TAG_DHCP_BOOT_FILE_SIZE 13 ! # define TAG_DHCP_MERIT_DUMP_FILE 14 ! # define TAG_DHCP_DOMAIN_NAME 15 ! # define TAG_DHCP_SWAP_SERVER 16 ! # define TAG_DHCP_ROOT_PATH 17 ! # define TAG_DHCP_EXTENSIONS_PATH 18 ! # define TAG_DHCP_IP_FORWARDING 19 ! # define TAG_DHCP_NON_LOCAL_SOURCE_ROUTING 20 ! # define TAG_DHCP_POLICY_FILTER 21 ! # define TAG_DHCP_MAX_DGRAM_REASSUMBLY_SIZE 22 ! # define TAG_DHCP_IP_TIME_TO_LIVE 23 ! # define TAG_DHCP_MTU_AGING_TIMEOUT 24 ! # define TAG_DHCP_MTU_PLATEAU_TABLE 25 ! # define TAG_DHCP_INTERFACE_MTU 26 ! # define TAG_DHCP_SUBNETS_ARE_LOCAL 27 ! # define TAG_DHCP_BROADCAST_ADDRESS 28 ! # define TAG_DHCP_MASK_DISCOVERY 29 ! # define TAG_DHCP_MASK_SUPPLIER 30 ! # define TAG_DHCP_ROUTER_DISCOVERY 31 ! # define TAG_DHCP_ROUTER_SOLICITATION 32 ! # define TAG_DHCP_STATIC_ROUTE 33 ! # define TAG_DHCP_TRAILER_ENCAPSULATION 34 ! # define TAG_DHCP_ARP_CACHE_TIMEOUT 35 ! # define TAG_DHCP_ETHERNET_ENCAPSULATION 36 ! # define TAG_DHCP_TCP_DEFAULT_TTL 37 ! # define TAG_DHCP_TCP_KEEPALIVE_INTERVAL 38 ! # define TAG_DHCP_TCP_KEEPALIVE_GARBAGE 39 ! # define TAG_DHCP_NIS_DOMAIN_NAME 40 ! # define TAG_DHCP_NIS_SERVERS 41 ! # define TAG_DHCP_NTP_SERVERS 42 ! # define TAG_DHCP_VENDOR_SPECIFIC 43 ! # define TAG_DHCP_NETBIOSOTCP_NAME_SERVER 44 ! # define TAG_DHCP_NETBIOSOTCP_DATAGRAM_SERVER 45 ! # define TAG_DHCP_NETBIOSOTCP_NODE_TYPE 46 ! # define TAG_DHCP_NETBIOSOTCP_SCOPE 47 ! # define TAG_DHCP_XWIN_FONT_SERVER 48 ! # define TAG_DHCP_XWIN_DISP_MANAGER_SERVER 49 ! # define TAG_DHCP_REQUESTED_IP_ADDRESS 50 ! # define TAG_DHCP_IP_ADDRESS_LEASE_TIME 51 ! # define TAG_DHCP_OVERLOAD 52 ! # define TAG_DHCP_MESSAGE_TYPE 53 ! # define TAG_DHCP_SERVER_IDENTIFIER 54 ! # define TAG_DHCP_PARAMETERS 55 ! # define TAG_DHCP_MESSAGE 56 ! # define TAG_DHCP_MAX_DHCP_SIZE 57 ! # define TAG_DHCP_RENEWAL_TIME 58 ! # define TAG_DHCP_REBINDING_TIME 59 ! # define TAG_DHCP_VENDOR_CLASS_ID 60 ! # define TAG_DHCP_CLIENT_ID 61 ! # define TAG_DHCP_NISPLUS_DOMAIN 64 ! # define TAG_DHCP_NISPLUS_SERVERS 65 ! # define TAG_DHCP_TFTP_SERVER 66 ! # define TAG_DHCP_BOOT_FILE_NAME 67 ! # define TAG_DHCP_IP_HOME_AGENT 68 ! # define TAG_DHCP_SMTP_SERVER 69 ! # define TAG_DHCP_POP_SERVER 70 ! # define TAG_DHCP_NNTP_SERVER 71 ! # define TAG_DHCP_DEFAULT_WWW_SERVER 72 ! # define TAG_DHCP_DEFAULT_FINGER_SERVER 73 ! # define TAG_DHCP_DEFAULT_IRC_SERVER 74 ! # define TAG_DHCP_DEFAULT_ST_SERVER 75 ! # define TAG_DHCP_DEFAULT_STDA_SERVER 76 ! # define TAG_DHCP_END 255 /* DHCP overload option values. */ --- 277,356 ---- */ ! #define TAG_DHCP_PAD 0 ! #define TAG_DHCP_SUBNET_MASK 1 ! #define TAG_DHCP_TIME_OFFSET 2 ! #define TAG_DHCP_ROUTER 3 ! #define TAG_DHCP_TIME_SERVER 4 ! #define TAG_DHCP_NAME_SERVER 5 ! #define TAG_DHCP_DOMAIN_NAME_SERVER 6 ! #define TAG_DHCP_LOG_SERVER 7 ! #define TAG_DHCP_COOKIE_SERVER 8 ! #define TAG_DHCP_LPR_SERVER 9 ! #define TAG_DHCP_IMPRESS_SERVER 10 ! #define TAG_DHCP_RESOURCE_LOCATION_SERVER 11 ! #define TAG_DHCP_HOST_NAME 12 ! #define TAG_DHCP_BOOT_FILE_SIZE 13 ! #define TAG_DHCP_MERIT_DUMP_FILE 14 ! #define TAG_DHCP_DOMAIN_NAME 15 ! #define TAG_DHCP_SWAP_SERVER 16 ! #define TAG_DHCP_ROOT_PATH 17 ! #define TAG_DHCP_EXTENSIONS_PATH 18 ! #define TAG_DHCP_IP_FORWARDING 19 ! #define TAG_DHCP_NON_LOCAL_SOURCE_ROUTING 20 ! #define TAG_DHCP_POLICY_FILTER 21 ! #define TAG_DHCP_MAX_DGRAM_REASSUMBLY_SIZE 22 ! #define TAG_DHCP_IP_TIME_TO_LIVE 23 ! #define TAG_DHCP_MTU_AGING_TIMEOUT 24 ! #define TAG_DHCP_MTU_PLATEAU_TABLE 25 ! #define TAG_DHCP_INTERFACE_MTU 26 ! #define TAG_DHCP_SUBNETS_ARE_LOCAL 27 ! #define TAG_DHCP_BROADCAST_ADDRESS 28 ! #define TAG_DHCP_MASK_DISCOVERY 29 ! #define TAG_DHCP_MASK_SUPPLIER 30 ! #define TAG_DHCP_ROUTER_DISCOVERY 31 ! #define TAG_DHCP_ROUTER_SOLICITATION 32 ! #define TAG_DHCP_STATIC_ROUTE 33 ! #define TAG_DHCP_TRAILER_ENCAPSULATION 34 ! #define TAG_DHCP_ARP_CACHE_TIMEOUT 35 ! #define TAG_DHCP_ETHERNET_ENCAPSULATION 36 ! #define TAG_DHCP_TCP_DEFAULT_TTL 37 ! #define TAG_DHCP_TCP_KEEPALIVE_INTERVAL 38 ! #define TAG_DHCP_TCP_KEEPALIVE_GARBAGE 39 ! #define TAG_DHCP_NIS_DOMAIN_NAME 40 ! #define TAG_DHCP_NIS_SERVERS 41 ! #define TAG_DHCP_NTP_SERVERS 42 ! #define TAG_DHCP_VENDOR_SPECIFIC 43 ! #define TAG_DHCP_NETBIOSOTCP_NAME_SERVER 44 ! #define TAG_DHCP_NETBIOSOTCP_DATAGRAM_SERVER 45 ! #define TAG_DHCP_NETBIOSOTCP_NODE_TYPE 46 ! #define TAG_DHCP_NETBIOSOTCP_SCOPE 47 ! #define TAG_DHCP_XWIN_FONT_SERVER 48 ! #define TAG_DHCP_XWIN_DISP_MANAGER_SERVER 49 ! #define TAG_DHCP_REQUESTED_IP_ADDRESS 50 ! #define TAG_DHCP_IP_ADDRESS_LEASE_TIME 51 ! #define TAG_DHCP_OVERLOAD 52 ! #define TAG_DHCP_MESSAGE_TYPE 53 ! #define TAG_DHCP_SERVER_IDENTIFIER 54 ! #define TAG_DHCP_PARAMETERS 55 ! #define TAG_DHCP_MESSAGE 56 ! #define TAG_DHCP_MAX_DHCP_SIZE 57 ! #define TAG_DHCP_RENEWAL_TIME 58 ! #define TAG_DHCP_REBINDING_TIME 59 ! #define TAG_DHCP_VENDOR_CLASS_ID 60 ! #define TAG_DHCP_CLIENT_ID 61 ! #define TAG_DHCP_NISPLUS_DOMAIN 64 ! #define TAG_DHCP_NISPLUS_SERVERS 65 ! #define TAG_DHCP_TFTP_SERVER 66 ! #define TAG_DHCP_BOOT_FILE_NAME 67 ! #define TAG_DHCP_IP_HOME_AGENT 68 ! #define TAG_DHCP_SMTP_SERVER 69 ! #define TAG_DHCP_POP_SERVER 70 ! #define TAG_DHCP_NNTP_SERVER 71 ! #define TAG_DHCP_DEFAULT_WWW_SERVER 72 ! #define TAG_DHCP_DEFAULT_FINGER_SERVER 73 ! #define TAG_DHCP_DEFAULT_IRC_SERVER 74 ! #define TAG_DHCP_DEFAULT_ST_SERVER 75 ! #define TAG_DHCP_DEFAULT_STDA_SERVER 76 ! #define TAG_DHCP_END 255 /* DHCP overload option values. */ *************** *** 362,369 **** /* NetBIOS Scope Node Types */ ! # define NETBIOS_B_NODE 0x01 ! # define NETBIOS_P_NODE 0x02 ! # define NETBIOS_M_NODE 0x04 ! # define NETBIOS_H_NODE 0x06 /* prototypes. */ --- 362,369 ---- /* NetBIOS Scope Node Types */ ! #define NETBIOS_B_NODE 0x01 ! #define NETBIOS_P_NODE 0x02 ! #define NETBIOS_M_NODE 0x04 ! #define NETBIOS_H_NODE 0x06 /* prototypes. */ |
|
From: <act...@us...> - 2004-02-11 02:20:07
|
Update of /cvsroot/dhcp-agent/dhcp-agent/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23244/src Modified Files: dhcp-client-states.c Log Message: fixed incorrect zapping of address before arp-reply Index: dhcp-client-states.c =================================================================== RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-client-states.c,v retrieving revision 1.45 retrieving revision 1.46 diff -C2 -d -r1.45 -r1.46 *** dhcp-client-states.c 28 Aug 2003 15:41:54 -0000 1.45 --- dhcp-client-states.c 11 Feb 2004 02:16:22 -0000 1.46 *************** *** 214,218 **** eth_addr_t client_hw_addr; - client_ip_addr = rawnet_get_ip_addr(dc->rawnet); rawnet_get_real_hw_addr(dc->rawnet, &client_hw_addr); --- 214,217 ---- |
|
From: <act...@us...> - 2003-08-31 16:09:35
|
Update of /cvsroot/dhcp-agent/dhcp-agent In directory sc8-pr-cvs1:/tmp/cvs-serv1184 Removed Files: acinclude.m4 Log Message: we no longer need acinclude.m4 --- acinclude.m4 DELETED --- |
|
From: <act...@us...> - 2003-08-31 16:09:19
|
Update of /cvsroot/dhcp-agent/dhcp-agent
In directory sc8-pr-cvs1:/tmp/cvs-serv1153
Modified Files:
configure.ac
Log Message:
better, clearer autoconf
Index: configure.ac
===================================================================
RCS file: /cvsroot/dhcp-agent/dhcp-agent/configure.ac,v
retrieving revision 1.19
retrieving revision 1.20
diff -C2 -d -r1.19 -r1.20
*** configure.ac 27 Jul 2003 00:57:28 -0000 1.19
--- configure.ac 31 Aug 2003 16:09:14 -0000 1.20
***************
*** 1,5 ****
dnl $Header$
dnl
! dnl Second try at writing a more coherent configure script.
dnl We've layed it out per the gnu autoconf manual
dnl Please look at:
--- 1,5 ----
dnl $Header$
dnl
! dnl Third try at writing a more coherent configure script.
dnl We've layed it out per the gnu autoconf manual
dnl Please look at:
***************
*** 9,15 ****
dnl -- tm...@wh...
! dnl
dnl init
! dnl
AC_PREREQ(2.57)
--- 9,15 ----
dnl -- tm...@wh...
! dnl ---------------------------------------------------------------------------
dnl init
! dnl ---------------------------------------------------------------------------
AC_PREREQ(2.57)
***************
*** 20,30 ****
AC_LIBTOOL_TAGS([])
! dnl
! dnl command line options
! dnl
dnl fail-on-warning option for strict compilation
FAIL_ON_WARNING="no"
AC_ARG_ENABLE(fail-on-warning,
AC_HELP_STRING([--enable-fail-on-warning],
--- 20,34 ----
AC_LIBTOOL_TAGS([])
! dnl ---------------------------------------------------------------------------
! dnl preset constants
! dnl ---------------------------------------------------------------------------
dnl fail-on-warning option for strict compilation
FAIL_ON_WARNING="no"
+ dnl ---------------------------------------------------------------------------
+ dnl command line options
+ dnl ---------------------------------------------------------------------------
+
AC_ARG_ENABLE(fail-on-warning,
AC_HELP_STRING([--enable-fail-on-warning],
***************
*** 60,66 ****
AM_CONDITIONAL(HTMLDOC, test x$htmldoc = xtrue)
- dnl allow user to pick where dhcp-agent does its work
dnl check for CC, INSTALL, and sane make
AC_PROG_CC
--- 64,71 ----
AM_CONDITIONAL(HTMLDOC, test x$htmldoc = xtrue)
+ dnl ---------------------------------------------------------------------------
dnl check for CC, INSTALL, and sane make
+ dnl ---------------------------------------------------------------------------
AC_PROG_CC
***************
*** 69,80 ****
AC_PROG_LIBTOOL
dnl check header files we should have
AC_HEADER_STDC
AC_CHECK_HEADERS(inttypes.h signal.h varargs.h stdarg.h sys/utsname.h getopt.h)
! dnl
dnl check for types
! dnl
AC_CHECK_TYPE(sig_atomic_t, [AC_DEFINE(HAVE_SIG_ATOMIC_T, 1, [have sigatomic_t])], [], [#include <signal.h>])
--- 74,87 ----
AC_PROG_LIBTOOL
+ dnl ---------------------------------------------------------------------------
dnl check header files we should have
+ dnl ---------------------------------------------------------------------------
AC_HEADER_STDC
AC_CHECK_HEADERS(inttypes.h signal.h varargs.h stdarg.h sys/utsname.h getopt.h)
! dnl ---------------------------------------------------------------------------
dnl check for types
! dnl ---------------------------------------------------------------------------
AC_CHECK_TYPE(sig_atomic_t, [AC_DEFINE(HAVE_SIG_ATOMIC_T, 1, [have sigatomic_t])], [], [#include <signal.h>])
***************
*** 87,95 ****
#include <net/bpf.h> ])
dnl try finding or generating our own C99 stdint macros
! AC_WF_TRY_PRI_MACROS
! if test "x$have_primacros" = "x"; then
dnl this ought to work -- i think :-)
--- 94,113 ----
#include <net/bpf.h> ])
+ AC_TYPE_SIGNAL
+
dnl try finding or generating our own C99 stdint macros
! AC_MSG_CHECKING(for stdint conversion macros)
! AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>
! #include <stdlib.h>
! #include <inttypes.h>
! ]],[[uint32_t t=1; printf("%"PRIu32, t);]])],
! [AC_MSG_RESULT(found); have_primacros="yes"],
! AC_MSG_RESULT(not found); have_primacros="no")
!
! if test "x$have_primacros" = "xno"; then
!
! echo "Generating our own stdint macros."
dnl this ought to work -- i think :-)
***************
*** 117,135 ****
fi
! AC_TYPE_SIGNAL
!
dnl check for functions
AC_CHECK_FUNCS(strdup uname calloc daemon rename sysconf getrusage getprogname)
dnl other checks
! dnl check if kill(pid, 0) can be used to detect a process
!
! AC_WF_CHECK_KILL_SIGNAL_DETECT
! dnl check for BPF_IMMEDIATE flag
! AC_WF_CHECK_BPF_IMMEDIATE
dnl check for __progname
--- 135,168 ----
fi
! dnl ---------------------------------------------------------------------------
dnl check for functions
+ dnl ---------------------------------------------------------------------------
AC_CHECK_FUNCS(strdup uname calloc daemon rename sysconf getrusage getprogname)
+ dnl ---------------------------------------------------------------------------
dnl other checks
+ dnl ---------------------------------------------------------------------------
! dnl check for SO_BINDTODEVICE
! AC_MSG_CHECKING(SO_BINDTODEVICE)
! AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>
! #include <stdlib.h>
! #include <sys/types.h>
! #include <sys/socket.h>
! ]], [[
! char *dev = "foo0";
! socklen_t len;
! setsockopt(0, SOL_SOCKET, SO_BINDTODEVICE, dev, len);
! ]])], [AC_MSG_RESULT(found) AC_DEFINE(HAVE_SO_BINDTODEVICE, 1, [have SO_BINDTODEVICE])],
! [AC_MSG_RESULT(not found)])
! AC_MSG_CHECKING(BIOCIMMEDIATE)
! AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>
! #include <stdlib.h>
! #include <pcap.h>
! ]], [[ ioctl(0, BIOCIMMEDIATE, NULL);]])],[AC_MSG_RESULT(found)
! AC_DEFINE(HAVE_BPF_IMMEDIATE, 1, [have BPF_IMMEDIATE])],[AC_MSG_RESULT(not found)])
dnl check for __progname
***************
*** 149,153 ****
--- 182,188 ----
fi
+ dnl ---------------------------------------------------------------------------
dnl pcap sifting
+ dnl ---------------------------------------------------------------------------
if test -z "$libpcap_prefix"; then
***************
*** 155,159 ****
dnl excessive pcap sifting
! AC_WF_CHECK_PCAP_LIB_DIR
if test x$ac_pcap_lib_dir = "xnone"; then
--- 190,212 ----
dnl excessive pcap sifting
! AC_MSG_CHECKING(for pcap header directory)
! ac_pcap_header_dir="none"
! for dir in $prefix/include /include /usr/include /usr/local/include /include/pcap /usr/include/pcap /usr/local/include/pcap
! do
! if test -f "$dir/pcap.h" ; then
! ac_pcap_header_dir=$dir
! fi
! done
! AC_MSG_RESULT($ac_pcap_header_dir)
!
! AC_MSG_CHECKING(for pcap library directory)
! ac_pcap_lib_dir="none"
! for dir in $prefix/lib /lib /usr/lib /usr/local/lib
! do
! if test -f "$dir/libpcap.a" ; then
! ac_pcap_lib_dir=$dir
! fi
! done
! AC_MSG_RESULT($ac_pcap_lib_dir)
if test x$ac_pcap_lib_dir = "xnone"; then
***************
*** 174,179 ****
PCAP_LIB="-L$ac_pcap_lib_dir -lpcap"
-
- AC_WF_CHECK_PCAP_HEADER_DIR
PCAP_INC="-I$ac_pcap_header_dir"
--- 227,230 ----
***************
*** 187,191 ****
--- 238,244 ----
fi
+ dnl ---------------------------------------------------------------------------
dnl check for pcap_freecode
+ dnl ---------------------------------------------------------------------------
AC_MSG_CHECKING([pcap_freecode in pcap])
***************
*** 205,209 ****
--- 258,264 ----
fi
+ dnl ---------------------------------------------------------------------------
dnl check for pcap_setnonblock
+ dnl ---------------------------------------------------------------------------
AC_MSG_CHECKING([pcap_setnonblock in pcap])
***************
*** 219,238 ****
fi
! dnl check for BIOCIMMEDIATE
!
! AC_MSG_CHECKING(BIOCIMMEDIATE)
! AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>
! #include <stdlib.h>
! #include <pcap.h>
! ]], [[ ioctl(0, BIOCIMMEDIATE, NULL);]])],[AC_MSG_RESULT(found)
! AC_DEFINE(HAVE_BPF_IMMEDIATE, 1, [have BPF_IMMEDIATE])],[AC_MSG_RESULT(not found)])
!
!
! dnl
dnl libdnet sifting; actually it's a lot more well behaved
dnl than pcap.
dnl begin by looking for dnet-config if we find it, then
dnl just use it to get the include and lib dirs.
! dnl
if test -z $libdnet_prefix; then
--- 274,283 ----
fi
! dnl ---------------------------------------------------------------------------
dnl libdnet sifting; actually it's a lot more well behaved
dnl than pcap.
dnl begin by looking for dnet-config if we find it, then
dnl just use it to get the include and lib dirs.
! dnl ---------------------------------------------------------------------------
if test -z $libdnet_prefix; then
***************
*** 267,270 ****
--- 312,318 ----
fi
+ dnl ---------------------------------------------------------------------------
+ dnl guile sifting
+ dnl ---------------------------------------------------------------------------
if test -z $guile_prefix; then
***************
*** 322,328 ****
fi
! dnl
dnl setup paths so they can be passed to the Makefile.in
! dnl
dhcpsysconfdir="${sysconfdir}/${PACKAGE_NAME}"
--- 370,376 ----
fi
! dnl ---------------------------------------------------------------------------
dnl setup paths so they can be passed to the Makefile.in
! dnl ---------------------------------------------------------------------------
dhcpsysconfdir="${sysconfdir}/${PACKAGE_NAME}"
***************
*** 336,339 ****
--- 384,391 ----
dhcpdocdir="/doc/dhcp-agent"
+ dnl ---------------------------------------------------------------------------
+ dnl do substitutions
+ dnl ---------------------------------------------------------------------------
+
AC_SUBST(PCAP_LIB)
AC_SUBST(PCAP_INC)
***************
*** 351,354 ****
--- 403,409 ----
AC_SUBST(dhcpdocdir)
+ dnl ---------------------------------------------------------------------------
+ dnl fail on warning if argumetn passed
+ dnl ---------------------------------------------------------------------------
if test x"${FAIL_ON_WARNING}" = "xyes"; then
CFLAGS="${CFLAGS} -Werror"
|
|
From: <act...@us...> - 2003-08-28 15:41:59
|
Update of /cvsroot/dhcp-agent/dhcp-agent/src
In directory sc8-pr-cvs1:/tmp/cvs-serv23351
Modified Files:
dhcp-client-states.c
Log Message:
minor optimization when checking dhcp type. we're not longer walking through the options everytime where we can avoid it
Index: dhcp-client-states.c
===================================================================
RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-client-states.c,v
retrieving revision 1.44
retrieving revision 1.45
diff -C2 -d -r1.44 -r1.45
*** dhcp-client-states.c 28 Jun 2003 17:50:06 -0000 1.44
--- dhcp-client-states.c 28 Aug 2003 15:41:54 -0000 1.45
***************
*** 549,557 ****
static int client_check_request(void *arg)
{
dhcp_client_control_t *dc = arg;
if(client_check_dhcp(dc) &&
! (dhcp_is_type(dc->rawnet->dhcp_p, DHCP_DHCPACK_TM) ||
! dhcp_is_type(dc->rawnet->dhcp_p, DHCP_DHCPNAK_TM)))
return 1;
else
--- 549,560 ----
static int client_check_request(void *arg)
{
+ int dhcp_type;
dhcp_client_control_t *dc = arg;
+ dhcp_type = dhcp_get_type(dc->rawnet->dhcp_p);
+
if(client_check_dhcp(dc) &&
! (dhcp_type == DHCP_DHCPACK_TM ||
! dhcp_type == DHCP_DHCPACK_TM))
return 1;
else
***************
*** 860,864 ****
return STATE_BOUND;
! } else if(dhcp_is_type(dc->rawnet->dhcp_p, DHCP_DHCPNAK_TM)) {
/* we've been told our lease is no good. */
--- 863,867 ----
return STATE_BOUND;
! } else {
/* we've been told our lease is no good. */
***************
*** 872,880 ****
return STATE_INIT;
- } else {
-
- ERROR_MESSAGE("received neither NACK nor ACK -- this should never happen because of higher filters.");
- FATAL_MESSAGE("I shouldn't be here. this is a bug report me.");
- exit(1); /* get rid of compiler warning. */
}
}
--- 875,878 ----
***************
*** 932,936 ****
return STATE_BOUND;
! } else if(dhcp_is_type(dc->rawnet->dhcp_p, DHCP_DHCPNAK_TM)) {
/* we've been told our lease is no good. */
--- 930,934 ----
return STATE_BOUND;
! } else {
/* we've been told our lease is no good. */
***************
*** 944,952 ****
return STATE_INIT;
- } else {
-
- ERROR_MESSAGE("received neither NACK nor ACK -- this should never happen because of higher filters.");
- FATAL_MESSAGE("I shouldn't be here. this is a bug report me.");
- exit(1); /* get rid of compiler warning. */
}
}
--- 942,945 ----
|
|
From: <act...@us...> - 2003-08-18 16:41:21
|
Update of /cvsroot/dhcp-agent/dhcp-agent/src
In directory sc8-pr-cvs1:/tmp/cvs-serv25421/src
Modified Files:
dhcp-lease.c dhcp-server-conf.c dhcp-server-conf.h
Log Message:
now creating type-none constraint
Index: dhcp-lease.c
===================================================================
RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-lease.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** dhcp-lease.c 17 Aug 2003 00:57:33 -0000 1.9
--- dhcp-lease.c 18 Aug 2003 16:16:08 -0000 1.10
***************
*** 57,60 ****
--- 57,63 ----
break;
+ case LEASE_CONSTRAINT_NONE:
+ break;
+
default:
FATAL_MESSAGE("illegal constraint type passed. this is a bug report me.");
Index: dhcp-server-conf.c
===================================================================
RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-server-conf.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** dhcp-server-conf.c 18 Aug 2003 01:49:58 -0000 1.14
--- dhcp-server-conf.c 18 Aug 2003 16:16:08 -0000 1.15
***************
*** 237,240 ****
--- 237,245 ----
}
+ list_t *server_conf_get_lease_defs(server_conf_t *sc)
+ {
+ return sc->lease_defs;
+ }
+
/* * * * * * * * * * *
* utility routines. *
***************
*** 438,441 ****
--- 443,447 ----
static int directive_range_handler(server_conf_t *server_conf, directive_t *directive, int group_type, void *group_data)
{
+ lease_constraint_t *constraint;
lease_definition_t *lease_def;
ip_addr_t bottom_address, top_address;
***************
*** 475,483 ****
list_add_to_end(address_pair, &bottom_address);
/* create option handler by calling the general lease handler. */
option_list = list_create();
directive_lease_handler_proc(server_conf, directive, GROUP_LEASE_DEF, group_data, option_list);
! lease_def = lease_definition_create(NULL, subnet_address, subnet_mask, LEASE_RANGE_ADDRESS,
address_pair, option_list, lease_expiry, renew_time, rebind_time);
list_add(server_conf->lease_defs, lease_def);
--- 481,492 ----
list_add_to_end(address_pair, &bottom_address);
+ /* create empty constraint. */
+ constraint = lease_constraint_create(LEASE_CONSTRAINT_NONE, NULL);
+
/* create option handler by calling the general lease handler. */
option_list = list_create();
directive_lease_handler_proc(server_conf, directive, GROUP_LEASE_DEF, group_data, option_list);
! lease_def = lease_definition_create(constraint, subnet_address, subnet_mask, LEASE_RANGE_ADDRESS,
address_pair, option_list, lease_expiry, renew_time, rebind_time);
list_add(server_conf->lease_defs, lease_def);
Index: dhcp-server-conf.h
===================================================================
RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-server-conf.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** dhcp-server-conf.h 18 Aug 2003 01:49:58 -0000 1.11
--- dhcp-server-conf.h 18 Aug 2003 16:16:08 -0000 1.12
***************
*** 30,34 ****
typedef struct {
! list_t *lease_defs; /* list of lease definitions. */
const char *interface; /* interface name: read only. */
--- 30,34 ----
typedef struct {
! list_t *lease_defs; /* list of lease definitions. */
const char *interface; /* interface name: read only. */
***************
*** 65,68 ****
--- 65,69 ----
extern uint8_t server_conf_assume_interface_local_subnet(server_conf_t *sc);
extern list_t *server_conf_get_local_subnets(server_conf_t *sc);
+ extern list_t *server_conf_get_lease_defs(server_conf_t *sc);
#endif /* DHCP_SERVER_CONF_H */
|
|
From: <act...@us...> - 2003-08-18 16:19:54
|
Update of /cvsroot/dhcp-agent/dhcp-agent/src
In directory sc8-pr-cvs1:/tmp/cvs-serv25253/src
Modified Files:
dhcp-guile-util.c
Log Message:
fixed address pair conversion
Index: dhcp-guile-util.c
===================================================================
RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-guile-util.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** dhcp-guile-util.c 18 Aug 2003 01:48:17 -0000 1.4
--- dhcp-guile-util.c 18 Aug 2003 16:15:10 -0000 1.5
***************
*** 170,180 ****
{
SCM scm_address_list = SCM_EOL;
ip_addr_t *first_ip, *second_ip;
list_rewind(address_list);
! while((first_ip = list_next(address_list)) != NULL) {
! second_ip = list_next(address_list);
! if(second_ip == NULL) {
FATAL_MESSAGE("passed uneven list as address pair");
}
--- 170,182 ----
{
SCM scm_address_list = SCM_EOL;
+ list_t *address_pair;
ip_addr_t *first_ip, *second_ip;
list_rewind(address_list);
! while((address_pair = list_next(address_list)) != NULL) {
! first_ip = list_first(address_pair);
! second_ip = list_second(address_pair);
! if(first_ip == NULL || second_ip == NULL) {
FATAL_MESSAGE("passed uneven list as address pair");
}
|
|
From: <act...@us...> - 2003-08-18 16:19:22
|
Update of /cvsroot/dhcp-agent/dhcp-agent/src
In directory sc8-pr-cvs1:/tmp/cvs-serv25706/src
Modified Files:
dhcp-server-guile.c
Log Message:
now defining lease definitions at top level; returning NULL on false
Index: dhcp-server-guile.c
===================================================================
RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-server-guile.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** dhcp-server-guile.c 18 Aug 2003 04:10:57 -0000 1.10
--- dhcp-server-guile.c 18 Aug 2003 16:17:43 -0000 1.11
***************
*** 231,234 ****
--- 231,238 ----
void dhcp_guile_init(dhcp_server_control_t *sc)
{
+ list_t *lease_defs;
+ lease_definition_t *lease_def;
+ SCM scm_lease_defs = SCM_EOL;
+
/* initialize the server control smob. */
init_server_control_smob();
***************
*** 250,256 ****
lease_expire = scm_str2symbol("lease-expire");
- /* NOTE: defining at the top level should keep the garbage
- * collector from swallowing these symbols up. */
-
/* bind false to all the subroutines. */
--- 254,257 ----
***************
*** 267,270 ****
--- 268,283 ----
scm_c_define_gsubr("server-fatal-error-message", 1, 0, 1, scm_fatal_error_message);
+ /* bind to a top level list of all the lease definitions. */
+ lease_defs = server_conf_get_lease_defs(sc->server_conf);
+
+ /* cons up the lease definitions. */
+ list_rewind(lease_defs);
+ while((lease_def = list_next(lease_defs)) != NULL) {
+ scm_lease_defs = scm_cons(scm_lease_def_c2scm(lease_def), scm_lease_defs);
+ }
+
+ /* do lease defs binding. */
+ scm_c_define("lease-definitions", scm_lease_defs);
+
/* bind our server control object. */
scm_c_define("dhcp-server-control",
***************
*** 293,296 ****
--- 306,312 ----
scm_lease = scm_call_1(scm_variable_ref(lease_available), scm_client_info);
+ if(scm_lease == SCM_BOOL_F)
+ return NULL;
+
lease = scm_c_get_lease(scm_lease);
return lease;
***************
*** 307,310 ****
--- 323,329 ----
scm_lease = scm_call_2(scm_variable_ref(lease_lookup), scm_ip_addr, scm_client_info);
+
+ if(scm_lease == SCM_BOOL_F)
+ return NULL;
lease = scm_c_get_lease(scm_lease);
|
|
From: <act...@us...> - 2003-08-18 04:29:06
|
Update of /cvsroot/dhcp-agent/dhcp-agent/src
In directory sc8-pr-cvs1:/tmp/cvs-serv14570
Modified Files:
dhcp-server.c
Log Message:
now hooked rest of code into the main server function
Index: dhcp-server.c
===================================================================
RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-server.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -d -r1.12 -r1.13
*** dhcp-server.c 7 Aug 2003 01:14:27 -0000 1.12
--- dhcp-server.c 18 Aug 2003 04:12:00 -0000 1.13
***************
*** 35,38 ****
--- 35,39 ----
#include "dhcp-guile-util.h"
#include "dhcp-server-guile.h"
+ #include "dhcp-server-lease-manager.h"
/* global vars affecting other code. */
***************
*** 101,104 ****
--- 102,106 ----
server_conf_t *server_conf;
dhcp_server_control_t *dhcp_server_control;
+ int state;
INFO_MESSAGE("DHCP server starting");
***************
*** 125,129 ****
}
! server_states[STATE_SHUTDOWN](dhcp_server_control);
}
--- 127,141 ----
}
! /* now initialize the guile backend. */
! dhcp_guile_init(dhcp_server_control);
!
! /* initialize lease manager. */
! lease_manager_initialize();
!
! /* do the main loop. */
! state = STATE_LISTEN;
! while(1) {
! server_states[state](dhcp_server_control);
! }
}
|
|
From: <act...@us...> - 2003-08-18 04:25:55
|
Update of /cvsroot/dhcp-agent/dhcp-agent/src In directory sc8-pr-cvs1:/tmp/cvs-serv14542 Modified Files: dhcp-server-lease-manager.h Log Message: fixed prototype of lease_manager_initialize Index: dhcp-server-lease-manager.h =================================================================== RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-server-lease-manager.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** dhcp-server-lease-manager.h 7 Aug 2003 01:14:27 -0000 1.3 --- dhcp-server-lease-manager.h 18 Aug 2003 04:11:35 -0000 1.4 *************** *** 25,29 **** #define DHCP_SERVER_LEASE_MANAGER_H ! extern int initialize_lease_manager(void); extern lease_t *lease_manager_lease_available(client_info_t *client_info); extern lease_t *lease_manager_lookup_lease(ip_addr_t ip_addr, client_info_t *client_info); --- 25,29 ---- #define DHCP_SERVER_LEASE_MANAGER_H ! extern int lease_manager_initialize(void); extern lease_t *lease_manager_lease_available(client_info_t *client_info); extern lease_t *lease_manager_lookup_lease(ip_addr_t ip_addr, client_info_t *client_info); |
|
From: <act...@us...> - 2003-08-18 04:10:59
|
Update of /cvsroot/dhcp-agent/dhcp-agent/src
In directory sc8-pr-cvs1:/tmp/cvs-serv14467
Modified Files:
dhcp-server-guile.c
Log Message:
fixed fatal to fatal_error
Index: dhcp-server-guile.c
===================================================================
RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-server-guile.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** dhcp-server-guile.c 18 Aug 2003 02:24:29 -0000 1.9
--- dhcp-server-guile.c 18 Aug 2003 04:10:57 -0000 1.10
***************
*** 40,43 ****
--- 40,44 ----
#include "dhcp-client-info-guile.h"
#include "dhcp-option-guile.h"
+ #include "dhcp-message-guile.h"
static scm_t_bits server_control_tag;
***************
*** 193,196 ****
--- 194,200 ----
stringbuffer_t *sb;
+ if(getenv("DEBUG_SERVER_SCM"))
+ scm_shell(0, NULL);
+
sb = stringbuffer_create();
stringbuffer_aprintf(sb, "%s/default.backend", DHCPSYSCONF_SERVERDIR);
***************
*** 261,265 ****
scm_c_define_gsubr("server-info-message", 1, 0, 1, scm_info_message);
scm_c_define_gsubr("server-error-message", 1, 0, 1, scm_error_message);
! scm_c_define_gsubr("server-fatal-error-message", 1, 0, 1, scm_fatal_message);
/* bind our server control object. */
--- 265,269 ----
scm_c_define_gsubr("server-info-message", 1, 0, 1, scm_info_message);
scm_c_define_gsubr("server-error-message", 1, 0, 1, scm_error_message);
! scm_c_define_gsubr("server-fatal-error-message", 1, 0, 1, scm_fatal_error_message);
/* bind our server control object. */
|
|
From: <act...@us...> - 2003-08-18 02:50:33
|
Update of /cvsroot/dhcp-agent/dhcp-agent/src
In directory sc8-pr-cvs1:/tmp/cvs-serv473
Modified Files:
dhcp-client-guile.c Makefile.am
Log Message:
moved message code to its own guile binding source
Index: dhcp-client-guile.c
===================================================================
RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-client-guile.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** dhcp-client-guile.c 18 Aug 2003 01:48:51 -0000 1.13
--- dhcp-client-guile.c 18 Aug 2003 02:21:37 -0000 1.14
***************
*** 37,40 ****
--- 37,41 ----
#include "dhcp-client.h"
#include "dhcp-guile-util.h"
+ #include "dhcp-message-guile.h"
#include "dhcp-client-guile.h"
#include "dhcp-interface.h"
***************
*** 404,444 ****
}
- /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * info message, error message, and fatal message wrappers. *
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
- static SCM dhcp_scm_client_info_message(SCM string)
- {
- char *str;
-
- str = x_scm_string2newstr(string);
- INFO_MESSAGE(str);
- xfree(str);
-
- return SCM_BOOL_T;
- }
-
- static SCM dhcp_scm_client_error_message(SCM string)
- {
- char *str;
-
- str = x_scm_string2newstr(string);
- ERROR_MESSAGE(str);
- xfree(str);
-
- return SCM_BOOL_T;
- }
-
- static SCM dhcp_scm_client_fatal_error_message(SCM string)
- {
- char *str;
-
- str = x_scm_string2newstr(string);
- FATAL_MESSAGE(str);
- xfree(str);
-
- return SCM_BOOL_T;
- }
-
/* * * * * * * * * * * * * * * * * * * *
* dhcp client control smob *
--- 405,408 ----
***************
*** 727,733 ****
scm_c_define_gsubr("client-do-discover-icmp-latency?", 1, 0, 0, dhcp_scm_client_do_discover_icmp_latency);
scm_c_define_gsubr("client-configure?", 2, 0, 0, dhcp_scm_configurep);
! scm_c_define_gsubr("client-info-message", 1, 0, 0, dhcp_scm_client_info_message);
! scm_c_define_gsubr("client-error-message", 1, 0, 0, dhcp_scm_client_error_message);
! scm_c_define_gsubr("client-fatal-error-message", 1, 0, 0, dhcp_scm_client_fatal_error_message);
scm_c_define_gsubr("client-shutdown", 1, 0, 0, dhcp_scm_client_shutdown);
scm_c_define_gsubr("client-discover-icmp-latency", 2, 0, 0, dhcp_scm_client_discover_icmp_latency);
--- 691,697 ----
scm_c_define_gsubr("client-do-discover-icmp-latency?", 1, 0, 0, dhcp_scm_client_do_discover_icmp_latency);
scm_c_define_gsubr("client-configure?", 2, 0, 0, dhcp_scm_configurep);
! scm_c_define_gsubr("client-info-message", 1, 0, 0, scm_info_message);
! scm_c_define_gsubr("client-error-message", 1, 0, 0, scm_error_message);
! scm_c_define_gsubr("client-fatal-error-message", 1, 0, 0, scm_fatal_error_message);
scm_c_define_gsubr("client-shutdown", 1, 0, 0, dhcp_scm_client_shutdown);
scm_c_define_gsubr("client-discover-icmp-latency", 2, 0, 0, dhcp_scm_client_discover_icmp_latency);
Index: Makefile.am
===================================================================
RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/Makefile.am,v
retrieving revision 1.37
retrieving revision 1.38
diff -C2 -d -r1.37 -r1.38
*** Makefile.am 12 Aug 2003 12:07:42 -0000 1.37
--- Makefile.am 18 Aug 2003 02:21:37 -0000 1.38
***************
*** 72,76 ****
dhcp-sysconf.c \
dhcp-client-guile.c \
! dhcp-guile-util.c
dhcp_server_SOURCES = dhcp-server.c \
--- 72,77 ----
dhcp-sysconf.c \
dhcp-client-guile.c \
! dhcp-guile-util.c \
! dhcp-message-guile.c
dhcp_server_SOURCES = dhcp-server.c \
***************
*** 85,89 ****
dhcp-server-client-info.c \
dhcp-client-info-guile.c \
! dhcp-lease-guile.c
dhcp_client_LDADD = -ldhcputil ${GUILE_LIB}
--- 86,91 ----
dhcp-server-client-info.c \
dhcp-client-info-guile.c \
! dhcp-lease-guile.c \
! dhcp-message-guile.c
dhcp_client_LDADD = -ldhcputil ${GUILE_LIB}
|
|
From: <act...@us...> - 2003-08-18 02:42:07
|
Update of /cvsroot/dhcp-agent/dhcp-agent/src
In directory sc8-pr-cvs1:/tmp/cvs-serv842
Modified Files:
dhcp-server-guile.c
Log Message:
server guile bindings now have bound to message code
Index: dhcp-server-guile.c
===================================================================
RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-server-guile.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** dhcp-server-guile.c 18 Aug 2003 01:50:32 -0000 1.8
--- dhcp-server-guile.c 18 Aug 2003 02:24:29 -0000 1.9
***************
*** 258,261 ****
--- 258,266 ----
scm_define(lease_expire, SCM_BOOL_F);
+ /* bind some utility routines. */
+ scm_c_define_gsubr("server-info-message", 1, 0, 1, scm_info_message);
+ scm_c_define_gsubr("server-error-message", 1, 0, 1, scm_error_message);
+ scm_c_define_gsubr("server-fatal-error-message", 1, 0, 1, scm_fatal_message);
+
/* bind our server control object. */
scm_c_define("dhcp-server-control",
|
|
From: <act...@us...> - 2003-08-18 02:39:42
|
Update of /cvsroot/dhcp-agent/dhcp-agent/src
In directory sc8-pr-cvs1:/tmp/cvs-serv762
Modified Files:
dhcp-client-guile.c
Log Message:
fixed up number of args on message bindings
Index: dhcp-client-guile.c
===================================================================
RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-client-guile.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** dhcp-client-guile.c 18 Aug 2003 02:21:37 -0000 1.14
--- dhcp-client-guile.c 18 Aug 2003 02:24:02 -0000 1.15
***************
*** 691,697 ****
scm_c_define_gsubr("client-do-discover-icmp-latency?", 1, 0, 0, dhcp_scm_client_do_discover_icmp_latency);
scm_c_define_gsubr("client-configure?", 2, 0, 0, dhcp_scm_configurep);
! scm_c_define_gsubr("client-info-message", 1, 0, 0, scm_info_message);
! scm_c_define_gsubr("client-error-message", 1, 0, 0, scm_error_message);
! scm_c_define_gsubr("client-fatal-error-message", 1, 0, 0, scm_fatal_error_message);
scm_c_define_gsubr("client-shutdown", 1, 0, 0, dhcp_scm_client_shutdown);
scm_c_define_gsubr("client-discover-icmp-latency", 2, 0, 0, dhcp_scm_client_discover_icmp_latency);
--- 691,697 ----
scm_c_define_gsubr("client-do-discover-icmp-latency?", 1, 0, 0, dhcp_scm_client_do_discover_icmp_latency);
scm_c_define_gsubr("client-configure?", 2, 0, 0, dhcp_scm_configurep);
! scm_c_define_gsubr("client-info-message", 1, 0, 1, scm_info_message);
! scm_c_define_gsubr("client-error-message", 1, 0, 1, scm_error_message);
! scm_c_define_gsubr("client-fatal-error-message", 1, 0, 1, scm_fatal_error_message);
scm_c_define_gsubr("client-shutdown", 1, 0, 0, dhcp_scm_client_shutdown);
scm_c_define_gsubr("client-discover-icmp-latency", 2, 0, 0, dhcp_scm_client_discover_icmp_latency);
|
|
From: <act...@us...> - 2003-08-18 02:39:08
|
Update of /cvsroot/dhcp-agent/dhcp-agent/src
In directory sc8-pr-cvs1:/tmp/cvs-serv433
Added Files:
dhcp-message-guile.h dhcp-message-guile.c
Log Message:
added message binding to guile
--- NEW FILE: dhcp-message-guile.h ---
/* $Header: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-message-guile.h,v 1.1 2003/08/18 02:21:15 actmodern Exp $
*
* Copyright 2002 Thamer Alharbash
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. The names of the authors may not be used to endorse or promote
* products derived from this software without specific prior
* written permission.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
* info message, error message, and fatal message guile bindings.
*/
#ifndef DHCP_MESSAGE_GUILE_H
#define DHCP_MESSAGE_GUILE_H
extern SCM scm_info_message(SCM msg, SCM args);
extern SCM scm_error_message(SCM msg, SCM args);
extern SCM scm_fatal_error_message(SCM msg, SCM args);
#endif /* DHCP_MESSAGE_GUILE_H */
--- NEW FILE: dhcp-message-guile.c ---
/* $Header: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-message-guile.c,v 1.1 2003/08/18 02:21:15 actmodern Exp $
*
* Copyright 2002 Thamer Alharbash
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. The names of the authors may not be used to endorse or promote
* products derived from this software without specific prior
* written permission.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
* info message, error message, and fatal message guile bindings.
*/
#include "dhcp-local.h"
#include "dhcp-libutil.h"
#include "dhcp-guile-util.h"
/* use a string output port to print out a string. */
static SCM print_to_scm_string(SCM msg, SCM args)
{
SCM string_port;
SCM string;
string_port = scm_open_output_string();
scm_simple_format(string_port, msg, args);
string = scm_get_output_string(string_port);
scm_close_output_port(string_port);
return string;
}
/* send a message via the INFO_MESSAGE facility. */
SCM scm_info_message(SCM msg, SCM args)
{
SCM scm_str;
char *str;
scm_str = print_to_scm_string(msg, args);
str = x_scm_string2newstr(scm_str);
INFO_MESSAGE(str);
xfree(str);
return SCM_BOOL_T;
}
/* send a message via the ERROR_MESSAGE facility. */
SCM scm_error_message(SCM msg, SCM args)
{
SCM scm_str;
char *str;
scm_str = print_to_scm_string(msg, args);
str = x_scm_string2newstr(scm_str);
ERROR_MESSAGE(str);
xfree(str);
return SCM_BOOL_T;
}
/* send a message via the FATAL_MESSAGE facility. */
SCM scm_fatal_error_message(SCM msg, SCM args)
{
SCM scm_str;
char *str;
scm_str = print_to_scm_string(msg, args);
str = x_scm_string2newstr(scm_str);
FATAL_MESSAGE(str);
xfree(str);
return SCM_BOOL_T;
}
|
|
From: <act...@us...> - 2003-08-18 01:50:35
|
Update of /cvsroot/dhcp-agent/dhcp-agent/src
In directory sc8-pr-cvs1:/tmp/cvs-serv28753/src
Modified Files:
dhcp-server-guile.c
Log Message:
updated guile server bindings to get more information from server control
Index: dhcp-server-guile.c
===================================================================
RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-server-guile.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** dhcp-server-guile.c 17 Aug 2003 00:58:36 -0000 1.7
--- dhcp-server-guile.c 18 Aug 2003 01:50:32 -0000 1.8
***************
*** 83,86 ****
--- 83,167 ----
}
+ /* get renew percent from control conf. */
+ static SCM dhcp_scm_get_default_renew_percent(SCM scm_dhcp_server_control)
+ {
+ server_control_smob_t *server_control_smob;
+
+ SCM_ASSERT(SCM_SMOB_PREDICATE(server_control_tag, scm_dhcp_server_control),
+ scm_dhcp_server_control, SCM_ARG1, "server-get-default-renew-percent");
+
+ server_control_smob = (server_control_smob_t *)SCM_SMOB_DATA(scm_dhcp_server_control);
+
+ return SCM_MAKINUM(server_conf_get_default_renew_percent(server_control_smob->sc->server_conf));
+ }
+
+ /* get rebind percent from control conf. */
+ static SCM dhcp_scm_get_default_rebind_percent(SCM scm_dhcp_server_control)
+ {
+ server_control_smob_t *server_control_smob;
+
+ SCM_ASSERT(SCM_SMOB_PREDICATE(server_control_tag, scm_dhcp_server_control),
+ scm_dhcp_server_control, SCM_ARG1, "server-get-default-rebind-percent");
+
+ server_control_smob = (server_control_smob_t *)SCM_SMOB_DATA(scm_dhcp_server_control);
+
+ return SCM_MAKINUM(server_conf_get_default_rebind_percent(server_control_smob->sc->server_conf));
+ }
+
+ /* get a list of the local subnets. */
+ static SCM dhcp_scm_get_local_subnets(SCM scm_dhcp_server_control)
+ {
+ server_control_smob_t *server_control_smob;
+ list_t *local_subnets;
+
+ SCM_ASSERT(SCM_SMOB_PREDICATE(server_control_tag, scm_dhcp_server_control),
+ scm_dhcp_server_control, SCM_ARG1, "server-get-local-subnets");
+
+ server_control_smob = (server_control_smob_t *)SCM_SMOB_DATA(scm_dhcp_server_control);
+
+ local_subnets = server_conf_get_local_subnets(server_control_smob->sc->server_conf);
+ return address_pair_list_to_guile_address_pair_list(local_subnets);
+ }
+
+ /* assume interface has local subnet? */
+ static SCM dhcp_scm_assume_interface_local_subnet(SCM scm_dhcp_server_control)
+ {
+ server_control_smob_t *server_control_smob;
+
+ SCM_ASSERT(SCM_SMOB_PREDICATE(server_control_tag, scm_dhcp_server_control),
+ scm_dhcp_server_control, SCM_ARG1, "server-interface-has-local-subnet?");
+
+ server_control_smob = (server_control_smob_t *)SCM_SMOB_DATA(scm_dhcp_server_control);
+
+ if(server_conf_assume_interface_local_subnet(server_control_smob->sc->server_conf))
+ return SCM_BOOL_T;
+ else
+ return SCM_BOOL_F;
+ }
+
+ /* get local address. */
+ static SCM dhcp_scm_get_local_address(SCM scm_dhcp_server_control)
+ {
+ server_control_smob_t *server_control_smob;
+
+ SCM_ASSERT(SCM_SMOB_PREDICATE(server_control_tag, scm_dhcp_server_control),
+ scm_dhcp_server_control, SCM_ARG1, "server-get-local-address");
+
+ server_control_smob = (server_control_smob_t *)SCM_SMOB_DATA(scm_dhcp_server_control);
+ return SCM_MAKINUM(rawnet_get_ip_addr(server_control_smob->sc->rawnet));
+ }
+
+ /* get local subnet mask. */
+ static SCM dhcp_scm_get_local_subnet_mask(SCM scm_dhcp_server_control)
+ {
+ server_control_smob_t *server_control_smob;
+
+ SCM_ASSERT(SCM_SMOB_PREDICATE(server_control_tag, scm_dhcp_server_control),
+ scm_dhcp_server_control, SCM_ARG1, "server-get-local-subnet-mask");
+
+ server_control_smob = (server_control_smob_t *)SCM_SMOB_DATA(scm_dhcp_server_control);
+ return SCM_MAKINUM(rawnet_get_subnet_mask(server_control_smob->sc->rawnet));
+ }
+
/* initialization routines for server control SMOB. */
static void init_server_control_smob(void)
***************
*** 92,95 ****
--- 173,183 ----
scm_set_smob_mark(server_control_tag, dhcp_scm_server_control_mark);
scm_set_smob_print(server_control_tag, dhcp_scm_server_control_print);
+
+ scm_c_define_gsubr("server-get-renew-percent", 1, 0, 0, dhcp_scm_get_default_renew_percent);
+ scm_c_define_gsubr("server-get-rebind-percent", 1, 0, 0, dhcp_scm_get_default_rebind_percent);
+ scm_c_define_gsubr("server-get-local-subnets", 1, 0, 0, dhcp_scm_get_local_subnets);
+ scm_c_define_gsubr("server-interface-has-local-subnet?", 1, 0, 0, dhcp_scm_assume_interface_local_subnet);
+ scm_c_define_gsubr("server-get-local-address", 1, 0, 0, dhcp_scm_get_local_address);
+ scm_c_define_gsubr("server-get-local-subnet-mask", 1, 0, 0, dhcp_scm_get_local_subnet_mask);
return;
|
|
From: <act...@us...> - 2003-08-18 01:50:01
|
Update of /cvsroot/dhcp-agent/dhcp-agent/src
In directory sc8-pr-cvs1:/tmp/cvs-serv28634/src
Modified Files:
dhcp-server-conf.c dhcp-server-conf.h
Log Message:
added more getters for conf code
Index: dhcp-server-conf.c
===================================================================
RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-server-conf.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** dhcp-server-conf.c 6 Aug 2003 04:28:33 -0000 1.13
--- dhcp-server-conf.c 18 Aug 2003 01:49:58 -0000 1.14
***************
*** 207,210 ****
--- 207,220 ----
/* accessors. */
+ uint16_t server_conf_get_default_renew_percent(server_conf_t *sc)
+ {
+ return sc->default_renew_percent;
+ }
+
+ uint16_t server_conf_get_default_rebind_percent(server_conf_t *sc)
+ {
+ return sc->default_rebind_percent;
+ }
+
uint16_t server_conf_get_poll_timeout(server_conf_t *sc)
{
***************
*** 217,220 ****
--- 227,239 ----
}
+ uint8_t server_conf_assume_interface_local_subnet(server_conf_t *sc)
+ {
+ return sc->assume_interface_subnet;
+ }
+
+ list_t *server_conf_get_local_subnets(server_conf_t *sc)
+ {
+ return sc->local_subnets;
+ }
/* * * * * * * * * * *
Index: dhcp-server-conf.h
===================================================================
RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-server-conf.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** dhcp-server-conf.h 6 Aug 2003 04:28:33 -0000 1.10
--- dhcp-server-conf.h 18 Aug 2003 01:49:58 -0000 1.11
***************
*** 59,64 ****
--- 59,68 ----
extern void server_conf_destroy(server_conf_t *sc);
+ extern uint16_t server_conf_get_default_renew_percent(server_conf_t *sc);
+ extern uint16_t server_conf_get_default_rebind_percent(server_conf_t *sc);
extern uint16_t server_conf_get_poll_timeout(server_conf_t *sc);
extern uint16_t server_conf_get_max_message_size(server_conf_t *sc);
+ extern uint8_t server_conf_assume_interface_local_subnet(server_conf_t *sc);
+ extern list_t *server_conf_get_local_subnets(server_conf_t *sc);
#endif /* DHCP_SERVER_CONF_H */
|
|
From: <act...@us...> - 2003-08-18 01:49:35
|
Update of /cvsroot/dhcp-agent/dhcp-agent/src
In directory sc8-pr-cvs1:/tmp/cvs-serv28588/src
Modified Files:
dhcp-librawnet.h dhcp-rawnet.c
Log Message:
rawnet now lets us get subnet mask from interface
Index: dhcp-librawnet.h
===================================================================
RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-librawnet.h,v
retrieving revision 1.24
retrieving revision 1.25
diff -C2 -d -r1.24 -r1.25
*** dhcp-librawnet.h 5 Aug 2003 05:00:38 -0000 1.24
--- dhcp-librawnet.h 18 Aug 2003 01:49:32 -0000 1.25
***************
*** 190,193 ****
--- 190,194 ----
eth_addr_t hw_addr; /* our hardware address. */
ip_addr_t ip_addr; /* our ip address. */
+ ip_addr_t subnet_mask; /* subnet mask. */
eth_addr_t *fake_hw_addr; /* our fake hardware address, if any. */
***************
*** 370,373 ****
--- 371,375 ----
/* rawnet routines. */
extern ip_addr_t rawnet_get_ip_addr(rawnet_t *net);
+ extern ip_addr_t rawnet_get_subnet_mask(rawnet_t *net);
extern int rawnet_port_for_service(const char *serv, const char *proto);
extern char *rawnet_network_address_to_string_static(uint32_t addr);
Index: dhcp-rawnet.c
===================================================================
RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-rawnet.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -d -r1.15 -r1.16
*** dhcp-rawnet.c 5 Aug 2003 04:53:19 -0000 1.15
--- dhcp-rawnet.c 18 Aug 2003 01:49:32 -0000 1.16
***************
*** 46,49 ****
--- 46,55 ----
}
+ /* get subnet mask. */
+ ip_addr_t rawnet_get_subnet_mask(rawnet_t *net)
+ {
+ return net->subnet_mask;
+ }
+
/* get a port for a service. */
int rawnet_port_for_service(const char *serv, const char *proto)
***************
*** 106,109 ****
--- 112,117 ----
eth_get(net->eth, &net->hw_addr);
interface_get_ip_addr(net->intf_handle, &net->ip_addr);
+ interface_get_subnet_mask(net->intf_handle, &net->subnet_mask);
+
net->mtu = interface_get_mtu(net->intf_handle);
xfree(net->packet_data);
***************
*** 122,125 ****
--- 130,135 ----
memset(&net->ip_addr, 0, IP_ADDR_LEN); /* clear our IP address -- this isn't very useful though. */
+ memset(&net->subnet_mask, 0, IP_ADDR_LEN);
+
return 0;
}
***************
*** 269,272 ****
--- 279,283 ----
eth_get(net->eth, &net->hw_addr);
interface_get_ip_addr(net->intf_handle, &net->ip_addr);
+ interface_get_subnet_mask(net->intf_handle, &net->subnet_mask);
net->mtu = interface_get_mtu(intf_handle);
|
|
From: <act...@us...> - 2003-08-18 01:49:09
|
Update of /cvsroot/dhcp-agent/dhcp-agent/src
In directory sc8-pr-cvs1:/tmp/cvs-serv28520/src
Modified Files:
dhcp-interface.c dhcp-interface.h
Log Message:
interface code now lets us get subnet mask
Index: dhcp-interface.c
===================================================================
RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-interface.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** dhcp-interface.c 25 Jul 2003 02:36:21 -0000 1.10
--- dhcp-interface.c 18 Aug 2003 01:49:06 -0000 1.11
***************
*** 157,161 ****
/* get ip address of an interface. */
! int interface_get_ip_addr(interface_control_t *ic, uint32_t *addr)
{
if(interface_get_info(ic)) {
--- 157,161 ----
/* get ip address of an interface. */
! int interface_get_ip_addr(interface_control_t *ic, ip_addr_t *addr)
{
if(interface_get_info(ic)) {
***************
*** 167,170 ****
--- 167,185 ----
memcpy(addr, &ic->interface_entry->intf_addr.addr_ip, IP_ADDR_LEN);
+ return 0;
+ }
+
+ int interface_get_subnet_mask(interface_control_t *ic, ip_addr_t *addr)
+ {
+ struct sockaddr_in sockaddr;
+
+ if(interface_get_info(ic)) {
+ ERROR_MESSAGE("could not get interface IP address %s : %s",
+ ic->interface_entry->intf_name, strerror(errno));
+ return -1;
+ }
+
+ addr_btos(ic->interface_entry->intf_addr.addr_bits, (struct sockaddr *)&sockaddr);
+ memcpy(addr, &sockaddr.sin_addr, IP_ADDR_LEN);
return 0;
}
Index: dhcp-interface.h
===================================================================
RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-interface.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** dhcp-interface.h 25 Jul 2003 02:36:21 -0000 1.6
--- dhcp-interface.h 18 Aug 2003 01:49:06 -0000 1.7
***************
*** 31,34 ****
--- 31,35 ----
extern int interface_down(interface_control_t *ic);
extern int interface_get_ip_addr(interface_control_t *ic, uint32_t *addr);
+ extern int interface_get_subnet_mask(interface_control_t *ic, ip_addr_t *addr);
extern list_t *interface_get_active_interfaces(void);
extern list_t *interface_get_inactive_interfaces(void);
|
|
From: <act...@us...> - 2003-08-18 01:49:04
|
Update of /cvsroot/dhcp-agent/dhcp-agent/src
In directory sc8-pr-cvs1:/tmp/cvs-serv28473/src
Modified Files:
dhcp-client-guile.c
Log Message:
moved guile_address_list_to_internal_list to utility code
Index: dhcp-client-guile.c
===================================================================
RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-client-guile.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -d -r1.12 -r1.13
*** dhcp-client-guile.c 5 Aug 2003 04:51:35 -0000 1.12
--- dhcp-client-guile.c 18 Aug 2003 01:48:51 -0000 1.13
***************
*** 49,82 ****
* * * * * * * * * * * * * * * * * * * * * * */
- static list_t *guile_address_list_to_internal_list(SCM scm_address_list)
- {
- char *address_string;
- int list_length, i;
- SCM scm_list_length;
- SCM scm_address_string;
- ip_addr_t *ip_address;
- list_t *address_list;
-
- SCM_ASSERT(SCM_CONSP(scm_address_list), scm_address_list,
- SCM_ARG1, "guile_address_list_to_internal_list");
-
- scm_list_length = scm_length(scm_address_list);
- list_length = scm_num2int(scm_list_length, SCM_ARG1, "guile_address_list_to_internal_list");
-
- address_list = list_create();
-
- for(i = 0;i < list_length;i++) {
- scm_address_string = scm_list_ref(scm_address_list, SCM_MAKINUM(i));
- address_string = x_scm_string2newstr(scm_address_string);
-
- ip_address = string_ip_to_ip_addr(address_string);
- list_add_to_end(address_list, ip_address);
- xfree(address_string);
-
- }
-
- return address_list;
- }
-
/* take a latency list: a list of integer latency values followed
* by an address, and convert it to a numeric value for integers,
--- 49,52 ----
|
|
From: <act...@us...> - 2003-08-18 01:48:20
|
Update of /cvsroot/dhcp-agent/dhcp-agent/src
In directory sc8-pr-cvs1:/tmp/cvs-serv28420/src
Modified Files:
dhcp-guile-util.h dhcp-guile-util.c
Log Message:
added utility code to transform address pair list to cons
Index: dhcp-guile-util.h
===================================================================
RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-guile-util.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** dhcp-guile-util.h 10 Aug 2003 01:21:33 -0000 1.2
--- dhcp-guile-util.h 18 Aug 2003 01:48:17 -0000 1.3
***************
*** 32,35 ****
--- 32,37 ----
extern list_t *x_scm_guile_string_list_to_list(SCM scm_list);
extern SCM x_scm_comma_delimited_string_to_scm_list(const char *string_val);
+ extern list_t *guile_address_list_to_internal_list(SCM scm_address_list);
+ extern SCM address_pair_list_to_guile_address_pair_list(list_t *address_list);
#endif /* DHCP_GUILE_UTIL_H */
Index: dhcp-guile-util.c
===================================================================
RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-guile-util.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** dhcp-guile-util.c 12 Aug 2003 12:06:17 -0000 1.3
--- dhcp-guile-util.c 18 Aug 2003 01:48:17 -0000 1.4
***************
*** 119,120 ****
--- 119,186 ----
return scm_string_list;
}
+
+ /* convert a list of address from the scheme environ to the native one. */
+ list_t *guile_address_list_to_internal_list(SCM scm_address_list)
+ {
+ char *address_string;
+ int list_length, i;
+ SCM scm_list_length;
+ SCM scm_address_string;
+ ip_addr_t *ip_address;
+ list_t *address_list;
+
+ SCM_ASSERT(SCM_CONSP(scm_address_list), scm_address_list,
+ SCM_ARG1, "guile_address_list_to_internal_list");
+
+ scm_list_length = scm_length(scm_address_list);
+ list_length = scm_num2int(scm_list_length, SCM_ARG1, "guile_address_list_to_internal_list");
+
+ address_list = list_create();
+
+ for(i = 0;i < list_length;i++) {
+ scm_address_string = scm_list_ref(scm_address_list, SCM_MAKINUM(i));
+ address_string = x_scm_string2newstr(scm_address_string);
+
+ ip_address = string_ip_to_ip_addr(address_string);
+ list_add_to_end(address_list, ip_address);
+ xfree(address_string);
+
+ }
+
+ return address_list;
+ }
+
+ /* turn a native address list to a guile address list. */
+ SCM address_list_to_guile_address_list(list_t *address_list)
+ {
+ SCM scm_address_list = SCM_EOL;
+ ip_addr_t *ip_addr;
+
+ list_rewind(address_list);
+ while((ip_addr = list_next(address_list)) != NULL) {
+
+ scm_address_list = scm_cons(SCM_MAKINUM(*ip_addr), scm_address_list);
+ }
+
+ return scm_reverse(scm_address_list);
+ }
+
+ /* turn a native address pair list to a guile address pair list. */
+ SCM address_pair_list_to_guile_address_pair_list(list_t *address_list)
+ {
+ SCM scm_address_list = SCM_EOL;
+ ip_addr_t *first_ip, *second_ip;
+
+ list_rewind(address_list);
+ while((first_ip = list_next(address_list)) != NULL) {
+
+ second_ip = list_next(address_list);
+ if(second_ip == NULL) {
+ FATAL_MESSAGE("passed uneven list as address pair");
+ }
+
+ scm_address_list = scm_cons(scm_cons(SCM_MAKINUM(*first_ip), SCM_MAKINUM(*second_ip)), scm_address_list);
+ }
+
+ return scm_reverse(scm_address_list);
+ }
|
|
From: <act...@us...> - 2003-08-17 00:58:40
|
Update of /cvsroot/dhcp-agent/dhcp-agent/src
In directory sc8-pr-cvs1:/tmp/cvs-serv26844/src
Modified Files:
dhcp-server-guile.c
Log Message:
hooked in new smobs into server guile bindings
Index: dhcp-server-guile.c
===================================================================
RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-server-guile.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** dhcp-server-guile.c 12 Aug 2003 12:07:25 -0000 1.6
--- dhcp-server-guile.c 17 Aug 2003 00:58:36 -0000 1.7
***************
*** 142,149 ****
init_server_control_smob();
! /* initialize lease smob. */
init_lease_smob();
!
! /* initialize client info smob. */
init_client_info_smob();
--- 142,150 ----
init_server_control_smob();
! /* initialize smobs. */
init_lease_smob();
! init_lease_def_smob();
! init_lease_constraint_smob();
! init_dhcp_opt_smob();
init_client_info_smob();
|
|
From: <act...@us...> - 2003-08-17 00:58:23
|
Update of /cvsroot/dhcp-agent/dhcp-agent/src
In directory sc8-pr-cvs1:/tmp/cvs-serv26790/src
Modified Files:
dhcp-option.c
Log Message:
fixed typo
Index: dhcp-option.c
===================================================================
RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-option.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** dhcp-option.c 10 Aug 2003 01:23:11 -0000 1.8
--- dhcp-option.c 17 Aug 2003 00:58:20 -0000 1.9
***************
*** 43,47 ****
dhcp_opt_attr_t dhcp_opt_attr[] = {
! /* Pad: we never actually handle this here. so sit all handlers to NULL. */
{ TAG_DHCP_PAD,
sizeof(uint8_t),
--- 43,47 ----
dhcp_opt_attr_t dhcp_opt_attr[] = {
! /* Pad: we never actually handle this here. so set all handlers to NULL. */
{ TAG_DHCP_PAD,
sizeof(uint8_t),
|