ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/gvpe/src/util.h
(Generate patch)

Comparing gvpe/src/util.h (file contents):
Revision 1.10 by pcg, Thu Oct 16 14:12:00 2003 UTC vs.
Revision 1.11 by pcg, Wed Oct 22 01:05:23 2003 UTC

19 Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20*/ 20*/
21 21
22#ifndef UTIL_H__ 22#ifndef UTIL_H__
23#define UTIL_H__ 23#define UTIL_H__
24
25#include <openssl/rsa.h>
24 26
25#include "gettext.h" 27#include "gettext.h"
26 28
27#include "slog.h" 29#include "slog.h"
28#include "iom.h" 30#include "iom.h"
49 51
50/* 52/*
51 * check wether the given path is an absolute pathname 53 * check wether the given path is an absolute pathname
52 */ 54 */
53#define ABSOLUTE_PATH(c) ((c)[0] == '/') 55#define ABSOLUTE_PATH(c) ((c)[0] == '/')
56
57/*****************************************************************************/
54 58
55typedef u8 mac[6]; 59typedef u8 mac[6];
56 60
57extern void id2mac (unsigned int id, void *m); 61extern void id2mac (unsigned int id, void *m);
58 62
115 119
116#if ENABLE_HTTP_PROXY 120#if ENABLE_HTTP_PROXY
117u8 *base64_encode (const u8 *data, unsigned int len); 121u8 *base64_encode (const u8 *data, unsigned int len);
118#endif 122#endif
119 123
124/*****************************************************************************/
125
126typedef u8 rsaclear[RSA_KEYLEN - RSA_OVERHEAD]; // challenge data;
127typedef u8 rsacrypt[RSA_KEYLEN]; // encrypted challenge
128
129static inline void
130rsa_encrypt (RSA *key, const rsaclear &chg, rsacrypt &encr)
131{
132 if (RSA_public_encrypt (sizeof chg,
133 (unsigned char *)&chg, (unsigned char *)&encr,
134 key, RSA_PKCS1_OAEP_PADDING) < 0)
135 fatal ("RSA_public_encrypt error");
136}
137
138static inline bool
139rsa_decrypt (RSA *key, const rsacrypt &encr, rsaclear &chg)
140{
141 return RSA_private_decrypt (sizeof encr,
142 (unsigned char *)&encr, (unsigned char *)&chg,
143 key, RSA_PKCS1_OAEP_PADDING) > 0;
144}
145
120#endif 146#endif
121 147

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines