sizeof for a constant string return the size including the null byte. For copying the session id this meant that we do not copy the first byte. This made the session id reported to the external authenticator one byte shorter than it was indented to be. --- src/openvpn/auth_token.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/openvpn/auth_token.c b/src/openvpn/auth_token.c index 6275299d..585679dc 100644 --- a/src/openvpn/auth_token.c +++ b/src/openvpn/auth_token.c @@ -121,7 +121,7 @@ add_session_token_env(struct tls_session *session, struct tls_multi *multi, */ char session_id[AUTH_TOKEN_SESSION_ID_LEN*2] = {0}; - memcpy(session_id, session_id_source + sizeof(SESSION_ID_PREFIX), + memcpy(session_id, session_id_source + strlen(SESSION_ID_PREFIX), AUTH_TOKEN_SESSION_ID_LEN*8/6); setenv_str(session->opt->es, "session_id", session_id); -- 2.26.0 _______________________________________________ Openvpn-devel mailing list Openvpn-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openvpn-devel