Hello Memcached community!
Just an update (v1.6.3): *Unsupported/Disabled options/features (may support in the future):* *tls* (Upstream support since v1.5.13) *Now supported! **Built and tested with latest OpenSSL (1.1.1d).* Built and tested with latest *BoringSSL (chromium-stable)*. *BoringSSL* reduced the statically-linked executable size by *~34%* (Win64 2.94MB -> 1.94MB). *BoringSSL* already rejects peer renegotiations by default so the unsupported *OpenSSL*-only *SSL_in_before* API used in memcached is no longer necessary. I just disabled it using *OPENSSL_IS_BORINGSSL* macro. *Testing:* *NOTE:* Since Perl-based test suite is not executed, test is lacking on some areas. *Use at your own risk!* Perl-based test suite is now ported and it was able to detect issues and I already fixed! Majority of the test suite change is only disabling the unsupported unix socket connection but no changes in test cases/scenarios. All tests *PASSED*! This will now give Windows users the confidence to use the native Windows port. GitHub Release: https://github.com/jefyt/memcached-windows/releases/tag/1.6.3_mingw Build/Test/Artifacts: https://ci.appveyor.com/project/jefty/memcached-windows/builds/31859470 Again, the unsupported options/features (may support in the future): 1. sasl (Upstream support since v1.4.3) 2. extstore (Upstream support since v1.5.4) 3. -u/user (Can use Windows runas command or Windows explorer's Run as different user context menu) 4. -s/unix-socket 5. -k/lock-memory 6. -r/coredumps 7. seccomp Regards, Jefty On Friday, March 27, 2020 at 10:25:05 PM UTC+1, Jefty Negapatan wrote: > > Hello Memcached community! > > Just an update: > > *Unsupported/Disabled options/features (may support in the future):* > > 1. *tls* (Upstream support since v1.5.13) *Now supported! Built and > tested with latest OpenSSL (1.1.1d).* > > Just like cURL and Google Chrome for Windows, TLS library is statically > linked. > Statically-linked exe size: *327KB* -> *3,008KB* > > Regards, > Jefty > > On Tuesday, March 24, 2020 at 11:26:13 PM UTC+1, Jefty Negapatan wrote: >> >> Hello Memcached community! >> >> Just wanna share that I've ported the latest memcached (1.6.2 >> <https://github.com/memcached/memcached/releases/tag/1.6.2>) to Windows. >> Based on my search if I'm not mistaken, the last native Windows build (not >> via Cygwin/WSL) is already outdated (1.4.5). >> >> *Unsupported/Disabled options/features (may support in the future):* >> >> 1. *sasl* (Upstream support since v1.4.3) >> 2. *extstore* (Upstream support since v1.5.4) >> 3. *tls* (Upstream support since v1.5.13) >> 4. *-u/user* (Can use Windows *runas* command or Windows explorer's *Run >> as different user* context menu) >> 5. *-s/unix-socket* (Windows does not currently support Unix domain >> socket) >> 6. *-k/lock-memory* (Windows does not currently support locking of >> all paged memory) >> 7. *-r/coredumps* (mingw-w64 <http://mingw-w64.org/doku.php> >> currently doesn't support postmortem but gdb debugging without coredump >> is >> possible) >> 8. *seccomp* (Linux-specific) >> >> >> *Testing:* >> >> 1. memcached's *testapp* is also ported to easily verify that the >> port is working as expected (all *57* tests are *OK*) >> 2. *make test* will only execute *testapp.exe* and *sizes.exe* but >> not the Perl-based test suite (at least currently) >> 3. mc-crusher <https://github.com/memcached/mc-crusher> test is also >> performed (although not really for hours/days). >> 4. Maximum connection limit concurrency testing is also performed >> using libMemcached <https://libmemcached.org/>'s *memcslap*. >> 5. *NOTE:* Since Perl-based test suite is not executed, test is >> lacking on some areas. *Use at your own risk!* >> >> >> Since the ideal target is to be merged upstream although not really a >> priority and just depends on the maintainer, the codes are carefully >> written (and of course tested!) not to cause major merge conflicts with the >> base code. You can confirm this with the diffs. Building with changes for >> non-Windows target is just like building the original codes as changes are >> all protected with preprocessor macros (e.g. *DISABLE_UNIX_SOCKET*) and >> build env. Main logic is same as the official except for the necessary >> Windows-specific changes mostly implemented in separate files (see mingw >> folder). >> https://github.com/jefyt/memcached-windows#implementation-notes-for-devs >> contains the summary of changes. >> >> Just refer to https://github.com/jefyt/memcached-windows (*mingw* >> branch) for more details (e.g. building, binaries, notes). >> >> If you know anyone asking for Windows binaries or just interested to >> try/test/take a look, you can refer to this port. >> >> Thanks! >> >> Regards, >> Jefty >> >> -- --- You received this message because you are subscribed to the Google Groups "memcached" group. To unsubscribe from this group and stop receiving emails from it, send an email to memcached+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/memcached/4d6116e1-d000-4c9c-b84d-efbc327fdb52%40googlegroups.com.