tags 494648 patch thanks Hi, Sven
see my patch, please -- . ''`. Dmitry E. Oboukhov : :’ : [EMAIL PROTECTED] `. `~’ GPGKey: 1024D / F8E26537 2006-11-21 `- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537
diff -u twiki-4.1.2/debian/changelog twiki-4.1.2/debian/changelog --- twiki-4.1.2/debian/changelog +++ twiki-4.1.2/debian/changelog @@ -1,3 +1,12 @@ +twiki (1:4.1.2-3.3) unstable; urgency=low + + * Non-maintainer upload. + * Fix security hole, closes: #494648. + * Build instructions moved from section -arch to -indep (closes lintian + warning). + + -- Dmitry E. Oboukhov <[EMAIL PROTECTED]> Thu, 14 Aug 2008 10:23:41 +0400 + twiki (1:4.1.2-3.2) unstable; urgency=high * Non-maintainer upload. diff -u twiki-4.1.2/debian/LocalSite.cfg twiki-4.1.2/debian/LocalSite.cfg --- twiki-4.1.2/debian/LocalSite.cfg +++ twiki-4.1.2/debian/LocalSite.cfg @@ -11,8 +11,8 @@ $TWiki::cfg{Site}{CharSet} = 'iso-8859-15'; $TWiki::cfg{LoginManager} = 'TWiki::Client::ApacheLogin'; $TWiki::cfg{Plugins}{WysiwygPlugin}{Enabled} = 1; -$TWiki::cfg{RCS}{WorkAreaDir} = '/tmp/twiki'; -$TWiki::cfg{TempfileDir} = '/tmp/twiki'; +$TWiki::cfg{RCS}{WorkAreaDir} = '-UNDEFINED_TEMP_DIR-'; +$TWiki::cfg{TempfileDir} = '-UNDEFINED_TEMP_DIR-'; $TWiki::cfg{WorkingDir} = '/var/lib/twiki/working'; 1; diff -u twiki-4.1.2/debian/postinst twiki-4.1.2/debian/postinst --- twiki-4.1.2/debian/postinst +++ twiki-4.1.2/debian/postinst @@ -10,6 +10,29 @@ # Source debconf library. . /usr/share/debconf/confmodule +MAIN_CONFIG=/etc/twiki/LocalSite.cfg +CONFIG_TEMP_DIR=`cat $MAIN_CONFIG \ + |sed 's/#.*//'| grep TempfileDir | tail -n1\ + |sed "s/.*\?=[[:space:]]*'\(.*\?\)'.*/\1/"` +UNDEFINED_TEMP_DIR_PATTERN='-UNDEFINED_TEMP_DIR-' +TWIKI_SESSION_DIR=/tmp/twiki # first attempt to /tmp/twiki + +TWIKI_SESSION_PERMISSIONS=1770 + +create_session_dir() +{ + # We make TWIKI_SESSION_DIR + if ! mkdir $TWIKI_SESSION_DIR &>/dev/null; then + TWIKI_SESSION_DIR=`mktemp -d /tmp/twiki.XXXXXXXXXX` + fi + chmod $TWIKI_SESSION_PERMISSIONS $TWIKI_SESSION_DIR + chown $TWIKI_OWNER:www-data $TWIKI_SESSION_DIR + + perl -pi \ + -e "s[(TempfileDir|WorkAreaDir).*][\$1} = '$TWIKI_SESSION_DIR';]" \ + $MAIN_CONFIG +} + # summary of how this script can be called: # * <postinst> `configure' <most-recently-configured-version> @@ -58,7 +81,7 @@ db_get twiki/defaultUrlHost # be more robust later: -perl -pi~ -e '$U=q{'"$RET"'}; s{http://your.domain.com}{$U}g;' /etc/twiki/LocalSite.cfg +perl -pi~ -e '$U=q{'"$RET"'}; s{http://your.domain.com}{$U}g;' $MAIN_CONFIG perl -pi~ -e '$U=q{'"$RET"'}; s{http://your.domain.com}{$U}g;' /etc/twiki/apache.conf #remove the double //cgi-bin caused by putting a / at the end of the hostUrl perl -pi~ -e 's{/(/cgi-bin)}{$1}g;' /etc/twiki/apache.conf @@ -155,15 +178,26 @@ fi chown $TWIKI_OWNER.www-data /var/lib/twiki/working/work_areas - #mmmm, mailnotify etc may be running _not_ as www-data - #and for some reason create a session - #use 1777 to prevent third parties replacing the file with a doctored one - #put into /tmp/twiki so that the open dir can't be used by others to fill up /var, thus crashing all logging - if [ ! -e /tmp/twiki ]; then - mkdir /tmp/twiki - fi - chmod 1777 /tmp/twiki - chown $TWIKI_OWNER.www-data /tmp/twiki + + # create session dir (if needed) + if echo $CONFIG_TEMP_DIR|grep -q -- $UNDEFINED_TEMP_DIR_PATTERN; then + # NEW install + create_session_dir + else + if test -d $TWIKI_SESSION_DIR; then + found_owner=`ls -ld $TWIKI_SESSION_DIR|awk '{ print $3 }'` + found_group=`ls -ld $TWIKI_SESSION_DIR|awk '{ print $4 }'` + if ! test "$found_owner" = "$TWIKI_OWNER" -a \ + "$found_group" = "www-data"; then + # error permissions, recreate + create_session_dir + fi + else + # $TWIKI_SESSION_DIR is not a directory + create_session_dir + fi + fi + chmod $TWIKI_SESSION_PERMISSIONS $TWIKI_SESSION_DIR #add softlinks to make adding plugins easier () if [ ! -e /var/lib/twiki/lib ]; then @@ -181,7 +215,7 @@ chown -R $TWIKI_OWNER.www-data /var/log/twiki chmod -R 755 /var/log/twiki - chown $TWIKI_OWNER.www-data /etc/twiki/LocalSite.cfg + chown $TWIKI_OWNER.www-data $MAIN_CONFIG # erase configuser password db_reset "twiki/adminpassword" diff -u twiki-4.1.2/debian/rules twiki-4.1.2/debian/rules --- twiki-4.1.2/debian/rules +++ twiki-4.1.2/debian/rules @@ -124,10 +124,6 @@ # Build architecture-independent files here. binary-indep: build install -# We have nothing to do by default. - -# Build architecture-dependent files here. -binary-arch: build install dh_testdir dh_testroot dh_installdebconf @@ -156,6 +152,10 @@ dh_md5sums dh_builddeb +# Build architecture-dependent files here. +binary-arch: build install +# We have nothing to do by default. + # maintainer targets #checkpo: # for i in po/*.po; do \
signature.asc
Description: Digital signature