diff options
Diffstat (limited to 'license-generator/src')
| -rw-r--r-- | license-generator/src/errors.rs | 2 | ||||
| -rw-r--r-- | license-generator/src/lib.rs | 2 | ||||
| -rw-r--r-- | license-generator/src/request.rs | 6 | 
3 files changed, 9 insertions, 1 deletions
| diff --git a/license-generator/src/errors.rs b/license-generator/src/errors.rs index 0799c3e..e21edd4 100644 --- a/license-generator/src/errors.rs +++ b/license-generator/src/errors.rs @@ -1,3 +1,4 @@ +use base64;  use log;  use mysql;  use paddle; @@ -7,6 +8,7 @@ error_chain! {          EnvVar(::std::env::VarError);          Io(::std::io::Error); +        Base64(base64::DecodeError);          Log(log::SetLoggerError);          MySql(mysql::error::Error); diff --git a/license-generator/src/lib.rs b/license-generator/src/lib.rs index bf3ed57..e2c02b6 100644 --- a/license-generator/src/lib.rs +++ b/license-generator/src/lib.rs @@ -1,3 +1,5 @@ +extern crate base64; +  #[macro_use]  extern crate error_chain;  extern crate log; diff --git a/license-generator/src/request.rs b/license-generator/src/request.rs index 94e5b8d..325fdec 100644 --- a/license-generator/src/request.rs +++ b/license-generator/src/request.rs @@ -1,3 +1,4 @@ +use base64;  use paddle;  use errors::*; @@ -9,7 +10,10 @@ pub fn verified(req_params: &str) -> Result<bool> {      let pem = include_bytes!("../private/paddle.pubkey.asc");      match signature { -        Some(signature) => Ok(paddle::verify_signature(pem, &signature, p)?), +        Some(signature) => { +            let signature = base64::decode(signature.as_bytes())?; +            Ok(paddle::verify_signature(pem, &signature, p)?) +        },          None => Ok(false),      }  } | 
