From 10c6cc0a36f5628a4381cf696810b152aff252b7 Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Thu, 9 Aug 2007 07:14:56 +0000 Subject: [PATCH] removed Makefile from svn support for scenario switching --- src/dumm/Makefile | 532 ---------------------------------------------- src/dumm/cowfs.c | 19 +- src/dumm/cowfs.h | 4 +- src/dumm/dumm.c | 50 +++-- src/dumm/guest.c | 8 +- src/dumm/main.c | 28 ++- 6 files changed, 81 insertions(+), 560 deletions(-) delete mode 100644 src/dumm/Makefile diff --git a/src/dumm/Makefile b/src/dumm/Makefile deleted file mode 100644 index 7933ab1ec..000000000 --- a/src/dumm/Makefile +++ /dev/null @@ -1,532 +0,0 @@ -# Makefile.in generated by automake 1.10 from Makefile.am. -# src/dumm/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - - - -pkgdatadir = $(datadir)/strongswan -pkglibdir = $(libdir)/strongswan -pkgincludedir = $(includedir)/strongswan -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = i686-pc-linux-gnu -host_triplet = i686-pc-linux-gnu -ipsec_PROGRAMS = dumm$(EXEEXT) -subdir = src/dumm -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.in -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; -am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(ipsecdir)" -libLTLIBRARIES_INSTALL = $(INSTALL) -LTLIBRARIES = $(lib_LTLIBRARIES) -libdumm_la_DEPENDENCIES = -am_libdumm_la_OBJECTS = dumm.lo guest.lo iface.lo bridge.lo \ - mconsole.lo cowfs.lo -libdumm_la_OBJECTS = $(am_libdumm_la_OBJECTS) -ipsecPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -PROGRAMS = $(ipsec_PROGRAMS) -am_dumm_OBJECTS = main.$(OBJEXT) -dumm_OBJECTS = $(am_dumm_OBJECTS) -dumm_DEPENDENCIES = -DEFAULT_INCLUDES = -I. -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -SOURCES = $(libdumm_la_SOURCES) $(dumm_SOURCES) -DIST_SOURCES = $(libdumm_la_SOURCES) $(dumm_SOURCES) -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} /home/martin/strongswan/trunk/missing --run aclocal-1.10 -AMTAR = ${SHELL} /home/martin/strongswan/trunk/missing --run tar -AR = ar -AUTOCONF = ${SHELL} /home/martin/strongswan/trunk/missing --run autoconf -AUTOHEADER = ${SHELL} /home/martin/strongswan/trunk/missing --run autoheader -AUTOMAKE = ${SHELL} /home/martin/strongswan/trunk/missing --run automake-1.10 -AWK = mawk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -Wall -Wno-format -Wno-pointer-sign -Wno-strict-aliasing -g -O2 -CPP = gcc -E -CPPFLAGS = -CXX = g++ -CXXCPP = g++ -E -CXXDEPMODE = depmode=gcc3 -CXXFLAGS = -g -O2 -CYGPATH_W = echo -DEFS = -DPACKAGE_NAME=\"strongSwan\" -DPACKAGE_TARNAME=\"strongswan\" -DPACKAGE_VERSION=\"4.1.5\" -DPACKAGE_STRING=\"strongSwan\ 4.1.5\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"strongswan\" -DVERSION=\"4.1.5\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DPKCS11_DEFAULT_LIB=\"/usr/lib/opensc-pkcs11.so\" -DDEV_RANDOM=\"/dev/urandom\" -DRESOLV_CONF=\"/etc/resolv.conf\" -DDEV_URANDOM=\"/dev/urandom\" -DIPSEC_UID=0 -DIPSEC_GID=0 -DHAVE_DLFCN_H=1 -DYYTEXT_POINTER=1 -DHAVE_BACKTRACE=1 -DHAVE_GETIFADDRS=1 -DNO_CAPSET_DEFINED=1 -DEPDIR = .deps -ECHO = echo -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /bin/grep -E -EXEEXT = -F77 = -FFLAGS = -GPERF = /usr/bin/gperf -GREP = /bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -LDFLAGS = -LEX = flex -LEXLIB = -lfl -LEX_OUTPUT_ROOT = lex.yy -LIBOBJS = -LIBS = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LINUX_HEADERS = -LN_S = ln -s -LTLIBOBJS = -MAKEINFO = ${SHELL} /home/martin/strongswan/trunk/missing --run makeinfo -MKDIR_P = /bin/mkdir -p -OBJEXT = o -PACKAGE = strongswan -PACKAGE_BUGREPORT = -PACKAGE_NAME = strongSwan -PACKAGE_STRING = strongSwan 4.1.5 -PACKAGE_TARNAME = strongswan -PACKAGE_VERSION = 4.1.5 -PATH_SEPARATOR = : -PERL = /usr/bin/perl -PKG_CONFIG = -RANLIB = ranlib -SET_MAKE = -SHELL = /bin/bash -STRIP = strip -VERSION = 4.1.5 -YACC = bison -y -YFLAGS = -abs_builddir = /home/martin/strongswan/trunk/src/dumm -abs_srcdir = /home/martin/strongswan/trunk/src/dumm -abs_top_builddir = /home/martin/strongswan/trunk -abs_top_srcdir = /home/martin/strongswan/trunk -ac_ct_CC = gcc -ac_ct_CXX = g++ -ac_ct_F77 = -am__include = include -am__leading_dot = . -am__quote = -am__tar = tar --format=ustar -chf - "$$tardir" -am__untar = tar -xf - -backenddir = ${exec_prefix}/libexec/ipsec/plugins/backends -bindir = ${exec_prefix}/bin -build = i686-pc-linux-gnu -build_alias = -build_cpu = i686 -build_os = linux-gnu -build_vendor = pc -builddir = . -confdir = ${sysconfdir} -datadir = ${datarootdir} -datarootdir = ${prefix}/share -dbus_CFLAGS = -dbus_LIBS = -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -eapdir = ${exec_prefix}/libexec/ipsec/plugins/eap -exec_prefix = ${prefix} -host = i686-pc-linux-gnu -host_alias = -host_cpu = i686 -host_os = linux-gnu -host_vendor = pc -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = $(SHELL) /home/martin/strongswan/trunk/install-sh -interfacedir = ${exec_prefix}/libexec/ipsec/plugins/interfaces -ipsecdir = ${exec_prefix}/libexec/ipsec -ipsecgid = 0 -ipsecuid = 0 -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -linuxdir = ../include -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = /bin/mkdir -p -oldincludedir = /usr/include -pdfdir = ${docdir} -piddir = /var/run -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = . -sysconfdir = /etc -target_alias = -top_builddir = ../.. -top_srcdir = ../.. -xml_CFLAGS = -xml_LIBS = -lib_LTLIBRARIES = libdumm.la -libdumm_la_SOURCES = dumm.c dumm.h guest.c guest.h iface.c iface.h bridge.c bridge.h mconsole.c mconsole.h cowfs.h cowfs.c -dumm_SOURCES = main.c -libdumm_la_LIBADD = -lstrongswan -lpthread -lbridge -lfuse -dumm_LDADD = -ldumm -lreadline -INCLUDES = -I$(top_srcdir)/src/libstrongswan -AM_CFLAGS = -D_FILE_OFFSET_BITS=64 -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/dumm/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu src/dumm/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -install-libLTLIBRARIES: $(lib_LTLIBRARIES) - @$(NORMAL_INSTALL) - test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" - @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ - if test -f $$p; then \ - f=$(am__strip_dir) \ - echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ - $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ - else :; fi; \ - done - -uninstall-libLTLIBRARIES: - @$(NORMAL_UNINSTALL) - @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ - p=$(am__strip_dir) \ - echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ - $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ - done - -clean-libLTLIBRARIES: - -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) - @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ - dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ - test "$$dir" != "$$p" || dir=.; \ - echo "rm -f \"$${dir}/so_locations\""; \ - rm -f "$${dir}/so_locations"; \ - done -libdumm.la: $(libdumm_la_OBJECTS) $(libdumm_la_DEPENDENCIES) - $(LINK) -rpath $(libdir) $(libdumm_la_OBJECTS) $(libdumm_la_LIBADD) $(LIBS) -install-ipsecPROGRAMS: $(ipsec_PROGRAMS) - @$(NORMAL_INSTALL) - test -z "$(ipsecdir)" || $(MKDIR_P) "$(DESTDIR)$(ipsecdir)" - @list='$(ipsec_PROGRAMS)'; for p in $$list; do \ - p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - if test -f $$p \ - || test -f $$p1 \ - ; then \ - f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(ipsecPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(ipsecdir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(ipsecPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(ipsecdir)/$$f" || exit 1; \ - else :; fi; \ - done - -uninstall-ipsecPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(ipsec_PROGRAMS)'; for p in $$list; do \ - f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " rm -f '$(DESTDIR)$(ipsecdir)/$$f'"; \ - rm -f "$(DESTDIR)$(ipsecdir)/$$f"; \ - done - -clean-ipsecPROGRAMS: - @list='$(ipsec_PROGRAMS)'; for p in $$list; do \ - f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f $$p $$f"; \ - rm -f $$p $$f ; \ - done -dumm$(EXEEXT): $(dumm_OBJECTS) $(dumm_DEPENDENCIES) - @rm -f dumm$(EXEEXT) - $(LINK) $(dumm_OBJECTS) $(dumm_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -include ./$(DEPDIR)/bridge.Plo -include ./$(DEPDIR)/cowfs.Plo -include ./$(DEPDIR)/dumm.Plo -include ./$(DEPDIR)/guest.Plo -include ./$(DEPDIR)/iface.Plo -include ./$(DEPDIR)/main.Po -include ./$(DEPDIR)/mconsole.Plo - -.c.o: - $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< - mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -# source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(COMPILE) -c $< - -.c.obj: - $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` - mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -# source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(COMPILE) -c `$(CYGPATH_W) '$<'` - -.c.lo: - $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< - mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -# source='$<' object='$@' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) -installdirs: - for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(ipsecdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-ipsecPROGRAMS clean-libLTLIBRARIES \ - clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: install-ipsecPROGRAMS - -install-dvi: install-dvi-am - -install-exec-am: install-libLTLIBRARIES - -install-html: install-html-am - -install-info: install-info-am - -install-man: - -install-pdf: install-pdf-am - -install-ps: install-ps-am - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-ipsecPROGRAMS uninstall-libLTLIBRARIES - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-ipsecPROGRAMS clean-libLTLIBRARIES clean-libtool ctags \ - distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-ipsecPROGRAMS install-libLTLIBRARIES \ - install-man install-pdf install-pdf-am install-ps \ - install-ps-am install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ - uninstall-am uninstall-ipsecPROGRAMS uninstall-libLTLIBRARIES - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/src/dumm/cowfs.c b/src/dumm/cowfs.c index 941211c6c..2c5dd380b 100644 --- a/src/dumm/cowfs.c +++ b/src/dumm/cowfs.c @@ -795,18 +795,29 @@ static struct fuse_operations cowfs_operations = { /** * Implementation of cowfs_t.set_scenario. */ -static void set_scenario(private_cowfs_t *this, char *path) +static bool set_scenario(private_cowfs_t *this, char *path) { if (this->scen) { free(this->scen); + this->scen = NULL; } if (this->scen_fd > 0) { close(this->scen_fd); + this->scen_fd = -1; } - this->scen = strdup(path); - this->scen_fd = open(path, O_RDONLY | O_DIRECTORY); + if (path) + { + this->scen_fd = open(path, O_RDONLY | O_DIRECTORY); + if (this->scen_fd < 0) + { + DBG1("failed to open scenario overlay directory '%s': %m", path); + return FALSE; + } + this->scen = strdup(path); + } + return TRUE; } /** @@ -839,7 +850,7 @@ cowfs_t *cowfs_create(char *master, char *host, char *mount) struct fuse_args args = {0, NULL, 0}; private_cowfs_t *this = malloc_thing(private_cowfs_t); - this->public.set_scenario = (void(*)(cowfs_t*, char *path))set_scenario; + this->public.set_scenario = (bool(*)(cowfs_t*, char *path))set_scenario; this->public.destroy = (void(*)(cowfs_t*))destroy; this->master_fd = open(master, O_RDONLY | O_DIRECTORY); diff --git a/src/dumm/cowfs.h b/src/dumm/cowfs.h index 2b6b5f8bb..fb1fc35a7 100644 --- a/src/dumm/cowfs.h +++ b/src/dumm/cowfs.h @@ -16,6 +16,7 @@ #ifndef COWFS_H #define COWFS_H +#include typedef struct cowfs_t cowfs_t; @@ -29,8 +30,9 @@ struct cowfs_t { * @brief Set the scenario copy on write overlay. * * @param path path of the overlay + * @return FALSE if failed */ - void (*set_scenario)(cowfs_t *this, char *path); + bool (*set_scenario)(cowfs_t *this, char *path); /** * @brief Stop, umount and destroy a cowfs FUSE filesystem. diff --git a/src/dumm/dumm.c b/src/dumm/dumm.c index 3d2ec58d8..cfe403f7e 100644 --- a/src/dumm/dumm.c +++ b/src/dumm/dumm.c @@ -104,7 +104,9 @@ static iterator_t* create_bridge_iterator(private_dumm_t *this) return this->bridges->create_iterator(this->bridges, TRUE); } - +/** + * disable the currently enabled scenario + */ static void clear_scenario(private_dumm_t *this) { iterator_t *iterator; @@ -130,42 +132,50 @@ static bool load_scenario(private_dumm_t *this, char *name) guest_t *guest; char dir[PATH_MAX]; size_t len; + + if (name == NULL) + { + clear_scenario(this); + return TRUE; + } free(this->scenario); asprintf(&this->scenario, "%s/%s", this->scenario_dir, name); + mkdir(this->scenario_dir, PERME); - if (access(this->scenario, F_OK) == 0) - { /* exists, load scenario */ - DBG1("scenario loading unimplemented."); + len = snprintf(dir, sizeof(dir), "%s/%s", this->scenario, SCENARIO_DIFF_DIR); + if (len < 0 || len >= sizeof(dir)) + { + clear_scenario(this); return FALSE; } - else + + if (access(this->scenario, F_OK) != 0) { /* does not exist, create scenario */ if (mkdir(this->scenario, PERME) != 0) { DBG1("creating scenario directory '%s' failed: %m", this->scenario); clear_scenario(this); return FALSE; - } - len = snprintf(dir, sizeof(dir), "%s/%s/%s", this->scenario, - SCENARIO_DIR, SCENARIO_DIFF_DIR); - if (len < 0 || len >= sizeof(dir)) + } + if (mkdir(dir, PERME) != 0) { + DBG1("creating scenario overlay directory '%s' failed: %m", dir); clear_scenario(this); return FALSE; } - iterator = this->guests->create_iterator(this->guests, TRUE); - while (iterator->iterate(iterator, (void**)&guest)) - { - if (!guest->set_scenario(guest, dir)) - { - iterator->destroy(iterator); - clear_scenario(this); - return FALSE; - } - } - iterator->destroy(iterator); } + iterator = this->guests->create_iterator(this->guests, TRUE); + while (iterator->iterate(iterator, (void**)&guest)) + { + if (!guest->set_scenario(guest, dir)) + { + iterator->destroy(iterator); + clear_scenario(this); + return FALSE; + } + } + iterator->destroy(iterator); return TRUE; } diff --git a/src/dumm/guest.c b/src/dumm/guest.c index 24736f47d..abed80695 100644 --- a/src/dumm/guest.c +++ b/src/dumm/guest.c @@ -259,6 +259,11 @@ static bool set_scenario(private_guest_t *this, char *path) char dir[PATH_MAX]; size_t len; + if (path == NULL) + { + return this->cowfs->set_scenario(this->cowfs, NULL); + } + len = snprintf(dir, sizeof(dir), "%s/%s", path, this->name); if (len < 0 || len >= sizeof(dir)) { @@ -272,8 +277,7 @@ static bool set_scenario(private_guest_t *this, char *path) return FALSE; } } - this->cowfs->set_scenario(this->cowfs, dir); - return TRUE; + return this->cowfs->set_scenario(this->cowfs, dir); } /** diff --git a/src/dumm/main.c b/src/dumm/main.c index 130cffe4a..a4389bc0d 100644 --- a/src/dumm/main.c +++ b/src/dumm/main.c @@ -158,6 +158,7 @@ static void guest_addif_menu(guest_t *guest) { printf("creating interface failed\n"); } + free(name); } static void guest_delif_menu(guest_t *guest) @@ -186,6 +187,7 @@ static void guest_delif_menu(guest_t *guest) { printf("interface '%s' not found\n"); } + free(name); } static void guest_menu(guest_t *guest) @@ -252,6 +254,10 @@ static void guest_create_menu() { printf("failed to create guest '%s'\n", name); } + free(name); + free(kernel); + free(master); + free(mem); } static void guest_list_menu() @@ -314,6 +320,8 @@ static void bridge_addif_menu(bridge_t *bridge) printf("failed to add interface '%s' to bridge '%s'\n", ifname, bridge->get_name(bridge)); } + free(name); + free(ifname); } static void bridge_delif_menu(bridge_t *bridge) @@ -334,6 +342,8 @@ static void bridge_delif_menu(bridge_t *bridge) printf("failed to remove interface '%s' from bridge '%s'\n", ifname, bridge->get_name(bridge)); } + free(name); + free(ifname); } static void bridge_menu(bridge_t *bridge) @@ -392,6 +402,7 @@ static void bridge_create_menu() { printf("failed to create bridge '%s'\n", name); } + free(name); } static void bridge_list_menu() @@ -436,6 +447,17 @@ static void bridge_list_menu() } } +static void scenario_menu() +{ + char *name; + + name = get_line("scenario name (or 'none'): "); + + dumm->load_scenario(dumm, streq(name, "none") ? NULL : name); + + free(name); +} + /** * Signal handler */ @@ -508,9 +530,13 @@ int main(int argc, char *argv[]) { bridge_list_menu(); } + else if (streq(line, "scenario")) + { + scenario_menu(); + } else { - printf("quit|guest|bridge\n"); + printf("quit|guest|bridge|scenario\n"); } free(line); }