diff --git a/SOURCES/esc-1.1.0-fix23.patch b/SOURCES/esc-1.1.0-fix23.patch new file mode 100755 index 0000000..659fe05 --- /dev/null +++ b/SOURCES/esc-1.1.0-fix23.patch @@ -0,0 +1,143 @@ +diff -up ./esc/src/app/xpcom/Makefile.sdk.fix23 ./esc/src/app/xpcom/Makefile.sdk +--- ./esc/src/app/xpcom/Makefile.sdk.fix23 2014-09-11 15:10:30.555942913 -0700 ++++ ./esc/src/app/xpcom/Makefile.sdk 2014-09-11 15:52:25.964980657 -0700 +@@ -127,7 +127,7 @@ endif + # #include "mozilla-config.h" to each of your .cpp files. + #GECKO_CONFIG_INCLUDE = -include mozilla-config.h + +-GECKO_DEFINES = -DXPCOM_GLUE -DMOZILLA_CLIENT ++GECKO_DEFINES = -DMOZILLA_CLIENT + + ifdef ESC_VERSION + GECKO_DEFINES += -DESC_VERSION=$(ESC_VERSION) +@@ -195,13 +195,13 @@ all:: export libs + + libs:: + +- $(PYTHON_BIN) $(GECKO_SDK_PATH)/bin/header.py --cachedir /tmp -o rhIKeyNotify.h -I $(GECKO_IDL_PATH) -I $(NSPR_INCLUDE) rhIKeyNotify.idl ++ $(PYTHON_BIN) $(GECKO_BIN_PATH)/header.py --cachedir /tmp -o rhIKeyNotify.h -I $(GECKO_IDL_PATH) -I $(NSPR_INCLUDE) rhIKeyNotify.idl + +- $(PYTHON_BIN) $(GECKO_SDK_PATH)/bin/typelib.py --cachedir /tmp -o rhIKeyNotify.xpt -I $(GECKO_IDL_PATH) -I $(NSPR_INCLUDE) rhIKeyNotify.idl ++ $(PYTHON_BIN) $(GECKO_BIN_PATH)/typelib.py --cachedir /tmp -o rhIKeyNotify.xpt -I $(GECKO_IDL_PATH) -I $(NSPR_INCLUDE) rhIKeyNotify.idl + +- $(PYTHON_BIN) $(GECKO_SDK_PATH)/bin/header.py --cachedir /tmp -o rhICoolKey.h -I $(GECKO_IDL_PATH) -I $(NSPR_INCLUDE) rhICoolKey.idl ++ $(PYTHON_BIN) $(GECKO_BIN_PATH)/header.py --cachedir /tmp -o rhICoolKey.h -I $(GECKO_IDL_PATH) -I $(NSPR_INCLUDE) rhICoolKey.idl + +- $(PYTHON_BIN) $(GECKO_SDK_PATH)/bin/typelib.py --cachedir /tmp -o rhICoolKey.xpt -I $(GECKO_IDL_PATH) -I $(NSPR_INCLUDE) rhICoolKey.idl ++ $(PYTHON_BIN) $(GECKO_BIN_PATH)/typelib.py --cachedir /tmp -o rhICoolKey.xpt -I $(GECKO_IDL_PATH) -I $(NSPR_INCLUDE) rhICoolKey.idl + + ifeq ($(OS_ARCH),Darwin) + $(CXX) $(CPPFLAGS) -c -o $(OBJECT) $(GECKO_CONFIG_INCLUDE) $(GECKO_DEFINES) $(GECKO_INCLUDES) $(COOL_INCLUDES) $(CXXFLAGS) $(FILES) +@@ -254,10 +254,10 @@ $(DEPLOY_OBJDIR): + $(NSINSTALL) ./$(LIB_PREFIX)rhCoolKey.$(DLL_SUFFIX) $(CORE_DEPTH)$(DEPLOY_OFFSET)/app/xul/esc/components + $(NSINSTALL) ./*.xpt $(CORE_DEPTH)$(DEPLOY_OFFSET)/app/xul/esc/components + echo "Creating $(DEPLOY_OBJDIR)" +- mkdir $(DEPLOY_OBJDIR) ++# mkdir $(DEPLOY_OBJDIR) + + cd $(CORE_DEPTH)/$(DEPLOY_OFFSET)/app/xul/esc; zip -r test.zip * -x *\CVS\* \*.fix*; unzip -d esc test.zip ; rm -f test.zip +- $(XUL_FRAMEWORK_BIN_PATH)/$(XULRUNNER_EXEC) --install-app $(CORE_DEPTH)$(DEPLOY_OFFSET)/app/xul/esc/esc $(DEPLOY_OBJDIR) ++ $(PYTHON_BIN) $(GECKO_BIN_PATH)/install_app.py $(CORE_DEPTH)$(DEPLOY_OFFSET)/app/xul/esc/esc $(DEPLOY_OBJDIR)/esc --appName esc + + ifeq ($(OS_ARCH), Darwin) + mkdir $(DEPLOY_OBJDIR)/$(XULRUNNER_FRAME_BASE) +diff -up ./esc/src/app/xpcom/rhCoolKey.cpp.fix23 ./esc/src/app/xpcom/rhCoolKey.cpp +--- ./esc/src/app/xpcom/rhCoolKey.cpp.fix23 2014-09-11 15:13:33.032945651 -0700 ++++ ./esc/src/app/xpcom/rhCoolKey.cpp 2014-09-11 15:16:10.244948010 -0700 +@@ -109,7 +109,7 @@ class CoolKeyShutdownObserver : public n + ~CoolKeyShutdownObserver(); + }; + +- NS_IMPL_ISUPPORTS1(CoolKeyShutdownObserver, nsIObserver) ++ NS_IMPL_ISUPPORTS(CoolKeyShutdownObserver, nsIObserver) + + CoolKeyShutdownObserver::~CoolKeyShutdownObserver() + { +@@ -120,7 +120,7 @@ class CoolKeyShutdownObserver : public n + NS_IMETHODIMP + CoolKeyShutdownObserver::Observe(nsISupports *aSubject, + const char *aTopic, +- const PRUnichar *someData) ++ const char16_t *someData) + { + char tBuff[56]; + if (!strcmp(aTopic, NS_XPCOM_SHUTDOWN_OBSERVER_ID)) +@@ -1793,5 +1793,5 @@ static const mozilla::Module kCoolKeyMod + NSMODULE_DEFN(rhCoolKeyModule) = &kCoolKeyModule; + // + +-NS_IMPL_ISUPPORTS1(rhCoolKey,rhICoolKey) ++NS_IMPL_ISUPPORTS(rhCoolKey,rhICoolKey) + +diff -up ./esc/src/app/xpcom/tray/Makefile.sdk.fix23 ./esc/src/app/xpcom/tray/Makefile.sdk +--- ./esc/src/app/xpcom/tray/Makefile.sdk.fix23 2014-09-11 14:42:02.961917291 -0700 ++++ ./esc/src/app/xpcom/tray/Makefile.sdk 2014-09-11 15:09:52.264942339 -0700 +@@ -167,7 +167,7 @@ endif + # #include "mozilla-config.h" to each of your .cpp files. + #GECKO_CONFIG_INCLUDE = -include mozilla-config.h + +-GECKO_DEFINES = -DMOZILLA_CLIENT -DXPCOM_GLUE ++GECKO_DEFINES = -DMOZILLA_CLIENT + + NSS_INCLUDE = /usr/include/nss3 + NSPR_INCLUDE = /usr/include/nspr4 +@@ -230,13 +230,13 @@ all:: export libs + libs:: + echo "PPC_BUILD $(PPC_BUILD)" + +- $(PYTHON_BIN) $(GECKO_SDK_PATH)/bin/header.py --cachedir=/tmp -o rhITray.h -I $(GECKO_IDL_PATH) -I $(NSPR_INCLUDE) rhITray.idl ++ $(PYTHON_BIN) $(GECKO_BIN_PATH)/header.py --cachedir=/tmp -o rhITray.h -I $(GECKO_IDL_PATH) -I $(NSPR_INCLUDE) rhITray.idl + +- $(PYTHON_BIN) $(GECKO_SDK_PATH)/bin/typelib.py --cachedir=/tmp -o rhITray.xpt -I $(GECKO_IDL_PATH) -I $(NSPR_INCLUDE) rhITray.idl ++ $(PYTHON_BIN) $(GECKO_BIN_PATH)/typelib.py --cachedir=/tmp -o rhITray.xpt -I $(GECKO_IDL_PATH) -I $(NSPR_INCLUDE) rhITray.idl + +- $(PYTHON_BIN) $(GECKO_SDK_PATH)/bin/header.py --cachedir=/tmp -o rhITrayWindNotify.h -I $(GECKO_IDL_PATH) -I $(NSPR_INCLUDE) rhITrayWindNotify.idl ++ $(PYTHON_BIN) $(GECKO_BIN_PATH)/header.py --cachedir=/tmp -o rhITrayWindNotify.h -I $(GECKO_IDL_PATH) -I $(NSPR_INCLUDE) rhITrayWindNotify.idl + +- $(PYTHON_BIN) $(GECKO_SDK_PATH)/bin/typelib.py --cachedir=/tmp -o rhITrayWindNotify.xpt -I $(GECKO_IDL_PATH) -I $(NSPR_INCLUDE) rhITrayWindNotify.idl ++ $(PYTHON_BIN) $(GECKO_BIN_PATH)/typelib.py --cachedir=/tmp -o rhITrayWindNotify.xpt -I $(GECKO_IDL_PATH) -I $(NSPR_INCLUDE) rhITrayWindNotify.idl + + ifeq ($(OS_ARCH),Darwin) + $(CXX) $(CPPFLAGS) -c -o $(OBJECT) $(GECKO_CONFIG_INCLUDE) $(GECKO_DEFINES) $(GECKO_INCLUDES) $(COOL_INCLUDES) $(CXXFLAGS) $(FILES) +diff -up ./esc/src/app/xpcom/tray/rhLinuxTray.cpp.fix23 ./esc/src/app/xpcom/tray/rhLinuxTray.cpp +--- ./esc/src/app/xpcom/tray/rhLinuxTray.cpp.fix23 2014-09-11 14:43:57.953919016 -0700 ++++ ./esc/src/app/xpcom/tray/rhLinuxTray.cpp 2014-09-11 14:44:21.259919366 -0700 +@@ -898,5 +898,5 @@ static const mozilla::Module kCoolKeyTra + // shared library. + NSMODULE_DEFN(rhCoolKeyTrayModule) = &kCoolKeyTrayModule; + +-NS_IMPL_ISUPPORTS1(rhTray,rhITray) ++NS_IMPL_ISUPPORTS(rhTray,rhITray) + +diff -up ./esc/src/app/xul/esc/application.ini.fix23 ./esc/src/app/xul/esc/application.ini +--- ./esc/src/app/xul/esc/application.ini.fix23 2014-09-11 16:02:33.000989766 -0700 ++++ ./esc/src/app/xul/esc/application.ini 2014-09-11 16:03:19.911990470 -0700 +@@ -25,11 +25,11 @@ Vendor=RedHat + Name=ESC + ; + ; This field specifies your application's version. This field is optional. +-Version=1.1.0-26 ++Version=1.1.0-31 + ; + ; This field specifies your application's build ID (timestamp). This field is + ; required. +-BuildID=0000001026 ++BuildID=0000001031 + ; + ; This ID is just an example. Every XUL app ought to have it's own unique ID. + ; You can use the microsoft "guidgen" or "uuidgen" tools, or go on +@@ -41,12 +41,12 @@ ID={6380471b-1924-4b48-b652-49f42951af86 + ; This field is required. It specifies the minimum Gecko version that this + ; application requires. Specifying 1.8 matches all releases with a version + ; prefixed by 1.8 (e.g., 1.8a4, 1.8b, 1.8.2). +-MinVersion=24.0.0 ++MinVersion=31.1.0 + ; + ; This field is optional. It specifies the maximum Gecko version that this + ; application requires. It should be specified if your application uses + ; unfrozen interfaces. Specifying 1.8 matches all releases with a version + ; prefixed by 1.8 (e.g., 1.8a4, 1.8b, 1.8.2). +-MaxVersion=25.0.0 ++MaxVersion=32.0.0 + + [Shell] diff --git a/SOURCES/esc-1.1.0-fix24.patch b/SOURCES/esc-1.1.0-fix24.patch new file mode 100644 index 0000000..3ae467b --- /dev/null +++ b/SOURCES/esc-1.1.0-fix24.patch @@ -0,0 +1,29 @@ +diff -up ./esc/src/app/xul/esc/application.ini.fix24 ./esc/src/app/xul/esc/application.ini +--- ./esc/src/app/xul/esc/application.ini.fix24 2014-12-16 11:39:13.361983789 -0800 ++++ ./esc/src/app/xul/esc/application.ini 2014-12-16 11:39:48.610395639 -0800 +@@ -25,11 +25,11 @@ Vendor=RedHat + Name=ESC + ; + ; This field specifies your application's version. This field is optional. +-Version=1.1.0-31 ++Version=1.1.0-34 + ; + ; This field specifies your application's build ID (timestamp). This field is + ; required. +-BuildID=0000001031 ++BuildID=0000001034 + ; + ; This ID is just an example. Every XUL app ought to have it's own unique ID. + ; You can use the microsoft "guidgen" or "uuidgen" tools, or go on +diff -up ./esc/src/app/xul/esc/chrome/content/esc/ESC.js.fix24 ./esc/src/app/xul/esc/chrome/content/esc/ESC.js +--- ./esc/src/app/xul/esc/chrome/content/esc/ESC.js.fix24 2014-12-16 11:34:14.715786633 -0800 ++++ ./esc/src/app/xul/esc/chrome/content/esc/ESC.js 2014-12-16 11:35:21.541444181 -0800 +@@ -4056,7 +4056,7 @@ function launchCertViewerIfCerts() + //Launch page to view card's certificates + function launchCertViewer() + { +- var wind = window.openDialog("chrome://esc/content/certManager.xul", "","chrome,centerscreen,modal=yes"); ++ var wind = window.openDialog("chrome://pippki/content/certManager.xul", "","chrome,centerscreen,modal=yes"); + } + + //Launch ESC admin page window diff --git a/SOURCES/esc-1.1.0-fix25.patch b/SOURCES/esc-1.1.0-fix25.patch new file mode 100644 index 0000000..dc2ec91 --- /dev/null +++ b/SOURCES/esc-1.1.0-fix25.patch @@ -0,0 +1,65 @@ +diff -up ./esc/rpm/esc.fix25 ./esc/rpm/esc +--- ./esc/rpm/esc.fix25 2015-01-05 16:42:52.346457096 -0800 ++++ ./esc/rpm/esc 2015-01-05 16:48:05.473230783 -0800 +@@ -18,10 +18,6 @@ + # END COPYRIGHT BLOCK + + +- +- +-DO_SECMODE="false" +-SECURITY_URL= + DO_FORCEMODE="false" + DO_SHOW_VERSION="false" + ESC_ARGS= +@@ -30,7 +26,7 @@ ESC_ARGS= + ESC_PROFILE_BASE=~/.redhat/esc + ESC_LOG_FILE=esc.log + +-ESC_PATH=$LIBDIR/esc-1.0.1 ++ESC_PATH=$LIBDIR/esc-1.1.0 + ESC_BIN_PATH=/usr/bin + ESC_EXEC=esc + ESCD_EXEC=escd +@@ -97,30 +93,17 @@ function processArgs { + #echo "Do show version!" + DO_SHOW_VERSION="true" + fi +- if [ $DO_SECMODE == "true" ] +- then +- #echo "Sec Mode Url $arg" +- SECURITY_URL=$arg +- fi +- if [ $arg == "-secmode" ] +- then +- DO_SECMODE="true" +- #echo "Do security mode!" +- fi + done +- +- if [ $DO_SECMODE == "true" ] +- then +- #echo "Launch ESC in security mode!" +- ARGS="--secmode $SECURITY_URL" +- fi + } + ++ + processArgs $* + + if [ ! -d $ESC_PROFILE_BASE ] + then + mkdir -p $ESC_PROFILE_BASE ++ mkdir $ESC_PROFILE_BASE/$ESC_EXEC ++ chmod -R 755 $ESC_PROFILE_BASE + fi + + cd $ESC_PATH +@@ -180,7 +163,6 @@ else + #echo "esc not already running start up and bring up window." + ./$ESC_EXEC & + sleep 4 +- + #echo "done sleeping bring up esc window." + ./$ESC_EXEC + exit 0 diff --git a/SOURCES/esc-1.1.0-fix26.patch b/SOURCES/esc-1.1.0-fix26.patch new file mode 100644 index 0000000..e457831 --- /dev/null +++ b/SOURCES/esc-1.1.0-fix26.patch @@ -0,0 +1,25 @@ +diff -up ./esc/rpm/esc.fix26 ./esc/rpm/esc +--- ./esc/rpm/esc.fix26 2015-01-07 14:26:47.740504143 -0800 ++++ ./esc/rpm/esc 2015-01-07 14:28:39.757687048 -0800 +@@ -22,8 +22,8 @@ DO_FORCEMODE="false" + DO_SHOW_VERSION="false" + ESC_ARGS= + +- +-ESC_PROFILE_BASE=~/.redhat/esc ++REDHAT_BASE=~/.redhat ++ESC_PROFILE_BASE=$REDHAT_BASE/esc + ESC_LOG_FILE=esc.log + + ESC_PATH=$LIBDIR/esc-1.1.0 +@@ -102,8 +102,8 @@ processArgs $* + if [ ! -d $ESC_PROFILE_BASE ] + then + mkdir -p $ESC_PROFILE_BASE +- mkdir $ESC_PROFILE_BASE/$ESC_EXEC +- chmod -R 755 $ESC_PROFILE_BASE ++ chmod 755 $REDHAT_BASE ++ chmod 755 $ESC_PROFILE_BASE + fi + + cd $ESC_PATH diff --git a/SPECS/esc.spec b/SPECS/esc.spec index ce972cb..5434c80 100644 --- a/SPECS/esc.spec +++ b/SPECS/esc.spec @@ -1,6 +1,6 @@ Name: esc Version: 1.1.0 -Release: 27%{?dist} +Release: 36%{?dist} Summary: Enterprise Security Client Smart Card Client License: GPL+ URL: http://directory.fedoraproject.org/wiki/CoolKey @@ -38,6 +38,10 @@ Patch19: esc-1.1.0-fix19.patch Patch20: esc-1.1.0-fix20.patch Patch21: esc-1.1.0-fix21.patch Patch22: esc-1.1.0-fix22.patch +Patch23: esc-1.1.0-fix23.patch +Patch24: esc-1.1.0-fix24.patch +Patch25: esc-1.1.0-fix25.patch +Patch26: esc-1.1.0-fix26.patch BuildRequires: doxygen fontconfig-devel freetype-devel >= 2.1 BuildRequires: glib2-devel libIDL-devel atk-devel gtk2-devel libjpeg-devel @@ -54,7 +58,7 @@ Requires: zip dbus >= 0.90 libnotify >= 0.4.2 Requires: xulrunner # 390 does not have coolkey or smartCards -ExcludeArch: s390 s390x +ExcludeArch: s390 s390x # We can't allow the internal xulrunner to leak out AutoReqProv: 0 @@ -75,7 +79,6 @@ AutoReqProv: 0 %define escrpmdir rpm %define escxulchromeicons %{escxuldir}/chrome/icons/default %define escdaemon escd -%define geckoversion 24.2.0 Source0: http://pki.fedoraproject.org/pki/sources/%name/%{escname}.tar.bz2 Source1: http://pki.fedoraproject.org/pki/sources/%name/esc @@ -115,15 +118,25 @@ cryptographic smartcards. %patch20 -p1 -b .fix20 %patch21 -p1 -b .fix21 %patch22 -p1 -b .fix22 +%patch23 -p1 -b .fix23 +%patch24 -p1 -b .fix24 +%patch25 -p1 -b .fix25 +%patch26 -p1 -b .fix26 + +r=$(uname -r | sed -e 's/\(^[^.]*\.[^.]*\).*/\1/') +[ -f esc/coreconf/Linux$r.mk ] || ln -s Linux3.5.mk esc/coreconf/Linux$r.mk %build -GECKO_SDK_PATH=%{_libdir}/xulrunner-devel-%{geckoversion}/sdk +export geckoversion=`rpm -qi xulrunner | grep Version | sed 's/[\t ]//g;/^$/d' | sed 's/Version://'` + +GECKO_SDK_PATH=%{_libdir}/xulrunner-devel-$geckoversion/sdk +echo $GECKO_SDK_PATH GECKO_BIN_PATH=%{_libdir}/xulrunner -GECKO_INCLUDE_PATH=%{_includedir}/xulrunner-%{geckoversion} -GECKO_IDL_PATH=/usr/share/idl/xulrunner-%{geckoversion} +GECKO_INCLUDE_PATH=%{_includedir}/xulrunner-$geckoversion +GECKO_IDL_PATH=/usr/share/idl/xulrunner-$geckoversion -%ifarch x86_64 ppc64 ia64 +%if %{__isa_bits} == 64 USE_64=1 export USE_64 %endif @@ -167,14 +180,14 @@ mkdir -p $RPM_BUILD_ROOT/%{icondir} mkdir -p $RPM_BUILD_ROOT/%{pixmapdir} mkdir -p $RPM_BUILD_ROOT/%{docdir} -sed -e 's;\$LIBDIR;'%{_libdir}';g' %{SOURCE1} > $RPM_BUILD_ROOT/%{escbindir}/%{name} +sed -e 's;\$LIBDIR;'%{_libdir}';g' ../../../rpm/esc > $RPM_BUILD_ROOT/%{escbindir}/%{name} chmod 755 $RPM_BUILD_ROOT/%{escbindir}/esc mkdir -p $RPM_BUILD_ROOT/%{escdir} -%ifarch x86_64 ppc64 ia64 +%if %{__isa_bits} == 64 USE_64=1 export USE_64 %endif @@ -186,6 +199,7 @@ rm -rf $RPM_BUILD_ROOT/%{escdir}/usr cd ../../../dist/*DBG*/esc_build/esc + cp %{esc_chromepath}/esc.png $RPM_BUILD_ROOT/%{icondir}/esc-png.png ln -s $RPMBUILD_ROOT%{icondir}/esc-png.png $RPM_BUILD_ROOT/%{pixmapdir}/esc-png.png @@ -198,6 +212,7 @@ cp %{escname}/esc/LICENSE $RPM_BUILD_ROOT/%{docdir} rm -f $RPM_BUILD_ROOT/%{escdir}/esc +rm -r $RPM_BUILD_ROOT/%{escdir}/xulrunner echo "xulrunner ./application.ini \$* &" > $RPM_BUILD_ROOT/%{escdir}/esc chmod 755 $RPM_BUILD_ROOT/%{escdir}/esc @@ -228,7 +243,6 @@ rm -rf $RPM_BUILD_ROOT %{escdir}/defaults/preferences/esc-prefs.js -#%{escdir}/xulrunner %{icondir}/esc-png.png %{pixmapdir}/esc-png.png %{autostartdir}/esc.desktop @@ -254,6 +268,31 @@ if [ -x %{_bindir}/gtk-update-icon-cache ]; then fi %changelog +* Tue Jan 07 2015 Jack Magne - 1.1.0-36 +- Resolves: Bug #1176241 - .redhat dir does not have the same permissions during manual and auto launch of ESC Client +- Minor additional fix. +* Mon Jan 05 2015 Jack Magne - 1.1.0-35 +- Resolves: Bug #1176241 - .redhat dir does not have the same permissions during manual and auto launch of ESC Client +* Tue Dec 16 2014 Jack Magne - 1.1.0-34 +- Resolves: Bug #1173774 - ESC Client does list +- the encryption and signing certs under the "Your Certificates" tab when an enrolled card is inserted. +* Mon Nov 17 2014 Jack Magne - 1.1.0-33 +- Resolves: Bug #1163479 Errata 18562 TPS tests fails - esc rebuild failure because of xulrunner updates. +* Thu Sep 11 2014 Jack Magne - 1.1.0-30 +- Resolves: Bug #1125496 +- Minor spec and makefile and tweaks to build under xulrunner sdk 31.1.0. +* Wed Sep 10 2014 Jack Magne - 1.1.0-30 +- Resolves: Bug #1125496 - FTBFS +- Thanks to: perobins@redhat.com +* Mon Sep 08 2014 Jack Magne - 1.1.0-30 +- Resolves: Bug #1125496 - FTBFS +* Fri Aug 15 2014 Jack Magne - 1.1.0-29 +- Resolves: Bug #1053711 - FTBFS +* Fri Jul 11 2014 Jack Magne - 1.1.0-28 +- Thanks to: Marcin Juszkiewicz +- Handle all kernel versions +- Fix gecko version + * Mon Jan 06 2014 Jack Magne - 1.1.0-27 - Resolves: Bug 1048856 - esc does not build on RHEL 7 * Fri Dec 27 2013 Daniel Mach - 1.1.0-27