и вот, кажется, интересные штуки
# grep '(error' typescript
[src/go/unit/nxt_go_port_memory.c:52]: (error) Undefined behavior: Variable
'name' is used as parameter and destination in s[n]printf().
[src/nxt_lib.c:96]: (error) Uninitialized variable: n
[src/nxt_main_process.c:398]: (error) Memory pointed to by 'start' is freed
twice.
[src/nxt_php_sapi.c:313]: (error) Uninitialized struct member:
script_name.start
[src/nxt_port_memory.c:475]: (error) Dereferencing 'mmap_handler' after it
is deallocated / released
20 октября 2017 г., 19:30 пользователь Илья Шипицин <chipitsine@gmail.com>
написал:
> Валентин, посмотрите вот эти штуки ?
>
> # grep '(warning' typescript
> [src/nxt_file_cache.c:290] -> [src/nxt_file_cache.c:302]: (warning) Either
> the condition 'handler==NULL' is redundant or there is possible null
> pointer dereference: handler.
> [src/nxt_port_socket.c:498] -> [src/nxt_port_socket.c:505]: (warning)
> Either the condition 'b==NULL' is redundant or there is possible null
> pointer dereference: b.
>
>
> и, кажется, не работают тесты при "make tests" (вот это прямо
> напрашивается в travis)
>
> я хотел этим заняться, завал, к сожалению еще на пару месяцев
>
> 20 октября 2017 г., 19:25 пользователь Валентин Бартенев <vbart@nginx.com>
> написал:
>
> On Friday 20 October 2017 16:48:31 Slawa Olhovchenkov wrote:
>> > On Fri, Oct 20, 2017 at 04:42:54PM +0300, Maksim Kulik wrote:
>> >
>> > > Так в таком случае использование unit еще выгоднее: ему не надо
>> держать
>> > > master-процесс для каждой версии php, не говоря о процессе для каждого
>> > > пользователя.
>> > >
>> > > P.S. Может я немного отстал от актуальных знаний о PHP-FPM, но зачем
>> под
>> > > каждого пользователя запускать отдельный master-процесс? Достаточно
>> ведь
>> > > завести для конкретного пользователя свой pool (работающий от имени
>> этого
>> > > пользователя), а мастер-процесс будет всегда один. Если я ошибаюсь -
>> > > скиньте, плиз, линку на почту где можно подробнее почитать об
>> опасности
>> > > запуска одного мастер-процесса для разных пользователей.
>> >
>> > Это достаточно самоочевидно для любого, кто немного интересуется
>> > безопасностью.
>> > Ну и для програмистов эдак начиная примерно с 15+ лет опыта. Но лучше
>> 20+.
>> > В общем когда приходит понимание, что программ без ошибок не бывает.
>> > Тогда доходит и мысль о том, что общий мастер-процесс на всех должен
>> > иметь возможность читать конфиг принадлежащий любому пользователю и
>> > перезапускать пул(ы) от любого пользовательского UID, а это уже есть
>> > некторая дыра, т.к. он получается должен быть рутовым.
>> > В модели отдельного мастера на пользователя он после запуска
>> > безвозвратно дропает свои привелегии и эта схема в целом меньше
>> > подвержена протечкам.
>> [..]
>>
>> Основной процесс Unit-а, который работает от рута, не читает конфигов
>> и не взаимодействует с пользователями и их приложениями.
>>
>> Каждое приложение со своей конфигурацией полностью изолировано. Точно
>> также,
>> как были бы изолированы отдельные процессы php-fpm, запущенные независимо
>> друг
>> от друга на одной машине.
>>
>> --
>> Валентин Бартенев
>> _______________________________________________
>> nginx-ru mailing list
>> nginx-ru@nginx.org
>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>>
>
>
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru