Sfoglia il codice sorgente

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 anni fa
parent
commit
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
+