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.30 by root, Tue Mar 8 17:34:26 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;
136typedef u8 rsacrypt[RSA_KEYLEN]; // encrypted challenge
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
157// run work_cb in another thread, call done_cb in main thread when finished 136// run work_cb in another thread, call done_cb in main thread when finished
158// only one work_cb will execute at any one time. 137// only one work_cb will execute at any one time.
159void async (callback<void ()> work_cb, callback<void ()> done_cb); 138void async (callback<void ()> work_cb, callback<void ()> done_cb);
160 139
161#endif 140#endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines