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.9 by pcg, Thu Oct 16 02:41:21 2003 UTC vs.
Revision 1.11 by pcg, Wed Oct 22 01:05:23 2003 UTC

20*/ 20*/
21 21
22#ifndef UTIL_H__ 22#ifndef UTIL_H__
23#define UTIL_H__ 23#define UTIL_H__
24 24
25#include <openssl/rsa.h>
26
27#include "gettext.h"
28
29#include "slog.h"
25#include "iom.h" 30#include "iom.h"
26#include "device.h"
27 31
28/* 32/*
29 * check for an existing vped for this net, and write pid to pidfile 33 * check for an existing vped for this net, and write pid to pidfile
30 */ 34 */
31extern int write_pidfile (void); 35extern int write_pidfile (void);
47 51
48/* 52/*
49 * check wether the given path is an absolute pathname 53 * check wether the given path is an absolute pathname
50 */ 54 */
51#define ABSOLUTE_PATH(c) ((c)[0] == '/') 55#define ABSOLUTE_PATH(c) ((c)[0] == '/')
56
57/*****************************************************************************/
58
59typedef u8 mac[6];
52 60
53extern void id2mac (unsigned int id, void *m); 61extern void id2mac (unsigned int id, void *m);
54 62
55#define mac2id(p) ((p)[0] & 0x01 ? 0 : ((p)[4] << 8) | (p)[5]) 63#define mac2id(p) ((p)[0] & 0x01 ? 0 : ((p)[4] << 8) | (p)[5])
56 64
111 119
112#if ENABLE_HTTP_PROXY 120#if ENABLE_HTTP_PROXY
113u8 *base64_encode (const u8 *data, unsigned int len); 121u8 *base64_encode (const u8 *data, unsigned int len);
114#endif 122#endif
115 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
116#endif 146#endif
117 147

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines