new install problems

  • Justin Wood

    Justin Wood - 2002-02-21

    I just installed v0.61h on FreeBSD 4.5-RELEASE, using cyrus-imapd-2.1.1 and sasl-2.1.1.  I've been able to use sieveshell from the commandline with no problems, and even have a working sieve script installed.  However, when trying websieve, I get the following error message in my browser:

    Login Error
    There was an error in login you to the server. Please click HERE and try again.

    System Error: No Errors

    But...While looking at syslog, I see no problems:

    Feb 21 11:13:34 pony master[22247]: about to exec /usr/local/cyrus/bin/imapd
    Feb 21 11:13:34 pony service-imap[22247]: executed
    Feb 21 11:13:34 pony imapd[22247]: accepted connection
    Feb 21 11:13:34 pony imapd[22247]: login:[] justin plaintext
    Feb 21 11:13:34 pony master[22248]: about to exec /usr/local/cyrus/bin/timsieved
    Feb 21 11:13:34 pony service-sieve[22248]: executed
    Feb 21 11:13:34 pony service-sieve[22248]: accepted connection
    Feb 21 11:13:35 pony timsieved[22248]: login:[] justin PLAIN User logged in
    Feb 21 11:13:35 pony master[50220]: process 22248 exited, status 0

    Can anyone shed some light on this for me?

    Thanks in advance, Justin.

    • Anonymous

      Anonymous - 2002-02-25

      just this minute solved (hopefully) same problem:

      The bug is in line 619 of
        if ($IMAPERROR && !$ismanager) {
      seems to exit the program, if there is a message in $IMAPERROR and the user is not the admin. Badly, because there is at least the "No Errors" message in $IMAPERROR, so every user will be
      instantly logged out - except the cyrus admin.
      Change the line to
      if (($IMAPERROR ne "NO Errors") && !$ismanager) {
      and it works....
      I'm in hope this is the correct answer and will not open any security holes (i'm user, not a programmer at all ;-)


    • Richard Brenner

      Richard Brenner - 2002-04-07

      Hi. Thank you very much for the reply. I found out that your method works, but you have to write
      $IMAPERROR ne "No Errors"
      instead of
      $IMAPERROR ne "NO Errors"
      because Perl is case sensitive.

    • Aize Schuurmans

      Aize Schuurmans - 2004-10-07

      I had the same problem, and solved it in a similar way. In my case changing

      # get quota
          @quota=&getquota("INBOX") if ($havequota || !$useprocmail);
          if ($IMAPERROR =~ /no errors/i && !$ismanager && $IMAPERROR) {


      # get quota
          @quota=&getquota("INBOX") if ($havequota || !$useprocmail);
          if ($IMAPERROR =~ /no errors/i && !$ismanager && ($IMAPERROR ne "No Errors")) {

      #print "quota=@quota";

      was the solution.


Log in to post a comment.