Re: Postfix delivery problem

2016-12-24 Thread G. Schlisio


Am 24.12.2016 um 08:40 schrieb John Fawcett:
> On 12/24/2016 01:19 AM, Wietse Venema wrote:
>> John Fawcett:
> "On success, *getpwnam_r*() and *getpwuid_r*() return zero, and set
> /*result/ to /pwd/. If no matching password record was found, these
> functions return 0 and store NULL in /*result/. In case of error, an
> error number is returned, and NULL is stored in /*result/. "
>> A zero result value mans that no error occurred; we know for certain
>> that the user exists or does not exist.
>>
>> That's almost consistent with, for example, the XOPEN standard: \
>>
>> The getpwnam_r() function shall return zero on success or if
>> the requested entry was not found AND NO ERROR HAS OCCURRED.
>> If an error has occurred, an error number shall be returned to
>> indicate the error.
>>
>> What bugs me is the text that follows later in that same Linux
>> manpage:
>>
>> ERRORS
>>
>>0 or ENOENT or ESRCH or EBADF or EPERM or ...
>>   The given name or uid was not found.
>>
>> This text makes no sense. It is in conflict with XOPEN, and with
>> the other quote from the Linux manpage.
>>
>>  Wietse
>>
> Yes, at first I read the text under ERRORS as though it was part of the
> standard, but then I realized that it is just stating what some
> implementations do in practice (which is what makes no sense).
> 
> John

very interesting ideed. i took it to the arch mailing list [0], maybe we
dig up there what changed recently with the glibc behaviour.
atm the mailing list is on chrismas hibernation but that might change at
some point.
thank you a lot for your help and information and have a nice christmas!

georg



Re: Postfix delivery problem

2016-12-24 Thread John Fawcett
On 12/24/2016 02:43 PM, G. Schlisio wrote:
>
> Am 24.12.2016 um 08:40 schrieb John Fawcett:
>> On 12/24/2016 01:19 AM, Wietse Venema wrote:
>>> John Fawcett:
>> "On success, *getpwnam_r*() and *getpwuid_r*() return zero, and set
>> /*result/ to /pwd/. If no matching password record was found, these
>> functions return 0 and store NULL in /*result/. In case of error, an
>> error number is returned, and NULL is stored in /*result/. "
>>> A zero result value mans that no error occurred; we know for certain
>>> that the user exists or does not exist.
>>>
>>> That's almost consistent with, for example, the XOPEN standard: \
>>>
>>> The getpwnam_r() function shall return zero on success or if
>>> the requested entry was not found AND NO ERROR HAS OCCURRED.
>>> If an error has occurred, an error number shall be returned to
>>> indicate the error.
>>>
>>> What bugs me is the text that follows later in that same Linux
>>> manpage:
>>>
>>> ERRORS
>>>
>>>0 or ENOENT or ESRCH or EBADF or EPERM or ...
>>>   The given name or uid was not found.
>>>
>>> This text makes no sense. It is in conflict with XOPEN, and with
>>> the other quote from the Linux manpage.
>>>
>>> Wietse
>>>
>> Yes, at first I read the text under ERRORS as though it was part of the
>> standard, but then I realized that it is just stating what some
>> implementations do in practice (which is what makes no sense).
>>
>> John
> very interesting ideed. i took it to the arch mailing list [0], maybe we
> dig up there what changed recently with the glibc behaviour.
> atm the mailing list is on chrismas hibernation but that might change at
> some point.
> thank you a lot for your help and information and have a nice christmas!
>
> georg
>
Georg

I don't think there is enough evidence at the moment to say with
certainty that any change in glibc has introduced the problem, since you
were using that for a while now without seeing issues.

I'd still be interested in knowing what output the test program gives on
the affected server. 

best wishes to you too.

John



MySQL stored-procedure support for Postfix 3.2

2016-12-24 Thread Wietse Venema
John Fawcett:
> Revised patch to improve error reporting when no result set containing
> data is returned

This code is now part of postfix-3.2-20161224-nonprod, slightly
edited to simplify error handling. I would be interested to hear
if it still works with queries that don't call a stored procedure.

Wietse