Outbound requests now verify TLS certificates
- Every outbound HTTPS request the site makes — skin host, IP geolocation, SMS gateway, mail server, QQ login, and the admin panel's test buttons — used to be sent with certificate checking switched off, so anyone on the path could answer with a self-signed certificate and take the request over. All of them now verify properly, against a root certificate bundle shipped with the site (Mozilla's, 121 roots).
- The mail connection mattered most: with checking off, someone on the path could collect the mailbox password and the full text of every message. The 126 mailbox's certificate is valid, so sending is unaffected.
- There is a cost: when a remote certificate really is broken, the request now fails with an error instead of quietly connecting. The admin panel's test buttons call this case out separately as "certificate failed validation". And if the bundle ever goes missing, the code still refuses to fall back to no checking — it simply fails more clearly.
- Also fixed an old blemish: the v1.9.6 and mod 1.6.0 entries in the changelog showed the literal word "title" as their heading — they only ever had body text, while the page renders a heading unconditionally, so the missing key fell back to the last segment of its own name. The headings are filled in now