--- /dev/null
+--- a/src/socketlib.c
++++ b/src/socketlib.c
+@@ -390,15 +390,13 @@ int socket_is_data_readable(int s, int t
+ wput_socket * socket_timeout_connect(wput_socket * sock, struct sockaddr *remote_addr, size_t size, int timeout) {
+ int c = 0;
+ printout(vDEBUG, "initiating timeout connect (%d)\n", timeout);
+-#ifdef WIN32
+ /* reset errno before connecting. otherwise connection might "fail" for:
+ * no such file or directory ;) */
+ errno = 0;
+-#endif
+- socket_set_blocking(sock->fd, 0);
++ socket_set_blocking(sock->fd, 1);
+ c = connect(sock->fd,remote_addr,size);
+ if(errno > 0 && errno != 115 && errno != 36) {
+- printout(vMORE, "[%s]", strerror(errno));
++ printout(vMORE, "[%d:%s] ", errno, strerror(errno));
+ return NULL;
+ }
+ /* DEBUG if(c == -1) perror("connect"); */
--- /dev/null
+--- a/src/wput.c
++++ b/src/wput.c
+@@ -582,8 +582,8 @@ void commandlineoptions(int argc, char *
+ {"output-file", 1, 0, 'o'},
+ {"port-mode", 0, 0, 'p'},
+ {"proxy", 1, 0, 'Y'},
+- {"proxy-user", 1, 0, 0},
+- {"proxy-pass", 1, 0, 0}, //20
++ {"proxy_user", 1, 0, 0},
++ {"proxy_pass", 1, 0, 0}, //20
+ {"quiet", 0, 0, 'q'},
+ {"random-wait", 0, 0, 0},
+ {"remove-source-files", 0, 0, 'R'},
+@@ -601,7 +601,9 @@ void commandlineoptions(int argc, char *
+ {"version", 0, 0, 'V'}, //35
+ {"wait", 1, 0, 'w'},
+ {"waitretry", 1, 0, 0},
+- {0, 0, 0, 0}
++ {"proxy_host", 1, 0, 0},
++ {"proxy_port", 1, 0, 0},
++ {0, 0, 0, 0}
+ };
+ while (1)
+ {
+@@ -656,6 +658,10 @@ void commandlineoptions(int argc, char *
+ opt.basename = optarg; break;
+ case 37: //waitretry
+ opt.retry_interval = atoi(optarg); break;
++ case 38: //proxy_host
++ set_option("proxy_host", optarg); break;
++ case 39: //proxy_port
++ set_option("proxy_port", optarg); break;
+ default:
+ fprintf(stderr, _("Option %s should not appear here :|\n"), long_options[option_index].name);
+ }
+@@ -762,8 +768,11 @@ void commandlineoptions(int argc, char *
+ " -l, --limit-rate=RATE limit upload rate to RATE\n"
+ " -nd, --no-directories do not create any directories\n"
+ " -Y, --proxy=http/socks/off set proxy type or turn off\n"
+-" --proxy-user=NAME set the proxy-username to NAME\n"
+-" --proxy-pass=PASS set the proxy-password to PASS\n"
++" --proxy_user=NAME set the proxy-username to NAME\n"
++" --proxy_pass=PASS set the proxy-password to PASS\n"
++" --proxy_port=PORT set the proxy port to PORT\n"
++" --proxy_host=HOST set the proxy host to HOST\n"
++
+ "\n"));
+ fprintf(stderr, _(
+ "FTP-Options:\n"