25 RCSIDH(extern_h,
"$Id: f4024cabdf0beb970e3a964433312ff944af1dc8 $")
27 #include <freeradius-devel/radiusd.h>
28 #include <freeradius-devel/modules.h>
30 #include <sys/types.h>
36 #define OTP_OTPD_RP "/var/run/otpd/socket"
39 #define OTP_CHALLENGE_PROMPT "Challenge: %{reply:OTP-Challenge}\n Response: "
70 #define OTP_MAX_RADSTATE_LEN 2 + (OTP_MAX_CHALLENGE_LEN * 2 + 8 + 8 + 32)*2 + 1
75 int32_t, int32_t, uint8_t
const [16]);
85 ssize_t
otp_a2x(uint8_t
const *,
size_t, uint8_t *);
93 #define otp_pthread_mutex_init(a, b) _otp_pthread_mutex_init((a), (b), __func__)
94 #define otp_pthread_mutex_lock(a) _otp_pthread_mutex_lock((a), __func__)
95 #define otp_pthread_mutex_trylock(a) _otp_pthread_mutex_trylock((a), __func__)
96 #define otp_pthread_mutex_unlock(a) _otp_pthread_mutex_unlock((a), __func__)
#define OTP_MAX_RADSTATE_LEN
uint32_t challenge_delay
Max delay time for response, in seconds.
const fr_dict_attr_t * pwattr[8]
char const * otpd_rp
Otpd rendezvous point.
uint32_t mschapv2_mppe_types
Key type/length for mschapv2/mppe.
uint32_t mschap_mppe_policy
Whether or not do to mppe for mschap .
int _otp_pthread_mutex_trylock(pthread_mutex_t *, char const *)
Guaranteed trylock.
bool allow_async
C/R mode allowed?
struct rlm_otp_t rlm_otp_t
size_t otp_gen_state(char[OTP_MAX_RADSTATE_LEN], char const [OTP_MAX_CHALLENGE_LEN], size_t, int32_t, int32_t, uint8_t const [16])
Generate an OTP state value.
char const * chal_prompt
Text to present challenge to user must have s.
void otp_async_challenge(char[OTP_MAX_CHALLENGE_LEN+1], size_t)
Generate a random challenge (ascii chars 0-9)
char const * name
Instance name for mod_authorize().
void otp_get_random(uint8_t *, size_t)
Generate some random bytes.
int otp_pw_valid(REQUEST *, int, char const *, rlm_otp_t const *, char[])
void _otp_pthread_mutex_init(pthread_mutex_t *, pthread_mutexattr_t const *, char const *)
Guaranteed initialization.
uint32_t challenge_len
Challenge length, min 5 digits.
void otp_mppe(REQUEST *, otp_pwe_t, rlm_otp_t const *, char const *)
uint32_t mschapv2_mppe_policy
Whether or not do to mppe for mschapv2.
void _otp_pthread_mutex_unlock(pthread_mutex_t *, char const *)
Guaranteed unlock.
#define OTP_MAX_CHALLENGE_LEN
otp_pwe_t otp_pwe_present(REQUEST const *)
ssize_t otp_a2x(uint8_t const *, size_t, uint8_t *)
bool allow_sync
Useful to override pwdfile card_type settings.
void _otp_pthread_mutex_lock(pthread_mutex_t *, char const *)
Guaranteed lock.
uint32_t mschap_mppe_types
key type/length for mschap/mppe.
uint8_t hmac_key[16]
because it doesn't track State