2002-04-27 Raju Mathur * notifyForm.cgi: Missed out ! in testing for size of options array on return from getNotifyOptions. 2002-04-24 Raju Mathur * INSTALL: Warning about slapd ACL line wrapping. 2002-04-09 Raju Mathur * Release 2.0 stable, test release. 2002-04-09 Raju Mathur * vm-pop3d-1.1.4.patch: Create patch for VM-POP3D 1.1.4 which handles VishwaKarma authentication, accounting info printout and the broken RH LDAP development system. * kandalaya.schema: Ensure all notify* attributes correct and accounted for. * notifyForm.cgi (sortOptions): Change if defined array to just if array. * changepassword.cgi: Don't send notification if server owner changes her own password: if she doesn't know it herself no need to tell her. * ISPlib.pm (Sendmail): New Sendmail function to call mailer and send message. Need to change List CGI's to use this function now. * Notify.pm (Format): Create Format function to output nicely (I guess). (notify): Write the notification routine completely. * system.pl: Remove carp messages from all over the place. Sanitise the ones which remain. (doSmartList): Don't die if SmartList not found. * FAQ.sgml: Note that we support RH 7.x now. * INSTALL: Change REDHAT 7.1 to REDHAT 7.2. It works on RH 7.2 now. Add instructions for getting, patching and compiling VM-POP3D. Change the ACL's for OpenLDAP to permit (nearly) anyone to access the notify settings and mail addresses. 2002-03-25 Raju Mathur * Notify.pm: Completed the Notify code, ready for testing. Still need to add the appropriate ACL's in slapd.conf. 2002-03-03 Raju Mathur * ISPlib.pm (Sendmail): Add Sendmail function 2002-01-25 Raju Mathur * system.pl: Fix list handling so that only members are allowed to post by default. 2001-12-14 Raju Mathur * run-webalizer (DNS_CACHE): Let the Webalizer DNS be owned by root and writable by all, otherwise it grows too big and causes quota problems with domains which are near their quota limit. 2001-12-13 Raju Mathur * FAQ.sgml: Added link to screen shots by Jason Klein. 2001-12-12 Raju Mathur * report.cgi: Fix problem in server detail report where the HTML tags got out of alignment if a reseller didn't have any domains under him/her. * FAQ.sgml: Added instructions for SSI. 2001-11-24 Raju Mathur * system.pl: Set umask to 022 since we can't tell what the system umask would be. 2001-10-15 Raju Mathur * Makefile (bin): Install vm-pop3d instead of gnu-pop3d. * kandalaya.schema: Got OID (10941) from IANA and implemented it into the schema. I hope I got it correct this time. * INSTALL: Changed instructions for downloading and installing vm-pop3d instead of gnu-pop3d. * system.pl (doApache): Fixed a potentially serious bug in the regexp used when deleting an entry from httpd.conf. Now the regexp will ONLY match lines which contain the EXACT hostname specified, not any lines which have sub/supersets of the hostname. * pop3d: Patched VM-POP3D to accept VishwaKarma authentication. Now we have (a) a proper patched POP3 daemon which will allow autoconf to run on different platforms, (b) UIDL support and (c) support for one or more POP-Before-SMTP schemes since the new POP3 daemon will output informative lines when a user successfully logs in. GNU-POP3D will be neither supported nor distributed by VishwaKarma from now on. 2001-10-04 Raju Mathur * Server.config (FPExe): Fix typo in executable name. 2001-09-23 Raju Mathur * addDomain.cgi: Make all empty values into spaces since the ASN1 encoding on perl-ldap-0.2401 barfs on empty strings. Or maybe it's an LDAP 2.x problem. Or even with my wonderful schema ;-) * system.pl (doQuota): Different setquota invocation syntax for RH 6.2 and 7.1 * kandalaya.schema: Created a minimal schema for OpenLDAP 2.x. * ISPConfig.pm (ReadConfig): Added configuration variables Distribution and DistributionVersion. 2001-09-21 Raju Mathur * INSTALL: Distinguish between Red Hat 6.2 and Red Hat 7.1 install process. * domainDetails.cgi: Instead of undefining extrastr and extraargs make them empty string and list instead. * resellerDetails.cgi: Instead of undefining extrastr and extraargs make them empty string and list instead. * Makefile (WWWHOME): Make HTTPD Document directory configurable through a parameter. 2001-07-19 Raju Mathur * report.cgi: Check if explicit domain name has been passed in the parameters to the report and use that if it is as the domain. * ISPlib.pm (disconnect): Explicitely undefine $ldap otherwise it doesn't seem to tear the connection down on exit. * changepassword.cgi: Make domain name in Find a Domain a clickable link to the domain's menu login. Add link to domain summary by passing explicit domain name. 2001-07-10 Raju Mathur * Borders.pm (top): Remove button for Domain detail report. The summary report is detailed enough. Need to include mailing list report -- who's gonna bell the cat? * report.cgi: Reports for Reseller summary and detail, Domain summary. 2001-07-08 Raju Mathur * report.cgi: Reseller summary report. * system.pl: Fix problem with passing 3rd argument to Quota::query. * ISPConfig.pm: Change default location of Help URL, -do- in Server.config. 2001-07-07 Raju Mathur * report.cgi: Fix typo in assigning quotaUsed to variable. Quotas display properly now. * Reports.pm (reseller): Change calling form for system.pl with --quota argument. Add --group option for resellers. (domain): Change calling form for system.pl with --quota argument. * system.pl: Change calling sequence for --quota to allow getting of group quotas. Add mandatory action argument (--get). 2001-07-06 Raju Mathur * listMod.cgi: Rename Delete button to the actual name on the button (sic!). * domainDetails.cgi: Enabled buttons for FrontPage and JSP on domain details page. 2001-07-05 Raju Mathur * ISPConfig.pm: More configuration parameters for JSP home, location of chown, etc. Ditto Server.config. * system.pl: FP and JSP management are now independent calling tasks. * subsystem.cgi: Manage FP and JSP through system.pl as independent tasks. * Borders.pm (top): Print domain menu if in domain, owner/reseller menu otherwise. Earlier it was printing the owner/reseller menu in a domain too, which was meaningless. Uncomment some of the icons (which may not necessarily work right now). Change calling URL for FP and JSP admin and move them to domain menu rather than owner/reseller menu. * report.cgi: Incorporate server owner summary and detail reports. Seems to work. * Makefile: Need to use $$i instead of $i in chmod command *slap self on forehead* 2001-06-30 Raju Mathur * addDomain.cgi: Fixed nasty bug in domain modify where we weren't trapping messages from doFP (system.pl) causing output to get scrambled. 2001-06-14 Raju Mathur * fpinstall.pl: Manual installation of FP for a domain. Handled from within VishwaKarma now. * addDomain.cgi: Call system.pl in a pipe and display output from that to handle FrontPage password. * ISPConfig.pm: Change default value of fpsrvadm.exe. Change default path to mkpasswd. * system.pl (doFP): Fix to handle FP 4.0 syntax and arguments for enabling/disabling FP extensions for domains. 2001-06-13 Raju Mathur * listDetails.cgi: Fix test for new list already existing. Add display of number of subscribers in list on list display page. 2001-06-08 Raju Mathur * owner.cgi, ownerMenu.cgi, changepassword.cgi, Borders.pm: Add quick code and icon to enable server owner to find a specific domain (owners were not able to figure out which reseller a domain was under). 2001-06-07 Raju Mathur * Utils.pm: Convert Uppercase to Lowercase in most user inputs. 2001-06-06 Raju Mathur * listDetails.cgi: Change new subscribers address textarea to 10 rows. Warning on Delete list button. * domainDetails.cgi: Only check max domains exceeded if adding a new domain. 2001-06-04 Raju Mathur * ISPlib.pm (ModifyFile): Make backup copy in /tmp of any file changed. 2001-05-27 Raju Mathur * ISPConfig.pm: Add options to control customisation of position, appearance/non-appearance of server home, help and package URL's. * Borders.pm: Permit customisation of position and appearance/non-appearance of server home, help and package URL's. Undo last change to showResellerLogo (do not show Owner Logo instead). * system.pl (Reseller): Create minimal HTML for reseller branding when creating reseller. 2001-05-24 Raju Mathur * Borders.pm (showResellerLogo): Show owner logo/HTML if reseller logo/HTML not available. 2001-05-23 Raju Mathur * domainDetails.cgi, addDomain.cgi: Do not prompt for domain owner's home directory anymore, just make it /home/reseller/domainowner. * userMod.cgi: Seperate call to system.pl to change domain owner's password. * domainDetails.cgi: Comment out JSP, FrontPage and MySQL stuff in domain form until they're implemented and some use. * system.pl (doSendmail): killall -1 sendmail after updating relaydomains file. (doPasswd): Add seperate user flag to change password. Due to changed authentication system system.pl would not be able to auth when domain owner password is changed. * All CGI's: Replace VishwaKarma with configurable package name. * Borders.pm (top): Comment out left border functions which are not implemented yet. (bottom): Add optional (configurable) link to Package home. * Makefile (iconfiles): Copy local icons to icons directory before installing. 2001-05-19 Raju Mathur * Utils.pm: Eliminate uppercase letters from valid*Chars strings, since LDAP binds case-insensitive and other programs have problems handling upper-case inputs where the actual ID is lower-case. 2001-05-12 Raju Mathur * addReseller.cgi: Remove ``don't forget to add... to /etc/ftpaccess'' message. * INSTALL: Change details for customisation of /etc/ftpaccess. Use restricted-gid and unrestricted-uid clauses now. * system.pl (doDirectories): No need to copy ~ftp/{lib,bin} to user's home directory. 2001-04-23 Raju Mathur * All: Clean up all user-submitted parameters through functions in Utils.pm. No spaces in userID's, no shell metacharacters permitted, etc. * All: Add borders to all CGI's. * system.pl: Incorporate list setup and web management using rconfig. * vk.css: Alignments and colours for tables and other text. 2001-03-26 Raju Mathur * Borders.pm: Start work on Icons and all that snazz. Need to update the CSS too. * Makefile (LIBRARIES): Add Borders.pm to list of libraries. 2001-03-12 Raju Mathur * system.pl (doApache): Add User and Group to virtualhost directive. 2001-01-10 Raju Mathur * system.pl: Add -U switch to #! command line since Apache::Session::DB_File was failing on suidperl programs with fatal taints enabled. Sucks, but no option. (doDirectories): Change ownership of home directory (in case we are dealing with an existing directory from a deleted/re-created domain). 2001-01-06 Raju Mathur * Makefile (LIBRARIES): Add new libraries. * INSTALL: Instructions to make session lock directory. * ISPConfig.pm (ReadConfig): Add config parameters CookiePrefix, SessionFile and SessionLockDir. * VK.pm: Add get method to VK::LDAP. 2001-01-05 Raju Mathur * VERSION: Check in version 1.1. Start version 2.0. * INSTALL: Change order of hostMap ACL's in slapd.conf. The original order doesn't work. 2001-01-03 Raju Mathur * system.pl: Change all hardcoded program and directory paths to values defined in %Config. * ISPConfig.pm (ReadConfig): Add various programs and directories needed by system.pl to %Config. Corresponding changes in Server.config. Add Hostname (for local host name) and URI's for utility web pages. 2000-12-07 Raju Mathur * system.pl (doProcmailrc): Fix so autorespond won't reply to mailer-daemon and bouncing addresses in procmailrc. 2000-11-21 Raju Mathur * userMod.cgi: Add check for valid user name. * VK.pm: Destructor of class VK::LDAP should check for validity of self -> {LDAP}, not self -> LDAP before trying to destroy it. * system.pl (doQuota): Add --reseller flag. Group quota shall only be changed (deleted) if the reseller flag is present. Changed call to doQuota in reseller handling to pass --reseller flag. 2000-10-31 Raju Mathur * SUPPORT: Added commercial support list. 2000-10-25 Raju Mathur * system.pl ([reseller]): Copy ~ftp/{bin,lib} to reseller home directory when creating him so he has restricted FTP access. (doProcmailrc): -f flag to sendmail has to have complete address, $RECIP1 instead of $RECIP (which is only the user name). 2000-10-22 Raju Mathur * README: Added copyright and license sections. 2000-10-21 Raju Mathur * ISPInfo.pm (getDomainInfo): Change calling parameters to just VK::Domain. Changed other routines to use this calling sequence. * INSTALL (Net): Include Crypt::PasswdMD5 in list of Perl modules to be installed. * userMod.cgi: Use Crypt::PasswdMD5 instead of md5_passwd.pm. * changepassword.cgi: Use Crypt::PasswdMD5 instead of md5_passwd.pm. * addClient.cgi: Use Crypt::PasswdMD5 instead of md5_passwd.pm, of which we weren't sure of the license. * Makefile (LIBRARIES): Removed md5_passwd.pm from list of libraries. 2000-10-20 Raju Mathur * run-webalizer (WA): Use stat to get user ID's instead of ls -l since ls -l chops off everything after 8 characters. * system.pl (doPasswd): untaint $user and $passwd before sending them off to usermod, and use usermod instead of ModifyFile to change passwords. Need to implement usermod path in Server.config and ISPConfig.pm. * ISPlib.pm (ModifyFile): Don't eval $replace at all. 2000-10-19 Raju Mathur * ISPlib.pm (ModifyFile): Untaint $replace before eval'ing it. 2000-10-16 Raju Mathur * ISPlib.pm: Added feature for logging all successful and unsuccessful logins by IP address. 2000-10-14 Raju Mathur * toplevel.cgi: Increased size of scrolling list to 10 lines. 2000-10-08 Raju Mathur * ISPInfo.pm (showOwnerInfo): Display for disk space available/used should be GB, not MB. (quotaDomain): Cannot afford to get quotas for each domain since the fork/exec is too expensive. Disabled for the time being, until I come up with a better way of doing things. * Makefile (config): Make system.pl group nobody and only executable by root or nobody for some measure of security. (config): Do not overwrite existing Server.config, since that may contain the new Manager password. * ISPlib.pm (multiple places): Remove debugging carp's. (multiple places): Removed old code within if ( 0 ) {...} * toplevel.cgi: Removed logging of auth information through carp. * system.pl (doPasswd): Will work with both MD5 and DES passwords, since we added the md5_passwd.pm module. (multiple places): Removed old code within if ( 0 ) {...} 2000-10-07 Raju Mathur * system.pl (quota): Use internal quota package to get user quotas instead of a fork/exec for /usr/bin/quota. The Perl Quota package seems to handle getting quotas just fine, seems to have problems with setting them. (doDirectories): Need a space between the ! and the ` in procmailrc forward rules, otherwise sendmail barfs. 2000-10-06 Raju Mathur * toplevel.cgi: Added form to handle changing of Manager's password and call changepassword.cgi to actually do it. * system.pl (doDirectories): Changed default procmailrc location from $HOME/$DOMAIN-mail/.procmailrc to /etc/procmailrcs/$DOMAIN. Now procmail will (is supposed to) create user mail files with the user as owner, rather than root. Heh, I hope this works :) (doDirectories): procmailrc must contain SHELL = /bin/sh line otherwise procmail dies a horrible death. (doSendmail): mailertable will now point mail for domain to /etc/procmailrcs/$DOMAIN, which doDirectories (above) has set up. (main): Incredibly ugly hack to change the Manager password in System.config when the manager chooses to change it through the web interface. Reasoning is, system.pl needs to be able to access the LDAP database independent of any authentication which has been done by the CGI which called it. If I could figure out a way to pass the ldap object from the calling CGI to system, I'd do it like a shot -- suggestions, anyone? Until I can, however, I need to be able to bind as God to the LDAP database, which means I need to have the LDAP Manager DN and password around in plain-text. Yecch and double-Yecch. * addClient.cgi: Add code in delete to check if the reseller has any domains and refuse to delete if so. * Makefile: Add changepassword.pl to MAINMENUPROGS files. Do not install slapd.conf as part of install. * LOG-NEW.txt: Use RedHat standard /var/lib/ldap directory instead of /var/tmp/ldap which we had chosen. Add record for dn: cn=Manager,$Config{BaseDN} in MYLDIF so that we can change the owner's password with (relative) ease. See entry for changeOwnersPassword and system.pl below. Instructions for changing pop3 entry in /etc/inetd.conf. Instructions for mkdir /etc/procmaillrcs (see entry for system.pl) * ISPInfo.pm: Exported getOwnerInfo, getResellerInfo and getDomainInfo instead of the quota functions. Need getResellerInfo to determine number of domains a reseller has and refuse to delete if > 0 (addClient.cgi IIRC). * ISPlib.pm(changeOwnersPassword): Added sub changeOwnersPassword for modifying cn=manager,$Config{BaseDN} userPassword attribute. Also call system.pl to change the password in /usr/local/vk/etc/Server.config (yecch!) -- this MUST change. (connect): Modified the function to check the return code from the LDAP bind call for success rather than try to bind and then read a record to see if we were successful.