{"push_id":2690534265,"size":40,"distinct_size":40,"ref":"refs/heads/master","head":"a7186c8f1ceef938b710509993719b93daff419a","before":"8b4c7725d2015637584c4fa66667ad1ced21edb8","commits":[{"sha":"5d3a854ebd4f59854ade798b94070ff1ee3eddcf","author":{"name":"Maxim Dounin","email":"f3f0097b7ab1886f4318b573c475fd953191b6b6@mdounin.ru"},"message":"Mail: fixed error message about missing ssl_certificate_key.\n\nIn 51e1f047d15d, the \"ssl\" directive name was incorrectly hardcoded\nin the error message shown when there are some SSL keys defined, but\nnot for all certificates.  Right approach is to use the \"mode\" variable,\nwhich can be either \"ssl\" or \"starttls\".","distinct":true,"url":"https://api.github.com/repos/0x64616E69656C/nginx/commits/5d3a854ebd4f59854ade798b94070ff1ee3eddcf"},{"sha":"76be1ea9de13c5e8bb0d9523c6a2ad4009a5d7cf","author":{"name":"Maxim Dounin","email":"f3f0097b7ab1886f4318b573c475fd953191b6b6@mdounin.ru"},"message":"SSL: detect \"listen ... ssl\" without certificates (ticket #178).\n\nIn mail and stream modules, no certificate provided is a fatal condition,\nmuch like with the \"ssl\" and \"starttls\" directives.\n\nIn http, \"listen ... ssl\" can be used in a non-default server without\ncertificates as long as there is a certificate in the default one, so\nmissing certificate is only fatal for default servers.","distinct":true,"url":"https://api.github.com/repos/0x64616E69656C/nginx/commits/76be1ea9de13c5e8bb0d9523c6a2ad4009a5d7cf"},{"sha":"658a84f4252b65ef060b1d33b2ff0e749902978b","author":{"name":"Ruslan Ermilov","email":"67b8b1c4fedb2e38e2eb26f403b9c2b2642b0a2c@nginx.com"},"message":"SSL: deprecated the \"ssl\" directive.","distinct":true,"url":"https://api.github.com/repos/0x64616E69656C/nginx/commits/658a84f4252b65ef060b1d33b2ff0e749902978b"},{"sha":"68b50f71e193e58ee117ef36f25387cbaa75edf3","author":{"name":"Sergey Kandaurov","email":"3df80992ee76c3b10fb090a01dc41842d6316c4d@nginx.com"},"message":"Silenced -Wcast-function-type warnings (closes #1546).\n\nCast to intermediate \"void *\" to lose compiler knowledge about the original\ntype and pass the warning.  This is not a real fix but rather a workaround.\n\nFound by gcc8.","distinct":true,"url":"https://api.github.com/repos/0x64616E69656C/nginx/commits/68b50f71e193e58ee117ef36f25387cbaa75edf3"},{"sha":"644d26e841ec06023d0dc3eb9b624b404043c473","author":{"name":"Vladimir Homutov","email":"820b3218f68940194eb181f861e8a9bdc5c14c43@nginx.com"},"message":"Syslog: re-open syslog udp socket on send error (ticket #1477).\n\nPreviously, only unix domain sockets were reopened to tolerate cases when\nlocal syslog server was restarted.  It makes sense to treat other cases\n(for example, local IP address changes) similarly.","distinct":true,"url":"https://api.github.com/repos/0x64616E69656C/nginx/commits/644d26e841ec06023d0dc3eb9b624b404043c473"},{"sha":"6ce439ebde10f618cc78622a8f919c3624767fda","author":{"name":"Ruslan Ermilov","email":"67b8b1c4fedb2e38e2eb26f403b9c2b2642b0a2c@nginx.com"},"message":"Configure: fixed clang version detection (closes #1539).\n\nWhile 325b3042edd6 fixed it on MINIX, it broke it on systems\nthat output the word \"version\" on several lines with \"cc -v\".\nThe fix is to only consider \"clang version\" or \"LLVM version\"\nas clang version, but this time only using sed(1).","distinct":true,"url":"https://api.github.com/repos/0x64616E69656C/nginx/commits/6ce439ebde10f618cc78622a8f919c3624767fda"},{"sha":"4f9d83d6d7f9651246109aae837a99ea8608f3a7","author":{"name":"Maxim Dounin","email":"f3f0097b7ab1886f4318b573c475fd953191b6b6@mdounin.ru"},"message":"Core: silenced getsockopt(TCP_FASTOPEN) messages on FreeBSD.\n\nFreeBSD returns EINVAL when getsockopt(TCP_FASTOPEN) is called on a unix\ndomain socket, resulting in \"getsockopt(TCP_FASTOPEN) ... failed\" messages\nduring binary upgrade when unix domain listen sockets are present in\nthe configuration.  Added EINVAL to the list of ignored error codes.","distinct":true,"url":"https://api.github.com/repos/0x64616E69656C/nginx/commits/4f9d83d6d7f9651246109aae837a99ea8608f3a7"},{"sha":"4fca5bf1e120c074270c93e8165d3b2dffc90499","author":{"name":"Ruslan Ermilov","email":"67b8b1c4fedb2e38e2eb26f403b9c2b2642b0a2c@nginx.com"},"message":"Resolver: style.","distinct":true,"url":"https://api.github.com/repos/0x64616E69656C/nginx/commits/4fca5bf1e120c074270c93e8165d3b2dffc90499"},{"sha":"4ac8036e78aeb95fe85e41d45caf82722f8e2d07","author":{"name":"Ruslan Ermilov","email":"67b8b1c4fedb2e38e2eb26f403b9c2b2642b0a2c@nginx.com"},"message":"Resolver: close UDP socket on error or incomplete send.","distinct":true,"url":"https://api.github.com/repos/0x64616E69656C/nginx/commits/4ac8036e78aeb95fe85e41d45caf82722f8e2d07"},{"sha":"5568a6598d7ec830a6759c6ab0419a50b4ab3056","author":{"name":"Vladimir Homutov","email":"820b3218f68940194eb181f861e8a9bdc5c14c43@nginx.com"},"message":"Syslog: install cleanup handler only once.\n\nIf a socket was re-opened due to an error (02c2352d5b01 and fa0e093b64d7),\nadditional cleanup handler was installed each time.","distinct":true,"url":"https://api.github.com/repos/0x64616E69656C/nginx/commits/5568a6598d7ec830a6759c6ab0419a50b4ab3056"},{"sha":"1ef5c9ce6f03907dad1677d25f108d2bf59a5c15","author":{"name":"Maxim Dounin","email":"f3f0097b7ab1886f4318b573c475fd953191b6b6@mdounin.ru"},"message":"Removed glibc crypt_r() bug workaround (ticket #1469).\n\nThe bug in question was fixed in glibc 2.3.2 and is no longer expected\nto manifest itself on real servers.  On the other hand, the workaround\ncauses compilation problems on various systems.  Previously, we've\nalready fixed the code to compile with musl libc (fd6fd02f6a4d), and\nnow it is broken on Fedora 28 where glibc's crypt library was replaced\nby libxcrypt.  So the workaround was removed.","distinct":true,"url":"https://api.github.com/repos/0x64616E69656C/nginx/commits/1ef5c9ce6f03907dad1677d25f108d2bf59a5c15"},{"sha":"4271e48911bca21c8b81f2d8971218a6f1692468","author":{"name":"Ruslan Ermilov","email":"67b8b1c4fedb2e38e2eb26f403b9c2b2642b0a2c@nginx.com"},"message":"Win32: fixed comment in ngx_gettimeofday() calculations.","distinct":true,"url":"https://api.github.com/repos/0x64616E69656C/nginx/commits/4271e48911bca21c8b81f2d8971218a6f1692468"},{"sha":"e4d173cc88c1692534fea37dfc49724423e60140","author":{"name":"Ruslan Ermilov","email":"67b8b1c4fedb2e38e2eb26f403b9c2b2642b0a2c@nginx.com"},"message":"Core: fixed comment about ngx_current_msec after 81fae70d6cb8.\n\nThe value is no longer guaranteed to be based on milliseconds\nelapsed since Epoch.","distinct":true,"url":"https://api.github.com/repos/0x64616E69656C/nginx/commits/e4d173cc88c1692534fea37dfc49724423e60140"},{"sha":"7b9bc5d4d1c061095a2391dbe32cf4d205c031bc","author":{"name":"Maxim Dounin","email":"f3f0097b7ab1886f4318b573c475fd953191b6b6@mdounin.ru"},"message":"Limit req: improved handling of negative times.\n\nNegative times can appear since workers only update time on an event\nloop iteration start.  If a worker was blocked for a long time during\nan event loop iteration, it is possible that another worker already\nupdated the time stored in the node.  As such, time since last update\nof the node (ms) will be negative.\n\nPrevious code used ngx_abs(ms) in the calculations.  That is, negative\ntimes were effectively treated as positive ones.  As a result, it was\nnot possible to maintain high request rates, where the same node can be\nupdated multiple times from during an event loop iteration.\nIn particular, this affected setups with many SSL handshakes, see\nhttp://mailman.nginx.org/pipermail/nginx/2018-May/056291.html.\n\nFix is to only update the last update time stored in the node if the\nnew time is larger than previously stored one.  If a future time is\nstored in the node, we preserve this time as is.\n\nTo prevent breaking things on platforms without monotonic time available\nif system time is updated backwards, a safety limit of 60 seconds is\nused.  If the time stored in the node is more than 60 seconds in the future,\nwe assume that the time was changed backwards and update lr->last\nto the current time.","distinct":true,"url":"https://api.github.com/repos/0x64616E69656C/nginx/commits/7b9bc5d4d1c061095a2391dbe32cf4d205c031bc"},{"sha":"dac90a4bff8404e8097249a1ee444b77580f43ba","author":{"name":"Sergey Kandaurov","email":"3df80992ee76c3b10fb090a01dc41842d6316c4d@nginx.com"},"message":"Leave chain in ngx_chain_add_copy() in consistent state on errors.","distinct":true,"url":"https://api.github.com/repos/0x64616E69656C/nginx/commits/dac90a4bff8404e8097249a1ee444b77580f43ba"},{"sha":"26a57486f013abff616be8345e542c15419f0759","author":{"name":"Roman Arutyunyan","email":"7ca75fd5b34e94325babd46a8829059262a08b31@nginx.com"},"message":"Events: fixed handling zero-length client address.\n\nOn Linux recvmsg() syscall may return a zero-length client address when\nreceiving a datagram from an unbound unix datagram socket.  It is usually\nassumed that socket address has at least the sa_family member.  Zero-length\nsocket address caused buffer over-read in functions which receive socket\naddress, for example ngx_sock_ntop().  Typically the over-read resulted in\nunexpected socket family followed by session close.  Now a fake socket address\nis allocated instead of a zero-length client address.","distinct":true,"url":"https://api.github.com/repos/0x64616E69656C/nginx/commits/26a57486f013abff616be8345e542c15419f0759"},{"sha":"20f8bfab34efe8069d6ab454b08ceb710ea55a97","author":{"name":"Roman Arutyunyan","email":"7ca75fd5b34e94325babd46a8829059262a08b31@nginx.com"},"message":"Events: get remote addresses before creating udp connection.\n\nPreviously, ngx_event_recvmsg() got remote socket addresses after creating\nthe connection object.  In preparation to handling multiple UDP packets in a\nsingle session, this code was moved up.","distinct":true,"url":"https://api.github.com/repos/0x64616E69656C/nginx/commits/20f8bfab34efe8069d6ab454b08ceb710ea55a97"},{"sha":"1028d7169599dafd99a9f1720d995667750b1ab1","author":{"name":"Roman Arutyunyan","email":"7ca75fd5b34e94325babd46a8829059262a08b31@nginx.com"},"message":"Events: moved ngx_recvmsg() to new file src/event/ngx_event_udp.c.","distinct":true,"url":"https://api.github.com/repos/0x64616E69656C/nginx/commits/1028d7169599dafd99a9f1720d995667750b1ab1"},{"sha":"96b6f215b846e59af249892f1c109f3efe92fbc1","author":{"name":"Roman Arutyunyan","email":"7ca75fd5b34e94325babd46a8829059262a08b31@nginx.com"},"message":"Stream: udp streams.\n\nPreviously, only one client packet could be processed in a udp stream session\neven though multiple response packets were supported.  Now multiple packets\ncoming from the same client address and port are delivered to the same stream\nsession.\n\nIf it's required to maintain a single stream of data, nginx should be\nconfigured in a way that all packets from a client are delivered to the same\nworker.  On Linux and DragonFly BSD the \"reuseport\" parameter should be\nspecified for this.  Other systems do not currently provide appropriate\nmechanisms.  For these systems a single stream of udp packets is only\nguaranteed in single-worker configurations.\n\nThe proxy_response directive now specifies how many packets are expected in\nresponse to a single client packet.","distinct":true,"url":"https://api.github.com/repos/0x64616E69656C/nginx/commits/96b6f215b846e59af249892f1c109f3efe92fbc1"},{"sha":"3880706655d9b5aacd991bbee8613e8b00e9864e","author":{"name":"Maxim Dounin","email":"f3f0097b7ab1886f4318b573c475fd953191b6b6@mdounin.ru"},"message":"nginx-1.15.0-RELEASE","distinct":true,"url":"https://api.github.com/repos/0x64616E69656C/nginx/commits/3880706655d9b5aacd991bbee8613e8b00e9864e"}]}
{"actor":{"display_login":"0x64616E69656C"}}