> -----Original Message----- > From: Ken Jones [mailto:[EMAIL PROTECTED]] > Sent: Friday, 10 January 2003 7:49 AM > To: [EMAIL PROTECTED] > Subject: [qmailadmin] Working on new 1.0.7 version > > > Hi, > > I'm putting together a new 1.0.7 version. > So anyone with updated code, or bug reports. > Please post the information here.
Hello Ken 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 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). The cdb backend already provides alphabetical sorting, so it makes sense that the other backends should be configured to provide alphabetical sorting by default also. ------------------------------------------------ Michael Bowe (B.App.Sc) Managing Director - Pipeline Internet 96 Pakington Street, Geelong West. VIC. 3218 Tel (03) 5229 7643 Fax (03) 5229 0282 Mobile 0419 242 136 http://www.pipeline.com.au/ ------------------------------------------------
################################################################### # # The configure script for qmailadmin-1.0.6 contains a typo for the # maxaliasesperpage configure command # # By Michael Bowe <[EMAIL PROTECTED]> # ################################################################### --- 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
################################################################### # # 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 <[EMAIL PROTECTED]> # ################################################################### --- 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>"); } }
############################################################### # # 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 <[EMAIL PROTECTED]> # and applied to qmailadmin-1.0.6 by Michael Bowe <[EMAIL PROTECTED]> # ############################################################### --- 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\">");
################################################################### # # 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 <[EMAIL PROTECTED]> # #################################################################### --- 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);