[prev in list] [next in list] [prev in thread] [next in thread]
List: qmailadmin
Subject: [qmailadmin] A collection of patches for qmailadmin-1.0.6
From: "Michael Bowe" <mbowe () pipeline ! com ! au>
Date: 2002-11-30 3:22:55
[Download RAW message or body]
Hello
Please find attached four patches for qmailadmin-1.0.6 that fix an assortment of bugs \
and cosmetic issues. There are comments in the top bit of each of the patches that \
include a more detailed description of why they are needed.
qmailadmin-1.0.6-forwardalias-nextpage.patch.txt
Fix the bug in the forwards/aliases screen where the nextpage hyperlink
is shown even when there are no more users to display
qmailadmin-1.0.6-configure-maxaliasesperpage.patch.txt
Fix the typo in the configure script regarding the maxaliasesperpage option
patch < qmailadmin-1.0.6-forwardalias-sorted.patch.txt
Enable sorting of the userlist on the forwards/aliases screen
(Same as patch for qmailadmin-1.0.2 as posted to this list the
other day by Tim Janes)
qmailadmin-1.0.6-userlist-sorted.patch.txt
Enable alphabetical sorting of the email accounts screens and also
the userlist dropdownboxes for people using a vpopmail backend
other than cdb (eg MySQL)
Michael.
["qmailadmin-1.0.6-forwardalias-nextpage.patch.txt" (text/plain)]
###################################################################
#
# In qmailadmin-1.0.6, the page navigation hyperlinks at the bottom
# of the show forwards/aliases screen alway display "next page"
# even when there are no more users to display
#
# By Michael Bowe <mbowe@pipeline.com.au>
#
###################################################################
--- alias.c.orig Sat Nov 30 12:56:39 2002
+++ alias.c Sat Nov 30 13:00:56 2002
@@ -46,6 +46,7 @@
show_dotqmail_lines(char *user, char *dom, time_t mytime, char *dir)
{
+ int moreusers=0;
DIR *mydir;
struct dirent *mydirent;
FILE *fs;
@@ -89,6 +90,7 @@
continue;
}
if ( k >MAXALIASESPERPAGE + startnumber) {
+ moreusers=1;
break;
}
@@ -174,9 +176,11 @@
fprintf(actout, "<a href=\"%s/com/showforwards?user=%s&dom=%s&time=%d&page=%s\">%s</a>",
CGIPATH,user,dom,mytime,Pagenumber,get_html_text("136"));
fprintf(actout, " | ");
- fprintf(actout, "<a href=\"%s/com/showforwards?user=%s&dom=%s&time=%d&page=%d\">%s</a>",
- CGIPATH,user,dom,mytime,atoi(Pagenumber)+1,get_html_text("137"));
- fprintf(actout, " ]");
+ if (moreusers) {
+ fprintf(actout, "<a href=\"%s/com/showforwards?user=%s&dom=%s&time=%d&page=%d\">%s</a>",
+ CGIPATH,user,dom,mytime,atoi(Pagenumber)+1,get_html_text("137"));
+ fprintf(actout, " ]");
+ }
fprintf(actout, "</td></tr>");
}
}
["qmailadmin-1.0.6-configure-maxaliasesperpage.patch.txt" (text/plain)]
###################################################################
#
# The configure script for qmailadmin-1.0.6 contains a typo for the
# maxaliasesperpage configure command
#
# By Michael Bowe <mbowe@pipeline.com.au>
#
###################################################################
--- configure.orig Sat Nov 30 12:02:49 2002
+++ configure Sat Nov 30 12:02:54 2002
@@ -1778,7 +1778,7 @@
# Check whether --enable-maxaliasesperpage or --disable-maxaliasesperpage was given.
if test "${enable_maxaliasesperpage+set}" = set; then
enableval="$enable_maxaliasesperpage"
- maxusersperpage="$enableval"
+ maxaliasesperpage="$enableval"
fi
cat >> confdefs.h <<EOF
["qmailadmin-1.0.6-forwardalias-sorted.patch.txt" (text/plain)]
###############################################################
#
# Adjust qmailadmin-1.0.6 so that the entries on the
# forwards/aliases screen are shown in alphabetical order
#
# Written for qmailadmin-1.0.2 by Tim Janes <t.janes@2020speech.com>
# and applied to qmailadmin-1.0.6 by Michael Bowe <mbowe@pipeline.com.au>
#
###############################################################
--- alias.c.orig Wed Aug 7 08:04:59 2002
+++ alias.c Sat Nov 30 11:35:24 2002
@@ -53,6 +53,8 @@
char alias_name[MAX_FILE_NAME];
char *alias_name_from_command;
int i,j,stop,k,startnumber;
+ int m,n;
+ struct dirent **namelist;
if ( AdminType!=DOMAIN_ADMIN ) {
sprintf(StatusMessage,"%s", get_html_text("142"));
@@ -74,7 +76,10 @@
return(0);
}
- while ((mydirent=readdir(mydir)) != NULL) {
+ n = scandir(".", &namelist, 0, alphasort);
+
+ for (m=0; m<n; m++) {
+ mydirent=namelist[m];
/*
* don't read files that are really ezmlm-idx listowners,
* i.e. .qmail-user-owner
@@ -159,9 +164,11 @@
fclose(fs);
k++;
}
+ free(namelist[m]);
}
closedir(mydir);
+ free(namelist);
if (AdminType == DOMAIN_ADMIN) {
fprintf(actout, "<tr><td align=\"right\" colspan=\"4\">");
["qmailadmin-1.0.6-userlist-sorted.patch.txt" (text/plain)]
###################################################################
#
# According to the docs on the inter7.com web site,
# ( http://inter7.com/vpopmail/vpopmail.html )
# if you REQUIRE a vauth_getall() userlist sorted in alphabetical
# order, you need to set the sort_it parameter to 1
#
# "struct *vauth_getall( char *domain, int first, int sort_it )
# domain = domain name to retrieve password structure from
# authentication system
# first = 1 to get first record, 0 = get next record
# sort_it = 1 to have the user list sorted alphabetically.
# This has no effect on vpasswd/cdb method,
# since all users are added alphabetically.
# With mysql it adds an order by pw_name to the query."
#
# If you have sort_it set to 0, depending on the type of backend
# you are running, you may or may not receive a sorted userlist.
# * cdb backend always returns a sorted list
# * mysql, postgres, ldap backends will return an unsorted list
#
# Qmailadmin-1.0.6 has been coded with sort_it = 0, which means
# that if you are not using the cdb backend, your email accounts
# screen will be unsorted, and so will the dropdown userlist boxes
# eg "add new alias"
#
# It makes sense for the qmailadmin source to be altered so the
# sort_it parameter is set to 1. This way, no matter what backend
# the user is running, they will receive sorted userlists.
#
# Written by Michael Bowe <mbowe@pipeline.com.au>
#
####################################################################
--- template.c.orig Sat Nov 30 11:32:41 2002
+++ template.c Sat Nov 30 11:32:58 2002
@@ -459,7 +459,7 @@
{
struct vqpasswd *pw;
- pw = vauth_getall(Domain,1,0);
+ pw = vauth_getall(Domain,1,1);
while (pw != NULL) {
fprintf(actout, "<option value=\"%s\">%s</option>\n",
pw->pw_name, pw->pw_name);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic