3 ms·
I find it curious they implemented it themselves instead of using a standard library like OpenSSL/LibreSSL.
by mlindner 8y ago
I find it curious they implemented it themselves instead of using a standard library like OpenSSL/LibreSSL.
- TheDong 8y agoThey implement everything themselves, in part so you can build truly static libraries without paying the significant cgo tax. The biggest thing they implemented themselves is effectively their own linux libc (including dns and networking stack). This results in wonderful bugs like them not having a working POSIX Setuid [0] because that's implemented correctly in libc, not the linux syscall of the same name. This release also contains the UserHomeDir function which is another example where they didn't use libc and thus implemented it incorrectly. You have to justify using any outside libraries in the go stdlib because right now there are no required external dependencies, so adding one is a very high bar indeed. [0]: https://github.com/golang/go/issues/1435 https://github.com/golang/go/issues/1435