> -----Original Message----- > From: Alon Bar-Lev [mailto:alon.bar...@gmail.com] > Sent: maandag 2 april 2012 12:42 > To: David Sommerseth > Cc: openvpn-devel@lists.sourceforge.net > Subject: Re: [Openvpn-devel] [PATCH 1/6] Added support for new PolarSSL > 1.1 RNG > > On Mon, Apr 2, 2012 at 1:39 PM, David Sommerseth > <openvpn.l...@topphemmelig.net> wrote: > > -----BEGIN PGP SIGNED MESSAGE----- > > Hash: SHA1 > > > > On 02/04/12 12:25, Alon Bar-Lev wrote: > >> No no no.... I did not imply that this will be dynamic interface. > >> Nor that there is a use case. > >> > >> The current state of the code (even before the merge of polarssl) > was > >> very complex. Now it is even more complex, with none clean/strict > >> separation between the common crypto code and the library specific > >> crypto code... Yes, I know these resides in different sources, but > it > >> is more similar to what we call "spaghetti" programming. > >> > >> What I suggest of doing is to create static callback structure which > >> is the interface of crypto library used by openvpn. This is > >> *STATIC* linkage. > >> > >> For example: typedef struct { result_t (*x509_get_username) (char > >> *cn, int cn_len, char *x509_username_field, x509_cert *cert) ... } > >> openvpn_crypto_enigne_t; > >> > >> I guess you understand how this struct will look like. > >> > >> Now, a nice side effect would be the ability to have both libraries > >> linked against openvpn, while choosing the engine at > configuration... > >> Of course there is no real world use for this, except for build (one > >> build checks both libraries) and test (we can use test one build for > >> both). > >> > >> The main mission is to clean up the code, reducing the complexity, > >> making sure we can follow each crypto call to either common, > >> crypto-library-atom, or openvpn specific. > >> > >> Is that more clear? > > > > Ahh, yeah! That makes more sense. > > > > But I just need to be sure we're having the right focus. Are we > > getting done with the autotools clean-up? If not, what's missing? I > > see more and more clean-up patches touching the C code now, so I just > > want to be sure we're basically done with autotools. Otherwise, > > getting rid of syshead.h is probably one of the next bigger steps. > > Right. > Next stage is getting rid of syshead.h... The following is to cleanup > the crypto, I though that if someone can work on this in parallel we > will do this twice as fast :) > > But before we continue we need to stabilize the project again, creating > the missing repositories, deciding about the github/sourceforge is > needed. Deciding about the way to review and merge large changes. >
I'd prefer to leave further modularisation for 2.4. We could even make that a more general goal for 2.4, modularising not just crypto/SSL, but also authentication, and maybe even some of the network stuff. It would be nice to leave a few targets for 2.4 :). I don't see the need to further delay 2.3 for this, as it is not a bug fix. Others might disagree here, and the topic is open for debate :). In general, it might be a good idea to freeze development of 2.3 at some point to prevent endless alpha syndrome. Adriaan