exim 4.84

classic Classic list List threaded Threaded
48 messages Options
123
Reply | Threaded
Open this post in threaded view
|

Re: exim 4.84

gldickens3
Administrator
Hi Shah,

Thanks for continuing to troubleshoot this.  Please continue to post your results.

These results make me wonder if this is a regression in exim 4.84. At some point, shouldn't we consider telling Jeremy about your results and see what he says?  Sorry, but as I said earlier, I will not be able to devote time to this for another week or so.

Gordon


On 09/26/2014 05:19 AM, Shamim Shahriar wrote:
my last diagnosis report

SA_Query = select sa_tag from users limit 1;

headers_remove = ${if or{{<{2}{1}} \
                { eq {0}{${lookup mysql{SA_Query}{$value}fail}}} \
                }{X-Spam-Score::X-Spam-Report}}

and it is working. Please note, the changes from the previous non-working one is the removal of spaces between the curly brackets -- i.e., shortening the length of the conditions. i.e., same condition with larger string-length fails.

Could someone please check and let me know if I have missed something very obvious then that will be greatly appreciated.

Thanks all
Shah

On 26 September 2014 09:56, Shamim Shahriar <[hidden email]> wrote:
Hello All

now I am even more convinced that it is not just the "lookup mysql", but the entire headers_remove is suffering. Please find below the changes I made and the results I received.

Thanks
Shah

----

change:
SA_Query = select sa_tag from users limit 1

result:
09:30:08 17194 expanding: ${lookup mysql{select sa_tag from users limit 1}{$value}fail}
09:30:08 17194    result: 2
09:30:08 17194 failed to expand: ${if or { { <{$spam_score_int}{1} } { <{$spam_score_int}{${lookup mysql{select sa_tag from users limit 1}{$value}fail}} } { eq
09:30:08 17194    error message: missing { after "eq" inside "or{...}" condition



change:
SA_Query = select sa_tag from users limit 1;

result:
09:35:35 17922 expanding: ${lookup mysql{select sa_tag from users limit 1;}{$value}fail}
09:35:35 17922    result: 2
09:35:35 17922 failed to expand: ${if or { { <{$spam_score_int}{1} } { <{$spam_score_int}{${lookup mysql{select sa_tag from users limit 1;}{$value}fail}} } { eq
09:35:35 17922    error message: missing { after "eq" inside "or{...}" condition



changed headers_remove to as below keep the SA_Query as above:
headers_remove = ${if or { { <{$spam_score_int}{1} } \
                { <{$spam_score_int}{${lookup mysql{SA_Query}{$value}fail}} } \
                } {X-Spam-Score:X-Spam-Report} }

result:
09:43:51 18778 expanding: ${lookup mysql{select sa_tag from users limit 1;}{$value}fail}
09:43:51 18778    result: 2
09:43:51 18778 condition: or { { <{$spam_score_int}{1} } { <{$spam_score_int}{${lookup mysql{select sa_tag from users limit 1;}{$value}fail}} } }
09:43:51 18778    result: false
09:43:51 18778 failed to expand: X
09:43:51 18778    error message: missing } at end of string
09:43:51 18778 failed to expand: ${if or { { <{$spam_score_int}{1} } { <{$spam_score_int}{${lookup mysql{select sa_tag from users limit 1;}{$value}fail}} } } {X
09:43:51 18778    error message: missing } at end of string



changed headers_remove to as below keep the SA_Query as above:
headers_remove = ${if or { { <{$spam_score_int}{1} } \
              { eq {0}{${lookup mysql{SA_Query}{$value}fail}}} \
                } {X-Spam-Score:X-Spam-Report} }

result:
09:49:35 19577 expanding: ${lookup mysql{select sa_tag from users limit 1;}{$value}fail}
09:49:35 19577    result: 2
09:49:35 19577 condition: or { { <{$spam_score_int}{1} } { eq {0}{${lookup mysql{select sa_tag from users limit 1;}{$value}fail}}} }
09:49:35 19577    result: false
09:49:35 19577 failed to expand: X-Spam-Score
09:49:35 19577    error message: missing } at end of string
09:49:35 19577 failed to expand: ${if or { { <{$spam_score_int}{1} } { eq {0}{${lookup mysql{select sa_tag from users limit 1;}{$value}fail}}} } {X-Spam-Score
09:49:35 19577    error message: missing } at end of string



On 25 September 2014 23:49, Shamim Shahriar <[hidden email]> wrote:
On 25/09/2014 23:17, Shamim Shahriar wrote:
On 25/09/2014 19:14, Rimas Kudelis wrote:
Hi folks,
this would make sense. It would explain why regardless of the number
of closing braces you'd add, the condition fails.
Just to make sure that it's not just logs where the cropping occurs,
could you find a working condition and break it by introducing some
random whitespace or other useless chars in it?


Rimas, you wanted to see a length change factor, sorry I forgot to add this bit.

With
SA_Query = select users.sa_tag * 10 from users,domains ;

the error is
22:48:49 16989 failed to expand: ${lookup mysql{select users.sa_tag * 10 from users,domains ;}{$value}f


and with
SA_Query = select users.sa_tag * 10 from users,domains
(the line literally ends at the last s)

the error is
23:06:44 19963 failed to expand: ${lookup mysql{select users.sa_tag * 10 from users,domains}{$value}fai


putting them together, I'd say they do exhibit the symptoms of length issues

23:06:44 19963 failed to expand: ${lookup mysql{select users.sa_tag * 10 from users,domains}{$value}fai
22:48:49 16989 failed to expand: ${lookup mysql{select users.sa_tag * 10 from users,domains ;}{$value}f


And then, I changed it to something even shorter
SA_Query = select users.sa_tag from users,domains

and that expanded to
23:30:13 23669 failed to expand: ${if or { { <{$spam_score_int}{1} } { <{$spam_score_int}{${lookup mysql{select users.sa_tag from users,domains}{$value}fail}} }
23:30:13 23669    error message: invalid integer "2

which indicates that the query part of it did work out (even though the result did not have any meaning, but the 'select' part worked) when it was shortened to an impractical (IMHO) length. I cannot think of any practical/functional query that I can fit in this short length -- but then again, I am not a sql expert, maybe someone with a better knowledge can fit that long query into this smaller space -- but I surely cannot.

Does is help in what you are looking for?

I need to turn in now. All the best
Shah





_______________________________________________
users mailing list
[hidden email]
https://exim4u.org/mailman/listinfo/users


_______________________________________________
users mailing list
[hidden email]
https://exim4u.org/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|

Re: exim 4.84

Shamim Shahriar
Hello Gordon

I'd also like to tell Jeremy about this, but since my last response to him that he counted the brackets wrong, Jeremy had been mysteriously silent to my posts. I sent several of these tests to the exim mailing list, and have not heard from him (or anyone else for that matter). I hate cross-posting, but given that some of the main developers are not in this list, while this list is better responsive than the exim list, I had been posting here first, then edit and post in exim list (you can see the thread at https://lists.exim.org/lurker/message/20140925.154709.a27f9429.en.html). If you have any alternate means to convey these findings to Jeremy, please feel free to do so. You don't even need to mention my name. I am more interested in getting a sensible solution rather than anything else -- as long as that is done in the proper way.

Thanks for the support.

Shah

On 26 September 2014 11:56, Gordon Dickens <[hidden email]> wrote:
Hi Shah,

Thanks for continuing to troubleshoot this.  Please continue to post your results.

These results make me wonder if this is a regression in exim 4.84. At some point, shouldn't we consider telling Jeremy about your results and see what he says?  Sorry, but as I said earlier, I will not be able to devote time to this for another week or so.

Gordon



On 09/26/2014 05:19 AM, Shamim Shahriar wrote:
my last diagnosis report

SA_Query = select sa_tag from users limit 1;

headers_remove = ${if or{{<{2}{1}} \
                { eq {0}{${lookup mysql{SA_Query}{$value}fail}}} \
                }{X-Spam-Score::X-Spam-Report}}

and it is working. Please note, the changes from the previous non-working one is the removal of spaces between the curly brackets -- i.e., shortening the length of the conditions. i.e., same condition with larger string-length fails.

Could someone please check and let me know if I have missed something very obvious then that will be greatly appreciated.

Thanks all
Shah

On 26 September 2014 09:56, Shamim Shahriar <[hidden email]> wrote:
Hello All

now I am even more convinced that it is not just the "lookup mysql", but the entire headers_remove is suffering. Please find below the changes I made and the results I received.

Thanks
Shah

----

change:
SA_Query = select sa_tag from users limit 1

result:
09:30:08 17194 expanding: ${lookup mysql{select sa_tag from users limit 1}{$value}fail}
09:30:08 17194    result: 2
09:30:08 17194 failed to expand: ${if or { { <{$spam_score_int}{1} } { <{$spam_score_int}{${lookup mysql{select sa_tag from users limit 1}{$value}fail}} } { eq
09:30:08 17194    error message: missing { after "eq" inside "or{...}" condition



change:
SA_Query = select sa_tag from users limit 1;

result:
09:35:35 17922 expanding: ${lookup mysql{select sa_tag from users limit 1;}{$value}fail}
09:35:35 17922    result: 2
09:35:35 17922 failed to expand: ${if or { { <{$spam_score_int}{1} } { <{$spam_score_int}{${lookup mysql{select sa_tag from users limit 1;}{$value}fail}} } { eq
09:35:35 17922    error message: missing { after "eq" inside "or{...}" condition



changed headers_remove to as below keep the SA_Query as above:
headers_remove = ${if or { { <{$spam_score_int}{1} } \
                { <{$spam_score_int}{${lookup mysql{SA_Query}{$value}fail}} } \
                } {X-Spam-Score:X-Spam-Report} }

result:
09:43:51 18778 expanding: ${lookup mysql{select sa_tag from users limit 1;}{$value}fail}
09:43:51 18778    result: 2
09:43:51 18778 condition: or { { <{$spam_score_int}{1} } { <{$spam_score_int}{${lookup mysql{select sa_tag from users limit 1;}{$value}fail}} } }
09:43:51 18778    result: false
09:43:51 18778 failed to expand: X
09:43:51 18778    error message: missing } at end of string
09:43:51 18778 failed to expand: ${if or { { <{$spam_score_int}{1} } { <{$spam_score_int}{${lookup mysql{select sa_tag from users limit 1;}{$value}fail}} } } {X
09:43:51 18778    error message: missing } at end of string



changed headers_remove to as below keep the SA_Query as above:
headers_remove = ${if or { { <{$spam_score_int}{1} } \
              { eq {0}{${lookup mysql{SA_Query}{$value}fail}}} \
                } {X-Spam-Score:X-Spam-Report} }

result:
09:49:35 19577 expanding: ${lookup mysql{select sa_tag from users limit 1;}{$value}fail}
09:49:35 19577    result: 2
09:49:35 19577 condition: or { { <{$spam_score_int}{1} } { eq {0}{${lookup mysql{select sa_tag from users limit 1;}{$value}fail}}} }
09:49:35 19577    result: false
09:49:35 19577 failed to expand: X-Spam-Score
09:49:35 19577    error message: missing } at end of string
09:49:35 19577 failed to expand: ${if or { { <{$spam_score_int}{1} } { eq {0}{${lookup mysql{select sa_tag from users limit 1;}{$value}fail}}} } {X-Spam-Score
09:49:35 19577    error message: missing } at end of string



On 25 September 2014 23:49, Shamim Shahriar <[hidden email]> wrote:
On 25/09/2014 23:17, Shamim Shahriar wrote:
On 25/09/2014 19:14, Rimas Kudelis wrote:
Hi folks,
this would make sense. It would explain why regardless of the number
of closing braces you'd add, the condition fails.
Just to make sure that it's not just logs where the cropping occurs,
could you find a working condition and break it by introducing some
random whitespace or other useless chars in it?


Rimas, you wanted to see a length change factor, sorry I forgot to add this bit.

With
SA_Query = select users.sa_tag * 10 from users,domains ;

the error is
22:48:49 16989 failed to expand: ${lookup mysql{select users.sa_tag * 10 from users,domains ;}{$value}f


and with
SA_Query = select users.sa_tag * 10 from users,domains
(the line literally ends at the last s)

the error is
23:06:44 19963 failed to expand: ${lookup mysql{select users.sa_tag * 10 from users,domains}{$value}fai


putting them together, I'd say they do exhibit the symptoms of length issues

23:06:44 19963 failed to expand: ${lookup mysql{select users.sa_tag * 10 from users,domains}{$value}fai
22:48:49 16989 failed to expand: ${lookup mysql{select users.sa_tag * 10 from users,domains ;}{$value}f


And then, I changed it to something even shorter
SA_Query = select users.sa_tag from users,domains

and that expanded to
23:30:13 23669 failed to expand: ${if or { { <{$spam_score_int}{1} } { <{$spam_score_int}{${lookup mysql{select users.sa_tag from users,domains}{$value}fail}} }
23:30:13 23669    error message: invalid integer "2

which indicates that the query part of it did work out (even though the result did not have any meaning, but the 'select' part worked) when it was shortened to an impractical (IMHO) length. I cannot think of any practical/functional query that I can fit in this short length -- but then again, I am not a sql expert, maybe someone with a better knowledge can fit that long query into this smaller space -- but I surely cannot.

Does is help in what you are looking for?

I need to turn in now. All the best
Shah





_______________________________________________
users mailing list
[hidden email]
https://exim4u.org/mailman/listinfo/users


_______________________________________________
users mailing list
[hidden email]
https://exim4u.org/mailman/listinfo/users



_______________________________________________
users mailing list
[hidden email]
https://exim4u.org/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|

Re: exim 4.84

gldickens3
Administrator
Thanks to Shah's persistence, the headers_remove problem has now been identified as a bug in Exim 4.83/4.84.  I noticed an exchange between Jeremy and Shah on the exim-user list yesterday. See this email from Jeremy to the exim-user list:

https://lists.exim.org/lurker/message/20141005.202139.c8520628.en.html

Here is the bug report:

http://bugs.exim.org/show_bug.cgi?id=1533

Notice in the bug report that they are targeting to have it fixed in Exim 3.85.

FYI,

Gordon


On 09/26/2014 07:52 AM, Shamim Shahriar wrote:
Hello Gordon

I'd also like to tell Jeremy about this, but since my last response to him that he counted the brackets wrong, Jeremy had been mysteriously silent to my posts. I sent several of these tests to the exim mailing list, and have not heard from him (or anyone else for that matter). I hate cross-posting, but given that some of the main developers are not in this list, while this list is better responsive than the exim list, I had been posting here first, then edit and post in exim list (you can see the thread at https://lists.exim.org/lurker/message/20140925.154709.a27f9429.en.html). If you have any alternate means to convey these findings to Jeremy, please feel free to do so. You don't even need to mention my name. I am more interested in getting a sensible solution rather than anything else -- as long as that is done in the proper way.

Thanks for the support.

Shah

On 26 September 2014 11:56, Gordon Dickens <[hidden email]> wrote:
Hi Shah,

Thanks for continuing to troubleshoot this.  Please continue to post your results.

These results make me wonder if this is a regression in exim 4.84. At some point, shouldn't we consider telling Jeremy about your results and see what he says?  Sorry, but as I said earlier, I will not be able to devote time to this for another week or so.

Gordon



On 09/26/2014 05:19 AM, Shamim Shahriar wrote:
my last diagnosis report

SA_Query = select sa_tag from users limit 1;

headers_remove = ${if or{{<{2}{1}} \
                { eq {0}{${lookup mysql{SA_Query}{$value}fail}}} \
                }{X-Spam-Score::X-Spam-Report}}

and it is working. Please note, the changes from the previous non-working one is the removal of spaces between the curly brackets -- i.e., shortening the length of the conditions. i.e., same condition with larger string-length fails.

Could someone please check and let me know if I have missed something very obvious then that will be greatly appreciated.

Thanks all
Shah

On 26 September 2014 09:56, Shamim Shahriar <[hidden email]> wrote:
Hello All

now I am even more convinced that it is not just the "lookup mysql", but the entire headers_remove is suffering. Please find below the changes I made and the results I received.

Thanks
Shah

----

change:
SA_Query = select sa_tag from users limit 1

result:
09:30:08 17194 expanding: ${lookup mysql{select sa_tag from users limit 1}{$value}fail}
09:30:08 17194    result: 2
09:30:08 17194 failed to expand: ${if or { { <{$spam_score_int}{1} } { <{$spam_score_int}{${lookup mysql{select sa_tag from users limit 1}{$value}fail}} } { eq
09:30:08 17194    error message: missing { after "eq" inside "or{...}" condition



change:
SA_Query = select sa_tag from users limit 1;

result:
09:35:35 17922 expanding: ${lookup mysql{select sa_tag from users limit 1;}{$value}fail}
09:35:35 17922    result: 2
09:35:35 17922 failed to expand: ${if or { { <{$spam_score_int}{1} } { <{$spam_score_int}{${lookup mysql{select sa_tag from users limit 1;}{$value}fail}} } { eq
09:35:35 17922    error message: missing { after "eq" inside "or{...}" condition



changed headers_remove to as below keep the SA_Query as above:
headers_remove = ${if or { { <{$spam_score_int}{1} } \
                { <{$spam_score_int}{${lookup mysql{SA_Query}{$value}fail}} } \
                } {X-Spam-Score:X-Spam-Report} }

result:
09:43:51 18778 expanding: ${lookup mysql{select sa_tag from users limit 1;}{$value}fail}
09:43:51 18778    result: 2
09:43:51 18778 condition: or { { <{$spam_score_int}{1} } { <{$spam_score_int}{${lookup mysql{select sa_tag from users limit 1;}{$value}fail}} } }
09:43:51 18778    result: false
09:43:51 18778 failed to expand: X
09:43:51 18778    error message: missing } at end of string
09:43:51 18778 failed to expand: ${if or { { <{$spam_score_int}{1} } { <{$spam_score_int}{${lookup mysql{select sa_tag from users limit 1;}{$value}fail}} } } {X
09:43:51 18778    error message: missing } at end of string



changed headers_remove to as below keep the SA_Query as above:
headers_remove = ${if or { { <{$spam_score_int}{1} } \
              { eq {0}{${lookup mysql{SA_Query}{$value}fail}}} \
                } {X-Spam-Score:X-Spam-Report} }

result:
09:49:35 19577 expanding: ${lookup mysql{select sa_tag from users limit 1;}{$value}fail}
09:49:35 19577    result: 2
09:49:35 19577 condition: or { { <{$spam_score_int}{1} } { eq {0}{${lookup mysql{select sa_tag from users limit 1;}{$value}fail}}} }
09:49:35 19577    result: false
09:49:35 19577 failed to expand: X-Spam-Score
09:49:35 19577    error message: missing } at end of string
09:49:35 19577 failed to expand: ${if or { { <{$spam_score_int}{1} } { eq {0}{${lookup mysql{select sa_tag from users limit 1;}{$value}fail}}} } {X-Spam-Score
09:49:35 19577    error message: missing } at end of string



On 25 September 2014 23:49, Shamim Shahriar <[hidden email]> wrote:
On 25/09/2014 23:17, Shamim Shahriar wrote:
On 25/09/2014 19:14, Rimas Kudelis wrote:
Hi folks,
this would make sense. It would explain why regardless of the number
of closing braces you'd add, the condition fails.
Just to make sure that it's not just logs where the cropping occurs,
could you find a working condition and break it by introducing some
random whitespace or other useless chars in it?


Rimas, you wanted to see a length change factor, sorry I forgot to add this bit.

With
SA_Query = select users.sa_tag * 10 from users,domains ;

the error is
22:48:49 16989 failed to expand: ${lookup mysql{select users.sa_tag * 10 from users,domains ;}{$value}f


and with
SA_Query = select users.sa_tag * 10 from users,domains
(the line literally ends at the last s)

the error is
23:06:44 19963 failed to expand: ${lookup mysql{select users.sa_tag * 10 from users,domains}{$value}fai


putting them together, I'd say they do exhibit the symptoms of length issues

23:06:44 19963 failed to expand: ${lookup mysql{select users.sa_tag * 10 from users,domains}{$value}fai
22:48:49 16989 failed to expand: ${lookup mysql{select users.sa_tag * 10 from users,domains ;}{$value}f


And then, I changed it to something even shorter
SA_Query = select users.sa_tag from users,domains

and that expanded to
23:30:13 23669 failed to expand: ${if or { { <{$spam_score_int}{1} } { <{$spam_score_int}{${lookup mysql{select users.sa_tag from users,domains}{$value}fail}} }
23:30:13 23669    error message: invalid integer "2

which indicates that the query part of it did work out (even though the result did not have any meaning, but the 'select' part worked) when it was shortened to an impractical (IMHO) length. I cannot think of any practical/functional query that I can fit in this short length -- but then again, I am not a sql expert, maybe someone with a better knowledge can fit that long query into this smaller space -- but I surely cannot.

Does is help in what you are looking for?

I need to turn in now. All the best
Shah





_______________________________________________
users mailing list
[hidden email]
https://exim4u.org/mailman/listinfo/users


_______________________________________________
users mailing list
[hidden email]
https://exim4u.org/mailman/listinfo/users




_______________________________________________
users mailing list
[hidden email]
https://exim4u.org/mailman/listinfo/users


_______________________________________________
users mailing list
[hidden email]
https://exim4u.org/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|

Re: exim 4.84

gldickens3
Administrator
Oops, I dumb thumbed the last email....   I meant to say that the fix is targeted for Exim 4.85 and NOT 3.85.

Gordon



On 10/06/2014 08:39 AM, Gordon Dickens wrote:
Thanks to Shah's persistence, the headers_remove problem has now been identified as a bug in Exim 4.83/4.84.  I noticed an exchange between Jeremy and Shah on the exim-user list yesterday. See this email from Jeremy to the exim-user list:

https://lists.exim.org/lurker/message/20141005.202139.c8520628.en.html

Here is the bug report:

http://bugs.exim.org/show_bug.cgi?id=1533

Notice in the bug report that they are targeting to have it fixed in Exim 3.85.

FYI,

Gordon


On 09/26/2014 07:52 AM, Shamim Shahriar wrote:
Hello Gordon

I'd also like to tell Jeremy about this, but since my last response to him that he counted the brackets wrong, Jeremy had been mysteriously silent to my posts. I sent several of these tests to the exim mailing list, and have not heard from him (or anyone else for that matter). I hate cross-posting, but given that some of the main developers are not in this list, while this list is better responsive than the exim list, I had been posting here first, then edit and post in exim list (you can see the thread at https://lists.exim.org/lurker/message/20140925.154709.a27f9429.en.html). If you have any alternate means to convey these findings to Jeremy, please feel free to do so. You don't even need to mention my name. I am more interested in getting a sensible solution rather than anything else -- as long as that is done in the proper way.

Thanks for the support.

Shah

On 26 September 2014 11:56, Gordon Dickens <[hidden email]> wrote:
Hi Shah,

Thanks for continuing to troubleshoot this.  Please continue to post your results.

These results make me wonder if this is a regression in exim 4.84. At some point, shouldn't we consider telling Jeremy about your results and see what he says?  Sorry, but as I said earlier, I will not be able to devote time to this for another week or so.

Gordon



On 09/26/2014 05:19 AM, Shamim Shahriar wrote:
my last diagnosis report

SA_Query = select sa_tag from users limit 1;

headers_remove = ${if or{{<{2}{1}} \
                { eq {0}{${lookup mysql{SA_Query}{$value}fail}}} \
                }{X-Spam-Score::X-Spam-Report}}

and it is working. Please note, the changes from the previous non-working one is the removal of spaces between the curly brackets -- i.e., shortening the length of the conditions. i.e., same condition with larger string-length fails.

Could someone please check and let me know if I have missed something very obvious then that will be greatly appreciated.

Thanks all
Shah

On 26 September 2014 09:56, Shamim Shahriar <[hidden email]> wrote:
Hello All

now I am even more convinced that it is not just the "lookup mysql", but the entire headers_remove is suffering. Please find below the changes I made and the results I received.

Thanks
Shah

----

change:
SA_Query = select sa_tag from users limit 1

result:
09:30:08 17194 expanding: ${lookup mysql{select sa_tag from users limit 1}{$value}fail}
09:30:08 17194    result: 2
09:30:08 17194 failed to expand: ${if or { { <{$spam_score_int}{1} } { <{$spam_score_int}{${lookup mysql{select sa_tag from users limit 1}{$value}fail}} } { eq
09:30:08 17194    error message: missing { after "eq" inside "or{...}" condition



change:
SA_Query = select sa_tag from users limit 1;

result:
09:35:35 17922 expanding: ${lookup mysql{select sa_tag from users limit 1;}{$value}fail}
09:35:35 17922    result: 2
09:35:35 17922 failed to expand: ${if or { { <{$spam_score_int}{1} } { <{$spam_score_int}{${lookup mysql{select sa_tag from users limit 1;}{$value}fail}} } { eq
09:35:35 17922    error message: missing { after "eq" inside "or{...}" condition



changed headers_remove to as below keep the SA_Query as above:
headers_remove = ${if or { { <{$spam_score_int}{1} } \
                { <{$spam_score_int}{${lookup mysql{SA_Query}{$value}fail}} } \
                } {X-Spam-Score:X-Spam-Report} }

result:
09:43:51 18778 expanding: ${lookup mysql{select sa_tag from users limit 1;}{$value}fail}
09:43:51 18778    result: 2
09:43:51 18778 condition: or { { <{$spam_score_int}{1} } { <{$spam_score_int}{${lookup mysql{select sa_tag from users limit 1;}{$value}fail}} } }
09:43:51 18778    result: false
09:43:51 18778 failed to expand: X
09:43:51 18778    error message: missing } at end of string
09:43:51 18778 failed to expand: ${if or { { <{$spam_score_int}{1} } { <{$spam_score_int}{${lookup mysql{select sa_tag from users limit 1;}{$value}fail}} } } {X
09:43:51 18778    error message: missing } at end of string



changed headers_remove to as below keep the SA_Query as above:
headers_remove = ${if or { { <{$spam_score_int}{1} } \
              { eq {0}{${lookup mysql{SA_Query}{$value}fail}}} \
                } {X-Spam-Score:X-Spam-Report} }

result:
09:49:35 19577 expanding: ${lookup mysql{select sa_tag from users limit 1;}{$value}fail}
09:49:35 19577    result: 2
09:49:35 19577 condition: or { { <{$spam_score_int}{1} } { eq {0}{${lookup mysql{select sa_tag from users limit 1;}{$value}fail}}} }
09:49:35 19577    result: false
09:49:35 19577 failed to expand: X-Spam-Score
09:49:35 19577    error message: missing } at end of string
09:49:35 19577 failed to expand: ${if or { { <{$spam_score_int}{1} } { eq {0}{${lookup mysql{select sa_tag from users limit 1;}{$value}fail}}} } {X-Spam-Score
09:49:35 19577    error message: missing } at end of string



On 25 September 2014 23:49, Shamim Shahriar <[hidden email]> wrote:
On 25/09/2014 23:17, Shamim Shahriar wrote:
On 25/09/2014 19:14, Rimas Kudelis wrote:
Hi folks,
this would make sense. It would explain why regardless of the number
of closing braces you'd add, the condition fails.
Just to make sure that it's not just logs where the cropping occurs,
could you find a working condition and break it by introducing some
random whitespace or other useless chars in it?


Rimas, you wanted to see a length change factor, sorry I forgot to add this bit.

With
SA_Query = select users.sa_tag * 10 from users,domains ;

the error is
22:48:49 16989 failed to expand: ${lookup mysql{select users.sa_tag * 10 from users,domains ;}{$value}f


and with
SA_Query = select users.sa_tag * 10 from users,domains
(the line literally ends at the last s)

the error is
23:06:44 19963 failed to expand: ${lookup mysql{select users.sa_tag * 10 from users,domains}{$value}fai


putting them together, I'd say they do exhibit the symptoms of length issues

23:06:44 19963 failed to expand: ${lookup mysql{select users.sa_tag * 10 from users,domains}{$value}fai
22:48:49 16989 failed to expand: ${lookup mysql{select users.sa_tag * 10 from users,domains ;}{$value}f


And then, I changed it to something even shorter
SA_Query = select users.sa_tag from users,domains

and that expanded to
23:30:13 23669 failed to expand: ${if or { { <{$spam_score_int}{1} } { <{$spam_score_int}{${lookup mysql{select users.sa_tag from users,domains}{$value}fail}} }
23:30:13 23669    error message: invalid integer "2

which indicates that the query part of it did work out (even though the result did not have any meaning, but the 'select' part worked) when it was shortened to an impractical (IMHO) length. I cannot think of any practical/functional query that I can fit in this short length -- but then again, I am not a sql expert, maybe someone with a better knowledge can fit that long query into this smaller space -- but I surely cannot.

Does is help in what you are looking for?

I need to turn in now. All the best
Shah





_______________________________________________
users mailing list
[hidden email]
https://exim4u.org/mailman/listinfo/users


_______________________________________________
users mailing list
[hidden email]
https://exim4u.org/mailman/listinfo/users




_______________________________________________
users mailing list
[hidden email]
https://exim4u.org/mailman/listinfo/users



_______________________________________________
users mailing list
[hidden email]
https://exim4u.org/mailman/listinfo/users


_______________________________________________
users mailing list
[hidden email]
https://exim4u.org/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|

Re: exim 4.84

Rimas Kudelis
In reply to this post by gldickens3
Great news, Gordon! Thanks for the info!

Rimas

2014.10.06 15:39, Gordon Dickens wrote:

> Thanks to Shah's persistence, the headers_remove problem has now been
> identified as a bug in Exim 4.83/4.84.  I noticed an exchange between
> Jeremy and Shah on the exim-user list yesterday. See this email from
> Jeremy to the exim-user list:
>
> https://lists.exim.org/lurker/message/20141005.202139.c8520628.en.html
>
> Here is the bug report:
>
> http://bugs.exim.org/show_bug.cgi?id=1533
>
> Notice in the bug report that they are targeting to have it fixed in
> Exim 3.85.
>
> FYI,
>
> Gordon
>
>
> On 09/26/2014 07:52 AM, Shamim Shahriar wrote:
>> Hello Gordon
>>
>> I'd also like to tell Jeremy about this, but since my last response
>> to him that he counted the brackets wrong, Jeremy had been
>> mysteriously silent to my posts. I sent several of these tests to the
>> exim mailing list, and have not heard from him (or anyone else for
>> that matter). I hate cross-posting, but given that some of the main
>> developers are not in this list, while this list is better responsive
>> than the exim list, I had been posting here first, then edit and post
>> in exim list (you can see the thread at
>> https://lists.exim.org/lurker/message/20140925.154709.a27f9429.en.html).
>> If you have any alternate means to convey these findings to Jeremy,
>> please feel free to do so. You don't even need to mention my name. I
>> am more interested in getting a sensible solution rather than
>> anything else -- as long as that is done in the proper way.
>>
>> Thanks for the support.
>>
>> Shah
>>
>> On 26 September 2014 11:56, Gordon Dickens <[hidden email]
>> <mailto:[hidden email]>> wrote:
>>
>>     Hi Shah,
>>
>>     Thanks for continuing to troubleshoot this.  Please continue to
>>     post your results.
>>
>>     These results make me wonder if this is a regression in exim
>>     4.84. At some point, shouldn't we consider telling Jeremy about
>>     your results and see what he says?  Sorry, but as I said earlier,
>>     I will not be able to devote time to this for another week or so.
>>
>>     Gordon
>>
>>
>>
>>     On 09/26/2014 05:19 AM, Shamim Shahriar wrote:
>>>     my last diagnosis report
>>>
>>>     SA_Query = select sa_tag from users limit 1;
>>>
>>>     headers_remove = ${if or{{<{2}{1}} \
>>>                     { eq {0}{${lookup mysql{SA_Query}{$value}fail}}} \
>>>                     }{X-Spam-Score::X-Spam-Report}}
>>>
>>>     and it is working. Please note, the changes from the previous
>>>     non-working one is the removal of spaces between the curly
>>>     brackets -- i.e., shortening the length of the conditions. i.e.,
>>>     same condition with larger string-length fails.
>>>
>>>     Could someone please check and let me know if I have missed
>>>     something very obvious then that will be greatly appreciated.
>>>
>>>     Thanks all
>>>     Shah
>>>
>>>     On 26 September 2014 09:56, Shamim Shahriar
>>>     <[hidden email] <mailto:[hidden email]>>
>>>     wrote:
>>>
>>>         Hello All
>>>
>>>         now I am even more convinced that it is not just the "lookup
>>>         mysql", but the entire headers_remove is suffering. Please
>>>         find below the changes I made and the results I received.
>>>
>>>         Thanks
>>>         Shah
>>>
>>>         ----
>>>
>>>         change:
>>>         SA_Query = select sa_tag from users limit 1
>>>
>>>         result:
>>>         09:30:08 17194 expanding: ${lookup mysql{select sa_tag from
>>>         users limit 1}{$value}fail}
>>>         09:30:08 17194    result: 2
>>>         09:30:08 17194 failed to expand: ${if or { {
>>>         <{$spam_score_int}{1} } { <{$spam_score_int}{${lookup
>>>         mysql{select sa_tag from users limit 1}{$value}fail}} } { eq
>>>         09:30:08 17194    error message: missing { after "eq" inside
>>>         "or{...}" condition
>>>
>>>
>>>
>>>         change:
>>>         SA_Query = select sa_tag from users limit 1;
>>>
>>>         result:
>>>         09:35:35 17922 expanding: ${lookup mysql{select sa_tag from
>>>         users limit 1;}{$value}fail}
>>>         09:35:35 17922    result: 2
>>>         09:35:35 17922 failed to expand: ${if or { {
>>>         <{$spam_score_int}{1} } { <{$spam_score_int}{${lookup
>>>         mysql{select sa_tag from users limit 1;}{$value}fail}} } { eq
>>>         09:35:35 17922    error message: missing { after "eq" inside
>>>         "or{...}" condition
>>>
>>>
>>>
>>>         changed headers_remove to as below keep the SA_Query as above:
>>>         headers_remove = ${if or { { <{$spam_score_int}{1} } \
>>>                         { <{$spam_score_int}{${lookup
>>>         mysql{SA_Query}{$value}fail}} } \
>>>                         } {X-Spam-Score:X-Spam-Report} }
>>>
>>>         result:
>>>         09:43:51 18778 expanding: ${lookup mysql{select sa_tag from
>>>         users limit 1;}{$value}fail}
>>>         09:43:51 18778    result: 2
>>>         09:43:51 18778 condition: or { { <{$spam_score_int}{1} } {
>>>         <{$spam_score_int}{${lookup mysql{select sa_tag from users
>>>         limit 1;}{$value}fail}} } }
>>>         09:43:51 18778    result: false
>>>         09:43:51 18778 failed to expand: X
>>>         09:43:51 18778    error message: missing } at end of string
>>>         09:43:51 18778 failed to expand: ${if or { {
>>>         <{$spam_score_int}{1} } { <{$spam_score_int}{${lookup
>>>         mysql{select sa_tag from users limit 1;}{$value}fail}} } } {X
>>>         09:43:51 18778    error message: missing } at end of string
>>>
>>>
>>>
>>>         changed headers_remove to as below keep the SA_Query as above:
>>>         headers_remove = ${if or { { <{$spam_score_int}{1} } \
>>>                       { eq {0}{${lookup mysql{SA_Query}{$value}fail}}} \
>>>                         } {X-Spam-Score:X-Spam-Report} }
>>>
>>>         result:
>>>         09:49:35 19577 expanding: ${lookup mysql{select sa_tag from
>>>         users limit 1;}{$value}fail}
>>>         09:49:35 19577    result: 2
>>>         09:49:35 19577 condition: or { { <{$spam_score_int}{1} } {
>>>         eq {0}{${lookup mysql{select sa_tag from users limit
>>>         1;}{$value}fail}}} }
>>>         09:49:35 19577    result: false
>>>         09:49:35 19577 failed to expand: X-Spam-Score
>>>         09:49:35 19577    error message: missing } at end of string
>>>         09:49:35 19577 failed to expand: ${if or { {
>>>         <{$spam_score_int}{1} } { eq {0}{${lookup mysql{select
>>>         sa_tag from users limit 1;}{$value}fail}}} } {X-Spam-Score
>>>         09:49:35 19577    error message: missing } at end of string
>>>
>>>
>>>
>>>         On 25 September 2014 23:49, Shamim Shahriar
>>>         <[hidden email]
>>>         <mailto:[hidden email]>> wrote:
>>>
>>>             On 25/09/2014 23:17, Shamim Shahriar wrote:
>>>>             On 25/09/2014 19:14, Rimas Kudelis wrote:
>>>>>             Hi folks,
>>>>>             this would make sense. It would explain why regardless of the number
>>>>>             of closing braces you'd add, the condition fails.
>>>>>             Just to make sure that it's not just logs where the cropping occurs,
>>>>>             could you find a working condition and break it by introducing some
>>>>>             random whitespace or other useless chars in it?
>>>>>
>>>>
>>>             Rimas, you wanted to see a length change factor, sorry I
>>>             forgot to add this bit.
>>>
>>>             With
>>>             SA_Query = select users.sa_tag * 10 from users,domains ;
>>>
>>>             the error is
>>>             22:48:49 16989 failed to expand: ${lookup mysql{select
>>>             users.sa_tag * 10 from users,domains ;}{$value}f
>>>
>>>
>>>             and with
>>>             SA_Query = select users.sa_tag * 10 from users,domains
>>>             (the line literally ends at the last s)
>>>
>>>             the error is
>>>             23:06:44 19963 failed to expand: ${lookup mysql{select
>>>             users.sa_tag * 10 from users,domains}{$value}fai
>>>
>>>
>>>             putting them together, I'd say they do exhibit the
>>>             symptoms of length issues
>>>
>>>             23:06:44 19963 failed to expand: ${lookup mysql{select
>>>             users.sa_tag * 10 from users,domains}{$value}fai
>>>             22:48:49 16989 failed to expand: ${lookup mysql{select
>>>             users.sa_tag * 10 from users,domains ;}{$value}f
>>>
>>>
>>>             And then, I changed it to something even shorter
>>>             SA_Query = select users.sa_tag from users,domains
>>>
>>>             and that expanded to
>>>             23:30:13 23669 failed to expand: ${if or { {
>>>             <{$spam_score_int}{1} } { <{$spam_score_int}{${lookup
>>>             mysql{select users.sa_tag from
>>>             users,domains}{$value}fail}} }
>>>             23:30:13 23669    error message: invalid integer "2
>>>
>>>             which indicates that the query part of it /did/ work out
>>>             (even though the result did not have any meaning, but
>>>             the 'select' part worked) when it was shortened to an
>>>             impractical (IMHO) length. I cannot think of any
>>>             practical/functional query that I can fit in this short
>>>             length -- but then again, I am not a sql expert, maybe
>>>             someone with a better knowledge can fit that long query
>>>             into this smaller space -- but I surely cannot.
>>>
>>>             Does is help in what you are looking for?
>>>
>>>             I need to turn in now. All the best
>>>             Shah
>>>
>>>


_______________________________________________
users mailing list
[hidden email]
https://exim4u.org/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|

Re: exim 4.84

gldickens3
Administrator
Hey Rimas, Shah, Harald and other FreeBSD Exim4u/Vexim users,

I noticed that Exim 4.85 has been released and is available in FreeBSD
10.1.  Has anybody tested it for the headers_remove problem?  I have
installed and tested the Exim4U exim configuration file with Exim 4.85
on FreeBSD 10.1 and have been unable to get it to work with either one
or two colons in the hearders_remove statement.

Here are my results so far:

For the stock headers_remove clause with single colons as follows:

headers_remove = ${if >={$acl_m_spamscore}{${lookup mysql{select
users.sa_tag * 10 from users,domains \
                 where localpart = '${quote_mysql:$local_part}' \
                 and domain = '${quote_mysql:$domain}' \
                 and users.on_spamassassin = '1' \
                 and users.domain_id=domains.domain_id }{$value}fail}} \
                 {Subject}{${if eq{SPAMHEADERTYPE}{0}{X-Spam-Report}}}  \
                 }

"exim -bd -d -oX 25" yields:

96889   message: virtual_domains router failed to expand "${if
 >={$acl_m_spamscore}{${lookup mysql{select users.sa_tag * 10 from
users,domains where localpart = '${quote_mysql:$local_part}' and domain
= '${quote_mysql:$domain}' and users.on_spamassassin = '1' and
users.domain_id=domains.domain_id }{$value}fail}} {Subject}{${if
eq{${lookup{SpamHeaderType}lsearch{/etc/exim/exim4u_global_spam_virus}}}{0}{X-Spam-Report}}}
}": "${quote_mysql" is not a known operator (or a } is missing in a
variable reference)
96889 ----------- end verify ------------
96889 accept: condition test deferred in ACL "acl_check_rcpt"
96889 SMTP>> 451 Temporary local problem - please try later

Then, when I use double colons as follows:

headers_remove = ${if >={$acl_m_spamscore}{${lookup mysql{select
users.sa_tag * 10 from users,domains \
                 where localpart = '${quote_mysql::$local_part}' \
                 and domain = '${quote_mysql::$domain}' \
                 and users.on_spamassassin = '1' \
                 and users.domain_id=domains.domain_id }{$value}fail}} \
                 {Subject}{${if eq{SPAMHEADERTYPE}{0}{X-Spam-Report}}}  \
                 }

"exim -bd -d -oX 25" yields:

97120   message: virtual_domains router failed to expand "${if
 >={$acl_m_spamscore}{${lookup mysql{select users.sa_tag * 10 from
users,domains where localpart = '${quote_mysql::$local_part}' and domain
= '${quote_mysql::$domain}' and users.on_spamassassin = '1' and
users.domain_id=domains.domain_id }{$value}fail}} {Subject}{${if
eq{${lookup{SpamHeaderType}lsearch{/etc/exim/exim4u_global_spam_virus}}}{0}{X-Spam-Report}}}
}": unknown variable name "local_pa"
97120 ----------- end verify ------------
97120 accept: condition test deferred in ACL "acl_check_rcpt"
97120 SMTP>> 451 Temporary local problem - please try later

So, in summary, with one colon, I get: "${quote_mysql" is not a known
operator (or a } is missing in a variable reference) and with two
colons, I get: unknown variable name "local_pa".

Does anybody see anything wrong with my tests?

Please let me know.  I want to report this on  the exim.org user mailing
list, however, I would like you guys to vet my testing before I get the
exim developers involved.

Thanks,

Gordon

_______________________________________________
users mailing list
[hidden email]
https://exim4u.org/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|

Re: exim 4.84

Shamim Shahriar

On 22/01/2015 07:25, Gordon Dickens wrote:

> Hey Rimas, Shah, Harald and other FreeBSD Exim4u/Vexim users,
>
> I noticed that Exim 4.85 has been released and is available in FreeBSD
> 10.1.  Has anybody tested it for the headers_remove problem?  I have
> installed and tested the Exim4U exim configuration file with Exim 4.85
> on FreeBSD 10.1 and have been unable to get it to work with either one
> or two colons in the hearders_remove statement.
>
> Here are my results so far:
>
Hello Gordon

Sorry for the late response -- have come down with flue and am trying to
rest as much as I can.

I can confirm, with FreeBSD 10.1 and Exim 4.85, the problem persists. I
have not done extensive tests -- I left it for next week due to other
priorities. But the little I have seen on my test box it appears that
the length of the query is still an issue (or may not have been addressed).

Once I get some time I will run some tests and send the results back to
the list.

Thanks and regards
Shah

_______________________________________________
users mailing list
[hidden email]
https://exim4u.org/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|

Re: exim 4.84

gldickens3
Administrator
Hi Shah,

Thanks for your reply and confirming that Exim 4.85 has not fixed our
problem.  I will be interested to hear what you conclude after your
testing.

Thanks again!

Gordon


On 01/22/2015 02:10 PM, Shamim Shahriar wrote:

> On 22/01/2015 07:25, Gordon Dickens wrote:
>> Hey Rimas, Shah, Harald and other FreeBSD Exim4u/Vexim users,
>>
>> I noticed that Exim 4.85 has been released and is available in FreeBSD
>> 10.1.  Has anybody tested it for the headers_remove problem?  I have
>> installed and tested the Exim4U exim configuration file with Exim 4.85
>> on FreeBSD 10.1 and have been unable to get it to work with either one
>> or two colons in the hearders_remove statement.
>>
>> Here are my results so far:
>>
> Hello Gordon
>
> Sorry for the late response -- have come down with flue and am trying to
> rest as much as I can.
>
> I can confirm, with FreeBSD 10.1 and Exim 4.85, the problem persists. I
> have not done extensive tests -- I left it for next week due to other
> priorities. But the little I have seen on my test box it appears that
> the length of the query is still an issue (or may not have been addressed).
>
> Once I get some time I will run some tests and send the results back to
> the list.
>
> Thanks and regards
> Shah
>
> _______________________________________________
> users mailing list
> [hidden email]
> https://exim4u.org/mailman/listinfo/users


_______________________________________________
users mailing list
[hidden email]
https://exim4u.org/mailman/listinfo/users
123