Submit
Path:
~
/
/
proc
/
self
/
root
/
usr
/
include
/
mysql
/
server
/
mysql
/
File Content:
service_my_crypt.h
#ifndef MYSQL_SERVICE_MY_CRYPT_INCLUDED #define MYSQL_SERVICE_MY_CRYPT_INCLUDED /* Copyright (c) 2014 Google Inc. Copyright (c) 2014, 2015 MariaDB Corporation This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */ /** @file my crypt service AES encryption functions, and a function to generate random bytes. Include my_config.h before this file to use CTR and GCM modes (they only work if server was compiled with openssl). */ #ifdef __cplusplus extern "C" { #endif /* return values from my_aes_encrypt/my_aes_decrypt functions */ #define MY_AES_OK 0 #define MY_AES_BAD_DATA -100 #define MY_AES_OPENSSL_ERROR -101 #define MY_AES_BAD_KEYSIZE -102 /* The block size for all supported algorithms */ #define MY_AES_BLOCK_SIZE 16 /* The max key length of all supported algorithms */ #define MY_AES_MAX_KEY_LENGTH 32 #define MY_AES_CTX_SIZE 1040 enum my_aes_mode { MY_AES_ECB, MY_AES_CBC #ifdef HAVE_EncryptAes128Ctr , MY_AES_CTR #endif #ifdef HAVE_EncryptAes128Gcm , MY_AES_GCM #endif }; extern struct my_crypt_service_st { int (*my_aes_crypt_init)(void *ctx, enum my_aes_mode mode, int flags, const unsigned char* key, unsigned int klen, const unsigned char* iv, unsigned int ivlen); int (*my_aes_crypt_update)(void *ctx, const unsigned char *src, unsigned int slen, unsigned char *dst, unsigned int *dlen); int (*my_aes_crypt_finish)(void *ctx, unsigned char *dst, unsigned int *dlen); int (*my_aes_crypt)(enum my_aes_mode mode, int flags, const unsigned char *src, unsigned int slen, unsigned char *dst, unsigned int *dlen, const unsigned char *key, unsigned int klen, const unsigned char *iv, unsigned int ivlen); unsigned int (*my_aes_get_size)(enum my_aes_mode mode, unsigned int source_length); unsigned int (*my_aes_ctx_size)(enum my_aes_mode mode); int (*my_random_bytes)(unsigned char* buf, int num); } *my_crypt_service; #ifdef MYSQL_DYNAMIC_PLUGIN #define my_aes_crypt_init(A,B,C,D,E,F,G) \ my_crypt_service->my_aes_crypt_init(A,B,C,D,E,F,G) #define my_aes_crypt_update(A,B,C,D,E) \ my_crypt_service->my_aes_crypt_update(A,B,C,D,E) #define my_aes_crypt_finish(A,B,C) \ my_crypt_service->my_aes_crypt_finish(A,B,C) #define my_aes_crypt(A,B,C,D,E,F,G,H,I,J) \ my_crypt_service->my_aes_crypt(A,B,C,D,E,F,G,H,I,J) #define my_aes_get_size(A,B)\ my_crypt_service->my_aes_get_size(A,B) #define my_aes_ctx_size(A)\ my_crypt_service->my_aes_ctx_size(A) #define my_random_bytes(A,B)\ my_crypt_service->my_random_bytes(A,B) #else int my_aes_crypt_init(void *ctx, enum my_aes_mode mode, int flags, const unsigned char* key, unsigned int klen, const unsigned char* iv, unsigned int ivlen); int my_aes_crypt_update(void *ctx, const unsigned char *src, unsigned int slen, unsigned char *dst, unsigned int *dlen); int my_aes_crypt_finish(void *ctx, unsigned char *dst, unsigned int *dlen); int my_aes_crypt(enum my_aes_mode mode, int flags, const unsigned char *src, unsigned int slen, unsigned char *dst, unsigned int *dlen, const unsigned char *key, unsigned int klen, const unsigned char *iv, unsigned int ivlen); int my_random_bytes(unsigned char* buf, int num); unsigned int my_aes_get_size(enum my_aes_mode mode, unsigned int source_length); unsigned int my_aes_ctx_size(enum my_aes_mode mode); #endif #ifdef __cplusplus } #endif #endif /* MYSQL_SERVICE_MY_CRYPT_INCLUDED */
Edit
Rename
Chmod
Delete
FILE
FOLDER
Name
Size
Permission
Action
psi
---
0755
auth_dialog_client.h
2061 bytes
0644
client_plugin.h
6421 bytes
0644
plugin.h
29894 bytes
0644
plugin_audit.h
5575 bytes
0644
plugin_auth.h
5400 bytes
0644
plugin_auth_common.h
4557 bytes
0644
plugin_data_type.h
1300 bytes
0644
plugin_encryption.h
4561 bytes
0644
plugin_ftparser.h
7832 bytes
0644
plugin_function.h
1437 bytes
0644
plugin_password_validation.h
1620 bytes
0644
service_base64.h
2932 bytes
0644
service_debug_sync.h
13580 bytes
0644
service_encryption.h
6173 bytes
0644
service_encryption_scheme.h
5646 bytes
0644
service_json.h
4551 bytes
0644
service_kill_statement.h
2070 bytes
0644
service_log_warnings.h
1377 bytes
0644
service_logger.h
3551 bytes
0644
service_md5.h
2119 bytes
0644
service_my_crypt.h
4167 bytes
0644
service_my_print_error.h
2328 bytes
0644
service_my_snprintf.h
3722 bytes
0644
service_print_check_msg.h
1552 bytes
0644
service_progress_report.h
3356 bytes
0644
service_sha1.h
2162 bytes
0644
service_sha2.h
5299 bytes
0644
service_sql.h
5134 bytes
0644
service_thd_alloc.h
4739 bytes
0644
service_thd_autoinc.h
1692 bytes
0644
service_thd_error_context.h
3424 bytes
0644
service_thd_mdl.h
1282 bytes
0644
service_thd_rnd.h
1902 bytes
0644
service_thd_specifics.h
3686 bytes
0644
service_thd_timezone.h
2291 bytes
0644
service_thd_wait.h
3695 bytes
0644
service_wsrep.h
14158 bytes
0644
services.h
1762 bytes
0644
N4ST4R_ID | Naxtarrr