From owner-svn-ports-head@freebsd.org Sat Oct 17 16:41:33 2015 Return-Path: Delivered-To: svn-ports-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5339FA172A0; Sat, 17 Oct 2015 16:41:33 +0000 (UTC) (envelope-from pi@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F0011CD3; Sat, 17 Oct 2015 16:41:32 +0000 (UTC) (envelope-from pi@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9HGfWbU000437; Sat, 17 Oct 2015 16:41:32 GMT (envelope-from pi@FreeBSD.org) Received: (from pi@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9HGfTvM098725; Sat, 17 Oct 2015 16:41:29 GMT (envelope-from pi@FreeBSD.org) Message-Id: <201510171641.t9HGfTvM098725@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pi set sender to pi@FreeBSD.org using -f From: Kurt Jaeger Date: Sat, 17 Oct 2015 16:41:29 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r399542 - in head/mail: . openemm2013 openemm2013/files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 17 Oct 2015 16:41:33 -0000 Author: pi Date: Sat Oct 17 16:41:29 2015 New Revision: 399542 URL: https://svnweb.freebsd.org/changeset/ports/399542 Log: New port: mail/openemm2013 OpenEMM is a feature-rich web-based enterprise application for email marketing, newsletters and service mails (transaction mails and event or time triggered mails). OpenEMM offers a great user interface, sophisticated bounce management, link tracking, lots of graphical realtime statistics, a CMS module and a scripting feature to implement individual tasks. OpenEMM is the first open source application for e-mail marketing. Its code base has been developed since 1999 and is used - as part of the commercial software product E-Marketing Manager (EMM) - by companies like IBM, Daimler, Siemens and Deutsche Telekom. OpenEMM offers already more than 95% of the functionality of most commercial products and some features most commercial products do not offer right now (for example MySQL support and CMS functionality). WWW: http://www.openemm.org PR: 196516 Submitted by: Horst Leitenmueller Added: head/mail/openemm2013/ head/mail/openemm2013/Makefile (contents, props changed) head/mail/openemm2013/distinfo (contents, props changed) head/mail/openemm2013/files/ head/mail/openemm2013/files/openemm2013.in (contents, props changed) head/mail/openemm2013/files/patch-openemm_build.xml (contents, props changed) head/mail/openemm2013/files/patch-src__c__bav__GNUmakefile (contents, props changed) head/mail/openemm2013/files/patch-src__c__bav__bav.c (contents, props changed) head/mail/openemm2013/files/patch-src__c__lib__GNUmakefile (contents, props changed) head/mail/openemm2013/files/patch-src__c__lib__agn.h (contents, props changed) head/mail/openemm2013/files/patch-src__c__tools__GNUmakefile (contents, props changed) head/mail/openemm2013/files/patch-src__c__xmlback__GNUmakefile (contents, props changed) head/mail/openemm2013/files/patch-src__c__xmlback__eval.c (contents, props changed) head/mail/openemm2013/files/patch-src__c__xmlback__grammar__GNUmakefile (contents, props changed) head/mail/openemm2013/files/patch-src__java__org__agnitas__backend__StringOps.java (contents, props changed) head/mail/openemm2013/files/patch-src__java__org__agnitas__beans__FailedLoginData.java (contents, props changed) head/mail/openemm2013/files/patch-src__java__org__agnitas__beans__ImageButton.java (contents, props changed) head/mail/openemm2013/files/patch-src__java__org__agnitas__dao__LoginTrackDao.java (contents, props changed) head/mail/openemm2013/files/patch-src__java__org__agnitas__util__CharacterEncodingValidator.java (contents, props changed) head/mail/openemm2013/files/patch-src__java__org__agnitas__util__CharacterEncodingValidatorImpl.java (contents, props changed) head/mail/openemm2013/files/patch-src__java__org__agnitas__util__TextTable.java (contents, props changed) head/mail/openemm2013/files/patch-src__jsp__WEB-INF__web.xml (contents, props changed) head/mail/openemm2013/files/patch-src__script__lib__config.sh (contents, props changed) head/mail/openemm2013/files/patch-src_java_org_agnitas_beans_impl_FailedLoginDataImpl.java (contents, props changed) head/mail/openemm2013/files/patch-src_java_org_agnitas_dao_impl_LoginTrackDaoImpl.java (contents, props changed) head/mail/openemm2013/files/patch-src_java_org_agnitas_emm_extension_listener_ExtensionSystemInitializationContextListener.java (contents, props changed) head/mail/openemm2013/pkg-descr (contents, props changed) head/mail/openemm2013/pkg-message (contents, props changed) head/mail/openemm2013/pkg-plist (contents, props changed) Modified: head/mail/Makefile Modified: head/mail/Makefile ============================================================================== --- head/mail/Makefile Sat Oct 17 16:35:40 2015 (r399541) +++ head/mail/Makefile Sat Oct 17 16:41:29 2015 (r399542) @@ -285,6 +285,7 @@ SUBDIR += offlineimap SUBDIR += opendkim SUBDIR += opendmarc + SUBDIR += openemm2013 SUBDIR += opensmtpd SUBDIR += opensmtpd-devel SUBDIR += openwebmail Added: head/mail/openemm2013/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/mail/openemm2013/Makefile Sat Oct 17 16:41:29 2015 (r399542) @@ -0,0 +1,216 @@ +# Created by: Horst Leitenmueller +# $FreeBSD$ + +PORTNAME= openemm2013 +PORTVERSION= R2 +CATEGORIES= mail java www +MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:S/$/:DEFAULT/} \ + http://central.maven.org/maven2/%SUBDIR%/:MAVEN2 +MASTER_SITE_SUBDIR= openemm/OpenEMM%20software/OpenEMM%202013/:DEFAULT \ + com/lowagie/itext/2.1.7/:MAVEN2 +DISTNAME= OpenEMM-2013_${PORTVERSION}-src +DISTFILES= OpenEMM-2013_${PORTVERSION}-src.tar.gz:DEFAULT OpenEMM-2013_${PORTVERSION}-JARs.tar.gz:DEFAULT \ + itext-2.1.7.jar:MAVEN2 + +MAINTAINER= horst.leitenmueller@liwest.at +COMMENT= OpenEMM a email marketing enterprise app + +LICENSE= CPAL-1.0 +LICENSE_FILE= ${WRKSRC}/other/LICENSE.txt + +LIB_DEPENDS= libslang.so:${PORTSDIR}/devel/libslang2 \ + libsa.so:${PORTSDIR}/net/ossp-sa +BUILD_DEPENDS= ${TOMCATHOME}/bin/bootstrap.jar:${PORTSDIR}/www/tomcat8 \ + ${ANT_CMD}:${PORTSDIR}/devel/apache-ant +RUN_DEPENDS= ${TOMCATHOME}/bin/bootstrap.jar:${PORTSDIR}/www/tomcat8 \ + py27-MySQLdb>=1.2.3:${PORTSDIR}/databases/py-MySQLdb + +USE_RC_SUBR= openemm2013 +USE_JAVA= yes +JAVA_VERSION= 1.7+ + +USES= dos2unix gmake python:2.7,run +DOS2UNIX_GLOB= *.c *.cpp *.h *.java *.xml *.properties +CC= clang +CXX= clang++ + +TOMCATVER= apache-tomcat-8.0 +TOMCATDIR= ${PREFIX}/${TOMCATVER} +TOMCATHOME= ${LOCALBASE}/${TOMCATVER} +#WEBAPPDIR= ${TOMCATDIR}/webapps +WEBAPP= openemm + +USER= www +GROUP= www +VAR_DIR?= /var +LOG_DIR?= ${VAR_DIR}/log/${PORTNAME} +PID_FILE= ${VAR_DIR}/run/${PORTNAME}.pid + +AGN_BACKEND_FILES= lib tools xmlback bav + +SUB_LIST= APP_SHORTNAME=${PORTNAME} \ + LOG_DIR=${LOG_DIR} \ + USER=${USER} \ + GROUP=${GROUP} \ + PID_FILE=${PID_FILE} \ + APP_HOME=${PREFIX}/${PORTNAME} +PLIST_SUB= APP_HOME=${PORTNAME} + +TOMCAT_CONFIG_FILES= context.xml logging.properties server.xml + +ANT_CMD?= ${LOCALBASE}/bin/ant +ANT= ${SETENV} JAVA_HOME=${JAVA_HOME} ${ANT_CMD} +ANT_TARGETS= build +ANT_BUILD_PARAM= -Dbuild=${WRKSRC}/target -Doe.home=${WRKSRC}/target -Dcatalina.home=${TOMCATDIR} -Dsrc=${WRKSRC} -f openemm_build.xml +JAVA_BUILD= yes + +do-extract: + @cd ${WRKDIR} && ${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${_DISTDIR}/${DISTNAME}.tar.gz ${EXTRACT_AFTER_ARGS} + + # we extract the add-on libs to the ${WRKSRC}/lib directory + ${MKDIR} ${WRKSRC}/lib + @cd ${WRKSRC}/lib && ${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${_DISTDIR}/OpenEMM-2013_${PORTVERSION}-JARs.tar.gz ${EXTRACT_AFTER_ARGS} + @cd ${WRKSRC}/lib && ${CP} ${_DISTDIR}/itext-2.1.7.jar . + +post-extract: + # remove not needed java libs which are installed as separate port + ${RM} ${WRKSRC}/lib/mysql*.jar + + # remove the c libs which are also installed as dependencies ports + # ${WRKSRC}/contrib/sa-1.2.6.tar.gz -> net/ossp-sa and ${WRKSRC}/contrib/slang-1.4.9.tar.gz -> devel/libslang2 + ${RM} -rf ${WRKSRC}/contrib + + # remove not needed c buildscripts + ${RM} -rf ${WRKSRC}/other/make_backend.sh + +pre-patch: + @${ECHO_MSG} "Installation settings:" + @${ECHO_MSG} " Location of TomcatHome: ${TOMCAT_HOME}" + @${ECHO_MSG} " Location of JDK: ${JAVA_HOME}" + @${ECHO_MSG} " Location of Java port: ${JAVA_PORT}" + +post-patch: + ${REINPLACE_CMD} -e 's|\/home\/openemm|${PREFIX}\/${PORTNAME}|g' -e 's|\/usr\/share\/doc\/OpenEMM-2013|${DOCSDIR}|g' ${WRKSRC}/other/README.txt + ${REINPLACE_CMD} -e 's|\/home\/openemm|${PREFIX}\/${PORTNAME}|g' ${WRKSRC}/src/script/data/bav.rc + ${REINPLACE_CMD} -e 's|\/home\/openemm|${PREFIX}\/${PORTNAME}|g' ${WRKSRC}/tomcat/conf/server.xml + + ${REINPLACE_CMD} -e "s|base = os.environ\['HOME'\]| base = '${PREFIX}\/${PORTNAME}'|g" -e "s|lockpath = os.environ\['LOCK_HOME'\]|lockpath = '/var/run/openemm'|g" ${WRKSRC}/src/script/lib/agn.py + + ${REINPLACE_CMD} -e 's|$$HOME|\${PREFIX}\/\${PORTNAME}|g' ${WRKSRC}/src/script/lib/config.sh + + ${REINPLACE_CMD} -e 's|$$HOME|\${PREFIX}\/\${PORTNAME}|g' -e 's|-L INFO|-L INFO -s /var/run/openemm/bav.sock|' ${WRKSRC}/src/script/control/bounce.sh + ${REINPLACE_CMD} -e 's|$$HOME|\${PREFIX}\/\${PORTNAME}|g' ${WRKSRC}/src/script/control/bav-update.sh + ${REINPLACE_CMD} -e 's|$$HOME|\${PREFIX}\/\${PORTNAME}|g' ${WRKSRC}/src/script/control/bav-trigger.sh + ${REINPLACE_CMD} -e 's|$$HOME|\${PREFIX}\/\${PORTNAME}|g' ${WRKSRC}/src/script/control/bavd.sh + + ${REINPLACE_CMD} -e 's|$$HOME|\${PREFIX}\/\${PORTNAME}|g' ${WRKSRC}/src/script/control/merger.sh + ${REINPLACE_CMD} -e 's|$$HOME|\${PREFIX}\/\${PORTNAME}|g' ${WRKSRC}/src/script/control/recovery.sh + ${REINPLACE_CMD} -e 's|$$HOME|\${PREFIX}\/\${PORTNAME}|g' ${WRKSRC}/src/script/control/update.sh + ${REINPLACE_CMD} -e 's|$$HOME|\${PREFIX}\/\${PORTNAME}|g' ${WRKSRC}/src/script/control/pickdist.sh + + ${REINPLACE_CMD} -e 's|$$HOME|\${PREFIX}\/\${PORTNAME}|g' ${WRKSRC}/src/script/control/mailer.sh + ${REINPLACE_CMD} -e 's|$$HOME|\${PREFIX}\/\${PORTNAME}|g' ${WRKSRC}/src/script/control/sendmail-enable.sh + + ${REINPLACE_CMD} -e 's|$$HOME|\${PREFIX}\/\${PORTNAME}|g' ${WRKSRC}/src/script/control/slrtscn.sh + + ${REINPLACE_CMD} -e 's|=logs\/openemm\/|=\/var\/log\/\${PORTNAME}\/|g' ${WRKSRC}/src/conf/log4j.properties + ${REINPLACE_CMD} -e 's|=logs\/openemm-ws\/|=\/var\/log\/\${PORTNAME}\/|g' ${WRKSRC}/src/conf-ws/log4j.properties + + ${REINPLACE_CMD} -e 's|system.logdir=.*|system.logdir=\/var\/log\/\${PORTNAME}\/|g' \ + -e 's|plugins.home=.*|plugins.home=\${PREFIX}\/\${PORTNAME}\/plugins|g' \ + -e 's|\/home\/openemm|${PREFIX}\/${PORTNAME}|g' ${WRKSRC}/src/conf/emm.properties + +do-build: + + # build the c backend parts of AGN + @${ECHO} "Building C Backend" +.for file in ${AGN_BACKEND_FILES} + ${ECHO} "Building ${WRKSRC}/src/c/${file}" + + cd ${WRKSRC}/src/c/${file} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} +.endfor + + ${MKDIR} ${WRKSRC}/target + + # copy some of the compiled c files to the bin + ${MKDIR} ${WRKSRC}/target/bin + + ${MV} ${WRKSRC}/src/c/bav/bav ${WRKSRC}/target/bin/ + ${MV} ${WRKSRC}/src/c/tools/qctrl ${WRKSRC}/target/bin/ + ${MV} ${WRKSRC}/src/c/tools/smctrl ${WRKSRC}/target/bin/ + ${MV} ${WRKSRC}/src/c/tools/updater ${WRKSRC}/target/bin/ + ${MV} ${WRKSRC}/src/c/xmlback/xmlback ${WRKSRC}/target/bin/ + + # copy the script parts + ${MKDIR} ${WRKSRC}/target/bin/scripts + + ${MV} ${WRKSRC}/src/c/bav/bavwrap ${WRKSRC}/target/bin/scripts/ + + # create the other directory parts + ${MKDIR} ${WRKSRC}/target/logs + ${MKDIR} ${WRKSRC}/target/logs/openemm + ${MKDIR} ${WRKSRC}/target/logs/openemm-ws + ${MKDIR} ${WRKSRC}/target/plugins + ${MKDIR} ${WRKSRC}/target/temp + ${MKDIR} ${WRKSRC}/target/webservices + + # build the java part, frontent/parts of backend for this port + cd ${WRKSRC} && ${ANT} ${ANT_BUILD_PARAM} ${ANT_TARGETS} + + # cp the conf files + ${MKDIR} ${WRKSRC}/target/conf +.for config_file in ${TOMCAT_CONFIG_FILES} + # rename the default template config files + ${MV} ${WRKSRC}/tomcat/conf/${config_file} ${WRKSRC}/target/conf/${config_file}.sample +.endfor + # move the startup scripts + ${MV} ${WRKSRC}/src/script/control/* ${WRKSRC}/target/bin/ + + # clean bin directory + ${RM} ${WRKSRC}/target/bin/*.bat + ${RM} ${WRKSRC}/target/bin/openemm.py + + ${MV} ${WRKSRC}/target/USR_SHARE ${WRKSRC}/USR_SHARE + ${RM} -rf ${WRKSRC}/target/src + + # remove problem tld with missing classes + ${RM} ${WRKSRC}/target/webapps/openemm/WEB-INF/struts-tiles.tld + +do-install: + ${MKDIR} ${STAGEDIR}${PREFIX}/${PORTNAME} + (cd ${WRKSRC}/target/ && ${COPYTREE_SHARE} \* ${STAGEDIR}${PREFIX}/${PORTNAME} "! -name USR_SHARE*") + + (cd ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/scripts/ && \ + ${LN} -sf bavwrap filter_or_forward && \ + ${LN} -sf bavwrap is_no_systemmail && \ + ${LN} -sf bavwrap scan_and_unsubscribe) + + (cd ${STAGEDIR}${PREFIX}/${PORTNAME}/webapps/ && \ + ${LN} -sf openemm/assets openemmassets) + +post-install: + # as needed from Running Q/A tests (stage-qa) + ${STRIP_CMD} ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/bav + ${STRIP_CMD} ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/smctrl + ${STRIP_CMD} ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/qctrl + ${STRIP_CMD} ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/xmlback + ${STRIP_CMD} ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/updater + ${STRIP_CMD} ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/scripts/bavwrap + + # update some rights which must be assigned to root + # we need the rigt to read the maillog file /etc/newsyslog.conf + # /var/log/maillog 640 7 * @T00 JC + # and the actual file chmod 644 /var/log/maillog + # if not change tracking of these mail sending / bounces is + # not working correct + + # TODO LEI + # move the licenses to the correct place + # /usr/local/share/doc/openemm2013/LICENSE.txt + # /usr/local/share/doc/openemm2013/ThirdPartyLicences/* + + # update also /usr/local/share with the docs + ${MKDIR} ${STAGEDIR}${DOCSDIR} + (cd ${WRKSRC}/USR_SHARE/ && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}) + +.include Added: head/mail/openemm2013/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/mail/openemm2013/distinfo Sat Oct 17 16:41:29 2015 (r399542) @@ -0,0 +1,6 @@ +SHA256 (OpenEMM-2013_R2-src.tar.gz) = 86e954c7302a3837bff1aa1d185416e3e33f100fef730d412cc77722a2e19b65 +SIZE (OpenEMM-2013_R2-src.tar.gz) = 33276182 +SHA256 (OpenEMM-2013_R2-JARs.tar.gz) = 788108c4d00b963a6ca83cfea209c58e618e45906fb731ae41ac0d097e61b8d4 +SIZE (OpenEMM-2013_R2-JARs.tar.gz) = 26873436 +SHA256 (itext-2.1.7.jar) = 7d82c6b097a31cdf5a6d49a327bf582fdec7304da69308f9f6abf54aa9fd9055 +SIZE (itext-2.1.7.jar) = 1130070 Added: head/mail/openemm2013/files/openemm2013.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/mail/openemm2013/files/openemm2013.in Sat Oct 17 16:41:29 2015 (r399542) @@ -0,0 +1,176 @@ +#!/bin/sh +# +# %%APP_SHORTNAME%% startup script. +# +# $FreeBSD$ +# + +# PROVIDE: %%APP_SHORTNAME%% +# REQUIRE: NETWORKING SERVERS +# KEYWORD: shutdown + +# Add the following lines to /etc/rc.conf to enable %%APP_SHORTNAME%%: +# %%APP_SHORTNAME%%_enable (bool): Set to "YES" to enable %%APP_SHORTNAME%% +# %%APP_SHORTNAME%%_args (str): Optional arguments to OAJBoss +# %%APP_SHORTNAME%%_log_stdout (str) OpenEMM log output stdout, filename. +# %%APP_SHORTNAME%%_log_stderr (str) OpenEMM log output stderr, filename. +# + +. /etc/rc.subr + +name="%%APP_SHORTNAME%%" +rcvar=%%APP_SHORTNAME%%_enable +extra_commands="status" + +load_rc_config $name + +%%APP_SHORTNAME%%_logdir="%%LOG_DIR%%" +%%APP_SHORTNAME%%_enable="${%%APP_SHORTNAME%%_enable:-"NO"}" +%%APP_SHORTNAME%%_log_stdout="${%%APP_SHORTNAME%%_log_stdout:-"${%%APP_SHORTNAME%%_logdir}/log"}" +%%APP_SHORTNAME%%_log_stderr="${%%APP_SHORTNAME%%_log_stderr:-"${%%APP_SHORTNAME%%_logdir}/error"}" +%%APP_SHORTNAME%%_args="${%%APP_SHORTNAME%%_args:-""}" +%%APP_SHORTNAME%%_sleep="${%%APP_SHORTNAME%%_sleep:-"5"}" +%%APP_SHORTNAME%%_kill9="${%%APP_SHORTNAME%%_kill9:-""}" +%%APP_SHORTNAME%%_additional_killall="${%%APP_SHORTNAME%%_additional_killall:-""}" +%%APP_SHORTNAME%%_user="%%USER%%" +%%APP_SHORTNAME%%_group="%%GROUP%%" +%%APP_SHORTNAME%%_lockdir="/var/run/openemm" + + +start_cmd="%%APP_SHORTNAME%%_start" +stop_cmd="%%APP_SHORTNAME%%_stop" +pidfile="%%PID_FILE%%" +tomcat_pidfile="tomcat8.pid" # todo replace dynamic with current version +sendmail_pidfile="sendmail.pid" + +OPENEMM_HOME="%%APP_HOME%%" +#minimal requirements must be set for our javavmwrapper +JAVA_VERSION="1.7+" +export JAVA_VERSION + +%%APP_SHORTNAME%%_start () +{ + if [ ! -d "${%%APP_SHORTNAME%%_logdir}" ] + then + install -d -o ${%%APP_SHORTNAME%%_user} ${%%APP_SHORTNAME%%_logdir} + fi + + if [ ! -d "${%%APP_SHORTNAME%%_lockdir}" ] + then + install -d -o ${%%APP_SHORTNAME%%_user} ${%%APP_SHORTNAME%%_lockdir} + fi + + echo "Preconditions for %%APP_SHORTNAME%%" + echo " - check if sendmail processes are stopped, it will be started via this application" + + if [ -f "/var/run/${sendmail_pidfile}"] + then + echo "TODO STOP all sendmail processes" + service sendmail stop + + # check for sendmail queues started via openemm + if [ -f "${%%APP_SHORTNAME%%_lockdir}/mailer.pid" ] + then + echo "Stop Mailer Service...." + pkill qctrl + pkill sendmail + fi + fi + + echo "Starting %%APP_SHORTNAME%%." + + # check for the startup pyhton scripts + + + # check if tomcat is running otherwise warning + if [ ! -f "/var/run/${tomcat_pidfile}" ] + then + echo "Tomcat is not running please start tomcat first" + else + echo "Tomcat is running... starting app" + fi + + echo "Start BOUNCE Servcie...." + daemon -u ${%%APP_SHORTNAME%%_user} ${OPENEMM_HOME}/bin/bounce.sh start >> ${%%APP_SHORTNAME%%_logdir}/bounce.log 2>> ${%%APP_SHORTNAME%%_logdir}/bounce_error.log + echo "Start Merger Service...." + daemon -u ${%%APP_SHORTNAME%%_user} ${OPENEMM_HOME}/bin/merger.sh start >> ${%%APP_SHORTNAME%%_logdir}/merger.log 2>> ${%%APP_SHORTNAME%%_logdir}/merger_error.log + echo "Start Mailer Service...." + daemon ${OPENEMM_HOME}/bin/mailer.sh start >> ${%%APP_SHORTNAME%%_logdir}/mailer.log 2>> ${%%APP_SHORTNAME%%_logdir}/mailer_error.log + pgrep sendmail > ${openemm2013_lockdir}/mailer.pid + + echo "Start SLRT scan Service...." + daemon -u ${%%APP_SHORTNAME%%_user} ${OPENEMM_HOME}/bin/slrtscn.sh start >> ${%%APP_SHORTNAME%%_logdir}/slrtscn.log 2>> ${%%APP_SHORTNAME%%_logdir}/slrtscn_error.log + + echo "START THE APP ITSELF..." + #daemon -u ${%%APP_SHORTNAME%%_user} ${OPENEMM_HOME}/bin/standalone.sh ${%%APP_SHORTNAME%%_args} >> ${%%APP_SHORTNAME%%_log_stdout} 2>> ${%%APP_SHORTNAME%%_log_stderr} + + #sleep ${%%APP_SHORTNAME%%_sleep} # let daemon(8) and sh(1) finish before executing pgrep(1) + #pgrep -U ${%%APP_SHORTNAME%%_user} -f ${OPENEMM_HOME}/modules > ${pidfile} + #chown ${%%APP_SHORTNAME%%_user} $pidfile +} + +%%APP_SHORTNAME%%_stop () +{ + + ${OPENEMM_HOME}/bin/bounce.sh stop + ${OPENEMM_HOME}/bin/merger.sh stop + + #${OPENEMM_HOME}/bin/mailer.sh stop + service sendmail stop # pkill sendmail + #sendmail stop + pkill sendmail + terminator bin/qctrl #pkill qctrl + ${OPENEMM_HOME}/bin/slrtscn.sh stop + + # Subvert the check_pid_file procname check. + # at the moment we dont't handle this here + if [ -f ${pidfile} ] + then + kill `cat ${pidfile}` + # Only if we aware that our setup can hangs, and only after trying simple kill, we can kill it hard way. + if [ ! -z "${%%APP_SHORTNAME%%_kill9}" ] + then + sleep ${%%APP_SHORTNAME%%_sleep} + #kill -9 `cat ${pidfile}` + fi + # In some setups, OpenEMM (Tomcat) can spawn some child processess, which could prevent it from stopping, and freeing net ports. + # Let's blindly kill them all, since we are really know what we are doing. + if [ ! -z "${%%APP_SHORTNAME%%_additional_killall}" ] + then + sleep ${%%APP_SHORTNAME%%_sleep} + killall ${%%APP_SHORTNAME%%_additional_killall} + fi + fi +} + +terminator() { + while [ $# -gt 0 ] ; do + __pat="$1" + shift + if [ "$__pat" ] ; then + for sig in 15 9 ; do + __run="`ps -aux | grep -- \"$__pat\" | grep -v grep | awk '{ print $2 }'`" + if [ "$__run" ] ; then + echo "Stop $__pat program with signal $sig .. " + kill -$sig $__run >/dev/null 2>&1 + sleep 2 + echo "done." + fi + done + fi + done +} + + +%%APP_SHORTNAME%%_status () +{ + # If running, show pid + if [ -f ${pidfile} ] + then + echo "%%APP_SHORTNAME%% is running as pid" `cat ${pidfile}` + else + echo "%%APP_SHORTNAME%% is not running" + fi +} + +run_rc_command "$1" Added: head/mail/openemm2013/files/patch-openemm_build.xml ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/mail/openemm2013/files/patch-openemm_build.xml Sat Oct 17 16:41:29 2015 (r399542) @@ -0,0 +1,139 @@ +--- openemm_build.xml.orig 2015-10-11 16:41:55 UTC ++++ openemm_build.xml +@@ -36,28 +36,22 @@ + + + ++ ++ ++ ++ ++ + + +- +- +- + +- + + +- +- +- + +- +- +- +- + + + + +- ++ + + + +@@ -78,7 +72,7 @@ + + + +- ++ + + + +@@ -136,55 +130,16 @@ + + + +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- + + +- + + + + + + +- +- +- +- +- +- +- +- +- + + +- +- +- +- +- +- +- +- +- +- + + + +@@ -206,10 +161,6 @@ + + + +- +- +- +- + + + +@@ -225,12 +176,7 @@ + + + +- +- +- +- +- +- ++ +- +- +- ++ --> + + Added: head/mail/openemm2013/files/patch-src__c__bav__GNUmakefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/mail/openemm2013/files/patch-src__c__bav__GNUmakefile Sat Oct 17 16:41:29 2015 (r399542) @@ -0,0 +1,19 @@ +--- src/c/bav/GNUmakefile.orig 2013-09-11 08:30:37 UTC ++++ src/c/bav/GNUmakefile +@@ -20,13 +20,13 @@ + # Contributor(s): AGNITAS AG. + ################################################################################## + +-CC = gcc +-CFLAGS = -I../lib $(shell sa-config --cflags) -pthread ++CC = clang ++CFLAGS = -I../lib -I/usr/local/lib -I/usr/local/include $(shell sa-config --cflags) -pthread + LDFLAGS = -L../lib $(shell sa-config --ldflags) -pthread + # required for Ubuntu 9.10 by user request + LDFLAGS := $(LDFLAGS) -L/usr/lib/libmilter + # +-LIBS = -lagn -lmilter $(shell sa-config --libs) ++LIBS = -lagn -lmilter -lex $(shell sa-config --libs) + SRCBAV = bav.c cfg.c + SRCWRP = bavwrap.c store.c + OBJBAV = $(SRCBAV:%.c=%.o) Added: head/mail/openemm2013/files/patch-src__c__bav__bav.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/mail/openemm2013/files/patch-src__c__bav__bav.c Sat Oct 17 16:41:29 2015 (r399542) @@ -0,0 +1,25 @@ +--- src/c/bav/bav.c.orig 2015-10-11 16:41:54 UTC ++++ src/c/bav/bav.c +@@ -26,16 +26,18 @@ + # include + # include + # include ++# include "bav.h" + # include "libmilter/mfapi.h" +-# include "bav.h" + +-# define SOCK_PATH "var/run/bav.sock" +-# define LOCK_PATH "var/lock/bav.lock" +-# define CFGFILE "var/spool/bav/bav.conf" ++# define SOCK_PATH "/var/run/openemm/bav.sock" ++# define LOCK_PATH "/var/run/openemm/bav.lock" ++# define CFGFILE "/usr/local/openemm2013/var/spool/bav/bav.conf" + # define X_AGN "X-AGNMailloop" + # define X_LOOP "X-AGNLoop" + # define LOOP_SET "set" + ++# define bool int ++ + static const char *program; + static const char *loglevel; + static char *cfgfile; Added: head/mail/openemm2013/files/patch-src__c__lib__GNUmakefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/mail/openemm2013/files/patch-src__c__lib__GNUmakefile Sat Oct 17 16:41:29 2015 (r399542) @@ -0,0 +1,13 @@ +--- src/c/lib/GNUmakefile.orig 2013-09-11 08:30:37 UTC ++++ src/c/lib/GNUmakefile +@@ -20,8 +20,8 @@ + # Contributor(s): AGNITAS AG. + ################################################################################## + +-CC = gcc +-CFLAGS = -I. ++CC ?= clang ++CFLAGS += -I. + SRCS = atob.c \ + buffer.c \ + cache.c \ Added: head/mail/openemm2013/files/patch-src__c__lib__agn.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/mail/openemm2013/files/patch-src__c__lib__agn.h Sat Oct 17 16:41:29 2015 (r399542) @@ -0,0 +1,15 @@ +--- src/c/lib/agn.h.orig 2015-10-11 16:41:54 UTC ++++ src/c/lib/agn.h +@@ -135,9 +135,9 @@ typedef unsigned long hash_t; + /** + * Symbolic names for boolean values + */ +-typedef enum { /*{{{*/ +- false, +- true ++typedef enum { /*{{{*/ ++ false = 0, ++ true = 1 + /*}}}*/ + } bool_t; + Added: head/mail/openemm2013/files/patch-src__c__tools__GNUmakefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/mail/openemm2013/files/patch-src__c__tools__GNUmakefile Sat Oct 17 16:41:29 2015 (r399542) @@ -0,0 +1,13 @@ +--- src/c/tools/GNUmakefile.orig 2013-09-11 08:30:37 UTC ++++ src/c/tools/GNUmakefile +@@ -20,8 +20,8 @@ + # Contributor(s): AGNITAS AG. + ################################################################################## + +-CC = gcc +-CFLAGS = -I../lib ++CC ?= clang ++CFLAGS += -I../lib + LDFLAGS = -L../lib + LIBS = -lagn + SQCTRL = qctrl.c qlib.c qmove.c qstat.c Added: head/mail/openemm2013/files/patch-src__c__xmlback__GNUmakefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/mail/openemm2013/files/patch-src__c__xmlback__GNUmakefile Sat Oct 17 16:41:29 2015 (r399542) @@ -0,0 +1,35 @@ +--- src/c/xmlback/GNUmakefile.orig 2013-09-11 08:30:37 UTC ++++ src/c/xmlback/GNUmakefile +@@ -20,10 +20,10 @@ + # Contributor(s): AGNITAS AG. + ################################################################################## + +-CC = gcc +-CFLAGS = -I. -I../lib -I$(HOME)/include $(shell xml2-config --cflags) -I/usr/include/slang +-LDFLAGS = -L$(HOME)/lib +-LIBS = grammar/libgrammar.a -lslang -L../lib -lagn $(shell xml2-config --libs) -ldl ++CC ?= clang ++CFLAGS += -I. -I../lib -I/usr/local/include $(shell xml2-config --cflags) -I/usr/local/lib/slang ++#LDFLAGS = -L$(HOME)/lib ++LIBS = grammar/libgrammar.a -lslang -L../lib -lagn $(shell xml2-config --libs) -lcurses + SRCS = append.c \ + block.c \ + blockmail.c \ +@@ -63,7 +63,7 @@ all:: + @$(MAKE) -C ../lib $@ + + all clean:: +- make -C grammar $@ ++ @${MAKE} -C grammar $@ + + all:: xmlback + +@@ -71,7 +71,7 @@ xmlback: $(OBJS) grammar/libgrammar.a + $(CC) $(LDFLAGS) $(OBJS) -o $@ $(LIBS) + + grammar/libgrammar.a: +- make -C grammar ++ @${MAKE} -C grammar + + clean:: + rm -f xmlback *.o *~ Added: head/mail/openemm2013/files/patch-src__c__xmlback__eval.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/mail/openemm2013/files/patch-src__c__xmlback__eval.c Sat Oct 17 16:41:29 2015 (r399542) @@ -0,0 +1,145 @@ +--- src/c/xmlback/eval.c.orig 2015-10-11 16:41:54 UTC ++++ src/c/xmlback/eval.c +@@ -198,9 +198,10 @@ ctx_clr (void) /*{{{*/ + static inline void + check_error (void) /*{{{*/ + { +- if (SLang_Error) { ++ if (SLang_get_error()) { + SLang_restart (1); +- SLang_Error = 0; ++ /*SLang_Error = 0;*/ ++ SLang_set_error(0); + } + }/*}}}*/ + static void +@@ -243,7 +244,8 @@ type_retreive (int argc) /*{{{*/ + int dummy; + + if (! (argv = (type_t *) malloc (argc * sizeof (type_t)))) { +- SLang_Error = SL_MALLOC_ERROR; ++ /*SLang_Error = SL_MALLOC_ERROR;*/ ++ SLang_set_error(SL_MALLOC_ERROR); + return NULL; + } + for (n = 0; n < argc; ++n) +@@ -262,7 +264,7 @@ type_retreive (int argc) /*{{{*/ + argv[n].v.n = (double) dummy; + break; + case SLANG_DOUBLE_TYPE: +- if (SLang_pop_double (& argv[n].v.n, & dummy, & dummy) == -1) ++ if (SLang_pop_double (& argv[n].v.n) == -1) + st = false; + break; + case SLANG_STRING_TYPE: +@@ -901,7 +903,8 @@ SLin (void) /*{{{*/ + + argc = SLang_Num_Function_Args; + if (argc < 2) { +- SLang_Error = SL_SYNTAX_ERROR; ++ /*SLang_Error = SL_SYNTAX_ERROR;*/ ++ SLang_set_error(SL_SYNTAX_ERROR); + return -1; + } + rc = 0; +@@ -928,7 +931,8 @@ SLin (void) /*{{{*/ + } + free (i); + } else { +- SLang_Error = SL_MALLOC_ERROR; ++ /*SLang_Error = SL_MALLOC_ERROR;*/ ++ SLang_set_error(SL_MALLOC_ERROR); + rc = -1; + } + } +@@ -940,7 +944,7 @@ SLin (void) /*{{{*/ + + if (d = (double *) malloc (argc * sizeof (double))) { + for (n = 0; n < argc; ++n) +- if (SLang_pop_double (& d[n], & dummy, & dummy) == -1) { ++ if (SLang_pop_double (& d[n]) == -1) { + rc = -1; + break; + } +@@ -952,7 +956,8 @@ SLin (void) /*{{{*/ + } + free (d); + } else { +- SLang_Error = SL_MALLOC_ERROR; ++ /*SLang_Error = SL_MALLOC_ERROR;*/ ++ SLang_set_error(SL_MALLOC_ERROR); + rc = -1; + } + } +@@ -980,14 +985,16 @@ SLin (void) /*{{{*/ + } + free (s); + } else { +- SLang_Error = SL_MALLOC_ERROR; ++ /*SLang_Error = SL_MALLOC_ERROR;*/ ++ SLang_set_error(SL_MALLOC_ERROR); + rc = -1; + } + } + break; + } +- if ((rc == -1) && (! SLang_Error)) +- SLang_Error = SL_TYPE_MISMATCH; ++ if ((rc == -1) && (! SLang_get_error())) ++ /*SLang_Error = SL_TYPE_MISMATCH;*/ ++ SLang_set_error(SL_TYPE_MISMATCH); + return rc; + }/*}}}*/ + static int +@@ -1000,7 +1007,8 @@ SLbetween (void) /*{{{*/ + + argc = SLang_Num_Function_Args; + if (argc != 3) { +- SLang_Error = SL_SYNTAX_ERROR; ++ /*SLang_Error = SL_SYNTAX_ERROR;*/ ++ SLang_set_error(SL_SYNTAX_ERROR); + return -1; + } + if (! (argv = type_retreive (argc))) +@@ -1030,8 +1038,9 @@ SLbetween (void) /*{{{*/ + break; + } + type_release (argc, argv); +- if ((rc == -1) && (! SLang_Error)) +- SLang_Error = SL_TYPE_MISMATCH; ++ if ((rc == -1) && (! SLang_get_error())) ++ /*SLang_Error = SL_TYPE_MISMATCH;*/ ++ SLang_set_error(SL_TYPE_MISMATCH); + return rc; + }/*}}}*/ + static void +@@ -1044,7 +1053,8 @@ SLdecode (void) /*{{{*/ + + argc = SLang_Num_Function_Args; + if ((argc < 4) || (argc % 2 != 0)) { +- SLang_Error = SL_SYNTAX_ERROR; ++ /*SLang_Error = SL_SYNTAX_ERROR;*/ ++ SLang_set_error(SL_SYNTAX_ERROR); + return; + } + if (! (argv = type_retreive (argc))) +@@ -1068,7 +1078,8 @@ SLdecode (void) /*{{{*/ + if (argv[argc - 1].type != argv[2].type) + st = false; + if (! st) +- SLang_Error = SL_TYPE_MISMATCH; ++ /*SLang_Error = SL_TYPE_MISMATCH;*/ ++ SLang_set_error(SL_TYPE_MISMATCH); + else { + int hit = -1; + +@@ -1092,7 +1103,8 @@ SLdecode (void) /*{{{*/ + switch (argv[hit].type) { + default: + st = false; +- SLang_Error = SL_TYPE_MISMATCH; ++ /*SLang_Error = SL_TYPE_MISMATCH;*/ ++ SLang_set_error(SL_TYPE_MISMATCH); + break; + case SLANG_INT_TYPE: + SLang_push_integer ((int) argv[hit].v.n); Added: head/mail/openemm2013/files/patch-src__c__xmlback__grammar__GNUmakefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/mail/openemm2013/files/patch-src__c__xmlback__grammar__GNUmakefile Sat Oct 17 16:41:29 2015 (r399542) @@ -0,0 +1,13 @@ +--- src/c/xmlback/grammar/GNUmakefile.orig 2013-09-11 08:30:37 UTC ++++ src/c/xmlback/grammar/GNUmakefile +@@ -20,8 +20,8 @@ + # Contributor(s): AGNITAS AG. + ################################################################################## + +-CC = gcc +-CFLAGS = -I.. -I../../lib $(shell xml2-config --cflags) ++CC ?= gcc ++CFLAGS += -I.. -I../../lib $(shell xml2-config --cflags) + LDFLAGS = + SRCS = transform.c parse.c + OBJS = $(SRCS:%.c=%.o) Added: head/mail/openemm2013/files/patch-src__java__org__agnitas__backend__StringOps.java ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/mail/openemm2013/files/patch-src__java__org__agnitas__backend__StringOps.java Sat Oct 17 16:41:29 2015 (r399542) @@ -0,0 +1,21 @@ +--- src/java/org/agnitas/backend/StringOps.java.orig 2015-10-11 16:41:55 UTC ++++ src/java/org/agnitas/backend/StringOps.java +@@ -63,12 +63,12 @@ public class StringOps { + transtab.put("apos", "'"); + transtab.put("nbsp", " "); + /* +- transtab.put("auml", "ä"); +- transtab.put("ouml", "ö"); +- transtab.put("uuml", "ü"); +- transtab.put("Auml", "Ä"); +- transtab.put("Ouml", "Ö"); +- transtab.put("Uuml", "Ü"); ++ transtab.put("auml", ""); ++ transtab.put("ouml", ""); ++ transtab.put("uuml", ""); ++ transtab.put("Auml", ""); ++ transtab.put("Ouml", ""); ++ transtab.put("Uuml", ""); + */ + + rtranstab = new Hashtable(); Added: head/mail/openemm2013/files/patch-src__java__org__agnitas__beans__FailedLoginData.java ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/mail/openemm2013/files/patch-src__java__org__agnitas__beans__FailedLoginData.java Sat Oct 17 16:41:29 2015 (r399542) @@ -0,0 +1,11 @@ +--- src/java/org/agnitas/beans/FailedLoginData.java.orig 2015-10-11 16:41:55 UTC ++++ src/java/org/agnitas/beans/FailedLoginData.java +@@ -31,7 +31,7 @@ package org.agnitas.beans; + * + * Successful logins during a lock period are not noted. + * +- * @author Markus Dörschmidt ++ * @author Markus Duerschmidt + * + */ + public interface FailedLoginData { Added: head/mail/openemm2013/files/patch-src__java__org__agnitas__beans__ImageButton.java ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/mail/openemm2013/files/patch-src__java__org__agnitas__beans__ImageButton.java Sat Oct 17 16:41:29 2015 (r399542) @@ -0,0 +1,11 @@ +--- src/java/org/agnitas/beans/ImageButton.java.orig 2015-10-11 16:41:55 UTC ++++ src/java/org/agnitas/beans/ImageButton.java +@@ -37,7 +37,7 @@ import java.io.Serializable; + *
  • If you do not instantiate the ImageButton in reset(), call clearButton() here to reset the button's state to "unclicked".
  • + * + * +- * @author Markus Dörschmidt ++ * @author Markus Duerschmidt + */ + public class ImageButton implements Serializable { + /** Added: head/mail/openemm2013/files/patch-src__java__org__agnitas__dao__LoginTrackDao.java ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/mail/openemm2013/files/patch-src__java__org__agnitas__dao__LoginTrackDao.java Sat Oct 17 16:41:29 2015 (r399542) @@ -0,0 +1,11 @@ +--- src/java/org/agnitas/dao/LoginTrackDao.java.orig 2015-10-11 16:41:55 UTC ++++ src/java/org/agnitas/dao/LoginTrackDao.java +@@ -28,7 +28,7 @@ import org.agnitas.beans.FailedLoginData + * Interface for accessing login tracking information. + * The records contains IP-address, used username, login status (success, failed, etc.) and a time stamp. + * +- * @author Markus Dörschmidt ++ * @author Markus Duerschmidt + * + */ + public interface LoginTrackDao { Added: head/mail/openemm2013/files/patch-src__java__org__agnitas__util__CharacterEncodingValidator.java ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/mail/openemm2013/files/patch-src__java__org__agnitas__util__CharacterEncodingValidator.java Sat Oct 17 16:41:29 2015 (r399542) @@ -0,0 +1,11 @@ +--- src/java/org/agnitas/util/CharacterEncodingValidator.java.orig 2015-10-11 16:41:55 UTC ++++ src/java/org/agnitas/util/CharacterEncodingValidator.java +@@ -36,7 +36,7 @@ import org.agnitas.web.forms.MailingBase + * defined in the mailing. + * + * +- * @author Markus Dörschmidt ++ * @author Markus Duerschmidt + * + */ + public interface CharacterEncodingValidator { Added: head/mail/openemm2013/files/patch-src__java__org__agnitas__util__CharacterEncodingValidatorImpl.java ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/mail/openemm2013/files/patch-src__java__org__agnitas__util__CharacterEncodingValidatorImpl.java Sat Oct 17 16:41:29 2015 (r399542) @@ -0,0 +1,11 @@ +--- src/java/org/agnitas/util/CharacterEncodingValidatorImpl.java.orig 2015-10-11 16:41:55 UTC ++++ src/java/org/agnitas/util/CharacterEncodingValidatorImpl.java +@@ -45,7 +45,7 @@ import java.util.Set; + * defined in the mailing. + * + * +- * @author Markus Dörschmidt ++ * @author Markus Duerschmidt + * + */ + public class CharacterEncodingValidatorImpl implements CharacterEncodingValidator { Added: head/mail/openemm2013/files/patch-src__java__org__agnitas__util__TextTable.java ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/mail/openemm2013/files/patch-src__java__org__agnitas__util__TextTable.java Sat Oct 17 16:41:29 2015 (r399542) @@ -0,0 +1,29 @@ +--- src/java/org/agnitas/util/TextTable.java.orig 2015-10-11 16:41:55 UTC ++++ src/java/org/agnitas/util/TextTable.java +@@ -98,7 +98,7 @@ public class TextTable { + + public void setAlignmentForColumn(int columnIndex, boolean alignRight) throws Exception { + if (columnIndex < 0 || columnIndex >= columnNames.get(0).size()) +- throw new Exception("Ungültige Spalten-Indexangabe: " + columnIndex); ++ throw new Exception("Ung\u00FCltige Spalten-Indexangabe: " + columnIndex); + + columnRightAligned.set(columnIndex, alignRight); + } +@@ -482,7 +482,7 @@ public class TextTable { + + public String getHeader(int headerLineIndex, int columnIndex) throws Exception { + if (columnNames.size() <= headerLineIndex || columnNames.get(headerLineIndex).size() <= columnIndex) +- throw new Exception("Ungültige Datenabfrage an Spaltenüberschriften Zeilenindex " + headerLineIndex + " Spaltenindex " + columnIndex); ++ throw new Exception("Ung\u00FCltige Datenabfrage an Spalten\u00FCberschriften Zeilenindex " + headerLineIndex + " Spaltenindex " + columnIndex); + return columnNames.get(headerLineIndex).get(columnIndex); + } + +@@ -496,7 +496,7 @@ public class TextTable { + + public String getData(int lineIndex, int columnIndex) throws Exception { + if (content.size() <= lineIndex || content.get(lineIndex).size() <= columnIndex) +- throw new Exception("Ungültige Datenabfrage an Zeilenindex " + lineIndex + " Spaltenindex " + columnIndex); ++ throw new Exception("Ung\u00FCltige Datenabfrage an Zeilenindex " + lineIndex + " Spaltenindex " + columnIndex); + return content.get(lineIndex).get(columnIndex); + } + Added: head/mail/openemm2013/files/patch-src__jsp__WEB-INF__web.xml ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/mail/openemm2013/files/patch-src__jsp__WEB-INF__web.xml Sat Oct 17 16:41:29 2015 (r399542) @@ -0,0 +1,69 @@ +--- src/jsp/WEB-INF/web.xml.orig 2015-10-11 16:41:55 UTC ++++ src/jsp/WEB-INF/web.xml +@@ -1,8 +1,8 @@ + + ++xsi:schemaLocation="http://java.sun.com/xml/ns/javaee/web-app_3_1.xsd" ++version="3.1"> *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***