Mostly refinements and bug-fixes, this release contains one significant operator feature: the new MaxClientsPerIP parameter enforces a limit of connections per IP address.
Full change list:
2015.182: - Dynamically allocate record buffer for use in slclient.c:HandleInfo() in order guarantee that it is properly aligned for the host architecture. Thanks Doug Neuhauser for identifying this issue (under Solaris x86). 2015.156: - Update pcre to 8.37. - Add 'MaxClientsPerIP' config parameter and -M command line option to enforce a maximum number of connections per IP address. The limit does not apply to addresses with write permission. Default is no per-IP maximum. - Copy pcre/pcre_chartables.c.dist to pcre/pcre_chartables.c to avoid symbolic link problems on, for example, Cygwin. 2015.149: - Update libmseed to 2.16m. - Restart listening server threads (SeedLink and DataLink) without initializing the server socket when the socket is already set up. - Continue accept()ing new connections and do not exit if the accept() returns an error of ECONNABORTED or EINTR. These errors are non-critical and should not cause the listening thread to exit. - InitServerSocket(): close socket on error return from setsockopt() to avoid leaving an open socket in that error condition. Thanks to Doug Neuhauser for reporting and suggesting above fixes. - Close corrupt ring buffer file when performing autorecovery in all cases.