Re: pgsql: Skip some permissions checks on Cygwin

Поиск
Список
Период
Сортировка
От Andrew Dunstan
Тема Re: pgsql: Skip some permissions checks on Cygwin
Дата
Msg-id 184ccf22-2503-4b41-be3b-1a59c11eef11@dunslane.net
обсуждение исходный текст
Ответ на Re: pgsql: Skip some permissions checks on Cygwin  (Marco Atzeri <marco.atzeri@gmail.com>)
Список pgsql-committers
On 2024-06-24 Mo 6:43 PM, Marco Atzeri wrote:
> On 24/06/2024 22:58, Andrew Dunstan wrote:
>>
>> On 2024-06-24 Mo 4:42 PM, Noah Misch wrote:
>>> On Mon, Jun 24, 2024 at 10:17:32AM -0400, Andrew Dunstan wrote:
>>>> On 2024-06-23 Su 9:03 PM, Noah Misch wrote:
>>>>> On Thu, Jun 13, 2024 at 12:12:29PM +0000, Andrew Dunstan wrote:
>>>>>> Skip some permissions checks on Cygwin
>>>>>>
>>>>>> These are checks that are already skipped on other Windows systems.
>>>>>>        skip "unix-style permissions not supported on Windows", 2
>>>>>> -      if ($windows_os);
>>>>>> +      if ($windows_os || $Config::Config{osname} eq 'cygwin');
>>>>>> -    skip "group access not supported on Windows", 3 if 
>>>>>> ($windows_os);
>>>>>> +    skip "group access not supported on Windows", 3
>>>>>> +      if ($windows_os || $Config::Config{osname} eq 'cygwin');
>>>>> Cygwin does support Unix-style permissions, so I'm not following 
>>>>> the rationale
>>>>> for this change.  Can you say more?
>>>> It seems to have some difficulties with group permissions in some 
>>>> cases. I
>>>> improved the error message a bit, and got a bunch that all look 
>>>> like this:
>>>>
>>>>
build/testrun/initdb/001_initdb/log/regress_log_001_initdb:*main::STDERR/home/Administrator/postgresql/build/testrun/initdb/001_initdb/data/tmp_test_qlhf/data_group/global/6303

>>>>
>>>> mode must be 0640, not 0600
>>>>
build/testrun/initdb/001_initdb/log/regress_log_001_initdb:*main::STDERR/home/Administrator/postgresql/build/testrun/initdb/001_initdb/data/tmp_test_qlhf/data_group/global/pg_control

>>>>
>>>> mode must be 0640, not 0600
>>>>
build/testrun/initdb/001_initdb/log/regress_log_001_initdb:*main::STDERR/home/Administrator/postgresql/build/testrun/initdb/001_initdb/data/tmp_test_qlhf/data_group/global/pg_filenode.map

>>>>
>>>> mode must be 0640, not 0600
>>>>
build/testrun/initdb/001_initdb/log/regress_log_001_initdb:*main::STDERR/home/Administrator/postgresql/build/testrun/initdb/001_initdb/data/tmp_test_qlhf/data_group/base/5

>>>>
>>>> mode must be 0750, not 0000000000000000000000000000000000000700
>>>>
build/testrun/initdb/001_initdb/log/regress_log_001_initdb:*main::STDERR/home/Administrator/postgresql/build/testrun/initdb/001_initdb/data/tmp_test_qlhf/data_group/base/5/112

>>>>
>>>> mode must be 0640, not 0600
>>>>
build/testrun/initdb/001_initdb/log/regress_log_001_initdb:*main::STDERR/home/Administrator/postgresql/build/testrun/initdb/001_initdb/data/tmp_test_qlhf/data_group/base/5/113

>>>>
>>>> mode must be 0640, not 0600
>>>>
build/testrun/initdb/001_initdb/log/regress_log_001_initdb:*main::STDERR/home/Administrator/postgresql/build/testrun/initdb/001_initdb/data/tmp_test_qlhf/data_group/base/5/1247

>>>>
>>>> mode must be 0640, not 0600
>>>>
build/testrun/initdb/001_initdb/log/regress_log_001_initdb:*main::STDERR/home/Administrator/postgresql/build/testrun/initdb/001_initdb/data/tmp_test_qlhf/data_group/base/5/1247_fsm

>>>>
>>>> mode must be 0640, not 0600
>>>>
build/testrun/initdb/001_initdb/log/regress_log_001_initdb:*main::STDERR/home/Administrator/postgresql/build/testrun/initdb/001_initdb/data/tmp_test_qlhf/data_group/base/5/1247_vm

>>>>
>>>> mode must be 0640, not 0600
>>>>
build/testrun/initdb/001_initdb/log/regress_log_001_initdb:*main::STDERR/home/Administrator/postgresql/build/testrun/initdb/001_initdb/data/tmp_test_qlhf/data_group/base/5/1249

>>>>
>>>> mode must be 0640, not 0600
>>>>
>>>>
>>>> Apparently there's some issue with the group None. I don't mind 
>>>> digging
>>>> further if you think it might be worthwhile, but it seemed to me 
>>>> that since
>>> I'll guess digging further is not worthwhile.  Even if it is a 
>>> PostgreSQL bug,
>>> the consequences seem limited to unintentionally withholding group 
>>> access.
>>> There's a remote chance you're using a "noacl" mount, where this 
>>> result could
>>> fit.
>>
>>
>> mount doesn't show noacl being used
>>
>>
>>>
>>>> we didn't mind too much skipping these checks on native Windows we 
>>>> wouldn't
>>>> mind on Cygwin either.
>>> The reasons for skipping the test are different on native Windows 
>>> (does not
>>> provide POSIX file modes) vs. Cygwin (has POSIX file modes, but the
>>> combination of PostgreSQL and Cygwin somehow reaches the wrong mode).
>>
>>
>> True.
>>
>>
>> I wonder if Marco can shed any light on what's going on here.
>>
>>
>> cheers
>>
>>
>> andrew
>>
>
> are you referring to a specific version or is an old issue ?
>
>


This is probably an old issue. We haven't been running TAP tests on 
Cygwin (at least in the buildfarm) so the issue hasn't surfaced before now.


cheers


andrew

--
Andrew Dunstan
EDB: https://www.enterprisedb.com




В списке pgsql-committers по дате отправления:

Предыдущее
От: Marco Atzeri
Дата:
Сообщение: Re: pgsql: Skip some permissions checks on Cygwin
Следующее
От: noreply@postgresql.org
Дата:
Сообщение: pgsql: Tag refs/tags/REL_17_BETA2 was created