#ifndef CT_USERMGMT_H #define CT_USERMGMT_H #include #include "curve.h" #include "crypto_hash_sha512.h" enum is_user_enum { USERNAMES_OK = 0, /* Usernames match, valid 'token' */ USERNAMES_NE, /* Usernames do not match */ USERNAMES_TS, /* Usernames match, but 'token' invalid, Drop connection here */ USERNAMES_ERR, }; struct username_struct { uint32_t salt; uint8_t hash[crypto_hash_sha512_BYTES]; }; extern int username_msg(char *username, size_t len, char *dst, size_t dlen); extern enum is_user_enum username_msg_is_user(char *src, size_t slen, char *username, size_t len); extern void parse_userfile_and_generate_user_store_or_die(char *homedir); extern void dump_user_store(void); extern void destroy_user_store(void); extern int get_user_by_socket(int sock, struct curve25519_proto **proto); extern int get_user_by_sockaddr(struct sockaddr_storage *sa, size_t sa_len, struct curve25519_proto **proto); extern int try_register_user_by_socket(struct curve25519_struct *c, char *src, size_t slen, int sock, int log); extern int try_register_user_by_sockaddr(struct curve25519_struct *c, char *src, size_t slen, struct sockaddr_storage *sa, size_t sa_len, int log); extern void remove_user_by_socket(int sock); extern void remove_user_by_sockaddr(struct sockaddr_storage *sa, size_t sa_len); #endif /* CT_USERMGMT_H */ td class='sub'>net-next plumbingsTobias Klauser
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlia Mirkin <imirkin@alum.mit.edu>2016-09-09 22:34:02 -0400
committerBen Skeggs <bskeggs@redhat.com>2016-09-22 17:32:20 +1000
commit666ca3d8f19082f40745d75f3cc7cc0200ee87e3 (patch)
treebe6e161d757a2d22b0efd7725d1b9236e8a56440
parent47a66e45d7a7613322549c2475ea9d809baaf514 (diff)
drm/nouveau/fifo/nv04: avoid ramht race against cookie insertion
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: stable@vger.kernel.org Signed-off-by: Ben Skeggs <bskeggs@redhat.com>