Skip to content

Commit 9db9fd9

Browse files
committed
New release v09102017 3.1
Mostly just docs and windows - sizeof(wchar_t)==2 - fixes. Permit slen=0 for C11 harden: added WARN_CFLAGS Even if we would not need to bump the SO_VERSION with a non-C11 compiler, not on windows. Upstream can decide to keep 3:0:0, but upstream really should use a current compiler instead.
1 parent 48c2978 commit 9db9fd9

File tree

4 files changed

+34
-8
lines changed

4 files changed

+34
-8
lines changed

ChangeLog

+18
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,24 @@
11

22
ChangeLog file for safeclib
33

4+
Changes in v09102017 3.1.0
5+
Summary: With a non-C11 compiler not on windows the API didn't change, only docs.
6+
- Fixed man pages: show public headers, hide private headers.
7+
- Removed html pages from the release tarball
8+
- Fixed slen=0 behaviour with cpy functions: When the library is compiled
9+
with a C11 compiler, slen=0 is permitted, with an older compiler keep
10+
erroring with ESZEROL: strncpy_s, wcsncpy_s, wcslwr_s, wcsupr_s, strcpyfld_s,
11+
strcpyfldin_s, strcpyfldout_s
12+
- Fixed docs for this behaviour: wcsncat_s, strncat_s
13+
- Added hardened WARN_CFLAGS and WARN_LDFLAGS, minor fixes for the
14+
hardened flags on older compilers,
15+
probe for -Wl,--as-needed -Wl,-z,relro -Wl,-z,now
16+
- Fixed NFD canon table for windows (sizeof wchar_t == 2) for 9 expansions
17+
of length 6: U+1D160 - U+1D1C0
18+
- Fixed _dec_w16 and _ENC_W16 encoding on windows, convert from and to
19+
surrogate pair.
20+
- Fixed distcheck and release targets, added distcheck to travis
21+
422
Changes in v04102017 3.0.0
523
- Added mingw cross-compilation support and changes.
624
The MINGW_HAS_SECURE_API deviates in strtok_s, vsnprintf_s, wcstok_s

Makefile.am

+13-5
Original file line numberDiff line numberDiff line change
@@ -127,16 +127,27 @@ dist_man_MANS += \
127127
doc/man/man3/ESUNTERM.3 \
128128
doc/man/man3/ESZEROL.3 \
129129
doc/man/man3/L_tmpnam_s.3 \
130-
doc/man/man3/MAX_TIME_T_STR.3 \
131130
doc/man/man3/RSIZE_MAX.3 \
132131
doc/man/man3/RSIZE_MAX_MEM.3 \
133132
doc/man/man3/RSIZE_MAX_MEM16.3 \
134133
doc/man/man3/RSIZE_MAX_MEM32.3 \
135134
doc/man/man3/RSIZE_MAX_STR.3 \
136135
doc/man/man3/RSIZE_MAX_WMEM.3 \
137136
doc/man/man3/SAFECLIB_STR_NULL_SLACK.3 \
137+
doc/man/man3/SAFE_STR_MIN_LOWERCASE.3 \
138+
doc/man/man3/SAFE_STR_MIN_NUMBERS.3 \
139+
doc/man/man3/SAFE_STR_MIN_SPECIALS.3 \
140+
doc/man/man3/SAFE_STR_MIN_UPPERCASE.3 \
141+
doc/man/man3/SAFE_STR_PASSWORD_MAX_LENGTH.3 \
142+
doc/man/man3/SAFE_STR_PASSWORD_MIN_LENGTH.3 \
138143
doc/man/man3/STRTOK_DELIM_MAX_LEN.3 \
139144
doc/man/man3/TMP_MAX_S.3 \
145+
doc/man/man3/WCSNORM_FCC.3 \
146+
doc/man/man3/WCSNORM_FCD.3 \
147+
doc/man/man3/WCSNORM_NFC.3 \
148+
doc/man/man3/WCSNORM_NFD.3 \
149+
doc/man/man3/WCSNORM_NFKC.3 \
150+
doc/man/man3/WCSNORM_NFKD.3 \
140151
doc/man/man3/abort_handler_s.3 \
141152
doc/man/man3/abort_handler_s.c.3 \
142153
doc/man/man3/asctime_s.3 \
@@ -235,7 +246,6 @@ dist_man_MANS += \
235246
doc/man/man3/safe_str_constraint.c.3 \
236247
doc/man/man3/safe_str_constraint.h.3 \
237248
doc/man/man3/safe_types.h.3 \
238-
doc/man/man3/safeclib_private.h.3 \
239249
doc/man/man3/scanf_s.3 \
240250
doc/man/man3/scanf_s.c.3 \
241251
doc/man/man3/set_mem_constraint_handler_s.3 \
@@ -311,12 +321,10 @@ dist_man_MANS += \
311321
doc/man/man3/strncat_s.c.3 \
312322
doc/man/man3/strncpy_s.3 \
313323
doc/man/man3/strncpy_s.c.3 \
314-
doc/man/man3/strnlen.3 \
315324
doc/man/man3/strnlen_s.3 \
316325
doc/man/man3/strnlen_s.c.3 \
317326
doc/man/man3/strnset_s.3 \
318327
doc/man/man3/strnset_s.c.3 \
319-
doc/man/man3/strnstr.3 \
320328
doc/man/man3/strnterminate_s.3 \
321329
doc/man/man3/strnterminate_s.c.3 \
322330
doc/man/man3/strpbrk_s.3 \
@@ -556,7 +564,7 @@ gh-pages: docs
556564
mv doc/html/* doc/safec-$(SAFEC_API_VERSION)/
557565
rm -rf doc/html
558566
git add doc/safec-$(SAFEC_API_VERSION)
559-
release: docs checkdist
567+
release: docs distcheck
560568
git checkout master
561569
git tag -f v`date +%d%m%Y`
562570
build-tools/autogen.sh

configure.ac

+2-2
Original file line numberDiff line numberDiff line change
@@ -620,8 +620,8 @@ AC_SUBST([TARBALL_VERSION_FILE])
620620
# version information, refer to the libtool manual, section "Updating
621621
# library version information":
622622
# http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
623-
AC_SUBST([SAFEC_SO_VERSION], [3:0:0])
624-
AC_SUBST([SAFEC_API_VERSION], [3.0])
623+
AC_SUBST([SAFEC_SO_VERSION], [3:1:0])
624+
AC_SUBST([SAFEC_API_VERSION], [3.1])
625625

626626
# Automake variables, these variables get automagically included at the top
627627
# of all automake generated make files. This is why you don't see them

tests/test_wcsnorm_s.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*------------------------------------------------------------------
22
* test_wcsnorm_s
33
* File 'wcsnorm_s.c'
4-
* Lines executed:79.71% of 345
4+
* Lines executed:79.59% of 343
55
*
66
*------------------------------------------------------------------
77
*/

0 commit comments

Comments
 (0)