From bd1601f847dec9d232b4c600bd1de4c7e6160c34 Mon Sep 17 00:00:00 2001 From: Max Lv Date: Wed, 21 Sep 2016 20:39:44 +0800 Subject: [PATCH] Bump version --- Changes | 8 +++++++- README.md | 2 +- configure | 20 ++++++++++---------- configure.ac | 2 +- debian/changelog | 8 +++++++- openwrt/Makefile | 2 +- src/server.c | 30 ++++++++++++++++-------------- 7 files changed, 43 insertions(+), 29 deletions(-) diff --git a/Changes b/Changes index 433f970f..6db7d96c 100644 --- a/Changes +++ b/Changes @@ -1,4 +1,10 @@ -shadowsocks-libev (2.5.2-1ubuntu1) unstable; urgency=medium +shadowsocks-libev (2.5.3-1) unstable; urgency=medium + + * Fix TCP Fast Open on macOS. + + -- Max Lv Wed, 21 Sep 2016 19:31:57 +0800 + +shadowsocks-libev (2.5.2-1) unstable; urgency=medium * Fix a bug of UDP relay mode of ss-local. diff --git a/README.md b/README.md index 65e6e30a..b75ca71d 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ It is a port of [Shadowsocks](https://github.com/shadowsocks/shadowsocks) created by [@clowwindy](https://github.com/clowwindy), which is maintained by [@madeye](https://github.com/madeye) and [@linusyang](https://github.com/linusyang). -Current version: 2.5.2 | [Changelog](debian/changelog) +Current version: 2.5.3 | [Changelog](debian/changelog) Travis CI: [![Travis CI](https://travis-ci.org/shadowsocks/shadowsocks-libev.svg?branch=master)](https://travis-ci.org/shadowsocks/shadowsocks-libev) diff --git a/configure b/configure index 488866f5..853a91f2 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for shadowsocks-libev 2.5.2. +# Generated by GNU Autoconf 2.69 for shadowsocks-libev 2.5.3. # # Report bugs to . # @@ -590,8 +590,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='shadowsocks-libev' PACKAGE_TARNAME='shadowsocks-libev' -PACKAGE_VERSION='2.5.2' -PACKAGE_STRING='shadowsocks-libev 2.5.2' +PACKAGE_VERSION='2.5.3' +PACKAGE_STRING='shadowsocks-libev 2.5.3' PACKAGE_BUGREPORT='max.c.lv@gmail.com' PACKAGE_URL='' @@ -1359,7 +1359,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures shadowsocks-libev 2.5.2 to adapt to many kinds of systems. +\`configure' configures shadowsocks-libev 2.5.3 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1430,7 +1430,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of shadowsocks-libev 2.5.2:";; + short | recursive ) echo "Configuration of shadowsocks-libev 2.5.3:";; esac cat <<\_ACEOF @@ -1567,7 +1567,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -shadowsocks-libev configure 2.5.2 +shadowsocks-libev configure 2.5.3 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2090,7 +2090,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by shadowsocks-libev $as_me 2.5.2, which was +It was created by shadowsocks-libev $as_me 2.5.3, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -4329,7 +4329,7 @@ fi # Define the identity of the package. PACKAGE='shadowsocks-libev' - VERSION='2.5.2' + VERSION='2.5.3' cat >>confdefs.h <<_ACEOF @@ -16778,7 +16778,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by shadowsocks-libev $as_me 2.5.2, which was +This file was extended by shadowsocks-libev $as_me 2.5.3, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -16844,7 +16844,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -shadowsocks-libev config.status 2.5.2 +shadowsocks-libev config.status 2.5.3 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 965711fa..aa2d794c 100755 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ dnl -*- Autoconf -*- dnl Process this file with autoconf to produce a configure script. AC_PREREQ([2.67]) -AC_INIT([shadowsocks-libev], [2.5.2], [max.c.lv@gmail.com]) +AC_INIT([shadowsocks-libev], [2.5.3], [max.c.lv@gmail.com]) AC_CONFIG_SRCDIR([src/encrypt.c]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_AUX_DIR(auto) diff --git a/debian/changelog b/debian/changelog index 433f970f..6db7d96c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,10 @@ -shadowsocks-libev (2.5.2-1ubuntu1) unstable; urgency=medium +shadowsocks-libev (2.5.3-1) unstable; urgency=medium + + * Fix TCP Fast Open on macOS. + + -- Max Lv Wed, 21 Sep 2016 19:31:57 +0800 + +shadowsocks-libev (2.5.2-1) unstable; urgency=medium * Fix a bug of UDP relay mode of ss-local. diff --git a/openwrt/Makefile b/openwrt/Makefile index 2a1a5eb3..94ed1455 100644 --- a/openwrt/Makefile +++ b/openwrt/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=shadowsocks-libev -PKG_VERSION:=2.5.2 +PKG_VERSION:=2.5.3 PKG_RELEASE=$(PKG_SOURCE_VERSION) PKG_SOURCE_URL:=https://github.com/shadowsocks/shadowsocks-libev/archive diff --git a/src/server.c b/src/server.c index 437fda57..ce3f9945 100644 --- a/src/server.c +++ b/src/server.c @@ -562,12 +562,12 @@ server_recv_cb(EV_P_ ev_io *w, int revents) int len = server->buf->len; buffer_t *buf = server->buf; - ev_timer_again(EV_A_ & server->recv_ctx->watcher); - if (server->stage > 2) { remote = server->remote; buf = remote->buf; len = 0; + + ev_timer_again(EV_A_ & server->recv_ctx->watcher); } ssize_t r = recv(server->fd, buf->array + len, BUF_SIZE - len, 0); @@ -600,13 +600,6 @@ server_recv_cb(EV_P_ ev_io *w, int revents) buf->len += r; if (buf->len <= enc_get_iv_len() + 1) { // wait for more - if (verbose) { -#ifdef __MINGW32__ - LOGI("incomplete IV: %u", r); -#else - LOGI("incomplete IV: %zu", r); -#endif - } return; } } else { @@ -633,6 +626,7 @@ server_recv_cb(EV_P_ ev_io *w, int revents) server->stage = 1; } } + if (server->stage == 1) { size_t header_len = server->header_buf->len; brealloc(server->header_buf, server->buf->len + header_len, BUF_SIZE); @@ -648,11 +642,6 @@ server_recv_cb(EV_P_ ev_io *w, int revents) ss_free(server->header_buf); server->stage = 2; } else { -#ifdef __MINGW32__ - LOGI("incomplete header: %u", server->header_buf->len); -#else - LOGI("incomplete header: %zu", server->header_buf->len); -#endif server->buf->len = 0; server->buf->idx = 0; return; @@ -991,6 +980,19 @@ server_timeout_cb(EV_P_ ev_timer *watcher, int revents) LOGI("TCP connection timeout"); } + if (server->stage < 2) { + if (verbose) { + size_t len = server->stage ? + server->header_buf->len : server->buf->len; +#ifdef __MINGW32__ + LOGI("incomplete header: %u", len); +#else + LOGI("incomplete header: %zu", len); +#endif + } + report_addr(server->fd); + } + close_and_free_remote(EV_A_ remote); close_and_free_server(EV_A_ server); }