ソースを参照

make compatibility and logger plugins mandatory, add rc file for log rotation, install better PNG files, and correct GPG plugin paths

Michael Schloh von Bennewitz 20 年 前
コミット
f602bb3523

+ 12 - 11
squirrelmail/config.php

@@ -76,17 +76,18 @@ $uid_support              = true;
 $plugins[0]  = 'abook_take';
 $plugins[1]  = 'administrator';
 $plugins[2]  = 'calendar';
-$plugins[3]  = 'delete_move_next';
-$plugins[4]  = 'filters';
-$plugins[5]  = 'info';
-$plugins[6]  = 'listcommands';
-$plugins[7]  = 'mail_fetch';
-$plugins[8]  = 'message_details';
-$plugins[9]  = 'newmail';
-$plugins[10] = 'spamcop';
-$plugins[11] = 'squirrelspell';
-$plugins[12] = 'translate';
-$plugins[13] = 'compat';
+$plugins[3]  = 'compatibility';
+$plugins[4]  = 'delete_move_next';
+$plugins[5]  = 'filters';
+$plugins[6]  = 'info';
+$plugins[7]  = 'listcommands';
+$plugins[8]  = 'mail_fetch';
+$plugins[9]  = 'message_details';
+$plugins[10] = 'newmail';
+$plugins[11] = 'spamcop';
+$plugins[12] = 'squirrelspell';
+$plugins[13] = 'squirrel_logger';
+$plugins[14] = 'translate';
 
 /* NOP, for patch line placeholder (avoids fuzz) */
 $theme_css = '';

+ 1 - 0
squirrelmail/defprefs.txt

@@ -32,6 +32,7 @@ folder_sizes_left_link=1
 folder_sizes_on_folder_page=0
 folder_sizes_subtotals=0
 wrap_at=72
+custom_css=sans-10.css
 newmail_enable=on
 newmail_changetitle=on
 translate_server=babelfish

BIN
squirrelmail/opkg_small.png


+ 22 - 0
squirrelmail/rc.squirrelmail

@@ -0,0 +1,22 @@
+#!@l_prefix@/lib/openpkg/bash @l_prefix@/etc/rc
+##
+##  rc.squirrelmail -- Run-Commands
+##
+
+%config
+    squirrelmail_enable="$openpkg_rc_def"
+    squirrelmail_log_prolog="true"
+    squirrelmail_log_epilog="true"
+    squirrelmail_log_numfiles="10"
+    squirrelmail_log_minsize="1M"
+    squirrelmail_log_complevel="9"
+
+%daily -u @l_nusr@
+    rcService squirrelmail enable yes || exit 0
+    shtool rotate -f \
+        -n ${squirrelmail_log_numfiles} -s ${squirrelmail_log_minsize} -d \
+        -z ${squirrelmail_log_complevel} -m 644 -o @l_nusr@ -g @l_ngrp@ \
+        -P "${squirrelmail_log_prolog}" \
+        -E "${squirrelmail_log_epilog}" \
+        @l_prefix@/var/squirrelmail/log/access.log
+

+ 16 - 4
squirrelmail/squirrelmail.patch

@@ -1,5 +1,5 @@
 Index: functions/display_messages.php
-diff -Nau functions/display_messages.php functions/display_messages.php
+diff -Nau functions/display_messages.php.orig functions/display_messages.php
 --- functions/display_messages.php.orig	2005-03-16 14:19:09.834557000 +0100
 +++ functions/display_messages.php	2005-03-16 14:19:14.176437000 +0100
 @@ -107,8 +107,8 @@
@@ -14,7 +14,7 @@ diff -Nau functions/display_messages.php functions/display_messages.php
           '<tr><td>'.
           '<table width="100%" border="0" bgcolor="'.$color[4].'" align="center">'.
 Index: src/login.php
-diff -Nau src/login.php src/login.php
+diff -Nau src/login.php.orig src/login.php
 --- src/login.php.orig	2005-03-16 14:19:21.207817000 +0100
 +++ src/login.php	2005-03-16 14:19:26.038991000 +0100
 @@ -110,8 +110,8 @@
@@ -29,8 +29,8 @@ diff -Nau src/login.php src/login.php
                  html_tag( 'tr',
                      html_tag( 'td',
 Index: src/right_main.php
-diff -Nau src/right_main.php src/right_main.php
---- src/right_main.php	2005-03-16 16:41:39.703294000 +0100
+diff -Nau src/right_main.php.orig src/right_main.php
+--- src/right_main.php.orig	2005-03-16 16:41:39.703294000 +0100
 +++ src/right_main.php	2005-03-16 16:41:43.220847000 +0100
 @@ -185,6 +185,7 @@
                               )
@@ -40,3 +40,15 @@ diff -Nau src/right_main.php src/right_main.php
          }
      }
  }
+Index: functions/imap_general.php
+diff -Nau functions/imap_general.php.orig functions/imap_general.php
+--- functions/imap_general.php.orig	2005-03-20 16:42:59.000000000 +0100
++++ functions/imap_general.php	2005-03-20 16:49:00.330978000 +0100
+@@ -573,6 +573,7 @@
+ 
+                 set_up_language($squirrelmail_language, true);
+                 include_once(SM_PATH . 'functions/display_messages.php' );
++                do_hook('invalid_login'); /* used with squirrelmail_logger */
+                 sqsession_destroy();
+                 /* terminate the session nicely */
+                 sqimap_logout($imap_stream);

+ 56 - 8
squirrelmail/squirrelmail.patch.plugins

@@ -2,14 +2,13 @@ Index: etc/squirrelmail/config.php
 diff -Nau etc/squirrelmail/config.php.orig etc/squirrelmail/config.php
 --- etc/squirrelmail/config.php.orig	2005-03-16 13:02:25 +0100
 +++ etc/squirrelmail/config.php	2005-03-16 12:31:51 +0100
-@@ -88,6 +88,18 @@
- $plugins[12] = 'translate';
- $plugins[13] = 'compat';
+@@ -88,6 +88,17 @@
+ $plugins[13] = 'squirrel_logger';
+ $plugins[14] = 'translate';
  
-+$plugins[14] = 'addgraphics';
-+$plugins[15] = 'check_quota';
-+$plugins[16] = 'chg_sasl_passwd';
-+$plugins[17] = 'compatibility';
++$plugins[15] = 'addgraphics';
++$plugins[16] = 'check_quota';
++$plugins[17] = 'chg_sasl_passwd';
 +$plugins[18] = 'folder_sizes';
 +$plugins[19] = 'gpg';
 +$plugins[20] = 'ldifimport';
@@ -27,7 +26,7 @@ diff -Nau share/squirrelmail/plugins/gpg/gpg_local_prefs.txt.orig share/squirrel
 +++ share/squirrelmail/plugins/gpg/gpg_local_prefs.txt	2005-03-17 13:06:31.730254296 +0100
 @@ -4,7 +4,7 @@
  #
- # $Id: squirrelmail.patch.plugins,v 1.2 2005/03/17 21:06:08 ms Exp $
+ # $Id: squirrelmail.patch.plugins,v 1.3 2005/03/20 16:06:38 ms Exp $
  #
 -path_to_gpg=/usr/bin/gpg 
 +path_to_gpg=@l_prefix@/bin/gpg 
@@ -42,3 +41,52 @@ diff -Nau share/squirrelmail/plugins/gpg/gpg_local_prefs.txt.orig share/squirrel
 +default_keystrength=2048
  default_keyexpires=2y
  debug=0
+Index: share/squirrelmail/plugins/gpg/setup.php
+diff -Nau share/squirrelmail/plugins/gpg/setup.php.orig share/squirrelmail/plugins/gpg/setup.php
+--- share/squirrelmail/plugins/gpg/setup.php.orig	2005-03-18 12:01:39.398171000 +0100
++++ share/squirrelmail/plugins/gpg/setup.php	2005-03-18 12:03:35.986216000 +0100
+@@ -14,7 +14,9 @@
+  *
+  */
+ if (!defined (SM_PATH)){
+-    if (file_exists('./gpg_functions.php')){
++    if (file_exists('../../../plugins/gpg/gpg_functions.php')){
++        define (SM_PATH , '../../../');
++    } elseif (file_exists('../../plugins/gpg/gpg_functions.php')){
+         define (SM_PATH , '../../');
+     } elseif (file_exists('../plugins/gpg/gpg_functions.php')) {
+         define (SM_PATH, '../');
+Index: share/squirrelmail/plugins/chg_sasl_passwd/options.php
+diff -Nau share/squirrelmail/plugins/chg_sasl_passwd/options.php.orig share/squirrelmail/plugins/chg_sasl_passwd/options.php
+--- share/squirrelmail/plugins/chg_sasl_passwd/options.php.orig	2005-03-17 21:00:03.157951000 +0100
++++ share/squirrelmail/plugins/chg_sasl_passwd/options.php	2005-03-18 14:16:40.480988000 +0100
+@@ -70,8 +70,8 @@
+              ' "" + dir_path + "/../../src/signout.php?chg_sasl_passwd";' . "', 0);\n" .
+              "//-->\n</script>\n";
+ 
+-        echo "<H2>" . _("Your password has successfully been changed.") . "</H2>\n";
+-        echo '<div align=center>' . _("Please") . '<a href="' . SM_PATH .
++        echo "<H2><div align=center>" . _("Your password has successfully been changed.") . "</div></H2>\n";
++        echo '<div align=center>' . _("Please, ") . '<a href="' . SM_PATH .
+              'src/signout.php?chg_sasl_passwd" TARGET=_top>' .
+              _("logout and log back in using your new password.") . "</div>\n";
+     }
+Index: share/squirrelmail/plugins/chg_sasl_passwd/setup.php
+diff -Nau share/squirrelmail/plugins/chg_sasl_passwd/setup.php.orig share/squirrelmail/plugins/chg_sasl_passwd/setup.php
+--- share/squirrelmail/plugins/chg_sasl_passwd/setup.php.orig	2005-03-03 00:38:44.000000000 +0100
++++ share/squirrelmail/plugins/chg_sasl_passwd/setup.php	2005-03-18 14:29:52.513613000 +0100
+@@ -32,8 +32,12 @@
+ 
+     if (isset($_SERVER['QUERY_STRING']) &&
+         stristr($_SERVER['QUERY_STRING'], 'chg_sasl_passwd') )
+-        echo "<br><b>" . _("Your password has been changed. This requires that you logout and then log back in with the new password.") .
+-             "<br><p><br>\n" . _("Logging out automagically") . ".<br><br>\n";
++        echo "<center>" .
++             "<br /><b>" . _("Your password has been changed.") .
++             "</b><br />" . _("This requires that you logout and then") .
++             "<br />" . _("log back in with the new password.") .
++             "<br /><br />" . _("Logging out automatically...") .
++             "</center><br /><br /><br />\n";
+ 
+     /* Switch back to the SquirrelMail domain */
+     textdomain('squirrelmail');

+ 60 - 25
squirrelmail/squirrelmail.spec

@@ -33,6 +33,7 @@
 %define       V_plugin_foldersize   1.4-1.4
 %define       V_plugin_gnupg        2.0.1-1.4.2
 %define       V_plugin_ldif         1.4-1.2.x
+%define       V_plugin_logger       1.4.0-1.0.6
 %define       V_plugin_update       0.7-1.4.2
 %define       V_plugin_userip       3.2-1.2.2
 %define       V_plugin_smallcal     0.8-1.2.3
@@ -49,7 +50,7 @@ Class:        EVAL
 Group:        Mail
 License:      GPL
 Version:      %{V_sqmail}
-Release:      20050317
+Release:      20050320
 
 #   package options
 %option       with_plugins  no
@@ -58,20 +59,22 @@ Release:      20050317
 Source0:      http://osdn.dl.sourceforge.net/squirrelmail/squirrelmail-%{version}.tar.bz2
 Source1:      http://osdn.dl.sourceforge.net/squirrelmail/all_locales-%{V_sqmail}-%{V_locale}.tar.bz2
 Source2:      http://www.squirrelmail.org/plugins/compatibility-%{V_plugin_compat}.tar.gz
-Source3:      http://www.squirrelmail.org/plugins/addgraphics-%{V_plugin_addgraphics}.tar.gz
-Source4:      http://www.squirrelmail.org/plugins/chg_sasl_passwd-%{V_plugin_saslpwd}.tar.gz
-Source5:      http://www.squirrelmail.org/plugins/check_quota-%{V_plugin_checkquota}.tar.gz
-Source6:      http://www.squirrelmail.org/plugins/folder_sizes.%{V_plugin_foldersize}.tar.gz
-Source7:      http://www.squirrelmail.org/plugins/gpg.%{V_plugin_gnupg}.tar.gz
-Source8:      http://www.squirrelmail.org/plugins/ldifimport-%{V_plugin_ldif}.tar.gz
-Source9:      http://www.squirrelmail.org/plugins/pupdate.%{V_plugin_update}.tar.gz
-Source10:     http://www.squirrelmail.org/plugins/show_user_and_ip-%{V_plugin_userip}.tar.gz
-Source11:     http://www.squirrelmail.org/plugins/smallcal-%{V_plugin_smallcal}.tar.gz
-Source12:     http://www.squirrelmail.org/plugins/vkeyboard-%{V_plugin_vkeyboard}.tar.gz
-Source13:     defprefs.txt
-Source14:     opkg_large.png
-Source15:     opkg_small.png
-Source16:     config.php
+Source3:      http://www.squeaksoft.com/products/SquirrelLogger/squirrel_logger.%{V_plugin_logger}.tar.gz
+Source4:      http://www.squirrelmail.org/plugins/addgraphics-%{V_plugin_addgraphics}.tar.gz
+Source5:      http://www.squirrelmail.org/plugins/chg_sasl_passwd-%{V_plugin_saslpwd}.tar.gz
+Source6:      http://www.squirrelmail.org/plugins/check_quota-%{V_plugin_checkquota}.tar.gz
+Source7:      http://www.squirrelmail.org/plugins/folder_sizes.%{V_plugin_foldersize}.tar.gz
+Source8:      http://www.squirrelmail.org/plugins/gpg.%{V_plugin_gnupg}.tar.gz
+Source9:      http://www.squirrelmail.org/plugins/ldifimport-%{V_plugin_ldif}.tar.gz
+Source10:     http://www.squirrelmail.org/plugins/pupdate.%{V_plugin_update}.tar.gz
+Source11:     http://www.squirrelmail.org/plugins/show_user_and_ip-%{V_plugin_userip}.tar.gz
+Source12:     http://www.squirrelmail.org/plugins/smallcal-%{V_plugin_smallcal}.tar.gz
+Source13:     http://www.squirrelmail.org/plugins/vkeyboard-%{V_plugin_vkeyboard}.tar.gz
+Source14:     config.php
+Source15:     defprefs.txt
+Source16:     opkg_large.png
+Source17:     opkg_small.png
+Source18:     rc.squirrelmail
 Patch0:       squirrelmail.patch
 Patch1:       squirrelmail.patch.plugins
 
@@ -112,6 +115,11 @@ AutoReqProv:  no
         url       = http://www.squirrelmail.org/plugins/
         regex     = compatibility-(__VER__)\.tar\.gz
     }
+    prog squirrelmail:logger = {
+        version   = %{V_plugin_logger}
+        url       = http://www.squeaksoft.com/products/SquirrelLogger/
+        regex     = squirrel_logger.(__VER__)\.tar\.gz
+    }
     prog squirrelmail:addgraphics = {
         version   = %{V_plugin_addgraphics}
         url       = http://www.squirrelmail.org/plugins/
@@ -166,9 +174,11 @@ AutoReqProv:  no
 %prep
     %setup -q -c -n squirrelmail
     %setup -q -D -T -a 1 -c -n squirrelmail/all_locales-%{V_sqmail}-%{V_locale}
-%if "%{with_plugins}" == "yes"
     %setup -q -D -T -a 2 -n squirrelmail
     %setup -q -D -T -a 3 -n squirrelmail
+    mv compatibility squirrelmail-%{V_sqmail}/plugins
+    mv squirrel_logger squirrelmail-%{V_sqmail}/plugins
+%if "%{with_plugins}" == "yes"
     %setup -q -D -T -a 4 -n squirrelmail
     %setup -q -D -T -a 5 -n squirrelmail
     %setup -q -D -T -a 6 -n squirrelmail
@@ -178,11 +188,12 @@ AutoReqProv:  no
     %setup -q -D -T -a 10 -n squirrelmail
     %setup -q -D -T -a 11 -n squirrelmail
     %setup -q -D -T -a 12 -n squirrelmail
+    %setup -q -D -T -a 13 -n squirrelmail
 
     #   move additional plugins where other are already placed
-    for plug in addgraphics check_quota chg_sasl_passwd compatibility \
-                folder_sizes gpg ldifimport pupdate show_user_and_ip \
-                smallcal vkeyboard; do
+    for plug in addgraphics check_quota chg_sasl_passwd \
+                folder_sizes gpg ldifimport pupdate \
+                show_user_and_ip smallcal vkeyboard; do
         mv $plug squirrelmail-%{V_sqmail}/plugins
     done
 %endif
@@ -212,6 +223,11 @@ AutoReqProv:  no
       rm -rf plugins/pupdate/docs
 %endif
 
+      #   postadjustment cosmetics
+      %{l_shtool} subst \
+          -e 's;\(#ffffff., .border="0" width=\)"350";\1"250";1' \
+          src/login.php
+
       #   set default prefs
       cat %{SOURCE defprefs.txt} >>data/default_pref
     ) || exit $?
@@ -226,7 +242,8 @@ AutoReqProv:  no
         $RPM_BUILD_ROOT%{l_prefix}/bin \
         $RPM_BUILD_ROOT%{l_prefix}/etc/squirrelmail \
         $RPM_BUILD_ROOT%{l_prefix}/share/squirrelmail/prefs \
-        $RPM_BUILD_ROOT%{l_prefix}/var/squirrelmail/spool/attach
+        $RPM_BUILD_ROOT%{l_prefix}/var/squirrelmail/spool/attach \
+        $RPM_BUILD_ROOT%{l_prefix}/var/squirrelmail/log
 
     #   install locales
     ( cd %{l_tmpdir}/squirrelmail/all_locales-%{V_sqmail}-%{V_locale}
@@ -269,6 +286,7 @@ AutoReqProv:  no
         %{l_patch} -p0 <%{PATCH squirrelmail.patch.plugins}
         rm -f $RPM_BUILD_ROOT%{l_prefix}/etc/squirrelmail/*.orig
         rm -f $RPM_BUILD_ROOT%{l_prefix}/share/squirrelmail/plugins/gpg/*.orig
+        rm -f $RPM_BUILD_ROOT%{l_prefix}/share/squirrelmail/plugins/chg_sasl_passwd/*.orig
       ) || exit $?
 %endif
       %{l_shtool} install -c -m 644 \
@@ -276,8 +294,12 @@ AutoReqProv:  no
           $RPM_BUILD_ROOT%{l_prefix}/share/squirrelmail/
 
       #   install plugin config files
-%if "%{with_plugins}" == "yes"
       ( cd $RPM_BUILD_ROOT%{l_prefix}/share/squirrelmail/plugins
+        %{l_shtool} subst \
+            -e 's;../data/access_log;../../../var/squirrelmail/log/access.log;' \
+            -e 's;\(\$sl_dateformat = \)"m/d/Y G:i:s";\1"d/m/Y G:i:s";' \
+            squirrel_logger/setup.php
+%if "%{with_plugins}" == "yes"
         cp -pf check_quota/config.php.sample check_quota/config.php
         cp -pf chg_sasl_passwd/config.php.sample chg_sasl_passwd/config.php
         cp -pf show_user_and_ip/config.php.sample show_user_and_ip/config.php
@@ -291,8 +313,8 @@ AutoReqProv:  no
             -e "s;sm_logo\.png;opkg_small.png;" \
             -e "s;SquirrelMail Logo;OpenPKG Logo;" \
             -e "s;www\.squirrelmail\.org;www.openpkg.org;" \
-            -e "s;\($image_width.*\) = 308;\1 = 208;" \
-            -e "s;\($image_height.*\) = 111;\1 = 66;" \
+            -e "s;\/\/\(\$image_width.*\) = 308;\1 = 201;" \
+            -e "s;\/\/\(\$image_height.*\) = 111;\1 = 62;" \
             addgraphics/config.php.typical.one.domain \
             addgraphics/config.php
         %{l_shtool} install -c -m 644 \
@@ -303,8 +325,8 @@ AutoReqProv:  no
         %{l_shtool} install -c -m 644 \
             %{SOURCE opkg_small.png} \
             $RPM_BUILD_ROOT%{l_prefix}/share/squirrelmail/images/
-      ) || exit $?
 %endif
+      ) || exit $?
 
       #   install squirrelmail configuration perl script
       %{l_shtool} install -c -m 755 \
@@ -321,6 +343,13 @@ AutoReqProv:  no
           $RPM_BUILD_ROOT%{l_prefix}/share/squirrelmail/images/
     ) || exit $?
 
+    #   install runcommand script
+    %{l_shtool} mkdir -f -p -m 755 \
+        $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d
+    %{l_shtool} install -c -m 755 %{l_value -s -a} \
+        %{SOURCE rc.squirrelmail} \
+        $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
+
     #   replace false /etc config paths throughout
     %{l_shtool} subst \
         -e 's;SM_PATH \. \(.\)config/;\1%{l_prefix}/etc/squirrelmail/;g' \
@@ -350,10 +379,16 @@ AutoReqProv:  no
         '%config %{l_prefix}/share/squirrelmail/plugins/vkeyboard/config.php' \
 %endif
         '%attr(755,%{l_nusr},%{l_ngrp}) %{l_prefix}/share/squirrelmail/prefs' \
-        '%attr(755,%{l_nusr},%{l_ngrp}) %{l_prefix}/var/squirrelmail/spool/attach'
+        '%attr(755,%{l_nusr},%{l_ngrp}) %{l_prefix}/var/squirrelmail/spool/attach' \
+        '%attr(755,%{l_nusr},%{l_ngrp}) %{l_prefix}/var/squirrelmail/log'
 
 %files -f files
 
 %clean
     rm -rf $RPM_BUILD_ROOT
 
+%preun
+    #   before erase, remove log files
+    [ $1 -eq 0 ] || exit 0
+    rm -f $RPM_INSTALL_PREFIX/var/squirrelmail/log/*.log >/dev/null 2>&1 || true
+