You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(18) |
Oct
(28) |
Nov
(9) |
Dec
(31) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(37) |
Feb
(16) |
Mar
|
Apr
(11) |
May
(2) |
Jun
(3) |
Jul
|
Aug
(6) |
Sep
(6) |
Oct
(8) |
Nov
(14) |
Dec
(20) |
2005 |
Jan
(11) |
Feb
(8) |
Mar
(7) |
Apr
(1) |
May
|
Jun
|
Jul
(3) |
Aug
(7) |
Sep
(2) |
Oct
(1) |
Nov
|
Dec
|
2006 |
Jan
|
Feb
(11) |
Mar
|
Apr
(2) |
May
(7) |
Jun
(1) |
Jul
|
Aug
(2) |
Sep
(1) |
Oct
(1) |
Nov
(1) |
Dec
(4) |
2007 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
(1) |
Sep
(2) |
Oct
|
Nov
(6) |
Dec
|
2008 |
Jan
(5) |
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
2009 |
Jan
|
Feb
(1) |
Mar
(1) |
Apr
(1) |
May
(12) |
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
|
2010 |
Jan
(2) |
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Tom C. <tom...@us...> - 2005-08-10 17:43:00
|
Update of /cvsroot/qmailadmin/qmailadmin/lang In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6701/lang Modified Files: Tag: stable-1_2 en Log Message: disable ability to delete postmaster account from Quick Links on main menu. [1255845] (and add error string to language file) Index: en =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/lang/en,v retrieving revision 1.2.2.5 retrieving revision 1.2.2.6 diff -u -d -r1.2.2.5 -r1.2.2.6 --- en 1 Mar 2005 15:29:42 -0000 1.2.2.5 +++ en 10 Aug 2005 17:42:49 -0000 1.2.2.6 @@ -282,3 +282,4 @@ 314 Bad quota supplied 315 User deleted. Unable to set forward to '%s'. 316 Change Password +317 You cannot delete the postmaster account. |
From: Tom C. <tom...@us...> - 2005-08-10 03:38:37
|
Update of /cvsroot/qmailadmin/qmailadmin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12941 Modified Files: Tag: stable-1_2 ChangeLog qmailadmin.c Log Message: fix problem parsing language files that could result in SIGSEGV. [1242317] Index: qmailadmin.c =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/qmailadmin.c,v retrieving revision 1.6.2.8 retrieving revision 1.6.2.9 diff -u -d -r1.6.2.8 -r1.6.2.9 --- qmailadmin.c 23 Jan 2005 17:35:12 -0000 1.6.2.8 +++ qmailadmin.c 8 Aug 2005 20:53:03 -0000 1.6.2.9 @@ -304,6 +304,7 @@ size_t bytes_read; char *lang_entries; char *id; + char *p; open_lang (lang); fseek (lang_fs, 0, SEEK_END); @@ -318,7 +319,9 @@ id = strtok (lang_entries, " \t"); while (id) { - html_text[atoi(id)] = strtok (NULL, "\n"); + p = strtok (NULL, "\n"); + if (p == NULL) break; + html_text[atoi(id)] = p; id = strtok (NULL, " \t"); } Index: ChangeLog =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/ChangeLog,v retrieving revision 1.15.2.70 retrieving revision 1.15.2.71 diff -u -d -r1.15.2.70 -r1.15.2.71 --- ChangeLog 11 Jul 2005 06:08:46 -0000 1.15.2.70 +++ ChangeLog 8 Aug 2005 20:53:03 -0000 1.15.2.71 @@ -6,6 +6,10 @@ Luis Gonzalo Constantini Von Rickel - util.c: free sort_list in sort_cleanup(). [1182347] + Tom Collins + - qmailadmin.c: fix problem parsing language files that could + result in SIGSEGV. [1242317] + 1.2.8 - released 4-Jul-05 Tom Collins |
From: Tom C. <tom...@us...> - 2005-07-11 06:08:55
|
Update of /cvsroot/qmailadmin/qmailadmin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13050 Modified Files: Tag: stable-1_2 ChangeLog util.c Log Message: free sort_list in sort_cleanup() [1182347] Index: util.c =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/util.c,v retrieving revision 1.4.2.5 retrieving revision 1.4.2.6 diff -u -d -r1.4.2.5 -r1.4.2.6 --- util.c 23 Jan 2005 17:35:12 -0000 1.4.2.5 +++ util.c 11 Jul 2005 06:08:46 -0000 1.4.2.6 @@ -93,6 +93,10 @@ void sort_cleanup() { while (memindex) { free (sort_block[--memindex]); } + if (sort_list) { + free (sort_list); + sort_list = NULL; + } } /* Comparison routine used in qsort for multiple functions */ static int sort_compare (const void *p1, const void *p2) Index: ChangeLog =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/ChangeLog,v retrieving revision 1.15.2.69 retrieving revision 1.15.2.70 diff -u -d -r1.15.2.69 -r1.15.2.70 --- ChangeLog 11 Jul 2005 06:06:42 -0000 1.15.2.69 +++ ChangeLog 11 Jul 2005 06:08:46 -0000 1.15.2.70 @@ -3,6 +3,9 @@ 1.2.9 - unreleased + Luis Gonzalo Constantini Von Rickel + - util.c: free sort_list in sort_cleanup(). [1182347] + 1.2.8 - released 4-Jul-05 Tom Collins |
From: Tom C. <tom...@us...> - 2005-07-11 06:07:01
|
Update of /cvsroot/qmailadmin/qmailadmin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12060 Modified Files: Tag: stable-1_2 ChangeLog configure.in configure Log Message: start 1.2.9 Index: ChangeLog =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/ChangeLog,v retrieving revision 1.15.2.68 retrieving revision 1.15.2.69 diff -u -d -r1.15.2.68 -r1.15.2.69 --- ChangeLog 4 Jul 2005 22:26:17 -0000 1.15.2.68 +++ ChangeLog 11 Jul 2005 06:06:42 -0000 1.15.2.69 @@ -1,6 +1,8 @@ Numbers in square brackets ([]) indicate tracker item on SourceForge with patch or information related to the entry. +1.2.9 - unreleased + 1.2.8 - released 4-Jul-05 Tom Collins Index: configure =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/configure,v retrieving revision 1.14.2.12 retrieving revision 1.14.2.13 diff -u -d -r1.14.2.12 -r1.14.2.13 --- configure 23 Jan 2005 21:11:23 -0000 1.14.2.12 +++ configure 11 Jul 2005 06:06:50 -0000 1.14.2.13 @@ -1647,7 +1647,7 @@ QA_PACKAGE="qmailadmin" -QA_VERSION="1.2.8" +QA_VERSION="1.2.9" cat >>confdefs.h <<_ACEOF Index: configure.in =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/configure.in,v retrieving revision 1.15.2.12 retrieving revision 1.15.2.13 diff -u -d -r1.15.2.12 -r1.15.2.13 --- configure.in 23 Jan 2005 21:11:23 -0000 1.15.2.12 +++ configure.in 11 Jul 2005 06:06:50 -0000 1.15.2.13 @@ -6,7 +6,7 @@ AC_CANONICAL_HOST QA_PACKAGE="qmailadmin" -QA_VERSION="1.2.8" +QA_VERSION="1.2.9" AC_DEFINE_UNQUOTED(QA_PACKAGE,"$QA_PACKAGE","") AC_DEFINE_UNQUOTED(QA_VERSION,"$QA_VERSION","") |
From: Tom C. <tom...@us...> - 2005-07-04 22:26:28
|
Update of /cvsroot/qmailadmin/qmailadmin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30771 Modified Files: Tag: stable-1_2 ChangeLog Log Message: set release date on 1.2.8 Index: ChangeLog =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/ChangeLog,v retrieving revision 1.15.2.67 retrieving revision 1.15.2.68 diff -u -d -r1.15.2.67 -r1.15.2.68 --- ChangeLog 20 Mar 2005 22:51:30 -0000 1.15.2.67 +++ ChangeLog 4 Jul 2005 22:26:17 -0000 1.15.2.68 @@ -1,7 +1,7 @@ Numbers in square brackets ([]) indicate tracker item on SourceForge with patch or information related to the entry. -1.2.8 - unreleased +1.2.8 - released 4-Jul-05 Tom Collins - Added single page for changing password. [775208] |
From: adam - <wes...@ya...> - 2005-04-12 06:31:13
|
dear please confirm information tolike this. thank you sincerelly ________________________________________________________________________ Yahoo! Messenger - Communicate instantly..."Ping" your friends today! Download Messenger Now http://uk.messenger.yahoo.com/download/index.html |
From: Tom C. <tom...@us...> - 2005-03-20 22:51:53
|
Update of /cvsroot/qmailadmin/qmailadmin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26795 Modified Files: Tag: stable-1_2 ChangeLog TRANSLATORS Log Message: Add Martin Dimov's Czech translation. Index: TRANSLATORS =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/TRANSLATORS,v retrieving revision 1.3.2.3 retrieving revision 1.3.2.4 diff -u -d -r1.3.2.3 -r1.3.2.4 --- TRANSLATORS 12 Jan 2005 07:15:44 -0000 1.3.2.3 +++ TRANSLATORS 20 Mar 2005 22:51:30 -0000 1.3.2.4 @@ -3,6 +3,7 @@ Recent Translators: bg Bulgarian Julian Neytchev <jne...@co...> +cs Czech Martin Dimov <di...@st...> da Danish Martin Dalum <gar...@we...> da Danish Jesper Have <web...@jd...> de German Franz Stancl <Fra...@un...> Index: ChangeLog =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/ChangeLog,v retrieving revision 1.15.2.66 retrieving revision 1.15.2.67 diff -u -d -r1.15.2.66 -r1.15.2.67 --- ChangeLog 1 Mar 2005 15:29:42 -0000 1.15.2.66 +++ ChangeLog 20 Mar 2005 22:51:30 -0000 1.15.2.67 @@ -21,6 +21,9 @@ ("Standard (ingen videresendelse)" instead of "Standard") in Danish translation. [1152997] + Martin Dimov + - Added Czech translation. + 1.2.7 - released 23-Jan-05 Tomas Kuliavas |
From: Tom C. <tom...@us...> - 2005-03-20 22:51:43
|
Update of /cvsroot/qmailadmin/qmailadmin/lang In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26795/lang Added Files: Tag: stable-1_2 cs Log Message: Add Martin Dimov's Czech translation. --- NEW FILE: cs --- (This appears to be a binary file; contents omitted.) |
From: Tom C. <tom...@us...> - 2005-03-14 07:22:12
|
Update of /cvsroot/qmailadmin/qmailadmin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20568 Modified Files: Tag: stable-1_2 INSTALL Log Message: Index: INSTALL =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/INSTALL,v retrieving revision 1.5.2.4 retrieving revision 1.5.2.5 diff -u -d -r1.5.2.4 -r1.5.2.5 --- INSTALL 7 Jan 2005 06:58:19 -0000 1.5.2.4 +++ INSTALL 14 Mar 2005 07:22:00 -0000 1.5.2.5 @@ -3,6 +3,7 @@ QmailAdmin 1.2.0 and later requires Vpopmail 5.4.0 or later. If you are installing on x86_64 platform (64-bit Intel/AMD processor), +or if configure exits with an "Invalid configuration" error, you will need to run `libtoolize --force` in the QmailAdmin source directory before following any other instructions in this guide. |
From: Tom C. <tom...@us...> - 2005-03-01 15:30:08
|
Update of /cvsroot/qmailadmin/qmailadmin/lang In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21165/lang Modified Files: Tag: stable-1_2 en Log Message: lang/en: More descriptive entry for 'Standard' email delivery on Modify User page Index: en =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/lang/en,v retrieving revision 1.2.2.4 retrieving revision 1.2.2.5 diff -u -d -r1.2.2.4 -r1.2.2.5 --- en 23 Jan 2005 05:11:47 -0000 1.2.2.4 +++ en 1 Mar 2005 15:29:42 -0000 1.2.2.5 @@ -170,7 +170,7 @@ 202 Where the parameters are: 203 removed from mailing list 204 Go user -205 Standard +205 Standard (No Forwarding) 206 Set remote catch all account 207 Set Remote CatchAll 208 Remote CatchAll Address: |
From: Tom C. <tom...@us...> - 2005-03-01 15:29:52
|
Update of /cvsroot/qmailadmin/qmailadmin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21165 Modified Files: Tag: stable-1_2 ChangeLog Log Message: lang/en: More descriptive entry for 'Standard' email delivery on Modify User page Index: ChangeLog =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/ChangeLog,v retrieving revision 1.15.2.65 retrieving revision 1.15.2.66 diff -u -d -r1.15.2.65 -r1.15.2.66 --- ChangeLog 1 Mar 2005 15:27:53 -0000 1.15.2.65 +++ ChangeLog 1 Mar 2005 15:29:42 -0000 1.15.2.66 @@ -10,6 +10,8 @@ - mailinglists: Update settings screen to show that archive retrieval limitations don't apply to ezmlm-cgi. - mailinglist.c: Fix compile error with non-idx ezmlm installs. + - lang/en: More descriptive entry for "Standard" email delivery on + Modify User page. L4nce1ot/honeymak - mailinglist.c: Fix Tom's fix for non-idx ezmlm installs. [1123809] |
From: Tom C. <tom...@us...> - 2005-03-01 15:28:05
|
Update of /cvsroot/qmailadmin/qmailadmin/lang In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20520/lang Modified Files: Tag: stable-1_2 da Log Message: update entry 205 'Standard (ingen videresendelse)' in lang/da Index: da =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/lang/da,v retrieving revision 1.2.2.1 retrieving revision 1.2.2.2 diff -u -d -r1.2.2.1 -r1.2.2.2 --- da 28 Feb 2005 05:20:34 -0000 1.2.2.1 +++ da 1 Mar 2005 15:27:53 -0000 1.2.2.2 @@ -170,7 +170,7 @@ 202 Hvor parametrene er: 203 slettet fra liste 204 Gå til bruger -205 Standard +205 Standard (ingen videresendelse) 206 Fang-alt konto: videresend 207 Opsæt en anden adresse som fang-alt adresse 208 Anden fang-alt adresse: |
From: Tom C. <tom...@us...> - 2005-03-01 15:28:03
|
Update of /cvsroot/qmailadmin/qmailadmin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20520 Modified Files: Tag: stable-1_2 ChangeLog Log Message: update entry 205 'Standard (ingen videresendelse)' in lang/da Index: ChangeLog =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/ChangeLog,v retrieving revision 1.15.2.64 retrieving revision 1.15.2.65 diff -u -d -r1.15.2.64 -r1.15.2.65 --- ChangeLog 28 Feb 2005 05:20:33 -0000 1.15.2.64 +++ ChangeLog 1 Mar 2005 15:27:53 -0000 1.15.2.65 @@ -15,8 +15,9 @@ - mailinglist.c: Fix Tom's fix for non-idx ezmlm installs. [1123809] sunezapa - - Fix entry 303 in Danish translation ("Delete Mail" instead of - "None"). [1152997] + - Fix entry 303 ("Delete Mail" instead of "None") and 205 + ("Standard (ingen videresendelse)" instead of "Standard") + in Danish translation. [1152997] 1.2.7 - released 23-Jan-05 |
From: Tom C. <tom...@us...> - 2005-02-28 05:20:42
|
Update of /cvsroot/qmailadmin/qmailadmin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3269 Modified Files: Tag: stable-1_2 ChangeLog Log Message: Fix entry 303 in Danish translation. [1152997] Index: ChangeLog =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/ChangeLog,v retrieving revision 1.15.2.63 retrieving revision 1.15.2.64 diff -u -d -r1.15.2.63 -r1.15.2.64 --- ChangeLog 22 Feb 2005 01:50:16 -0000 1.15.2.63 +++ ChangeLog 28 Feb 2005 05:20:33 -0000 1.15.2.64 @@ -14,6 +14,10 @@ L4nce1ot/honeymak - mailinglist.c: Fix Tom's fix for non-idx ezmlm installs. [1123809] + sunezapa + - Fix entry 303 in Danish translation ("Delete Mail" instead of + "None"). [1152997] + 1.2.7 - released 23-Jan-05 Tomas Kuliavas |
From: Tom C. <tom...@us...> - 2005-02-28 05:20:42
|
Update of /cvsroot/qmailadmin/qmailadmin/lang In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3269/lang Modified Files: Tag: stable-1_2 da Log Message: Fix entry 303 in Danish translation. [1152997] Index: da =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/lang/da,v retrieving revision 1.2 retrieving revision 1.2.2.1 diff -u -d -r1.2 -r1.2.2.1 --- da 12 Sep 2003 22:17:10 -0000 1.2 +++ da 28 Feb 2005 05:20:34 -0000 1.2.2.1 @@ -268,7 +268,7 @@ 300 Flag1 301 Flag2 302 Flag3 -303 Ingen +303 Slet Mail 304 Spam Detektering? 305 Destination 306 videresendes til |
From: Tom C. <tom...@us...> - 2005-02-22 01:50:25
|
Update of /cvsroot/qmailadmin/qmailadmin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24319 Modified Files: Tag: stable-1_2 ChangeLog Log Message: Index: ChangeLog =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/ChangeLog,v retrieving revision 1.15.2.62 retrieving revision 1.15.2.63 diff -u -d -r1.15.2.62 -r1.15.2.63 --- ChangeLog 21 Feb 2005 07:15:36 -0000 1.15.2.62 +++ ChangeLog 22 Feb 2005 01:50:16 -0000 1.15.2.63 @@ -11,7 +11,7 @@ retrieval limitations don't apply to ezmlm-cgi. - mailinglist.c: Fix compile error with non-idx ezmlm installs. - L4nce1lot + L4nce1ot/honeymak - mailinglist.c: Fix Tom's fix for non-idx ezmlm installs. [1123809] 1.2.7 - released 23-Jan-05 |
From: Tom C. <tom...@us...> - 2005-02-22 01:47:57
|
Update of /cvsroot/qmailadmin/qmailadmin/html In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23690/html Modified Files: Tag: stable-1_2 show_login.html Log Message: font change for 'change password' link Index: show_login.html =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/html/show_login.html,v retrieving revision 1.1.1.1.2.3 retrieving revision 1.1.1.1.2.4 diff -u -d -r1.1.1.1.2.3 -r1.1.1.1.2.4 --- show_login.html 23 Jan 2005 05:11:47 -0000 1.1.1.1.2.3 +++ show_login.html 22 Feb 2005 01:47:47 -0000 1.1.1.1.2.4 @@ -51,7 +51,8 @@ </td> </tr> <tr> - <td colspan=2 align=left><A HREF="##C/passwd/">##X316</A></TD> + <td colspan=2 align=left><A HREF="##C/passwd/"><font + size="2" color="#000000"><B>##X316</B></FONT></A></TD> </tr> </table> </form> |
From: Tom C. <tom...@us...> - 2005-02-21 07:15:45
|
Update of /cvsroot/qmailadmin/qmailadmin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16474 Modified Files: Tag: stable-1_2 ChangeLog Log Message: fix typo Index: ChangeLog =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/ChangeLog,v retrieving revision 1.15.2.61 retrieving revision 1.15.2.62 diff -u -d -r1.15.2.61 -r1.15.2.62 --- ChangeLog 16 Feb 2005 16:10:37 -0000 1.15.2.61 +++ ChangeLog 21 Feb 2005 07:15:36 -0000 1.15.2.62 @@ -7,7 +7,7 @@ - Added single page for changing password. [775208] - Switch to improved method of handling strings in language files, resulting in reduced disk access and faster rendering of pages. - - malinglists: Update settings screen to show that archive + - mailinglists: Update settings screen to show that archive retrieval limitations don't apply to ezmlm-cgi. - mailinglist.c: Fix compile error with non-idx ezmlm installs. |
From: Tom C. <tom...@us...> - 2005-02-16 16:10:49
|
Update of /cvsroot/qmailadmin/qmailadmin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31800 Modified Files: Tag: stable-1_2 ChangeLog mailinglist.c Log Message: Fix Tom's fix for non-idx ezmlm installs. [1123809] Index: ChangeLog =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/ChangeLog,v retrieving revision 1.15.2.60 retrieving revision 1.15.2.61 diff -u -d -r1.15.2.60 -r1.15.2.61 --- ChangeLog 15 Feb 2005 16:25:42 -0000 1.15.2.60 +++ ChangeLog 16 Feb 2005 16:10:37 -0000 1.15.2.61 @@ -11,6 +11,9 @@ retrieval limitations don't apply to ezmlm-cgi. - mailinglist.c: Fix compile error with non-idx ezmlm installs. + L4nce1lot + - mailinglist.c: Fix Tom's fix for non-idx ezmlm installs. [1123809] + 1.2.7 - released 23-Jan-05 Tomas Kuliavas Index: mailinglist.c =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/mailinglist.c,v retrieving revision 1.5.2.6 retrieving revision 1.5.2.7 diff -u -d -r1.5.2.6 -r1.5.2.7 --- mailinglist.c 15 Feb 2005 16:25:43 -0000 1.5.2.6 +++ mailinglist.c 16 Feb 2005 16:10:37 -0000 1.5.2.7 @@ -603,8 +603,8 @@ ezmlm_sub ("", list_owner); /* add owner as moderator/remote admin as well */ ezmlm_sub ("mod", list_owner); -#endif } +#endif } void addmailinglistnow() |
From: Tom C. <tom...@us...> - 2005-02-15 16:25:52
|
Update of /cvsroot/qmailadmin/qmailadmin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13780 Modified Files: Tag: stable-1_2 ChangeLog mailinglist.c Log Message: Fix compile error with non-idx ezmlm installs. Index: ChangeLog =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/ChangeLog,v retrieving revision 1.15.2.59 retrieving revision 1.15.2.60 diff -u -d -r1.15.2.59 -r1.15.2.60 --- ChangeLog 10 Feb 2005 00:11:36 -0000 1.15.2.59 +++ ChangeLog 15 Feb 2005 16:25:42 -0000 1.15.2.60 @@ -9,6 +9,7 @@ resulting in reduced disk access and faster rendering of pages. - malinglists: Update settings screen to show that archive retrieval limitations don't apply to ezmlm-cgi. + - mailinglist.c: Fix compile error with non-idx ezmlm installs. 1.2.7 - released 23-Jan-05 Index: mailinglist.c =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/mailinglist.c,v retrieving revision 1.5.2.5 retrieving revision 1.5.2.6 diff -u -d -r1.5.2.5 -r1.5.2.6 --- mailinglist.c 10 Feb 2005 00:11:37 -0000 1.5.2.5 +++ mailinglist.c 15 Feb 2005 16:25:43 -0000 1.5.2.6 @@ -597,10 +597,10 @@ fclose(file); } +#ifdef EZMLMIDX /* if this is a new list, add owner as subscriber */ if (newlist && (*list_owner != '\0')) { ezmlm_sub ("", list_owner); -#ifdef EZMLMIDX /* add owner as moderator/remote admin as well */ ezmlm_sub ("mod", list_owner); #endif |
From: Tom C. <tom...@us...> - 2005-02-10 00:11:47
|
Update of /cvsroot/qmailadmin/qmailadmin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26703 Modified Files: Tag: stable-1_2 ChangeLog mailinglist.c Log Message: Update settings screen to show that archive retrieval limitations don't apply to ezmlm-cgi. Index: ChangeLog =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/ChangeLog,v retrieving revision 1.15.2.58 retrieving revision 1.15.2.59 diff -u -d -r1.15.2.58 -r1.15.2.59 --- ChangeLog 23 Jan 2005 21:11:23 -0000 1.15.2.58 +++ ChangeLog 10 Feb 2005 00:11:36 -0000 1.15.2.59 @@ -7,6 +7,8 @@ - Added single page for changing password. [775208] - Switch to improved method of handling strings in language files, resulting in reduced disk access and faster rendering of pages. + - malinglists: Update settings screen to show that archive + retrieval limitations don't apply to ezmlm-cgi. 1.2.7 - released 23-Jan-05 Index: mailinglist.c =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/mailinglist.c,v retrieving revision 1.5.2.4 retrieving revision 1.5.2.5 diff -u -d -r1.5.2.4 -r1.5.2.5 --- mailinglist.c 23 Jan 2005 17:35:11 -0000 1.5.2.4 +++ mailinglist.c 10 Feb 2005 00:11:37 -0000 1.5.2.5 @@ -1296,18 +1296,19 @@ printf ("<P><B><U>%s</U></B><BR>\n", html_text[289]); build_option_str ("CHECKBOX", "opt14", "a", html_text[290]); - printf ("<BR>\n"); - /* note that if user doesn't have ezmlm-cgi installed, it might be - a good idea to default to having option i off. */ - build_option_str ("CHECKBOX", "opt15", "i", html_text[291]); - printf ("<BR>\n%s\n<SELECT NAME=\"opt15\">", html_text[292]); + printf (" %s\n<SELECT NAME=\"opt15\">", html_text[292]); printf ("<OPTION VALUE=\"BG\"%s>%s\n", checkopt['B'] && checkopt['G'] ? " SELECTED" : "", html_text[293]); printf ("<OPTION VALUE=\"Bg\"%s>%s\n", checkopt['B'] && checkopt['g'] ? " SELECTED" : "", html_text[294]); printf ("<OPTION VALUE=\"b\"%s>%s\n", checkopt['b'] ? " SELECTED" : "", html_text[295]); - printf ("</SELECT>.</P>\n"); + printf ("</SELECT>."); + printf ("<BR>\n"); + /* note that if user doesn't have ezmlm-cgi installed, it might be + a good idea to default to having option i off. */ + build_option_str ("CHECKBOX", "opt15", "i", html_text[291]); + printf ("</P>\n"); /***********************/ /* begin MySQL options */ |
From: Tom C. <tom...@us...> - 2005-01-23 21:11:36
|
Update of /cvsroot/qmailadmin/qmailadmin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4124 Modified Files: Tag: stable-1_2 ChangeLog configure configure.in Log Message: start of 1.2.8 Index: configure =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/configure,v retrieving revision 1.14.2.11 retrieving revision 1.14.2.12 diff -u -d -r1.14.2.11 -r1.14.2.12 --- configure 31 Dec 2004 00:58:02 -0000 1.14.2.11 +++ configure 23 Jan 2005 21:11:23 -0000 1.14.2.12 @@ -1647,7 +1647,7 @@ QA_PACKAGE="qmailadmin" -QA_VERSION="1.2.7" +QA_VERSION="1.2.8" cat >>confdefs.h <<_ACEOF Index: ChangeLog =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/ChangeLog,v retrieving revision 1.15.2.57 retrieving revision 1.15.2.58 diff -u -d -r1.15.2.57 -r1.15.2.58 --- ChangeLog 23 Jan 2005 17:35:11 -0000 1.15.2.57 +++ ChangeLog 23 Jan 2005 21:11:23 -0000 1.15.2.58 @@ -1,7 +1,14 @@ Numbers in square brackets ([]) indicate tracker item on SourceForge with patch or information related to the entry. -1.2.7 - unreleased +1.2.8 - unreleased + + Tom Collins + - Added single page for changing password. [775208] + - Switch to improved method of handling strings in language files, + resulting in reduced disk access and faster rendering of pages. + +1.2.7 - released 23-Jan-05 Tomas Kuliavas - Added Lithuanian translation. @@ -23,9 +30,6 @@ - INSTALL: Add note about running `libtoolize --force` on x86_64. - Update config.guess and config.sub scripts. - Include charset in HTTP Content-Type header. [1098891] - - Added single page for changing password. [775208] - - Switch to improved method of handling strings in language files, - resulting in reduced disk access and faster rendering of pages. 1.2.6 - released 24-Dec-04 Index: configure.in =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/configure.in,v retrieving revision 1.15.2.11 retrieving revision 1.15.2.12 diff -u -d -r1.15.2.11 -r1.15.2.12 --- configure.in 31 Dec 2004 00:58:03 -0000 1.15.2.11 +++ configure.in 23 Jan 2005 21:11:23 -0000 1.15.2.12 @@ -6,7 +6,7 @@ AC_CANONICAL_HOST QA_PACKAGE="qmailadmin" -QA_VERSION="1.2.7" +QA_VERSION="1.2.8" AC_DEFINE_UNQUOTED(QA_PACKAGE,"$QA_PACKAGE","") AC_DEFINE_UNQUOTED(QA_VERSION,"$QA_VERSION","") |
From: Tom C. <tom...@us...> - 2005-01-23 17:35:21
|
Update of /cvsroot/qmailadmin/qmailadmin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11411 Modified Files: Tag: stable-1_2 ChangeLog alias.c auth.c autorespond.c command.c forward.c mailinglist.c qmailadmin.c qmailadmin.h qmailadminx.h template.c user.c util.c Log Message: Switch to improved method of handling strings in language files, resulting in reduced disk access and faster rendering of pages. Index: qmailadmin.h =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/qmailadmin.h,v retrieving revision 1.1.1.1.2.4 retrieving revision 1.1.1.1.2.5 diff -u -d -r1.1.1.1.2.4 -r1.1.1.1.2.5 --- qmailadmin.h 31 Dec 2004 01:02:40 -0000 1.1.1.1.2.4 +++ qmailadmin.h 23 Jan 2005 17:35:12 -0000 1.1.1.1.2.5 @@ -39,6 +39,8 @@ #define MAX_BUFF 500 #define MAX_BIG_BUFF 5000 +#define MAX_LANG_STR 350 + #define QMAILADMIN_UNLIMITED -1 #define NO_ADMIN 0 Index: mailinglist.c =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/mailinglist.c,v retrieving revision 1.5.2.3 retrieving revision 1.5.2.4 diff -u -d -r1.5.2.3 -r1.5.2.4 --- mailinglist.c 22 Nov 2004 16:04:10 -0000 1.5.2.3 +++ mailinglist.c 23 Jan 2005 17:35:11 -0000 1.5.2.4 @@ -59,7 +59,7 @@ void show_mailing_lists(char *user, char *dom, time_t mytime) { if ( AdminType!=DOMAIN_ADMIN ) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("142")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[142]); vclose(); exit(0); } @@ -67,7 +67,7 @@ /* see if there's anything to display */ count_mailinglists(); if ( CurMailingLists == 0 ) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("231")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[231]); show_menu(Username, Domain, Mytime); vclose(); exit(0); @@ -89,7 +89,7 @@ int i; if ( AdminType!=DOMAIN_ADMIN ) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("142")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[142]); vclose(); exit(0); } @@ -99,27 +99,27 @@ } if ( (mydir = opendir(".")) == NULL ) { - printf ("<tr><td>%s %d</tr><td>", get_html_text("143"), 1); + printf ("<tr><td>%s %d</tr><td>", html_text[143], 1); return; } /* First display the title row */ printf ("<tr bgcolor=\"#cccccc\">"); - printf ("<th align=center><font size=2>%s</font></th>", get_html_text("072")); + printf ("<th align=center><font size=2>%s</font></th>", html_text[72]); #ifdef EZMLMIDX - printf ("<th align=center><font size=2>%s</font></th>", get_html_text("071")); + printf ("<th align=center><font size=2>%s</font></th>", html_text[71]); #endif - printf ("<th align=center><font size=2>%s</font></th>", get_html_text("081")); - printf ("<th align=center><font size=2>%s</font></th>", get_html_text("083")); - printf ("<th align=center><font size=2>%s</font></th>", get_html_text("084")); - printf ("<th align=center><font size=2>%s</font></th>", get_html_text("085")); + printf ("<th align=center><font size=2>%s</font></th>", html_text[81]); + printf ("<th align=center><font size=2>%s</font></th>", html_text[83]); + printf ("<th align=center><font size=2>%s</font></th>", html_text[84]); + printf ("<th align=center><font size=2>%s</font></th>", html_text[85]); #ifdef EZMLMIDX - printf ("<th align=center><font size=2>%s</font></th>", get_html_text("086")); - printf ("<th align=center><font size=2>%s</font></th>", get_html_text("087")); - printf ("<th align=center><font size=2>%s</font></th>", get_html_text("088")); - printf ("<th align=center><font size=2>%s</font></th>", get_html_text("237")); - printf ("<th align=center><font size=2>%s</font></th>", get_html_text("238")); - printf ("<th align=center><font size=2>%s</font></th>", get_html_text("239")); + printf ("<th align=center><font size=2>%s</font></th>", html_text[86]); + printf ("<th align=center><font size=2>%s</font></th>", html_text[87]); + printf ("<th align=center><font size=2>%s</font></th>", html_text[88]); + printf ("<th align=center><font size=2>%s</font></th>", html_text[237]); + printf ("<th align=center><font size=2>%s</font></th>", html_text[238]); + printf ("<th align=center><font size=2>%s</font></th>", html_text[239]); #endif printf ("</tr>\n"); @@ -130,9 +130,9 @@ if ( strncmp(".qmail-", mydirent->d_name, 7) == 0 ) { if ( (fs=fopen(mydirent->d_name,"r"))==NULL) { #ifdef EZMLMIDX - printf ("<tr><td colspan=12>%s %s</td></tr>\n", get_html_text("144"), mydirent->d_name); + printf ("<tr><td colspan=12>%s %s</td></tr>\n", html_text[144], mydirent->d_name); #else - printf ("<tr><td colspan=5>%s %s</td></tr>\n", get_html_text("144"), mydirent->d_name); + printf ("<tr><td colspan=5>%s %s</td></tr>\n", html_text[144], mydirent->d_name); #endif continue; } @@ -206,7 +206,7 @@ int listcount; if ( AdminType!=DOMAIN_ADMIN ) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("142")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[142]); vclose(); exit(0); } @@ -216,7 +216,7 @@ } if ( (mydir = opendir(".")) == NULL ) { - printf ("%s %d<BR>\n", get_html_text("143"), 1); + printf ("%s %d<BR>\n", html_text[143], 1); return; } @@ -227,7 +227,7 @@ if ( strncmp(".qmail-", mydirent->d_name, 7) == 0 ) { if ( (fs=fopen(mydirent->d_name,"r"))==NULL) { printf ("%s %s<br>\n", - get_html_text("144"), mydirent->d_name); + html_text[144], mydirent->d_name); continue; } fgets( TmpBuf2, sizeof(TmpBuf2), fs); @@ -251,7 +251,7 @@ printf ("<table width=100%% cellpadding=0 cellspacing=0 border=0 bgcolor=\"#e6e6e6\">"); printf ("<tr><th bgcolor=\"#000000\" colspan=2>"); printf ("<font color=\"#ffffff\">%s</font></th>\n", - get_html_text("095")); + html_text[95]); sort_dosort(); @@ -270,7 +270,7 @@ void addmailinglist() { if ( AdminType!=DOMAIN_ADMIN ) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("142")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[142]); vclose(); exit(0); } @@ -278,7 +278,7 @@ count_mailinglists(); load_limits(); if ( MaxMailingLists != -1 && CurMailingLists >= MaxMailingLists ) { - printf ("%s %d\n", get_html_text("184"), + printf ("%s %d\n", html_text[184], MaxMailingLists); show_menu(Username, Domain, Mytime); vclose(); @@ -299,7 +299,7 @@ void delmailinglist() { if ( AdminType!=DOMAIN_ADMIN ) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("142")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[142]); vclose(); exit(0); } @@ -313,13 +313,13 @@ struct dirent *mydirent; if ( AdminType!=DOMAIN_ADMIN ) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("142")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[142]); vclose(); exit(0); } if ( (mydir = opendir(".")) == NULL ) { - printf ("%s %d<BR>\n", get_html_text("143"), 1); + printf ("%s %d<BR>\n", html_text[143], 1); printf ("</table>"); return; } @@ -354,7 +354,7 @@ vdelfiles(TmpBuf2); count_mailinglists(); - snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", get_html_text("186"), ActionUser); + snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", html_text[186], ActionUser); if ( CurMailingLists == 0 ) { show_menu(Username, Domain, Mytime); } else { @@ -423,13 +423,13 @@ char listopt[] = "A D hIj L N pQRST "; if ( AdminType!=DOMAIN_ADMIN ) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("142")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[142]); vclose(); exit(0); } if ( fixup_local_name(ActionUser) ) { - snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", get_html_text("188"), ActionUser); + snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", html_text[188], ActionUser); addmailinglist(); vclose(); exit(0); @@ -612,7 +612,7 @@ count_mailinglists(); load_limits(); if ( MaxMailingLists != -1 && CurMailingLists >= MaxMailingLists ) { - printf ("%s %d\n", get_html_text("184"), + printf ("%s %d\n", html_text[184], MaxMailingLists); show_menu(Username, Domain, Mytime); vclose(); @@ -620,7 +620,7 @@ } if ( check_local_user(ActionUser) ) { - snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", get_html_text("175"), ActionUser); + snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", html_text[175], ActionUser); addmailinglist(); vclose(); exit(0); @@ -628,7 +628,7 @@ ezmlm_make(1); - snprinth (StatusMessage, sizeof(StatusMessage), "%s %H@%H\n", get_html_text("187"), + snprinth (StatusMessage, sizeof(StatusMessage), "%s %H@%H\n", html_text[187], ActionUser, Domain); show_mailing_lists(Username, Domain, Mytime); } @@ -643,7 +643,7 @@ char *addr; if ( AdminType!=DOMAIN_ADMIN ) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("142")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[142]); vclose(); exit(0); } @@ -730,7 +730,7 @@ printf ("</TABLE>"); fclose(fs); close(handles[0]); wait(&pid); - snprintf (StatusMessage, sizeof(StatusMessage), "%s\n", get_html_text("190")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s\n", html_text[190]); /* printf (get_html_text("END_LIST_NAMES")); */ } @@ -739,7 +739,7 @@ void show_list_group(char *template) { if (AdminType != DOMAIN_ADMIN) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("142")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[142]); vclose(); exit(0); } @@ -754,7 +754,7 @@ void addlistgroup (char *template) { if ( AdminType!=DOMAIN_ADMIN ) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("142")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[142]); vclose(); exit(0); } @@ -791,7 +791,7 @@ // mod = 0 for subscribers, 1 for moderators, 2 for digest subscribers if ( AdminType!=DOMAIN_ADMIN ) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("142")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[142]); vclose(); exit(0); } @@ -799,7 +799,7 @@ lowerit(ActionUser); if ( check_email_addr(Newu) ) { - snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", get_html_text("148"), Newu); + snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", html_text[148], Newu); if (mod == 1) { addlistmod(); } else if (mod == 2) { @@ -814,17 +814,17 @@ if(mod == 1 ) { ezmlm_sub ("mod", Newu); snprinth (StatusMessage, sizeof(StatusMessage), "%H %s %H@%H\n", Newu, - get_html_text("194"), ActionUser, Domain); + html_text[194], ActionUser, Domain); send_template( "add_listmod.html" ); } else if(mod == 2) { ezmlm_sub ("digest", Newu); snprinth (StatusMessage, sizeof(StatusMessage), "%H %s %H@%H\n", Newu, - get_html_text("240"), ActionUser, Domain); + html_text[240], ActionUser, Domain); send_template( "add_listdig.html" ); } else { ezmlm_sub ("", Newu); snprinth (StatusMessage, sizeof(StatusMessage), "%H %s %H@%H\n", Newu, - get_html_text("193"), ActionUser, Domain); + html_text[193], ActionUser, Domain); send_template( "add_listuser.html" ); } vclose(); @@ -834,7 +834,7 @@ void dellistgroup(char *template) { if ( AdminType!=DOMAIN_ADMIN ) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("142")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[142]); vclose(); exit(0); } @@ -847,7 +847,7 @@ int pid; if ( AdminType!=DOMAIN_ADMIN ) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("142")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[142]); vclose(); exit(0); } @@ -869,13 +869,13 @@ } else wait(&pid); if(mod == 1) { - snprinth (StatusMessage, sizeof(StatusMessage), "%H %s %H@%H\n", Newu, get_html_text("197"), + snprinth (StatusMessage, sizeof(StatusMessage), "%H %s %H@%H\n", Newu, html_text[197], ActionUser, Domain); } else if(mod == 2) { - snprinth (StatusMessage, sizeof(StatusMessage), "%H %s %H@%H\n", Newu, get_html_text("242"), + snprinth (StatusMessage, sizeof(StatusMessage), "%H %s %H@%H\n", Newu, html_text[242], ActionUser, Domain); } else { - snprinth (StatusMessage, sizeof(StatusMessage), "%H %s %H@%H\n", Newu, get_html_text("203"), + snprinth (StatusMessage, sizeof(StatusMessage), "%H %s %H@%H\n", Newu, html_text[203], ActionUser, Domain); } show_mailing_lists(Username, Domain, Mytime); @@ -890,7 +890,7 @@ FILE *fs; if ( (mydir = opendir(".")) == NULL ) { - printf ("%s %d<BR>\n", get_html_text("143"), 1); + printf ("%s %d<BR>\n", html_text[143], 1); printf ("</table>"); return; } @@ -900,8 +900,7 @@ while( (mydirent=readdir(mydir)) != NULL ) { if ( strncmp(".qmail-", mydirent->d_name, 7) == 0 ) { if ( (fs=fopen(mydirent->d_name,"r"))==NULL) { - printf (get_html_text("144"), - mydirent->d_name); + printf (html_text[144], mydirent->d_name); continue; } fgets( TmpBuf2, sizeof(TmpBuf2), fs); @@ -922,7 +921,7 @@ FILE *fs; if ( AdminType!=DOMAIN_ADMIN ) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("142")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[142]); vclose(); exit(0); } @@ -979,20 +978,20 @@ { ezmlm_make(0); - snprinth (StatusMessage, sizeof(StatusMessage), "%s %H@%H\n", get_html_text("226"), + snprinth (StatusMessage, sizeof(StatusMessage), "%s %H@%H\n", html_text[226], ActionUser, Domain); show_mailing_lists(Username, Domain, Mytime); } -void build_list_value(char *param, char *color, char *opt1, char *desc1, char *opt2, char *desc2, int checked) +void build_list_value(char *param, char *color, char *opt1, int desc1, char *opt2, int desc2, int checked) { printf ("<tr bgcolor=%s>\n", get_color_text(color)); printf (" <td>\n"); printf (" <input type=radio name=%s value=%s%s></td>\n", param, opt1, checked ? "" : " CHECKED"); - printf (" <td>%s</td>\n", get_html_text(desc1)); + printf (" <td>%s</td>\n", html_text[desc1]); printf (" <td>\n"); printf (" <input type=radio name=%s value=%s%s></td>\n", param, opt2, checked ? " CHECKED" : ""); - printf (" <td>%s</td>\n", get_html_text(desc2)); + printf (" <td>%s</td>\n", html_text[desc2]); printf ("</tr>\n"); } @@ -1223,91 +1222,91 @@ snprinth (listname, sizeof(listname), "%H", dotqmail_name); str_replace (listname, ':', '.'); } else { - sprintf (listname, "<I>%s</I>", get_html_text("261")); + sprintf (listname, "<I>%s</I>", html_text[261]); } /* Posting Messages */ - printf ("<P><B><U>%s</U></B><BR>\n", get_html_text("262")); - build_option_str ("RADIO", "opt1", "MU", get_html_text("263")); + printf ("<P><B><U>%s</U></B><BR>\n", html_text[262]); + build_option_str ("RADIO", "opt1", "MU", html_text[263]); printf ("<BR>\n"); - build_option_str ("RADIO", "opt1", "Mu", get_html_text("264")); + build_option_str ("RADIO", "opt1", "Mu", html_text[264]); printf ("<BR>\n"); - build_option_str ("RADIO", "opt1", "mu", get_html_text("265")); + build_option_str ("RADIO", "opt1", "mu", html_text[265]); printf ("<BR>\n"); - build_option_str ("RADIO", "opt1", "mUo", get_html_text("266")); + build_option_str ("RADIO", "opt1", "mUo", html_text[266]); printf ("<BR>\n"); - build_option_str ("RADIO", "opt1", "mUO", get_html_text("267")); + build_option_str ("RADIO", "opt1", "mUO", html_text[267]); printf ("</P>\n"); /* List Options */ - printf ("<P><B><U>%s</U></B><BR>\n", get_html_text("268")); + printf ("<P><B><U>%s</U></B><BR>\n", html_text[268]); /* this next option isn't necessary since we use the edit box to * set/delete the prefix - sprintf (TmpBuf, get_html_text("269"), listname); + sprintf (TmpBuf, html_text[269], listname); build_option_str ("CHECKBOX", "opt3", "f", TmpBuf); printf ("<BR>\n"); */ printf ("<TABLE><TR><TD ROWSPAN=3 VALIGN=TOP>%s</TD>", - get_html_text("310")); + html_text[310]); printf ("<TD><INPUT TYPE=RADIO NAME=\"replyto\" VALUE=\"%d\"%s>%s</TD></TR>\n", - REPLYTO_SENDER, (replyto == REPLYTO_SENDER) ? " CHECKED" : "", get_html_text("311")); + REPLYTO_SENDER, (replyto == REPLYTO_SENDER) ? " CHECKED" : "", html_text[311]); printf ("<TR><TD><INPUT TYPE=RADIO NAME=\"replyto\" VALUE=\"%d\"%s>%s</TD></TR>\n", - REPLYTO_LIST, (replyto == REPLYTO_LIST) ? " CHECKED" : "", get_html_text("312")); + REPLYTO_LIST, (replyto == REPLYTO_LIST) ? " CHECKED" : "", html_text[312]); printf ("<TR><TD><INPUT TYPE=RADIO NAME=\"replyto\" VALUE=\"%d\"%s>%s ", - REPLYTO_ADDRESS, (replyto == REPLYTO_ADDRESS) ? " CHECKED" : "", get_html_text("313")); + REPLYTO_ADDRESS, (replyto == REPLYTO_ADDRESS) ? " CHECKED" : "", html_text[313]); printh ("<INPUT TYPE=TEXT NAME=\"replyaddr\" VALUE=\"%H\" SIZE=30></TD></TR>\n", replyto_addr); printf ("</TABLE><BR>\n"); - build_option_str ("CHECKBOX", "opt4", "t", get_html_text("270")); + build_option_str ("CHECKBOX", "opt4", "t", html_text[270]); printf ("<BR>\n"); - build_option_str ("CHECKBOX", "opt5", "d", get_html_text("271")); - sprintf (TmpBuf, get_html_text("272"), listname); + build_option_str ("CHECKBOX", "opt5", "d", html_text[271]); + sprintf (TmpBuf, html_text[272], listname); printf ("<SMALL>(%s)</SMALL>", TmpBuf); printf ("<BR>\n"); - sprintf (TmpBuf, get_html_text("273"), listname); + sprintf (TmpBuf, html_text[273], listname); build_option_str ("CHECKBOX", "opt6", "q", TmpBuf); printf ("<BR>\n"); - sprintf (TmpBuf, get_html_text("274"), listname, listname, listname); + sprintf (TmpBuf, html_text[274], listname, listname, listname); printf (" <SMALL>(%s)</SMALL></P>", TmpBuf); /* Remote Administration */ - printf ("<P><B><U>%s</U></B><BR>\n", get_html_text("275")); - build_option_str ("CHECKBOX", "opt7", "r", get_html_text("276")); + printf ("<P><B><U>%s</U></B><BR>\n", html_text[275]); + build_option_str ("CHECKBOX", "opt7", "r", html_text[276]); printf ("<BR>\n"); - build_option_str ("CHECKBOX", "opt8", "P", get_html_text("277")); - printf ("<SMALL>(%s)</SMALL><BR>", get_html_text("278")); + build_option_str ("CHECKBOX", "opt8", "P", html_text[277]); + printf ("<SMALL>(%s)</SMALL><BR>", html_text[278]); printf ("<TABLE><TR><TD ROWSPAN=2 VALIGN=TOP>%s</TD>", - get_html_text("279")); + html_text[279]); printf ("<TD>"); - build_option_str ("CHECKBOX", "opt9", "l", get_html_text("280")); + build_option_str ("CHECKBOX", "opt9", "l", html_text[280]); printf ("</TD>\n</TR><TR>\n<TD>"); - build_option_str ("CHECKBOX", "opt10", "n", get_html_text("281")); - printf ("<SMALL>(%s)</SMALL>.</TD>\n", get_html_text("282")); + build_option_str ("CHECKBOX", "opt10", "n", html_text[281]); + printf ("<SMALL>(%s)</SMALL>.</TD>\n", html_text[282]); printf ("</TR></TABLE>\n</P>\n"); - printf ("<P><B><U>%s</U></B><BR>\n", get_html_text("283")); - printf ("%s<BR>\n ", get_html_text("284")); - build_option_str ("CHECKBOX", "opt11", "H", get_html_text("285")); + printf ("<P><B><U>%s</U></B><BR>\n", html_text[283]); + printf ("%s<BR>\n ", html_text[284]); + build_option_str ("CHECKBOX", "opt11", "H", html_text[285]); printf ("<BR>\n "); - build_option_str ("CHECKBOX", "opt12", "s", get_html_text("286")); - printf ("<BR>\n%s<BR>\n ", get_html_text("287")); - build_option_str ("CHECKBOX", "opt13", "J", get_html_text("285")); + build_option_str ("CHECKBOX", "opt12", "s", html_text[286]); + printf ("<BR>\n%s<BR>\n ", html_text[287]); + build_option_str ("CHECKBOX", "opt13", "J", html_text[285]); printf ("<BR>\n"); - printf ("<SMALL>%s</SMALL>\n</P>\n", get_html_text("288")); + printf ("<SMALL>%s</SMALL>\n</P>\n", html_text[288]); - printf ("<P><B><U>%s</U></B><BR>\n", get_html_text("289")); - build_option_str ("CHECKBOX", "opt14", "a", get_html_text("290")); + printf ("<P><B><U>%s</U></B><BR>\n", html_text[289]); + build_option_str ("CHECKBOX", "opt14", "a", html_text[290]); printf ("<BR>\n"); /* note that if user doesn't have ezmlm-cgi installed, it might be a good idea to default to having option i off. */ - build_option_str ("CHECKBOX", "opt15", "i", get_html_text("291")); - printf ("<BR>\n%s\n<SELECT NAME=\"opt15\">", get_html_text("292")); + build_option_str ("CHECKBOX", "opt15", "i", html_text[291]); + printf ("<BR>\n%s\n<SELECT NAME=\"opt15\">", html_text[292]); printf ("<OPTION VALUE=\"BG\"%s>%s\n", - checkopt['B'] && checkopt['G'] ? " SELECTED" : "", get_html_text("293")); + checkopt['B'] && checkopt['G'] ? " SELECTED" : "", html_text[293]); printf ("<OPTION VALUE=\"Bg\"%s>%s\n", - checkopt['B'] && checkopt['g'] ? " SELECTED" : "", get_html_text("294")); + checkopt['B'] && checkopt['g'] ? " SELECTED" : "", html_text[294]); printf ("<OPTION VALUE=\"b\"%s>%s\n", - checkopt['b'] ? " SELECTED" : "", get_html_text("295")); + checkopt['b'] ? " SELECTED" : "", html_text[295]); printf ("</SELECT>.</P>\n"); /***********************/ @@ -1330,9 +1329,9 @@ fclose(fs); } #ifdef ENABLE_MYSQL - printf ("<P><B><U>%s</U></B><BR>\n", get_html_text("099")); + printf ("<P><B><U>%s</U></B><BR>\n", html_text[99]); printf ("<input type=checkbox name=\"sqlsupport\" value=\"-6\"%s> %s", - checked ? " CHECKED" : "", get_html_text("053")); + checked ? " CHECKED" : "", html_text[53]); /* parse dir/sql file for SQL settings */ printf (" <table cellpadding=0 cellspacing=2 border=0>\n"); @@ -1353,7 +1352,7 @@ #ifdef ENABLE_MYSQL printf (" <tr>\n"); - printf (" <td ALIGN=RIGHT>%s:\n", get_html_text("054")); + printf (" <td ALIGN=RIGHT>%s:\n", html_text[54]); printf (" </td><td>\n"); printh (" <input type=text name=sql1 value=\"%H\"></td>\n", checked1); #else @@ -1370,7 +1369,7 @@ } } #ifdef ENABLE_MYSQL - printf (" <td ALIGN=RIGHT>%s:\n", get_html_text("055")); + printf (" <td ALIGN=RIGHT>%s:\n", html_text[55]); printf (" </td><td>\n"); printh (" <input type=text size=7 name=sql2 value=\"%H\"></td>\n", checked1); printf (" </tr>\n"); @@ -1389,7 +1388,7 @@ } #ifdef ENABLE_MYSQL printf (" <tr>\n"); - printf (" <td ALIGN=RIGHT>%s:\n", get_html_text("056")); + printf (" <td ALIGN=RIGHT>%s:\n", html_text[56]); printf (" </td><td>\n"); printh (" <input type=text name=sql3 value=\"%H\"></td>\n", checked1); #else @@ -1406,7 +1405,7 @@ } } #ifdef ENABLE_MYSQL - printf (" <td ALIGN=RIGHT>%s:\n", get_html_text("057")); + printf (" <td ALIGN=RIGHT>%s:\n", html_text[57]); printf (" </td><td>\n"); printh (" <input type=text name=sql4 value=\"%H\"></td>\n", checked1); printf (" </tr>\n"); @@ -1425,7 +1424,7 @@ } #ifdef ENABLE_MYSQL printf (" <tr>\n"); - printf (" <td ALIGN=RIGHT>%s:\n", get_html_text("058")); + printf (" <td ALIGN=RIGHT>%s:\n", html_text[58]); printf (" </td><td>\n"); printh (" <input type=text name=sql5 value=\"%H\"></td>\n", checked1); #else @@ -1442,7 +1441,7 @@ } } #ifdef ENABLE_MYSQL - printf (" <td ALIGN=RIGHT>%s:\n", get_html_text("059")); + printf (" <td ALIGN=RIGHT>%s:\n", html_text[59]); printf (" </td><td>\n"); printh (" <input type=text name=\"sql6\" value=\"%H\"></td>\n", checked1); printf (" </tr>\n"); Index: qmailadmin.c =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/qmailadmin.c,v retrieving revision 1.6.2.7 retrieving revision 1.6.2.8 diff -u -d -r1.6.2.7 -r1.6.2.8 --- qmailadmin.c 23 Jan 2005 05:11:45 -0000 1.6.2.7 +++ qmailadmin.c 23 Jan 2005 17:35:12 -0000 1.6.2.8 @@ -83,6 +83,7 @@ FILE *actout; FILE *lang_fs; FILE *color_table; +char *html_text[MAX_LANG_STR+1]; struct vlimits Limits; int AdminType; @@ -154,7 +155,7 @@ } if ( chdir(RealDir) < 0 ) { - fprintf(stderr, "<h2>%s %s</h2>\n", get_html_text("171"), RealDir ); + fprintf(stderr, "<h2>%s %s</h2>\n", html_text[171], RealDir ); } load_limits(); @@ -179,7 +180,7 @@ if (*Username && (*Password == '\0') && (*Password1 || *Password2)) { /* username entered, but no password */ - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("198")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[198]); } else if (*Username && *Password) { /* attempt to authenticate user */ vget_assign (Domain, RealDir, sizeof(RealDir), &Uid, &Gid); @@ -195,25 +196,25 @@ } if ( *Domain == '\0' ) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("198")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[198]); } else { chdir(RealDir); load_limits(); pw = vauth_user( User, Domain, Password, "" ); if ( pw == NULL ) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("198")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[198]); } else if (pw->pw_flags & NO_PASSWD_CHNG) { strcpy (StatusMessage, "You don't have permission to change your password."); } else if (strcmp (Password1, Password2) != 0) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("200")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[200]); } else if (*Password1 == '\0') { - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("234")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[234]); } else if (vpasswd (User, Domain, Password1, USE_POP) != VA_SUCCESS) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("140")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[140]); } else { /* success */ - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("139")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[139]); *Password = '\0'; send_template ("change_password_success.html"); @@ -250,7 +251,7 @@ pw = vauth_user( Username, Domain, Password, "" ); if ( pw == NULL ) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s\n", get_html_text("198")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s\n", html_text[198]); show_login(); vclose(); exit(0); @@ -263,7 +264,7 @@ snprintf (TmpBuf, sizeof(TmpBuf), "%s/" MAILDIR "/%u.qw", pw->pw_dir, (unsigned int) Mytime); fs = fopen(TmpBuf, "w"); if ( fs == NULL ) { - printf ("%s %s<br>\n", get_html_text("144"), TmpBuf); + printf ("%s %s<br>\n", html_text[144], TmpBuf); vclose(); exit(0); } @@ -297,12 +298,40 @@ return 0; } +void load_lang (char *lang) +{ + long lang_size; + size_t bytes_read; + char *lang_entries; + char *id; + + open_lang (lang); + fseek (lang_fs, 0, SEEK_END); + lang_size = ftell (lang_fs); + lang_entries = malloc (lang_size); + + if (lang_entries == NULL) return; + rewind (lang_fs); + + bytes_read = fread (lang_entries, 1, lang_size, lang_fs); + /* error handling for incomplete reads? */ + + id = strtok (lang_entries, " \t"); + while (id) { + html_text[atoi(id)] = strtok (NULL, "\n"); + id = strtok (NULL, " \t"); + } + + /* Do not free lang_entries! html_text points into it! */ +} + void init_globals() { char *accept_lang; char *langptr, *qptr; char *charset; int lang_err; + int i; float maxq, thisq; memset(CGIValues, 0, sizeof(CGIValues)); @@ -402,15 +431,23 @@ free(accept_lang); } - /* open the best language choice */ - open_lang (Lang); + /* best language choice is now in 'Lang' */ + + /* build table of html_text entries */ + for (i = 0; i <= MAX_LANG_STR; i++) html_text[i] = ""; + + /* read English first as defaults for incomplete language files */ + if (strcmp (Lang, "en") != 0) load_lang ("en"); + + /* load the preferred language */ + load_lang (Lang); /* open the color table */ open_colortable(); umask(VPOPMAIL_UMASK); - charset = get_html_text("000"); + charset = html_text[0]; printf ("Content-Type: text/html; charset=%s\n", *charset == '\0' ? "iso-8859-1" : charset); #ifdef NO_CACHE @@ -494,7 +531,7 @@ } else { /* user does not exist */ snprinth (StatusMessage, sizeof(StatusMessage), "%s (%H@%H)", - get_html_text("153"), username, Domain); + html_text[153], username, Domain); show_menu(Username, Domain, Mytime); vclose(); } Index: ChangeLog =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/ChangeLog,v retrieving revision 1.15.2.56 retrieving revision 1.15.2.57 diff -u -d -r1.15.2.56 -r1.15.2.57 --- ChangeLog 23 Jan 2005 05:11:44 -0000 1.15.2.56 +++ ChangeLog 23 Jan 2005 17:35:11 -0000 1.15.2.57 @@ -24,6 +24,8 @@ - Update config.guess and config.sub scripts. - Include charset in HTTP Content-Type header. [1098891] - Added single page for changing password. [775208] + - Switch to improved method of handling strings in language files, + resulting in reduced disk access and faster rendering of pages. 1.2.6 - released 24-Dec-04 Index: util.c =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/util.c,v retrieving revision 1.4.2.4 retrieving revision 1.4.2.5 diff -u -d -r1.4.2.4 -r1.4.2.5 --- util.c 17 Dec 2004 17:45:38 -0000 1.4.2.4 +++ util.c 23 Jan 2005 17:35:12 -0000 1.4.2.5 @@ -152,10 +152,10 @@ count_autoresponders(); count_mailinglists(); - printf ("%s = %d<BR>\n", get_html_text("061"), CurPopAccounts); - printf ("%s = %d<BR>\n", get_html_text("074"), CurForwards); - printf ("%s = %d<BR>\n", get_html_text("077"), CurAutoResponders); - printf ("%s = %d<BR>\n", get_html_text("080"), CurMailingLists); + printf ("%s = %d<BR>\n", html_text[61], CurPopAccounts); + printf ("%s = %d<BR>\n", html_text[74], CurForwards); + printf ("%s = %d<BR>\n", html_text[77], CurAutoResponders); + printf ("%s = %d<BR>\n", html_text[80], CurMailingLists); } /* check_email_addr( char *addr ) @@ -297,27 +297,9 @@ return(0); } -/* It's a good thing qmailadmin is a cgi script, because this - function leaks memory. That's OK though, Tom has plans - for rewriting the html_text stuff soon. */ char *get_html_text( char *index ) { - char *tmpbuf; - char *tmpstr; - - tmpbuf = malloc(400); - - if (lang_fs == NULL) return(""); - - rewind(lang_fs); - while(fgets(tmpbuf,400,lang_fs)!=NULL){ - tmpstr = strtok(tmpbuf, " "); - if (strcmp(tmpstr, index) == 0 ) { - tmpstr = strtok(NULL, "\n"); - return(tmpstr); - } - } - return(""); + return html_text[atoi(index)]; } int open_colortable() Index: alias.c =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/alias.c,v retrieving revision 1.4.2.11 retrieving revision 1.4.2.12 diff -u -d -r1.4.2.11 -r1.4.2.12 --- alias.c 20 Nov 2004 01:10:41 -0000 1.4.2.11 +++ alias.c 23 Jan 2005 17:35:11 -0000 1.4.2.12 @@ -56,7 +56,7 @@ int show_aliases(void) { if ( AdminType!=DOMAIN_ADMIN ) { - snprintf(StatusMessage, sizeof(StatusMessage), "%s", get_html_text("142")); + snprintf(StatusMessage, sizeof(StatusMessage), "%s", html_text[142]); vclose(); exit(0); } @@ -121,7 +121,7 @@ struct stat sbuf; if ( AdminType!=DOMAIN_ADMIN ) { - snprintf(StatusMessage, sizeof(StatusMessage), "%s", get_html_text("142")); + snprintf(StatusMessage, sizeof(StatusMessage), "%s", html_text[142]); vclose(); exit(0); } @@ -180,7 +180,7 @@ */ if ( (mydir = opendir(".")) == NULL ) { printf ("<tr><td colspan=\"4\">"); - printf ("%s %d</td></tr>", get_html_text("143"), 1); + printf ("%s %d</td></tr>", html_text[143], 1); return; } @@ -199,7 +199,7 @@ if ( (fs=fopen(mydirent->d_name,"r"))==NULL) { printf ("<tr><td colspan=4>"); - printf ("%s %s", get_html_text("144"), mydirent->d_name); + printf ("%s %s", html_text[144], mydirent->d_name); printf ("</td></tr>\n"); continue; } @@ -275,7 +275,7 @@ stop=0; if (*curalias->alias_command == '#') { /* this is a blackhole account */ - printf ("<I>%s</I>", get_html_text("303")); + printf ("<I>%s</I>", html_text[303]); stop = 1; } @@ -325,15 +325,15 @@ printf ("[ "); if(page > 1 ) { printh ("<a href=\"%s/com/showforwards?user=%C&dom=%C&time=%d&page=%d\">%s</a>", - CGIPATH,user,dom,mytime,page - 1,get_html_text("135")); + CGIPATH,user,dom,mytime,page - 1, html_text[135]); printf (" | "); } printh ("<a href=\"%s/com/showforwards?user=%C&dom=%C&time=%d&page=%d\">%s</a>", - CGIPATH,user,dom,mytime,page,get_html_text("136")); + CGIPATH,user,dom,mytime,page, html_text[136]); printf (" | "); if (moreusers) { printh ("<a href=\"%s/com/showforwards?user=%C&dom=%C&time=%d&page=%d\">%s</a>", - CGIPATH,user,dom,mytime,page+1,get_html_text("137")); + CGIPATH,user,dom,mytime,page+1, html_text[137]); printf (" ]"); } printf ("</td></tr>"); @@ -354,7 +354,7 @@ int j; if ( AdminType!=DOMAIN_ADMIN ) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("142")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[142]); vclose(); exit(0); } @@ -439,7 +439,7 @@ void moddotqmail() { if ( AdminType!=DOMAIN_ADMIN ) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("142")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[142]); vclose(); exit(0); } @@ -449,26 +449,26 @@ void moddotqmailnow() { if ( strcmp(ActionUser,"default")==0) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("142")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[142]); vclose(); exit(0); } if (strcmp(Action,"delentry")==0) { if (onevalidonly(ActionUser) ) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s\n", get_html_text("149")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s\n", html_text[149]); moddotqmail(); vclose(); exit(0); } if (dotqmail_del_line(ActionUser,LineData) ) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s %d\n", get_html_text("150"), 1); + snprintf (StatusMessage, sizeof(StatusMessage), "%s %d\n", html_text[150], 1); moddotqmail(); vclose(); exit(0); } - snprintf (StatusMessage, sizeof(StatusMessage), "%s\n", get_html_text("151") ); + snprintf (StatusMessage, sizeof(StatusMessage), "%s\n", html_text[151] ); moddotqmail(); vclose(); exit(0); @@ -479,13 +479,13 @@ vclose(); exit(0); } else { - snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", get_html_text("152"), Newu); + snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", html_text[152], Newu); moddotqmail(); vclose(); exit(0); } } else { - snprintf (StatusMessage, sizeof(StatusMessage), "%s\n", get_html_text("155")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s\n", html_text[155]); vclose(); exit(0); } @@ -497,7 +497,7 @@ load_limits(); if ( MaxForwards != -1 && CurForwards >= MaxForwards ) { snprintf (StatusMessage, sizeof(StatusMessage), "%s %d\n", - get_html_text("157"), MaxForwards); + html_text[157], MaxForwards); show_menu(Username, Domain, Mytime); vclose(); exit(0); @@ -510,7 +510,7 @@ { if (AdminType!=DOMAIN_ADMIN && !(AdminType==USER_ADMIN && strcmp(ActionUser, Username)==0)) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("142")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[142]); vclose(); exit(0); } @@ -518,7 +518,7 @@ count_forwards(); load_limits(); if ( MaxForwards != -1 && CurForwards >= MaxForwards ) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s %d\n", get_html_text("157"), MaxForwards); + snprintf (StatusMessage, sizeof(StatusMessage), "%s %d\n", html_text[157], MaxForwards); send_template( "add_forward.html" ); vclose(); exit(0); @@ -532,7 +532,7 @@ exit(0); } else { - snprintf (StatusMessage, sizeof(StatusMessage), "%s\n", get_html_text("152")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s\n", html_text[152]); show_forwards(Username,Domain,Mytime); } } @@ -545,23 +545,23 @@ /* jef...@ma... */ if (strlen(forwardname)<=0) { - snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", get_html_text("163"), forwardname); + snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", html_text[163], forwardname); return(-1); /* make sure forwardname is valid */ } else if (fixup_local_name(forwardname)) { - snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", get_html_text("163"), forwardname); + snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", html_text[163], forwardname); return(-1); /* check to see if we already have a user with this name (only for create) */ } else if (create != 0 && check_local_user(forwardname)) { - snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", get_html_text("175"), forwardname); + snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", html_text[175], forwardname); return(-1); } if (strcmp (dest, "#") == 0) { if (dotqmail_add_line(forwardname, "#")) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s %d\n", get_html_text("150"), 2); + snprintf (StatusMessage, sizeof(StatusMessage), "%s %d\n", html_text[150], 2); return(-1); } return 0; @@ -570,7 +570,7 @@ /* see if forwarding to a local user */ if (strstr(dest, "@") == NULL) { if (check_local_user(dest) == 0) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s\n", get_html_text("161")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s\n", html_text[161]); return(-1); } else { /* make it an email address */ @@ -580,13 +580,13 @@ /* check that it's a valid email address */ if (check_email_addr(dest)) { - snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", get_html_text("162"), dest); + snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", html_text[162], dest); return(-1); } snprintf (TmpBuf2, sizeof(TmpBuf2), "&%s", dest); if (dotqmail_add_line(forwardname, TmpBuf2)) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s %d\n", get_html_text("150"), 2); + snprintf (StatusMessage, sizeof(StatusMessage), "%s %d\n", html_text[150], 2); return(-1); } @@ -597,7 +597,7 @@ { if ( AdminType!=DOMAIN_ADMIN ) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("142")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[142]); vclose(); exit(0); } @@ -610,7 +610,7 @@ if (AdminType!=DOMAIN_ADMIN && !(AdminType==USER_ADMIN && !strcmp(ActionUser, Username))) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("142")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[142]); show_menu(Username, Domain, Mytime); vclose(); exit(0); @@ -619,17 +619,17 @@ /* check to see if we already have a user with this name */ if (fixup_local_name(ActionUser)) { - snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", get_html_text("160"), Alias); + snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", html_text[160], Alias); deldotqmail(); vclose(); exit(0); } if (!(dotqmail_delete_files(ActionUser))) { - snprinth (StatusMessage, sizeof(StatusMessage), "%s %H %H\n", get_html_text("167"), + snprinth (StatusMessage, sizeof(StatusMessage), "%s %H %H\n", html_text[167], Alias, ActionUser); } else { - snprinth (StatusMessage, sizeof(StatusMessage), "%s %H %H\n", get_html_text("168"), + snprinth (StatusMessage, sizeof(StatusMessage), "%s %H %H\n", html_text[168], Alias, ActionUser); } Index: command.c =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/command.c,v retrieving revision 1.2.2.5 retrieving revision 1.2.2.6 diff -u -d -r1.2.2.5 -r1.2.2.6 --- command.c 31 Dec 2004 01:02:40 -0000 1.2.2.5 +++ command.c 23 Jan 2005 17:35:11 -0000 1.2.2.6 @@ -304,10 +304,10 @@ if ((pw = vauth_getpw( ActionUser, Domain )) == NULL) { snprinth (StatusMessage, sizeof(StatusMessage), "%s %H@%H", - get_html_text("223"), ActionUser, Domain); + html_text[223], ActionUser, Domain); } else { if ( (fs = fopen(".qmail-default", "w")) == NULL ) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("082")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[82]); } else { fprintf(fs, "| %s/bin/vdelivermail '' %s\n", VPOPMAILDIR, pw->pw_dir); fclose(fs); Index: autorespond.c =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/autorespond.c,v retrieving revision 1.3.2.3 retrieving revision 1.3.2.4 diff -u -d -r1.3.2.3 -r1.3.2.4 --- autorespond.c 20 Nov 2004 01:10:41 -0000 1.3.2.3 +++ autorespond.c 23 Jan 2005 17:35:11 -0000 1.3.2.4 @@ -48,7 +48,7 @@ count_autoresponders(); if(CurAutoResponders == 0) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("233")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[233]); show_menu(Username, Domain, Mytime); } else { send_template( "show_autorespond.html" ); @@ -100,7 +100,7 @@ { if ( AdminType!=DOMAIN_ADMIN ) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("142")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[142]); vclose(); exit(0); } @@ -108,7 +108,7 @@ count_autoresponders(); load_limits(); if ( MaxAutoResponders != -1 && CurAutoResponders >= MaxAutoResponders ) { - printf ("%s %d\n", get_html_text("158"), MaxAutoResponders); + printf ("%s %d\n", html_text[158], MaxAutoResponders); show_menu(Username, Domain, Mytime); vclose(); exit(0); @@ -123,7 +123,7 @@ FILE *fs; if ( AdminType!=DOMAIN_ADMIN ) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("142")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[142]); vclose(); exit(0); } @@ -131,7 +131,7 @@ count_autoresponders(); load_limits(); if ( MaxAutoResponders != -1 && CurAutoResponders >= MaxAutoResponders ) { - printf ("%s %d\n", get_html_text("158"), MaxAutoResponders); + printf ("%s %d\n", html_text[158], MaxAutoResponders); show_menu(Username, Domain, Mytime); vclose(); exit(0); @@ -140,17 +140,17 @@ *StatusMessage = '\0'; if ( fixup_local_name(ActionUser) ) - snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", get_html_text("174"), ActionUser); + snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", html_text[174], ActionUser); else if ( check_local_user(ActionUser) ) - snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", get_html_text("175"), ActionUser); + snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", html_text[175], ActionUser); else if ( strlen(ActionUser) == 0 ) - snprintf (StatusMessage, sizeof(StatusMessage), "%s\n", get_html_text("176")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s\n", html_text[176]); else if ( strlen(Newu)>0 && check_email_addr(Newu) ) - snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", get_html_text("177"), Newu); + snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", html_text[177], Newu); else if (strlen(Alias) <= 1) - snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", get_html_text("178"), ActionUser); + snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", html_text[178], ActionUser); else if (strlen(Message) <= 1) - snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", get_html_text("179"), ActionUser); + snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", html_text[179], ActionUser); /* if there was an error, go back to the add screen */ if (*StatusMessage != '\0') { @@ -193,14 +193,15 @@ * Report success */ snprinth (StatusMessage, sizeof(StatusMessage), "%s %H@%H\n", - get_html_text("180"), ActionUser, Domain); + html_text[180], ActionUser, Domain); show_autoresponders(Username, Domain, Mytime); } + void delautorespond() { if ( AdminType!=DOMAIN_ADMIN ) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("142")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[142]); vclose(); exit(0); } @@ -212,7 +213,7 @@ int i; if ( AdminType!=DOMAIN_ADMIN ) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("142")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[142]); vclose(); exit(0); } @@ -232,7 +233,7 @@ /* delete the autoresponder directory */ sprintf(TmpBuf, "%s/%s", RealDir, TmpBuf2); vdelfiles(TmpBuf); - snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", get_html_text("182"), ActionUser); + snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", html_text[182], ActionUser); count_autoresponders(); @@ -246,7 +247,7 @@ void modautorespond() { if ( AdminType!=DOMAIN_ADMIN ) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("142")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[142]); vclose(); exit(0); } @@ -260,7 +261,7 @@ FILE *fs; if ( AdminType!=DOMAIN_ADMIN ) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("142")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[142]); vclose(); exit(0); } @@ -268,13 +269,13 @@ *StatusMessage = '\0'; if ( fixup_local_name(ActionUser) ) - snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", get_html_text("174"), ActionUser); + snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", html_text[174], ActionUser); else if ( strlen(Newu)>0 && check_email_addr(Newu) ) - snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", get_html_text("177"), Newu); + snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", html_text[177], Newu); else if (strlen(Alias) <= 1) - snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", get_html_text("178"), ActionUser); + snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", html_text[178], ActionUser); else if (strlen(Message) <= 1) - snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", get_html_text("179"), ActionUser); + snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", html_text[179], ActionUser); /* exit on errors */ if (*StatusMessage != '\0') { @@ -317,7 +318,7 @@ * Report success */ snprinth (StatusMessage, sizeof(StatusMessage), "%s %H@%H\n", - get_html_text("183"), ActionUser, Domain); + html_text[183], ActionUser, Domain); show_autoresponders(Username, Domain, Mytime); } Index: user.c =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/user.c,v retrieving revision 1.11.2.10 retrieving revision 1.11.2.11 diff -u -d -r1.11.2.10 -r1.11.2.11 --- user.c 3 Jan 2005 20:31:09 -0000 1.11.2.10 +++ user.c 23 Jan 2005 17:35:12 -0000 1.11.2.11 @@ -88,7 +88,7 @@ if ((fs=fopen(".qmail-default","r")) == NULL) { /* report error opening .qmail-default and exit */ printf ("<tr><td colspan=\"%i\">%s .qmail-default</tr></td>", - colspan, get_html_text("144")); + colspan, html_text[144]); vclose(); exit(0); } @@ -160,7 +160,7 @@ if (pw == NULL) { printf ("<tr><td colspan=\"%i\" bgcolor=%s>%s</td></tr>\n", - colspan, get_color_text("000"), get_html_text("131")); + colspan, get_color_text("000"), html_text[131]); moreusers = 0; } else { char path[256]; @@ -187,7 +187,7 @@ } else { printf ("<td align=\"left\">%s</td>", qconvert); } } - else { printf ("<td align=\"left\">%s</td>", get_html_text("229")); } + else { printf ("<td align=\"left\">%s</td>", html_text[229]); } /* display button to modify user */ printf ("<td align=\"center\">"); @@ -248,7 +248,7 @@ printf ("<tr bgcolor=%s>", get_color_text("000")); printf ("<td colspan=\"%i\" align=\"center\">", colspan); printf ("<hr>"); - printf ("<b>%s</b>", get_html_text("133")); + printf ("<b>%s</b>", html_text[133]); printf ("<br>"); for (k = 'a'; k <= 'z'; k++) { printh ("<a href=\"%s/com/showusers?user=%C&dom=%C&time=%d&searchuser=%c\">%c</a>\n", @@ -270,7 +270,7 @@ printh ("<input type=\"hidden\" name=\"dom\" value=\"%H\">", dom); printf ("<input type=\"hidden\" name=\"time\" value=\"%u\">", (unsigned int) mytime); printh ("<input type=\"text\" name=\"searchuser\" value=\"%H\"> ", SearchUser); - printf ("<input type=\"submit\" value=\"%s\">", get_html_text("204")); + printf ("<input type=\"submit\" value=\"%s\">", html_text[204]); printf ("</form>"); printf ("</td></tr></table>"); printf ("<hr>"); @@ -287,26 +287,26 @@ printh ("<a href=\"%s/com/showusers?user=%C&dom=%C&time=%d&page=%d\">%s</a>", CGIPATH,user,dom,mytime, atoi(Pagenumber)-1 ? atoi(Pagenumber)-1 : atoi(Pagenumber), - get_html_text("135")); + html_text[135]); printf (" | "); } if (moreusers && atoi(Pagenumber) < totalpages) { printh ("<a href=\"%s/com/showusers?user=%C&dom=%C&time=%d&page=%d\">%s</a>", CGIPATH,user,dom,mytime,atoi(Pagenumber)+1, - get_html_text("137")); + html_text[137]); printf (" | "); } /* printf (" | ");*/ #endif printh ("<a href=\"%s/com/deleteall?user=%C&dom=%C&time=%d\">%s</a>", - CGIPATH,user,dom,mytime,get_html_text("235")); + CGIPATH,user,dom,mytime,html_text[235]); printf (" | "); printh ("<a href=\"%s/com/bounceall?user=%C&dom=%C&time=%d\">%s</a>", - CGIPATH,user,dom,mytime,get_html_text("134")); + CGIPATH,user,dom,mytime,html_text[134]); printf (" | "); printh ("<a href=\"%s/com/setremotecatchall?user=%C&dom=%C&time=%d\">%s</a>", - CGIPATH,user,dom,mytime,get_html_text("206")); + CGIPATH,user,dom,mytime,html_text[206]); printf (" ]"); printf ("</b></font>"); printf ("</td></tr>\n"); @@ -320,13 +320,13 @@ load_limits(); if ( AdminType!=DOMAIN_ADMIN ) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("142")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[142]); vclose(); exit(0); } if ( MaxPopAccounts != -1 && CurPopAccounts >= MaxPopAccounts ) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s %d\n", get_html_text("199"), + snprintf (StatusMessage, sizeof(StatusMessage), "%s %d\n", html_text[199], MaxPopAccounts); show_menu(Username, Domain, Mytime); vclose(); @@ -341,7 +341,7 @@ { if (!( AdminType==DOMAIN_ADMIN || (AdminType==USER_ADMIN && strcmp(ActionUser,Username)==0))){ - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("142")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[142]); vclose(); exit(0); } @@ -377,13 +377,13 @@ load_limits(); if ( AdminType!=DOMAIN_ADMIN ) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("142")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[142]); vclose(); exit(0); } if ( MaxPopAccounts != -1 && CurPopAccounts >= MaxPopAccounts ) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s %d\n", get_html_text("199"), + snprintf (StatusMessage, sizeof(StatusMessage), "%s %d\n", html_text[199], MaxPopAccounts); show_menu(Username, Domain, Mytime); vclose(); @@ -393,14 +393,14 @@ GetValue(TmpCGI,Newu, "newu=", sizeof(Newu)); if ( fixup_local_name(Newu) ) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s %s\n", get_html_text("148"), Newu); + snprintf (StatusMessage, sizeof(StatusMessage), "%s %s\n", html_text[148], Newu); adduser(); vclose(); exit(0); } if ( check_local_user(Newu) ) { - snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", get_html_text("175"), Newu); + snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", html_text[175], Newu); adduser(); vclose(); exit(0); @@ -412,7 +412,7 @@ GetValue(TmpCGI,Password1, "password1=", sizeof(Password1)); GetValue(TmpCGI,Password2, "password2=", sizeof(Password2)); if ( strcmp( Password1, Password2 ) != 0 ) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s\n", get_html_text("200")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s\n", html_text[200]); adduser(); vclose(); exit(0); @@ -420,7 +420,7 @@ #ifndef ENABLE_LEARN_PASSWORDS if ( strlen(Password1) <= 0 ) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s\n", get_html_text("234")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s\n", html_text[234]); adduser(); vclose(); exit(0); @@ -437,14 +437,14 @@ GetValue(TmpCGI, c_num, "number_of_mailinglist=", MAX_BUFF); num = atoi(c_num); if(!(mailingListNames = malloc(sizeof(char *) * num))) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s\n", get_html_text("201")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s\n", html_text[201]); vclose(); exit(0); } else { for(cnt = 0; cnt < num; cnt++) { if(!(mailingListNames[cnt] = malloc(MAX_BUFF))) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s\n", get_html_text("201")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s\n", html_text[201]); vclose(); exit(0); } @@ -485,7 +485,7 @@ vsetuserquota (Newu, Domain, "NOQUOTA"); } else if ( Quota[0] != 0 ) { if(quota_to_bytes(qconvert, Quota)) { - snprintf (StatusMessage, sizeof(StatusMessage), get_html_text("314")); + snprintf (StatusMessage, sizeof(StatusMessage), html_text[314]); } else { vsetuserquota (Newu, Domain, qconvert); } @@ -504,13 +504,13 @@ /* report success */ snprinth (StatusMessage, sizeof(StatusMessage), "%s %H@%H (%H) %s", - get_html_text("002"), Newu, Domain, Gecos, - get_html_text("119")); + html_text[2], Newu, Domain, Gecos, + html_text[119]); } else { /* otherwise, report error */ snprinth (StatusMessage, sizeof(StatusMessage), "<font color=\"red\">%s %H@%H (%H) %s</font>", - get_html_text("002"), Newu, Domain, Gecos, get_html_text("120")); + html_text[2], Newu, Domain, Gecos, html_text[120]); } call_hooks(HOOK_ADDUSER, Newu, Domain, Password1, Gecos); @@ -571,7 +571,7 @@ at the start of the program name only. BUG 2003-12 */ error = execl(cmd, cmd, p1, p2, p3, p4, NULL); printf ("Error %d %s \"%s\", %s, %s, %s, %s, %s\n", - errno, get_html_text("202"), cmd, hook_type, p1, p2, p3, p4); + errno, html_text[202], cmd, hook_type, p1, p2, p3, p4); /* if (error == -1) return (-1); */ exit(127); } else { @@ -592,14 +592,14 @@ static char forwardto[200] = ""; if ( AdminType!=DOMAIN_ADMIN ) { - snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("142")); + snprintf (StatusMessage, sizeof(StatusMessage), "%s", html_text[142]); vclose(); exit(0); } vdeluser( ActionUser, Domain ); - snprinth (StatusMessage, sizeof(StatusMessage), "%H %s", ActionUser, get_html_text("141")); + snprinth (StatusMessage, sizeof(StatusMessage), "%H %s", ActionUser, html_text[141]); /* Start create forward when delete - * Code added by Eugene Teo 6 June 2000 @@ -610,7 +610,7 @@ if (strcmp(forward, "on") == 0) { GetValue(TmpCGI, forwardto, "forwardto=", sizeof(forwardto)); if(adddotqmail_shared(ActionUser, forwardto, -1)!=0) { - snprintf (StatusMessage, sizeof(StatusMessage), get_html_text("315"), forwardto); + snprintf (StatusMessage, sizeof(StatusMessage), html_text[315], forwardto); } } @@ -640,7 +640,7 @@ FILE *fs; if ( (fs = fopen(".qmail-default", "w")) == NULL ) { - printf ("%s %s<br>\n", get_html_text("144"), ".qmail-default"); + printf ("%s %s<br>\n", html_text[144], ".qmail-default"); } else { fprintf(fs,"| %s/bin/vdelivermail '' %s\n", VPOPMAILDIR, opt); fclose(fs); @@ -657,7 +657,7 @@ GetValue(TmpCGI,Newu, "newu=", sizeof(Newu)); if (check_email_addr(Newu) ) { - snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", get_html_text("148"), Newu); + snprinth (StatusMessage, sizeof(StatusMessage), "%s %H\n", html_text[148], Newu); setremotecatchall(); exit(0); } @@ -692,7 +692,7 @@ /* Get the default catchall box name */ if ((fs=fopen(".qmail-default","r")) == NULL) { printf ("<tr><td colspan=\"5\">%s %s</td><tr>\n", - get_html_text("144"), ".qmail-default"); + html_text[144], ".qmail-default"); vclose(); exit(0); } @@ -700,19 +700,19 @@ fclose(fs); if (strstr(TmpBuf, " bounce-no-mailbox\n") != NULL) { - printf ("<b>%s</b>", get_html_text("130")); + printf ("<b>%s</b>", html_text[130]); } else if (strstr(TmpBuf, " delete\n") != NULL) { - printf ("<b>%s</b>", get_html_text("236")); + printf ("<b>%s</b>", html_text[236]); } else if ( strstr(TmpBuf, "@") != NULL ) { i=strlen(TmpBuf); for(;TmpBuf[i-1]!=' ';--i); if (strncmp (&TmpBuf[i], "$EXT@", 5) == 0) { /* forward to an entire domain */ - printh ("<b>%s <I>user</I>%H</b>", get_html_text("062"), &TmpBuf[i+4]); + printh ("<b>%s <I>user</I>%H</b>", html_text[62], &TmpBuf[i+4]); } else { - printh ("<b>%s %H</b>", get_html_text("062"), &TmpBuf[i]); + printh ("<b>%s %H</b>", html_text[62], &TmpBuf[i]); } } else { i = strlen(TmpBuf) - 1; @@ -722,7 +722,7 @@ /* take off newline */ i = strlen(TmpBuf2); --i; TmpBuf2[i] = 0;/* take off newline */ - printh ("<b>%s %H</b>", get_html_text("062"), TmpBuf2); + printh ("<b>%s %H</b>", html_t... [truncated message content] |
From: Tom C. <tom...@us...> - 2005-01-23 05:11:56
|
Update of /cvsroot/qmailadmin/qmailadmin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4059 Modified Files: Tag: stable-1_2 ChangeLog qmailadmin.c template.c Log Message: Added single page for changing password. [775208] Index: qmailadmin.c =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/qmailadmin.c,v retrieving revision 1.6.2.6 retrieving revision 1.6.2.7 diff -u -d -r1.6.2.6 -r1.6.2.7 --- qmailadmin.c 12 Jan 2005 15:14:27 -0000 1.6.2.6 +++ qmailadmin.c 23 Jan 2005 05:11:45 -0000 1.6.2.7 @@ -47,6 +47,7 @@ #include "printh.h" #include "qmailadmin.h" #include "show.h" +#include "template.h" #include "user.h" #include "util.h" @@ -115,10 +116,10 @@ const char *ip_addr=getenv("REMOTE_ADDR"); const char *x_forward=getenv("HTTP_X_FORWARDED_FOR"); char *pi; - int i,j; char *rm; char returnhttp[MAX_BUFF]; char returntext[MAX_BUFF]; + struct vqpasswd *pw; init_globals(); @@ -127,21 +128,18 @@ pi=getenv("PATH_INFO"); if ( pi ) pi = strdup(pi); - if (pi && strncmp(pi, "/com/", 5) == 0) { - struct vqpasswd *pw; - - memset(TmpBuf2, 0, sizeof(TmpBuf2)); - for(j=0,i=5;pi[i]!=0&&j<99;++i,++j) TmpBuf2[j] = pi[i]; - rm = getenv("REQUEST_METHOD"); - rm = (rm == NULL ? "" : strdup(rm)); + if (pi) strcpy (TmpBuf2, pi+5); + rm = getenv("REQUEST_METHOD"); + rm = (rm == NULL ? "" : strdup(rm)); - if ( strncmp(rm , "POST", 4) == 0 ) { - get_cgi(); - } else { - TmpCGI = getenv("QUERY_STRING"); - TmpCGI = (TmpCGI == NULL ? "" : strdup(TmpCGI)); - } + if ( strncmp(rm , "POST", 4) == 0 ) { + get_cgi(); + } else { + TmpCGI = getenv("QUERY_STRING"); + TmpCGI = (TmpCGI == NULL ? "" : strdup(TmpCGI)); + } + if (pi && strncmp(pi, "/com/", 5) == 0) { GetValue(TmpCGI, Username, "user=", sizeof(Username)); GetValue(TmpCGI, Domain, "dom=", sizeof(Domain)); GetValue(TmpCGI, Time, "time=", sizeof(Time)); @@ -170,53 +168,74 @@ process_commands(); - } else if (pi && strncmp(pi, "/open/", 6) == 0) { - memset(TmpBuf2, 0, sizeof(TmpBuf2)); - for(j=0,i=6;pi[i]!=0&&j<99;++i,++j) TmpBuf2[j] = pi[i]; - rm = getenv("REQUEST_METHOD"); - rm = (rm == NULL ? "" : strdup(rm)); + } else if (pi && strncmp(pi, "/passwd/", 7) == 0) { + char User[MAX_BUFF]; + char *dom; - if ( strncmp(rm , "POST", 4) == 0 ) { - get_cgi(); - } else { - TmpCGI = getenv("QUERY_STRING"); - TmpCGI = (TmpCGI == NULL ? "" : strdup(TmpCGI)); - } + GetValue(TmpCGI, Username, "address=", sizeof(Username)); + GetValue(TmpCGI, Password, "oldpass=", sizeof(Password)); + GetValue(TmpCGI, Password1, "newpass1=", sizeof(Password1)); + GetValue(TmpCGI, Password2, "newpass2=", sizeof(Password2)); - GetValue(TmpCGI, Username, "user=", sizeof(Username)); - GetValue(TmpCGI, Domain, "dom=", sizeof(Domain)); - GetValue(TmpCGI, Time, "time=", sizeof(Time)); - Mytime = atoi(Time); + if (*Username && (*Password == '\0') && (*Password1 || *Password2)) { + /* username entered, but no password */ + snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("198")); + } else if (*Username && *Password) { + /* attempt to authenticate user */ + vget_assign (Domain, RealDir, sizeof(RealDir), &Uid, &Gid); + if ( geteuid() == 0 ) { + if ( setgid(Gid) != 0 ) perror("setgid"); + if ( setuid(Uid) != 0 ) perror("setuid"); + } - vget_assign(Domain,RealDir,sizeof(RealDir),&Uid,&Gid); - if ( geteuid() == 0 ) { - if ( setgid(Gid) != 0 ) perror("setgid"); - if ( setuid(Uid) != 0 ) perror("setuid"); - } - vclose(); - exit(0); - + strcpy (User, Username); + if ((dom = strchr (User, '@')) != NULL) { + strcpy (Domain, dom+1); + *dom = '\0'; + } - } else { - char *rm; - struct vqpasswd *pw; - FILE *fs; + if ( *Domain == '\0' ) { + snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("198")); + } else { + chdir(RealDir); + load_limits(); + + pw = vauth_user( User, Domain, Password, "" ); + if ( pw == NULL ) { + snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("198")); + } else if (pw->pw_flags & NO_PASSWD_CHNG) { + strcpy (StatusMessage, "You don't have permission to change your password."); + } else if (strcmp (Password1, Password2) != 0) { + snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("200")); + } else if (*Password1 == '\0') { + snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("234")); + } else if (vpasswd (User, Domain, Password1, USE_POP) != VA_SUCCESS) { + snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("140")); + } else { + /* success */ + snprintf (StatusMessage, sizeof(StatusMessage), "%s", get_html_text("139")); + *Password = '\0'; + send_template ("change_password_success.html"); + return 0; + } + } + } - rm = getenv("REQUEST_METHOD"); - if ( rm ) rm = strdup(rm); + send_template ("change_password.html"); + return 0; - if ( rm && ( strncmp(rm,"POST",4)==0 || strncmp(rm,"GET",3)==0)) { - if ( strncmp(rm , "POST", 4) == 0 ) { - get_cgi(); - } else { - TmpCGI = getenv("QUERY_STRING"); - TmpCGI = (TmpCGI == NULL ? "" : strdup(TmpCGI)); - } + } else if (*rm) { + FILE *fs; + char *dom; GetValue(TmpCGI, Username, "username=", sizeof(Username)); GetValue(TmpCGI, Domain, "domain=", sizeof(Domain)); GetValue(TmpCGI, Password, "password=", sizeof(Password)); + if ((dom = strchr (Username, '@')) != NULL) { + strcpy (Domain, dom+1); + *dom = '\0'; + } vget_assign(Domain,RealDir,sizeof(RealDir),&Uid,&Gid); if ( geteuid() == 0 ) { @@ -271,7 +290,6 @@ vclose(); exit(0); } - } } show_login(); vclose(); Index: template.c =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/template.c,v retrieving revision 1.7.2.11 retrieving revision 1.7.2.12 diff -u -d -r1.7.2.11 -r1.7.2.12 --- template.c 5 Jan 2005 04:54:52 -0000 1.7.2.11 +++ template.c 23 Jan 2005 05:11:45 -0000 1.7.2.12 @@ -78,6 +78,7 @@ char *qnote = " MB"; struct vqpasswd *vpw; char value[MAX_BUFF]; + char value2[MAX_BUFF]; if (strstr(filename, "/")!= NULL||strstr(filename,"..")!=NULL) { printf("warning: invalid file name %s\n", filename ); @@ -268,6 +269,12 @@ show_autorespond_line(Username,Domain,Mytime,RealDir); break; + /* show returnhttp (from TmpCGI) */ + case 'H': + GetValue (TmpCGI, value, "returnhttp=", sizeof(value)); + printh ("%H", value); + break; + /* show the counts */ case 'h': show_counts(); @@ -374,6 +381,12 @@ } break; + /* show returntext (from TmpCGI) */ + case 'n': + GetValue (TmpCGI, value, "returntext=", sizeof(value)); + printh ("%H", value); + break; + /* build a pulldown menu of all POP/IMAP users */ case 'O': { @@ -423,6 +436,15 @@ } break; + /* show returntext/returnhttp if set in CGI vars */ + case 'R': + GetValue (TmpCGI, value, "returntext=", sizeof(value)); + GetValue (TmpCGI, value2, "returnhttp=", sizeof(value2)); + if (*value != '\0') { + printh ("<A HREF=\"%s\">%H</A>", value2, value); + } + break; + /* show the autoresponder stuff */ case 'r': if (AdminType == DOMAIN_ADMIN) { @@ -583,6 +605,11 @@ } break; + /* Password */ + case 'W': + printh ("%H", Password); + break; + /* dictionary line, we three more chars for the line */ case 'X': for(i=0;i<3;++i) dchar[i] = fgetc(fs); Index: ChangeLog =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/ChangeLog,v retrieving revision 1.15.2.55 retrieving revision 1.15.2.56 diff -u -d -r1.15.2.55 -r1.15.2.56 --- ChangeLog 12 Jan 2005 15:14:27 -0000 1.15.2.55 +++ ChangeLog 23 Jan 2005 05:11:44 -0000 1.15.2.56 @@ -23,6 +23,7 @@ - INSTALL: Add note about running `libtoolize --force` on x86_64. - Update config.guess and config.sub scripts. - Include charset in HTTP Content-Type header. [1098891] + - Added single page for changing password. [775208] 1.2.6 - released 24-Dec-04 |
From: Tom C. <tom...@us...> - 2005-01-23 05:11:55
|
Update of /cvsroot/qmailadmin/qmailadmin/html In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4059/html Modified Files: Tag: stable-1_2 show_login.html Added Files: Tag: stable-1_2 change_password.html change_password_success.html Log Message: Added single page for changing password. [775208] --- NEW FILE: change_password_success.html --- </head> <body bgcolor="#ffffff"> <CENTER> <H2>##X139</H2> ##R </CENTER> Index: show_login.html =================================================================== RCS file: /cvsroot/qmailadmin/qmailadmin/html/show_login.html,v retrieving revision 1.1.1.1.2.2 retrieving revision 1.1.1.1.2.3 diff -u -d -r1.1.1.1.2.2 -r1.1.1.1.2.3 --- show_login.html 15 Nov 2004 19:23:16 -0000 1.1.1.1.2.2 +++ show_login.html 23 Jan 2005 05:11:47 -0000 1.1.1.1.2.3 @@ -50,6 +50,9 @@ <input type="submit" value="##X114"> </td> </tr> + <tr> + <td colspan=2 align=left><A HREF="##C/passwd/">##X316</A></TD> + </tr> </table> </form> <img src="##Z/pixel.png" height="1" width="250"> --- NEW FILE: change_password.html --- </head> <body bgcolor="#ffffff"> <CENTER> <H2>##S</H2> <FORM METHOD="POST" ACTION="##C/passwd/"> <TABLE BORDER=0> <TR> <TD ALIGN=RIGHT>##X013</TD> <TD ALIGN=LEFT><INPUT TYPE="TEXT" NAME="address" SIZE=32 VALUE="##U"></TD> </TR> <TR> <TD ALIGN=RIGHT>##X057:</TD> <TD ALIGN=LEFT><INPUT TYPE="PASSWORD" NAME="oldpass" SIZE=17 VALUE="##W"></TD> </TR> <TR> <TD ALIGN=RIGHT>##X110:</TD> <TD ALIGN=LEFT><INPUT TYPE="PASSWORD" NAME="newpass1" SIZE=17></TD> </TR> <TR> <TD ALIGN=RIGHT>##X091</TD> <TD ALIGN=LEFT><INPUT TYPE="PASSWORD" NAME="newpass2" SIZE=17></TD> </TR> <TR> <TD COLSPAN=2 ALIGN=RIGHT> <INPUT TYPE="HIDDEN" NAME="returntext" VALUE="##n"> <INPUT TYPE="HIDDEN" NAME="returnhttp" VALUE="##H"> <INPUT TYPE="Submit" VALUE="##X316"> </TD> </TR> <TR> <TD COLSPAN=2 ALIGN=LEFT>##R</TD> </TR> </TABLE> </FORM> </CENTER> |