diff options
Diffstat (limited to 'plugin/feedback/feedback.cc')
-rw-r--r-- | plugin/feedback/feedback.cc | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/plugin/feedback/feedback.cc b/plugin/feedback/feedback.cc index a06c0e6c496..79436bd5268 100644 --- a/plugin/feedback/feedback.cc +++ b/plugin/feedback/feedback.cc @@ -29,7 +29,7 @@ ulong debug_startup_interval, debug_first_interval, debug_interval; char server_uid_buf[SERVER_UID_SIZE+1]; ///< server uid will be written here /* backing store for system variables */ -static char *server_uid= server_uid_buf, *url; +static char *server_uid= server_uid_buf, *url, *http_proxy; char *user_info; ulong send_timeout, send_retry_wait; @@ -284,7 +284,13 @@ static int init(void *p) if (*e == 0 || *e == ' ') { if (e > s && (urls[slot]= Url::create(s, e - s))) + { + if (urls[slot]->set_proxy(http_proxy, + http_proxy ? strlen(http_proxy) : 0)) + sql_print_error("feedback plugin: invalid proxy '%s'", + http_proxy ? http_proxy : ""); slot++; + } else { if (e > s) @@ -362,6 +368,9 @@ static MYSQL_SYSVAR_ULONG(send_timeout, send_timeout, PLUGIN_VAR_RQCMDARG, static MYSQL_SYSVAR_ULONG(send_retry_wait, send_retry_wait, PLUGIN_VAR_RQCMDARG, "Wait this many seconds before retrying a failed send.", NULL, NULL, 60, 1, 60*60*24, 1); +static MYSQL_SYSVAR_STR(http_proxy, http_proxy, + PLUGIN_VAR_READONLY | PLUGIN_VAR_RQCMDARG, + "Proxy server host:port.", NULL, NULL,0); #ifndef DBUG_OFF static MYSQL_SYSVAR_ULONG(debug_startup_interval, debug_startup_interval, @@ -381,6 +390,7 @@ static struct st_mysql_sys_var* settings[] = { MYSQL_SYSVAR(url), MYSQL_SYSVAR(send_timeout), MYSQL_SYSVAR(send_retry_wait), + MYSQL_SYSVAR(http_proxy), #ifndef DBUG_OFF MYSQL_SYSVAR(debug_startup_interval), MYSQL_SYSVAR(debug_first_interval), |