diff --git a/configure.ac b/configure.ac index 7c7e97f8d..3ac457200 100644 --- a/configure.ac +++ b/configure.ac @@ -262,7 +262,6 @@ ARG_ENABL_SET([ha], [enable high availability cluster plugin.]) ARG_ENABL_SET([led], [enable plugin to control LEDs on IKEv2 activity using the Linux kernel LED subsystem.]) ARG_ENABL_SET([load-tester], [enable load testing plugin for IKEv2 daemon.]) ARG_ENABL_SET([lookip], [enable fast virtual IP lookup and notification plugin.]) -ARG_ENABL_SET([maemo], [enable Maemo specific plugin.]) ARG_ENABL_SET([radattr], [enable plugin to inject and process custom RADIUS attributes as IKEv2 client.]) ARG_ENABL_SET([systime-fix], [enable plugin to handle cert lifetimes with invalid system time gracefully.]) ARG_ENABL_SET([test-vectors], [enable plugin providing crypto test vectors.]) @@ -1140,14 +1139,6 @@ if test x$android_dns = xtrue; then AC_SUBST(DLLIB) fi -if test x$maemo = xtrue; then - PKG_CHECK_MODULES(maemo, [glib-2.0 gthread-2.0 libosso osso-af-settings]) - AC_SUBST(maemo_CFLAGS) - AC_SUBST(maemo_LIBS) - dbusservicedir="/usr/share/dbus-1/system-services" - AC_SUBST(dbusservicedir) -fi - if test x$eap_sim_pcsc = xtrue; then PKG_CHECK_MODULES(pcsclite, [libpcsclite]) AC_SUBST(pcsclite_CFLAGS) @@ -1447,7 +1438,6 @@ ADD_PLUGIN([led], [c charon]) ADD_PLUGIN([duplicheck], [c charon]) ADD_PLUGIN([coupling], [c charon]) ADD_PLUGIN([radattr], [c charon]) -ADD_PLUGIN([maemo], [c charon]) ADD_PLUGIN([uci], [c charon]) ADD_PLUGIN([addrblock], [c charon]) ADD_PLUGIN([unity], [c charon]) @@ -1542,7 +1532,6 @@ AM_CONDITIONAL(USE_OSX_ATTR, test x$osx_attr = xtrue) AM_CONDITIONAL(USE_P_CSCF, test x$p_cscf = xtrue) AM_CONDITIONAL(USE_ANDROID_DNS, test x$android_dns = xtrue) AM_CONDITIONAL(USE_ANDROID_LOG, test x$android_log = xtrue) -AM_CONDITIONAL(USE_MAEMO, test x$maemo = xtrue) AM_CONDITIONAL(USE_SMP, test x$smp = xtrue) AM_CONDITIONAL(USE_SQL, test x$sql = xtrue) AM_CONDITIONAL(USE_DNSCERT, test x$dnscert = xtrue) @@ -1891,7 +1880,6 @@ AC_CONFIG_FILES([ src/libcharon/plugins/p_cscf/Makefile src/libcharon/plugins/android_dns/Makefile src/libcharon/plugins/android_log/Makefile - src/libcharon/plugins/maemo/Makefile src/libcharon/plugins/stroke/Makefile src/libcharon/plugins/vici/Makefile src/libcharon/plugins/vici/ruby/Makefile diff --git a/packages/maemo-applet/Makefile b/packages/maemo-applet/Makefile deleted file mode 100644 index a341af8ea..000000000 --- a/packages/maemo-applet/Makefile +++ /dev/null @@ -1,37 +0,0 @@ -SOURCE:=../../src/frontends/maemo -BUILD:=build -VERSION:=$(shell sed -n 's/AC_INIT(.*,\s*\(.*\))/\1/p' $(SOURCE)/configure.ac) -TARGETVERSION:=$(VERSION) -ORIGNAME:=strongswan-applet-$(VERSION) -ORIGSRC:=$(BUILD)/strongswan-applet_$(TARGETVERSION).orig.tar.gz - -package: $(ORIGSRC) prepare - cd $(BUILD)/$(ORIGNAME) && \ - dpkg-buildpackage -rfakeroot -sa > /dev/null - -source: $(ORIGSRC) prepare - cd $(BUILD)/$(ORIGNAME) && \ - dpkg-buildpackage -rfakeroot -sa -S > /dev/null - -prepare: - debchange -b -v $(TARGETVERSION)-1 - cp -R debian $(BUILD)/$(ORIGNAME) - -$(ORIGSRC): $(SOURCE)/Makefile | $(BUILD) - make -j -C $(SOURCE) dist-gzip > /dev/null - mv $(SOURCE)/$(ORIGNAME).tar.gz $(ORIGSRC) - tar -zx -C $(BUILD) -f $(ORIGSRC) - -$(SOURCE)/Makefile: $(SOURCE)/configure - cd $(SOURCE) && ./configure > /dev/null - -$(SOURCE)/configure: $(SOURCE)/configure.ac - cd $(SOURCE) && ./autogen.sh > /dev/null - -$(BUILD): - mkdir -p $(BUILD) - -clean: - rm -Rf $(BUILD) - -.PHONY: package source prepare clean diff --git a/packages/maemo-applet/debian/.gitignore b/packages/maemo-applet/debian/.gitignore deleted file mode 100644 index 3dd284e71..000000000 --- a/packages/maemo-applet/debian/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -files -strongswan-applet.postinst.debhelper -strongswan-applet.postrm.debhelper -strongswan-applet.substvars -strongswan-applet/ diff --git a/packages/maemo-applet/debian/changelog b/packages/maemo-applet/debian/changelog deleted file mode 100644 index 4339e8b2c..000000000 --- a/packages/maemo-applet/debian/changelog +++ /dev/null @@ -1,18 +0,0 @@ -strongswan-applet (1.0.1-2) unstable; urgency=low - - * Exclude static libraries from package - - -- Tobias Brunner Tue, 08 Feb 2011 16:15:07 +0100 - -strongswan-applet (1.0.1-1) unstable; urgency=low - - * New upstream release - - -- Tobias Brunner Mon, 07 Feb 2011 10:34:53 +0100 - -strongswan-applet (1.0.0-1) unstable; urgency=low - - * Initial release - - -- Tobias Brunner Fri, 4 Jun 2010 11:02:47 +0200 - diff --git a/packages/maemo-applet/debian/compat b/packages/maemo-applet/debian/compat deleted file mode 100644 index 7ed6ff82d..000000000 --- a/packages/maemo-applet/debian/compat +++ /dev/null @@ -1 +0,0 @@ -5 diff --git a/packages/maemo-applet/debian/control b/packages/maemo-applet/debian/control deleted file mode 100644 index f9987b3f0..000000000 --- a/packages/maemo-applet/debian/control +++ /dev/null @@ -1,79 +0,0 @@ -Source: strongswan-applet -Section: user/network -Priority: extra -Maintainer: Tobias Brunner -Build-Depends: debhelper (>= 5), autotools-dev, libhildon1-dev, - libhildonfm2-dev, hildon-control-panel-dev, - libhildondesktop1-dev, osso-af-settings -Standards-Version: 3.7.2 -Homepage: http://www.strongswan.org - -Package: strongswan-applet -Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, strongswan -Description: A frontend for the strongSwan IPsec VPN solution - A frontend to configure and control the strongSwan - IPsec VPN solution. Currently only IKEv2 with EAP - authentication (username/password) is supported. -XSBC-Maemo-Display-Name: strongSwan IPsec VPN Applet -XSBC-Bugtracker: http://wiki.strongswan.org/projects/strongswan/issues -XB-Maemo-Icon-26: - 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 diff --git a/packages/maemo-applet/debian/copyright b/packages/maemo-applet/debian/copyright deleted file mode 100644 index 615fac701..000000000 --- a/packages/maemo-applet/debian/copyright +++ /dev/null @@ -1,8 +0,0 @@ -Format-Specification: http://wiki.debian.org/Proposals/CopyrightFormat?action=recall&rev=437 -Upstream-Name: strongSwan -Upstream-Source: http://download.strongswan.org -Files: debian/* -License: GPL-2 - On Debian systems the full text of the GNU General Public License can be found - in the `/usr/share/common-licenses/GPL-2' file. - diff --git a/packages/maemo-applet/debian/postinst b/packages/maemo-applet/debian/postinst deleted file mode 100644 index 3ef52274f..000000000 --- a/packages/maemo-applet/debian/postinst +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/sh -# postinst script for strongswan-applet -# -# see: dh_installdeb(1) - -set -e - -# summary of how this script can be called: -# * `configure' -# * `abort-upgrade' -# * `abort-remove' `in-favour' -# -# * `abort-remove' -# * `abort-deconfigure' `in-favour' -# `removing' -# -# for details, see http://www.debian.org/doc/debian-policy/ or -# the debian-policy package - -gtk-update-icon-cache -f /usr/share/icons/hicolor -# change event is not triggered otherwise -touch /usr/share/icons/hicolor - -case "$1" in - configure) - ;; - - abort-upgrade|abort-remove|abort-deconfigure) - ;; - - *) - echo "postinst called with unknown argument \`$1'" >&2 - exit 1 - ;; -esac - -# dh_installdeb will replace this with shell code automatically -# generated by other debhelper scripts. - -#DEBHELPER# - -exit 0 - - diff --git a/packages/maemo-applet/debian/rules b/packages/maemo-applet/debian/rules deleted file mode 100755 index bd5046c8d..000000000 --- a/packages/maemo-applet/debian/rules +++ /dev/null @@ -1,122 +0,0 @@ -#!/usr/bin/make -f -# -*- makefile -*- -# Sample debian/rules that uses debhelper. -# -# This file was originally written by Joey Hess and Craig Small. -# As a special exception, when this file is copied by dh-make into a -# dh-make output file, you may use that output file without restriction. -# This special exception was added by Craig Small in version 0.37 of dh-make. -# -# Modified to make a template file for a multi-binary package with separated -# build-arch and build-indep targets by Bill Allombert 2001 - -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 - -# This has to be exported to make some magic below work. -export DH_OPTIONS - -# These are used for cross-compiling and for saving the configure script -# from having to guess our platform (since we know it already) -DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) -DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) - - -CFLAGS = -Wall -g - -ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) - CFLAGS += -O0 -else - CFLAGS += -O2 -endif - -# Use hardware floating point -ifneq (,$(findstring vfp,$(DEB_BUILD_OPTIONS))) - CFLAGS += -mfpu=vfp -mfloat-abi=softfp -endif - -config.status: configure - dh_testdir - ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info CFLAGS="$(CFLAGS)" LDFLAGS="-Wl,-z,defs" - - -#Architecture -build: build-arch build-indep - -build-arch: build-arch-stamp -build-arch-stamp: config.status - $(MAKE) - touch $@ - -build-indep: build-indep-stamp -build-indep-stamp: config.status - # Add here commands to compile the indep part of the package. - #$(MAKE) doc - touch $@ - -clean: - dh_testdir - dh_testroot - rm -f build-arch-stamp build-indep-stamp #CONFIGURE-STAMP# - - -$(MAKE) distclean -ifneq "$(wildcard /usr/share/misc/config.sub)" "" - cp -f /usr/share/misc/config.sub config.sub -endif -ifneq "$(wildcard /usr/share/misc/config.guess)" "" - cp -f /usr/share/misc/config.guess config.guess -endif - - dh_clean - -install: build - dh_testdir - dh_testroot - dh_clean -k - dh_installdirs - - $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install - - dh_install --list-missing --sourcedir=debian/tmp - -# Must not depend on anything. This is to be called by -# binary-arch/binary-indep -# in another 'make' thread. -binary-common: - dh_testdir - dh_testroot - dh_installchangelogs NEWS - dh_installdocs - dh_installexamples -# dh_installmenu -# dh_installdebconf -# dh_installlogrotate -# dh_installemacsen -# dh_installpam -# dh_installmime -# dh_python -# dh_installinit -# dh_installcron -# dh_installinfo - dh_installman - dh_link - dh_strip - dh_compress - dh_fixperms -# dh_perl - dh_makeshlibs - dh_installdeb - dh_shlibdeps - dh_gencontrol - dh_md5sums - dh_builddeb -# Build architecture independent packages using the common target. -binary-indep: build-indep install - $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common - -# Build architecture dependent packages using the common target. -binary-arch: build-arch install - $(MAKE) -f debian/rules DH_OPTIONS=-s binary-common - -binary: binary-arch binary-indep -.PHONY: build clean binary-indep binary-arch binary install diff --git a/packages/maemo-applet/debian/source/format b/packages/maemo-applet/debian/source/format deleted file mode 100644 index 163aaf8d8..000000000 --- a/packages/maemo-applet/debian/source/format +++ /dev/null @@ -1 +0,0 @@ -3.0 (quilt) diff --git a/packages/maemo-applet/debian/strongswan-applet.install b/packages/maemo-applet/debian/strongswan-applet.install deleted file mode 100644 index 8c50afce0..000000000 --- a/packages/maemo-applet/debian/strongswan-applet.install +++ /dev/null @@ -1,7 +0,0 @@ -# libraries -usr/lib/hildon-control-panel/libstrongswan-settings.so* -usr/lib/hildon-desktop/libstrongswan-status.so* -# *.desktop files -usr/share/applications -# icons -usr/share/icons/hicolor diff --git a/packages/maemo-strongswan/Makefile b/packages/maemo-strongswan/Makefile deleted file mode 100644 index aafdef962..000000000 --- a/packages/maemo-strongswan/Makefile +++ /dev/null @@ -1,38 +0,0 @@ -SOURCE:=../../ -BUILD:=build -VERSION:=$(shell sed -n 's/AC_INIT(.*,\s*\(.*\))/\1/p' $(SOURCE)/configure.in) -TARGETVERSION:=$(VERSION) -ORIGNAME:=strongswan-$(VERSION) -ORIGSRC:=$(BUILD)/strongswan_$(TARGETVERSION).orig.tar.gz - -package: prepare - cd $(BUILD)/$(ORIGNAME) && \ - dpkg-buildpackage -rfakeroot -sa > /dev/null - -source: prepare - cd $(BUILD)/$(ORIGNAME) && \ - dpkg-buildpackage -rfakeroot -sa -S > /dev/null - -prepare: $(ORIGSRC) - rm -Rf $(BUILD)/$(ORIGNAME) - tar -zx -C $(BUILD) -f $(ORIGSRC) - debchange -b -v $(TARGETVERSION)-1 - cp -R debian $(BUILD)/$(ORIGNAME) - -$(ORIGSRC): $(SOURCE)/Makefile | $(BUILD) - make -j -C $(SOURCE) dist-gzip > /dev/null - mv $(SOURCE)/$(ORIGNAME).tar.gz $(ORIGSRC) - -$(SOURCE)/Makefile: $(SOURCE)/configure - cd $(SOURCE) && ./configure --disable-gmp > /dev/null - -$(SOURCE)/configure: $(SOURCE)/configure.in - cd $(SOURCE) && ./autogen.sh > /dev/null - -$(BUILD): - mkdir -p $(BUILD) - -clean: - rm -Rf $(BUILD) - -.PHONY: package source prepare clean diff --git a/packages/maemo-strongswan/debian/changelog b/packages/maemo-strongswan/debian/changelog deleted file mode 100644 index fa7ab3966..000000000 --- a/packages/maemo-strongswan/debian/changelog +++ /dev/null @@ -1,49 +0,0 @@ -strongswan (4.6.2-1) unstable; urgency=low - - * New upstream release - - -- Tobias Brunner Mon, 27 Feb 2012 17:29:05 +0100 - -strongswan (4.6.0-1) unstable; urgency=low - - * New upstream release - - -- Tobias Brunner Mon, 07 Nov 2011 14:01:45 +0100 - -strongswan (4.5.3-1) unstable; urgency=low - - * New upstream release - - -- Tobias Brunner Fri, 05 Aug 2011 10:53:10 +0200 - -strongswan (4.5.2-1) unstable; urgency=low - - * New upstream release - - -- Tobias Brunner Mon, 16 May 2011 13:10:30 +0200 - -strongswan (4.5.1-1) unstable; urgency=low - - * New upstream release - - -- Tobias Brunner Fri, 11 Feb 2011 10:35:41 +0100 - -strongswan (4.5.0+4.5.1rc2-2) unstable; urgency=low - - * Exclude static libraries from package - * Use automatic optification - - -- Tobias Brunner Tue, 08 Feb 2011 12:23:40 +0100 - -strongswan (4.5.0+4.5.1rc2-1) unstable; urgency=low - - * New upstream release - - -- Tobias Brunner Mon, 07 Feb 2011 10:38:33 +0100 - -strongswan (4.5.0-1) unstable; urgency=low - - * Initial release - - -- Tobias Brunner Thu, 14 Oct 2010 17:31:43 +0200 - diff --git a/packages/maemo-strongswan/debian/compat b/packages/maemo-strongswan/debian/compat deleted file mode 100644 index 7ed6ff82d..000000000 --- a/packages/maemo-strongswan/debian/compat +++ /dev/null @@ -1 +0,0 @@ -5 diff --git a/packages/maemo-strongswan/debian/control b/packages/maemo-strongswan/debian/control deleted file mode 100644 index 925d41a08..000000000 --- a/packages/maemo-strongswan/debian/control +++ /dev/null @@ -1,120 +0,0 @@ -Source: strongswan -Section: user/network -Priority: extra -Maintainer: Tobias Brunner -Build-Depends: debhelper (>= 5), autotools-dev, libssl-dev (>= 0.9.8), - libglib2.0-dev, libosso-dev, osso-af-settings -Standards-Version: 3.7.2 -Homepage: http://www.strongswan.org - -Package: strongswan -Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, kernel-power (>= 2.6.28-maemo42) -Suggests: strongswan-applet -Description: strongSwan IPsec VPN - strongSwan is an IPsec-based VPN solution. -XSBC-Maemo-Display-Name: strongSwan IPsec VPN -XSBC-Bugtracker: http://wiki.strongswan.org/projects/strongswan/issues -XB-Maemo-Icon-26: - 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 - AAAAAElFTkSuQmCC - diff --git a/packages/maemo-strongswan/debian/copyright b/packages/maemo-strongswan/debian/copyright deleted file mode 100644 index 615fac701..000000000 --- a/packages/maemo-strongswan/debian/copyright +++ /dev/null @@ -1,8 +0,0 @@ -Format-Specification: http://wiki.debian.org/Proposals/CopyrightFormat?action=recall&rev=437 -Upstream-Name: strongSwan -Upstream-Source: http://download.strongswan.org -Files: debian/* -License: GPL-2 - On Debian systems the full text of the GNU General Public License can be found - in the `/usr/share/common-licenses/GPL-2' file. - diff --git a/packages/maemo-strongswan/debian/optify b/packages/maemo-strongswan/debian/optify deleted file mode 100644 index 865faf10c..000000000 --- a/packages/maemo-strongswan/debian/optify +++ /dev/null @@ -1 +0,0 @@ -auto diff --git a/packages/maemo-strongswan/debian/patches/configure-logging.patch b/packages/maemo-strongswan/debian/patches/configure-logging.patch deleted file mode 100644 index f489a2d45..000000000 --- a/packages/maemo-strongswan/debian/patches/configure-logging.patch +++ /dev/null @@ -1,25 +0,0 @@ -Adding maemo specific logger config (as there is no syslog daemon by default). ---- a/src/strongswan.conf -+++ b/src/strongswan.conf -@@ -5,6 +5,21 @@ - retransmit_timeout = 3.0 - retransmit_base = 1.4 - -+ # maemo specific logging -+ filelog { -+ /var/log/charon.log { -+ time_format = %b %e %T -+ append = no -+ default = 1 -+ flush_line = yes -+ } -+ } -+ # there is no syslog daemon installed by default -+ syslog { -+ daemon { -+ } -+ } -+ - # number of worker threads in charon - threads = 16 - diff --git a/packages/maemo-strongswan/debian/patches/llabs-needs-c99.patch b/packages/maemo-strongswan/debian/patches/llabs-needs-c99.patch deleted file mode 100644 index 25aced4a6..000000000 --- a/packages/maemo-strongswan/debian/patches/llabs-needs-c99.patch +++ /dev/null @@ -1,13 +0,0 @@ -llabs is defined in C99. features.h on other platforms enables C99 features -automatically, here we explicitly enable them with _GNU_SOURCE (which enables -also a lot of other things). ---- a/src/libstrongswan/utils.c -+++ b/src/libstrongswan/utils.c -@@ -14,6 +14,7 @@ - * for more details. - */ - -+#define _GNU_SOURCE - #include "utils.h" - - #include diff --git a/packages/maemo-strongswan/debian/patches/series b/packages/maemo-strongswan/debian/patches/series deleted file mode 100644 index 16a3af5ca..000000000 --- a/packages/maemo-strongswan/debian/patches/series +++ /dev/null @@ -1,3 +0,0 @@ -shorter-timeout.patch -configure-logging.patch -llabs-needs-c99.patch diff --git a/packages/maemo-strongswan/debian/patches/shorter-timeout.patch b/packages/maemo-strongswan/debian/patches/shorter-timeout.patch deleted file mode 100644 index 8c90dbc3a..000000000 --- a/packages/maemo-strongswan/debian/patches/shorter-timeout.patch +++ /dev/null @@ -1,13 +0,0 @@ -Make timeouts shorter which is more appropriate for client only use. ---- a/src/strongswan.conf -+++ b/src/strongswan.conf -@@ -1,6 +1,9 @@ - # strongswan.conf - strongSwan configuration file - - charon { -+ # shorter timeouts (defaults are 4.0/1.8) -+ retransmit_timeout = 3.0 -+ retransmit_base = 1.4 - - # number of worker threads in charon - threads = 16 diff --git a/packages/maemo-strongswan/debian/rules b/packages/maemo-strongswan/debian/rules deleted file mode 100755 index 04fe338eb..000000000 --- a/packages/maemo-strongswan/debian/rules +++ /dev/null @@ -1,142 +0,0 @@ -#!/usr/bin/make -f -# -*- makefile -*- -# Sample debian/rules that uses debhelper. -# -# This file was originally written by Joey Hess and Craig Small. -# As a special exception, when this file is copied by dh-make into a -# dh-make output file, you may use that output file without restriction. -# This special exception was added by Craig Small in version 0.37 of dh-make. -# -# Modified to make a template file for a multi-binary package with separated -# build-arch and build-indep targets by Bill Allombert 2001 - -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 - -# This has to be exported to make some magic below work. -export DH_OPTIONS - -# These are used for cross-compiling and for saving the configure script -# from having to guess our platform (since we know it already) -DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) -DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) - -CONFIG_OPTIONS = \ - --prefix=/usr --sysconfdir=/etc \ - --disable-scepclient --disable-pki --disable-scripts \ - --disable-fips-prf --disable-pubkey --disable-attr \ - --disable-constraints --disable-revocation \ - --disable-sha1 --disable-sha2 --disable-aes --disable-des \ - --disable-md5 --disable-gmp --disable-pgp --disable-dnskey \ - --enable-openssl --enable-monolithic --enable-eap-identity \ - --enable-eap-md5 --enable-eap-mschapv2 --enable-maemo - -CFLAGS = -Wall -g -Wno-format -Wno-pointer-sign -Wno-strict-aliasing -Wno-sign-compare -Wno-unused-parameter - -ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) - CFLAGS += -O0 -else - CFLAGS += -O2 -endif - -ifeq (,$(filter nostrip,$(DEB_BUILD_OPTIONS))) - INSTALL_PROGRAM += -s -endif - -ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) - NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) - MAKEFLAGS += -j$(NUMJOBS) -endif - -# Use hardware floating point -ifneq (,$(findstring vfp,$(DEB_BUILD_OPTIONS))) - CFLAGS += -mfpu=vfp -mfloat-abi=softfp -endif - -config.status: configure - dh_testdir - ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info $(CONFIG_OPTIONS) CFLAGS="$(CFLAGS)" - #LDFLAGS="-Wl,-z,defs" - - -#Architecture -build: build-arch build-indep - -build-arch: build-arch-stamp -build-arch-stamp: config.status - $(MAKE) - touch $@ - -build-indep: build-indep-stamp -build-indep-stamp: config.status - # Add here commands to compile the indep part of the package. - #$(MAKE) doc - touch $@ - -clean: - dh_testdir - dh_testroot - rm -f build-arch-stamp build-indep-stamp #CONFIGURE-STAMP# - - -$(MAKE) distclean -ifneq "$(wildcard /usr/share/misc/config.sub)" "" - cp -f /usr/share/misc/config.sub config.sub -endif -ifneq "$(wildcard /usr/share/misc/config.guess)" "" - cp -f /usr/share/misc/config.guess config.guess -endif - - dh_clean - -install: build - dh_testdir - dh_testroot - dh_clean -k - dh_installdirs - - $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install - - dh_install --list-missing --sourcedir=debian/tmp - -# Must not depend on anything. This is to be called by -# binary-arch/binary-indep -# in another 'make' thread. -binary-common: - dh_testdir - dh_testroot - dh_installchangelogs NEWS - dh_installdocs - dh_installexamples -# dh_installmenu -# dh_installdebconf -# dh_installlogrotate -# dh_installemacsen -# dh_installpam -# dh_installmime -# dh_python -# dh_installinit -# dh_installcron -# dh_installinfo - dh_installman - dh_link - dh_strip - dh_compress - dh_fixperms -# dh_perl - dh_makeshlibs - dh_installdeb - dh_shlibdeps - dh_gencontrol - dh_md5sums - dh_builddeb - -# Build architecture independent packages using the common target. -binary-indep: build-indep install - $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common - -# Build architecture dependent packages using the common target. -binary-arch: build-arch install - $(MAKE) -f debian/rules DH_OPTIONS=-s binary-common - -binary: binary-arch binary-indep -.PHONY: build clean binary-indep binary-arch binary install diff --git a/packages/maemo-strongswan/debian/source/format b/packages/maemo-strongswan/debian/source/format deleted file mode 100644 index 163aaf8d8..000000000 --- a/packages/maemo-strongswan/debian/source/format +++ /dev/null @@ -1 +0,0 @@ -3.0 (quilt) diff --git a/packages/maemo-strongswan/debian/strongswan.install b/packages/maemo-strongswan/debian/strongswan.install deleted file mode 100644 index ff3d62712..000000000 --- a/packages/maemo-strongswan/debian/strongswan.install +++ /dev/null @@ -1,28 +0,0 @@ -# config -etc -# libraries -usr/lib/ipsec/libstrongswan.so* -usr/lib/ipsec/libcharon.so* -# starter etc. -usr/sbin/ipsec -usr/libexec/ipsec/starter -usr/libexec/ipsec/_copyright -usr/share/man/man8/ipsec.8 -usr/share/man/man5/ipsec.conf.5 -usr/share/man/man5/ipsec.secrets.5 -# updown -usr/libexec/ipsec/_updown -usr/libexec/ipsec/_updown_espmark -usr/share/man/man8/_updown.8 -usr/share/man/man8/_updown_espmark.8 -# charon -usr/share/dbus-1/system-services -usr/libexec/ipsec/charon -usr/libexec/ipsec/stroke -usr/share/man/man5/strongswan.conf.5 -# pluto -usr/libexec/ipsec/pluto -usr/libexec/ipsec/_pluto_adns -usr/libexec/ipsec/whack -usr/lib/ipsec/plugins/libstrongswan-xauth.so* -usr/share/man/man8/pluto.8 diff --git a/scripts/test.sh b/scripts/test.sh index 5bb6192dc..68ad1d664 100755 --- a/scripts/test.sh +++ b/scripts/test.sh @@ -32,7 +32,7 @@ printf-builtin) all) CONFIG="--enable-all --disable-android-dns --disable-android-log --disable-dumm --disable-kernel-pfroute --disable-keychain - --disable-lock-profiler --disable-maemo --disable-padlock + --disable-lock-profiler --disable-padlock --disable-osx-attr --disable-tkm --disable-uci --disable-systemd --disable-soup --disable-unwind-backtraces --disable-svc --disable-dbghelp-backtraces --disable-socket-win diff --git a/src/frontends/maemo/.gitignore b/src/frontends/maemo/.gitignore deleted file mode 100644 index 5568822e5..000000000 --- a/src/frontends/maemo/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -build-arch-stamp -build-indep-stamp diff --git a/src/frontends/maemo/AUTHORS b/src/frontends/maemo/AUTHORS deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/frontends/maemo/ChangeLog b/src/frontends/maemo/ChangeLog deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/frontends/maemo/Makefile.am b/src/frontends/maemo/Makefile.am deleted file mode 100644 index f3e344fa4..000000000 --- a/src/frontends/maemo/Makefile.am +++ /dev/null @@ -1,3 +0,0 @@ - -SUBDIRS = src data - diff --git a/src/frontends/maemo/NEWS b/src/frontends/maemo/NEWS deleted file mode 100644 index ffacf7098..000000000 --- a/src/frontends/maemo/NEWS +++ /dev/null @@ -1,4 +0,0 @@ -strongswan-applet-1.0.0 ------------------------ - -- Initial release diff --git a/src/frontends/maemo/README b/src/frontends/maemo/README deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/frontends/maemo/autogen.sh b/src/frontends/maemo/autogen.sh deleted file mode 100755 index 6039708df..000000000 --- a/src/frontends/maemo/autogen.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -libtoolize --force && -aclocal && -automake -a && -autoconf diff --git a/src/frontends/maemo/configure.ac b/src/frontends/maemo/configure.ac deleted file mode 100644 index aae322fa2..000000000 --- a/src/frontends/maemo/configure.ac +++ /dev/null @@ -1,54 +0,0 @@ -AC_INIT(strongswan-applet, 1.0.1) -AM_INIT_AUTOMAKE - -# Programs -AC_PROG_CC -AC_PROG_INSTALL -AC_PROG_LIBTOOL - -# Headers -AC_HEADER_STDC - -# Library dependencies -PKG_CHECK_MODULES(HILDON, hildon-1 hildon-fm-2 hildon-control-panel libhildondesktop-1) -AC_SUBST(HILDON_CFLAGS) -AC_SUBST(HILDON_LIBS) - -PKG_CHECK_MODULES(DBUS, dbus-glib-1 >= 0.60) -AC_SUBST(DBUS_CFLAGS) -AC_SUBST(DBUS_LIBS) - -PKG_CHECK_MODULES(OSSO, osso-af-settings >= 0.8.5 libosso >= 0.9.17 gnome-vfs-2.0 >= 2.8.4.11 gnome-vfs-module-2.0 >= 2.8.4.11) -AC_SUBST(OSSO_CFLAGS) -AC_SUBST(OSSO_LIBS) - -# Application icon install directories -icon_18x18dir=$datadir/icons/hicolor/18x18/hildon -icon_24x24dir=$datadir/icons/hicolor/24x24/hildon -icon_32x32dir=$datadir/icons/hicolor/32x32/hildon -icon_48x48dir=$datadir/icons/hicolor/48x48/hildon -icon_scalabledir=$datadir/icons/hicolor/scalable/hildon - -# Hildon control panel plugin install directories -pluginlibdir=`$PKG_CONFIG hildon-control-panel --variable=pluginlibdir` -plugindesktopentrydir=`$PKG_CONFIG hildon-control-panel --variable=plugindesktopentrydir` - -# Hildon status widget install directories -statuslibdir=`$PKG_CONFIG libhildondesktop-1 --variable=hildondesktoplibdir` -statusdesktopentrydir=`$PKG_CONFIG libhildondesktop-1 --variable=hildonstatusmenudesktopentrydir` - -AC_SUBST(icon_18x18dir) -AC_SUBST(icon_24x24dir) -AC_SUBST(icon_32x32dir) -AC_SUBST(icon_48x48dir) -AC_SUBST(icon_scalabledir) -AC_SUBST(pluginlibdir) -AC_SUBST(plugindesktopentrydir) -AC_SUBST(statuslibdir) -AC_SUBST(statusdesktopentrydir) - -AC_OUTPUT( - Makefile \ - src/Makefile \ - data/Makefile -) diff --git a/src/frontends/maemo/data/Makefile.am b/src/frontends/maemo/data/Makefile.am deleted file mode 100644 index 69af067da..000000000 --- a/src/frontends/maemo/data/Makefile.am +++ /dev/null @@ -1,15 +0,0 @@ -plugindesktopentry_DATA = strongswan-settings.desktop - -statusdesktopentry_DATA = strongswan-status.desktop - -icon_18x18_DATA = \ - icons/18x18/strongswan_lock_open.png \ - icons/18x18/strongswan_lock_close.png -icon_48x48_DATA = \ - icons/48x48/strongswan_lock_open.png \ - icons/48x48/strongswan_lock_close.png - -EXTRA_DIST = \ - $(plugindesktopentry_DATA) $(statusdesktopentry_DATA) \ - $(icon_18x18_DATA) $(icon_48x48_DATA) - diff --git a/src/frontends/maemo/data/icons/18x18/strongswan_lock_close.png b/src/frontends/maemo/data/icons/18x18/strongswan_lock_close.png deleted file mode 100644 index b193d0dc8..000000000 Binary files a/src/frontends/maemo/data/icons/18x18/strongswan_lock_close.png and /dev/null differ diff --git a/src/frontends/maemo/data/icons/18x18/strongswan_lock_open.png b/src/frontends/maemo/data/icons/18x18/strongswan_lock_open.png deleted file mode 100644 index 16aabd2f9..000000000 Binary files a/src/frontends/maemo/data/icons/18x18/strongswan_lock_open.png and /dev/null differ diff --git a/src/frontends/maemo/data/icons/48x48/strongswan_lock_close.png b/src/frontends/maemo/data/icons/48x48/strongswan_lock_close.png deleted file mode 100644 index 9fdda0aa7..000000000 Binary files a/src/frontends/maemo/data/icons/48x48/strongswan_lock_close.png and /dev/null differ diff --git a/src/frontends/maemo/data/icons/48x48/strongswan_lock_open.png b/src/frontends/maemo/data/icons/48x48/strongswan_lock_open.png deleted file mode 100644 index cba331fff..000000000 Binary files a/src/frontends/maemo/data/icons/48x48/strongswan_lock_open.png and /dev/null differ diff --git a/src/frontends/maemo/data/strongswan-settings.desktop b/src/frontends/maemo/data/strongswan-settings.desktop deleted file mode 100644 index f5887f8ea..000000000 --- a/src/frontends/maemo/data/strongswan-settings.desktop +++ /dev/null @@ -1,9 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Version=1.0 -Name=strongSwan VPN -Comment=A control panel applet to configure strongSwan VPN -Type=HildonControlPanelPlugin -Icon=strongswan_lock_close -Categories=connectivity -X-control-panel-plugin=libstrongswan-settings.so diff --git a/src/frontends/maemo/data/strongswan-status.desktop b/src/frontends/maemo/data/strongswan-status.desktop deleted file mode 100644 index ef2f5c44f..000000000 --- a/src/frontends/maemo/data/strongswan-status.desktop +++ /dev/null @@ -1,9 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Version=1.0 -Name=strongSwan Status -Comment=A status menu widget to control strongSwan -Type=default -Icon=strongswan_lock_close -Category=permanent -X-Path=libstrongswan-status.so diff --git a/src/frontends/maemo/src/Makefile.am b/src/frontends/maemo/src/Makefile.am deleted file mode 100644 index 952f85ccc..000000000 --- a/src/frontends/maemo/src/Makefile.am +++ /dev/null @@ -1,21 +0,0 @@ -statuslib_LTLIBRARIES = libstrongswan-status.la -libstrongswan_status_la_SOURCES = \ - strongswan-status.c strongswan-status.h \ - strongswan-connection.c strongswan-connection.h \ - strongswan-connections.c strongswan-connections.h - -libstrongswan_status_la_LIBADD = $(HILDON_LIBS) $(DBUS_LIBS) $(OSSO_LIBS) -libstrongswan_status_la_CFLAGS = -DUSE_DYNAMIC_TYPES \ - $(HILDON_CFLAGS) $(DBUS_CFLAGS) $(OSSO_CFLAGS) -libstrongswan_status_la_LDFLAGS = -module -avoid-version - -pluginlib_LTLIBRARIES = libstrongswan-settings.la -libstrongswan_settings_la_SOURCES = \ - strongswan-settings.c \ - strongswan-connection.c strongswan-connection.h \ - strongswan-connections.c strongswan-connections.h - -libstrongswan_settings_la_LIBADD = $(HILDON_LIBS) -libstrongswan_settings_la_CFLAGS = $(HILDON_CFLAGS) -libstrongswan_settings_la_LDFLAGS = -module -avoid-version - diff --git a/src/frontends/maemo/src/strongswan-connection.c b/src/frontends/maemo/src/strongswan-connection.c deleted file mode 100644 index c7d0db355..000000000 --- a/src/frontends/maemo/src/strongswan-connection.c +++ /dev/null @@ -1,260 +0,0 @@ -/* - * Copyright (C) 2010 Tobias Brunner - * Hochschule fuer Technik Rapperswil - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. See . - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * for more details. - */ - -#include - -#include "strongswan-connection.h" - -#define STRONGSWAN_CONNECTION_GET_PRIVATE(object) \ - (G_TYPE_INSTANCE_GET_PRIVATE ((object), \ - STRONGSWAN_TYPE_CONNECTION, \ - StrongswanConnectionPrivate)) - -struct _StrongswanConnectionPrivate -{ - gchar *orig_name; - gchar *name; - gchar *host; - gchar *cert; - gchar *user; -}; - -enum -{ - PROP_0, - PROP_NAME, - PROP_HOST, - PROP_CERT, - PROP_USER, -}; - -#ifndef USE_DYNAMIC_TYPES -G_DEFINE_TYPE (StrongswanConnection, strongswan_connection, G_TYPE_OBJECT); -#else -G_DEFINE_DYNAMIC_TYPE (StrongswanConnection, strongswan_connection, G_TYPE_OBJECT); -void strongswan_connection_register (GTypeModule *type_module) -{ - strongswan_connection_register_type (type_module); -} -#endif - -static void -strongswan_connection_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) -{ - StrongswanConnectionPrivate *priv = STRONGSWAN_CONNECTION (object)->priv; - switch (prop_id) - { - case PROP_NAME: - g_value_set_string (value, priv->name); - break; - case PROP_HOST: - g_value_set_string (value, priv->host); - break; - case PROP_CERT: - g_value_set_string (value, priv->cert); - break; - case PROP_USER: - g_value_set_string (value, priv->user); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - -static void -strongswan_connection_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec) -{ - StrongswanConnectionPrivate *priv = STRONGSWAN_CONNECTION (object)->priv; - switch (prop_id) - { - case PROP_NAME: - g_free (priv->name); - priv->name = g_value_dup_string (value); - case PROP_HOST: - g_free (priv->host); - priv->host = g_value_dup_string (value); - break; - case PROP_CERT: - g_free (priv->cert); - priv->cert = g_value_dup_string (value); - break; - case PROP_USER: - g_free (priv->user); - priv->user = g_value_dup_string (value); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - -static void -strongswan_connection_init (StrongswanConnection *connection) -{ - connection->priv = STRONGSWAN_CONNECTION_GET_PRIVATE (connection); -} - -static void -strongswan_connection_dispose (GObject *object) -{ - G_OBJECT_CLASS (strongswan_connection_parent_class)->dispose (object); -} - -static void -strongswan_connection_finalize (GObject *object) -{ - StrongswanConnectionPrivate *priv = STRONGSWAN_CONNECTION (object)->priv; - g_free (priv->orig_name); - g_free (priv->name); - g_free (priv->host); - g_free (priv->cert); - g_free (priv->user); - G_OBJECT_CLASS (strongswan_connection_parent_class)->finalize (object); -} - -static void -strongswan_connection_class_init (StrongswanConnectionClass *klass) -{ - GObjectClass *object_class = G_OBJECT_CLASS (klass); - - object_class->get_property = strongswan_connection_get_property; - object_class->set_property = strongswan_connection_set_property; - object_class->dispose = strongswan_connection_dispose; - object_class->finalize = strongswan_connection_finalize; - - g_object_class_install_property (object_class, PROP_NAME, - g_param_spec_string ("name", "Connection name", - "The unique name of a connection", - NULL, - G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); - - g_object_class_install_property (object_class, PROP_HOST, - g_param_spec_string ("host", "Hostname or IP address", - "The hostname or IP address of the Gateway", - NULL, - G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); - - g_object_class_install_property (object_class, PROP_CERT, - g_param_spec_string ("cert", "Gateway or CA certificate", - "The certificate of the gateway or the CA", - NULL, - G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); - - g_object_class_install_property (object_class, PROP_USER, - g_param_spec_string ("user", "Username", - "The username for EAP authentication", - NULL, - G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); - - g_type_class_add_private (klass, sizeof (StrongswanConnectionPrivate)); -} - -#ifdef USE_DYNAMIC_TYPES -static void -strongswan_connection_class_finalize (StrongswanConnectionClass *klass) -{ -} -#endif - -static inline gchar * -get_string_from_key_file (GKeyFile *key_file, - const gchar *name, - const gchar *key) -{ - GError *error = NULL; - gchar *value; - value = g_key_file_get_string (key_file, name, key, &error); - if (error) - { - g_warning ("Failed to read %s/%s from key file: %s", - name, key, error->message); - g_error_free (error); - } - return value; -} - -static void -strongswan_connection_update_from_key_file (GKeyFile *key_file, - StrongswanConnection *connection) -{ - StrongswanConnectionPrivate *priv = connection->priv; - gchar *name = priv->name; - - priv->orig_name = g_strdup (name); - priv->host = get_string_from_key_file (key_file, name, "host"); - priv->cert = get_string_from_key_file (key_file, name, "cert"); - priv->user = get_string_from_key_file (key_file, name, "user"); -} - -StrongswanConnection * -strongswan_connection_new (const gchar *name) -{ - StrongswanConnection *conn; - conn = g_object_new (STRONGSWAN_TYPE_CONNECTION, - "name", name, - NULL); - g_return_val_if_fail (conn->priv != NULL, NULL); - return conn; -} - -StrongswanConnection * -strongswan_connection_new_from_key_file (GKeyFile *key_file, - const gchar *name) -{ - StrongswanConnection *conn = strongswan_connection_new (name); - g_return_val_if_fail (conn != NULL, NULL); - strongswan_connection_update_from_key_file (key_file, conn); - return conn; -} - -void -strongswan_connection_save_to_key_file (GKeyFile *key_file, - StrongswanConnection *connection) -{ - StrongswanConnectionPrivate *priv = connection->priv; - gchar *name = priv->name; - - if (priv->orig_name && strcmp (name, priv->orig_name)) - { - g_key_file_remove_group (key_file, priv->orig_name, NULL); - g_free (priv->orig_name); - priv->orig_name = g_strdup (name); - } - - if (priv->host) - { - g_key_file_set_string (key_file, name, "host", priv->host); - } - if (priv->cert) - { - g_key_file_set_string (key_file, name, "cert", priv->cert); - } - else - { - g_key_file_remove_key (key_file, name, "cert", NULL); - } - if (priv->user) - { - g_key_file_set_string (key_file, name, "user", priv->user); - } -} - diff --git a/src/frontends/maemo/src/strongswan-connection.h b/src/frontends/maemo/src/strongswan-connection.h deleted file mode 100644 index 2e4fd45ec..000000000 --- a/src/frontends/maemo/src/strongswan-connection.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright (C) 2010 Tobias Brunner - * Hochschule fuer Technik Rapperswil - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. See . - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * for more details. - */ - -#ifndef __STRONGSWAN_CONNECTION_H__ -#define __STRONGSWAN_CONNECTION_H__ - -#include -#include - -G_BEGIN_DECLS - -#define STRONGSWAN_TYPE_CONNECTION (strongswan_connection_get_type ()) -#define STRONGSWAN_CONNECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), STRONGSWAN_TYPE_CONNECTION, StrongswanConnection)) -#define STRONGSWAN_CONNECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), STRONGSWAN_TYPE_CONNECTION, StrongswanConnectionClass)) -#define STRONGSWAN_IS_CONNECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), STRONGSWAN_TYPE_CONNECTION)) -#define STRONGSWAN_IS_CONNECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), STRONGSWAN_TYPE_CONNECTION)) -#define STRONGSWAN_CONNECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), STRONGSWAN_TYPE_CONNECTION, StrongswanConnectionClass)) - -typedef struct _StrongswanConnection StrongswanConnection; -typedef struct _StrongswanConnectionClass StrongswanConnectionClass; -typedef struct _StrongswanConnectionPrivate StrongswanConnectionPrivate; - -struct _StrongswanConnection -{ - GObject gobject; - - StrongswanConnectionPrivate *priv; -}; - -struct _StrongswanConnectionClass -{ - GObjectClass parent_class; -}; - -GType strongswan_connection_get_type (void); - -StrongswanConnection *strongswan_connection_new (const gchar *name); - -StrongswanConnection *strongswan_connection_new_from_key_file(GKeyFile *key_file, const gchar *name); -void strongswan_connection_save_to_key_file (GKeyFile *key_file, StrongswanConnection *connection); - -#ifdef USE_DYNAMIC_TYPES -void strongswan_connection_register (GTypeModule *type_module); -#endif - -G_END_DECLS - -#endif /* __STRONGSWAN_CONNECTION_H__ */ diff --git a/src/frontends/maemo/src/strongswan-connections.c b/src/frontends/maemo/src/strongswan-connections.c deleted file mode 100644 index f5ba55c84..000000000 --- a/src/frontends/maemo/src/strongswan-connections.c +++ /dev/null @@ -1,318 +0,0 @@ -/* - * Copyright (C) 2010 Tobias Brunner - * Hochschule fuer Technik Rapperswil - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. See . - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * for more details. - */ - -#include -#include - -#include "strongswan-connections.h" - -/* connections are stored in ~/.config/strongswan/connections */ -#define CONFIG_DIR_NAME "strongswan" -#define CONFIG_FILE_NAME "connections" - -#define STRONGSWAN_CONNECTIONS_GET_PRIVATE(object) \ - (G_TYPE_INSTANCE_GET_PRIVATE ((object), STRONGSWAN_TYPE_CONNECTIONS, StrongswanConnectionsPrivate)) - -struct _StrongswanConnectionsPrivate -{ - GKeyFile *key_file; - gchar *path; - GnomeVFSMonitorHandle *monitor; - GHashTable *connections; - GtkTreeModel *model; -}; - -#ifndef USE_DYNAMIC_TYPES -G_DEFINE_TYPE (StrongswanConnections, strongswan_connections, G_TYPE_OBJECT); -#else -G_DEFINE_DYNAMIC_TYPE (StrongswanConnections, strongswan_connections, G_TYPE_OBJECT); -void strongswan_connections_register (GTypeModule *type_module) -{ - strongswan_connections_register_type (type_module); -} -#endif - -static void -strongswan_connections_load_connections (StrongswanConnections *connections) -{ - StrongswanConnectionsPrivate *priv = connections->priv; - GHashTableIter iter; - gpointer key, value; - gchar **groups; - guint i; - - g_hash_table_remove_all (priv->connections); - groups = g_key_file_get_groups (priv->key_file, NULL); - for (i = 0; groups[i]; i++) - { - StrongswanConnection *conn; - conn = strongswan_connection_new_from_key_file(priv->key_file, - groups[i]); - if (conn != NULL) - { - g_hash_table_insert (priv->connections, - g_strdup(groups[i]), - conn); - } - } - g_strfreev (groups); - - gtk_list_store_clear (GTK_LIST_STORE (priv->model)); - g_hash_table_iter_init (&iter, priv->connections); - while (g_hash_table_iter_next (&iter, &key, &value)) - { - gtk_list_store_insert_with_values (GTK_LIST_STORE (priv->model), - NULL, - -1, - 0, key, - -1); - } -} - -static void -strongswan_connections_load_config (StrongswanConnections *connections) -{ - StrongswanConnectionsPrivate *priv = connections->priv; - GError *error = NULL; - - if (priv->key_file) - { - g_key_file_free (priv->key_file); - } - - priv->key_file = g_key_file_new (); - if (!g_key_file_load_from_file (priv->key_file, - priv->path, - G_KEY_FILE_KEEP_COMMENTS, - &error)) - { - if (g_error_matches (error, - G_KEY_FILE_ERROR, - G_KEY_FILE_ERROR_PARSE)) - { - g_debug ("Failed to parse config file '%s', treated as empty: %s", - priv->path, error->message); - g_error_free (error); - } - else - { - g_debug ("Could not read config file '%s': %s", - priv->path, error->message); - g_error_free (error); - } - } - - strongswan_connections_load_connections (connections); -} - -static void -strongswan_connections_file_changed (GnomeVFSMonitorHandle *handle, - const gchar *monitor_uri, - const gchar *info_uri, - GnomeVFSMonitorEventType event_type, - StrongswanConnections *connections) -{ - strongswan_connections_load_config (connections); -} - - -static void -strongswan_connections_init (StrongswanConnections *connections) -{ - StrongswanConnectionsPrivate *priv; - connections->priv = STRONGSWAN_CONNECTIONS_GET_PRIVATE (connections); - priv = connections->priv; - - priv->path = g_build_filename (g_get_user_config_dir (), - CONFIG_DIR_NAME, - CONFIG_FILE_NAME, - NULL); - /* ensure that the directory exists */ - gchar *dir = g_path_get_dirname (priv->path); - g_mkdir_with_parents (dir, S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH); - g_free (dir); - - priv->connections = g_hash_table_new_full (g_str_hash, - g_str_equal, - g_free, - g_object_unref); - - priv->model = GTK_TREE_MODEL (gtk_list_store_new (2, - G_TYPE_STRING, - G_TYPE_STRING)); - gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (priv->model), - 0, - GTK_SORT_ASCENDING); -} - -static void -strongswan_connections_constructed (GObject *object) -{ - StrongswanConnectionsPrivate *priv; - GnomeVFSResult result; - - if (G_OBJECT_CLASS (strongswan_connections_parent_class)->constructed) - { - G_OBJECT_CLASS (strongswan_connections_parent_class)->constructed (object); - } - - g_return_if_fail (STRONGSWAN_IS_CONNECTIONS (object)); - priv = STRONGSWAN_CONNECTIONS (object)->priv; - - result = gnome_vfs_monitor_add (&priv->monitor, - priv->path, - GNOME_VFS_MONITOR_FILE, - (GnomeVFSMonitorCallback) strongswan_connections_file_changed, - object); - if (result != GNOME_VFS_OK) - { - g_warning ("Could not monitor '%s': %s", - priv->path, - gnome_vfs_result_to_string (result)); - } - - strongswan_connections_load_config (STRONGSWAN_CONNECTIONS (object)); -} - -static void -strongswan_connections_dispose (GObject *object) -{ - StrongswanConnectionsPrivate *priv; - - g_return_if_fail (STRONGSWAN_IS_CONNECTIONS (object)); - priv = STRONGSWAN_CONNECTIONS (object)->priv; - - if (priv->model) - { - priv->model = (g_object_unref (priv->model), NULL); - } - - G_OBJECT_CLASS (strongswan_connections_parent_class)->dispose (object); -} - -static void -strongswan_connections_finalize (GObject *object) -{ - StrongswanConnectionsPrivate *priv; - - g_return_if_fail (STRONGSWAN_IS_CONNECTIONS (object)); - priv = STRONGSWAN_CONNECTIONS (object)->priv; - - priv->path = (g_free (priv->path), NULL); - priv->monitor = (gnome_vfs_monitor_cancel (priv->monitor), NULL); - priv->key_file = (g_key_file_free (priv->key_file), NULL); - priv->connections = (g_hash_table_destroy (priv->connections), NULL); - - G_OBJECT_CLASS (strongswan_connections_parent_class)->finalize (object); -} - -static void -strongswan_connections_class_init (StrongswanConnectionsClass *klass) -{ - GObjectClass *object_class = G_OBJECT_CLASS (klass); - - object_class->constructed = strongswan_connections_constructed; - object_class->dispose = strongswan_connections_dispose; - object_class->finalize = strongswan_connections_finalize; - - g_type_class_add_private (klass, sizeof (StrongswanConnectionsPrivate)); -} - -#ifdef USE_DYNAMIC_TYPES -static void -strongswan_connections_class_finalize (StrongswanConnectionsClass *klass) -{ -} -#endif - -GtkTreeModel * -strongswan_connections_get_model (StrongswanConnections *self) -{ - StrongswanConnectionsPrivate *priv = self->priv; - return g_object_ref (priv->model); -} - -void -strongswan_connections_setup_column_renderers (StrongswanConnections *self, - GtkCellLayout *layout) -{ - GtkCellRenderer *renderer; - renderer = gtk_cell_renderer_text_new (); - gtk_cell_layout_pack_start (layout, - renderer, - TRUE); - gtk_cell_layout_add_attribute (layout, - renderer, - "text", 0); -} - -StrongswanConnections * -strongswan_connections_new (void) -{ - StrongswanConnections *connections; - connections = g_object_new (STRONGSWAN_TYPE_CONNECTIONS, - NULL); - return connections; -} - -StrongswanConnection * -strongswan_connections_get_connection (StrongswanConnections *self, - const gchar *name) -{ - StrongswanConnectionsPrivate *priv = self->priv; - g_return_val_if_fail (name != NULL, NULL); - return g_hash_table_lookup (priv->connections, name); -} - -static void -strongswan_connections_save_connections (StrongswanConnections *self) -{ - StrongswanConnectionsPrivate *priv = self->priv; - gchar *data; - gsize size; - GError *error = NULL; - - data = g_key_file_to_data (priv->key_file, &size, NULL); - if (!g_file_set_contents (priv->path, data, size, &error)) - { - g_warning ("Failed to save connections to '%s': %s", - priv->path, error->message); - g_error_free (error); - } - g_free (data); -} - -void -strongswan_connections_save_connection (StrongswanConnections *self, - StrongswanConnection *conn) -{ - StrongswanConnectionsPrivate *priv = self->priv; - - strongswan_connection_save_to_key_file (priv->key_file, conn); - - strongswan_connections_save_connections (self); -} - -void -strongswan_connections_remove_connection (StrongswanConnections *self, - const gchar *name) -{ - StrongswanConnectionsPrivate *priv = self->priv; - - g_key_file_remove_group (priv->key_file, name, NULL); - - strongswan_connections_save_connections (self); -} - diff --git a/src/frontends/maemo/src/strongswan-connections.h b/src/frontends/maemo/src/strongswan-connections.h deleted file mode 100644 index f7a42acad..000000000 --- a/src/frontends/maemo/src/strongswan-connections.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (C) 2010 Tobias Brunner - * Hochschule fuer Technik Rapperswil - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. See . - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * for more details. - */ - -#ifndef __STRONGSWAN_CONNECTIONS_H__ -#define __STRONGSWAN_CONNECTIONS_H__ - -#include - -#include "strongswan-connection.h" - -G_BEGIN_DECLS - -#define STRONGSWAN_TYPE_CONNECTIONS (strongswan_connections_get_type ()) -#define STRONGSWAN_CONNECTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), STRONGSWAN_TYPE_CONNECTIONS, StrongswanConnections)) -#define STRONGSWAN_CONNECTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), STRONGSWAN_TYPE_CONNECTIONS, StrongswanConnectionsClass)) -#define STRONGSWAN_IS_CONNECTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), STRONGSWAN_TYPE_CONNECTIONS)) -#define STRONGSWAN_IS_CONNECTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), STRONGSWAN_TYPE_CONNECTIONS)) -#define STRONGSWAN_CONNECTIONS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), STRONGSWAN_TYPE_CONNECTIONS, StrongswanConnectionsClass)) - -typedef struct _StrongswanConnections StrongswanConnections; -typedef struct _StrongswanConnectionsClass StrongswanConnectionsClass; -typedef struct _StrongswanConnectionsPrivate StrongswanConnectionsPrivate; - -struct _StrongswanConnections -{ - GObject gobject; - - StrongswanConnectionsPrivate *priv; -}; - -struct _StrongswanConnectionsClass -{ - GObjectClass parent_class; -}; - -GType strongswan_connections_get_type (void); - -StrongswanConnections *strongswan_connections_new (void); - -GtkTreeModel *strongswan_connections_get_model (StrongswanConnections *connections); -void strongswan_connections_setup_column_renderers (StrongswanConnections *connections, GtkCellLayout *layout); - -StrongswanConnection *strongswan_connections_get_connection (StrongswanConnections *self, const gchar *name); -void strongswan_connections_save_connection (StrongswanConnections *self, StrongswanConnection *conn); -void strongswan_connections_remove_connection (StrongswanConnections *self, const gchar *name); - -#ifdef USE_DYNAMIC_TYPES -void strongswan_connections_register (GTypeModule *type_module); -#endif - -G_END_DECLS - -#endif /* __STRONGSWAN_CONNECTIONS_H__ */ diff --git a/src/frontends/maemo/src/strongswan-settings.c b/src/frontends/maemo/src/strongswan-settings.c deleted file mode 100644 index 9773590f6..000000000 --- a/src/frontends/maemo/src/strongswan-settings.c +++ /dev/null @@ -1,353 +0,0 @@ -/* - * Copyright (C) 2010 Tobias Brunner - * Hochschule fuer Technik Rapperswil - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. See . - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * for more details. - */ - -#include -#include -#include -#include - -#include - -#include "strongswan-connections.h" - -enum { - RESPONSE_NEW = 1, - RESPONSE_EDIT, - RESPONSE_DELETE -}; - -struct { - GtkWidget *dialog; - GtkWidget *list; - StrongswanConnections *conns; -} ListDialog = { 0, }; - -/** - * Callback if no certificate should be selected - */ -void no_certificate(HildonButton *button, gpointer user_data) -{ - gtk_dialog_response (GTK_DIALOG (user_data), GTK_RESPONSE_REJECT); -} - -/** - * Callback to select a certificate - */ -void select_cert(HildonButton *button, gpointer user_data) -{ - GtkWidget *selector = hildon_file_chooser_dialog_new (GTK_WINDOW (user_data), GTK_FILE_CHOOSER_ACTION_OPEN); - GtkWidget *nocert = hildon_button_new (HILDON_SIZE_FINGER_HEIGHT | - HILDON_SIZE_AUTO_WIDTH, - HILDON_BUTTON_ARRANGEMENT_VERTICAL); - hildon_button_set_text (HILDON_BUTTON (nocert), - "No certificate", - "Use system-wide CA certificates"); - hildon_button_set_alignment (HILDON_BUTTON (nocert), 0, 0.5, 1, 1); - g_signal_connect (nocert, "clicked", G_CALLBACK (no_certificate), selector); - hildon_file_chooser_dialog_add_extra (HILDON_FILE_CHOOSER_DIALOG (selector), - nocert); - gtk_widget_show_all (selector); - - switch (gtk_dialog_run (GTK_DIALOG (selector))) - { - case GTK_RESPONSE_OK: - { - gchar *file = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (selector)); - hildon_button_set_value (button, file); - g_free(file); - break; - } - case GTK_RESPONSE_REJECT: - { - hildon_button_set_value (button, "None"); - break; - } - default: - break; - } - gtk_widget_destroy (selector); -} - -/** - * Shows a dialog to edit the given connection (or create a new one, - * if conn is NULL) - */ -static void -edit_connection (gpointer *parent, StrongswanConnection *conn) -{ - GtkWidget *dialog; - dialog = gtk_dialog_new_with_buttons ( - conn ? "Edit Connection" : "New Connection", - GTK_WINDOW (parent), - GTK_DIALOG_MODAL | GTK_DIALOG_NO_SEPARATOR, - GTK_STOCK_CANCEL, - GTK_RESPONSE_CANCEL, - GTK_STOCK_SAVE, - GTK_RESPONSE_OK, - NULL); - GtkWidget *vbox = GTK_DIALOG (dialog)->vbox; - GtkSizeGroup *group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); - - GtkWidget *name = hildon_entry_new (HILDON_SIZE_AUTO); - hildon_gtk_entry_set_placeholder_text (GTK_ENTRY (name), "Connection Name"); - hildon_gtk_entry_set_input_mode (GTK_ENTRY (name), - HILDON_GTK_INPUT_MODE_AUTOCAP | - HILDON_GTK_INPUT_MODE_ALPHA | - HILDON_GTK_INPUT_MODE_NUMERIC); - GtkWidget *ncap = hildon_caption_new (group, - "Name", - name, - NULL, - HILDON_CAPTION_OPTIONAL); - gtk_box_pack_start (GTK_BOX (vbox), ncap, TRUE, TRUE, 0); - - GtkWidget *host = hildon_entry_new (HILDON_SIZE_AUTO); - hildon_gtk_entry_set_placeholder_text (GTK_ENTRY (host), "Hostname / IP"); - hildon_gtk_entry_set_input_mode (GTK_ENTRY (host), - HILDON_GTK_INPUT_MODE_FULL); - GtkWidget *hcap = hildon_caption_new (group, - "Host", - host, - NULL, - HILDON_CAPTION_OPTIONAL); - gtk_box_pack_start (GTK_BOX (vbox), hcap, TRUE, TRUE, 0); - - GtkWidget *cert = hildon_button_new (HILDON_SIZE_FINGER_HEIGHT | - HILDON_SIZE_AUTO_WIDTH, - HILDON_BUTTON_ARRANGEMENT_VERTICAL); - hildon_button_set_text (HILDON_BUTTON (cert), - "Host or CA Certificate", - "None"); - hildon_button_set_alignment (HILDON_BUTTON (cert), 0, 0.5, 1, 1); - g_signal_connect (cert, "clicked", G_CALLBACK (select_cert), dialog); - GtkWidget *ccap = hildon_caption_new (group, - "Certificate", - cert, - NULL, - HILDON_CAPTION_OPTIONAL); - gtk_box_pack_start (GTK_BOX (vbox), ccap, TRUE, TRUE, 0); - - GtkWidget *user = hildon_entry_new (HILDON_SIZE_AUTO); - hildon_gtk_entry_set_placeholder_text (GTK_ENTRY (user), "Username"); - hildon_gtk_entry_set_input_mode (GTK_ENTRY (user), - HILDON_GTK_INPUT_MODE_FULL); - GtkWidget *ucap = hildon_caption_new (group, - "Username", - user, - NULL, - HILDON_CAPTION_OPTIONAL); - gtk_box_pack_start (GTK_BOX (vbox), ucap, TRUE, TRUE, 0); - - if (conn) - { - gchar *c_name, *c_host, *c_cert, *c_user; - g_object_get (conn, - "name", &c_name, - "host", &c_host, - "cert", &c_cert, - "user", &c_user, - NULL); - gtk_entry_set_text (GTK_ENTRY (name), c_name); - gtk_entry_set_text (GTK_ENTRY (host), c_host); - hildon_button_set_value (HILDON_BUTTON (cert), - c_cert ? c_cert : "None"); - gtk_entry_set_text (GTK_ENTRY (user), c_user); - g_free (c_name); - g_free (c_host); - g_free (c_cert); - g_free (c_user); - } - - gtk_widget_show_all (dialog); - - gint retval = gtk_dialog_run (GTK_DIALOG (dialog)); - if (retval == GTK_RESPONSE_OK) - { - const gchar *c_name, *c_cert; - c_name = gtk_entry_get_text (GTK_ENTRY (name)); - if (!conn) - { - conn = strongswan_connection_new (c_name); - } - c_cert = hildon_button_get_value (HILDON_BUTTON (cert)); - c_cert = strcmp (c_cert, "None") ? c_cert : NULL; - g_object_set (conn, - "name", c_name, - "host", gtk_entry_get_text (GTK_ENTRY (host)), - "cert", c_cert, - "user", gtk_entry_get_text (GTK_ENTRY (user)), - NULL); - strongswan_connections_save_connection (ListDialog.conns, conn); - } - gtk_widget_destroy (dialog); -} - -/** - * Creates a dialog showing a list of all connections - */ -static void -create_list_dialog (gpointer *parent) -{ - GtkWidget *dialog = gtk_dialog_new_with_buttons ( - "strongSwan Connections", - GTK_WINDOW (parent), - GTK_DIALOG_MODAL | GTK_DIALOG_NO_SEPARATOR, - GTK_STOCK_NEW, - RESPONSE_NEW, - GTK_STOCK_EDIT, - RESPONSE_EDIT, - GTK_STOCK_DELETE, - RESPONSE_DELETE, - GTK_STOCK_CLOSE, - GTK_RESPONSE_OK, - NULL); - ListDialog.dialog = dialog; - GtkWidget *vbox = GTK_DIALOG (dialog)->vbox; - - ListDialog.conns = strongswan_connections_new (); - - GtkTreeModel *model = strongswan_connections_get_model (ListDialog.conns); - ListDialog.list = gtk_tree_view_new_with_model (model); - g_object_unref (model); - - GtkTreeSelection *selection; - selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (ListDialog.list)); - gtk_tree_selection_set_mode (selection, GTK_SELECTION_BROWSE); - - GtkTreeViewColumn *column = gtk_tree_view_column_new (); - strongswan_connections_setup_column_renderers (ListDialog.conns, - GTK_CELL_LAYOUT (column)); - gtk_tree_view_append_column (GTK_TREE_VIEW (ListDialog.list), column); - - gtk_box_pack_start (GTK_BOX (vbox), - ListDialog.list, - TRUE, - TRUE, - HILDON_MARGIN_DEFAULT); - gtk_widget_show_all (dialog); - gtk_widget_hide (dialog); -} - -/** - * Get the name fo the selected connection in the list (or NULL). - * The name has to be freed. - */ -static gchar * -get_selected (void) -{ - GtkTreeView *tree = GTK_TREE_VIEW(ListDialog.list); - GtkTreeSelection *selection; - GtkTreeModel *model; - GtkTreeIter iter; - gchar *name = NULL; - - selection = gtk_tree_view_get_selection (tree); - model = gtk_tree_view_get_model (tree); - if (gtk_tree_selection_get_selected (selection, &model, &iter)) - { - gtk_tree_model_get(model, &iter, 0, &name, -1); - } - return name; -} - -/** - * main callback for control panel plugins - */ -osso_return_t execute(osso_context_t *osso, gpointer data, - gboolean user_activated) -{ - gint response; - - create_list_dialog (data); - - if (!user_activated) - { - /* load state */ - } - - do - { - gchar *selected; - response = gtk_dialog_run (GTK_DIALOG (ListDialog.dialog)); - switch (response) - { - case RESPONSE_NEW: - { - edit_connection (data, NULL); - break; - } - case RESPONSE_EDIT: - { - StrongswanConnection *conn; - selected = get_selected (); - conn = strongswan_connections_get_connection (ListDialog.conns, - selected); - if (conn) - { - edit_connection (data, conn); - } - else - { - hildon_banner_show_information (NULL, NULL, - "Select a connection first"); - } - g_free (selected); - break; - } - case RESPONSE_DELETE: - { - GtkWidget *confirm; - gint retval; - gchar *msg; - selected = get_selected (); - if (!selected) - { - hildon_banner_show_information (NULL, NULL, - "Select a connection first"); - break; - } - msg = g_strdup_printf ("Delete connection?\n%s", selected); - confirm = hildon_note_new_confirmation (data, msg); - retval = gtk_dialog_run (GTK_DIALOG (confirm)); - if (retval == GTK_RESPONSE_OK) - { - strongswan_connections_remove_connection (ListDialog.conns, - selected); - } - gtk_widget_destroy (confirm); - g_free (msg); - g_free (selected); - break; - } - default: - break; - } - } - while (response > 0); - - gtk_widget_destroy (ListDialog.dialog); - g_object_unref (ListDialog.conns); - return OSSO_OK; -} - -/** - * callback called in case state has to be saved - */ -osso_return_t save_state(osso_context_t *osso, gpointer data) -{ - /* save state */ - return OSSO_OK; -} - diff --git a/src/frontends/maemo/src/strongswan-status.c b/src/frontends/maemo/src/strongswan-status.c deleted file mode 100644 index 278ca080d..000000000 --- a/src/frontends/maemo/src/strongswan-status.c +++ /dev/null @@ -1,621 +0,0 @@ -/* - * Copyright (C) 2010 Tobias Brunner - * Hochschule fuer Technik Rapperswil - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. See . - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * for more details. - */ - -#include -#include - -#include - -#include "strongswan-status.h" -#include "strongswan-connections.h" - -#define STRONGSWAN_STATUS_GET_PRIVATE(object) \ - (G_TYPE_INSTANCE_GET_PRIVATE ((object), \ - STRONGSWAN_TYPE_STATUS, \ - StrongswanStatusPrivate)) - -#define OSSO_STATUS_NAME "status" -#define OSSO_STATUS_SERVICE "org.strongswan."OSSO_STATUS_NAME -#define OSSO_STATUS_OBJECT "/org/strongswan/"OSSO_STATUS_NAME -#define OSSO_STATUS_IFACE "org.strongswan."OSSO_STATUS_NAME - -#define OSSO_CHARON_NAME "charon" -#define OSSO_CHARON_SERVICE "org.strongswan."OSSO_CHARON_NAME -#define OSSO_CHARON_OBJECT "/org/strongswan/"OSSO_CHARON_NAME -#define OSSO_CHARON_IFACE "org.strongswan."OSSO_CHARON_NAME - -#define ICON_SIZE_STATUS 18 -#define ICON_SIZE_BUTTON 48 - -#define UNREF_IF(obj) do { \ - if (obj) { obj = (g_object_unref (obj), NULL); } \ -} while(0) - -typedef enum -{ - STATUS_DISCONNECTED, - STATUS_CONNECTING, - STATUS_CONNECTED, - STATUS_AUTH_FAILED, - STATUS_CONNECTION_FAILED, -} StrongswanConnectionStatus; - -struct _StrongswanStatusPrivate -{ - struct { - GdkPixbuf *status_open; - GdkPixbuf *status_close; - GdkPixbuf *button_open; - GdkPixbuf *button_close; - } icons; - - GtkWidget *dialog; - GtkWidget *button; - GtkWidget *image; - GtkWidget *selector; - GtkWidget *box; - - osso_context_t *context; - - StrongswanConnections *conns; - - StrongswanConnectionStatus status; - gchar *current; -}; - -HD_DEFINE_PLUGIN_MODULE_EXTENDED (StrongswanStatus, strongswan_status, \ - HD_TYPE_STATUS_MENU_ITEM, {}, { \ - strongswan_connection_register (G_TYPE_MODULE (plugin)); \ - strongswan_connections_register (G_TYPE_MODULE (plugin)); }, {}); - -static void -update_status_menu (StrongswanStatus *plugin) -{ - StrongswanStatusPrivate *priv = plugin->priv; - switch (priv->status) - { - default: - case STATUS_DISCONNECTED: - { - hildon_button_set_value (HILDON_BUTTON (priv->button), - "Not connected"); - hd_status_plugin_item_set_status_area_icon ( - HD_STATUS_PLUGIN_ITEM (plugin), - priv->icons.status_open); - gtk_image_set_from_pixbuf (GTK_IMAGE (priv->image), - priv->icons.button_open); - break; - } - case STATUS_CONNECTING: - { - gchar *msg = g_strdup_printf ("Connecting to %s...", priv->current); - hildon_button_set_value (HILDON_BUTTON (priv->button), msg); - g_free (msg); - break; - } - case STATUS_CONNECTED: - { - gchar *msg = g_strdup_printf ("Connected to %s", priv->current); - hildon_button_set_value (HILDON_BUTTON (priv->button), msg); - g_free (msg); - hd_status_plugin_item_set_status_area_icon ( - HD_STATUS_PLUGIN_ITEM (plugin), - priv->icons.status_close); - gtk_image_set_from_pixbuf (GTK_IMAGE (priv->image), - priv->icons.button_close); - break; - } - } -} - -static void -update_dialog_connecting (StrongswanStatus *plugin) -{ - StrongswanStatusPrivate *priv = plugin->priv; - - gtk_widget_set_sensitive (priv->box, FALSE); - hildon_gtk_window_set_progress_indicator (GTK_WINDOW (priv->dialog), 1); -} - -static void -update_dialog_default (StrongswanStatus *plugin) -{ - StrongswanStatusPrivate *priv = plugin->priv; - - gtk_widget_set_sensitive (priv->box, TRUE); - hildon_gtk_window_set_progress_indicator (GTK_WINDOW (priv->dialog), 0); -} - -static void -dialog_response (GtkDialog *dialog, gint response_id, StrongswanStatus *plugin) -{ - StrongswanStatusPrivate *priv = plugin->priv; - gtk_widget_destroy (priv->dialog); - priv->dialog = NULL; -} - -static void -handle_status_change (StrongswanStatus *plugin, - StrongswanConnectionStatus status, - gchar *message) -{ - StrongswanStatusPrivate *priv = plugin->priv; - gchar *msg = NULL; - - switch (status) - { - case STATUS_CONNECTION_FAILED: - { - if (priv->status == STATUS_CONNECTED) - { - msg = g_strdup_printf ("Lost connection to %s", priv->current); - } - else if (message) - { - msg = g_strdup_printf ("Failed to connect to %s: %s", - priv->current, message); - } - else - { - msg = g_strdup_printf ("Failed to connect to %s", - priv->current); - } - status = STATUS_DISCONNECTED; - break; - } - case STATUS_AUTH_FAILED: - { - msg = g_strdup_printf ("Failed to connect to %s: authentication " - "failed", priv->current); - status = STATUS_DISCONNECTED; - /* TODO: show password dialog again? */ - break; - } - case STATUS_CONNECTED: - { - msg = g_strdup_printf ("Successfully connected to %s", - priv->current); - break; - } - default: - case STATUS_DISCONNECTED: - { - msg = g_strdup_printf ("Disconnected from %s", priv->current); - break; - } - } - - priv->status = status; - - if (status == STATUS_DISCONNECTED) - { - priv->current = (g_free (priv->current), NULL); - } - - hildon_banner_show_information (NULL, NULL, msg); - g_free (msg); - - update_status_menu (plugin); - - if (priv->dialog) - { - update_dialog_default (plugin); - if (status == STATUS_CONNECTED) - { - gtk_dialog_response (GTK_DIALOG (priv->dialog), GTK_RESPONSE_OK); - } - } -} - -static gboolean -get_password (StrongswanStatus *plugin, gchar **password) -{ - StrongswanStatusPrivate *priv = plugin->priv; - gboolean result = FALSE; - - GtkWidget *dialog = gtk_dialog_new_with_buttons ( - "Connecting...", - GTK_WINDOW(priv->dialog), - GTK_DIALOG_MODAL | GTK_DIALOG_NO_SEPARATOR, - GTK_STOCK_CANCEL, - GTK_RESPONSE_CANCEL, - GTK_STOCK_OK, - GTK_RESPONSE_OK, - NULL); - gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK); - GtkWidget *vbox = GTK_DIALOG (dialog)->vbox; - GtkSizeGroup *group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); - - GtkWidget *pass = hildon_entry_new (HILDON_SIZE_AUTO); - hildon_gtk_entry_set_placeholder_text (GTK_ENTRY (pass), "Password"); - hildon_gtk_entry_set_input_mode (GTK_ENTRY (pass), - HILDON_GTK_INPUT_MODE_FULL | - HILDON_GTK_INPUT_MODE_INVISIBLE); - GtkWidget *pcap = hildon_caption_new (group, - "Password", - pass, - NULL, - HILDON_CAPTION_OPTIONAL); - gtk_box_pack_start (GTK_BOX (vbox), pcap, TRUE, TRUE, 0); - gtk_widget_show_all (dialog); - - gint retval = gtk_dialog_run (GTK_DIALOG (dialog)); - if (retval == GTK_RESPONSE_OK) - { - *password = g_strdup (gtk_entry_get_text (GTK_ENTRY (pass))); - result = TRUE; - } - gtk_widget_destroy (dialog); - return result; -} - -static void -connect_clicked (HildonButton *button, StrongswanStatus *plugin) -{ - StrongswanStatusPrivate *priv = plugin->priv; - osso_return_t result; - osso_rpc_t retval; - - priv->current = hildon_touch_selector_get_current_text ( - HILDON_TOUCH_SELECTOR (priv->selector)); - priv->status = STATUS_CONNECTING; - update_dialog_connecting (plugin); - update_status_menu (plugin); - - StrongswanConnection *conn = strongswan_connections_get_connection ( - priv->conns, - priv->current); - if (!conn) - { - handle_status_change (plugin, STATUS_CONNECTION_FAILED, "not found"); - return; - } - - /* this call on the system bus is only needed to start charon as root */ - result = osso_rpc_run_system (priv->context, - OSSO_CHARON_SERVICE, - OSSO_CHARON_OBJECT, - OSSO_CHARON_IFACE, - "Start", - &retval, - DBUS_TYPE_INVALID); - osso_rpc_free_val (&retval); - if (result != OSSO_OK) - { - handle_status_change (plugin, STATUS_CONNECTION_FAILED, - "couldn't connect to charon"); - return; - } - - gchar *c_host, *c_cert, *c_user, *c_pass; - - if (!get_password (plugin, &c_pass)) - { - update_dialog_default (plugin); - return; - } - - g_object_get (conn, - "host", &c_host, - "cert", &c_cert, - "user", &c_user, - NULL); - - result = osso_rpc_run (priv->context, - OSSO_CHARON_SERVICE, - OSSO_CHARON_OBJECT, - OSSO_CHARON_IFACE, - "Connect", - &retval, - DBUS_TYPE_STRING, priv->current, - DBUS_TYPE_STRING, c_host, - DBUS_TYPE_STRING, c_cert, - DBUS_TYPE_STRING, c_user, - DBUS_TYPE_STRING, c_pass, - DBUS_TYPE_INVALID); - - g_free (c_host); - g_free (c_cert); - g_free (c_user); - g_free (c_pass); - - if (result != OSSO_OK || !retval.value.b) - { - handle_status_change (plugin, STATUS_CONNECTION_FAILED, - "initiation failed"); - osso_rpc_free_val (&retval); - return; - } - osso_rpc_free_val (&retval); -} - -static void -disconnect_clicked (HildonButton *button, StrongswanStatus *plugin) -{ - osso_return_t result; - osso_rpc_t retval; - gchar *msg; - StrongswanStatusPrivate *priv = plugin->priv; - - gtk_widget_set_sensitive (priv->box, FALSE); - hildon_gtk_window_set_progress_indicator (GTK_WINDOW (priv->dialog), 1); - - result = osso_rpc_run_system (priv->context, - OSSO_CHARON_SERVICE, - OSSO_CHARON_OBJECT, - OSSO_CHARON_IFACE, - "Disconnect", - &retval, - DBUS_TYPE_INVALID); - - gtk_widget_set_sensitive (priv->box, TRUE); - hildon_gtk_window_set_progress_indicator (GTK_WINDOW (priv->dialog), 0); - - if (result == OSSO_OK) - { - msg = g_strdup_printf ("Successfully disconnected from %s", - priv->current); - } - else - { - msg = g_strdup_printf ("Failed to disconnect from %s", priv->current); - } - hildon_banner_show_information (NULL, NULL, msg); - g_free (msg); - - priv->current = (g_free (priv->current), NULL); - priv->status = STATUS_DISCONNECTED; - - update_status_menu (plugin); - - gtk_dialog_response (GTK_DIALOG (priv->dialog), GTK_RESPONSE_OK); -} - -static void -setup_dialog_disconnected (StrongswanStatus *plugin) -{ - StrongswanStatusPrivate *priv = plugin->priv; - - GtkWidget *vbox = GTK_DIALOG (priv->dialog)->vbox; - GtkWidget *hbox = gtk_hbox_new (FALSE, 0); - priv->box = hbox; - GtkWidget *button = hildon_picker_button_new ( - HILDON_SIZE_FINGER_HEIGHT | - HILDON_SIZE_AUTO_WIDTH, - HILDON_BUTTON_ARRANGEMENT_HORIZONTAL); - hildon_button_set_title (HILDON_BUTTON (button), "Connection:"); - gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 0); - - GtkWidget *selector = hildon_touch_selector_new (); - priv->selector = selector; - GtkTreeModel *model = strongswan_connections_get_model (priv->conns); - hildon_touch_selector_append_text_column ( - HILDON_TOUCH_SELECTOR (selector), - model, - TRUE); - hildon_picker_button_set_selector (HILDON_PICKER_BUTTON (button), - HILDON_TOUCH_SELECTOR (selector)); - - button = hildon_button_new_with_text ( - HILDON_SIZE_FINGER_HEIGHT | - HILDON_SIZE_AUTO_WIDTH, - HILDON_BUTTON_ARRANGEMENT_HORIZONTAL, - "Connect", NULL); - gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0); - gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); - g_signal_connect (button, "clicked", G_CALLBACK (connect_clicked), - plugin); -} - -static void -setup_dialog_connected (StrongswanStatus *plugin) -{ - StrongswanStatusPrivate *priv = plugin->priv; - - GtkWidget *vbox = GTK_DIALOG (priv->dialog)->vbox; - GtkWidget *hbox = gtk_hbox_new (FALSE, 0); - priv->box = hbox; - GtkWidget *button = hildon_button_new_with_text ( - HILDON_SIZE_FINGER_HEIGHT | - HILDON_SIZE_AUTO_WIDTH, - HILDON_BUTTON_ARRANGEMENT_HORIZONTAL, - "Disconnect", priv->current); - hildon_button_set_style (HILDON_BUTTON (button), - HILDON_BUTTON_STYLE_PICKER); - g_signal_connect (button, "clicked", G_CALLBACK (disconnect_clicked), - plugin); - gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 0); - gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); -} - -static void -button_clicked (HildonButton *button, StrongswanStatus *plugin) -{ - StrongswanStatusPrivate *priv = plugin->priv; - - priv->dialog = gtk_dialog_new (); - gtk_window_set_title (GTK_WINDOW (priv->dialog), "strongSwan VPN"); - g_signal_connect (priv->dialog, "response", - G_CALLBACK (dialog_response), plugin); - - switch (priv->status) - { - default: - case STATUS_DISCONNECTED: - setup_dialog_disconnected (plugin); - break; - case STATUS_CONNECTING: - setup_dialog_disconnected (plugin); - update_dialog_connecting (plugin); - break; - case STATUS_CONNECTED: - setup_dialog_connected (plugin); - break; - } - - gtk_widget_show_all (priv->dialog); -} - -static gint -dbus_req_handler(const gchar *interface, const gchar *method, - GArray *arguments, StrongswanStatus *plugin, - osso_rpc_t *retval) -{ - if (!strcmp (method, "StatusChanged") && arguments->len == 1) - { - int status = 0; - osso_rpc_t *arg = &g_array_index(arguments, osso_rpc_t, 0); - if (arg->type == DBUS_TYPE_INT32) - { - status = arg->value.i; - } - handle_status_change (plugin, status, NULL); - } - return OSSO_OK; -} - -static GdkPixbuf* -load_icon (GtkIconTheme *theme, const gchar *name, gint size) -{ - GdkPixbuf *icon = gtk_icon_theme_load_icon (theme, name, size, - GTK_ICON_LOOKUP_NO_SVG, NULL); - return icon; -} - -static void -load_icons (StrongswanStatusPrivate *priv) -{ - GtkIconTheme *theme = gtk_icon_theme_get_default (); - priv->icons.status_open = load_icon (theme, "strongswan_lock_open", - ICON_SIZE_STATUS); - priv->icons.status_close = load_icon (theme, "strongswan_lock_close", - ICON_SIZE_STATUS); - priv->icons.button_open = load_icon (theme, "strongswan_lock_open", - ICON_SIZE_BUTTON); - priv->icons.button_close = load_icon (theme, "strongswan_lock_close", - ICON_SIZE_BUTTON); -} - -static void -icon_theme_changed (GtkIconTheme *theme, StrongswanStatus *plugin) -{ - StrongswanStatusPrivate *priv = plugin->priv; - UNREF_IF(priv->icons.status_open); - UNREF_IF(priv->icons.status_close); - UNREF_IF(priv->icons.button_open); - UNREF_IF(priv->icons.button_close); - load_icons (priv); - update_status_menu (plugin); -} - -static void -strongswan_status_init (StrongswanStatus *plugin) -{ - StrongswanStatusPrivate *priv = STRONGSWAN_STATUS_GET_PRIVATE (plugin); - plugin->priv = priv; - - priv->context = osso_initialize (OSSO_STATUS_SERVICE, "0.0.1", TRUE, NULL); - if (!priv->context) - { - return; - } - osso_return_t result; - result = osso_rpc_set_cb_f (priv->context, - OSSO_STATUS_SERVICE, - OSSO_STATUS_OBJECT, - OSSO_STATUS_IFACE, - (osso_rpc_cb_f*)dbus_req_handler, - plugin); - if (result != OSSO_OK) - { - return; - } - - priv->conns = strongswan_connections_new (); - - load_icons(priv); - - hd_status_plugin_item_set_status_area_icon (HD_STATUS_PLUGIN_ITEM (plugin), - priv->icons.status_open); - - GtkWidget *button = hildon_button_new_with_text ( - HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH, - HILDON_BUTTON_ARRANGEMENT_VERTICAL, - "strongSwan VPN", "Not connected"); - hildon_button_set_style (HILDON_BUTTON (button), - HILDON_BUTTON_STYLE_PICKER); - priv->button = button; - gtk_container_add (GTK_CONTAINER (plugin), button); - - GtkWidget *image = gtk_image_new_from_pixbuf (priv->icons.button_open); - priv->image = image; - hildon_button_set_image (HILDON_BUTTON (button), image); - - gtk_button_set_alignment (GTK_BUTTON (button), 0.0, 0.5); - - g_signal_connect (button, "clicked", G_CALLBACK (button_clicked), plugin); - - gtk_widget_show_all (GTK_WIDGET (plugin)); - - g_signal_connect (gtk_icon_theme_get_default (), "changed", - G_CALLBACK (icon_theme_changed), plugin); -} - -static void -strongswan_status_dispose (GObject *object) -{ - StrongswanStatusPrivate *priv = STRONGSWAN_STATUS (object)->priv; - if (priv->context) - { - osso_rpc_unset_cb_f (priv->context, - OSSO_STATUS_SERVICE, - OSSO_STATUS_OBJECT, - OSSO_STATUS_IFACE, - (osso_rpc_cb_f*)dbus_req_handler, - STRONGSWAN_STATUS (object)); - osso_deinitialize (priv->context); - priv->context = NULL; - } - UNREF_IF(priv->conns); - UNREF_IF(priv->icons.status_open); - UNREF_IF(priv->icons.status_close); - UNREF_IF(priv->icons.button_open); - UNREF_IF(priv->icons.button_close); - G_OBJECT_CLASS (strongswan_status_parent_class)->dispose (object); -} - -static void -strongswan_status_finalize (GObject *object) -{ - StrongswanStatusPrivate *priv = STRONGSWAN_STATUS (object)->priv; - priv->current = (g_free (priv->current), NULL); - G_OBJECT_CLASS (strongswan_status_parent_class)->finalize (object); -} - -static void -strongswan_status_class_finalize (StrongswanStatusClass *klass) -{ -} - -static void -strongswan_status_class_init (StrongswanStatusClass *klass) -{ - GObjectClass *object_class = G_OBJECT_CLASS (klass); - - object_class->dispose = strongswan_status_dispose; - object_class->finalize = strongswan_status_finalize; - - g_type_class_add_private (klass, sizeof (StrongswanStatusPrivate)); -} diff --git a/src/frontends/maemo/src/strongswan-status.h b/src/frontends/maemo/src/strongswan-status.h deleted file mode 100644 index 9daa8e59d..000000000 --- a/src/frontends/maemo/src/strongswan-status.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (C) 2010 Tobias Brunner - * Hochschule fuer Technik Rapperswil - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. See . - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * for more details. - */ - -#ifndef __STRONGSWAN_STATUS_H__ -#define __STRONGSWAN_STATUS_H__ - -#include - -G_BEGIN_DECLS - -#define STRONGSWAN_TYPE_STATUS (strongswan_status_get_type ()) -#define STRONGSWAN_STATUS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), STRONGSWAN_TYPE_STATUS, StrongswanStatus)) -#define STRONGSWAN_STATUS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), STRONGSWAN_TYPE_STATUS, StrongswanStatusClass)) -#define STRONGSWAN_IS_STATUS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), STRONGSWAN_TYPE_STATUS)) -#define STRONGSWAN_IS_STATUS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), STRONGSWAN_TYPE_STATUS)) -#define STRONGSWAN_STATUS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), STRONGSWAN_TYPE_STATUSS, StrongswanStatusClass)) - -typedef struct _StrongswanStatus StrongswanStatus; -typedef struct _StrongswanStatusClass StrongswanStatusClass; -typedef struct _StrongswanStatusPrivate StrongswanStatusPrivate; - -struct _StrongswanStatus -{ - HDStatusMenuItem parent; - - StrongswanStatusPrivate *priv; -}; - -struct _StrongswanStatusClass -{ - HDStatusMenuItemClass parent; -}; - -GType strongswan_status_get_type (void); - -G_END_DECLS - -#endif /* __STRONGSWAN_STATUS_H__ */ - diff --git a/src/libcharon/Makefile.am b/src/libcharon/Makefile.am index 550f6eb9c..e530205e8 100644 --- a/src/libcharon/Makefile.am +++ b/src/libcharon/Makefile.am @@ -513,13 +513,6 @@ if MONOLITHIC endif endif -if USE_MAEMO - SUBDIRS += plugins/maemo -if MONOLITHIC - libcharon_la_LIBADD += plugins/maemo/libstrongswan-maemo.la -endif -endif - if USE_HA SUBDIRS += plugins/ha if MONOLITHIC diff --git a/src/libcharon/plugins/maemo/Makefile.am b/src/libcharon/plugins/maemo/Makefile.am deleted file mode 100644 index 02c283f5b..000000000 --- a/src/libcharon/plugins/maemo/Makefile.am +++ /dev/null @@ -1,29 +0,0 @@ -AM_CPPFLAGS = \ - -I$(top_srcdir)/src/libstrongswan \ - -I$(top_srcdir)/src/libcharon - -AM_CFLAGS = \ - ${maemo_CFLAGS} \ - $(PLUGIN_CFLAGS) - -if MONOLITHIC -noinst_LTLIBRARIES = libstrongswan-maemo.la -else -plugin_LTLIBRARIES = libstrongswan-maemo.la -endif - -libstrongswan_maemo_la_SOURCES = \ - maemo_plugin.h maemo_plugin.c \ - maemo_service.h maemo_service.c - -libstrongswan_maemo_la_LDFLAGS = -module -avoid-version -libstrongswan_maemo_la_LIBADD = ${maemo_LIBS} - -dbusservice_DATA = org.strongswan.charon.service - -org.strongswan.charon.service: $(srcdir)/org.strongswan.charon.service.in - $(AM_V_GEN) \ - sed -e 's|[@]LIBEXECDIR[@]|$(libexecdir)|' $< >$@ - -EXTRA_DIST = org.strongswan.charon.service.in -CLEANFILES = $(dbusservice_DATA) diff --git a/src/libcharon/plugins/maemo/maemo_plugin.c b/src/libcharon/plugins/maemo/maemo_plugin.c deleted file mode 100644 index ddf9cdb5b..000000000 --- a/src/libcharon/plugins/maemo/maemo_plugin.c +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright (C) 2010 Tobias Brunner - * Hochschule fuer Technik Rapperswil - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. See . - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * for more details. - */ - -#include "maemo_plugin.h" -#include "maemo_service.h" - -#include - -typedef struct private_maemo_plugin_t private_maemo_plugin_t; - -/** - * private data of maemo plugin - */ -struct private_maemo_plugin_t { - - /** - * implements plugin interface - */ - maemo_plugin_t public; - - /** - * service - */ - maemo_service_t *service; -}; - -METHOD(plugin_t, get_name, char*, - private_maemo_plugin_t *this) -{ - return "maemo"; -} - -METHOD(plugin_t, get_features, int, - private_maemo_plugin_t *this, plugin_feature_t *features[]) -{ - static plugin_feature_t f[] = { - PLUGIN_NOOP, - PLUGIN_PROVIDE(CUSTOM, "maemo"), - }; - *features = f; - return countof(f); -} - -METHOD(plugin_t, destroy, void, - private_maemo_plugin_t *this) -{ - this->service->destroy(this->service); - free(this); -} - -/* - * See header - */ -plugin_t *maemo_plugin_create() -{ - private_maemo_plugin_t *this; - - INIT(this, - .public = { - .plugin = { - .get_name = _get_name, - .get_features = _get_features, - .destroy = _destroy, - }, - }, - ); - - this->service = maemo_service_create(); - if (!this->service) - { - return NULL; - } - - return &this->public.plugin; -} diff --git a/src/libcharon/plugins/maemo/maemo_plugin.h b/src/libcharon/plugins/maemo/maemo_plugin.h deleted file mode 100644 index 23d139b49..000000000 --- a/src/libcharon/plugins/maemo/maemo_plugin.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (C) 2010 Tobias Brunner - * Hochschule fuer Technik Rapperswil - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. See . - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * for more details. - */ - -/** - * @defgroup maemo maemo - * @ingroup cplugins - * - * @defgroup maemo_plugin maemo_plugin - * @{ @ingroup maemo - */ - -#ifndef MAEMO_PLUGIN_H_ -#define MAEMO_PLUGIN_H_ - -#include - -typedef struct maemo_plugin_t maemo_plugin_t; - -/** - * Maemo integration plugin. - */ -struct maemo_plugin_t { - - /** - * implements plugin interface - */ - plugin_t plugin; -}; - -#endif /** MAEMO_PLUGIN_H_ @}*/ diff --git a/src/libcharon/plugins/maemo/maemo_service.c b/src/libcharon/plugins/maemo/maemo_service.c deleted file mode 100644 index 3e5861b87..000000000 --- a/src/libcharon/plugins/maemo/maemo_service.c +++ /dev/null @@ -1,530 +0,0 @@ -/* - * Copyright (C) 2010 Tobias Brunner - * Hochschule fuer Technik Rapperswil - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. See . - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * for more details. - */ - -#include -#include -#include - -#include "maemo_service.h" - -#include -#include -#include - -#define OSSO_STATUS_NAME "status" -#define OSSO_STATUS_SERVICE "org.strongswan."OSSO_STATUS_NAME -#define OSSO_STATUS_OBJECT "/org/strongswan/"OSSO_STATUS_NAME -#define OSSO_STATUS_IFACE "org.strongswan."OSSO_STATUS_NAME - -#define OSSO_CHARON_NAME "charon" -#define OSSO_CHARON_SERVICE "org.strongswan."OSSO_CHARON_NAME -#define OSSO_CHARON_OBJECT "/org/strongswan/"OSSO_CHARON_NAME -#define OSSO_CHARON_IFACE "org.strongswan."OSSO_CHARON_NAME - -#define MAEMO_COMMON_CA_DIR "/etc/certs/common-ca" -#define MAEMO_USER_CA_DIR "/home/user/.maemosec-certs/wifi-ca" -/* there is also an smime-ca and an ssl-ca sub-directory and the same for - * ...-user, which store end user/server certificates */ - -typedef enum { - VPN_STATUS_DISCONNECTED, - VPN_STATUS_CONNECTING, - VPN_STATUS_CONNECTED, - VPN_STATUS_AUTH_FAILED, - VPN_STATUS_CONNECTION_FAILED, -} vpn_status_t; - -typedef struct private_maemo_service_t private_maemo_service_t; - -/** - * private data of maemo service - */ -struct private_maemo_service_t { - - /** - * public interface - */ - maemo_service_t public; - - /** - * credentials - */ - mem_cred_t *creds; - - /** - * Glib main loop for a thread, handles DBUS calls - */ - GMainLoop *loop; - - /** - * Context for OSSO - */ - osso_context_t *context; - - /** - * Current IKE_SA - */ - ike_sa_t *ike_sa; - - /** - * Status of the current connection - */ - vpn_status_t status; - - /** - * Name of the current connection - */ - gchar *current; - -}; - -static gint change_status(private_maemo_service_t *this, int status) -{ - osso_rpc_t retval; - gint res; - this->status = status; - res = osso_rpc_run (this->context, OSSO_STATUS_SERVICE, OSSO_STATUS_OBJECT, - OSSO_STATUS_IFACE, "StatusChanged", &retval, - DBUS_TYPE_INT32, status, - DBUS_TYPE_INVALID); - return res; -} - -METHOD(listener_t, ike_updown, bool, - private_maemo_service_t *this, ike_sa_t *ike_sa, bool up) -{ - /* this callback is only registered during initiation, so if the IKE_SA - * goes down we assume an authentication error */ - if (this->ike_sa == ike_sa && !up) - { - change_status(this, VPN_STATUS_AUTH_FAILED); - return FALSE; - } - return TRUE; -} - -METHOD(listener_t, ike_state_change, bool, - private_maemo_service_t *this, ike_sa_t *ike_sa, ike_sa_state_t state) -{ - /* this call back is only registered during initiation */ - if (this->ike_sa == ike_sa && state == IKE_DESTROYING) - { - change_status(this, VPN_STATUS_CONNECTION_FAILED); - return FALSE; - } - return TRUE; -} - -METHOD(listener_t, child_updown, bool, - private_maemo_service_t *this, ike_sa_t *ike_sa, child_sa_t *child_sa, - bool up) -{ - if (this->ike_sa == ike_sa) - { - if (up) - { - /* disable hooks registered to catch initiation failures */ - this->public.listener.ike_updown = NULL; - this->public.listener.ike_state_change = NULL; - change_status(this, VPN_STATUS_CONNECTED); - } - else - { - change_status(this, VPN_STATUS_CONNECTION_FAILED); - return FALSE; - } - } - return TRUE; -} - -METHOD(listener_t, ike_rekey, bool, - private_maemo_service_t *this, ike_sa_t *old, ike_sa_t *new) -{ - if (this->ike_sa == old) - { - this->ike_sa = new; - } - return TRUE; -} - -/** - * load all CA certificates in the given directory - */ -static void load_ca_dir(private_maemo_service_t *this, char *dir) -{ - enumerator_t *enumerator; - char *rel, *abs; - struct stat st; - - enumerator = enumerator_create_directory(dir); - if (enumerator) - { - while (enumerator->enumerate(enumerator, &rel, &abs, &st)) - { - if (rel[0] != '.') - { - if (S_ISREG(st.st_mode)) - { - certificate_t *cert; - cert = lib->creds->create(lib->creds, CRED_CERTIFICATE, - CERT_X509, BUILD_FROM_FILE, abs, - BUILD_END); - if (!cert) - { - DBG1(DBG_CFG, "loading CA certificate '%s' failed", - abs); - continue; - } - DBG2(DBG_CFG, "loaded CA certificate '%Y'", - cert->get_subject(cert)); - this->creds->add_cert(this->creds, TRUE, cert); - } - } - } - enumerator->destroy(enumerator); - } -} - -static void disconnect(private_maemo_service_t *this) -{ - ike_sa_t *ike_sa; - u_int id; - - if (!this->current) - { - return; - } - - /* avoid status updates, as this is called from the Glib main loop */ - charon->bus->remove_listener(charon->bus, &this->public.listener); - - ike_sa = charon->ike_sa_manager->checkout_by_name(charon->ike_sa_manager, - this->current, FALSE); - if (ike_sa) - { - id = ike_sa->get_unique_id(ike_sa); - charon->ike_sa_manager->checkin(charon->ike_sa_manager, ike_sa); - charon->controller->terminate_ike(charon->controller, id, - NULL, NULL, 0); - } - this->current = (g_free(this->current), NULL); - this->status = VPN_STATUS_DISCONNECTED; -} - -static gboolean initiate_connection(private_maemo_service_t *this, - GArray *arguments) -{ - gint i; - gchar *hostname = NULL, *cacert = NULL, *username = NULL, *password = NULL; - identification_t *gateway = NULL, *user = NULL; - ike_sa_t *ike_sa; - ike_cfg_t *ike_cfg; - peer_cfg_t *peer_cfg; - child_cfg_t *child_cfg; - traffic_selector_t *ts; - auth_cfg_t *auth; - certificate_t *cert; - peer_cfg_create_t peer = { - .cert_policy = CERT_SEND_IF_ASKED, - .unique = UNIQUE_REPLACE, - .keyingtries = 1, - .rekey_time = 36000, /* 10h */ - .jitter_time = 600, /* 10min */ - .over_time = 600, /* 10min */ - }; - child_cfg_create_t child = { - .lifetime = { - .time = { - .life = 10800, /* 3h */ - .rekey = 10200, /* 2h50min */ - .jitter = 300 /* 5min */ - }, - }, - .mode = MODE_TUNNEL, - }; - - if (this->status == VPN_STATUS_CONNECTED || - this->status == VPN_STATUS_CONNECTING) - { - DBG1(DBG_CFG, "currently connected to '%s', disconnecting first", - this->current); - disconnect (this); - } - - if (arguments->len != 5) - { - DBG1(DBG_CFG, "wrong number of arguments: %d", arguments->len); - return FALSE; - } - - for (i = 0; i < arguments->len; i++) - { - osso_rpc_t *arg = &g_array_index(arguments, osso_rpc_t, i); - if (arg->type != DBUS_TYPE_STRING) - { - DBG1(DBG_CFG, "invalid argument [%d]: %d", i, arg->type); - return FALSE; - } - switch (i) - { - case 0: /* name */ - this->current = (g_free(this->current), NULL); - this->current = g_strdup(arg->value.s); - break; - case 1: /* hostname */ - hostname = arg->value.s; - break; - case 2: /* CA certificate path */ - cacert = arg->value.s; - break; - case 3: /* username */ - username = arg->value.s; - break; - case 4: /* password */ - password = arg->value.s; - break; - } - } - - DBG1(DBG_CFG, "received initiate for connection '%s'", this->current); - - this->creds->clear(this->creds); - - if (cacert && !streq(cacert, "")) - { - cert = lib->creds->create(lib->creds, CRED_CERTIFICATE, CERT_X509, - BUILD_FROM_FILE, cacert, BUILD_END); - if (cert) - { - this->creds->add_cert(this->creds, TRUE, cert); - } - else - { - DBG1(DBG_CFG, "failed to load CA certificate"); - } - /* if this is a server cert we could use the cert subject as id */ - } - else - { - load_ca_dir(this, MAEMO_COMMON_CA_DIR); - load_ca_dir(this, MAEMO_USER_CA_DIR); - } - - gateway = identification_create_from_string(hostname); - DBG1(DBG_CFG, "using CA certificate, gateway identitiy '%Y'", gateway); - - { - shared_key_t *shared_key; - chunk_t secret = chunk_create(password, strlen(password)); - user = identification_create_from_string(username); - shared_key = shared_key_create(SHARED_EAP, chunk_clone(secret)); - this->creds->add_shared(this->creds, shared_key, user->clone(user), - NULL); - } - - ike_cfg = ike_cfg_create(IKEV2, TRUE, FALSE, "0.0.0.0", - charon->socket->get_port(charon->socket, FALSE), - hostname, IKEV2_UDP_PORT, FRAGMENTATION_NO, 0); - ike_cfg->add_proposal(ike_cfg, proposal_create_default(PROTO_IKE)); - ike_cfg->add_proposal(ike_cfg, proposal_create_default_aead(PROTO_IKE)); - - peer_cfg = peer_cfg_create(this->current, ike_cfg, &peer); - peer_cfg->add_virtual_ip(peer_cfg, host_create_from_string("0.0.0.0", 0)); - - auth = auth_cfg_create(); - auth->add(auth, AUTH_RULE_AUTH_CLASS, AUTH_CLASS_EAP); - auth->add(auth, AUTH_RULE_IDENTITY, user); - peer_cfg->add_auth_cfg(peer_cfg, auth, TRUE); - auth = auth_cfg_create(); - auth->add(auth, AUTH_RULE_AUTH_CLASS, AUTH_CLASS_PUBKEY); - auth->add(auth, AUTH_RULE_IDENTITY, gateway); - peer_cfg->add_auth_cfg(peer_cfg, auth, FALSE); - - child_cfg = child_cfg_create(this->current, &child); - child_cfg->add_proposal(child_cfg, proposal_create_default(PROTO_ESP)); - child_cfg->add_proposal(child_cfg, proposal_create_default_aead(PROTO_ESP)); - ts = traffic_selector_create_dynamic(0, 0, 65535); - child_cfg->add_traffic_selector(child_cfg, TRUE, ts); - ts = traffic_selector_create_from_string(0, TS_IPV4_ADDR_RANGE, "0.0.0.0", - 0, "255.255.255.255", 65535); - child_cfg->add_traffic_selector(child_cfg, FALSE, ts); - peer_cfg->add_child_cfg(peer_cfg, child_cfg); - - /* get us an IKE_SA */ - ike_sa = charon->ike_sa_manager->checkout_by_config(charon->ike_sa_manager, - peer_cfg); - if (!ike_sa) - { - peer_cfg->destroy(peer_cfg); - this->status = VPN_STATUS_CONNECTION_FAILED; - return FALSE; - } - if (!ike_sa->get_peer_cfg(ike_sa)) - { - ike_sa->set_peer_cfg(ike_sa, peer_cfg); - } - peer_cfg->destroy(peer_cfg); - - /* store the IKE_SA, so we can track its progress */ - this->ike_sa = ike_sa; - this->status = VPN_STATUS_CONNECTING; - this->public.listener.ike_updown = _ike_updown; - this->public.listener.ike_state_change = _ike_state_change; - charon->bus->add_listener(charon->bus, &this->public.listener); - - /* get an additional reference because initiate consumes one */ - child_cfg->get_ref(child_cfg); - if (ike_sa->initiate(ike_sa, child_cfg, 0, NULL, NULL) != SUCCESS) - { - DBG1(DBG_CFG, "failed to initiate tunnel"); - charon->bus->remove_listener(charon->bus, &this->public.listener); - charon->ike_sa_manager->checkin_and_destroy(charon->ike_sa_manager, - ike_sa); - this->status = VPN_STATUS_CONNECTION_FAILED; - return FALSE; - } - charon->ike_sa_manager->checkin(charon->ike_sa_manager, ike_sa); - return TRUE; -} - -/** - * Callback for libosso dbus wrapper - */ -static gint dbus_req_handler(const gchar *interface, const gchar *method, - GArray *arguments, private_maemo_service_t *this, - osso_rpc_t *retval) -{ - if (streq(method, "Start")) - { /* void start (void), dummy function to start charon as root */ - return OSSO_OK; - } - else if (streq(method, "Connect")) - { /* bool connect (name, host, cert, user, pass) */ - retval->value.b = initiate_connection(this, arguments); - retval->type = DBUS_TYPE_BOOLEAN; - } - else if (streq(method, "Disconnect")) - { /* void disconnect (void) */ - disconnect(this); - } - else - { - return OSSO_ERROR; - } - return OSSO_OK; -} - -/** - * Main loop to handle D-BUS messages. - */ -static job_requeue_t run(private_maemo_service_t *this) -{ - this->loop = g_main_loop_new(NULL, FALSE); - g_main_loop_run(this->loop); - return JOB_REQUEUE_NONE; -} - -/** - * Cancel the GLib Main Event Loop - */ -static bool cancel(private_maemo_service_t *this) -{ - if (this->loop) - { - if (g_main_loop_is_running(this->loop)) - { - g_main_loop_quit(this->loop); - } - g_main_loop_unref(this->loop); - } - return TRUE; -} - -METHOD(maemo_service_t, destroy, void, - private_maemo_service_t *this) -{ - if (this->context) - { - osso_rpc_unset_cb_f(this->context, - OSSO_CHARON_SERVICE, - OSSO_CHARON_OBJECT, - OSSO_CHARON_IFACE, - (osso_rpc_cb_f*)dbus_req_handler, - this); - osso_deinitialize(this->context); - } - charon->bus->remove_listener(charon->bus, &this->public.listener); - lib->credmgr->remove_set(lib->credmgr, &this->creds->set); - this->creds->destroy(this->creds); - this->current = (g_free(this->current), NULL); - free(this); -} - -/* - * See header - */ -maemo_service_t *maemo_service_create() -{ - osso_return_t result; - private_maemo_service_t *this; - - INIT(this, - .public = { - .listener = { - .ike_updown = _ike_updown, - .ike_state_change = _ike_state_change, - .child_updown = _child_updown, - .ike_rekey = _ike_rekey, - }, - .destroy = _destroy, - }, - .creds = mem_cred_create(), - ); - - lib->credmgr->add_set(lib->credmgr, &this->creds->set); - - this->context = osso_initialize(OSSO_CHARON_SERVICE, "0.0.1", TRUE, NULL); - if (!this->context) - { - DBG1(DBG_CFG, "failed to initialize OSSO context"); - destroy(this); - return NULL; - } - - result = osso_rpc_set_cb_f(this->context, - OSSO_CHARON_SERVICE, - OSSO_CHARON_OBJECT, - OSSO_CHARON_IFACE, - (osso_rpc_cb_f*)dbus_req_handler, - this); - if (result != OSSO_OK) - { - DBG1(DBG_CFG, "failed to set D-BUS callback (%d)", result); - destroy(this); - return NULL; - } - - this->loop = NULL; - if (!g_thread_supported()) - { - g_thread_init(NULL); - } - - lib->processor->queue_job(lib->processor, - (job_t*)callback_job_create_with_prio((callback_job_cb_t)run, this, - NULL, (callback_job_cancel_t)cancel, JOB_PRIO_CRITICAL)); - - return &this->public; -} diff --git a/src/libcharon/plugins/maemo/maemo_service.h b/src/libcharon/plugins/maemo/maemo_service.h deleted file mode 100644 index b0240cbaa..000000000 --- a/src/libcharon/plugins/maemo/maemo_service.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (C) 2010 Tobias Brunner - * Hochschule fuer Technik Rapperswil - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. See . - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * for more details. - */ - -/** - * @defgroup maemo_service maemo_service - * @{ @ingroup maemo - */ - -#ifndef MAEMO_SERVICE_H_ -#define MAEMO_SERVICE_H_ - -#include - -typedef struct maemo_service_t maemo_service_t; - -/** - * Maemo connection management. - */ -struct maemo_service_t { - - /** - * Implements listener_t. - */ - listener_t listener; - - /** - * Destroy a maemo_service_t. - */ - void (*destroy)(maemo_service_t *this); -}; - -/** - * Create an instance of maemo_service_t. - */ -maemo_service_t *maemo_service_create(); - -#endif /** MAEMO_SERVICE_H_ @}*/ diff --git a/src/libcharon/plugins/maemo/org.strongswan.charon.service.in b/src/libcharon/plugins/maemo/org.strongswan.charon.service.in deleted file mode 100644 index 8fa83af93..000000000 --- a/src/libcharon/plugins/maemo/org.strongswan.charon.service.in +++ /dev/null @@ -1,4 +0,0 @@ -[D-BUS Service] -Name=org.strongswan.charon -Exec=/usr/bin/run-standalone.sh @LIBEXECDIR@/ipsec/charon -User=root