67 lines
1.8 KiB
C
67 lines
1.8 KiB
C
#ifndef _ADMINUSERS_H
|
|
#define _ADMINUSERS_H
|
|
/*
|
|
* Copyright (c) 2016 MariaDB Corporation Ab
|
|
*
|
|
* Use of this software is governed by the Business Source License included
|
|
* in the LICENSE.TXT file and at www.mariadb.com/bsl.
|
|
*
|
|
* Change Date: 2019-07-01
|
|
*
|
|
* On the date above, in accordance with the Business Source License, use
|
|
* of this software will be governed by version 2 or later of the General
|
|
* Public License.
|
|
*/
|
|
|
|
/**
|
|
* @file adminusers.h - Administration users support routines
|
|
*
|
|
* @verbatim
|
|
* Revision History
|
|
*
|
|
* Date Who Description
|
|
* 18/07/13 Mark Riddoch Initial implementation
|
|
*
|
|
* @endverbatim
|
|
*/
|
|
#include <dcb.h>
|
|
|
|
#define ADMIN_SALT "$1$MXS"
|
|
|
|
/* Max length of fields in for admin users */
|
|
#define ADMIN_USER_MAXLEN 128
|
|
#define ADMIN_PASSWORD_MAXLEN 128
|
|
|
|
/** Default user for the administrative interface */
|
|
#define DEFAULT_ADMIN_USER "@DEFAULT_ADMIN_USER@"
|
|
|
|
/*
|
|
* MySQL session specific data
|
|
*
|
|
*/
|
|
typedef struct admin_session
|
|
{
|
|
#if defined(SS_DEBUG)
|
|
skygw_chk_t adminses_chk_top;
|
|
#endif
|
|
char user[ADMIN_USER_MAXLEN + 1]; /*< username */
|
|
bool validated; /* Was user validated? */
|
|
#if defined(SS_DEBUG)
|
|
skygw_chk_t adminses_chk_tail;
|
|
#endif
|
|
} ADMIN_session;
|
|
|
|
extern const char *admin_enable_linux_account(const char *uname);
|
|
extern const char *admin_disable_linux_account(const char *uname);
|
|
extern bool admin_linux_account_enabled(const char *uname);
|
|
|
|
extern const char *admin_add_inet_user(const char *uname, const char *password);
|
|
extern const char *admin_remove_inet_user(const char *uname, const char *password);
|
|
extern bool admin_inet_user_exists(const char *uname);
|
|
|
|
extern bool admin_verify_inet_user(const char *uname, const char *password);
|
|
|
|
extern void dcb_PrintAdminUsers(DCB *dcb);
|
|
|
|
#endif
|