diff options
Diffstat (limited to 'StarsEx/NetAuth.h')
-rw-r--r-- | StarsEx/NetAuth.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/StarsEx/NetAuth.h b/StarsEx/NetAuth.h new file mode 100644 index 0000000..42103fc --- /dev/null +++ b/StarsEx/NetAuth.h @@ -0,0 +1,50 @@ +/* Starshatter: The Open Source Project + Copyright (c) 2021-2022, Starshatter: The Open Source Project Contributors + Copyright (c) 2011-2012, Starshatter OpenSource Distribution Contributors + Copyright (c) 1997-2006, Destroyer Studios LLC. + + AUTHOR: John DiCamillo + + + OVERVIEW + ======== + This class authenticates a user connecting to the multiplayer lobby +*/ + + +#ifndef NetAuth_h +#define NetAuth_h + +#include "Types.h" +#include "NetAddr.h" +#include "NetLobby.h" +#include "Text.h" + +// +-------------------------------------------------------------------+ + +class NetAuth +{ +public: + enum AUTH_STATE { + NET_AUTH_INITIAL = 0, + NET_AUTH_FAILED = 1, + NET_AUTH_OK = 2 + }; + + enum AUTH_LEVEL { + NET_AUTH_MINIMAL = 0, + NET_AUTH_STANDARD = 1, + NET_AUTH_SECURE = 2 + }; + + static int AuthLevel(); + static void SetAuthLevel(int n); + + static Text CreateAuthRequest(NetUser* u); + static Text CreateAuthResponse(int level, const char* salt); + static bool AuthUser(NetUser* u, Text response); +}; + +// +-------------------------------------------------------------------+ + +#endif // NetAuth_h
\ No newline at end of file |