HEX
Server: Apache/2
System: Linux ctr1224126.novalocal 4.9.241-37.el7.x86_64 #1 SMP Mon Nov 2 13:55:04 UTC 2020 x86_64
User: gokitchen (1017)
PHP: 8.0.30
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/include/dovecot/auth-penalty.h
#ifndef AUTH_PENALTY_H
#define AUTH_PENALTY_H

struct auth_request;

#define AUTH_PENALTY_INIT_SECS 2
#define AUTH_PENALTY_MAX_SECS 15
/* timeout specifies how long it takes for penalty to be irrelevant. */
#define AUTH_PENALTY_TIMEOUT \
	(AUTH_PENALTY_INIT_SECS + 4 + 8 + AUTH_PENALTY_MAX_SECS)
#define AUTH_PENALTY_MAX_PENALTY 4

/* If lookup failed, penalty and last_update are both zero */
typedef void auth_penalty_callback_t(unsigned int penalty,
				     struct auth_request *request);

struct auth_penalty *auth_penalty_init(const char *path);
void auth_penalty_deinit(struct auth_penalty **penalty);

unsigned int auth_penalty_to_secs(unsigned int penalty);

void auth_penalty_lookup(struct auth_penalty *penalty,
			 struct auth_request *auth_request,
			 auth_penalty_callback_t *callback);
void auth_penalty_update(struct auth_penalty *penalty,
			 struct auth_request *auth_request, unsigned int value);

#endif