и вот, кажется, интересные штуки # 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 пользователь Илья Шипицин <chipits...@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 пользователь Валентин Бартенев <vb...@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