p2p2 0.10.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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