#define OPENVPN_STATE_GET_CONFIG 9 /* Downloading configuration from server */
#define OPENVPN_STATE_RESOLVE 10 /* DNS lookup */
#define OPENVPN_STATE_TCP_CONNECT 11 /* Connecting to TCP server */
+#define OPENVPN_STATE_AUTH_PENDING 12 /* Waiting in auth-pending mode
+ * technically variant of GET_CONFIG */
#define OPENVPN_STATE_CLIENT_BASE 7 /* Base index of client-only states */
if (!buf_advance(&buf, strlen("AUTH_PENDING"))
|| !(buf_read_u8(&buf) == ',') || !BLEN(&buf))
{
+#ifdef ENABLE_MANAGEMENT
+ if (management)
+ {
+ management_set_state(management, OPENVPN_STATE_AUTH_PENDING,
+ "", NULL, NULL, NULL, NULL);
+ }
+#endif
+
return;
}
/* parse the keywords in the same way that push options are parsed */
char line[OPTION_LINE_SIZE];
+#ifdef ENABLE_MANAGEMENT
+ /* Need to do the management notification with the keywords before
+ * buf_parse is called, as it will insert \0 bytes into the buffer */
+ if (management)
+ {
+ management_set_state(management, OPENVPN_STATE_AUTH_PENDING,
+ BSTR(&buf), NULL, NULL, NULL, NULL);
+ }
+#endif
+
while (buf_parse(&buf, ',', line, sizeof(line)))
{
if (sscanf(line, "timeout %u", server_timeout) != 1)