remove rawtcp

This commit is contained in:
Darien Raymond
2017-01-03 14:53:59 +01:00
parent 3732de18b1
commit 31d6e74482
21 changed files with 41 additions and 124 deletions
+1 -1
View File
@@ -43,7 +43,7 @@ type Factory struct{}
// StreamCapability implements OutboundHandlerFactory.StreamCapability().
func (v *Factory) StreamCapability() v2net.NetworkList {
return v2net.NetworkList{
Network: []v2net.Network{v2net.Network_RawTCP},
Network: []v2net.Network{v2net.Network_TCP},
}
}
+2 -1
View File
@@ -143,6 +143,7 @@ func (v *DokodemoDoor) ListenTCP() error {
func (v *DokodemoDoor) HandleTCPConnection(conn internet.Connection) {
defer conn.Close()
conn.SetReusable(false)
var dest v2net.Destination
if v.config.FollowRedirect {
@@ -209,7 +210,7 @@ type Factory struct{}
func (v *Factory) StreamCapability() v2net.NetworkList {
return v2net.NetworkList{
Network: []v2net.Network{v2net.Network_RawTCP},
Network: []v2net.Network{v2net.Network_TCP},
}
}
+4 -4
View File
@@ -47,7 +47,7 @@ func TestDokodemoTCP(t *testing.T) {
&proxy.OutboundHandlerMeta{
Address: v2net.LocalHostIP,
StreamSettings: &internet.StreamConfig{
Network: v2net.Network_RawTCP,
Network: v2net.Network_TCP,
},
}))
space.BindApp(proxyman.APP_ID_OUTBOUND_MANAGER, ohm)
@@ -64,7 +64,7 @@ func TestDokodemoTCP(t *testing.T) {
Address: v2net.LocalHostIP,
Port: port,
StreamSettings: &internet.StreamConfig{
Network: v2net.Network_RawTCP,
Network: v2net.Network_TCP,
}})
defer dokodemo.Close()
@@ -118,7 +118,7 @@ func TestDokodemoUDP(t *testing.T) {
&proxy.OutboundHandlerMeta{
Address: v2net.AnyIP,
StreamSettings: &internet.StreamConfig{
Network: v2net.Network_RawTCP,
Network: v2net.Network_TCP,
}}))
space.BindApp(proxyman.APP_ID_OUTBOUND_MANAGER, ohm)
@@ -134,7 +134,7 @@ func TestDokodemoUDP(t *testing.T) {
Address: v2net.LocalHostIP,
Port: port,
StreamSettings: &internet.StreamConfig{
Network: v2net.Network_RawTCP,
Network: v2net.Network_TCP,
}})
defer dokodemo.Close()
+3 -1
View File
@@ -94,6 +94,8 @@ func (v *Handler) Dispatch(destination v2net.Destination, payload *buf.Buffer, r
}
defer conn.Close()
conn.SetReusable(false)
if !payload.IsEmpty() {
if _, err := conn.Write(payload.Bytes()); err != nil {
log.Warning("Freedom: Failed to write to destination: ", destination, ": ", err)
@@ -144,7 +146,7 @@ type Factory struct{}
func (v *Factory) StreamCapability() v2net.NetworkList {
return v2net.NetworkList{
Network: []v2net.Network{v2net.Network_RawTCP},
Network: []v2net.Network{v2net.Network_TCP},
}
}
+2 -2
View File
@@ -44,7 +44,7 @@ func TestSinglePacket(t *testing.T) {
&proxy.OutboundHandlerMeta{
Address: v2net.AnyIP,
StreamSettings: &internet.StreamConfig{
Network: v2net.Network_RawTCP,
Network: v2net.Network_TCP,
},
})
assert.Error(space.Initialize()).IsNil()
@@ -86,7 +86,7 @@ func TestIPResolution(t *testing.T) {
&proxy.OutboundHandlerMeta{
Address: v2net.AnyIP,
StreamSettings: &internet.StreamConfig{
Network: v2net.Network_RawTCP,
Network: v2net.Network_TCP,
},
})
+3 -1
View File
@@ -100,6 +100,8 @@ func parseHost(rawHost string, defaultPort v2net.Port) (v2net.Destination, error
func (v *Server) handleConnection(conn internet.Connection) {
defer conn.Close()
conn.SetReusable(false)
timedReader := v2net.NewTimeOutReader(v.config.Timeout, conn)
reader := bufio.OriginalReaderSize(timedReader, 2048)
@@ -289,7 +291,7 @@ type ServerFactory struct{}
// StreamCapability implements InboundHandlerFactory.StreamCapability().
func (v *ServerFactory) StreamCapability() v2net.NetworkList {
return v2net.NetworkList{
Network: []v2net.Network{v2net.Network_RawTCP},
Network: []v2net.Network{v2net.Network_TCP},
}
}
+1 -1
View File
@@ -64,7 +64,7 @@ func TestNormalGetRequest(t *testing.T) {
Address: v2net.LocalHostIP,
Port: port,
StreamSettings: &internet.StreamConfig{
Network: v2net.Network_RawTCP,
Network: v2net.Network_TCP,
}})
defer httpProxy.Close()
+1 -1
View File
@@ -187,7 +187,7 @@ type ClientFactory struct{}
// StreamCapability implements OutboundHandlerFactory.StreamCapability().
func (v *ClientFactory) StreamCapability() v2net.NetworkList {
return v2net.NetworkList{
Network: []v2net.Network{v2net.Network_TCP, v2net.Network_RawTCP},
Network: []v2net.Network{v2net.Network_TCP},
}
}
+1 -1
View File
@@ -225,7 +225,7 @@ type ServerFactory struct{}
func (v *ServerFactory) StreamCapability() v2net.NetworkList {
return v2net.NetworkList{
Network: []v2net.Network{v2net.Network_TCP, v2net.Network_RawTCP},
Network: []v2net.Network{v2net.Network_TCP},
}
}
+3 -1
View File
@@ -1,7 +1,9 @@
// Package shadowsocks provides compatible functionality to Shadowsocks.
//
// Shadowsocks client and server are implemented as outbound and inbound respectively in V2Ray's term.
// Shadowsocks OTA is fully supported.
//
// Shadowsocks OTA is fully supported. By default both client and server enable OTA, but it can be optionally disabled.
//
// Supperted Ciphers:
// * AES-256-CFB
// * AES-128-CFB
+3 -1
View File
@@ -107,6 +107,8 @@ func (v *Server) Start() error {
func (v *Server) handleConnection(connection internet.Connection) {
defer connection.Close()
connection.SetReusable(false)
timedReader := v2net.NewTimeOutReader(v.config.Timeout, connection)
reader := bufio.NewReader(timedReader)
defer reader.Release()
@@ -336,7 +338,7 @@ type ServerFactory struct{}
func (v *ServerFactory) StreamCapability() v2net.NetworkList {
return v2net.NetworkList{
Network: []v2net.Network{v2net.Network_RawTCP},
Network: []v2net.Network{v2net.Network_TCP},
}
}