-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathssfversion.h
More file actions
123 lines (121 loc) · 11.6 KB
/
ssfversion.h
File metadata and controls
123 lines (121 loc) · 11.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
/* --------------------------------------------------------------------------------------------- */
/* Small System Framework */
/* */
/* ssfversion.h */
/* Provides SSF version. */
/* */
/* BSD-3-Clause License */
/* Copyright 2020 Supurloop Software LLC */
/* */
/* Redistribution and use in source and binary forms, with or without modification, are */
/* permitted provided that the following conditions are met: */
/* */
/* 1. Redistributions of source code must retain the above copyright notice, this list of */
/* conditions and the following disclaimer. */
/* 2. Redistributions in binary form must reproduce the above copyright notice, this list of */
/* conditions and the following disclaimer in the documentation and/or other materials provided */
/* with the distribution. */
/* 3. Neither the name of the copyright holder nor the names of its contributors may be used to */
/* endorse or promote products derived from this software without specific prior written */
/* permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS */
/* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
/* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE */
/* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL */
/* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE */
/* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED */
/* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED */
/* OF THE POSSIBILITY OF SUCH DAMAGE. */
/* --------------------------------------------------------------------------------------------- */
#ifndef SSF_VERSION_H_INCLUDE
#define SSF_VERSION_H_INCLUDE
/* --------------------------------------------------------------------------------------------- */
/* Version History */
/* */
/* 0.0.1 - Initial beta release. */
/* 0.0.2 - Add Reed-Solomon GF(2^8) interface. */
/* 0.0.3 - Add XMODEM/CCITT-16 CRC16 and CCITT-32 CRC32 interfaces. */
/* 0.0.4 - Add SHA-2 and TLV encoder/decoder interfaces. */
/* Increased Windows and Linux build warning levels and fixed warnings. */
/* 0.0.5 - Add AES and AES-GCM interfaces. */
/* Add build script for OS X. */
/* Fix some build warnings for OS X. */
/* Optimized bin to hex interface. */
/* 0.0.6 - Upgraded Visual Studio solution and project to Community 2022 version. */
/* Optimized Reed Solomon performance. */
/* Added optional multi-thread support to FSM framework. */
/* Fixed bug in FSM framework where nextTimeout was computed incorrectly. */
/* Implemented Configuration Storage interface. */
/* Added PRNG interface which can generate cryptographically secure random numbers. */
/* Added macros to support SSF use from C++ modules. */
/* Minor formatting changes and compiler warning fixes. */
/* 0.0.7 - Added deinitialization support. */
/* Fixed ssfsm timer w/data memory leak. */
/* Preliminary UBJSON interface. */
/* 0.0.8 - Added UBJSON interface. */
/* Added enum lower bound checks. */
/* Added ssfrs option for GF_MUL speed vs. space optimization. */
/* Reorganized source code into module directories. */
/* 0.0.9 - Added integer to decimal string conversion interface. */
/* Added date/time, RTC, and ISO8601 time interfaces. */
/* 0.1.0 - Moved compile time options to ssfoptions.h. */
/* - Bug fixes and enhancements to UBJSON interface. */
/* - Added string to decimal integer conversion interface. */
/* - Added safe string interface. */
/* - Added debuggable, integrity check heap interface. */
/* 0.1.1 - Fix UBJSON parser bug that incorrectly converts unsigned int to a negative number. */
/* - Elimimate reentrancy problem in dtime interface. */
/* - Skip some dtime unit tests on 32-bit systems. */
/* - Fix various compiler warnings. */
/* - Remove escaping of / in JSON string generator interface. */
/* - Allow top level arrays in JSON interface. */
/* - Allow top level arrays in UBJSON interface. */
/* - Miscellaneous code clean up. */
/* - Fix bug in fsm interface where a pending timer is not updated when StartTimer called. */
/* - Updated fsm interface to have 1 level of nesting, a superstate. */
/* - Beta version of generic object interface. */
/* - Better organized the source files in Visual Studio project. */
/* 0.1.2 - Added real-time tracking of heap current usage and minimum. */
/* - Added additional interfaces to ssfstr module. */
/* - Made RTC interface thread safe. */
/* - Minor improvements to ssfjson interface. */
/* - Added size constant to ssfstr interface. */
/* 0.1.3 - Fix race condition in ssfsm; expired timer events signalled to wrong state handler. */
/* - Removed SSFJSONUpdate(), in future will support similar functionality via ssfgobj. */
/* - Massive documentation improvements. */
/* - Fixed buffer overruns in ssfaesgcm and ssfrs. */
/* - Added incremental SHA2 interfaces. */
/* - Fixed incorrect implementation of SSFStrStr(), expanded unit test coverage. */
/* - Fixed typo in ssftlv module. */
/* - Fixed length check in ubjson module that would allow malformed UBJSON generation. */
/* - SHA2 module now provides correct hash for data > 128GiB. */
/* - Corrected potential false path match when path strings contain JSON syntax chars. */
/* - Removed unnecessary length checks in ssfbase64. */
/* - Removed unnecessary preconditions in ssfaesgcm. */
/* - Updated Visual Studio solution and project to Community 2026. */
/* 0.1.4 - Additional hardening, for implementation correctness and buffer overruns. */
/* - SSFBase64Encode function fixes for edge cases not returning NULL terminated string. */
/* - Optimized SSFBase64Decode function to fit in minimum sized output buffer. */
/* - SSFJsonGetString fixes for edge case of not returning a NULL terminated string. */
/* - SSFJsonGetString fixes for incorrect decode of escaped characters. */
/* - SSFUBJsonGetString fix for edge case of not returning a NULL terminated string. */
/* - Use SSF_REQUIRE macro for preconditions in ssfaesgcm modeule. */
/* - Fix ssfcfg module NV simulated memory buffer overflows. */
/* - Fix logic error in ssfll module where mid-list insert leave doubly linked list broken.*/
/* - ssfdec fix where some valid, large numerical strings not decoded into int. */
/* - Fixed edge cases handling malloc failures and NULLing user pointer in ssfgobj module. */
/* - Fixed overly conservative output buffer check in SSFJsonGetString. */
/* - Fixed potential 1-byte input buffer overread in ssftlv module. */
/* - ssfubjson, fixed invalid path matches if data matches part of path. */
/* - ssfubjson, fixed read past end of buffer edge case. */
/* - ssfubjson, fixed incorrect parsing of optimized arrays not reading last array element.*/
/* - ssfcfg, check that header read from NV memory has a valid length. */
/* - ssfiso8601, fix ISO string formatting if SSF_TICKS_PER_SEC == 1000000 or 1000000000. */
/* 0.1.5 - Fixed nuisance compiler warnings. */
/* 0.1.6 - Expanded all unit tests to improve code coverage. */
/* - Documentation updates. */
/* --------------------------------------------------------------------------------------------- */
#define SSF_VERSION_STR "0.1.6"
#endif /* SSF_VERSION_H_INCLUDE */