Relax honeypot check (fixes #2595) (#2596)

Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
This commit is contained in:
Nutomic 2022-12-01 21:33:59 +00:00 committed by GitHub
parent bcf5c91f81
commit ccb6435c1d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -307,7 +307,7 @@ pub fn site_description_length_check(description: &str) -> Result<(), LemmyError
/// Checks for a honeypot. If this field is filled, fail the rest of the function
pub fn honeypot_check(honeypot: &Option<String>) -> Result<(), LemmyError> {
if honeypot.is_some() {
if honeypot.is_some() && honeypot != &Some(String::new()) {
Err(LemmyError::from_message("honeypot_fail"))
} else {
Ok(())
@ -724,7 +724,7 @@ pub fn listing_type_with_site_default(
#[cfg(test)]
mod tests {
use crate::utils::password_length_check;
use crate::utils::{honeypot_check, password_length_check};
#[test]
#[rustfmt::skip]
@ -734,4 +734,12 @@ mod tests {
assert!(password_length_check("short").is_err());
assert!(password_length_check("looooooooooooooooooooooooooooooooooooooooooooooooooooooooooong").is_err());
}
#[test]
fn honeypot() {
assert!(honeypot_check(&None).is_ok());
assert!(honeypot_check(&Some(String::new())).is_ok());
assert!(honeypot_check(&Some("1".to_string())).is_err());
assert!(honeypot_check(&Some("message".to_string())).is_err());
}
}