openssl_rsa_pss_verify 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (99) hide show
  1. data/ext/openssl_rsa_pss_verify/extconf.rb +0 -8
  2. data/lib/openssl_rsa_pss_verify/version.rb +1 -1
  3. metadata +1 -97
  4. data/vendor/openssl/include/openssl/aes.h +0 -147
  5. data/vendor/openssl/include/openssl/asn1.h +0 -1404
  6. data/vendor/openssl/include/openssl/asn1_mac.h +0 -578
  7. data/vendor/openssl/include/openssl/asn1t.h +0 -960
  8. data/vendor/openssl/include/openssl/bio.h +0 -847
  9. data/vendor/openssl/include/openssl/blowfish.h +0 -129
  10. data/vendor/openssl/include/openssl/bn.h +0 -891
  11. data/vendor/openssl/include/openssl/buffer.h +0 -119
  12. data/vendor/openssl/include/openssl/camellia.h +0 -130
  13. data/vendor/openssl/include/openssl/cast.h +0 -107
  14. data/vendor/openssl/include/openssl/cmac.h +0 -82
  15. data/vendor/openssl/include/openssl/cms.h +0 -501
  16. data/vendor/openssl/include/openssl/comp.h +0 -80
  17. data/vendor/openssl/include/openssl/conf.h +0 -263
  18. data/vendor/openssl/include/openssl/conf_api.h +0 -89
  19. data/vendor/openssl/include/openssl/crypto.h +0 -611
  20. data/vendor/openssl/include/openssl/des.h +0 -248
  21. data/vendor/openssl/include/openssl/des_old.h +0 -446
  22. data/vendor/openssl/include/openssl/dh.h +0 -280
  23. data/vendor/openssl/include/openssl/dsa.h +0 -327
  24. data/vendor/openssl/include/openssl/dso.h +0 -409
  25. data/vendor/openssl/include/openssl/dtls1.h +0 -287
  26. data/vendor/openssl/include/openssl/e_os2.h +0 -315
  27. data/vendor/openssl/include/openssl/ebcdic.h +0 -19
  28. data/vendor/openssl/include/openssl/ec.h +0 -1167
  29. data/vendor/openssl/include/openssl/ecdh.h +0 -125
  30. data/vendor/openssl/include/openssl/ecdsa.h +0 -260
  31. data/vendor/openssl/include/openssl/engine.h +0 -842
  32. data/vendor/openssl/include/openssl/err.h +0 -386
  33. data/vendor/openssl/include/openssl/evp.h +0 -1409
  34. data/vendor/openssl/include/openssl/hmac.h +0 -110
  35. data/vendor/openssl/include/openssl/idea.h +0 -103
  36. data/vendor/openssl/include/openssl/krb5_asn.h +0 -256
  37. data/vendor/openssl/include/openssl/kssl.h +0 -183
  38. data/vendor/openssl/include/openssl/lhash.h +0 -241
  39. data/vendor/openssl/include/openssl/md4.h +0 -120
  40. data/vendor/openssl/include/openssl/md5.h +0 -120
  41. data/vendor/openssl/include/openssl/mdc2.h +0 -98
  42. data/vendor/openssl/include/openssl/modes.h +0 -135
  43. data/vendor/openssl/include/openssl/obj_mac.h +0 -4032
  44. data/vendor/openssl/include/openssl/objects.h +0 -1138
  45. data/vendor/openssl/include/openssl/ocsp.h +0 -623
  46. data/vendor/openssl/include/openssl/opensslconf.h +0 -234
  47. data/vendor/openssl/include/openssl/opensslv.h +0 -89
  48. data/vendor/openssl/include/openssl/ossl_typ.h +0 -202
  49. data/vendor/openssl/include/openssl/pem.h +0 -641
  50. data/vendor/openssl/include/openssl/pem2.h +0 -70
  51. data/vendor/openssl/include/openssl/pkcs12.h +0 -331
  52. data/vendor/openssl/include/openssl/pkcs7.h +0 -499
  53. data/vendor/openssl/include/openssl/pqueue.h +0 -94
  54. data/vendor/openssl/include/openssl/rand.h +0 -149
  55. data/vendor/openssl/include/openssl/rc2.h +0 -103
  56. data/vendor/openssl/include/openssl/rc4.h +0 -90
  57. data/vendor/openssl/include/openssl/ripemd.h +0 -107
  58. data/vendor/openssl/include/openssl/rsa.h +0 -582
  59. data/vendor/openssl/include/openssl/safestack.h +0 -2663
  60. data/vendor/openssl/include/openssl/seed.h +0 -139
  61. data/vendor/openssl/include/openssl/sha.h +0 -214
  62. data/vendor/openssl/include/openssl/srp.h +0 -172
  63. data/vendor/openssl/include/openssl/srtp.h +0 -145
  64. data/vendor/openssl/include/openssl/ssl.h +0 -2579
  65. data/vendor/openssl/include/openssl/ssl2.h +0 -272
  66. data/vendor/openssl/include/openssl/ssl23.h +0 -83
  67. data/vendor/openssl/include/openssl/ssl3.h +0 -684
  68. data/vendor/openssl/include/openssl/stack.h +0 -108
  69. data/vendor/openssl/include/openssl/symhacks.h +0 -475
  70. data/vendor/openssl/include/openssl/tls1.h +0 -735
  71. data/vendor/openssl/include/openssl/ts.h +0 -858
  72. data/vendor/openssl/include/openssl/txt_db.h +0 -112
  73. data/vendor/openssl/include/openssl/ui.h +0 -383
  74. data/vendor/openssl/include/openssl/ui_compat.h +0 -83
  75. data/vendor/openssl/include/openssl/whrlpool.h +0 -41
  76. data/vendor/openssl/include/openssl/x509.h +0 -1297
  77. data/vendor/openssl/include/openssl/x509_vfy.h +0 -567
  78. data/vendor/openssl/include/openssl/x509v3.h +0 -1007
  79. data/vendor/openssl/lib/engines/lib4758cca.so +0 -0
  80. data/vendor/openssl/lib/engines/libaep.so +0 -0
  81. data/vendor/openssl/lib/engines/libatalla.so +0 -0
  82. data/vendor/openssl/lib/engines/libcapi.so +0 -0
  83. data/vendor/openssl/lib/engines/libchil.so +0 -0
  84. data/vendor/openssl/lib/engines/libcswift.so +0 -0
  85. data/vendor/openssl/lib/engines/libgmp.so +0 -0
  86. data/vendor/openssl/lib/engines/libgost.so +0 -0
  87. data/vendor/openssl/lib/engines/libnuron.so +0 -0
  88. data/vendor/openssl/lib/engines/libpadlock.so +0 -0
  89. data/vendor/openssl/lib/engines/libsureware.so +0 -0
  90. data/vendor/openssl/lib/engines/libubsec.so +0 -0
  91. data/vendor/openssl/lib/libcrypto.a +0 -0
  92. data/vendor/openssl/lib/libcrypto.so +0 -0
  93. data/vendor/openssl/lib/libcrypto.so.1.0.0 +0 -0
  94. data/vendor/openssl/lib/libssl.a +0 -0
  95. data/vendor/openssl/lib/libssl.so +0 -0
  96. data/vendor/openssl/lib/libssl.so.1.0.0 +0 -0
  97. data/vendor/openssl/lib/pkgconfig/libcrypto.pc +0 -12
  98. data/vendor/openssl/lib/pkgconfig/libssl.pc +0 -12
  99. data/vendor/openssl/lib/pkgconfig/openssl.pc +0 -12
@@ -1,112 +0,0 @@
1
- /* crypto/txt_db/txt_db.h */
2
- /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3
- * All rights reserved.
4
- *
5
- * This package is an SSL implementation written
6
- * by Eric Young (eay@cryptsoft.com).
7
- * The implementation was written so as to conform with Netscapes SSL.
8
- *
9
- * This library is free for commercial and non-commercial use as long as
10
- * the following conditions are aheared to. The following conditions
11
- * apply to all code found in this distribution, be it the RC4, RSA,
12
- * lhash, DES, etc., code; not just the SSL code. The SSL documentation
13
- * included with this distribution is covered by the same copyright terms
14
- * except that the holder is Tim Hudson (tjh@cryptsoft.com).
15
- *
16
- * Copyright remains Eric Young's, and as such any Copyright notices in
17
- * the code are not to be removed.
18
- * If this package is used in a product, Eric Young should be given attribution
19
- * as the author of the parts of the library used.
20
- * This can be in the form of a textual message at program startup or
21
- * in documentation (online or textual) provided with the package.
22
- *
23
- * Redistribution and use in source and binary forms, with or without
24
- * modification, are permitted provided that the following conditions
25
- * are met:
26
- * 1. Redistributions of source code must retain the copyright
27
- * notice, this list of conditions and the following disclaimer.
28
- * 2. Redistributions in binary form must reproduce the above copyright
29
- * notice, this list of conditions and the following disclaimer in the
30
- * documentation and/or other materials provided with the distribution.
31
- * 3. All advertising materials mentioning features or use of this software
32
- * must display the following acknowledgement:
33
- * "This product includes cryptographic software written by
34
- * Eric Young (eay@cryptsoft.com)"
35
- * The word 'cryptographic' can be left out if the rouines from the library
36
- * being used are not cryptographic related :-).
37
- * 4. If you include any Windows specific code (or a derivative thereof) from
38
- * the apps directory (application code) you must include an acknowledgement:
39
- * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
40
- *
41
- * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
42
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
43
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
44
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
45
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
46
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
47
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
48
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
49
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
50
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
51
- * SUCH DAMAGE.
52
- *
53
- * The licence and distribution terms for any publically available version or
54
- * derivative of this code cannot be changed. i.e. this code cannot simply be
55
- * copied and put under another distribution licence
56
- * [including the GNU Public Licence.]
57
- */
58
-
59
- #ifndef HEADER_TXT_DB_H
60
- #define HEADER_TXT_DB_H
61
-
62
- #include <openssl/opensslconf.h>
63
- #ifndef OPENSSL_NO_BIO
64
- #include <openssl/bio.h>
65
- #endif
66
- #include <openssl/stack.h>
67
- #include <openssl/lhash.h>
68
-
69
- #define DB_ERROR_OK 0
70
- #define DB_ERROR_MALLOC 1
71
- #define DB_ERROR_INDEX_CLASH 2
72
- #define DB_ERROR_INDEX_OUT_OF_RANGE 3
73
- #define DB_ERROR_NO_INDEX 4
74
- #define DB_ERROR_INSERT_INDEX_CLASH 5
75
-
76
- #ifdef __cplusplus
77
- extern "C" {
78
- #endif
79
-
80
- typedef OPENSSL_STRING *OPENSSL_PSTRING;
81
- DECLARE_SPECIAL_STACK_OF(OPENSSL_PSTRING, OPENSSL_STRING)
82
-
83
- typedef struct txt_db_st
84
- {
85
- int num_fields;
86
- STACK_OF(OPENSSL_PSTRING) *data;
87
- LHASH_OF(OPENSSL_STRING) **index;
88
- int (**qual)(OPENSSL_STRING *);
89
- long error;
90
- long arg1;
91
- long arg2;
92
- OPENSSL_STRING *arg_row;
93
- } TXT_DB;
94
-
95
- #ifndef OPENSSL_NO_BIO
96
- TXT_DB *TXT_DB_read(BIO *in, int num);
97
- long TXT_DB_write(BIO *out, TXT_DB *db);
98
- #else
99
- TXT_DB *TXT_DB_read(char *in, int num);
100
- long TXT_DB_write(char *out, TXT_DB *db);
101
- #endif
102
- int TXT_DB_create_index(TXT_DB *db,int field,int (*qual)(OPENSSL_STRING *),
103
- LHASH_HASH_FN_TYPE hash, LHASH_COMP_FN_TYPE cmp);
104
- void TXT_DB_free(TXT_DB *db);
105
- OPENSSL_STRING *TXT_DB_get_by_index(TXT_DB *db, int idx, OPENSSL_STRING *value);
106
- int TXT_DB_insert(TXT_DB *db, OPENSSL_STRING *value);
107
-
108
- #ifdef __cplusplus
109
- }
110
- #endif
111
-
112
- #endif
@@ -1,383 +0,0 @@
1
- /* crypto/ui/ui.h -*- mode:C; c-file-style: "eay" -*- */
2
- /* Written by Richard Levitte (richard@levitte.org) for the OpenSSL
3
- * project 2001.
4
- */
5
- /* ====================================================================
6
- * Copyright (c) 2001 The OpenSSL Project. All rights reserved.
7
- *
8
- * Redistribution and use in source and binary forms, with or without
9
- * modification, are permitted provided that the following conditions
10
- * are met:
11
- *
12
- * 1. Redistributions of source code must retain the above copyright
13
- * notice, this list of conditions and the following disclaimer.
14
- *
15
- * 2. Redistributions in binary form must reproduce the above copyright
16
- * notice, this list of conditions and the following disclaimer in
17
- * the documentation and/or other materials provided with the
18
- * distribution.
19
- *
20
- * 3. All advertising materials mentioning features or use of this
21
- * software must display the following acknowledgment:
22
- * "This product includes software developed by the OpenSSL Project
23
- * for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
24
- *
25
- * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
26
- * endorse or promote products derived from this software without
27
- * prior written permission. For written permission, please contact
28
- * openssl-core@openssl.org.
29
- *
30
- * 5. Products derived from this software may not be called "OpenSSL"
31
- * nor may "OpenSSL" appear in their names without prior written
32
- * permission of the OpenSSL Project.
33
- *
34
- * 6. Redistributions of any form whatsoever must retain the following
35
- * acknowledgment:
36
- * "This product includes software developed by the OpenSSL Project
37
- * for use in the OpenSSL Toolkit (http://www.openssl.org/)"
38
- *
39
- * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
40
- * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
41
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
42
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
43
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
44
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
45
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
46
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
47
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
48
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
49
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
50
- * OF THE POSSIBILITY OF SUCH DAMAGE.
51
- * ====================================================================
52
- *
53
- * This product includes cryptographic software written by Eric Young
54
- * (eay@cryptsoft.com). This product includes software written by Tim
55
- * Hudson (tjh@cryptsoft.com).
56
- *
57
- */
58
-
59
- #ifndef HEADER_UI_H
60
- #define HEADER_UI_H
61
-
62
- #ifndef OPENSSL_NO_DEPRECATED
63
- #include <openssl/crypto.h>
64
- #endif
65
- #include <openssl/safestack.h>
66
- #include <openssl/ossl_typ.h>
67
-
68
- #ifdef __cplusplus
69
- extern "C" {
70
- #endif
71
-
72
- /* Declared already in ossl_typ.h */
73
- /* typedef struct ui_st UI; */
74
- /* typedef struct ui_method_st UI_METHOD; */
75
-
76
-
77
- /* All the following functions return -1 or NULL on error and in some cases
78
- (UI_process()) -2 if interrupted or in some other way cancelled.
79
- When everything is fine, they return 0, a positive value or a non-NULL
80
- pointer, all depending on their purpose. */
81
-
82
- /* Creators and destructor. */
83
- UI *UI_new(void);
84
- UI *UI_new_method(const UI_METHOD *method);
85
- void UI_free(UI *ui);
86
-
87
- /* The following functions are used to add strings to be printed and prompt
88
- strings to prompt for data. The names are UI_{add,dup}_<function>_string
89
- and UI_{add,dup}_input_boolean.
90
-
91
- UI_{add,dup}_<function>_string have the following meanings:
92
- add add a text or prompt string. The pointers given to these
93
- functions are used verbatim, no copying is done.
94
- dup make a copy of the text or prompt string, then add the copy
95
- to the collection of strings in the user interface.
96
- <function>
97
- The function is a name for the functionality that the given
98
- string shall be used for. It can be one of:
99
- input use the string as data prompt.
100
- verify use the string as verification prompt. This
101
- is used to verify a previous input.
102
- info use the string for informational output.
103
- error use the string for error output.
104
- Honestly, there's currently no difference between info and error for the
105
- moment.
106
-
107
- UI_{add,dup}_input_boolean have the same semantics for "add" and "dup",
108
- and are typically used when one wants to prompt for a yes/no response.
109
-
110
-
111
- All of the functions in this group take a UI and a prompt string.
112
- The string input and verify addition functions also take a flag argument,
113
- a buffer for the result to end up with, a minimum input size and a maximum
114
- input size (the result buffer MUST be large enough to be able to contain
115
- the maximum number of characters). Additionally, the verify addition
116
- functions takes another buffer to compare the result against.
117
- The boolean input functions take an action description string (which should
118
- be safe to ignore if the expected user action is obvious, for example with
119
- a dialog box with an OK button and a Cancel button), a string of acceptable
120
- characters to mean OK and to mean Cancel. The two last strings are checked
121
- to make sure they don't have common characters. Additionally, the same
122
- flag argument as for the string input is taken, as well as a result buffer.
123
- The result buffer is required to be at least one byte long. Depending on
124
- the answer, the first character from the OK or the Cancel character strings
125
- will be stored in the first byte of the result buffer. No NUL will be
126
- added, so the result is *not* a string.
127
-
128
- On success, the all return an index of the added information. That index
129
- is usefull when retrieving results with UI_get0_result(). */
130
- int UI_add_input_string(UI *ui, const char *prompt, int flags,
131
- char *result_buf, int minsize, int maxsize);
132
- int UI_dup_input_string(UI *ui, const char *prompt, int flags,
133
- char *result_buf, int minsize, int maxsize);
134
- int UI_add_verify_string(UI *ui, const char *prompt, int flags,
135
- char *result_buf, int minsize, int maxsize, const char *test_buf);
136
- int UI_dup_verify_string(UI *ui, const char *prompt, int flags,
137
- char *result_buf, int minsize, int maxsize, const char *test_buf);
138
- int UI_add_input_boolean(UI *ui, const char *prompt, const char *action_desc,
139
- const char *ok_chars, const char *cancel_chars,
140
- int flags, char *result_buf);
141
- int UI_dup_input_boolean(UI *ui, const char *prompt, const char *action_desc,
142
- const char *ok_chars, const char *cancel_chars,
143
- int flags, char *result_buf);
144
- int UI_add_info_string(UI *ui, const char *text);
145
- int UI_dup_info_string(UI *ui, const char *text);
146
- int UI_add_error_string(UI *ui, const char *text);
147
- int UI_dup_error_string(UI *ui, const char *text);
148
-
149
- /* These are the possible flags. They can be or'ed together. */
150
- /* Use to have echoing of input */
151
- #define UI_INPUT_FLAG_ECHO 0x01
152
- /* Use a default password. Where that password is found is completely
153
- up to the application, it might for example be in the user data set
154
- with UI_add_user_data(). It is not recommended to have more than
155
- one input in each UI being marked with this flag, or the application
156
- might get confused. */
157
- #define UI_INPUT_FLAG_DEFAULT_PWD 0x02
158
-
159
- /* The user of these routines may want to define flags of their own. The core
160
- UI won't look at those, but will pass them on to the method routines. They
161
- must use higher bits so they don't get confused with the UI bits above.
162
- UI_INPUT_FLAG_USER_BASE tells which is the lowest bit to use. A good
163
- example of use is this:
164
-
165
- #define MY_UI_FLAG1 (0x01 << UI_INPUT_FLAG_USER_BASE)
166
-
167
- */
168
- #define UI_INPUT_FLAG_USER_BASE 16
169
-
170
-
171
- /* The following function helps construct a prompt. object_desc is a
172
- textual short description of the object, for example "pass phrase",
173
- and object_name is the name of the object (might be a card name or
174
- a file name.
175
- The returned string shall always be allocated on the heap with
176
- OPENSSL_malloc(), and need to be free'd with OPENSSL_free().
177
-
178
- If the ui_method doesn't contain a pointer to a user-defined prompt
179
- constructor, a default string is built, looking like this:
180
-
181
- "Enter {object_desc} for {object_name}:"
182
-
183
- So, if object_desc has the value "pass phrase" and object_name has
184
- the value "foo.key", the resulting string is:
185
-
186
- "Enter pass phrase for foo.key:"
187
- */
188
- char *UI_construct_prompt(UI *ui_method,
189
- const char *object_desc, const char *object_name);
190
-
191
-
192
- /* The following function is used to store a pointer to user-specific data.
193
- Any previous such pointer will be returned and replaced.
194
-
195
- For callback purposes, this function makes a lot more sense than using
196
- ex_data, since the latter requires that different parts of OpenSSL or
197
- applications share the same ex_data index.
198
-
199
- Note that the UI_OpenSSL() method completely ignores the user data.
200
- Other methods may not, however. */
201
- void *UI_add_user_data(UI *ui, void *user_data);
202
- /* We need a user data retrieving function as well. */
203
- void *UI_get0_user_data(UI *ui);
204
-
205
- /* Return the result associated with a prompt given with the index i. */
206
- const char *UI_get0_result(UI *ui, int i);
207
-
208
- /* When all strings have been added, process the whole thing. */
209
- int UI_process(UI *ui);
210
-
211
- /* Give a user interface parametrised control commands. This can be used to
212
- send down an integer, a data pointer or a function pointer, as well as
213
- be used to get information from a UI. */
214
- int UI_ctrl(UI *ui, int cmd, long i, void *p, void (*f)(void));
215
-
216
- /* The commands */
217
- /* Use UI_CONTROL_PRINT_ERRORS with the value 1 to have UI_process print the
218
- OpenSSL error stack before printing any info or added error messages and
219
- before any prompting. */
220
- #define UI_CTRL_PRINT_ERRORS 1
221
- /* Check if a UI_process() is possible to do again with the same instance of
222
- a user interface. This makes UI_ctrl() return 1 if it is redoable, and 0
223
- if not. */
224
- #define UI_CTRL_IS_REDOABLE 2
225
-
226
-
227
- /* Some methods may use extra data */
228
- #define UI_set_app_data(s,arg) UI_set_ex_data(s,0,arg)
229
- #define UI_get_app_data(s) UI_get_ex_data(s,0)
230
- int UI_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
231
- CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);
232
- int UI_set_ex_data(UI *r,int idx,void *arg);
233
- void *UI_get_ex_data(UI *r, int idx);
234
-
235
- /* Use specific methods instead of the built-in one */
236
- void UI_set_default_method(const UI_METHOD *meth);
237
- const UI_METHOD *UI_get_default_method(void);
238
- const UI_METHOD *UI_get_method(UI *ui);
239
- const UI_METHOD *UI_set_method(UI *ui, const UI_METHOD *meth);
240
-
241
- /* The method with all the built-in thingies */
242
- UI_METHOD *UI_OpenSSL(void);
243
-
244
-
245
- /* ---------- For method writers ---------- */
246
- /* A method contains a number of functions that implement the low level
247
- of the User Interface. The functions are:
248
-
249
- an opener This function starts a session, maybe by opening
250
- a channel to a tty, or by opening a window.
251
- a writer This function is called to write a given string,
252
- maybe to the tty, maybe as a field label in a
253
- window.
254
- a flusher This function is called to flush everything that
255
- has been output so far. It can be used to actually
256
- display a dialog box after it has been built.
257
- a reader This function is called to read a given prompt,
258
- maybe from the tty, maybe from a field in a
259
- window. Note that it's called wth all string
260
- structures, not only the prompt ones, so it must
261
- check such things itself.
262
- a closer This function closes the session, maybe by closing
263
- the channel to the tty, or closing the window.
264
-
265
- All these functions are expected to return:
266
-
267
- 0 on error.
268
- 1 on success.
269
- -1 on out-of-band events, for example if some prompting has
270
- been canceled (by pressing Ctrl-C, for example). This is
271
- only checked when returned by the flusher or the reader.
272
-
273
- The way this is used, the opener is first called, then the writer for all
274
- strings, then the flusher, then the reader for all strings and finally the
275
- closer. Note that if you want to prompt from a terminal or other command
276
- line interface, the best is to have the reader also write the prompts
277
- instead of having the writer do it. If you want to prompt from a dialog
278
- box, the writer can be used to build up the contents of the box, and the
279
- flusher to actually display the box and run the event loop until all data
280
- has been given, after which the reader only grabs the given data and puts
281
- them back into the UI strings.
282
-
283
- All method functions take a UI as argument. Additionally, the writer and
284
- the reader take a UI_STRING.
285
- */
286
-
287
- /* The UI_STRING type is the data structure that contains all the needed info
288
- about a string or a prompt, including test data for a verification prompt.
289
- */
290
- typedef struct ui_string_st UI_STRING;
291
- DECLARE_STACK_OF(UI_STRING)
292
-
293
- /* The different types of strings that are currently supported.
294
- This is only needed by method authors. */
295
- enum UI_string_types
296
- {
297
- UIT_NONE=0,
298
- UIT_PROMPT, /* Prompt for a string */
299
- UIT_VERIFY, /* Prompt for a string and verify */
300
- UIT_BOOLEAN, /* Prompt for a yes/no response */
301
- UIT_INFO, /* Send info to the user */
302
- UIT_ERROR /* Send an error message to the user */
303
- };
304
-
305
- /* Create and manipulate methods */
306
- UI_METHOD *UI_create_method(char *name);
307
- void UI_destroy_method(UI_METHOD *ui_method);
308
- int UI_method_set_opener(UI_METHOD *method, int (*opener)(UI *ui));
309
- int UI_method_set_writer(UI_METHOD *method, int (*writer)(UI *ui, UI_STRING *uis));
310
- int UI_method_set_flusher(UI_METHOD *method, int (*flusher)(UI *ui));
311
- int UI_method_set_reader(UI_METHOD *method, int (*reader)(UI *ui, UI_STRING *uis));
312
- int UI_method_set_closer(UI_METHOD *method, int (*closer)(UI *ui));
313
- int UI_method_set_prompt_constructor(UI_METHOD *method, char *(*prompt_constructor)(UI* ui, const char* object_desc, const char* object_name));
314
- int (*UI_method_get_opener(UI_METHOD *method))(UI*);
315
- int (*UI_method_get_writer(UI_METHOD *method))(UI*,UI_STRING*);
316
- int (*UI_method_get_flusher(UI_METHOD *method))(UI*);
317
- int (*UI_method_get_reader(UI_METHOD *method))(UI*,UI_STRING*);
318
- int (*UI_method_get_closer(UI_METHOD *method))(UI*);
319
- char * (*UI_method_get_prompt_constructor(UI_METHOD *method))(UI*, const char*, const char*);
320
-
321
- /* The following functions are helpers for method writers to access relevant
322
- data from a UI_STRING. */
323
-
324
- /* Return type of the UI_STRING */
325
- enum UI_string_types UI_get_string_type(UI_STRING *uis);
326
- /* Return input flags of the UI_STRING */
327
- int UI_get_input_flags(UI_STRING *uis);
328
- /* Return the actual string to output (the prompt, info or error) */
329
- const char *UI_get0_output_string(UI_STRING *uis);
330
- /* Return the optional action string to output (the boolean promtp instruction) */
331
- const char *UI_get0_action_string(UI_STRING *uis);
332
- /* Return the result of a prompt */
333
- const char *UI_get0_result_string(UI_STRING *uis);
334
- /* Return the string to test the result against. Only useful with verifies. */
335
- const char *UI_get0_test_string(UI_STRING *uis);
336
- /* Return the required minimum size of the result */
337
- int UI_get_result_minsize(UI_STRING *uis);
338
- /* Return the required maximum size of the result */
339
- int UI_get_result_maxsize(UI_STRING *uis);
340
- /* Set the result of a UI_STRING. */
341
- int UI_set_result(UI *ui, UI_STRING *uis, const char *result);
342
-
343
-
344
- /* A couple of popular utility functions */
345
- int UI_UTIL_read_pw_string(char *buf,int length,const char *prompt,int verify);
346
- int UI_UTIL_read_pw(char *buf,char *buff,int size,const char *prompt,int verify);
347
-
348
-
349
- /* BEGIN ERROR CODES */
350
- /* The following lines are auto generated by the script mkerr.pl. Any changes
351
- * made after this point may be overwritten when the script is next run.
352
- */
353
- void ERR_load_UI_strings(void);
354
-
355
- /* Error codes for the UI functions. */
356
-
357
- /* Function codes. */
358
- #define UI_F_GENERAL_ALLOCATE_BOOLEAN 108
359
- #define UI_F_GENERAL_ALLOCATE_PROMPT 109
360
- #define UI_F_GENERAL_ALLOCATE_STRING 100
361
- #define UI_F_UI_CTRL 111
362
- #define UI_F_UI_DUP_ERROR_STRING 101
363
- #define UI_F_UI_DUP_INFO_STRING 102
364
- #define UI_F_UI_DUP_INPUT_BOOLEAN 110
365
- #define UI_F_UI_DUP_INPUT_STRING 103
366
- #define UI_F_UI_DUP_VERIFY_STRING 106
367
- #define UI_F_UI_GET0_RESULT 107
368
- #define UI_F_UI_NEW_METHOD 104
369
- #define UI_F_UI_SET_RESULT 105
370
-
371
- /* Reason codes. */
372
- #define UI_R_COMMON_OK_AND_CANCEL_CHARACTERS 104
373
- #define UI_R_INDEX_TOO_LARGE 102
374
- #define UI_R_INDEX_TOO_SMALL 103
375
- #define UI_R_NO_RESULT_BUFFER 105
376
- #define UI_R_RESULT_TOO_LARGE 100
377
- #define UI_R_RESULT_TOO_SMALL 101
378
- #define UI_R_UNKNOWN_CONTROL_COMMAND 106
379
-
380
- #ifdef __cplusplus
381
- }
382
- #endif
383
- #endif
@@ -1,83 +0,0 @@
1
- /* crypto/ui/ui.h -*- mode:C; c-file-style: "eay" -*- */
2
- /* Written by Richard Levitte (richard@levitte.org) for the OpenSSL
3
- * project 2001.
4
- */
5
- /* ====================================================================
6
- * Copyright (c) 2001 The OpenSSL Project. All rights reserved.
7
- *
8
- * Redistribution and use in source and binary forms, with or without
9
- * modification, are permitted provided that the following conditions
10
- * are met:
11
- *
12
- * 1. Redistributions of source code must retain the above copyright
13
- * notice, this list of conditions and the following disclaimer.
14
- *
15
- * 2. Redistributions in binary form must reproduce the above copyright
16
- * notice, this list of conditions and the following disclaimer in
17
- * the documentation and/or other materials provided with the
18
- * distribution.
19
- *
20
- * 3. All advertising materials mentioning features or use of this
21
- * software must display the following acknowledgment:
22
- * "This product includes software developed by the OpenSSL Project
23
- * for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
24
- *
25
- * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
26
- * endorse or promote products derived from this software without
27
- * prior written permission. For written permission, please contact
28
- * openssl-core@openssl.org.
29
- *
30
- * 5. Products derived from this software may not be called "OpenSSL"
31
- * nor may "OpenSSL" appear in their names without prior written
32
- * permission of the OpenSSL Project.
33
- *
34
- * 6. Redistributions of any form whatsoever must retain the following
35
- * acknowledgment:
36
- * "This product includes software developed by the OpenSSL Project
37
- * for use in the OpenSSL Toolkit (http://www.openssl.org/)"
38
- *
39
- * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
40
- * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
41
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
42
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
43
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
44
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
45
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
46
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
47
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
48
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
49
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
50
- * OF THE POSSIBILITY OF SUCH DAMAGE.
51
- * ====================================================================
52
- *
53
- * This product includes cryptographic software written by Eric Young
54
- * (eay@cryptsoft.com). This product includes software written by Tim
55
- * Hudson (tjh@cryptsoft.com).
56
- *
57
- */
58
-
59
- #ifndef HEADER_UI_COMPAT_H
60
- #define HEADER_UI_COMPAT_H
61
-
62
- #include <openssl/opensslconf.h>
63
- #include <openssl/ui.h>
64
-
65
- #ifdef __cplusplus
66
- extern "C" {
67
- #endif
68
-
69
- /* The following functions were previously part of the DES section,
70
- and are provided here for backward compatibility reasons. */
71
-
72
- #define des_read_pw_string(b,l,p,v) \
73
- _ossl_old_des_read_pw_string((b),(l),(p),(v))
74
- #define des_read_pw(b,bf,s,p,v) \
75
- _ossl_old_des_read_pw((b),(bf),(s),(p),(v))
76
-
77
- int _ossl_old_des_read_pw_string(char *buf,int length,const char *prompt,int verify);
78
- int _ossl_old_des_read_pw(char *buf,char *buff,int size,const char *prompt,int verify);
79
-
80
- #ifdef __cplusplus
81
- }
82
- #endif
83
- #endif
@@ -1,41 +0,0 @@
1
- #ifndef HEADER_WHRLPOOL_H
2
- #define HEADER_WHRLPOOL_H
3
-
4
- #include <openssl/e_os2.h>
5
- #include <stddef.h>
6
-
7
- #ifdef __cplusplus
8
- extern "C" {
9
- #endif
10
-
11
- #define WHIRLPOOL_DIGEST_LENGTH (512/8)
12
- #define WHIRLPOOL_BBLOCK 512
13
- #define WHIRLPOOL_COUNTER (256/8)
14
-
15
- typedef struct {
16
- union {
17
- unsigned char c[WHIRLPOOL_DIGEST_LENGTH];
18
- /* double q is here to ensure 64-bit alignment */
19
- double q[WHIRLPOOL_DIGEST_LENGTH/sizeof(double)];
20
- } H;
21
- unsigned char data[WHIRLPOOL_BBLOCK/8];
22
- unsigned int bitoff;
23
- size_t bitlen[WHIRLPOOL_COUNTER/sizeof(size_t)];
24
- } WHIRLPOOL_CTX;
25
-
26
- #ifndef OPENSSL_NO_WHIRLPOOL
27
- #ifdef OPENSSL_FIPS
28
- int private_WHIRLPOOL_Init(WHIRLPOOL_CTX *c);
29
- #endif
30
- int WHIRLPOOL_Init (WHIRLPOOL_CTX *c);
31
- int WHIRLPOOL_Update (WHIRLPOOL_CTX *c,const void *inp,size_t bytes);
32
- void WHIRLPOOL_BitUpdate(WHIRLPOOL_CTX *c,const void *inp,size_t bits);
33
- int WHIRLPOOL_Final (unsigned char *md,WHIRLPOOL_CTX *c);
34
- unsigned char *WHIRLPOOL(const void *inp,size_t bytes,unsigned char *md);
35
- #endif
36
-
37
- #ifdef __cplusplus
38
- }
39
- #endif
40
-
41
- #endif