p2p2 0.10.0 → 0.11.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/p2p2/p2.rb +21 -3
- data/lib/p2p2/p2pd.rb +2 -2
- data/lib/p2p2/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c0ed72836f10cc9afc6e1cadf43b2e2c817a86c4ea1c3519f1c8c028f361b792
|
4
|
+
data.tar.gz: f0040b2538df25c2b68d96c4341dacd984bacdf66d07f8743589bbd24b286312
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3bbad24d31ba85bfd00c91cedfcea41f51097bfd2e7ddb44f631605a0ac36b497432667d78d9dd12bcef886c33b9b881e941bf4357d4819cb98ecc10070fc1d0
|
7
|
+
data.tar.gz: a06e1edf7702560b9e5b61e59937e11ec90f89a11015d1ddfc2429d66df4f21731ab3b3c2ac1dc91ade411a0f32f3b9d94694736aace0c70d281f39632f01c66
|
data/lib/p2p2/p2.rb
CHANGED
@@ -55,7 +55,6 @@ module P2p2
|
|
55
55
|
puts 'looping'
|
56
56
|
|
57
57
|
new_appd
|
58
|
-
new_p2
|
59
58
|
|
60
59
|
loop do
|
61
60
|
rs, ws = IO.select( @reads, @writes )
|
@@ -134,6 +133,10 @@ module P2p2
|
|
134
133
|
return
|
135
134
|
end
|
136
135
|
|
136
|
+
if @p2.nil? || @p2.closed?
|
137
|
+
new_p2
|
138
|
+
end
|
139
|
+
|
137
140
|
app_id = app.object_id
|
138
141
|
|
139
142
|
@socks[ app_id ] = app
|
@@ -388,7 +391,8 @@ module P2p2
|
|
388
391
|
info[ :fin2s ].delete( app_id )
|
389
392
|
when P1_FIN
|
390
393
|
return if sockaddr != info[ :p1_addr ]
|
391
|
-
|
394
|
+
puts "recv p1 fin #{ Time.new }"
|
395
|
+
add_closing( p2 )
|
392
396
|
end
|
393
397
|
|
394
398
|
return
|
@@ -511,7 +515,8 @@ module P2p2
|
|
511
515
|
#
|
512
516
|
def write_p2( p2 )
|
513
517
|
if @closings.include?( p2 )
|
514
|
-
|
518
|
+
close_p2( p2 )
|
519
|
+
return
|
515
520
|
end
|
516
521
|
|
517
522
|
now = Time.new
|
@@ -843,6 +848,19 @@ module P2p2
|
|
843
848
|
add_write( sock )
|
844
849
|
end
|
845
850
|
|
851
|
+
def close_p2( p2 )
|
852
|
+
info = close_sock( p2 )
|
853
|
+
|
854
|
+
info[ :chunks ].each do | filename |
|
855
|
+
begin
|
856
|
+
File.delete( File.join( @p2_chunk_dir, filename ) )
|
857
|
+
rescue Errno::ENOENT
|
858
|
+
end
|
859
|
+
end
|
860
|
+
|
861
|
+
info[ :app_exts ].each{ | _, ext | add_closing( ext[ :app ] ) }
|
862
|
+
end
|
863
|
+
|
846
864
|
def close_app( app )
|
847
865
|
info = close_sock( app )
|
848
866
|
p2 = info[ :p2 ]
|
data/lib/p2p2/p2pd.rb
CHANGED
@@ -88,7 +88,7 @@ module P2p2
|
|
88
88
|
|
89
89
|
def read_p2pd( p2pd )
|
90
90
|
data, addrinfo, rflags, *controls = p2pd.recvmsg
|
91
|
-
return if data.
|
91
|
+
return if ( data.bytesize > 255 ) || ( data =~ /\/|\.|\ / )
|
92
92
|
|
93
93
|
sockaddr = addrinfo.to_sockaddr
|
94
94
|
title_path = File.join( @p2pd_dir, data )
|
@@ -118,7 +118,7 @@ module P2p2
|
|
118
118
|
begin
|
119
119
|
# puts "debug write title #{ title_path } #{ Time.new }"
|
120
120
|
IO.binwrite( title_path, sockaddr )
|
121
|
-
rescue Errno::ENOENT, ArgumentError => e
|
121
|
+
rescue Errno::EISDIR, Errno::ENAMETOOLONG, Errno::ENOENT, ArgumentError => e
|
122
122
|
puts "binwrite #{ e.class } #{ Time.new }"
|
123
123
|
end
|
124
124
|
end
|
data/lib/p2p2/version.rb
CHANGED