The Community Forums

Interact with an entire community of cPanel & WHM users!
  1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

[BUG?] cPanel is not recording (properly) Exim retry times :(

Discussion in 'E-mail Discussions' started by Kent Brockman, Aug 1, 2008.

  1. Kent Brockman

    Kent Brockman Well-Known Member

    Joined:
    Jan 20, 2008
    Messages:
    1,130
    Likes Received:
    3
    Trophy Points:
    38
    Location:
    Buenos Aires, Argentina
    cPanel Access Level:
    Root Administrator
    Twitter:
    Hi there, in my attempts to fight the Yahoo deferred issue I posibly discovered a bug (?) in the way cPanel is saving changes to /etc/exim.conf
    Let's hear some cPanel staff thoughts about my tests:

    The object of my tests was to set an Exim retry rule that specifically deal with temp failures from Yahoo, making Exim retry a few times since the failure is received, bypassing the 4 days set by default. If this work, will lead obviously to reduce the queue load, avoiding lack of performance if you have heavy mailman lists (5.000+ users).

    This was tested in a box running:
    WHM 11.23.2 cPanel 11.23.4-S26138
    CENTOS Enterprise 4.6 i686 on virtuozzo - WHM X v3.1.0

    Let's review the 3 tests I did:



    TEST #1

    I set this retry rules in the box ABOVE the prefixed default value in the Exim Advanced Editor:
    Code:
    *                      rcpt_4xx    F,6h,15m; F,1d,1h
    *                      timeout_connect    F,6h,15m
    When you save the changes, everything is reported to be ok, although there is no reference in the summary of changes to the new retry rules being set.
    After it, if I open the /etc/exim.conf, I'm not seeing the new rules recorded inside. :eek: Let's test if the rules are working as expected:
    Code:
    # exim -brt yahoo.com timeout_connect
    Retry rule: *  *  F,2h,15m; G,16h,1h,1.5; F,4d,8h;
    # exim -brt yahoo.com rcpt_451
    Retry rule: *  *  F,2h,15m; G,16h,1h,1.5; F,4d,8h;
    NOT PASSED!



    TEST #2

    I set this retry rules in the box BELOW the prefixed default value in the Exim Advanced Editor:
    Code:
    *                      rcpt_4xx    F,6h,15m; F,1d,1h
    *                      timeout_connect    F,6h,15m
    When you save the changes, everything is reported to be ok, although there is no reference in the summary of changes to the new retry rules being set.
    After it, if I open the /etc/exim.conf, I positively see the new rules recorded inside, BELOW the default values. :eek: Let's test if the rules are working as expected:
    Code:
    # exim -brt yahoo.com timeout_connect
    Retry rule: *  *  F,2h,15m; G,16h,1h,1.5; F,4d,8h;
    # exim -brt yahoo.com rcpt_451
    Retry rule: *  *  F,2h,15m; G,16h,1h,1.5; F,4d,8h;
    NOT PASSED!



    TEST #3

    Well, forgot the editor! Let's do it directly writing on the conf file!
    Reading the Exim online docs about rules, you'll learn that Exim obeys to the FIRST OCURRENCE of a given rule. Considering that the default value is
    Code:
    *                      *           F,2h,15m; G,16h,1h,1.5; F,4d,8h
    we know that this will apply to ALL THE MAIL BEING SENT.
    So, I'll paste retry rules ABOVE the default value in /etc/exim.conf
    Code:
    *                      rcpt_4xx    F,6h,15m; F,1d,1h
    *                      timeout_connect    F,6h,15m
    Save the changes. Let's test if the rules are working as expected:
    Code:
    # exim -brt yahoo.com timeout_connect
    Retry rule: *  timeout_connect  F,6h,15m;
    # exim -brt yahoo.com rcpt_451
    Retry rule: *  *  F,6h,15m; F,1d,1h;
    PASSED!
    (If you go now to the Exim Advanced Editor at WHM, it won't show you these rules although they are phisically present in the exim.conf file)



    What this tests check is that the Exim Advanced Editor needs to be reviewed and correct this behaviour since it is not allowing to record rules in the way it should.

    BTW, while this is not fixed, these settings must be retyped by hand at exim.conf.

    The Exim online docs I readed are:


    Any thoughts?
    May this behaviour be fixed?


    Best regards and thank you for your time.
     
  2. cPanelKenneth

    cPanelKenneth cPanel Development
    Staff Member

    Joined:
    Apr 7, 2006
    Messages:
    4,461
    Likes Received:
    22
    Trophy Points:
    38
    cPanel Access Level:
    Root Administrator
    There appears to be an error in our conf parser.

    The values you provide via the Advanced Configuration Editor are saved in /etc/exim.conf.local. Our parser than merges those with a template into a temporary file, which is then syntax checked. If the syntax check passes, then the temporary file is copied to /etc/exim.conf

    With the sample values provided, the following error is logged to /usr/local/cpanel/logs/error_log when saving:

    Code:
    Use of uninitialized value in concatenation (.) or string at /scripts/cPScript/Exim/Config.pm line 221.
    
    If you execute /scripts/buildeximconf the error will display on your console. I'll track this down and bring it to our developers attention. Thank you.
     
  3. Kent Brockman

    Kent Brockman Well-Known Member

    Joined:
    Jan 20, 2008
    Messages:
    1,130
    Likes Received:
    3
    Trophy Points:
    38
    Location:
    Buenos Aires, Argentina
    cPanel Access Level:
    Root Administrator
    Twitter:
    Cool. Thank YOU. ;)
     
Loading...

Share This Page