Date: Fri, 3 Jan 2014 18:31:57 GMT From: Mark Felder <feld@FreeBSD.org> To: freebsd-gnats-submit@FreeBSD.org Subject: ports/185452: [PATCH] security/maia: lots of fixes Message-ID: <201401031831.s03IVv0m047042@oldred.freebsd.org> Resent-Message-ID: <201401031840.s03Ie0Ub084365@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 185452 >Category: ports >Synopsis: [PATCH] security/maia: lots of fixes >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Fri Jan 03 18:40:00 UTC 2014 >Closed-Date: >Last-Modified: >Originator: Mark Felder >Release: >Organization: >Environment: >Description: security/maia has a lot of problems. One in particular right now is that the maintenance scripts that should be run regularly from cron are not even installed. This patch provides the following: - put the scripts in DATADIR - proper WWWOWN and WWWGRP usage - ETCDIR usage; config files are now in ${PREFIX}/etc/maia/ - template files are probably going to be edited by the users. Now they're in ${ETCDIR}/templates/ - STAGE support - MYSQLSERVER option is now: USE_MYSQL= server - PGSQLSERVER option is now: USE_PGSQL= server - lots of cleanup - several installation tasks should not have been silenced (prefixed with @) - rc script passes rclint - rc script handles the creation of several important directories in start_precmd - config files and templates are not overwritten on port upgrade if they have been modified On a clean server you can now successfully do: # pkg install maia # service maiad onestart and the service will start up with no errors! >How-To-Repeat: >Fix: Patch attached with submission follows: Index: Makefile =================================================================== --- Makefile (revision 338178) +++ Makefile (working copy) @@ -3,7 +3,7 @@ PORTNAME= maia DISTVERSION= 1.0.3-${SVNREVISION} -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= security MASTER_SITES= http://www.purplehat.org/downloads/maia/ @@ -35,9 +35,10 @@ USERS= vscan GROUPS= vscan -MAIADIR?= /var/maiad +MAIAHOME= /var/maiad MAIAQUARANTINE?= /var/maiad/virusmails PEAR_DIR?= ${LOCALBASE}/share/pear +PLIST_SUB+= USERS="${USERS}" GROUPS="${GROUPS}" WWWOWN="${WWWOWN}" WWWGRP="${WWWGRP}" OPTIONS_DEFINE= APACHE LIGHTTPD WEBHOST MYSQL MYSQLSERVER PGSQL PGSQLSERVER DOVECOT \ POSTFIX PFA FUZZYOCR CLAMAV SPAMASSASSIN GRAPHICS BDB ALTERMIME CRYPT \ @@ -83,14 +84,14 @@ P7ZIP_DESC= P7ZIP support with archivers/p7zip TNEF_DESC= Add external tnef decoder -SUB_FILES= pkg-install pkg-deinstall pkg-message -SUB_LIST+= MAIAUSER=${USERS} \ - MAIAGROUP=${GROUPS} \ - MAIADIR=${MAIADIR} \ - MAIAQUARANTINE=${MAIAQUARANTINE} +SUB_FILES= maiad pkg-message +SUB_LIST+= USERS=${USERS} \ + GROUPS=${GROUPS} \ + MAIAHOME=${MAIAHOME} \ + MAIAQUARANTINE=${MAIAQUARANTINE} \ + ETCDIR=${ETCDIR} USE_RC_SUBR+= maiad -NO_STAGE= yes .include <bsd.port.options.mk> # Code is a bit fiddly here; we can't use USE variables after pre.mk so we have @@ -117,8 +118,6 @@ USE_PHP+= pgsql .endif -.include <bsd.port.pre.mk> - .if ${PORT_OPTIONS:MLIGHTTPD} RUN_DEPENDS+= lighttpd:${PORTSDIR}/www/lighttpd .endif @@ -139,7 +138,7 @@ .endif .if ${PORT_OPTIONS:MMYSQLSERVER} -RUN_DEPENDS+= ${LOCALBASE}/bin/mysqld_safe:${PORTSDIR}/databases/mysql55-server +USE_MYSQL= server .endif .if ${PORT_OPTIONS:MPGSQL} @@ -147,7 +146,7 @@ .endif .if ${PORT_OPTIONS:MPGSQLSERVER} -RUN_DEPENDS+= ${LOCALBASE}/bin/pg_ctl:${PORTSDIR}/databases/postgresql84-server +USE_PGSQL= server .endif .if ${PORT_OPTIONS:MDOVECOT} @@ -282,85 +281,64 @@ RUN_DEPENDS+= tnef:${PORTSDIR}/converters/tnef .endif +.include <bsd.port.pre.mk> + post-patch: .for m in scripts/configtest.pl scripts/expire-quarantine-cache.pl \ scripts/generate-key.pl scripts/load-sa-rules.pl scripts/maiadbtool.pl \ scripts/process-quarantine.pl scripts/resend.pl scripts/send-quarantine-digests.pl \ scripts/send-quarantine-reminders.pl scripts/stats-snapshot.pl - @${REINPLACE_CMD} -e "s|/etc/maia/maia.conf|${PREFIX}/etc/maia.conf|" \ + @${REINPLACE_CMD} -e "s|/etc/maia/maia.conf|${ETCDIR}/maia.conf|" \ ${WRKSRC}/${m} +.endfor +.for i in digest.tpl newuser.tpl reminder.tpl + ${MV} ${WRKSRC}/templates/${i} ${WRKSRC}/templates/${i}.dist .endfor -.for a in maiad.conf.dist + @${REINPLACE_CMD} -e "s|daemon_user = 'maia'|daemon_user = '${USERS}'|" \ -e "s|daemon_group = 'maia'|daemon_group = '${GROUPS}'|" \ - -e "s|/var/lib/maia|${MAIADIR}|" \ - -e "s|/var/log/maia|${MAIADIR}|" ${WRKSRC}/${a} -.endfor -.for i in maia.conf.dist - @${REINPLACE_CMD} -e "s|/etc/maia.conf|${PREFIX}/etc/maia.conf|" \ + -e "s|/var/lib/maia|${MAIAHOME}|" ${WRKSRC}/maiad.conf.dist + + @${REINPLACE_CMD} -e "s|/etc/maia.conf|${ETCDIR}/maia.conf|" \ -e "s|username = 'maia'|username = '${USERS}'|" \ - -e "s|/var/lib/maia|${MAIADIR}/maia|" \ - -e "s|/usr/bin/sa-learn|/usr/local/bin/sa-learn|" \ + -e "s|/var/lib/maia|${DATADIR}|" \ + -e "s|/usr/bin/sa-learn|${PREFIX}/bin/sa-learn|" \ -e "s|local_cf_dir = undef|local_cf_dir = '${PREFIX}/etc/mail/spamassassin'|" \ -e "s|system_rules_dir = undef|system_rules_dir = '/var/db/spamassassin'|" \ - -e "s|user_rules_dir = undef|user_rules_dir = '${MAIADIR}/.spamassassin'|" \ - -e "s|pid_dir = '/var/run/maia/'|pid_dir = '${MAIADIR}/'|" \ - -e "s|log_dir = '/var/log/maia'|log_dir = '${MAIADIR}'|" \ - -e "s|template_dir = '/etc/maia/templates/'|template_dir = '${MAIADIR}/maia/templates/'|" \ - ${WRKSRC}/${i} -.endfor -.for a in maiad - @${REINPLACE_CMD} -e "s|/etc/maia/maiad.conf|${PREFIX}/etc/maiad.conf|" \ - -e "s|/var/lib/maia|${MAIADIR}|" \ - -e "s@'zoo'\]@['zoo','unzoo'] ]@" ${WRKSRC}/${a} -.endfor + -e "s|user_rules_dir = undef|user_rules_dir = '${DATADIR}/.spamassassin'|" \ + -e "s|template_dir = '/etc/maia/templates/'|template_dir = '${ETCDIR}/templates/'|" \ + ${WRKSRC}/maia.conf.dist + + @${REINPLACE_CMD} -e "s|/etc/maia/maiad.conf|${ETCDIR}/maiad.conf|" \ + -e "s|/var/lib/maia|${DATADIR}|" \ + -e "s@'zoo'\]@['zoo','unzoo'] ]@" ${WRKSRC}/maiad + @${FIND} -E ${WRKSRC} -iregex '.*(bak|~)$$' -delete -pre-install: - @${SH} ${PKGINSTALL} ${DISTNAME} PRE-INSTALL - do-install: - @${INSTALL} -d ${WWWDIR} - @cd ${WRKSRC}/php && ${FIND} . | ${CPIO} --quiet -pdm -L ${WWWDIR} - @cd ${WRKSRC}/scripts && ${FIND} . | ${CPIO} --quiet -pdm -L ${MAIADIR}/maia/scripts - @cd ${WRKSRC}/templates && ${FIND} . | ${CPIO} --quiet -pdm -L ${MAIADIR}/maia/templates + ${MKDIR} -p ${STAGEDIR}${WWWDIR} + @cd ${WRKSRC}/php && ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR} + ${MKDIR} -p ${STAGEDIR}${DATADIR} + @cd ${WRKSRC}/scripts && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR}/scripts + ${MKDIR} -p ${STAGEDIR}${ETCDIR}/templates +.for i in digest.tpl newuser.tpl reminder.tpl + ${INSTALL} -m 644 ${WRKSRC}/templates/${i}.dist ${STAGEDIR}${ETCDIR}/templates +.endfor + ${INSTALL_SCRIPT} ${WRKSRC}/maiad ${STAGEDIR}${PREFIX}/sbin + ${INSTALL} -m 644 ${WRKSRC}/maiad.conf.dist ${STAGEDIR}${ETCDIR}/maiad.conf.dist + ${INSTALL} -m 644 ${WRKSRC}/maia.conf.dist ${STAGEDIR}${ETCDIR}/maia.conf.dist + ${CHOWN} ${WWWOWN}:${WWWGRP} ${STAGEDIR}${WWWDIR}/themes/*/compiled + ${LN} -s ${PREFIX}/share/smarty ${STAGEDIR}${WWWDIR}/libs/Smarty -.for i in maiad - @${INSTALL_SCRIPT} ${WRKSRC}/${i} ${PREFIX}/sbin -.endfor - @${INSTALL_SCRIPT} -m 640 ${WRKSRC}/maiad.conf.dist ${PREFIX}/etc/maiad.conf.dist - @${INSTALL_SCRIPT} -m 640 ${WRKSRC}/maia.conf.dist ${PREFIX}/etc/maia.conf.dist -# -# This can contain sensitive information, e.g. SQL passwords, so it should be handled -# with care. -# -.if !exists(${PREFIX}/www/${PORTNAME}/config.php) - @${INSTALL} -o ${WWWOWN} -g ${WWWGRP} -m 640 \ - ${WRKSRC}/php/config.php.dist \ - ${PREFIX}/www/${PORTNAME}/config.php -.endif .if ${PORT_OPTIONS:MDOCS} - @${MKDIR} ${DOCSDIR} + ${MKDIR} ${STAGEDIR}${DOCSDIR} .for i in ${DOCS} - @${INSTALL_DATA} ${WRKSRC}/${i} ${DOCSDIR} + ${INSTALL_DATA} ${WRKSRC}/${i} ${STAGEDIR}${DOCSDIR} .endfor .endif post-install: -.for maiaconf in maia maiad - @if [ ! -f ${PREFIX}/etc/${maiaconf}.conf ]; then \ - ${CP} -p ${PREFIX}/etc/${maiaconf}.conf.dist \ - ${PREFIX}/etc/${maiaconf}.conf ; \ - fi - @${CHOWN} ${USERS}:${GROUPS} ${PREFIX}/etc/${maiaconf}.conf \ - ${PREFIX}/etc/${maiaconf}.conf.dist -.endfor - @${CHOWN} -R ${WWWOWN}:${WWWGRP} ${WWWDIR} - @${CHOWN} -R ${USERS}:${GROUPS} ${MAIADIR}/ - @${ECHO_CMD} '@exec ${CHOWN} -R ${WWWOWN}:${WWWGRP} ${WWWDIR}' >> ${TMPPLIST} - @${ECHO_CMD} '@exec ${CHOWN} -R ${USERS}:${GROUPS} ${MAIADIR}' >> ${TMPPLIST} - @${LN} -s ${PREFIX}/share/smarty ${PREFIX}/www/${PORTNAME}/libs/Smarty @${CAT} ${PKGMESSAGE} .include <bsd.port.post.mk> Index: files/maiad.in =================================================================== --- files/maiad.in (revision 338178) +++ files/maiad.in (working copy) @@ -13,34 +13,39 @@ . /etc/rc.subr -name="maiad" +name=maiad rcvar=maiad_enable load_rc_config $name -: ${maiad_enable="NO"} -: ${maiad_pidfile="%%MAIADIR%%/maiad.pid"} +: ${maiad_enable:=NO} +: ${maiad_pidfile="/var/run/maia/maiad.pid"} -required_files=%%PREFIX%%/etc/maiad.conf +required_files=%%ETCDIR%%/maiad.conf -start_cmd=${name}_start -stop_cmd=${name}_stop - +start_cmd="%%PREFIX%%/sbin/maiad start" +start_precmd="start_precmd" +extra_commands="status" pidfile=${maiad_pidfile} -procname=${maiad_procname} +procname=maiad -start_precmd=${name}_prestart +start_precmd() +{ + for i in db tmp var virusmails; do + if [ ! -e %%MAIAHOME%%/${i} ]; then + install -d -o %%USERS%% -g %%GROUPS%% -m 750 %%MAIAHOME%%/${i} + fi + done + + for i in log run lock; do + if [ ! -e /var/${i}/maia ]; then + install -d -o %%USERS%% -g %%GROUPS%% /var/${i}/maia + fi + done -maiad_prestart() { - rm -rf %%MAIADIR%%/tmp/* %%MAIADIR%%/tmp/.* 2>/dev/null || true + # not sure why, but previous maintainer had this in the rc script + rm -rf %%MAIAHOME%%/tmp/* %%MAIAHOME%%/tmp/.* 2>/dev/null || true } -maiad_start() { - %%PREFIX%%/sbin/maiad start -} +run_rc_command "$1" -maiad_stop() { - %%PREFIX%%/sbin/maiad stop -} - -run_rc_command "$1" Index: files/pkg-deinstall.in =================================================================== --- files/pkg-deinstall.in (revision 338178) +++ files/pkg-deinstall.in (working copy) @@ -1,20 +0,0 @@ -#!/bin/sh -# -# $FreeBSD$ -# - -DIR=%%MAIADIR%% -QUARANTINE=%%MAIAQUARANTINE%% -MAIAWEB=%%PREFIX%%/www/maia - -if [ "$2" = "POST-DEINSTALL" ]; then - if [ -e ${DIR} ]; then - echo "You should manually remove the \"${DIR}\" directory." - fi - if [ -e ${QUARANTINE} ]; then - echo "You should manually remove the \"${QUARANTINE}\" directory." - fi - if [ -e ${MAIAWEB} ]; then - echo "You should manually remove the \"${MAIAWEB}\" directory." - fi -fi Index: files/pkg-install.in =================================================================== --- files/pkg-install.in (revision 338178) +++ files/pkg-install.in (working copy) @@ -1,28 +0,0 @@ -#!/bin/sh -# -# $FreeBSD$ -# - -USER=%%MAIAUSER%% -GROUP=%%MAIAGROUP%% -DIR=%%MAIADIR%% -QUARANTINE=%%MAIAQUARANTINE%% - -if [ "$2" = "PRE-INSTALL" ]; then - /usr/bin/install -o ${USER} -g ${GROUP} -m 750 -d ${DIR} - echo "Created \"${DIR}\" directory." - /usr/bin/install -o ${USER} -g ${GROUP} -m 750 -d ${DIR}/db - echo "Created \"${DIR}/db\" directory." - /usr/bin/install -o ${USER} -g ${GROUP} -m 750 -d ${DIR}/tmp - echo "Created \"${DIR}/tmp\" directory." - /usr/bin/install -o ${USER} -g ${GROUP} -m 750 -d ${DIR}/var - echo "Created \"${DIR}/var\" directory." - /usr/bin/install -o ${USER} -g ${GROUP} -m 750 -d ${DIR}/maia - echo "Created \"${DIR}/maia\" directory." - /usr/bin/install -o ${USER} -g ${GROUP} -m 750 -d ${DIR}/maia/scripts - echo "Created \"${DIR}/maia/scripts\" directory." - /usr/bin/install -o ${USER} -g ${GROUP} -m 750 -d ${DIR}/maia/templates - echo "Created \"${DIR}/maia/templates\" directory." - /usr/bin/install -o ${USER} -g ${GROUP} -m 750 -d ${QUARANTINE} - echo "Created \"${QUARANTINE}\" directory." -fi Index: pkg-plist =================================================================== --- pkg-plist (revision 338178) +++ pkg-plist (working copy) @@ -1,9 +1,33 @@ -@unexec if cmp -s %D/etc/maiad.conf.dist %D/etc/maiad.conf; then rm -f %D/etc/maiad.conf; fi -etc/maiad.conf.dist -@exec if [ ! -f %D/etc/maiad.conf ] ; then cp -p %D/%F %B/maiad.conf; fi -@unexec if cmp -s %D/etc/maia.conf.dist %D/etc/maia.conf; then rm -f %D/etc/maia.conf; fi -etc/maia.conf.dist -@exec if [ ! -f %D/etc/maia.conf ] ; then cp -p %D/%F %B/maia.conf; fi +@unexec cmp -s %D/%%ETCDIR%%/maiad.conf.dist %D/%%ETCDIR%%/maiad.conf && rm -f %D/%%ETCDIR%%/maiad.conf || true +@exec if [ ! -f %D/%%ETCDIR%%/maiad.conf ] ; then cp -p %D/%%ETCDIR%%/maiad.conf.dist %D/%%ETCDIR%%/maiad.conf; fi +@unexec cmp -s %D/%%ETCDIR%%/maia.conf.dist %D/%%ETCDIR%%/maia.conf && rm -f %D/%%ETCDIR%%/maia.conf || true +@exec if [ ! -f %D/%%ETCDIR%%/maia.conf ] ; then cp -p %D/%%ETCDIR%%/maia.conf.dist %D/%%ETCDIR%%/maia.conf; fi +@unexec cmp -s %D/%%ETCDIR%%/templates/digest.tpl.dist %D/%%ETCDIR%%/templates/digest.tpl && rm -f %D/%%ETCDIR%%/templates/digest.tpl || true +@exec if [ ! -f %D/%%ETCDIR%%/templates/digest.tpl ] ; then cp -p %D/%%ETCDIR%%/templates/digest.tpl.dist %D/%%ETCDIR%%/templates/digest.tpl; fi +@unexec cmp -s %D/%%ETCDIR%%/templates/newuser.tpl.dist %D/%%ETCDIR%%/templates/newuser.tpl && rm -f %D/%%ETCDIR%%/templates/newuser.tpl || true +@exec if [ ! -f %D/%%ETCDIR%%/templates/newuser.tpl ] ; then cp -p %D/%%ETCDIR%%/templates/newuser.tpl.dist %D/%%ETCDIR%%/templates/newuser.tpl; fi +@unexec cmp -s %D/%%ETCDIR%%/templates/reminder.tpl.dist %D/%%ETCDIR%%/templates/reminder.tpl && rm -f %D/%%ETCDIR%%/templates/reminder.tpl || true +@exec if [ ! -f %D/%%ETCDIR%%/templates/reminder.tpl ] ; then cp -p %D/%%ETCDIR%%/templates/reminder.tpl.dist %D/%%ETCDIR%%/templates/reminder.tpl; fi +@unexec cmp -s %D/www/maia/config.php.dist %D/www/maia/config.php && rm -f %D/www/maia/config.php || true +@exec if [ ! -f %D/www/maia/config.php ] ; then cp -p %D/www/maia/config.php.dist %D/www/maia/config.php; fi +@exec install -d -o %%WWWOWN%% -g %%WWWGRP%% %D/www/maia/themes/desert_sand/compiled +@exec install -d -o %%WWWOWN%% -g %%WWWGRP%% %D/www/maia/themes/dgm/compiled +@exec install -d -o %%WWWOWN%% -g %%WWWGRP%% %D/www/maia/themes/ocean_surf/compiled +%%ETCDIR%%/maia.conf.dist +%%ETCDIR%%/maiad.conf.dist +%%ETCDIR%%/templates/digest.tpl.dist +%%ETCDIR%%/templates/newuser.tpl.dist +%%ETCDIR%%/templates/reminder.tpl.dist +share/maia/scripts/configtest.pl +share/maia/scripts/expire-quarantine-cache.pl +share/maia/scripts/generate-key.pl +share/maia/scripts/load-sa-rules.pl +share/maia/scripts/maiadbtool.pl +share/maia/scripts/process-quarantine.pl +share/maia/scripts/resend.pl +share/maia/scripts/send-quarantine-digests.pl +share/maia/scripts/send-quarantine-reminders.pl +share/maia/scripts/stats-snapshot.pl sbin/maiad %%PORTDOCS%%%%DOCSDIR%%/LICENSE %%PORTDOCS%%%%DOCSDIR%%/README @@ -47,10 +71,7 @@ %%WWWDIR%%/chart_rules.php %%WWWDIR%%/chart_stats.php %%WWWDIR%%/chart_virus.php -@unexec if cmp -s %D/www/maia/config.php.dist %D/www/maia/config.php; then rm -f %D/www/maia/config.php; fi %%WWWDIR%%/config.php.dist -@exec if [ ! -f %D/www/maia/config.php ] ; then cp -p %D/%F %B/config.php; fi -%%WWWDIR%%/config.php.dist %%WWWDIR%%/confirm.php %%WWWDIR%%/constants.php %%WWWDIR%%/core.php @@ -895,53 +916,57 @@ %%WWWDIR%%/ximpersonate.php %%WWWDIR%%/xlogin.php %%WWWDIR%%/xsettings.php -@dirrm %%WWWDIR%%/themes/ocean_surf/templates/settings -@dirrm %%WWWDIR%%/themes/ocean_surf/templates -@dirrm %%WWWDIR%%/themes/ocean_surf/javascript -@dirrm %%WWWDIR%%/themes/ocean_surf/images -@dirrm %%WWWDIR%%/themes/ocean_surf/css/images -@dirrm %%WWWDIR%%/themes/ocean_surf/css -@dirrm %%WWWDIR%%/themes/ocean_surf/compiled -@dirrm %%WWWDIR%%/themes/ocean_surf/code -@dirrm %%WWWDIR%%/themes/ocean_surf -@dirrm %%WWWDIR%%/themes/dgm/templates -@dirrm %%WWWDIR%%/themes/dgm/images -@dirrm %%WWWDIR%%/themes/dgm/css -@dirrm %%WWWDIR%%/themes/dgm/compiled -@dirrm %%WWWDIR%%/themes/dgm/code -@dirrm %%WWWDIR%%/themes/dgm -@dirrm %%WWWDIR%%/themes/desert_sand/templates/welcome -@dirrm %%WWWDIR%%/themes/desert_sand/templates/settings -@dirrm %%WWWDIR%%/themes/desert_sand/templates -@dirrm %%WWWDIR%%/themes/desert_sand/javascript -@dirrm %%WWWDIR%%/themes/desert_sand/images -@dirrm %%WWWDIR%%/themes/desert_sand/css/images -@dirrm %%WWWDIR%%/themes/desert_sand/css -@dirrm %%WWWDIR%%/themes/desert_sand/compiled -@dirrm %%WWWDIR%%/themes/desert_sand/code -@dirrm %%WWWDIR%%/themes/desert_sand -@dirrm %%WWWDIR%%/themes -@dirrm %%WWWDIR%%/overlib/mini -@dirrm %%WWWDIR%%/overlib -@dirrm %%WWWDIR%%/maia_db -@dirrm %%WWWDIR%%/locale/sv -@dirrm %%WWWDIR%%/locale/ru -@dirrm %%WWWDIR%%/locale/pt -@dirrm %%WWWDIR%%/locale/no -@dirrm %%WWWDIR%%/locale/nl -@dirrm %%WWWDIR%%/locale/it -@dirrm %%WWWDIR%%/locale/hu -@dirrm %%WWWDIR%%/locale/fr -@dirrm %%WWWDIR%%/locale/en -@dirrm %%WWWDIR%%/locale/de -@dirrm %%WWWDIR%%/locale/da -@dirrm %%WWWDIR%%/locale/cs -@dirrm %%WWWDIR%%/locale -@dirrm %%WWWDIR%%/libs/jquery/images -@dirrm %%WWWDIR%%/libs/jquery -@dirrm %%WWWDIR%%/libs -@dirrm %%WWWDIR%%/images -@dirrm %%WWWDIR%%/admin/scripts -@dirrm %%WWWDIR%%/admin +@dirrmtry %%WWWDIR%%/themes/ocean_surf/templates/settings +@dirrmtry %%WWWDIR%%/themes/ocean_surf/templates +@dirrmtry %%WWWDIR%%/themes/ocean_surf/javascript +@dirrmtry %%WWWDIR%%/themes/ocean_surf/images +@dirrmtry %%WWWDIR%%/themes/ocean_surf/css/images +@dirrmtry %%WWWDIR%%/themes/ocean_surf/css +@dirrmtry %%WWWDIR%%/themes/ocean_surf/compiled +@dirrmtry %%WWWDIR%%/themes/ocean_surf/code +@dirrmtry %%WWWDIR%%/themes/ocean_surf +@dirrmtry %%WWWDIR%%/themes/dgm/templates +@dirrmtry %%WWWDIR%%/themes/dgm/images +@dirrmtry %%WWWDIR%%/themes/dgm/css +@dirrmtry %%WWWDIR%%/themes/dgm/compiled +@dirrmtry %%WWWDIR%%/themes/dgm/code +@dirrmtry %%WWWDIR%%/themes/dgm +@dirrmtry %%WWWDIR%%/themes/desert_sand/templates/welcome +@dirrmtry %%WWWDIR%%/themes/desert_sand/templates/settings +@dirrmtry %%WWWDIR%%/themes/desert_sand/templates +@dirrmtry %%WWWDIR%%/themes/desert_sand/javascript +@dirrmtry %%WWWDIR%%/themes/desert_sand/images +@dirrmtry %%WWWDIR%%/themes/desert_sand/css/images +@dirrmtry %%WWWDIR%%/themes/desert_sand/css +@dirrmtry %%WWWDIR%%/themes/desert_sand/compiled +@dirrmtry %%WWWDIR%%/themes/desert_sand/code +@dirrmtry %%WWWDIR%%/themes/desert_sand +@dirrmtry %%WWWDIR%%/themes +@dirrmtry %%WWWDIR%%/overlib/mini +@dirrmtry %%WWWDIR%%/overlib +@dirrmtry %%WWWDIR%%/maia_db +@dirrmtry %%WWWDIR%%/locale/sv +@dirrmtry %%WWWDIR%%/locale/ru +@dirrmtry %%WWWDIR%%/locale/pt +@dirrmtry %%WWWDIR%%/locale/no +@dirrmtry %%WWWDIR%%/locale/nl +@dirrmtry %%WWWDIR%%/locale/it +@dirrmtry %%WWWDIR%%/locale/hu +@dirrmtry %%WWWDIR%%/locale/fr +@dirrmtry %%WWWDIR%%/locale/en +@dirrmtry %%WWWDIR%%/locale/de +@dirrmtry %%WWWDIR%%/locale/da +@dirrmtry %%WWWDIR%%/locale/cs +@dirrmtry %%WWWDIR%%/locale +@dirrmtry %%WWWDIR%%/libs/jquery/images +@dirrmtry %%WWWDIR%%/libs/jquery +@dirrmtry %%WWWDIR%%/libs +@dirrmtry %%WWWDIR%%/images +@dirrmtry %%WWWDIR%%/admin/scripts +@dirrmtry %%WWWDIR%%/admin @dirrmtry %%WWWDIR%% -%%PORTDOCS%%@dirrm %%DOCSDIR%% +@dirrmtry %%DATADIR%%/scripts +@dirrmtry %%DATADIR%% +@dirrmtry %%ETCDIR%%/templates +@dirrmtry %%ETCDIR%% +%%PORTDOCS%%@dirrmtry %%DOCSDIR%% >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201401031831.s03IVv0m047042>