A Question About GNUTLS

Nikos Mavrogiannopoulos nmav at gnutls.org
Fri Feb 5 15:49:37 CET 2010

Simon Josefsson wrote:
> "Mohammed Aziz Parande" <parande1 at umbc.edu> writes:
>> Hi,
>> I am a graduate student in the Department of Information Systems at the
>> University of Maryland, Baltimore County (UMBC). I am doing research in the
>> area of software engineering. I would very much appreciate if you could
>> answer the following questions of mine:
>> 1. I was wondering if GNUTLS has gone under any major restructuring/redesign
>> initiative in its history. Restructuring/redesign initiative can be defined
>> as a concerted effort during a time period in which major changes were
>> applied to the code base to improve software architecture/design while
>> little or no functional enhancement was made. 
> I don't recall any major such changes, maybe Nikos can tell more.  There
> have been many minor and incremental changes, such as replacing parts
> with more portable code from gnulib, or switching to using a separate
> configure script in lib/ and libextra/.

The only major change of this kind I remember was the separation of the
crypto backend with the gnutls library. Even if libgcrypt was still used
the code was modified to allow for any other crypto library to be used
by gnutls by just registering hooks... I believe it is the only change
of this kind so far.

>> 2. If the project has gone under such an initiative, then would it be
>> possible for you to give the dates or revision/release numbers that are
>> "right before" and "right after" this structuring effort? I would like to
>> checkout the source code from the repository to compare structural
>> measurements that belong to "before" and "after" snapshots. Note that the
>> dates and revision/release numbers should be right before and right after
>> the initiative because I would like to be able to isolate and observe the
>> effects of this effort. 

If you are interested in that change, check below...

commit a1cd6fe1a072717d2c33fd5a20306741c86399ae
Author: Nikos <nmav at crystal.(none)>
Date:   Sun Mar 16 11:17:55 2008 +0200

    Added functionality to override (register) a cipher. Initial
functionality for MAC and digest algorithms.

pretty much finished at:
commit 3b39d296d802e3aa42c08f8d02db6e81d99a7e90
Author: Nikos Mavrogiannopoulos <nmav at crystal.(none)>
Date:   Sun Sep 28 10:59:26 2008 +0300

    changed crypto API to reduce probability of memory leaks during
usage of pk_params.

hower as Simon said before, if you go by dates the history is mixed with
unrelated changes as well.


More information about the Gnutls-devel mailing list