GnuTLS | Assorted build fixes and improvements (!2036)

Read-only notification of GnuTLS library development activities <[email protected]>
Newsgroups gmane.comp.encryption.gpg.gnutls.devel
Message-ID <[email protected]>

Daiki Ueno created a merge request: https://gitlab.com/gnutls/gnutls/-/merge_requests/2036

Project:Branches: dueno/gnutls:wip/dueno/usretc to gnutls/gnutls:master
Author:   Daiki Ueno



<!-- Add a description of the new feature/bug fix. Reference any relevant bugs. -->

This includes the fix from !2029 among other minor fixes.

* build: ignore new functions at "make abi-check-latest"

* build: pacify GCC analyzer false-positive in src/ocsptool.c

Without the guard (chain_size - 1), GCC analyzer spews the warning
below, which should be a false-positive:
```
ocsptool.c:532:32: warning: use of uninitialized value 'chain[1]' [CWE-457] [-Wanalyzer-use-of-uninitialized-value]
  532 |                         signer = chain[1];
      |                         ~~~~~~~^~~~~~~~~~
```
* lib: Fix Wunterminated-string-initialization warnings

Building on a newer gcc version (15) results in the following warnings:
```
status_request.c: In function 'client_send':
status_request.c:71:33: warning: initializer-string for array of 'unsigned char' truncates NUL terminator but destination lacks 'nonstring' attribute (6 chars into 5 available) [-Wunterminated-string-initialization]
   71 |         const uint8_t data[5] = "\x01\x00\x00\x00\x00";
      |                                 ^~~~~~~~~~~~~~~~~~~~~~
x86-common.c: In function 'check_phe_partial':
x86-common.c:342:31: warning: initializer-string for array of 'char' truncates NUL terminator but destination lacks 'nonstring' attribute (65 chars into 64 available) [-Wunterminated-string-initialization]
  342 |         const char text[64] = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
      |
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
* build: exclude duplicate entries in src/mech-list.h

* build: derive the location of default config file from $sysconfdir

Previously we hard-coded "/etc" as part of the path of the default
configuration file. It is more palatable to respect the --sysconfdir
configure option and locate the file there.

Per recommendation at [1], the path is expanded at "make" time, not at
"configure" time.

1. https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.72/html_node/Installation-Directory-Variables.html

## Checklist
 * [x] Commits have `Signed-off-by:` with name/author being identical to the commit author
 * [ ] Code modified for feature
 * [ ] Test suite updated with functionality tests
 * [ ] Test suite updated with negative tests
 * [ ] Documentation updated / NEWS entry present (for non-trivial changes)

## Reviewer's checklist:
 * [ ] Any issues marked for closing are addressed
 * [ ] There is a test suite reasonably covering new functionality or modifications
 * [ ] Function naming, parameters, return values, types, etc., are consistent and according to `CONTRIBUTION.md`
 * [ ] This feature/change has adequate documentation added
 * [ ] No obvious mistakes in the code

-- 
Reply to this email directly or view it on GitLab: https://gitlab.com/gnutls/gnutls/-/merge_requests/2036
You're receiving this email because of your account on gitlab.com.

_______________________________________________
Gnutls-devel mailing list
[email protected]
http://lists.gnupg.org/mailman/listinfo/gnutls-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.