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.29 by root, Tue Mar 8 17:33:31 2011 UTC vs.
Revision 1.31 by root, Tue Jul 16 16:44:37 2013 UTC

1/* 1/*
2 util.h -- process management and other utility functions 2 util.h -- process management and other utility functions
3 Copyright (C) 1998-2002 Ivo Timmermans <ivo@o2w.nl> 3 Copyright (C) 1998-2002 Ivo Timmermans <ivo@o2w.nl>
4 2000-2002 Guus Sliepen <guus@sliepen.eu.org> 4 2000-2002 Guus Sliepen <guus@sliepen.eu.org>
5 2003-2011 Marc Lehmann <gvpe@schmorp.de> 5 2003-2013 Marc Lehmann <gvpe@schmorp.de>
6 6
7 This file is part of GVPE. 7 This file is part of GVPE.
8 8
9 GVPE is free software; you can redistribute it and/or modify it 9 GVPE is free software; you can redistribute it and/or modify it
10 under the terms of the GNU General Public License as published by the 10 under the terms of the GNU General Public License as published by the
42#include "gettext.h" 42#include "gettext.h"
43 43
44#include "slog.h" 44#include "slog.h"
45#include "ev_cpp.h" 45#include "ev_cpp.h"
46#include "callback.h" 46#include "callback.h"
47#include "global.h"
47 48
48typedef ev_tstamp tstamp; 49typedef ev_tstamp tstamp;
49 50
50/* 51/*
51 * check for an existing gvpe for this net, and write pid to pidfile 52 * check for an existing gvpe for this net, and write pid to pidfile
130u8 *base64_encode (const u8 *data, unsigned int len); 131u8 *base64_encode (const u8 *data, unsigned int len);
131#endif 132#endif
132 133
133/*****************************************************************************/ 134/*****************************************************************************/
134 135
135typedef u8 rsaclear[RSA_KEYLEN - RSA_OVERHEAD]; // challenge data; 136// run work_cb in another thread, call done_cb in main thread when finished
136typedef u8 rsacrypt[RSA_KEYLEN]; // encrypted challenge 137// only one work_cb will execute at any one time.
137
138static inline void
139rsa_encrypt (RSA *key, const rsaclear &chg, rsacrypt &encr)
140{
141 if (RSA_public_encrypt (sizeof chg,
142 (unsigned char *)&chg, (unsigned char *)&encr,
143 key, RSA_PKCS1_OAEP_PADDING) < 0)
144 fatal ("RSA_public_encrypt error");
145}
146
147static inline bool
148rsa_decrypt (RSA *key, const rsacrypt &encr, rsaclear &chg)
149{
150 return RSA_private_decrypt (sizeof encr,
151 (unsigned char *)&encr, (unsigned char *)&chg,
152 key, RSA_PKCS1_OAEP_PADDING) > 0;
153}
154
155/*****************************************************************************/
156
157void async (callback<void ()> work_cb, callback<void ()> done_cb); 138void async (callback<void ()> work_cb, callback<void ()> done_cb);
158 139
159#endif 140#endif
160 141

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines