Skip to content
Understand by Scitools
Menu
  • Home
  • Support
  • Contact
  • Login
  • Pricing
  • Free Trial
Menu
padlock on black metal fence

Comparing OpenSSL

Posted on April 22, 2022

Abstract: Easily compare how the call trees and functions have changed between any two versions of OpenSSL over the last 10 years.

Ever wondered how OpenSSL evolved over the year? this article provides an almost complete history of all the versions of OpenSSL. Download any 2 versions and see what the developers have changed in them. It’s better than “git diff” because we’ll show you how the call trees have changed!

Download (almost) Any Version here!

OpenSSL 0.9.7:  _ a b c d e f g h i j k l m

OpenSSL 0.9.8:  _ a b c d e f g h i j k l m n o p q r s t u v w x y za zb zc zd ze zf zg zh

OpenSSL 1.0.0:  _ a b c d e f g h i j k l m n o p q r s t

OpenSSL 1.0.1:  _ a b c d e f g h i j k l m n o p q r s t u

OpenSSL 1.0.2:  _ a b c d e f g h i j k l m n o p q r s t u

OpenSSL 1.1.0:  _ a b c d e f g h i j k l

OpenSSL 1.1.1:  _ a b c d e f g h i j k l m n

OpenSSL 3.0.x:  v3.0.0 v3.0.1 v3.0.2

How do I open/use the download?

  1. Download SciTools Understand at https://www.scitools.com/free-trial.
  2. Download the Zip File(s) corresponding to the OpenSSL Version(s) you want to explore, let’s assume X_Y_Z
  3. Unzip the downloaded files, one by one, let’s assume SciTools_OpenSSL_OpenSSL_X_Y_Z.zip
  4. Open Understand
  5. Select File >> Open >> Project
  6. Open databaseOpenSSL_X_Y_Z.und
  7. You will be prompted to map DEPENDENCIES_USR. This tells SciTools Understand where to find the system header files. They are packaged in each zip file, do don’t worry!
  8. Map DEPENDENCIES_USR to SciTools_OpenSSL_OpenSSL_X_Y_Z/usr (make sure it points to the usr folder that is directly under the folder created when unzipping. Map each version to its own version of usr. DO NOT MAP all to the same usr)
  9. Hit “OK”, the analysis should start or, if needed, select Project >> Analyze All Files.

How do I compare 2 versions?

That’s where the magic happens!

  1. Open The First Version in Understand and Select  Compare >> Comparison Projects
  2. Add the Second Version as the comparison project
  3. Use the comparison features! Here are a few suggestions:
  • Compare >> Locate Changed Entities will show you all that changed
  • Compare >> Changed Treemap will show it graphically
  • Look at a Call Tree and select the “Compare” variant of the graph
  • from a command line try “und export -changes -db DB1.und -cmpdb DB2.und outputFileName.csv” to create a report for all changes.
The Comparison Butterfly Graph for a function, the blue functions were modified, green are new, and red were removed.

If you don’t want to do it manually, use the following batch script to download and analyze all versions 🙂

  1. Make sure you have “und” in your path
  2. Make sure you have a full license of Understand (Eval will not work here) or contact me with your evaluation key at [email protected]
  3. Go to an empty directory
  4. Run this BATCH script (Windows), or an equivalent on Linux…
File Icon
compare_openssl.bat

Related

  • API
  • Architectures
  • Business
  • Code Comparison
  • Code Comprehension
  • Code Navigation
  • Code Visualization
  • Coding Standards
  • Dependencies
  • Developer Notes
  • DevOps
  • Getting Started
  • Legacy Code
  • Licensing
  • Metrics
  • Platform
  • Power User Tips
  • Programming Practices
  • Uncategorized
  • Useful Scripts
  • January 2023
  • December 2022
  • November 2022
  • September 2022
  • August 2022
  • May 2022
  • April 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021

©2023 SciTools Blog | Design: Newspaperly WordPress Theme