Buglist of Merce source code

    This document describes the bugs which were noted in the source code
    of Merce and the configuration of packages in the Mtracks 2.6.0
    release.
  1. Bugs in Merce source code
    1. Fix the formatting of vacation message reply. Replace the
      string
            <TEXTAREA Name=msg ROWS=3 COLS=30 ALIGN=left> __MSG__
            </TEXTAREA>
            

      by ?

    2. Modify /opt/merce/lib/template/remindme/remGinder_help.tmpl
      replace all: @@NET_DOMAIN@@ with the organization domain name of the Merce
      server.
    3. Fix the bug of user edit - it shows "unable to update aliastable"
      if a user has an alias of type 'U' and one or more aliases of type 'A'.
      This error is because of incomplete where clause in update query.
      This bug can be fixed by inserting following line at line no: 292 of
      /opt/merce/bin/usr/useradm_dat.pl
            push(@$where, " aliastype = 'U' ");
            

      NOTE: please verify the above line should be just after the following
      block of code.

            $form{'aliastype'} = 'U';
            if (! $flag) {
            undef $where;
            push(@$where, "emailaliasto = " .
            Relation::User::quote($dbh, 'intranet_id',
            $form{'intranet_id'}));
            push(@$where, " aliastype = 'U' ");
            
    4. Mfilter should do case insensitive checking of sender and
      recipient.
    5. When user is edited and email-id filed on user edit screen is
      modified it does not reflect in preference file of user for
      squirrelmail.
    6. Add Netdomain variable in /etc/merce/Siteconfig.sh
    7. Check squirrelmail, ldap aliases scripts for patching with
      Netdomain
      and Netorgdomain
    8. Remove the functions isadmin_local, isadmin, is_otheradmin,
      is_anyadmin and have one function which checks for administrative
      privileges. Call it is_admin.
    9. Fix the formating of vacation message reply
    10. Change the message on the welcome page of admin
    11. Change the message in title bar of Mtracks admin page
    12. mail_user function of /opt/merce/common/lib/perl/Utils.pm
      should return 1 for unsuccessfull execution. Currently it prints to
      STDERR.
    13. licencechk, servicechk, sysinfo, syschk(compiled shell
      scripts) become zombie randomly. For now we have compiled these shell
      scripts with -T option for 'shc' utility.
    14. Sometimes user edit gives error 'Unable to update rows into
      table - aliastable' on browser. Because in useradm_dat.pl, it does not
      check ' aliastype = "U" ' in 'where' caluse while updating aliastable
    15. # Installer ask question of domain name during installation. It
      does not take domain name starting with numeric values like 2coms.com.
      So the reqular expression should be modified in questions.list
    16. Integrate new cleantmp script with Merce
    17. Create the user junkmail on master during installation time.
    18. Alias file(/etc/aliases) becomes corrupted due to some
      unknown reason. The RHS entries in the alias files are removed.
    19. To add $Netdomain variable in /etc/merce/Siteconfig.sh
      and to check squirrelmail, ldap, aliases scripts for patching
      with NetDOMAIN and Netorgdomain
    20. When "adding" user, mtracks correctly displays "Date of
      Joining" year from 1937-2007(Current) but while "editing" the user
      info, the year in "Date of joining" starts from 2007.
    21. Funny choice of words and incorrect English in the questions
      asked by the installer. Cosmetic changes - text needs to be fixed in the
      installer config file.
    22. During user deletion a users mailbox is deleted without
      taking any backup of his home directory or mailbox. Shuvam's script
      which takes a backup of the user's mail and home dir area should be
      integrated with the user deletion script. This backup should be deleted
      once in 6 months or 1 year by cleantmp script.
    23. The script which takes backup of user's mail and home is - apps1:/usr/local/sbin/userarchive. It needs to be integrated with merce. The script may not work for all flavours of Linux. This script, in its current config, assumes that there is one level of subdirs in the IMAP
      spool area. If Cyrus is configured to keep /var/spool/imap/s/saurabh
      then this script will not work.
    24. The file /opt/merce/lib/Filesendrecvconfig has incorrect entry for
      httpdupload on slaves. It is incorrectly spelled as q.*.httpupload*
      instead of q.*.httpdupload*
    25. xbackup script should take a configuration file as a parameter on the command line.
    26. xbackup script should prepend the timestamp in output file and append the status "done" upon completion.
    27. If there is an alias pointing to only one email address and that email address is removed (removed not deleted) from the alias list, the alias should get deleted but it stays and in the alias file the entry: "testalias: saurabh@starcomsoftware.com" changes to "testalias:"
    28. When we run licencechk it gives error of 'Illegal
      division by zero' error. The licecnecchk uses
      /opt/merce/sbin/sysinfo internally.

      The reason of this error is:
      sysinfo uses output of `free -m' and greps the corresponding values
      of 'Mem:' and 'Swap:'.
      The percentage of Swap used is calculated in sysinfo.

      When Swap area is not created, it not appears in `free -m' output.
      and it shows the 'Illegal division by zero error while calculating
      percentage' of Swap used.

    29. Snippet from a mail of Deepak - cause not known. He will replicate and give more info.

      There was one thing I noticed while deleting aliases using UI, If I select two aliases for eg.
      prachitee.naik: prachiti
      prachitee: prachiti

      I got an error saying the task could not be completed. And when I search again using UI for those aliases both aliases were deleted. But when I checked in /etc/aliases file one of the aliases did not got deleted in the above example prachitee: prachiti

    30. To check the variable names in Netconfig.sh and other scripts in
      /opt/merce/bin/ which uses NetMailgateways, Netsmtpservers etc
      interchangeably .
      Each scripts must be using proper name.
    31. Default preference file is not created for mailbac user at
      installation.
    32. /opt/merce/bin/usr/clientadm_edit.pl does not patch country.
      country code IN is hardcoded. put $::Netldapconuntry
    33. modify /opt/merce/bin/cron/usrusage_report to replace following lines
      replace
      homedir_info=`df $HOMEDIR | grep -vE
      wih
      homedir_info=`df -P $HOMEDIR | grep -vE

      replace
      imapdir_info=`df $IMAPDIR | grep -vE
      with
      imapdir_info=`df -P $IMAPDIR | grep -vE

    34. Check all the script which are vulnerable to SQL injection.
      For example: alias editing UI has a bug. Giving '%' in search
      give all the aliases in database. In this UI the query should have
      been prepared and then executed.

      Check all the script to ensure that all queries are prepared and
      executed so that special charecters are escaped by SQL.

    35. "mtracks" is not patched in the zone file of Netdomain and Netorgdomain but it is present in /etc/mail/local-host-names
    36. The alias entry in alias file become wrong when the user edit his
      details from 'user' -> 'user database' -> 'employee' link on
      Mtracks/Merce UI and when the user has his intranet ID in
      other aliases.

      For example the user 'abhay' is in 'netsupport' alias. This will
      have entry in database as aliastype = 'A'. It should delete the
      entries of aliastype U only. But this check was not done in code
      of /opt/merce/bin/usr/usergen_dat.pl. So many times it deletes
      modifies the aliases of alias type A in alias table.

      To fix this bug
      search the following lines in /opt/merce/bin/usr/usergen_dat.pl

      $fields = ['emailalias'];
      push(@$where, 'emailaliasto = ' .
      Relation::Aliastable::quote($dbh, 'emailaliasto',
      $form{'intranet_id'}));

      Add follwoing line after these lines
      push(@$where, " aliastype = 'U' ");

    37. aclctl should use /etc/applyacl.cf to do chown, chmod of shared area.
    38. aclctl should do setgid to group having no members to the shared areas.
    39. Mfilter changes '<>' from address to 'MAILER-DAEMON@domainname'
      It should change the '<>' to 'MERCE-ADMIN@domainname' or
      'UUCP-ADMIN@domainname'.

      Mfilter should never user 'MAILER-DAEMON@domainname'

    40. Some times event_handler in merce runs continuously and
      increases the load average of merce server. This happens
      when there exists a file which is not being used by any
      program and which event handler will not process.

      for example: there is a qfile in /opt/merce/update/pending dir
      with name q.1190614216.useradd.30943.addsmbuser_mas.
      event_handler will not process it and keep looking for next
      file without sleep.

    41. Add script to clean up the reported_event table every 15days
    42. When a website is blocked at master location, it is not reflected at slave location. This is because /opt/merce/bin/maint/proxyblock_activate tries to copy the proxyblock file to /opt/merce/tmp where user 'mercexfr' does not have write access.
    43. Bug in user deletion. When user is deleted, all the entries for
      deleted user are removed from alias table. But from alias file
      only user's email ID and intranet ID are removed. So user is
      not deleted from the aliases in which he/she was added from UI.
    44. Remindme bug: remindme trims the long subject lines.
    45. /opt/merce/bin/filesend program creates some Xdifffiles.tmp.XXXX
      files in outgoing/servername/ directory. These files should be
      automatically removed. Also need to check why these files are
      created?
    46. Alias editing shows a row with 'alias' in it when some alias entry
      is removed(on confirmation page).

      To solve this problem add following:
      if ($param eq "alias" ) {
      $hidden .=
      "< INPUT TYPE='HIDDEN' NAME='$param' VALUE='$form_cp{$param}'>";
      next;
      }

      after the give line below in opt/merce/bin/usr/useralias_addremove.pl
      if ($param eq "SUBMIT") { # or $param eq "alias") {

    47. The /opt/merce/lib/perl/Queue.pm does not allow a program to
      generate multiple qfile from same process at same time.

      To solve this problem modifiy the Queue.pm to do following:
      if(not defined global-ts-var) then
      global-ts-var = current-ts
      else
      global-ts-var = global-ts-var + 1

      and the get_qfilename function in Queue.pm will return the
      qfile name of the format q.$global-ts-var.$event.$pid

      The above will take care of generating multiple qfiles from same
      the program.

    48. Change the formating of the text in HTML page titles:
      for example currently on main admin page of Merce it shows:
      "MERCE - the complete Network tracking systems"

      It should be:
      MERCE - Messaging and Enterprise Resource Control Environment

  2. Improper configuration.
    1. Check the configuration for logrotate in RHEL4 and SLES10 for
      the support of maxage, dateext, bug for size rotation and decide on a
      criteria for log rotation
    2. Amavis stops periodically because the current /etc/amavisd.conf
      is old and has not been configured as per the new configuration scheme.
    3. Mails from junkmail@organization.com should not be checked
      for spam.
    4. php.ini imposes limit on memory_limit (8 MB), upload_max_filesize
      (2 MB), post_max_size (8 MB). Decide what should be these limits
    5. Every shell script in the MercE source tries to source
      /etc/merce/Netconfig.sh. If this file is not found it tries to log an
      error message with facility local3 and priority emergency. There is no
      entry for local3.emerg in /etc/syslog.conf. Add an entry in
      /etc/syslog.conf for local3.emerg.
    6. all scripts which are cron jobs of merce should be in /opt/merce/bin/cron. cleantmp should be in /opt/merce/bin/cron instead of /opt/merce/sbin
    7. In squirrelmail's configuration file value for smtp server is "localhost" and value for imap server is also "localhost". SMTP server should be "smtp." and IMAP server should be "imap.". We need to add this to installer.
    8. update config file /etc/sysconfig/syslog with current version of
      syslog package in RHEL4 Update5.

      For now we have to add SYSLOG_OPTIONS variable in
      /etc/sysconfig/syslog variable in /etc/sysconfig/syslog variable
      to enable network logging in syslog.

Cyrus Perl Module

Include new perl module IMAP::Admin instead of Cyrus::IMAP::Admin as the later is now unavailable on even CPAN. Also the following scripts needs to be modified to use the IMAP::Admin module: addmailbox.pl, delmailbox.pl.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.