Skip to content

Latest commit

 

History

History
105 lines (69 loc) · 3.01 KB

CHANGELOG.md

File metadata and controls

105 lines (69 loc) · 3.01 KB

0.2.3

Fixed:

  1. crossbeam::channel::Receiver::try_recv is non-blocking and results in busy waiting, which caused high CPU usage even when idling. Switching to crossbeam::channel::Receiver::recv to fixed this.

  2. System::verify_pow returns CaptchaResult<(String, u32)>, where the second u32 is the difficulty factor of the challenge factor.

0.2.2

Added:

  • libmcaptcha::system::System: extra parameter queue_length. PoW IP queues are limited by queue_length

0.2.1

Added:

  • libmcaptcha::system::System: extra parameter runners. PoW are now scheduled for execution based on IP addresses.

0.1.4

Added:

  • Master trait: provides methods to manage mCaptcha
  • MCaptcha::get_defense(): returns the MCaptcha instance's defense configuration

Changed:

  • PoWConfig has an extra field to send internal PoW salt 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. Ideally mCaptcha should automatically generate random salt and rotate periodically, maybe in the next version.

  • master::Master is moved to master::embedded::master in preparation for Redis based implementation.

  • AddSite message for Master now requires an instance of crate::mcaptcha::MCaptcha. In the case of crate::master::embedded::master, it automatically starts Counter actor.

  • System::get_pow returns errors::CaptchaResult<Option<PoWConfig>> instead of Option<PoWConfig>

Removed

  • MCaptcha::decrement_visiotr: seemed redundant when MCaptcha::decrement_visitor_by was available

0.1.3

Added

  • HashCache was extended to store captcha responses
  • HashCache was extended to cache site keys when caching PoW configurations as a result:
  • Retrieve RetrievePoW now returns CachedPoWConfig
  • random token generation post PoW verification
  • token validation

Changed

  • Cache became CachePoW (HashCache extension)
  • Retrieve became RetrievePoW(HashCache extension)
  • DeleteString became DeletePoW (HashCache extension)
  • Save trait now requires three new message impls (HashCache extension_
  • System.verify_pow now returns a String instead of bool

Removed

  • CachePoW constructor was removed in favour of CachwPoWBuilder

Fixed

  • a bug in mCaptcha/pow_sha256 was causing errors in PoW computation

0.1.2

Changed

  • actix upgraded to 0.11

0.1.1

Added

  • Master packs a garbage collector to stop and get rid of inactive MCaptcha actors
  • serde::{Serialize, Deserialize} impls (shouldn't break anything)

Changed

  • typo fix: MCaptcha::decrement_visiotr() became MCaptcha::decrement_visitor()
  • MCaptcha throws error when duration is 0
  • Visitor is changed to AddVisitor
  • Master constructor accepts a parameter to configure GC(see previous point) period