Skip to content

Commit f413acf

Browse files
Pull crypto_openssl into Makefile.in for building
1 parent 1bc7917 commit f413acf

File tree

4 files changed

+63
-3
lines changed

4 files changed

+63
-3
lines changed

Makefile.in

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,9 @@ CRYPTOLIBOBJ = \
140140
CRYPTOSRC = \
141141
$(TOP)/src/crypto.h \
142142
$(TOP)/src/crypto.c \
143-
$(TOP)/src/crypto_impl.c
143+
$(TOP)/src/crypto_impl.h \
144+
$(TOP)/src/crypto_impl.c \
145+
$(TOP)/src/crypto_openssl.c
144146

145147
# END CRYPTO
146148

src/crypto_impl.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
#include "sqliteInt.h"
3737
#include "btreeInt.h"
3838
#include "crypto.h"
39+
#include "crypto_impl.h"
3940
#ifndef OMIT_MEMLOCK
4041
#if defined(__unix__) || defined(__APPLE__)
4142
#include <sys/mman.h>
@@ -44,8 +45,6 @@
4445
#endif
4546
#endif
4647

47-
#include "crypto_openssl.c"
48-
4948
/* the default implementation of SQLCipher uses a cipher_ctx
5049
to keep track of read / write state separately. The following
5150
struct and associated functions are defined here */

src/crypto_impl.h

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
/*
2+
** SQLCipher
3+
** crypto.h developed by Stephen Lombardo (Zetetic LLC)
4+
** sjlombardo at zetetic dot net
5+
** http://zetetic.net
6+
**
7+
** Copyright (c) 2008, ZETETIC LLC
8+
** All rights reserved.
9+
**
10+
** Redistribution and use in source and binary forms, with or without
11+
** modification, are permitted provided that the following conditions are met:
12+
** * Redistributions of source code must retain the above copyright
13+
** notice, this list of conditions and the following disclaimer.
14+
** * Redistributions in binary form must reproduce the above copyright
15+
** notice, this list of conditions and the following disclaimer in the
16+
** documentation and/or other materials provided with the distribution.
17+
** * Neither the name of the ZETETIC LLC nor the
18+
** names of its contributors may be used to endorse or promote products
19+
** derived from this software without specific prior written permission.
20+
**
21+
** THIS SOFTWARE IS PROVIDED BY ZETETIC LLC ''AS IS'' AND ANY
22+
** EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
23+
** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24+
** DISCLAIMED. IN NO EVENT SHALL ZETETIC LLC BE LIABLE FOR ANY
25+
** DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
26+
** (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
27+
** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
28+
** ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29+
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30+
** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31+
**
32+
*/
33+
/* BEGIN CRYPTO_IMPL */
34+
#ifdef SQLITE_HAS_CODEC
35+
#ifndef CRYPTO_IMPL_H
36+
#define CRYPTO_IMPL_H
37+
38+
void sqlcipher_activate(void *ctx);
39+
void sqlcipher_deactivate();
40+
int sqlcipher_random (void *buffer, int length);
41+
int sqlcipher_hmac(unsigned char *hmac_key, int key_sz, unsigned char *in, int in_sz, unsigned char *in2, int in2_sz, unsigned char *out);
42+
int sqlcipher_kdf(const unsigned char *pass, int pass_sz, unsigned char* salt, int salt_sz, int workfactor, int key_sz, unsigned char *key);
43+
int sqlcipher_cipher(void *ctx, int mode, unsigned char *key, int key_sz, unsigned char *iv, unsigned char *in, int in_sz, unsigned char *out);
44+
int sqlcipher_set_cipher(void *ctx, const char *cipher_name);
45+
const char* sqlcipher_get_cipher(void *ctx);
46+
int sqlcipher_get_key_sz(void *ctx);
47+
int sqlcipher_get_iv_sz(void *ctx);
48+
int sqlcipher_get_block_sz(void *ctx);
49+
int sqlcipher_get_hmac_sz(void *ctx);
50+
int sqlcipher_ctx_copy(void *target_ctx, void *source_ctx);
51+
int sqlcipher_ctx_cmp(void *c1, void *c2);
52+
int sqlcipher_ctx_init(void **ctx);
53+
int sqlcipher_ctx_free(void **ctx);
54+
55+
#endif
56+
#endif
57+
/* END CRYPTO_IMPL */

tool/mksqlite3c.tcl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ if {$addstatic} {
9292
#
9393
foreach hdr {
9494
crypto.h
95+
crypto_impl.h
9596
btree.h
9697
btreeInt.h
9798
fts3.h
@@ -226,6 +227,7 @@ foreach file {
226227

227228
crypto.c
228229
crypto_impl.c
230+
crypto_openssl.c
229231

230232
global.c
231233
ctime.c

0 commit comments

Comments
 (0)