-
Notifications
You must be signed in to change notification settings - Fork 28
/
Copy pathsqlite3secure.c
111 lines (93 loc) · 2.27 KB
/
sqlite3secure.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
// To enable the extension functions define SQLITE_ENABLE_EXTFUNC on compiling this module
#ifdef SQLITE_ENABLE_EXTFUNC
#define sqlite3_open sqlite3_open_internal
#define sqlite3_open16 sqlite3_open16_internal
#define sqlite3_open_v2 sqlite3_open_v2_internal
#endif
// Enable the user authentication feature
//#ifndef SQLITE_USER_AUTHENTICATION
//#define SQLITE_USER_AUTHENTICATION 1
//#endif
#include "sqlite3.c"
#ifdef SQLITE_USER_AUTHENTICATION
#include "sha2.h"
#include "sha2.c"
#include "userauth.c"
#endif
#ifdef SQLITE_ENABLE_EXTFUNC
#undef sqlite3_open
#undef sqlite3_open16
#undef sqlite3_open_v2
#endif
#ifndef SQLITE_OMIT_DISKIO
#ifdef SQLITE_HAS_CODEC
/*
** Get the codec argument for this pager
*/
void* mySqlite3PagerGetCodec(
Pager *pPager
){
#if (SQLITE_VERSION_NUMBER >= 3006016)
return sqlite3PagerGetCodec(pPager);
#else
return (pPager->xCodec) ? pPager->pCodecArg : NULL;
#endif
}
/*
** Set the codec argument for this pager
*/
void mySqlite3PagerSetCodec(
Pager *pPager,
void *(*xCodec)(void*,void*,Pgno,int),
void (*xCodecSizeChng)(void*,int,int),
void (*xCodecFree)(void*),
void *pCodec
){
sqlite3PagerSetCodec(pPager, xCodec, xCodecSizeChng, xCodecFree, pCodec);
}
#include "rijndael.c"
#include "codec.c"
#include "codecext.c"
#endif
#endif
#ifdef SQLITE_ENABLE_EXTFUNC
#include "extensionfunctions.c"
SQLITE_API int sqlite3_open(
const char *filename, /* Database filename (UTF-8) */
sqlite3 **ppDb /* OUT: SQLite db handle */
)
{
int ret = sqlite3_open_internal(filename, ppDb);
if (ret == 0)
{
RegisterExtensionFunctions(*ppDb);
}
return ret;
}
SQLITE_API int sqlite3_open16(
const void *filename, /* Database filename (UTF-16) */
sqlite3 **ppDb /* OUT: SQLite db handle */
)
{
int ret = sqlite3_open16_internal(filename, ppDb);
if (ret == 0)
{
RegisterExtensionFunctions(*ppDb);
}
return ret;
}
SQLITE_API int sqlite3_open_v2(
const char *filename, /* Database filename (UTF-8) */
sqlite3 **ppDb, /* OUT: SQLite db handle */
int flags, /* Flags */
const char *zVfs /* Name of VFS module to use */
)
{
int ret = sqlite3_open_v2_internal(filename, ppDb, flags, zVfs);
if (ret == 0)
{
RegisterExtensionFunctions(*ppDb);
}
return ret;
}
#endif