@@ -53,14 +53,14 @@
void
-query_user_add(char *prompt, size_t prompt_len, char *resp, size_t resp_len, bool echo)
+query_user_add(char *prompt, char *resp, int resp_len, bool echo)
{
int i;
/* Ensure input is sane. All these must be present otherwise it is
* a programming error.
*/
- ASSERT(prompt_len > 0 && prompt != NULL && resp_len > 0 && resp != NULL);
+ ASSERT(prompt != NULL && resp_len > 0 && resp != NULL);
/* Seek to the last unused slot */
for (i = 0; i < QUERY_USER_NUMSLOTS; i++)
@@ -74,7 +74,6 @@
/* Save the information needed for the user interaction */
query_user[i].prompt = prompt;
- query_user[i].prompt_len = prompt_len;
query_user[i].response = resp;
query_user[i].response_len = resp_len;
query_user[i].echo = echo;
@@ -32,11 +32,10 @@
*/
struct _query_user
{
- char *prompt; /**< Prompt to present to the user */
- size_t prompt_len; /**< Length of the prompt string */
- char *response; /**< The user's response */
- size_t response_len; /**< Length the of the user response */
- bool echo; /**< True: The user should see what is being typed, otherwise mask it */
+ char *prompt; /**< Prompt to present to the user */
+ char *response; /**< The user's response */
+ int response_len; /**< Length the of the user response */
+ bool echo; /**< True: The user should see what is being typed, otherwise mask it */
};
#define QUERY_USER_NUMSLOTS 10
@@ -53,13 +52,12 @@
* Adds an item to ask the user for
*
* @param prompt Prompt to display to the user
- * @param prompt_len Length of the prompt string
* @param resp String containing the user response
* @param resp_len Length of the response string
* @param echo Should the user input be echoed to the user? If False, input will be masked
*
*/
-void query_user_add(char *prompt, size_t prompt_len, char *resp, size_t resp_len, bool echo);
+void query_user_add(char *prompt, char *resp, int resp_len, bool echo);
/**
@@ -117,10 +115,10 @@
*
*/
static inline bool
-query_user_SINGLE(char *prompt, size_t prompt_len, char *resp, size_t resp_len, bool echo)
+query_user_SINGLE(char *prompt, char *resp, int resp_len, bool echo)
{
query_user_clear();
- query_user_add(prompt, prompt_len, resp, resp_len, echo);
+ query_user_add(prompt, resp, resp_len, echo);
return query_user_exec();
}
@@ -45,11 +45,6 @@
#include "win32.h"
-#if defined(__GNUC__) || defined(__clang__)
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wconversion"
-#endif
-
/**
* Get input from a Windows console.
*
@@ -73,7 +68,7 @@
HANDLE in = GetStdHandle(STD_INPUT_HANDLE);
int orig_stderr = get_orig_stderr(); /* guaranteed to be always valid */
if ((in == INVALID_HANDLE_VALUE) || win32_service_interrupt(&win32_signal)
- || (_write(orig_stderr, prompt, strlen(prompt)) == -1))
+ || (_write(orig_stderr, prompt, (unsigned int)strlen(prompt)) == -1))
{
msg(M_WARN | M_ERRNO, "get_console_input_win32(): unexpected error");
return false;
@@ -139,10 +134,6 @@
return false;
}
-#if defined(__GNUC__) || defined(__clang__)
-#pragma GCC diagnostic pop
-#endif
-
#endif /* _WIN32 */
@@ -273,11 +264,6 @@
return ret;
}
-#if defined(__GNUC__) || defined(__clang__)
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wconversion"
-#endif
-
/**
* @copydoc query_user_exec()
*
@@ -309,7 +295,3 @@
return ret;
}
-
-#if defined(__GNUC__) || defined(__clang__)
-#pragma GCC diagnostic pop
-#endif
@@ -239,8 +239,7 @@
struct buffer user_prompt = alloc_buf_gc(128, &gc);
buf_printf(&user_prompt, "NEED-OK|%s|%s:", prefix, up->username);
- if (!query_user_SINGLE(BSTR(&user_prompt), BLEN(&user_prompt), up->password,
- USER_PASS_LEN, false))
+ if (!query_user_SINGLE(BSTR(&user_prompt), up->password, USER_PASS_LEN, false))
{
msg(M_FATAL, "ERROR: could not read %s ok-confirmation from stdin", prefix);
}
@@ -362,7 +361,7 @@
buf_printf(&challenge, "CHALLENGE: %s", ac->challenge_text);
buf_set_write(&packed_resp, (uint8_t *)up->password, USER_PASS_LEN);
- if (!query_user_SINGLE(BSTR(&challenge), BLEN(&challenge), response,
+ if (!query_user_SINGLE(BSTR(&challenge), response,
USER_PASS_LEN, BOOL_CAST(ac->flags & CR_ECHO)))
{
msg(M_FATAL, "ERROR: could not read challenge response from stdin");
@@ -387,14 +386,12 @@
if (username_from_stdin && !(flags & GET_USER_PASS_PASSWORD_ONLY))
{
- query_user_add(BSTR(&user_prompt), BLEN(&user_prompt), up->username,
- USER_PASS_LEN, true);
+ query_user_add(BSTR(&user_prompt), up->username, USER_PASS_LEN, true);
}
if (password_from_stdin)
{
- query_user_add(BSTR(&pass_prompt), BLEN(&pass_prompt), up->password,
- USER_PASS_LEN, false);
+ query_user_add(BSTR(&pass_prompt), up->password, USER_PASS_LEN, false);
}
if (!query_user_exec())
@@ -421,8 +418,7 @@
challenge = alloc_buf_gc(14 + strlen(auth_challenge), &gc);
buf_printf(&challenge, "CHALLENGE: %s", auth_challenge);
- if (!query_user_SINGLE(BSTR(&challenge), BLEN(&challenge), response,
- USER_PASS_LEN,
+ if (!query_user_SINGLE(BSTR(&challenge), response, USER_PASS_LEN,
BOOL_CAST(flags & GET_USER_PASS_STATIC_CHALLENGE_ECHO)))
{
msg(M_FATAL, "ERROR: could not retrieve static challenge response");
@@ -671,7 +671,7 @@
ASSERT(token != NULL);
buf_printf(&pass_prompt, "Please enter '%s' token PIN or 'cancel': ", token->display);
- if (!query_user_SINGLE(BSTR(&pass_prompt), BLEN(&pass_prompt), pin, pin_max, false))
+ if (!query_user_SINGLE(BSTR(&pass_prompt), pin, (int)pin_max, false))
{
msg(M_FATAL, "Could not retrieve the PIN");
}