Attention is currently required from: plaisthos.

Hello plaisthos,

I'd like you to do a code review.
Please visit

    http://gerrit.openvpn.net/c/openvpn/+/1216?usp=email

to review the following change.


Change subject: console: Simplify query_user_add interface
......................................................................

console: Simplify query_user_add interface

- Removes unused field prompt_len
- Change field reponse_len to int since that
  is what the code actually expects. Most callers
  user a constant either way.

Change-Id: I04542e678f81d5d4a853b4370d9b8adc4dac1212
Signed-off-by: Frank Lichtenheld <fr...@lichtenheld.com>
---
M src/openvpn/console.c
M src/openvpn/console.h
M src/openvpn/console_builtin.c
M src/openvpn/misc.c
M src/openvpn/pkcs11.c
5 files changed, 16 insertions(+), 41 deletions(-)



  git pull ssh://gerrit.openvpn.net:29418/openvpn refs/changes/16/1216/1

diff --git a/src/openvpn/console.c b/src/openvpn/console.c
index bdceaf2..3cb23b3 100644
--- a/src/openvpn/console.c
+++ b/src/openvpn/console.c
@@ -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;
diff --git a/src/openvpn/console.h b/src/openvpn/console.h
index 14b6116..fba2a09 100644
--- a/src/openvpn/console.h
+++ b/src/openvpn/console.h
@@ -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();
 }

diff --git a/src/openvpn/console_builtin.c b/src/openvpn/console_builtin.c
index 71c0025..2a925d6 100644
--- a/src/openvpn/console_builtin.c
+++ b/src/openvpn/console_builtin.c
@@ -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
diff --git a/src/openvpn/misc.c b/src/openvpn/misc.c
index caf4725..188f44e 100644
--- a/src/openvpn/misc.c
+++ b/src/openvpn/misc.c
@@ -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");
diff --git a/src/openvpn/pkcs11.c b/src/openvpn/pkcs11.c
index 16149ca..ce64135 100644
--- a/src/openvpn/pkcs11.c
+++ b/src/openvpn/pkcs11.c
@@ -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");
     }

--
To view, visit http://gerrit.openvpn.net/c/openvpn/+/1216?usp=email
To unsubscribe, or for help writing mail filters, visit 
http://gerrit.openvpn.net/settings

Gerrit-Project: openvpn
Gerrit-Branch: master
Gerrit-Change-Id: I04542e678f81d5d4a853b4370d9b8adc4dac1212
Gerrit-Change-Number: 1216
Gerrit-PatchSet: 1
Gerrit-Owner: flichtenheld <fr...@lichtenheld.com>
Gerrit-Reviewer: plaisthos <arne-open...@rfc2549.org>
Gerrit-CC: openvpn-devel <openvpn-devel@lists.sourceforge.net>
Gerrit-Attention: plaisthos <arne-open...@rfc2549.org>
Gerrit-MessageType: newchange
_______________________________________________
Openvpn-devel mailing list
Openvpn-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-devel

Reply via email to