- Fix typo already fixed in redis module name (#12)
-
crossbeam::channel::Receiver::try_recvis non-blocking and results in busy waiting, which caused high CPU usage even when idling. Switching tocrossbeam::channel::Receiver::recvto fixed this. -
System::verify_powreturnsCaptchaResult<(String, u32)>, where the secondu32is the difficulty factor of the challenge factor.
libmcaptcha::system::System: extra parameterqueue_length. PoW IP queues are limited by queue_length
libmcaptcha::system::System: extra parameterrunners. PoW are now scheduled for execution based on IP addresses.
Mastertrait: provides methods to manage mCaptchaMCaptcha::get_defense(): returns theMCaptchainstance's defense configuration
-
PoWConfighas an extra field to send internalPoWsalt to clients. Salt is used to prevent dictionary attacks using rainbow tables. This salt shouldn't be used elsewhere in the program as it's exposed to the internet. IdeallymCaptchashould automatically generate random salt and rotate periodically, maybe in the next version. -
master::Masteris moved tomaster::embedded::masterin preparation for Redis based implementation. -
AddSitemessage forMasternow requires an instance ofcrate::mcaptcha::MCaptcha. In the case ofcrate::master::embedded::master, it automatically startsCounteractor. -
System::get_powreturnserrors::CaptchaResult<Option<PoWConfig>>instead ofOption<PoWConfig>
MCaptcha::decrement_visiotr: seemed redundant whenMCaptcha::decrement_visitor_bywas available
HashCachewas extended to store captcha responsesHashCachewas extended to cache site keys when cachingPoWconfigurations as a result:RetrieveRetrievePoWnow returnsCachedPoWConfig- random token generation post
PoWverification - token validation
CachebecameCachePoW(HashCacheextension)RetrievebecameRetrievePoW(HashCacheextension)DeleteStringbecameDeletePoW(HashCacheextension)Savetrait now requires three new message impls (HashCacheextension_System.verify_pownow returns aStringinstead ofbool
CachePoWconstructor was removed in favour ofCachwPoWBuilder
- a bug in
mCaptcha/pow_sha256was causing errors in PoW computation
actixupgraded to0.11
Masterpacks a garbage collector to stop and get rid of inactiveMCaptchaactorsserde::{Serialize, Deserialize}impls (shouldn't break anything)
- typo fix:
MCaptcha::decrement_visiotr()becameMCaptcha::decrement_visitor() MCaptchathrows error when duration is 0Visitoris changed toAddVisitorMasterconstructor accepts a parameter to configure GC(see previous point) period