~ubuntu-branches/ubuntu/utopic/dropbear/utopic-proposed

« back to all changes in this revision

Viewing changes to libtomcrypt/src/headers/tomcrypt_cfg.h

  • Committer: Bazaar Package Importer
  • Author(s): Matt Johnston
  • Date: 2005-12-08 19:20:21 UTC
  • mfrom: (1.2.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20051208192021-nyp9rwnt77nsg6ty
Tags: 0.47-1
* New upstream release.
* SECURITY: Fix incorrect buffer sizing.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* This is the build config file.
 
2
 *
 
3
 * With this you can setup what to inlcude/exclude automatically during any build.  Just comment
 
4
 * out the line that #define's the word for the thing you want to remove.  phew!
 
5
 */
 
6
 
 
7
#ifndef TOMCRYPT_CFG_H
 
8
#define TOMCRYPT_CFG_H
 
9
 
 
10
/* you can change how memory allocation works ... */
 
11
void *XMALLOC(size_t n);
 
12
void *XREALLOC(void *p, size_t n);
 
13
void *XCALLOC(size_t n, size_t s);
 
14
void XFREE(void *p);
 
15
 
 
16
/* change the clock function too */
 
17
 clock_t XCLOCK(void);
 
18
 
 
19
/* various other functions */
 
20
void *XMEMCPY(void *dest, const void *src, size_t n);
 
21
int   XMEMCMP(const void *s1, const void *s2, size_t n);
 
22
 
 
23
/* type of argument checking, 0=default, 1=fatal and 2=none */
 
24
#define ARGTYPE  0
 
25
 
 
26
/* Controls endianess and size of registers.  Leave uncommented to get platform neutral [slower] code 
 
27
 * 
 
28
 * Note: in order to use the optimized macros your platform must support unaligned 32 and 64 bit read/writes.
 
29
 * The x86 platforms allow this but some others [ARM for instance] do not.  On those platforms you **MUST**
 
30
 * use the portable [slower] macros.
 
31
 */
 
32
 
 
33
/* detect x86-32 machines somewhat */
 
34
#if defined(INTEL_CC) || (defined(_MSC_VER) && defined(WIN32)) || (defined(__GNUC__) && (defined(__DJGPP__) || defined(__CYGWIN__) || defined(__MINGW32__) || defined(__i386__)))
 
35
   #define ENDIAN_LITTLE
 
36
   #define ENDIAN_32BITWORD
 
37
   #define LTC_FAST
 
38
   #define LTC_FAST_TYPE    unsigned long
 
39
#endif
 
40
 
 
41
/* detects MIPS R5900 processors (PS2) */
 
42
#if (defined(__R5900) || defined(R5900) || defined(__R5900__)) && (defined(_mips) || defined(__mips__) || defined(mips))
 
43
   #define ENDIAN_LITTLE
 
44
   #define ENDIAN_64BITWORD
 
45
#endif
 
46
 
 
47
/* detect amd64 */
 
48
#if defined(__x86_64__)
 
49
   #define ENDIAN_LITTLE
 
50
   #define ENDIAN_64BITWORD
 
51
   #define LTC_FAST
 
52
   #define LTC_FAST_TYPE    unsigned long
 
53
#endif
 
54
 
 
55
#ifdef LTC_NO_FAST
 
56
   #ifdef LTC_FAST
 
57
      #undef LTC_FAST
 
58
   #endif
 
59
#endif
 
60
 
 
61
/* No asm is a quick way to disable anything "not portable" */
 
62
#ifdef LTC_NO_ASM
 
63
   #undef ENDIAN_LITTLE
 
64
   #undef ENDIAN_BIG
 
65
   #undef ENDIAN_32BITWORD
 
66
   #undef ENDIAN_64BITWORD
 
67
   #undef LTC_FAST
 
68
   #undef LTC_FAST_TYPE
 
69
   #define LTC_NO_ROLC
 
70
        #define LTC_NO_BSWAP
 
71
#endif
 
72
 
 
73
/* #define ENDIAN_LITTLE */
 
74
/* #define ENDIAN_BIG */
 
75
 
 
76
/* #define ENDIAN_32BITWORD */
 
77
/* #define ENDIAN_64BITWORD */
 
78
 
 
79
#if (defined(ENDIAN_BIG) || defined(ENDIAN_LITTLE)) && !(defined(ENDIAN_32BITWORD) || defined(ENDIAN_64BITWORD))
 
80
    #error You must specify a word size as well as endianess in mycrypt_cfg.h
 
81
#endif
 
82
 
 
83
#if !(defined(ENDIAN_BIG) || defined(ENDIAN_LITTLE))
 
84
   #define ENDIAN_NEUTRAL
 
85
#endif
 
86
 
 
87
/* packet code */
 
88
#if defined(MRSA) || defined(MDH) || defined(MECC)
 
89
    #define PACKET
 
90
 
 
91
    /* size of a packet header in bytes */
 
92
    #define PACKET_SIZE            4
 
93
 
 
94
    /* Section tags */
 
95
    #define PACKET_SECT_RSA        0
 
96
    #define PACKET_SECT_DH         1
 
97
    #define PACKET_SECT_ECC        2
 
98
    #define PACKET_SECT_DSA        3
 
99
 
 
100
    /* Subsection Tags for the first three sections */
 
101
    #define PACKET_SUB_KEY         0
 
102
    #define PACKET_SUB_ENCRYPTED   1
 
103
    #define PACKET_SUB_SIGNED      2
 
104
    #define PACKET_SUB_ENC_KEY     3
 
105
#endif
 
106
 
 
107
#endif
 
108
 
 
109
 
 
110
/* $Source: /cvs/libtom/libtomcrypt/src/headers/tomcrypt_cfg.h,v $ */
 
111
/* $Revision: 1.7 $ */
 
112
/* $Date: 2005/05/05 14:35:58 $ */