<div dir="ltr">и вот, кажется, интересные штуки<br><br># grep '(error' typescript <br>[src/go/unit/nxt_go_port_memory.c:52]: (error) Undefined behavior: Variable 'name' is used as parameter and destination in s[n]printf().<br>[src/nxt_lib.c:96]: (error) Uninitialized variable: n<br>[src/nxt_main_process.c:398]: (error) Memory pointed to by 'start' is freed twice.<br>[src/nxt_php_sapi.c:313]: (error) Uninitialized struct member: script_name.start<br>[src/nxt_port_memory.c:475]: (error) Dereferencing 'mmap_handler' after it is deallocated / released<br><br></div><div class="gmail_extra"><br><div class="gmail_quote">20 октября 2017 г., 19:30 пользователь Илья Шипицин <span dir="ltr"><<a href="mailto:chipitsine@gmail.com" target="_blank">chipitsine@gmail.com</a>></span> написал:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div>Валентин, посмотрите вот эти штуки ?<br><br># grep '(warning' typescript <br>[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.<br>[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.<br><br><br></div>и, кажется, не работают тесты при "make tests" (вот это прямо напрашивается в travis)<br><br></div>я хотел этим заняться, завал, к сожалению еще на пару месяцев<br></div><div class="gmail_extra"><br><div class="gmail_quote">20 октября 2017 г., 19:25 пользователь Валентин Бартенев <span dir="ltr"><<a href="mailto:vbart@nginx.com" target="_blank">vbart@nginx.com</a>></span> написал:<div><div class="h5"><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>On Friday 20 October 2017 16:48:31 Slawa Olhovchenkov wrote:<br>
> On Fri, Oct 20, 2017 at 04:42:54PM +0300, Maksim Kulik wrote:<br>
><br>
> > Так в таком случае использование unit еще выгоднее: ему не надо держать<br>
> > master-процесс для каждой версии php, не говоря о процессе для каждого<br>
> > пользователя.<br>
> ><br>
> > P.S. Может я немного отстал от актуальных знаний о PHP-FPM, но зачем под<br>
> > каждого пользователя запускать отдельный master-процесс? Достаточно ведь<br>
> > завести для конкретного пользователя свой pool (работающий от имени этого<br>
> > пользователя), а мастер-процесс будет всегда один. Если я ошибаюсь -<br>
> > скиньте, плиз, линку на почту где можно подробнее почитать об опасности<br>
> > запуска одного мастер-процесса для разных пользователей.<br>
><br>
> Это достаточно самоочевидно для любого, кто немного интересуется<br>
> безопасностью.<br>
> Ну и для програмистов эдак начиная примерно с 15+ лет опыта. Но лучше 20+.<br>
> В общем когда приходит понимание, что программ без ошибок не бывает.<br>
> Тогда доходит и мысль о том, что общий мастер-процесс на всех должен<br>
> иметь возможность читать конфиг принадлежащий любому пользователю и<br>
> перезапускать пул(ы) от любого пользовательского UID, а это уже есть<br>
> некторая дыра, т.к. он получается должен быть рутовым.<br>
> В модели отдельного мастера на пользователя он после запуска<br>
> безвозвратно дропает свои привелегии и эта схема в целом меньше<br>
> подвержена протечкам.<br>
</span>[..]<br>
<br>
Основной процесс Unit-а, который работает от рута, не читает конфигов<br>
и не взаимодействует с пользователями и их приложениями.<br>
<br>
Каждое приложение со своей конфигурацией полностью изолировано.  Точно также,<br>
как были бы изолированы отдельные процессы php-fpm, запущенные независимо друг<br>
от друга на одной машине.<br>
<br>
--<br>
Валентин Бартенев<br>
<div class="m_-5612301817839867065HOEnZb"><div class="m_-5612301817839867065h5">______________________________<wbr>_________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailm<wbr>an/listinfo/nginx-ru</a></div></div></blockquote></div></div></div><br></div>
</blockquote></div><br></div>