I *very happy* to announce that Perspectives Server version 3.2 is finished and has been released!
Server version 3.2 is a large update that contains a number of privacy, security, stability, and performance improvements; see the end of this post for an overview. We recommend that everyone who runs a notary server upgrade.
All official Perspectives notaries will be upgraded to version 3.2. We will create a thread on the mailing list and post announcements as each server is upgraded. Hopefully this will dramatically improve notary stability and you will see a lot more responses from now on!
Many thanks to everyone who helped to code, test, and discuss the fixes that went into this release.
As usual, if you have any comments or questions feel free to leave a comment here or ask us on the mailing list.
Improvements in the Server 3.2 update:
- Turn off logging of request headers during errors and exceptions
- Completely remove logging of access messages, even when log messages are sent to stdout.
- Ignore requests with an empty ‘host’ string (raise HTTP 400 Bad Request)
- Ignore requests with additional, invalid parameters (raise HTTP 400 Bad Request. Thanks Angel!)
- Raise HTTP 400 for invalid service types
- Add support for caching data with local system memory only. This makes it easy to improve notary performance if you are unable to use a dedicated caching server.
- Stop generating Traceback for socket exceptions when scanning; simply log the error and continue. This *significantly* improves speed and response times for scans that didn’t work (and we’re not losing any information).
- Use a semaphore and lock to rate-limit on-demand scans, to properly handle multithreading
- Add default URL parameters so ‘service_type’ and ‘port’ are not required.
- Convert hardcoded SNI setting to command-line argument, so it’s easier to toggle (Thanks Carl A.!)
- Add documentation and scripts for upgrading notary machines
- Fix bug with incorrect Primary Key on observations database table
- Fix bug: place a cap on when we update or insert an observation record
- Add data validation to database and code for observation records
- Add ‘NOT NULL’ to database fields that shouldn’t allow null
- Fix several ‘raise’ statements to properly re-raise exceptions
- Multiple fixes for database session use