Index: head/emulators/dynamips-devel/Makefile =================================================================== --- head/emulators/dynamips-devel/Makefile (revision 199797) +++ head/emulators/dynamips-devel/Makefile (revision 199798) @@ -1,69 +1,71 @@ # New ports collection makefile for: dynamips # Date created: 21 Mar 2007 # Whom: Pavel Volkov # # $FreeBSD$ # PORTNAME= dynamips -DISTVERSION= 0.2.7-RC3 +DISTVERSION= 0.2.8-RC1 CATEGORIES= emulators MASTER_SITES= http://www.ipflow.utc.fr/dynamips/ PKGNAMESUFFIX= -devel MAINTAINER= pol@opk.ru COMMENT= Cisco 3600/7200 Simulator LIB_DEPENDS= elf.0:${PORTSDIR}/devel/libelf + +CONFLICTS= dynamips-[0-9]* USE_GMAKE= yes USE_GCC= 3.2+ USE_GETOPT_LONG=yes ALL_TARGET= ${PORTNAME} nvram_export MAKE_ENV= DYNAMIPS_ARCH=${DYNAMIPS_ARCH}\ PTHREAD_CFLAGS=${PTHREAD_CFLAGS}\ PTHREAD_LIBS=${PTHREAD_LIBS}\ LDFLAGS="${LDFLAGS}" PLIST_FILES= bin/${PORTNAME} bin/nvram_export .if !defined(NOPORTDOCS) PORTDOCS= README README.hypervisor .endif .if !defined(NO_INSTALL_MANPAGES) MAN1= ${PORTNAME}.1 nvram_export.1 MAN7= hypervisor_mode.7 .endif .include .if ${ARCH} == "i386" DYNAMIPS_ARCH= "x86" .elif ${ARCH} == "amd64" DYNAMIPS_ARCH= "amd64" .else DYNAMIPS_ARCH= "nojit" .endif .if ${OSVERSION} < 602100 || ${OSVERSION} < 700021 BUILD_DEPENDS+= libpcap>=0.9.4:${PORTSDIR}/net/libpcap .endif .if ${OSVERSION} >= 700013 MAKE_ENV+= HAS_POSIX_MEMALIGN=1 .endif do-install: ${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${PREFIX}/bin ${INSTALL_PROGRAM} ${WRKSRC}/nvram_export ${PREFIX}/bin .if !defined(NOPORTDOCS) ${MKDIR} ${DOCSDIR} ${INSTALL_DATA} ${WRKSRC}/README ${DOCSDIR} ${INSTALL_DATA} ${WRKSRC}/README.hypervisor ${DOCSDIR} .endif .if !defined(NO_INSTALL_MANPAGES) ${INSTALL_MAN} ${WRKSRC}/${PORTNAME}.1 ${PREFIX}/man/man1 ${INSTALL_MAN} ${WRKSRC}/nvram_export.1 ${PREFIX}/man/man1 ${INSTALL_MAN} ${WRKSRC}/hypervisor_mode.7 ${PREFIX}/man/man7 .endif .include Property changes on: head/emulators/dynamips-devel/Makefile ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.17 \ No newline at end of property +1.18 \ No newline at end of property Index: head/emulators/dynamips-devel/distinfo =================================================================== --- head/emulators/dynamips-devel/distinfo (revision 199797) +++ head/emulators/dynamips-devel/distinfo (revision 199798) @@ -1,3 +1,3 @@ -MD5 (dynamips-0.2.7-RC3.tar.gz) = 9d1d5ab929fda30ea3b4b8d9284edc70 -SHA256 (dynamips-0.2.7-RC3.tar.gz) = cd1d23fa0122bcec70a4028ce60ae100fbe3d7a599f1bbb1f30f34faa35546c1 -SIZE (dynamips-0.2.7-RC3.tar.gz) = 522645 +MD5 (dynamips-0.2.8-RC1.tar.gz) = 39d08f2d20cdd78ef05c50ae86c4b522 +SHA256 (dynamips-0.2.8-RC1.tar.gz) = 266cd3fe12f643f8c6aaf59ec8b99b20d6fb53ed8032c1984477065ca97ee994 +SIZE (dynamips-0.2.8-RC1.tar.gz) = 569599 Property changes on: head/emulators/dynamips-devel/distinfo ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.7 \ No newline at end of property +1.8 \ No newline at end of property Index: head/emulators/dynamips-devel/files/patch-README.hypervisor =================================================================== --- head/emulators/dynamips-devel/files/patch-README.hypervisor (revision 199797) +++ head/emulators/dynamips-devel/files/patch-README.hypervisor (nonexistent) @@ -1,11 +0,0 @@ ---- README.hypervisor.orig Wed Mar 21 10:00:28 2007 -+++ README.hypervisor Wed Mar 21 10:01:22 2007 -@@ -8,7 +8,7 @@ - Running dynamips in hypervisor mode - =================================== - --dynamips -H -+dynamips -H [ip_address:] - - Managing the hypervisor - ======================= Property changes on: head/emulators/dynamips-devel/files/patch-README.hypervisor ___________________________________________________________________ Deleted: cvs2svn:cvs-rev ## -1 +0,0 ## -1.1 \ No newline at end of property Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Index: head/emulators/dynamips-devel/files/patch-hypervisor.c =================================================================== --- head/emulators/dynamips-devel/files/patch-hypervisor.c (revision 199797) +++ head/emulators/dynamips-devel/files/patch-hypervisor.c (nonexistent) @@ -1,20 +0,0 @@ ---- hypervisor.c.orig Wed Mar 21 11:11:12 2007 -+++ hypervisor.c Wed Mar 21 11:29:55 2007 -@@ -535,7 +535,7 @@ - } - - /* Hypervisor TCP server */ --int hypervisor_tcp_server(int tcp_port) -+int hypervisor_tcp_server(char* ip_address,int tcp_port) - { - int fd_array[HYPERVISOR_MAX_FD]; - struct sockaddr_storage remote_addr; -@@ -565,7 +565,7 @@ - if (!tcp_port) - tcp_port = HYPERVISOR_TCP_PORT; - -- fd_count = ip_listen(tcp_port,SOCK_STREAM,HYPERVISOR_MAX_FD,fd_array); -+ fd_count = ip_listen(ip_address,tcp_port,SOCK_STREAM,HYPERVISOR_MAX_FD,fd_array); - - if (fd_count <= 0) { - fprintf(stderr,"Hypervisor: unable to create TCP sockets.\n"); Property changes on: head/emulators/dynamips-devel/files/patch-hypervisor.c ___________________________________________________________________ Deleted: cvs2svn:cvs-rev ## -1 +0,0 ## -1.1 \ No newline at end of property Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Index: head/emulators/dynamips-devel/files/patch-utils.c =================================================================== --- head/emulators/dynamips-devel/files/patch-utils.c (revision 199797) +++ head/emulators/dynamips-devel/files/patch-utils.c (nonexistent) @@ -1,11 +0,0 @@ ---- utils.c.orig Wed Mar 8 22:53:21 2006 -+++ utils.c Wed Mar 8 22:53:37 2006 -@@ -187,7 +187,7 @@ - { - void *p; - --#ifdef __linux__ -+#if defined(__linux__) || HAS_POSIX_MEMALIGN - if (posix_memalign((void *)&p,boundary,size)) - #else - #ifdef __CYGWIN__ Property changes on: head/emulators/dynamips-devel/files/patch-utils.c ___________________________________________________________________ Deleted: cvs2svn:cvs-rev ## -1 +0,0 ## -1.1 \ No newline at end of property Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Index: head/emulators/dynamips-devel/files/patch-net.h =================================================================== --- head/emulators/dynamips-devel/files/patch-net.h (revision 199797) +++ head/emulators/dynamips-devel/files/patch-net.h (nonexistent) @@ -1,10 +0,0 @@ ---- net.h.orig Wed Mar 21 11:32:05 2007 -+++ net.h Wed Mar 21 11:33:28 2007 -@@ -218,6 +218,6 @@ - int udp_connect(int local_port,char *remote_host,int remote_port); - - /* Listen on the specified port */ --int ip_listen(int port,int sock_type,int max_fd,int fd_array[]); -+int ip_listen(char *ip_address,int port,int sock_type,int max_fd,int fd_array[]); - - #endif Property changes on: head/emulators/dynamips-devel/files/patch-net.h ___________________________________________________________________ Deleted: cvs2svn:cvs-rev ## -1 +0,0 ## -1.1 \ No newline at end of property Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Index: head/emulators/dynamips-devel/files/patch-hypervisor.h =================================================================== --- head/emulators/dynamips-devel/files/patch-hypervisor.h (revision 199797) +++ head/emulators/dynamips-devel/files/patch-hypervisor.h (nonexistent) @@ -1,10 +0,0 @@ ---- hypervisor.h.orig Wed Mar 21 10:58:06 2007 -+++ hypervisor.h Wed Mar 21 11:09:40 2007 -@@ -136,6 +136,6 @@ - int hypervisor_stopsig(void); - - /* Hypervisor TCP server */ --int hypervisor_tcp_server(int tcp_port); -+int hypervisor_tcp_server(char *ip_address,int tcp_port); - - #endif Property changes on: head/emulators/dynamips-devel/files/patch-hypervisor.h ___________________________________________________________________ Deleted: cvs2svn:cvs-rev ## -1 +0,0 ## -1.1 \ No newline at end of property Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Index: head/emulators/dynamips-devel/files/patch-utils.h =================================================================== --- head/emulators/dynamips-devel/files/patch-utils.h (revision 199797) +++ head/emulators/dynamips-devel/files/patch-utils.h (nonexistent) @@ -1,20 +0,0 @@ ---- utils.h.orig Wed Feb 14 20:37:58 2007 -+++ utils.h Tue Feb 20 18:56:54 2007 -@@ -12,6 +12,8 @@ - #include - #include - #include -+#include -+#include - - /* True/False definitions */ - #ifndef FALSE -@@ -35,6 +37,8 @@ - #elif defined(__i386) || defined(__i386__) || defined(i386) - #define ARCH_BYTE_ORDER ARCH_LITTLE_ENDIAN - #elif defined(__x86_64__) -+#define ARCH_BYTE_ORDER ARCH_LITTLE_ENDIAN -+#elif defined(__ia64__) - #define ARCH_BYTE_ORDER ARCH_LITTLE_ENDIAN - #endif - Property changes on: head/emulators/dynamips-devel/files/patch-utils.h ___________________________________________________________________ Deleted: cvs2svn:cvs-rev ## -1 +0,0 ## -1.2 \ No newline at end of property Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Index: head/emulators/dynamips-devel/files/patch-net.c =================================================================== --- head/emulators/dynamips-devel/files/patch-net.c (revision 199797) +++ head/emulators/dynamips-devel/files/patch-net.c (nonexistent) @@ -1,38 +0,0 @@ ---- net.c.orig Wed Mar 21 11:34:17 2007 -+++ net.c Wed Mar 21 11:55:29 2007 -@@ -353,7 +353,7 @@ - - #if HAS_RFC2553 - /* Listen on the specified port */ --int ip_listen(int port,int sock_type,int max_fd,int fd_array[]) -+int ip_listen(char *ip_address,int port,int sock_type,int max_fd,int fd_array[]) - { - struct addrinfo hints,*res,*res0; - char port_str[20]; -@@ -370,7 +370,7 @@ - - snprintf(port_str,sizeof(port_str),"%d",port); - -- if ((error = getaddrinfo(NULL,port_str,&hints,&res0)) != 0) { -+ if ((error = getaddrinfo((strlen(ip_address)==0)?NULL:ip_address,port_str,&hints,&res0)) != 0) { - fprintf(stderr,"ip_listen: %s", gai_strerror(error)); - return(-1); - } -@@ -405,7 +405,7 @@ - } - #else - /* Listen on the specified port */ --int ip_listen(int port,int sock_type,int max_fd,int fd_array[]) -+int ip_listen(char *ip_address,int port,int sock_type,int max_fd,int fd_array[]) - { - struct sockaddr_in sin; - int i,sck,reuse=1; -@@ -422,6 +422,8 @@ - memset(&sin,0,sizeof(sin)); - sin.sin_family = PF_INET; - sin.sin_port = htons(port); -+ if (strlen(ip_address) != 0 && inet_addr(ip_address) != INADDR_NONE) -+ sin.sin_addr = inet_addr(ip_address); - - setsockopt(fd_array[0],SOL_SOCKET,SO_REUSEADDR,&reuse,sizeof(reuse)); - Property changes on: head/emulators/dynamips-devel/files/patch-net.c ___________________________________________________________________ Deleted: cvs2svn:cvs-rev ## -1 +0,0 ## -1.1 \ No newline at end of property Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Index: head/emulators/dynamips-devel/files/patch-Makefile =================================================================== --- head/emulators/dynamips-devel/files/patch-Makefile (revision 199797) +++ head/emulators/dynamips-devel/files/patch-Makefile (revision 199798) @@ -1,35 +1,11 @@ ---- Makefile.orig Thu Feb 8 15:23:36 2007 -+++ Makefile Thu Feb 8 15:34:39 2007 -@@ -12,6 +12,9 @@ - # (WinPcap is used for Cygwin) - HAS_PCAP?=1 - -+# Change this to 1 if your system has posix_memalign -+HAS_POSIX_MEMALIGN?=0 -+ - # Current dynamips release - VERSION_TRAIN=0.2.6 - VERSION_SUB=-RC5 -@@ -34,16 +37,17 @@ - -DJIT_ARCH=\"$(DYNAMIPS_ARCH)\" \ - -DARCH_INC_FILE=$(ARCH_INC_FILE) -DDYNAMIPS_VERSION=\"$(VERSION)\" \ - -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE \ -- -DHAS_RFC2553=$(HAS_RFC2553) -+ -DHAS_RFC2553=$(HAS_RFC2553) -DHAS_POSIX_MEMALIGN=$(HAS_POSIX_MEMALIGN) - --PCAP_LIB=/usr/local/lib/libpcap.a --#PCAP_LIB=-lpcap -+#PCAP_LIB=/usr/local/lib/libpcap.a -+PCAP_LIB=-lpcap - - ifeq ($(shell uname), FreeBSD) - PTHREAD_LIBS?=-pthread -- CFLAGS+=-I/usr/local/include -I/usr/local/include/libelf $(PTHREAD_CFLAGS) \ -+ LOCALBASE?=/usr/local -+ CFLAGS+=-I$(LOCALBASE)/include -I$(LOCALBASE)/include/libelf $(PTHREAD_CFLAGS) \ - -D_FILE_OFFSET_BITS=64 -- LIBS=-L/usr/local/lib -L. -lelf $(PTHREAD_LIBS) +--- Makefile.orig Thu Sep 13 19:55:14 2007 ++++ Makefile Thu Sep 13 19:55:30 2007 +@@ -52,7 +52,7 @@ + LOCALBASE?=/usr/local + CFLAGS+=-I$(LOCALBASE)/include -I$(LOCALBASE)/include/libelf \ + $(PTHREAD_CFLAGS) -D_FILE_OFFSET_BITS=64 +- LIBS=-L$(LOCALBASE)/lib -L. -ldl -lelf $(PTHREAD_LIBS) $(LDFLAGS) + LIBS=-L$(LOCALBASE)/lib -L. -lelf $(PTHREAD_LIBS) $(LDFLAGS) else ifeq ($(shell uname), Linux) PTHREAD_LIBS?=-lpthread Property changes on: head/emulators/dynamips-devel/files/patch-Makefile ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.8 \ No newline at end of property +1.9 \ No newline at end of property Index: head/emulators/dynamips-devel/files/patch-README =================================================================== --- head/emulators/dynamips-devel/files/patch-README (revision 199797) +++ head/emulators/dynamips-devel/files/patch-README (revision 199798) @@ -1,11 +1,16 @@ ---- README.orig Fri Apr 6 20:53:59 2007 -+++ README Fri Apr 6 20:57:02 2007 -@@ -50,7 +50,7 @@ +--- README.orig Wed Sep 12 14:35:13 2007 ++++ README Thu Sep 13 19:47:58 2007 +@@ -52,11 +52,12 @@ -R : Load an alternate ROM (default: embedded) -k : Set the clock divisor (default: 4) - -T : Console is on TCP + -T [ip_address:] : Console is on TCP -U : Console in on serial interface (default is on the terminal) + + -A : AUX is on TCP ++ (AUX binding IP == Console binding IP) + -B : AUX is on serial interface + (default is no AUX port) Property changes on: head/emulators/dynamips-devel/files/patch-README ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.1 \ No newline at end of property +1.2 \ No newline at end of property Index: head/emulators/dynamips-devel/files/patch-dev_vtty.c =================================================================== --- head/emulators/dynamips-devel/files/patch-dev_vtty.c (revision 199797) +++ head/emulators/dynamips-devel/files/patch-dev_vtty.c (revision 199798) @@ -1,33 +1,30 @@ ---- dev_vtty.c.orig Fri Apr 6 16:44:07 2007 -+++ dev_vtty.c Fri Apr 6 19:43:37 2007 +--- dev_vtty.c.orig Fri Sep 7 12:03:11 2007 ++++ dev_vtty.c Fri Sep 14 10:24:02 2007 @@ -24,6 +24,8 @@ #include #include #include +#include +#include #include @@ -43,6 +45,8 @@ #include "dev_c2600.h" #include "dev_vtty.h" -+extern char hypervisor_ip_address[]; ++extern char *hypervisor_ip_address; + /* VTTY list */ static pthread_mutex_t vtty_list_mutex = PTHREAD_MUTEX_INITIALIZER; static vtty_t *vtty_list = NULL; -@@ -132,7 +136,11 @@ +@@ -132,7 +136,8 @@ memset(&serv,0,sizeof(serv)); serv.sin_family = AF_INET; - serv.sin_addr.s_addr = htonl(INADDR_ANY); -+ if (strlen(hypervisor_ip_address) != 0 && -+ inet_addr(hypervisor_ip_address) != INADDR_NONE) -+ serv.sin_addr.s_addr = inet_addr(hypervisor_ip_address); -+ else -+ serv.sin_addr.s_addr = htonl(INADDR_ANY); ++ if (hypervisor_ip_address && strlen(hypervisor_ip_address)) ++ serv.sin_addr.s_addr = inet_addr(hypervisor_ip_address); serv.sin_port = htons(vtty->tcp_port); if (bind(vtty->accept_fd,(struct sockaddr *)&serv,sizeof(serv)) < 0) { Property changes on: head/emulators/dynamips-devel/files/patch-dev_vtty.c ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.1 \ No newline at end of property +1.2 \ No newline at end of property Index: head/emulators/dynamips-devel/files/patch-dynamips.1 =================================================================== --- head/emulators/dynamips-devel/files/patch-dynamips.1 (revision 199797) +++ head/emulators/dynamips-devel/files/patch-dynamips.1 (revision 199798) @@ -1,20 +1,28 @@ ---- dynamips.1.orig Wed Feb 14 20:37:58 2007 -+++ dynamips.1 Fri Apr 6 20:59:41 2007 +--- dynamips.1.orig Thu Sep 13 18:45:02 2007 ++++ dynamips.1 Thu Sep 13 19:45:49 2007 @@ -44,7 +44,7 @@ .SH OPTIONS A summary of options is included below. .TP -.B -H -+.B -H [ip_address:] ++.B -H [:] Enable hypervisor mode. .br The hypervisor mode of dynamips allows you to run simultaneously @@ -133,7 +133,7 @@ The command "show clock" at the IOS' CLI will help you set this value. .TP -.B -T -+.B -T [ip_address:] ++.B -T [:] Console is on TCP .TP .B -U +@@ -141,6 +141,7 @@ + .TP + .B -A + AUX is on TCP ++AUX binding IP == Console binding IP + .TP + .B -B + AUX is on serial interface (default is no AUX port) Property changes on: head/emulators/dynamips-devel/files/patch-dynamips.1 ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.2 \ No newline at end of property +1.3 \ No newline at end of property Index: head/emulators/dynamips-devel/files/patch-dynamips.c =================================================================== --- head/emulators/dynamips-devel/files/patch-dynamips.c (revision 199797) +++ head/emulators/dynamips-devel/files/patch-dynamips.c (revision 199798) @@ -1,87 +1,56 @@ ---- dynamips.c.orig Wed Feb 14 20:37:58 2007 -+++ dynamips.c Fri Apr 6 21:11:38 2007 -@@ -61,6 +61,7 @@ - /* Hypervisor */ - int hypervisor_mode = 0; - int hypervisor_tcp_port = 0; -+char hypervisor_ip_address[263]="\000"; /* 256(MAXHOSTNAMELEN)+1(:)+5(port)+NULL */ - - /* Log file */ - char *log_file_name = NULL; -@@ -227,7 +228,7 @@ - printf("Usage: %s [options] \n\n",argv[0]); - - printf("Available options:\n" -- " -H : Run in hypervisor mode\n\n" -+ " -H [ip_address:] : Run in hypervisor mode\n\n" - " -P : Platform to emulate (7200, 3600, " - "2691, 3725 or 3745) " - "(default: 7200)\n\n" -@@ -254,7 +255,7 @@ +--- dynamips.c.orig Fri Sep 7 12:03:11 2007 ++++ dynamips.c Fri Sep 14 10:18:10 2007 +@@ -193,7 +193,7 @@ " -R : Load an alternate ROM (default: embedded)\n" " -k : Set the clock divisor (default: %d)\n" "\n" - " -T : Console is on TCP \n" -+ " -T [ip_address:] : Console is on TCP \n" ++ " -T [:] : Console is on TCP \n" " -U : Console in on serial interface \n" " (default is on the terminal)\n" "\n" -@@ -780,6 +781,7 @@ +@@ -374,6 +374,8 @@ int instance_id; - int res,option; + int option; char *str; + char *index; ++ size_t len; /* Get the instance ID */ instance_id = 0; -@@ -944,7 +946,15 @@ +@@ -541,7 +543,25 @@ /* TCP server for Console Port */ case 'T': vm->vtty_con_type = VTTY_TYPE_TCP; - vm->vtty_con_tcp_port = atoi(optarg); -+ strncpy(hypervisor_ip_address,optarg,sizeof(hypervisor_ip_address)); -+ index=strrchr(hypervisor_ip_address,':'); -+ if (index != NULL) { -+ *index++='\000'; -+ vm->vtty_con_tcp_port = atoi(index); -+ } else { -+ vm->vtty_con_tcp_port = atoi(hypervisor_ip_address); -+ hypervisor_ip_address[0]='\000'; -+ } ++ ++ index = strrchr(optarg,':'); ++ ++ if (!index) { ++ vm->vtty_con_tcp_port = atoi(optarg); ++ } else { ++ len = index - optarg; ++ hypervisor_ip_address = malloc(len + 1); ++ ++ if (!hypervisor_ip_address) { ++ fprintf(stderr,"Unable to set console IP address!\n"); ++ exit(EXIT_FAILURE); ++ } ++ ++ memcpy(hypervisor_ip_address,optarg,len); ++ hypervisor_ip_address[len] = '\0'; ++ ++ vm->vtty_con_tcp_port = atoi(++index); ++ } break; /* Serial interface for Console port */ -@@ -1061,6 +1071,7 @@ - static int run_hypervisor(int argc,char *argv[]) - { - char *options_list = "H:l:hN:"; -+ char *index; - int i,option; +@@ -687,6 +707,8 @@ - for(i=1;i