summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaiki Ueno <ueno@gnu.org>2023-03-30 02:18:07 +0000
committerDaiki Ueno <ueno@gnu.org>2023-03-30 02:18:07 +0000
commitb3fe5c229474a4dd0e74e955afb6bdc5d54c462d (patch)
tree17f65cb8724a843713d7eecd8b23e575398db86f
parentbd638cd6bc72c35b8ce1dddb0dd950071cbe36f6 (diff)
parentd7577cc531bac9687ff740b315b7b01eaca1a3ff (diff)
downloadgnutls-b3fe5c229474a4dd0e74e955afb6bdc5d54c462d.tar.gz
Merge branch 'wip/dueno/psk-username' into 'master'
src: print_info: prefer gnutls_psk_server_get_username2 See merge request gnutls/gnutls!1730
-rw-r--r--lib/psk.c3
-rw-r--r--lib/str.h7
-rw-r--r--lib/x509/email-verify.c5
-rw-r--r--lib/x509/hostname-verify.c4
-rw-r--r--src/common.c10
5 files changed, 11 insertions, 18 deletions
diff --git a/lib/psk.c b/lib/psk.c
index b9823439e8..2524a8ecb2 100644
--- a/lib/psk.c
+++ b/lib/psk.c
@@ -476,8 +476,7 @@ const char *gnutls_psk_server_get_username(gnutls_session_t session)
if (info == NULL)
return NULL;
- if (info->username[0] != 0
- && !_gnutls_has_embedded_null(info->username, info->username_len))
+ if (info->username && !memchr(info->username, '\0', info->username_len))
return info->username;
return NULL;
diff --git a/lib/str.h b/lib/str.h
index ac0ef6e134..13b7fa1b37 100644
--- a/lib/str.h
+++ b/lib/str.h
@@ -73,13 +73,6 @@ inline static unsigned _gnutls_dnsname_is_valid(const char *str, unsigned size)
return 1;
}
-inline static bool _gnutls_has_embedded_null(const char *str, unsigned size)
-{
- if (strlen(str) != size)
- return true;
- return false;
-}
-
void _gnutls_str_cpy(char *dest, size_t dest_tot_size, const char *src);
void _gnutls_str_cat(char *dest, size_t dest_tot_size, const char *src);
diff --git a/lib/x509/email-verify.c b/lib/x509/email-verify.c
index bedbcd2e20..c9ece51dcb 100644
--- a/lib/x509/email-verify.c
+++ b/lib/x509/email-verify.c
@@ -82,8 +82,7 @@ gnutls_x509_crt_check_email(gnutls_x509_crt_t cert,
if (ret == GNUTLS_SAN_RFC822NAME) {
found_rfc822name = 1;
- if (_gnutls_has_embedded_null
- (rfc822name, rfc822namesize)) {
+ if (memchr(rfc822name, '\0', rfc822namesize)) {
_gnutls_debug_log
("certificate has %s with embedded null in rfc822name\n",
rfc822name);
@@ -132,7 +131,7 @@ gnutls_x509_crt_check_email(gnutls_x509_crt_t cert,
goto cleanup;
}
- if (_gnutls_has_embedded_null(rfc822name, rfc822namesize)) {
+ if (memchr(rfc822name, '\0', rfc822namesize)) {
_gnutls_debug_log
("certificate has EMAIL %s with embedded null in name\n",
rfc822name);
diff --git a/lib/x509/hostname-verify.c b/lib/x509/hostname-verify.c
index c3c6a3e70a..fbe7f1a389 100644
--- a/lib/x509/hostname-verify.c
+++ b/lib/x509/hostname-verify.c
@@ -220,7 +220,7 @@ gnutls_x509_crt_check_hostname2(gnutls_x509_crt_t cert,
if (ret == GNUTLS_SAN_DNSNAME) {
found_dnsname = 1;
- if (_gnutls_has_embedded_null(dnsname, dnsnamesize)) {
+ if (memchr(dnsname, '\0', dnsnamesize)) {
_gnutls_debug_log
("certificate has %s with embedded null in name\n",
dnsname);
@@ -274,7 +274,7 @@ gnutls_x509_crt_check_hostname2(gnutls_x509_crt_t cert,
goto cleanup;
}
- if (_gnutls_has_embedded_null(dnsname, dnsnamesize)) {
+ if (memchr(dnsname, '\0', dnsnamesize)) {
_gnutls_debug_log
("certificate has CN %s with embedded null in name\n",
dnsname);
diff --git a/src/common.c b/src/common.c
index 73b6949279..fbe043bd79 100644
--- a/src/common.c
+++ b/src/common.c
@@ -545,12 +545,14 @@ int print_info(gnutls_session_t session, int verbose, int flags)
if (gnutls_psk_client_get_hint(session) != NULL)
log_msg(stdout, "- PSK authentication. PSK hint '%s'\n",
gnutls_psk_client_get_hint(session));
- /* This returns NULL in client side.
+ /* This returns an error in client side.
*/
- if (gnutls_psk_server_get_username(session) != NULL)
+ rc = gnutls_psk_server_get_username2(session, &p);
+ if (rc == 0) {
log_msg(stdout,
- "- PSK authentication. Connected as '%s'\n",
- gnutls_psk_server_get_username(session));
+ "- PSK authentication. Connected as '%.*s'\n",
+ p.size, p.data);
+ }
if (kx == GNUTLS_KX_DHE_PSK)
print_dh_info(session, "Ephemeral ", verbose);
if (kx == GNUTLS_KX_ECDHE_PSK)