mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-04-22 16:09:18 -04:00
Cleaned up Peer States. Three Important States (DHT, Connection, Request).
* Fixed up peer state display. * added Callback Error notification in GUI. * Added ConnectionRequest State Handling (and interaction with BitDHT) * Improved Testing Script with analysis scripts to find ERROR/WARNING/etc git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-peernet@4318 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
d92f368c24
commit
0b72e4e795
@ -1,500 +1,500 @@
|
||||
203.217.170.217 30874
|
||||
80.78.101.200 61523
|
||||
77.39.38.204 37985
|
||||
202.133.55.164 33171
|
||||
178.218.48.18 1099
|
||||
96.51.81.67 34848
|
||||
80.252.240.10 35691
|
||||
78.234.176.210 1127
|
||||
109.110.92.246 32296
|
||||
87.2.122.2 62144
|
||||
178.121.100.139 20767
|
||||
85.210.38.111 20002
|
||||
91.203.26.250 35691
|
||||
95.190.88.173 6881
|
||||
85.210.38.111 19969
|
||||
188.112.100.65 48383
|
||||
87.179.236.249 59052
|
||||
86.208.6.127 12626
|
||||
61.94.131.92 20868
|
||||
78.100.208.50 49167
|
||||
76.105.119.12 51907
|
||||
77.232.141.42 1091
|
||||
92.126.119.204 64747
|
||||
123.48.140.103 61951
|
||||
94.64.163.174 57313
|
||||
69.108.1.1 56567
|
||||
178.251.108.66 61945
|
||||
115.118.45.148 35892
|
||||
88.170.1.199 60144
|
||||
190.167.138.244 26974
|
||||
182.177.82.129 27209
|
||||
24.15.140.50 39343
|
||||
86.97.72.240 54516
|
||||
112.205.59.68 62449
|
||||
197.1.100.218 40227
|
||||
116.71.174.200 26046
|
||||
188.114.16.34 53426
|
||||
122.150.252.60 29049
|
||||
46.247.199.83 51000
|
||||
193.151.81.140 2541
|
||||
69.171.163.146 38809
|
||||
95.79.92.140 27822
|
||||
189.115.166.104 40939
|
||||
188.134.60.83 34466
|
||||
83.128.66.50 23306
|
||||
217.173.21.18 44913
|
||||
75.37.76.247 54498
|
||||
182.18.209.111 55175
|
||||
78.87.36.96 52234
|
||||
217.151.50.135 34663
|
||||
178.177.15.116 64559
|
||||
213.108.169.251 52642
|
||||
82.44.220.175 17627
|
||||
174.59.66.22 45542
|
||||
68.102.204.198 45538
|
||||
46.240.114.178 1035
|
||||
92.73.220.200 37808
|
||||
184.155.124.198 1760
|
||||
116.68.205.230 17766
|
||||
93.6.71.124 6881
|
||||
27.106.45.102 17129
|
||||
78.224.127.28 51413
|
||||
62.198.147.128 53000
|
||||
50.53.11.193 20252
|
||||
190.250.203.79 28940
|
||||
122.168.160.76 64204
|
||||
142.68.150.203 25265
|
||||
77.111.38.57 6112
|
||||
178.158.129.156 53156
|
||||
80.90.168.147 12107
|
||||
82.36.28.38 53598
|
||||
80.245.125.101 18281
|
||||
78.9.112.104 60101
|
||||
81.236.213.187 55702
|
||||
77.37.173.222 17952
|
||||
87.120.81.236 24099
|
||||
94.143.40.37 15029
|
||||
46.138.56.95 12460
|
||||
82.170.50.47 12077
|
||||
70.65.69.190 61162
|
||||
95.139.201.69 26942
|
||||
137.186.166.21 60083
|
||||
61.36.189.19 28156
|
||||
109.196.27.89 19426
|
||||
88.218.40.50 64051
|
||||
95.134.37.74 19759
|
||||
178.176.213.37 62907
|
||||
67.191.251.240 6948
|
||||
74.13.82.14 23671
|
||||
175.142.137.43 16580
|
||||
69.231.200.182 1232
|
||||
118.100.188.133 26823
|
||||
65.0.147.109 52384
|
||||
173.180.193.221 45097
|
||||
108.18.183.88 28878
|
||||
178.123.26.34 35691
|
||||
118.175.28.40 62040
|
||||
67.182.148.53 52368
|
||||
71.235.255.153 42753
|
||||
178.131.149.74 1024
|
||||
89.254.200.15 29205
|
||||
71.137.205.162 58833
|
||||
2.102.201.255 56665
|
||||
115.137.13.82 32102
|
||||
95.134.241.47 14246
|
||||
94.181.132.96 41286
|
||||
118.100.202.71 15457
|
||||
24.64.255.168 60790
|
||||
182.185.162.177 49767
|
||||
82.229.248.131 53867
|
||||
84.126.150.250 48969
|
||||
94.196.180.219 29278
|
||||
89.189.169.9 64036
|
||||
71.23.6.10 33593
|
||||
89.134.11.198 5920
|
||||
92.99.142.104 40298
|
||||
111.255.13.248 8303
|
||||
88.224.46.15 12428
|
||||
187.147.33.33 10324
|
||||
85.227.133.190 7180
|
||||
122.164.119.251 16089
|
||||
195.1.121.159 49701
|
||||
66.57.69.241 10926
|
||||
94.31.150.58 35691
|
||||
188.49.91.110 40169
|
||||
210.203.254.254 51413
|
||||
85.210.38.111 19949
|
||||
85.210.38.111 19909
|
||||
96.48.192.208 53836
|
||||
182.64.124.126 38168
|
||||
88.172.13.116 51413
|
||||
109.92.112.129 22936
|
||||
117.196.161.248 51910
|
||||
82.84.223.109 56185
|
||||
190.232.74.186 10033
|
||||
85.166.14.181 23781
|
||||
78.14.205.151 24322
|
||||
93.125.159.58 58601
|
||||
78.14.205.151 24519
|
||||
109.228.69.62 47894
|
||||
142.68.95.81 19369
|
||||
81.9.142.95 18940
|
||||
109.254.45.134 57844
|
||||
125.27.17.134 12232
|
||||
86.28.116.226 2668
|
||||
180.194.46.228 8276
|
||||
90.176.46.150 21697
|
||||
98.210.187.110 19898
|
||||
178.65.64.14 57445
|
||||
67.234.252.161 11927
|
||||
74.32.95.253 53323
|
||||
89.83.53.151 65024
|
||||
94.190.193.155 55228
|
||||
188.24.117.90 62312
|
||||
212.104.80.34 31862
|
||||
109.197.112.31 61609
|
||||
195.97.110.132 52875
|
||||
74.88.46.11 61209
|
||||
109.187.214.177 15322
|
||||
46.162.95.240 52703
|
||||
178.203.129.209 47916
|
||||
84.237.163.170 41656
|
||||
109.124.82.91 16013
|
||||
80.95.21.118 42418
|
||||
41.228.227.238 31781
|
||||
85.26.164.93 16730
|
||||
49.49.125.183 13162
|
||||
124.8.223.131 16880
|
||||
77.120.141.223 37934
|
||||
24.215.67.68 22373
|
||||
62.176.15.8 10243
|
||||
189.115.31.189 13424
|
||||
108.28.196.97 29891
|
||||
79.175.118.223 14775
|
||||
119.42.69.50 27990
|
||||
123.178.142.202 17496
|
||||
80.216.132.26 50931
|
||||
121.54.54.36 3023
|
||||
195.114.142.104 51981
|
||||
178.203.144.149 18216
|
||||
90.23.215.122 38441
|
||||
88.173.100.176 54193
|
||||
83.134.13.245 6880
|
||||
92.142.104.243 48000
|
||||
186.206.12.33 8291
|
||||
109.254.49.13 15322
|
||||
95.34.58.144 48642
|
||||
91.217.91.11 39192
|
||||
144.85.175.55 51319
|
||||
88.189.82.239 5666
|
||||
89.163.47.59 42236
|
||||
61.26.132.128 20467
|
||||
85.141.182.218 26551
|
||||
124.86.55.118 12808
|
||||
174.89.132.196 60002
|
||||
93.81.173.161 20440
|
||||
90.155.221.225 39205
|
||||
70.78.210.9 1298
|
||||
95.190.121.226 31234
|
||||
109.53.138.103 50703
|
||||
93.132.90.224 5188
|
||||
89.134.230.77 62153
|
||||
134.106.236.73 32092
|
||||
78.92.198.104 40643
|
||||
77.85.131.21 21310
|
||||
85.210.38.111 20071
|
||||
41.224.125.14 55307
|
||||
189.69.114.40 1076
|
||||
67.188.133.52 41610
|
||||
84.212.113.134 37675
|
||||
41.230.228.52 29852
|
||||
178.90.39.54 15769
|
||||
85.210.38.111 20040
|
||||
99.241.83.62 1723
|
||||
174.78.66.72 38024
|
||||
31.47.172.92 1044
|
||||
119.246.23.104 7579
|
||||
84.101.63.207 18016
|
||||
79.105.169.154 22075
|
||||
212.178.11.237 36412
|
||||
118.173.147.186 12775
|
||||
76.183.242.116 56806
|
||||
178.162.242.146 37592
|
||||
85.210.38.111 20029
|
||||
109.203.19.10 47776
|
||||
188.95.214.180 25538
|
||||
41.137.23.157 21536
|
||||
85.210.38.111 19869
|
||||
76.174.241.230 59344
|
||||
218.186.99.145 21190
|
||||
189.82.4.53 47779
|
||||
2.82.216.224 28160
|
||||
85.210.38.111 19951
|
||||
187.0.225.7 60317
|
||||
46.48.170.112 39721
|
||||
85.210.38.111 19868
|
||||
164.8.221.24 31547
|
||||
91.139.186.168 27947
|
||||
95.211.8.11 25896
|
||||
69.198.251.177 22146
|
||||
68.93.74.85 25378
|
||||
122.176.245.208 45682
|
||||
125.59.156.33 32401
|
||||
134.106.236.63 7584
|
||||
83.128.120.21 51431
|
||||
95.52.104.115 14112
|
||||
85.210.38.111 19898
|
||||
109.70.52.238 44500
|
||||
95.26.117.116 64874
|
||||
85.210.38.111 19957
|
||||
88.149.180.60 51414
|
||||
201.75.105.21 43298
|
||||
78.100.236.49 40809
|
||||
92.49.178.248 21131
|
||||
92.154.124.137 47816
|
||||
90.220.199.212 42682
|
||||
46.177.118.125 48545
|
||||
85.210.38.111 19828
|
||||
207.81.138.15 1975
|
||||
46.187.39.136 44658
|
||||
109.229.0.181 11795
|
||||
85.210.38.111 19693
|
||||
71.64.109.64 54232
|
||||
216.108.187.36 22975
|
||||
140.122.103.182 13143
|
||||
88.186.107.212 8660
|
||||
101.140.84.139 61461
|
||||
81.234.194.192 61049
|
||||
95.30.219.148 46630
|
||||
95.30.94.188 37915
|
||||
186.32.81.120 13178
|
||||
116.199.161.210 18875
|
||||
78.112.75.247 16969
|
||||
112.164.232.8 17207
|
||||
85.210.38.111 19790
|
||||
201.6.182.65 29017
|
||||
92.114.3.126 35521
|
||||
46.185.40.138 35691
|
||||
85.210.38.111 19849
|
||||
71.203.222.193 11243
|
||||
88.198.183.157 32257
|
||||
85.151.56.108 50040
|
||||
107.10.32.153 6881
|
||||
89.47.86.152 63650
|
||||
85.210.38.111 20044
|
||||
88.179.250.21 42329
|
||||
221.153.66.253 40650
|
||||
95.27.131.41 42799
|
||||
77.80.249.28 32894
|
||||
98.221.3.209 23762
|
||||
84.3.163.246 44384
|
||||
92.37.54.96 11558
|
||||
94.21.92.231 38888
|
||||
78.8.66.173 25367
|
||||
83.230.136.117 13910
|
||||
66.229.58.188 43794
|
||||
46.211.230.178 15475
|
||||
213.113.105.94 38453
|
||||
92.81.13.245 39663
|
||||
88.125.45.122 30097
|
||||
92.133.95.85 52910
|
||||
85.210.38.111 15658
|
||||
114.17.132.233 19663
|
||||
88.104.22.104 27257
|
||||
109.9.10.137 18441
|
||||
217.27.42.102 63452
|
||||
92.44.86.3 16896
|
||||
84.228.48.61 10335
|
||||
81.232.49.39 16471
|
||||
188.18.63.93 23310
|
||||
173.186.45.157 37950
|
||||
76.200.122.172 55578
|
||||
94.213.103.5 37531
|
||||
92.142.169.56 13452
|
||||
80.202.97.14 64178
|
||||
85.66.15.212 40149
|
||||
79.83.138.75 43384
|
||||
76.20.98.207 37009
|
||||
78.144.232.59 57786
|
||||
86.30.240.5 55315
|
||||
85.210.38.111 15685
|
||||
189.155.48.178 14898
|
||||
74.13.82.14 23671
|
||||
89.217.155.87 51413
|
||||
83.240.122.86 20710
|
||||
117.195.46.183 50932
|
||||
193.231.163.24 20385
|
||||
112.140.12.221 10677
|
||||
189.235.140.51 27844
|
||||
121.169.204.131 23467
|
||||
92.81.221.104 51868
|
||||
89.211.184.120 38643
|
||||
62.201.84.120 36698
|
||||
175.110.122.13 16029
|
||||
84.43.183.51 27571
|
||||
85.210.38.111 15692
|
||||
85.210.38.111 15666
|
||||
131.123.1.227 55013
|
||||
78.72.37.248 58953
|
||||
85.210.38.111 15638
|
||||
85.210.38.111 15667
|
||||
85.210.38.111 15620
|
||||
95.211.8.11 1140
|
||||
88.178.72.2 7812
|
||||
93.103.72.182 49529
|
||||
79.131.185.51 28886
|
||||
213.107.66.202 41381
|
||||
95.80.59.11 55494
|
||||
69.118.24.163 43611
|
||||
120.51.210.154 443
|
||||
85.210.38.111 19695
|
||||
90.149.130.169 39191
|
||||
83.157.69.174 20504
|
||||
85.210.38.111 15728
|
||||
189.129.2.99 23463
|
||||
85.210.38.111 15674
|
||||
76.107.46.7 16170
|
||||
85.210.38.111 15808
|
||||
211.217.145.63 58587
|
||||
110.55.23.91 20417
|
||||
2.82.216.224 28160
|
||||
85.210.38.111 15612
|
||||
85.210.38.111 15774
|
||||
85.210.38.111 15681
|
||||
85.210.38.111 15593
|
||||
85.210.38.111 15631
|
||||
78.58.1.213 39032
|
||||
93.96.27.58 58144
|
||||
85.210.38.111 15682
|
||||
85.210.38.111 15590
|
||||
85.210.38.111 15603
|
||||
85.21.159.120 33978
|
||||
85.210.38.111 15632
|
||||
85.210.38.111 15597
|
||||
85.210.38.111 15644
|
||||
76.105.119.12 51907
|
||||
61.36.189.19 28156
|
||||
82.44.220.175 17627
|
||||
71.235.255.153 42753
|
||||
173.180.193.221 45097
|
||||
118.175.28.40 62040
|
||||
62.68.146.175 35691
|
||||
91.179.145.10 33893
|
||||
109.70.52.238 44500
|
||||
81.9.142.95 18940
|
||||
80.95.21.118 42418
|
||||
142.68.150.203 25265
|
||||
109.124.82.91 16013
|
||||
142.68.95.81 19369
|
||||
108.28.196.97 29891
|
||||
123.178.142.202 17496
|
||||
78.100.236.49 40809
|
||||
89.134.230.77 62153
|
||||
95.34.58.144 48642
|
||||
99.241.83.62 1723
|
||||
31.47.172.92 1044
|
||||
67.188.133.52 41610
|
||||
144.85.175.55 51319
|
||||
79.105.169.154 22075
|
||||
186.206.12.33 8291
|
||||
85.235.253.178 15010
|
||||
88.149.180.60 51414
|
||||
78.112.75.247 16969
|
||||
83.128.120.21 51431
|
||||
79.135.216.60 51652
|
||||
164.8.221.24 31547
|
||||
188.95.214.180 25538
|
||||
95.30.219.148 46630
|
||||
50.90.175.187 60001
|
||||
24.3.223.212 43041
|
||||
68.93.74.85 25378
|
||||
76.174.241.230 59344
|
||||
125.59.156.33 32401
|
||||
124.244.217.44 50221
|
||||
187.0.225.7 60317
|
||||
86.28.116.226 2668
|
||||
130.243.191.202 24410
|
||||
93.103.72.182 49529
|
||||
77.80.249.28 32894
|
||||
109.207.196.189 14146
|
||||
65.96.192.106 20277
|
||||
68.2.142.67 39571
|
||||
85.210.38.111 20024
|
||||
189.103.144.5 12351
|
||||
78.48.11.9 46913
|
||||
90.149.130.169 39191
|
||||
107.10.32.153 6881
|
||||
71.203.222.193 11243
|
||||
79.131.185.51 28886
|
||||
174.42.210.123 35053
|
||||
94.30.130.58 18116
|
||||
88.171.224.208 54755
|
||||
85.210.38.111 20043
|
||||
62.147.204.92 7812
|
||||
188.80.161.77 52343
|
||||
77.41.99.77 60590
|
||||
85.210.38.111 20033
|
||||
178.123.85.47 38504
|
||||
92.248.226.221 55061
|
||||
216.137.133.89 44376
|
||||
201.11.235.148 33618
|
||||
85.210.38.111 19789
|
||||
178.223.136.94 10060
|
||||
78.137.52.144 19547
|
||||
78.139.231.192 50734
|
||||
85.210.38.111 19954
|
||||
221.24.70.141 61625
|
||||
69.199.102.6 48234
|
||||
85.15.70.92 53210
|
||||
85.210.38.111 19992
|
||||
82.244.203.153 21428
|
||||
76.199.97.225 62729
|
||||
189.82.213.9 61402
|
||||
50.88.148.45 38303
|
||||
87.10.130.213 26436
|
||||
176.14.55.15 51813
|
||||
110.254.168.210 40626
|
||||
80.60.161.46 53490
|
||||
120.51.210.154 443
|
||||
213.107.66.202 41381
|
||||
62.165.228.234 24958
|
||||
217.197.6.47 30000
|
||||
93.152.129.100 26707
|
||||
62.165.228.234 24958
|
||||
85.210.38.111 19866
|
||||
86.106.214.64 35691
|
||||
77.78.172.9 23574
|
||||
85.15.70.92 53210
|
||||
78.139.231.192 50734
|
||||
93.132.90.224 5188
|
||||
174.1.101.83 9406
|
||||
187.127.72.162 21380
|
||||
84.247.22.75 25850
|
||||
46.186.54.192 26016
|
||||
61.210.66.191 36578
|
||||
178.94.154.111 23923
|
||||
109.110.94.70 30954
|
||||
95.52.255.62 63245
|
||||
82.224.136.52 7890
|
||||
91.116.191.138 4662
|
||||
213.250.22.253 50254
|
||||
85.210.38.111 19926
|
||||
87.228.93.4 51915
|
||||
62.228.21.148 15495
|
||||
200.86.205.61 34635
|
||||
94.59.178.235 10379
|
||||
1.175.139.234 27959
|
||||
65.94.96.85 48004
|
||||
88.152.129.72 29440
|
||||
109.93.217.79 11526
|
||||
95.211.8.11 1140
|
||||
50.104.19.222 27902
|
||||
77.66.238.64 41810
|
||||
85.210.38.111 19935
|
||||
27.32.111.217 40217
|
||||
178.222.42.90 29384
|
||||
80.149.19.153 32528
|
||||
92.142.169.56 13452
|
||||
217.211.244.154 24932
|
||||
1.83.139.64 16001
|
||||
46.72.130.102 55045
|
||||
85.210.38.111 19894
|
||||
178.235.29.152 41661
|
||||
59.113.155.14 21775
|
||||
221.145.157.133 41323
|
||||
78.144.43.115 42272
|
||||
83.145.228.244 23147
|
||||
69.59.103.85 22750
|
||||
85.210.38.111 19697
|
||||
93.81.73.84 44144
|
||||
200.86.205.61 34635
|
||||
91.116.191.138 4662
|
||||
221.24.70.141 61625
|
||||
84.40.83.186 1660
|
||||
121.167.12.118 39840
|
||||
79.100.162.25 54856
|
||||
178.49.145.136 12665
|
||||
85.210.38.111 19784
|
||||
217.164.118.188 13026
|
||||
83.26.8.229 9849
|
||||
63.234.11.132 27352
|
||||
125.27.93.175 16816
|
||||
83.193.168.78 44075
|
||||
174.53.219.63 57942
|
||||
85.210.38.111 19955
|
||||
46.1.73.188 6881
|
||||
190.44.21.47 17082
|
||||
85.210.38.111 19749
|
||||
85.210.38.111 20025
|
||||
78.229.223.205 36531
|
||||
90.220.124.142 39540
|
||||
79.113.218.66 63123
|
||||
79.116.206.103 58889
|
||||
24.1.118.110 27704
|
||||
85.210.38.111 19851
|
||||
79.119.95.94 46983
|
||||
77.232.20.26 43250
|
||||
223.218.101.122 62548
|
||||
41.227.56.179 22716
|
||||
95.90.231.148 35420
|
||||
217.211.244.154 24932
|
||||
94.101.207.170 62580
|
||||
78.14.205.151 24211
|
||||
85.210.38.111 19962
|
||||
112.119.180.21 59328
|
||||
81.92.179.110 47662
|
||||
85.210.38.111 19736
|
||||
46.185.19.224 21714
|
||||
88.135.170.12 13761
|
||||
61.18.255.9 50239
|
||||
94.188.38.151 63933
|
||||
86.106.214.64 35691
|
||||
82.232.0.124 9156
|
||||
24.64.255.14 42832
|
||||
189.121.6.224 45063
|
||||
86.62.100.113 44610
|
||||
220.224.225.94 23365
|
||||
85.210.38.111 19755
|
||||
75.23.9.181 51498
|
||||
89.102.166.183 18088
|
||||
178.222.42.90 29384
|
||||
78.229.223.205 36531
|
||||
69.59.103.85 22750
|
||||
77.232.20.26 43250
|
||||
190.44.21.47 17082
|
||||
65.94.96.85 48004
|
||||
27.32.111.217 40217
|
||||
79.113.248.160 59750
|
||||
77.41.71.131 43240
|
||||
79.164.138.217 20214
|
||||
84.0.14.117 34245
|
||||
46.9.235.202 6881
|
||||
78.25.142.245 25505
|
||||
94.181.187.209 38043
|
||||
67.166.179.95 51679
|
||||
93.12.199.146 50797
|
||||
98.183.153.23 39212
|
||||
213.5.222.186 3142
|
||||
84.238.34.216 55202
|
||||
85.210.38.111 19826
|
||||
178.235.29.152 41661
|
||||
134.106.236.63 7584
|
||||
188.26.171.65 37450
|
||||
213.245.73.220 15641
|
||||
90.191.77.198 44825
|
||||
75.137.112.233 16873
|
||||
93.100.44.38 23175
|
||||
223.217.219.211 21119
|
||||
183.83.51.187 12904
|
||||
99.66.229.86 30732
|
||||
69.122.99.119 54701
|
||||
98.64.93.81 46213
|
||||
62.65.221.25 59745
|
||||
93.139.101.103 58439
|
||||
88.187.80.252 49180
|
||||
188.26.171.65 37450
|
||||
93.24.229.80 20696
|
||||
94.21.112.229 46570
|
||||
124.6.181.195 30186
|
||||
188.48.117.225 16814
|
||||
81.234.250.180 28382
|
||||
122.118.26.19 24793
|
||||
178.90.16.213 23732
|
||||
89.122.61.69 49001
|
||||
46.158.127.89 57492
|
||||
94.180.186.80 38312
|
||||
92.149.49.162 7816
|
||||
91.225.23.236 35691
|
||||
68.118.94.35 33288
|
||||
92.246.222.219 11335
|
||||
99.70.88.225 43139
|
||||
88.78.69.59 31441
|
||||
90.148.148.73 34106
|
||||
188.52.71.90 13213
|
||||
85.210.38.111 20045
|
||||
212.152.53.78 14254
|
||||
115.23.249.109 16823
|
||||
85.210.38.111 19724
|
||||
67.162.186.239 28803
|
||||
89.217.250.98 16190
|
||||
85.210.38.111 19999
|
||||
111.250.168.97 22261
|
||||
109.251.146.80 51027
|
||||
92.149.49.162 7812
|
||||
91.66.51.19 33548
|
||||
84.41.72.126 49059
|
||||
85.210.38.111 19915
|
||||
178.117.36.48 26529
|
||||
85.210.38.111 19730
|
||||
91.202.134.248 54118
|
||||
87.252.162.209 43996
|
||||
24.55.87.176 27129
|
||||
85.210.38.111 19739
|
||||
85.210.38.111 19905
|
||||
76.216.226.150 34974
|
||||
85.210.38.111 19692
|
||||
85.210.38.111 19893
|
||||
85.210.38.111 20067
|
||||
85.210.38.111 19831
|
||||
85.210.38.111 20008
|
||||
85.210.38.111 19883
|
||||
85.210.38.111 20015
|
||||
85.210.38.111 19984
|
||||
85.210.38.111 19794
|
||||
85.210.38.111 19972
|
||||
85.210.38.111 19728
|
||||
85.210.38.111 19766
|
||||
85.210.38.111 19923
|
||||
85.210.38.111 19997
|
||||
85.210.38.111 19764
|
||||
85.210.38.111 19900
|
||||
85.210.38.111 19791
|
||||
85.210.38.111 19970
|
||||
184.166.168.30 35691
|
||||
67.162.186.239 28803
|
||||
189.1.29.210 65123
|
||||
124.8.223.131 16880
|
||||
61.18.255.9 50239
|
||||
114.45.68.143 8856
|
||||
85.210.38.111 15779
|
||||
93.183.216.171 16220
|
||||
82.226.181.145 43643
|
||||
99.99.189.213 10061
|
||||
119.74.167.148 20643
|
||||
88.189.63.143 20348
|
||||
77.28.179.245 48808
|
||||
88.187.80.252 49180
|
||||
99.66.229.86 30732
|
||||
186.136.77.234 14974
|
||||
60.48.219.49 16407
|
||||
93.12.199.146 50797
|
||||
119.15.212.95 9787
|
||||
123.2.57.90 18763
|
||||
24.1.118.110 27704
|
||||
77.241.136.193 48402
|
||||
81.228.144.87 48865
|
||||
24.79.172.54 20661
|
||||
201.95.29.34 20932
|
||||
60.51.122.36 16881
|
||||
87.250.168.72 26497
|
||||
81.4.163.154 48066
|
||||
85.210.38.111 15613
|
||||
122.118.26.19 24793
|
||||
85.210.38.111 15780
|
||||
124.191.35.38 50369
|
||||
85.210.38.111 15781
|
||||
92.50.80.105 49232
|
||||
200.206.196.18 38972
|
||||
80.57.236.73 44357
|
||||
85.210.38.111 15790
|
||||
151.83.37.110 58558
|
||||
85.210.38.111 15610
|
||||
77.34.110.130 13687
|
||||
85.210.38.111 15794
|
||||
85.210.38.111 15669
|
||||
65.34.76.217 62453
|
||||
213.150.55.196 15030
|
||||
84.29.225.174 6881
|
||||
94.196.193.82 39512
|
||||
60.8.87.30 12543
|
||||
85.210.38.111 15615
|
||||
46.164.30.196 19818
|
||||
46.183.2.146 37299
|
||||
79.92.2.217 43791
|
||||
85.210.38.111 15617
|
||||
213.60.50.230 39805
|
||||
83.239.183.218 46153
|
||||
121.7.22.119 36748
|
||||
176.14.115.172 52218
|
||||
173.61.88.200 59733
|
||||
70.31.157.90 16667
|
||||
85.210.38.111 15751
|
||||
84.228.209.103 56467
|
||||
124.244.43.30 48033
|
||||
188.4.223.46 56420
|
||||
173.66.20.234 6881
|
||||
81.236.195.180 18203
|
||||
151.27.33.148 10016
|
||||
24.64.255.14 42832
|
||||
85.210.38.111 15594
|
||||
85.210.38.111 15706
|
||||
85.210.38.111 15784
|
||||
70.140.96.89 39408
|
||||
85.210.38.111 15626
|
||||
78.101.171.111 32349
|
||||
81.152.33.128 60371
|
||||
79.119.95.94 46983
|
||||
84.41.72.126 49059
|
||||
200.96.131.61 11189
|
||||
91.217.91.11 39192
|
||||
157.157.203.120 60474
|
||||
96.48.200.166 29285
|
||||
2.102.201.65 56665
|
||||
125.26.253.83 32071
|
||||
111.192.15.183 16001
|
||||
74.56.99.15 30046
|
||||
85.210.38.111 15694
|
||||
213.111.220.24 60004
|
||||
78.244.100.110 51623
|
||||
85.235.24.51 51413
|
||||
85.210.38.111 15599
|
||||
86.95.163.76 52413
|
||||
76.226.84.74 26334
|
||||
85.210.38.111 15625
|
||||
119.155.117.63 51550
|
||||
85.210.38.111 15662
|
||||
195.34.242.110 35352
|
||||
194.112.217.73 11279
|
||||
142.161.198.77 44740
|
||||
89.240.201.241 10371
|
||||
82.232.0.124 9156
|
||||
80.234.99.71 21756
|
||||
112.225.28.127 16001
|
||||
85.210.38.111 15697
|
||||
75.138.42.54 6881
|
||||
71.136.39.215 1171
|
||||
85.210.38.111 15585
|
||||
85.210.38.111 15704
|
||||
58.115.83.248 15959
|
||||
90.142.190.91 49688
|
||||
85.210.38.111 15665
|
||||
85.210.38.111 15712
|
||||
85.210.38.111 15715
|
||||
85.210.38.111 15641
|
||||
187.149.168.72 25300
|
||||
1.160.232.123 18254
|
||||
85.210.38.111 15623
|
||||
85.210.38.111 15647
|
||||
216.110.99.160 16749
|
||||
85.210.38.111 15679
|
||||
99.116.4.75 35916
|
||||
122.19.243.220 48788
|
||||
122.133.5.65 47338
|
||||
218.166.126.94 17175
|
||||
61.178.17.210 15152
|
||||
77.242.145.133 51413
|
||||
82.254.41.81 57189
|
||||
173.217.246.214 13494
|
||||
46.118.224.174 63196
|
||||
80.186.135.251 37585
|
||||
85.210.38.111 15713
|
||||
109.94.66.154 62185
|
||||
188.2.33.6 47050
|
||||
89.89.18.218 13783
|
||||
68.193.187.110 39233
|
||||
151.15.11.42 35363
|
||||
220.241.211.145 33830
|
||||
84.209.76.94 39078
|
||||
68.174.120.114 50424
|
||||
85.210.38.111 15608
|
||||
85.210.38.111 15643
|
||||
142.167.140.26 45059
|
||||
85.210.38.111 15671
|
||||
85.210.38.111 15708
|
||||
89.77.18.144 57420
|
||||
78.159.38.59 41621
|
||||
87.56.51.50 39107
|
||||
2.50.21.232 53135
|
||||
85.210.38.111 15604
|
||||
151.20.181.199 39886
|
||||
85.210.38.111 15711
|
||||
182.64.118.74 11244
|
||||
85.210.38.111 15607
|
||||
213.16.121.172 7380
|
||||
90.216.117.77 26903
|
||||
77.206.26.166 49807
|
||||
124.169.135.216 20627
|
||||
85.210.38.111 15652
|
||||
85.210.38.111 15621
|
||||
123.238.65.20 60431
|
||||
85.210.38.111 15655
|
||||
134.106.236.73 32092
|
||||
85.210.38.111 15660
|
||||
67.45.198.80 10275
|
||||
85.210.38.111 15677
|
||||
85.210.38.111 15605
|
||||
85.210.38.111 15614
|
||||
78.96.192.198 20544
|
||||
178.122.91.204 50491
|
||||
82.244.203.153 21428
|
||||
95.166.77.224 51413
|
||||
79.111.48.157 42921
|
||||
109.63.170.93 51767
|
||||
124.180.53.163 24425
|
||||
85.210.38.111 15709
|
||||
88.162.79.68 12574
|
||||
188.226.4.247 61384
|
||||
96.3.14.184 14029
|
||||
66.177.245.122 10328
|
||||
125.178.8.35 51413
|
||||
85.210.38.111 15691
|
||||
178.203.129.209 47916
|
||||
121.16.195.218 33700
|
||||
96.254.114.126 26982
|
||||
70.65.69.190 61162
|
||||
189.26.147.115 23755
|
||||
113.53.178.125 11685
|
||||
98.14.74.49 50918
|
||||
87.126.123.205 55118
|
||||
77.77.59.2 7868
|
||||
24.162.155.137 23221
|
||||
69.111.152.82 58513
|
||||
93.106.57.71 17012
|
||||
126.10.205.181 26408
|
||||
62.147.204.92 7812
|
||||
202.161.27.236 29020
|
||||
91.66.51.19 33548
|
||||
178.203.144.149 18216
|
||||
85.210.38.111 15645
|
||||
77.120.20.53 19094
|
||||
88.170.1.199 60144
|
||||
69.125.102.230 64736
|
||||
85.210.38.111 15701
|
||||
142.177.163.124 24663
|
||||
212.15.159.70 52349
|
||||
77.70.96.130 14146
|
||||
221.190.131.95 46545
|
||||
182.64.117.176 19106
|
||||
81.53.57.54 27721
|
||||
93.21.120.104 50100
|
||||
87.229.13.157 51888
|
||||
174.5.200.186 22115
|
||||
201.210.6.209 15475
|
||||
85.210.38.111 15722
|
||||
77.37.236.54 6881
|
||||
79.114.69.125 12563
|
||||
201.43.14.4 17607
|
||||
220.145.224.43 51188
|
||||
201.15.217.137 38971
|
||||
221.202.84.134 8793
|
||||
85.210.38.111 15723
|
||||
201.78.165.4 58026
|
||||
86.150.142.72 49740
|
||||
46.47.102.170 6881
|
||||
219.79.181.184 35997
|
||||
85.210.38.111 15664
|
||||
89.181.200.105 21518
|
||||
67.160.20.111 46292
|
||||
187.39.23.126 22015
|
||||
95.165.134.29 55258
|
||||
85.247.202.169 32566
|
||||
75.25.147.26 51413
|
||||
85.210.38.111 15737
|
||||
89.157.128.104 33931
|
||||
94.41.220.97 61538
|
||||
50.22.214.88 15003
|
||||
188.95.111.46 41736
|
||||
2.226.2.251 46917
|
||||
85.241.42.187 45224
|
||||
91.154.8.204 44742
|
||||
77.35.141.3 33457
|
||||
85.210.38.111 15690
|
||||
86.135.109.40 17662
|
||||
88.189.82.239 5666
|
||||
85.210.38.111 15739
|
||||
217.24.244.196 46851
|
||||
94.27.71.210 38180
|
||||
88.148.38.107 23695
|
||||
114.32.10.189 6882
|
||||
190.177.150.208 61830
|
||||
85.210.38.111 15627
|
||||
85.210.38.111 15640
|
||||
59.113.155.14 21775
|
||||
88.161.167.243 18722
|
||||
76.122.32.160 13272
|
||||
85.210.38.111 15648
|
||||
85.210.38.111 15747
|
||||
85.210.38.111 15606
|
||||
92.154.124.137 47816
|
||||
213.22.190.219 59746
|
||||
67.167.245.246 63188
|
||||
24.7.144.73 29585
|
||||
178.46.48.131 22442
|
||||
218.67.244.18 18119
|
||||
189.61.101.171 44535
|
||||
85.210.38.111 15591
|
||||
83.20.118.241 14433
|
||||
77.100.181.253 53042
|
||||
85.210.38.111 15668
|
||||
95.78.238.94 54157
|
||||
201.75.12.64 8599
|
||||
86.6.193.240 59203
|
||||
85.210.38.111 15628
|
||||
88.198.183.157 32257
|
||||
80.149.19.153 32528
|
||||
85.210.38.111 15639
|
||||
85.210.38.111 15622
|
||||
92.52.37.169 24456
|
||||
140.184.38.236 26038
|
||||
76.22.208.42 48036
|
||||
198.53.231.242 41343
|
||||
190.105.1.61 31276
|
||||
85.210.38.111 15609
|
||||
85.210.38.111 15589
|
||||
85.210.38.111 15611
|
||||
216.249.207.179 49264
|
||||
85.210.38.111 15600
|
||||
91.205.174.9 64081
|
||||
85.210.38.111 15676
|
||||
85.27.92.249 6881
|
||||
89.235.211.154 54082
|
||||
95.79.114.90 54480
|
||||
94.98.237.189 22423
|
||||
174.50.75.23 40107
|
||||
50.8.231.183 6895
|
||||
199.15.222.2 41932
|
||||
85.210.38.111 15654
|
||||
85.210.38.111 15727
|
||||
123.89.205.188 27728
|
||||
85.210.38.111 15587
|
||||
85.210.38.111 15661
|
||||
85.210.38.111 15672
|
||||
193.251.90.143 64101
|
||||
94.19.219.159 62495
|
||||
85.210.38.111 15588
|
||||
76.227.0.63 31540
|
||||
85.210.38.111 15680
|
||||
85.210.38.111 15598
|
||||
85.210.38.111 15642
|
||||
85.210.38.111 15683
|
||||
174.116.40.53 18169
|
||||
85.210.38.111 15673
|
||||
85.210.38.111 15601
|
||||
85.210.38.111 15616
|
||||
85.210.38.111 15596
|
||||
46.188.4.2 32546
|
||||
85.210.38.111 15633
|
||||
85.210.38.111 15663
|
||||
85.210.38.111 15761
|
||||
85.210.38.111 15651
|
||||
85.210.38.111 15684
|
||||
85.210.38.111 15602
|
||||
85.210.38.111 15618
|
||||
85.210.38.111 15759
|
||||
85.210.38.111 15649
|
||||
85.210.38.111 15734
|
||||
85.210.38.111 15586
|
||||
85.210.38.111 15689
|
||||
85.210.38.111 15688
|
||||
85.210.38.111 15716
|
||||
178.171.98.228 35691
|
||||
94.99.70.34 13738
|
||||
|
@ -67,6 +67,26 @@ def generateNet(basefolder, npeers, nfriends, fracProxy, fracRelay, nguis):
|
||||
fd = open(scriptfilename, 'w');
|
||||
fd.write('#!/bin/sh\n\n');
|
||||
|
||||
#
|
||||
analysisfilename = '%s/checkforerrs.sh' % (basefolder);
|
||||
fd2 = open(analysisfilename, 'w');
|
||||
fd2.write('#!/bin/sh\n\n');
|
||||
|
||||
#
|
||||
warningfilename = '%s/checkforwarnings.sh' % (basefolder);
|
||||
fd3 = open(warningfilename, 'w');
|
||||
fd3.write('#!/bin/sh\n\n');
|
||||
|
||||
#
|
||||
exprfilename = '%s/checkforexpr.sh' % (basefolder);
|
||||
fd4 = open(exprfilename, 'w');
|
||||
fd4.write('#!/bin/sh\n\n');
|
||||
fd4.write('if [$# -lt 2]\n');
|
||||
fd4.write('then\n');
|
||||
fd4.write(' echo \"script needs expression as argument\"\n');
|
||||
fd4.write('fi\n\n')
|
||||
|
||||
|
||||
for i in range(npeers):
|
||||
random.shuffle(shuffledIdxs);
|
||||
print 'Peer %d : %s' % (i+1, ids[i]);
|
||||
@ -77,8 +97,11 @@ def generateNet(basefolder, npeers, nfriends, fracProxy, fracRelay, nguis):
|
||||
friends = [];
|
||||
for j in range(nfriends):
|
||||
fid = shuffledIdxs[j];
|
||||
print '\t\tIdx: %d Port: %d Id: %s' % (fid, ports[fid], ids[fid])
|
||||
friends.append(ids[fid]);
|
||||
if (fid != i):
|
||||
print '\t\tIdx: %d Port: %d Id: %s' % (fid, ports[fid], ids[fid])
|
||||
friends.append(ids[fid]);
|
||||
else:
|
||||
print '\t\tSkipping Self as Peer!'
|
||||
|
||||
folder = '%s/%s' % (basefolder, folders[i]);
|
||||
if (os.path.exists(folder)):
|
||||
@ -96,8 +119,30 @@ def generateNet(basefolder, npeers, nfriends, fracProxy, fracRelay, nguis):
|
||||
fd.write('./run.sh &\n');
|
||||
fd.write('cd ..\n\n');
|
||||
|
||||
fd2.write('echo ------------ PEER FOLDER: %s\n' % folders[i]);
|
||||
fd2.write('cd %s\n' % folders[i]);
|
||||
fd2.write('grep -n ERROR pn.log\n');
|
||||
fd2.write('cd ..\n\n');
|
||||
|
||||
fd3.write('echo ------------ PEER FOLDER: %s\n' % folders[i]);
|
||||
fd3.write('cd %s\n' % folders[i]);
|
||||
fd3.write('grep -n WARNING pn.log\n');
|
||||
fd3.write('cd ..\n\n');
|
||||
|
||||
fd4.write('echo ------------ PEER FOLDER: %s\n' % folders[i]);
|
||||
fd4.write('cd %s\n' % folders[i]);
|
||||
fd4.write('grep -n -A 10 $1 pn.log\n');
|
||||
fd4.write('cd ..\n\n');
|
||||
|
||||
fd.close();
|
||||
fd2.close();
|
||||
fd3.close();
|
||||
fd4.close();
|
||||
|
||||
os.chmod(scriptfilename, stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR | stat.S_IRGRP | stat.S_IROTH);
|
||||
os.chmod(analysisfilename, stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR | stat.S_IRGRP | stat.S_IROTH);
|
||||
os.chmod(warningfilename, stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR | stat.S_IRGRP | stat.S_IROTH);
|
||||
os.chmod(exprfilename, stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR | stat.S_IRGRP | stat.S_IROTH);
|
||||
|
||||
return;
|
||||
|
||||
@ -133,8 +178,8 @@ def makePeerRunScript(folder, gui, port, proxyblock, proxyrange, relayblock, rel
|
||||
|
||||
fd.write('#/bin/sh\n\n');
|
||||
fd.write('EXEC=%s\n\n' % execpath);
|
||||
fd.write(('$EXEC %s -l -p %d -r %d-%d -R %d-%d -c . > /dev/null 2>&1' % (noguistr, port, proxyblock, proxyblock+proxyrange, relayblock, relayblock+relayrange)));
|
||||
#fd.write(('$EXEC %s -l -p %d -r %d-%d -R %d-%d -c . > pn.log 2>&1' % (noguistr, port, proxyblock, proxyblock+proxyrange, relayblock, relayblock+relayrange)));
|
||||
#fd.write(('$EXEC %s -l -p %d -r %d-%d -R %d-%d -c . > /dev/null 2>&1' % (noguistr, port, proxyblock, proxyblock+proxyrange, relayblock, relayblock+relayrange)));
|
||||
fd.write(('$EXEC %s -l -p %d -r %d-%d -R %d-%d -c . > pn.log 2>&1' % (noguistr, port, proxyblock, proxyblock+proxyrange, relayblock, relayblock+relayrange)));
|
||||
|
||||
fd.close();
|
||||
os.chmod(filename, stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR | stat.S_IRGRP | stat.S_IROTH);
|
||||
|
@ -242,14 +242,22 @@ void MainWindow::updateNetPeers()
|
||||
int nRelayPeers = 0;
|
||||
|
||||
|
||||
#define PTW_COL_PEERID 0
|
||||
#define PTW_COL_DHT_STATUS 1
|
||||
#define PTW_COL_DHT_ADDRESS 2
|
||||
#define PTW_COL_DHT_UPDATETS 3
|
||||
#define PTW_COL_PEERID 0
|
||||
#define PTW_COL_DHT_STATUS 1
|
||||
|
||||
#define PTW_COL_PEER_CONNECT_STATUS 2
|
||||
#define PTW_COL_PEER_CONNECT_MODE 3
|
||||
#define PTW_COL_PEER_REQ_STATUS 4
|
||||
|
||||
#define PTW_COL_PEER_CB_MSG 5
|
||||
|
||||
#define PTW_COL_PEER_STATUS 4
|
||||
#define PTW_COL_PEER_ADDRESS 5
|
||||
#define PTW_COL_PEER_UPDATETS 6
|
||||
// These aren't that important.
|
||||
#define PTW_COL_PEER_CB_MODE 6
|
||||
#define PTW_COL_PEER_CB_PROXY 7
|
||||
|
||||
#define PTW_COL_DHT_ADDRESS 8
|
||||
#define PTW_COL_DHT_UPDATETS 9
|
||||
|
||||
|
||||
/* clear old entries */
|
||||
int itemCount = peerTreeWidget->topLevelItemCount();
|
||||
@ -276,6 +284,7 @@ void MainWindow::updateNetPeers()
|
||||
}
|
||||
}
|
||||
|
||||
time_t now = time(NULL);
|
||||
for(it = peerIds.begin(); it != peerIds.end(); it++)
|
||||
{
|
||||
/* find the entry */
|
||||
@ -302,7 +311,7 @@ void MainWindow::updateNetPeers()
|
||||
/* update the data */
|
||||
PeerStatus status;
|
||||
mPeerNet->get_peer_status(*it, status);
|
||||
time_t now = time(NULL);
|
||||
|
||||
|
||||
std::ostringstream dhtipstr;
|
||||
if ((status.mDhtState == PN_DHT_STATE_ONLINE) || (status.mDhtState == PN_DHT_STATE_UNREACHABLE))
|
||||
@ -314,25 +323,73 @@ void MainWindow::updateNetPeers()
|
||||
std::ostringstream dhtupdatestr;
|
||||
dhtupdatestr << now - status.mDhtUpdateTS << " secs ago";
|
||||
|
||||
std::ostringstream peeripstr;
|
||||
//if (status.mPeerState == PN_PEER_STATE_ONLINE)
|
||||
{
|
||||
peeripstr << inet_ntoa(status.mPeerAddr.sin_addr);
|
||||
peeripstr << ":" << ntohs(status.mPeerAddr.sin_port);
|
||||
}
|
||||
|
||||
std::ostringstream peerupdatestr;
|
||||
peerupdatestr << now - status.mPeerUpdateTS << " secs ago";
|
||||
|
||||
//std::ostringstream peerupdatestr;
|
||||
//peerupdatestr << now - status.mPeerUpdateTS << " secs ago";
|
||||
|
||||
|
||||
|
||||
peer_item -> setData(PTW_COL_PEERID, Qt::DisplayRole, QString::fromStdString(*it));
|
||||
peer_item -> setData(PTW_COL_DHT_STATUS, Qt::DisplayRole, QString::fromStdString(status.mDhtStatusMsg));
|
||||
peer_item -> setData(PTW_COL_DHT_ADDRESS, Qt::DisplayRole, QString::fromStdString(dhtipstr.str()));
|
||||
peer_item -> setData(PTW_COL_DHT_UPDATETS, Qt::DisplayRole, QString::fromStdString(dhtupdatestr.str()));
|
||||
|
||||
peer_item -> setData(PTW_COL_PEER_STATUS, Qt::DisplayRole, QString::fromStdString(status.mPeerStatusMsg));
|
||||
peer_item -> setData(PTW_COL_PEER_ADDRESS, Qt::DisplayRole, QString::fromStdString(peeripstr.str()));
|
||||
peer_item -> setData(PTW_COL_PEER_UPDATETS, Qt::DisplayRole, QString::fromStdString(peerupdatestr.str()));
|
||||
// NOW CONNECT STATE
|
||||
std::ostringstream cpmstr;
|
||||
switch(status.mPeerConnectMode)
|
||||
{
|
||||
case BITDHT_CONNECT_MODE_DIRECT:
|
||||
cpmstr << "Direct";
|
||||
break;
|
||||
case BITDHT_CONNECT_MODE_PROXY:
|
||||
cpmstr << "Proxy VIA ";
|
||||
bdStdPrintId(cpmstr, &(status.mPeerConnectProxyId));
|
||||
break;
|
||||
case BITDHT_CONNECT_MODE_RELAY:
|
||||
cpmstr << "Relay VIA ";
|
||||
bdStdPrintId(cpmstr, &(status.mPeerConnectProxyId));
|
||||
break;
|
||||
default:
|
||||
cpmstr << "None";
|
||||
break;
|
||||
}
|
||||
|
||||
peer_item -> setData(PTW_COL_PEER_CONNECT_STATUS, Qt::DisplayRole, QString::fromStdString(status.mPeerConnectMsg));
|
||||
if (status.mPeerConnectState == PN_PEER_CONN_DISCONNECTED)
|
||||
{
|
||||
peer_item -> setData(PTW_COL_PEER_CONNECT_MODE, Qt::DisplayRole, "");
|
||||
}
|
||||
else
|
||||
{
|
||||
peer_item -> setData(PTW_COL_PEER_CONNECT_MODE, Qt::DisplayRole, QString::fromStdString(cpmstr.str()));
|
||||
}
|
||||
|
||||
// NOW REQ STATE.
|
||||
std::ostringstream reqstr;
|
||||
switch(status.mPeerReqState)
|
||||
{
|
||||
case PN_PEER_REQ_RUNNING:
|
||||
reqstr << "Request Active";
|
||||
break;
|
||||
case PN_PEER_REQ_STOPPED:
|
||||
reqstr << "No Request";
|
||||
break;
|
||||
default:
|
||||
reqstr << "Unknown";
|
||||
break;
|
||||
}
|
||||
peer_item -> setData(PTW_COL_PEER_REQ_STATUS, Qt::DisplayRole, QString::fromStdString(reqstr.str()));
|
||||
|
||||
|
||||
// NOW CB
|
||||
std::ostringstream cbmstr;
|
||||
cpmstr << status.mPeerCbMode;
|
||||
|
||||
std::ostringstream cbpstr;
|
||||
bdStdPrintId(cbpstr, &(status.mPeerCbProxyId));
|
||||
|
||||
peer_item -> setData(PTW_COL_PEER_CB_MSG, Qt::DisplayRole, QString::fromStdString(status.mPeerCbMsg));
|
||||
peer_item -> setData(PTW_COL_PEER_CB_MODE, Qt::DisplayRole, QString::fromStdString(cbmstr.str()));
|
||||
peer_item -> setData(PTW_COL_PEER_CB_PROXY, Qt::DisplayRole, QString::fromStdString(cbpstr.str()));
|
||||
|
||||
|
||||
switch(status.mDhtState)
|
||||
@ -353,24 +410,25 @@ void MainWindow::updateNetPeers()
|
||||
}
|
||||
|
||||
|
||||
switch(status.mPeerState)
|
||||
switch(status.mPeerConnectState)
|
||||
{
|
||||
default:
|
||||
case PN_PEER_STATE_DISCONNECTED:
|
||||
case PN_PEER_CONN_DISCONNECTED:
|
||||
nDisconnPeers++;
|
||||
break;
|
||||
case PN_PEER_STATE_CONNECTED:
|
||||
case PN_PEER_CONN_UDP_STARTED:
|
||||
case PN_PEER_CONN_CONNECTED:
|
||||
{
|
||||
switch(status.mPeerConnectMode)
|
||||
{
|
||||
default:
|
||||
case PN_CONNECT_UDP_DIRECT:
|
||||
case BITDHT_CONNECT_MODE_DIRECT:
|
||||
nDirectPeers++;
|
||||
break;
|
||||
case PN_CONNECT_UDP_PROXY:
|
||||
case BITDHT_CONNECT_MODE_PROXY:
|
||||
nProxyPeers++;
|
||||
break;
|
||||
case PN_CONNECT_UDP_RELAY:
|
||||
case BITDHT_CONNECT_MODE_RELAY:
|
||||
nRelayPeers++;
|
||||
break;
|
||||
}
|
||||
@ -407,27 +465,23 @@ void MainWindow::updateNetPeers()
|
||||
/* update the data */
|
||||
PeerStatus status;
|
||||
mPeerNet->get_failedpeer_status(*it, status);
|
||||
time_t now = time(NULL);
|
||||
|
||||
std::ostringstream peeripstr;
|
||||
//if (status.mPeerState == PN_PEER_STATE_ONLINE)
|
||||
{
|
||||
peeripstr << inet_ntoa(status.mPeerAddr.sin_addr);
|
||||
peeripstr << ":" << ntohs(status.mPeerAddr.sin_port);
|
||||
}
|
||||
|
||||
std::ostringstream peerupdatestr;
|
||||
peerupdatestr << now - status.mPeerUpdateTS << " secs ago";
|
||||
|
||||
|
||||
peer_item -> setData(PTW_COL_PEERID, Qt::DisplayRole, QString::fromStdString(*it));
|
||||
peer_item -> setData(PTW_COL_DHT_STATUS, Qt::DisplayRole, "Unknown Peer");
|
||||
peer_item -> setData(PTW_COL_DHT_ADDRESS, Qt::DisplayRole, "");
|
||||
peer_item -> setData(PTW_COL_DHT_UPDATETS, Qt::DisplayRole, "");
|
||||
|
||||
peer_item -> setData(PTW_COL_PEER_STATUS, Qt::DisplayRole, QString::fromStdString(status.mPeerStatusMsg));
|
||||
peer_item -> setData(PTW_COL_PEER_ADDRESS, Qt::DisplayRole, QString::fromStdString(peeripstr.str()));
|
||||
peer_item -> setData(PTW_COL_PEER_UPDATETS, Qt::DisplayRole, QString::fromStdString(peerupdatestr.str()));
|
||||
|
||||
// NOW CONNECT STATE
|
||||
peer_item -> setData(PTW_COL_PEER_CONNECT_STATUS, Qt::DisplayRole, QString::fromStdString(status.mPeerConnectMsg));
|
||||
peer_item -> setData(PTW_COL_PEER_CONNECT_MODE, Qt::DisplayRole, "");
|
||||
peer_item -> setData(PTW_COL_PEER_REQ_STATUS, Qt::DisplayRole, "None");
|
||||
|
||||
// NOW CB
|
||||
peer_item -> setData(PTW_COL_PEER_CB_MSG, Qt::DisplayRole, QString::fromStdString(status.mPeerCbMsg));
|
||||
peer_item -> setData(PTW_COL_PEER_CB_MODE, Qt::DisplayRole, "");
|
||||
peer_item -> setData(PTW_COL_PEER_CB_PROXY, Qt::DisplayRole, "None");
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -160,6 +160,36 @@
|
||||
<string>Dht Status</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Connect Status</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Connect Mode</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Request Status</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Cb Status</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Cb Mode</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Cb Address</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Dht Address</string>
|
||||
@ -170,21 +200,6 @@
|
||||
<string>Dht Update</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Connect Status</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Connect Address</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Connect Update</string>
|
||||
</property>
|
||||
</column>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
|
@ -153,13 +153,13 @@ PeerNetStateBox::PeerNetStateBox()
|
||||
/* Parameters set externally */
|
||||
|
||||
mStunDhtSet = false;
|
||||
//time_t mStunDhtTS;
|
||||
//bool mStunDhtStable;
|
||||
time_t mStunDhtTS = 0;
|
||||
bool mStunDhtStable = false;
|
||||
//struct sockaddr_in mStunDhtAddr;
|
||||
|
||||
mStunProxySet = false;
|
||||
//time_t mStunProxyTS;
|
||||
//bool mStunProxyStable;
|
||||
time_t mStunProxyTS = 0;
|
||||
bool mStunProxyStable = false;
|
||||
//struct sockaddr_in mStunProxyAddr;
|
||||
|
||||
mUPnPSet = false;
|
||||
|
@ -16,7 +16,7 @@ PeerNet::PeerNet(std::string id, std::string configpath, uint16_t port)
|
||||
{
|
||||
mDoUdpStackRestrictions = false;
|
||||
mLocalNetTesting = false;
|
||||
|
||||
mMinuteTS = 0;
|
||||
|
||||
std::cerr << "PeerNet::PeerNet()" << std::endl;
|
||||
std::cerr << "Using Id: " << id;
|
||||
@ -263,10 +263,33 @@ int PeerNet::add_peer(std::string id)
|
||||
it->second.mDhtState = PN_DHT_STATE_SEARCHING;
|
||||
it->second.mDhtUpdateTS = time(NULL);
|
||||
|
||||
it->second.mPeerStatusMsg = "Disconnected";
|
||||
bdsockaddr_clear(&(it->second.mPeerAddr));
|
||||
it->second.mPeerState = PN_PEER_STATE_DISCONNECTED;
|
||||
it->second.mPeerUpdateTS = time(NULL);
|
||||
// Initialise Everything.
|
||||
|
||||
it->second.mPeerReqStatusMsg = "Just Added";
|
||||
it->second.mPeerReqState = PN_PEER_REQ_STOPPED;
|
||||
it->second.mPeerReqMode = 0;
|
||||
//it->second.mPeerReqProxyId;
|
||||
it->second.mPeerReqTS = time(NULL);
|
||||
|
||||
it->second.mPeerCbMsg = "No CB Yet";
|
||||
it->second.mPeerCbMode = 0;
|
||||
it->second.mPeerCbPoint = 0;
|
||||
//it->second.mPeerCbProxyId = 0;
|
||||
//it->second.mPeerCbDestId = 0;
|
||||
it->second.mPeerCbTS = 0;
|
||||
|
||||
it->second.mPeerConnectState = PN_PEER_CONN_DISCONNECTED;
|
||||
it->second.mPeerConnectMsg = "Disconnected";
|
||||
it->second.mPeerConnectFd = 0;
|
||||
it->second.mPeerConnectMode = 0;
|
||||
//it->second.mPeerConnectProxyId;
|
||||
it->second.mPeerConnectPoint = 0;
|
||||
|
||||
it->second.mPeerConnectUdpTS = 0;
|
||||
it->second.mPeerConnectTS = 0;
|
||||
it->second.mPeerConnectClosedTS = 0;
|
||||
|
||||
bdsockaddr_clear(&(it->second.mPeerConnectAddr));
|
||||
|
||||
addedPeer = true;
|
||||
}
|
||||
@ -508,11 +531,13 @@ int PeerNet::get_failedpeer_status(std::string id, PeerStatus &status)
|
||||
int PeerNet::get_relayends(std::list<UdpRelayEnd> &relayEnds)
|
||||
{
|
||||
mRelayReceiver->getRelayEnds(relayEnds);
|
||||
return 1;
|
||||
}
|
||||
|
||||
int PeerNet::get_relayproxies(std::list<UdpRelayProxy> &relayProxies)
|
||||
{
|
||||
mRelayReceiver->getRelayProxies(relayProxies);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
@ -662,8 +687,7 @@ int PeerNet::dhtNodeCallback(const bdId *id, uint32_t peerflags)
|
||||
#endif
|
||||
}
|
||||
|
||||
if ((peerflags & BITDHT_PEER_STATUS_DHT_APPL)
|
||||
&& (peerflags & BITDHT_PEER_STATUS_DHT_APPL_VERSION))
|
||||
if (peerflags & BITDHT_PEER_STATUS_DHT_ENGINE_VERSION)
|
||||
{
|
||||
#ifdef PEERNET_DEBUG
|
||||
std::cerr << "PeerNet::dhtNodeCallback() Passing Local Peer to DhtStunner: ";
|
||||
@ -721,13 +745,13 @@ int PeerNet::dhtPeerCallback(const bdId *id, uint32_t status)
|
||||
break;
|
||||
case BITDHT_MGR_QUERY_PEER_OFFLINE:
|
||||
{
|
||||
it->second.mDhtStatusMsg = "Peer Offline";
|
||||
it->second.mDhtStatusMsg = "Offline";
|
||||
it->second.mDhtState = PN_DHT_STATE_OFFLINE;
|
||||
}
|
||||
break;
|
||||
case BITDHT_MGR_QUERY_PEER_UNREACHABLE:
|
||||
{
|
||||
it->second.mDhtStatusMsg = "Peer Unreachable";
|
||||
it->second.mDhtStatusMsg = "Unreachable";
|
||||
it->second.mDhtState = PN_DHT_STATE_UNREACHABLE;
|
||||
it->second.mDhtAddr = id->addr;
|
||||
|
||||
@ -736,7 +760,7 @@ int PeerNet::dhtPeerCallback(const bdId *id, uint32_t status)
|
||||
break;
|
||||
case BITDHT_MGR_QUERY_PEER_ONLINE:
|
||||
{
|
||||
it->second.mDhtStatusMsg = "Peer Online";
|
||||
it->second.mDhtStatusMsg = "Online";
|
||||
it->second.mDhtState = PN_DHT_STATE_ONLINE;
|
||||
it->second.mDhtAddr = id->addr;
|
||||
|
||||
@ -764,13 +788,10 @@ int PeerNet::dhtPeerCallback(const bdId *id, uint32_t status)
|
||||
int PeerNet::OnlinePeerCallback_locked(const bdId *id, uint32_t status, PeerStatus *peerStatus)
|
||||
{
|
||||
|
||||
if ((peerStatus->mPeerState == PN_PEER_STATE_CONNECTION_INITIATED) ||
|
||||
(peerStatus->mPeerState == PN_PEER_STATE_CONNECTION_AUTHORISED) ||
|
||||
(peerStatus->mPeerState == PN_PEER_STATE_UDP_STARTED) ||
|
||||
(peerStatus->mPeerState == PN_PEER_STATE_CONNECTED))
|
||||
if (peerStatus->mPeerConnectState != PN_PEER_CONN_DISCONNECTED)
|
||||
{
|
||||
|
||||
std::cerr << "dhtPeerCallback. Peer Online, but connection already underway: ";
|
||||
std::cerr << "dhtPeerCallback. WARNING Ignoring Callback. Peer Online, but connection already underway: ";
|
||||
bdStdPrintId(std::cerr, id);
|
||||
std::cerr << std::endl;
|
||||
}
|
||||
@ -797,12 +818,9 @@ int PeerNet::OnlinePeerCallback_locked(const bdId *id, uint32_t status, PeerStat
|
||||
int PeerNet::UnreachablePeerCallback_locked(const bdId *id, uint32_t status, PeerStatus *peerStatus)
|
||||
{
|
||||
|
||||
if ((peerStatus->mPeerState == PN_PEER_STATE_CONNECTION_INITIATED) ||
|
||||
(peerStatus->mPeerState == PN_PEER_STATE_CONNECTION_AUTHORISED) ||
|
||||
(peerStatus->mPeerState == PN_PEER_STATE_UDP_STARTED) ||
|
||||
(peerStatus->mPeerState == PN_PEER_STATE_CONNECTED))
|
||||
if (peerStatus->mPeerConnectState != PN_PEER_CONN_DISCONNECTED)
|
||||
{
|
||||
std::cerr << "dhtPeerCallback. Peer Unreachable, but connection already underway: ";
|
||||
std::cerr << "dhtPeerCallback. WARNING Ignoring Callback, Peer Unreachable, but connection already underway: ";
|
||||
bdStdPrintId(std::cerr, id);
|
||||
std::cerr << std::endl;
|
||||
|
||||
@ -889,6 +907,32 @@ int PeerNet::dhtValueCallback(const bdNodeId *id, std::string key, uint32_t stat
|
||||
return 1;
|
||||
}
|
||||
|
||||
PeerStatus *PeerNet::getPeerStatus_locked(const bdId *peerId)
|
||||
{
|
||||
std::cerr << "PeerNet::getPeerStatus_locked() for: ";
|
||||
bdStdPrintId(std::cerr,peerId);
|
||||
std::cerr << std::endl;
|
||||
|
||||
std::ostringstream str;
|
||||
bdStdPrintNodeId(str, &(peerId->id));
|
||||
std::string id = str.str();
|
||||
|
||||
/* check if they are in our friend list */
|
||||
std::map<std::string, PeerStatus>::iterator it = mPeers.find(id);
|
||||
|
||||
if (it == mPeers.end())
|
||||
{
|
||||
std::cerr << "PeerNet::getPeerStatus_locked() WARNING Failed to find PeerStatus for: ";
|
||||
bdStdPrintId(std::cerr,peerId);
|
||||
std::cerr << std::endl;
|
||||
|
||||
return NULL;
|
||||
}
|
||||
return &(it->second);
|
||||
}
|
||||
|
||||
|
||||
|
||||
int PeerNet::dhtConnectCallback(const bdId *srcId, const bdId *proxyId, const bdId *destId,
|
||||
uint32_t mode, uint32_t point, uint32_t cbtype, uint32_t errcode)
|
||||
{
|
||||
@ -915,6 +959,7 @@ int PeerNet::dhtConnectCallback(const bdId *srcId, const bdId *proxyId, const bd
|
||||
*/
|
||||
|
||||
bdId peerId;
|
||||
time_t now = time(NULL);
|
||||
|
||||
switch(point)
|
||||
{
|
||||
@ -1169,7 +1214,79 @@ int PeerNet::dhtConnectCallback(const bdId *srcId, const bdId *proxyId, const bd
|
||||
std::cerr << " ErrorType: " << errtype;
|
||||
std::cerr << std::endl;
|
||||
|
||||
bdStackMutex stack(mPeerMutex); /********** LOCKED MUTEX ***************/
|
||||
|
||||
PeerStatus *ps = getPeerStatus_locked(&peerId);
|
||||
if (ps)
|
||||
{
|
||||
ps->mPeerCbMsg = "ERROR : ";
|
||||
ps->mPeerCbMsg += decodeConnectionError(errcode);
|
||||
ps->mPeerCbMode = mode;
|
||||
ps->mPeerCbPoint = point;
|
||||
ps->mPeerCbProxyId = *proxyId;
|
||||
ps->mPeerCbDestId = peerId;
|
||||
ps->mPeerCbTS = now;
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cerr << "dhtConnectionCallback() ";
|
||||
std::cerr << "ERROR Unknown Peer";
|
||||
std::cerr << std::endl;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case BITDHT_CONNECT_CB_REQUEST:
|
||||
{
|
||||
std::cerr << "dhtConnectionCallback() Local Connection Request Feedback:";
|
||||
bdStdPrintId(std::cerr, &(peerId));
|
||||
std::cerr << std::endl;
|
||||
|
||||
std::cerr << "dhtConnectionCallback() Proxy:";
|
||||
bdStdPrintId(std::cerr, proxyId);
|
||||
std::cerr << std::endl;
|
||||
|
||||
if (point != BD_PROXY_CONNECTION_START_POINT)
|
||||
{
|
||||
std::cerr << "dhtConnectionCallback() ERROR Cannot find PeerStatus";
|
||||
std::cerr << std::endl;
|
||||
return 0;
|
||||
}
|
||||
|
||||
bdStackMutex stack(mPeerMutex); /********** LOCKED MUTEX ***************/
|
||||
|
||||
PeerStatus *ps = getPeerStatus_locked(&peerId);
|
||||
if (ps)
|
||||
{
|
||||
if (errcode)
|
||||
{
|
||||
ps->mPeerReqStatusMsg = "STOPPED: ";
|
||||
ps->mPeerReqStatusMsg += decodeConnectionError(errcode);
|
||||
ps->mPeerReqState = PN_PEER_REQ_STOPPED;
|
||||
ps->mPeerReqTS = now;
|
||||
}
|
||||
else // a new connection attempt.
|
||||
{
|
||||
ps->mPeerReqStatusMsg = "Connect Attempt";
|
||||
ps->mPeerReqState = PN_PEER_REQ_RUNNING;
|
||||
ps->mPeerReqMode = mode;
|
||||
ps->mPeerReqProxyId = *proxyId;
|
||||
ps->mPeerReqTS = now;
|
||||
|
||||
// This also is flagged into the instant Cb info.
|
||||
ps->mPeerCbMsg = "Local Connect Attempt";
|
||||
ps->mPeerCbMode = mode;
|
||||
ps->mPeerCbPoint = point;
|
||||
ps->mPeerCbProxyId = *proxyId;
|
||||
ps->mPeerCbDestId = peerId;
|
||||
ps->mPeerCbTS = now;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cerr << "dhtConnectionCallback() ERROR Cannot find PeerStatus";
|
||||
std::cerr << std::endl;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
@ -1223,6 +1340,7 @@ int PeerNet::minuteTick()
|
||||
netStateTick();
|
||||
mRelayReceiver->checkRelays();
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
#define DHT_PEERS_ACTIVE 2
|
||||
@ -1244,6 +1362,8 @@ int PeerNet::netStateTick()
|
||||
{
|
||||
mNetStateBox.setAddressStunProxy(&extAddr, extStable != 0);
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
@ -1253,6 +1373,7 @@ int PeerNet::doActions()
|
||||
std::cerr << "PeerNet::doActions()" << std::endl;
|
||||
#endif
|
||||
|
||||
time_t now = time(NULL);
|
||||
|
||||
while(mActions.size() > 0)
|
||||
{
|
||||
@ -1280,12 +1401,16 @@ int PeerNet::doActions()
|
||||
std::cerr << " mode: " << action.mMode;
|
||||
std::cerr << std::endl;
|
||||
|
||||
bool connectionRequested = false;
|
||||
|
||||
if ((action.mMode == BITDHT_CONNECT_MODE_DIRECT) ||
|
||||
(action.mMode == BITDHT_CONNECT_MODE_RELAY))
|
||||
{
|
||||
struct sockaddr_in laddr; // We zero this address. The DHT layer should be able to handle this!
|
||||
sockaddr_clear(&laddr);
|
||||
mUdpBitDht->ConnectionRequest(&laddr, &(action.mDestId.id), action.mMode);
|
||||
uint32_t start = 1;
|
||||
mUdpBitDht->ConnectionRequest(&laddr, &(action.mDestId.id), action.mMode, start);
|
||||
connectionRequested = true;
|
||||
}
|
||||
else if (action.mMode == BITDHT_CONNECT_MODE_PROXY)
|
||||
{
|
||||
@ -1302,7 +1427,9 @@ int PeerNet::doActions()
|
||||
std::cerr << " is OkGo as we have Stable Own External Proxy Address";
|
||||
std::cerr << std::endl;
|
||||
|
||||
mUdpBitDht->ConnectionRequest(&extaddr, &(action.mDestId.id), action.mMode);
|
||||
int start = 1;
|
||||
mUdpBitDht->ConnectionRequest(&extaddr, &(action.mDestId.id), action.mMode, start);
|
||||
connectionRequested = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1320,6 +1447,26 @@ int PeerNet::doActions()
|
||||
std::cerr << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
if (connectionRequested)
|
||||
{
|
||||
bdStackMutex stack(mPeerMutex); /********** LOCKED MUTEX ***************/
|
||||
|
||||
PeerStatus *ps = getPeerStatus_locked(&(action.mDestId));
|
||||
if (ps)
|
||||
{
|
||||
ps->mPeerReqStatusMsg = "Connect Request";
|
||||
ps->mPeerReqState = PN_PEER_REQ_RUNNING;
|
||||
ps->mPeerReqMode = action.mMode;
|
||||
ps->mPeerReqTS = now;
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cerr << "PeerAction: Connect ERROR Cannot find PeerStatus";
|
||||
std::cerr << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
break;
|
||||
|
||||
@ -1335,6 +1482,44 @@ int PeerNet::doActions()
|
||||
|
||||
mUdpBitDht->ConnectionAuth(&(action.mSrcId), &(action.mProxyId), &(action.mDestId),
|
||||
action.mMode, action.mPoint, action.mAnswer);
|
||||
|
||||
// Only feedback to the gui if we are at END.
|
||||
if (action.mPoint == BD_PROXY_CONNECTION_END_POINT)
|
||||
{
|
||||
bdStackMutex stack(mPeerMutex); /********** LOCKED MUTEX ***************/
|
||||
|
||||
PeerStatus *ps = getPeerStatus_locked(&(action.mSrcId));
|
||||
if (ps)
|
||||
{
|
||||
if (action.mAnswer)
|
||||
{
|
||||
ps->mPeerCbMsg = "WE DENIED AUTH: ERROR : ";
|
||||
ps->mPeerCbMsg += decodeConnectionError(action.mAnswer);
|
||||
}
|
||||
else
|
||||
{
|
||||
ps->mPeerCbMsg = "We AUTHED";
|
||||
}
|
||||
ps->mPeerCbMode = action.mMode;
|
||||
ps->mPeerCbPoint = action.mPoint;
|
||||
ps->mPeerCbProxyId = action.mProxyId;
|
||||
ps->mPeerCbDestId = action.mSrcId;
|
||||
ps->mPeerCbTS = now;
|
||||
}
|
||||
// Not an error if AUTH_DENIED - cos we don't know them! (so won't be in peerList).
|
||||
else if (action.mAnswer | BITDHT_CONNECT_ERROR_AUTH_DENIED)
|
||||
{
|
||||
std::cerr << "PeerAction Authorise Connection ";
|
||||
std::cerr << "Denied Unknown Peer";
|
||||
std::cerr << std::endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cerr << "PeerAction Authorise Connection ";
|
||||
std::cerr << "ERROR Unknown Peer & !DENIED ???";
|
||||
std::cerr << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
@ -1458,29 +1643,38 @@ int PeerNet::checkConnectionAllowed(const bdId *peerId, int mode)
|
||||
|
||||
/* flag as failed */
|
||||
it->second.mId = id;
|
||||
it->second.mPeerAddr = peerId->addr;
|
||||
|
||||
it->second.mDhtStatusMsg = "Unknown";
|
||||
it->second.mDhtState = PN_DHT_STATE_UNKNOWN;
|
||||
it->second.mDhtUpdateTS = now;
|
||||
|
||||
it->second.mPeerStatusMsg = "Denied Non-Friend";
|
||||
it->second.mPeerState = PN_PEER_STATE_DENIED_NOT_FRIEND;
|
||||
it->second.mPeerUpdateTS = now;
|
||||
it->second.mPeerReqStatusMsg = "Denied Non-Friend";
|
||||
it->second.mPeerReqState = PN_PEER_REQ_STOPPED;
|
||||
it->second.mPeerReqTS = now;
|
||||
it->second.mPeerReqMode = 0;
|
||||
//it->second.mPeerProxyId;
|
||||
it->second.mPeerReqTS = now;
|
||||
|
||||
it->second.mPeerCbMsg = "Denied Non-Friend";
|
||||
|
||||
it->second.mPeerConnectMsg = "Denied Non-Friend";
|
||||
it->second.mPeerConnectState = PN_PEER_CONN_DISCONNECTED;
|
||||
|
||||
|
||||
return 0;
|
||||
//return NOT_FRIEND;
|
||||
}
|
||||
|
||||
/* are a friend */
|
||||
|
||||
if (it->second.mPeerState == PN_PEER_STATE_CONNECTED)
|
||||
if (it->second.mPeerConnectState == PN_PEER_CONN_CONNECTED)
|
||||
{
|
||||
std::cerr << "PeerNet::checkConnectionAllowed() Peer Already Connected, DENIED";
|
||||
std::cerr << "PeerNet::checkConnectionAllowed() ERROR Peer Already Connected, DENIED";
|
||||
std::cerr << std::endl;
|
||||
|
||||
it->second.mPeerStatusMsg = "2nd Connection Attempt!";
|
||||
it->second.mPeerUpdateTS = now;
|
||||
// STATUS UPDATE DONE IN ACTION.
|
||||
//it->second.mPeerStatusMsg = "2nd Connection Attempt!";
|
||||
//it->second.mPeerUpdateTS = now;
|
||||
return 0;
|
||||
//return ALREADY_CONNECTED;
|
||||
}
|
||||
@ -1500,15 +1694,14 @@ int PeerNet::checkConnectionAllowed(const bdId *peerId, int mode)
|
||||
}
|
||||
#endif
|
||||
|
||||
it->second.mPeerAddr = peerId->addr;
|
||||
it->second.mPeerStatusMsg = "Connection Authorised";
|
||||
it->second.mPeerState = PN_PEER_STATE_CONNECTION_AUTHORISED;
|
||||
it->second.mPeerUpdateTS = now;
|
||||
|
||||
return 1;
|
||||
//return CONNECTION_OKAY;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void PeerNet::initiateConnection(const bdId *srcId, const bdId *proxyId, const bdId *destId, uint32_t mode, uint32_t loc, uint32_t answer)
|
||||
{
|
||||
std::cerr << "PeerNet::initiateConnection()";
|
||||
@ -1550,6 +1743,15 @@ void PeerNet::initiateConnection(const bdId *srcId, const bdId *proxyId, const b
|
||||
std::map<std::string, PeerStatus>::iterator it = mPeers.find(peerId);
|
||||
if (it == mPeers.end())
|
||||
{
|
||||
std::cerr << "PeerNet::initiateConnection() ERROR Peer not found";
|
||||
std::cerr << std::endl;
|
||||
return;
|
||||
}
|
||||
|
||||
if (it->second.mPeerConnectState != PN_PEER_CONN_DISCONNECTED)
|
||||
{
|
||||
std::cerr << "PeerNet::initiateConnection() ERROR Peer is not Disconnected";
|
||||
std::cerr << std::endl;
|
||||
return;
|
||||
}
|
||||
|
||||
@ -1581,8 +1783,10 @@ void PeerNet::initiateConnection(const bdId *srcId, const bdId *proxyId, const b
|
||||
return;
|
||||
}
|
||||
|
||||
it->second.mPeerFd = fd;
|
||||
|
||||
it->second.mPeerConnectFd = fd;
|
||||
it->second.mPeerConnectProxyId = *proxyId;
|
||||
it->second.mPeerConnectPeerId = peerConnectId;
|
||||
|
||||
#define PEERNET_DIRECT_CONN_PERIOD 5
|
||||
#define PEERNET_PROXY_CONN_PERIOD 30
|
||||
|
||||
@ -1616,9 +1820,9 @@ void PeerNet::initiateConnection(const bdId *srcId, const bdId *proxyId, const b
|
||||
}
|
||||
|
||||
/* store results in Status */
|
||||
it->second.mPeerStatusMsg = "UDP started";
|
||||
it->second.mPeerState = PN_PEER_STATE_UDP_STARTED;
|
||||
it->second.mPeerConnTS = time(NULL);
|
||||
it->second.mPeerConnectMsg = "UDP started";
|
||||
it->second.mPeerConnectState = PN_PEER_CONN_UDP_STARTED;
|
||||
it->second.mPeerConnectUdpTS = time(NULL);
|
||||
it->second.mPeerConnectMode = mode;
|
||||
it->second.mPeerConnectPoint = loc;
|
||||
|
||||
@ -1672,10 +1876,7 @@ int PeerNet::installRelayConnection(const bdId *srcId, const bdId *destId)
|
||||
return 0;
|
||||
//return CONNECT_MODE_OVERLOADED;
|
||||
}
|
||||
|
||||
/* these todo */
|
||||
std::cerr << "PeerNet::installRelayConnection() TODO";
|
||||
std::cerr << std::endl;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@ -1709,37 +1910,81 @@ void PeerNet::monitorConnections()
|
||||
time_t now = time(NULL);
|
||||
for(it = mPeers.begin(); it != mPeers.end(); it++)
|
||||
{
|
||||
if (it->second.mPeerState == PN_PEER_STATE_UDP_STARTED)
|
||||
if (it->second.mPeerConnectState == PN_PEER_CONN_UDP_STARTED)
|
||||
{
|
||||
std::cerr << "PeerNet::monitorConnections() Connection in progress to: " << it->second.mId;
|
||||
std::cerr << std::endl;
|
||||
|
||||
int fd = it->second.mPeerFd;
|
||||
int fd = it->second.mPeerConnectFd;
|
||||
if (tou_connected(fd))
|
||||
{
|
||||
std::cerr << "PeerNet::monitorConnections() InProgress Connection Now Active: " << it->second.mId;
|
||||
std::cerr << std::endl;
|
||||
|
||||
/* switch state! */
|
||||
it->second.mPeerState = PN_PEER_STATE_CONNECTED;
|
||||
it->second.mPeerStatusMsg = "Connected!";
|
||||
it->second.mPeerConnectState = PN_PEER_CONN_CONNECTED;
|
||||
it->second.mPeerConnectTS = time(NULL);
|
||||
|
||||
std::ostringstream msg;
|
||||
msg << "Connected in " << it->second.mPeerConnectTS - it->second.mPeerConnectUdpTS;
|
||||
msg << " secs";
|
||||
it->second.mPeerConnectMsg = msg.str();
|
||||
|
||||
// Remove the Connection Request.
|
||||
if (it->second.mPeerReqState == PN_PEER_REQ_RUNNING)
|
||||
{
|
||||
std::cerr << "PeerNet::monitorConnections() Request Active, Stopping Request";
|
||||
std::cerr << std::endl;
|
||||
|
||||
|
||||
struct sockaddr_in tmpaddr;
|
||||
bdsockaddr_clear(&tmpaddr);
|
||||
int start = 0;
|
||||
mUdpBitDht->ConnectionRequest(&tmpaddr, &(it->second.mPeerConnectPeerId.id), it->second.mPeerConnectMode, start);
|
||||
}
|
||||
// only an error if we initiated the connection.
|
||||
else if (it->second.mPeerConnectPoint == BD_PROXY_CONNECTION_START_POINT)
|
||||
{
|
||||
std::cerr << "PeerNet::monitorConnections() ERROR Request not active, can't stop";
|
||||
std::cerr << std::endl;
|
||||
}
|
||||
|
||||
}
|
||||
else if (now - it->second.mPeerConnTS > PEERNET_CONNECT_TIMEOUT)
|
||||
else if (now - it->second.mPeerConnectUdpTS > PEERNET_CONNECT_TIMEOUT)
|
||||
{
|
||||
std::cerr << "PeerNet::monitorConnections() InProgress Connection Failed: " << it->second.mId;
|
||||
std::cerr << std::endl;
|
||||
|
||||
/* shut id down */
|
||||
it->second.mPeerState = PN_PEER_STATE_UDP_FAILED;
|
||||
it->second.mPeerStatusMsg = "UDP Failed";
|
||||
it->second.mPeerConnectState = PN_PEER_CONN_DISCONNECTED;
|
||||
it->second.mPeerConnectMsg = "UDP Failed";
|
||||
tou_close(fd);
|
||||
|
||||
if (it->second.mPeerReqState == PN_PEER_REQ_RUNNING)
|
||||
{
|
||||
std::cerr << "PeerNet::monitorConnections() Request Active (Paused)... restarting";
|
||||
std::cerr << std::endl;
|
||||
|
||||
// tell it to keep going.
|
||||
struct sockaddr_in tmpaddr;
|
||||
bdsockaddr_clear(&tmpaddr);
|
||||
int start = 1;
|
||||
mUdpBitDht->ConnectionRequest(&tmpaddr, &(it->second.mPeerConnectPeerId.id), it->second.mPeerConnectMode, start);
|
||||
}
|
||||
// only an error if we initiated the connection.
|
||||
else if (it->second.mPeerConnectPoint == BD_PROXY_CONNECTION_START_POINT)
|
||||
{
|
||||
std::cerr << "PeerNet::monitorConnections() ERROR Request not active, can't stop";
|
||||
std::cerr << std::endl;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (it->second.mPeerState == PN_PEER_STATE_CONNECTED)
|
||||
if (it->second.mPeerConnectState == PN_PEER_CONN_CONNECTED)
|
||||
{
|
||||
/* fd should be valid, check it */
|
||||
int fd = it->second.mPeerFd;
|
||||
int fd = it->second.mPeerConnectFd;
|
||||
if (tou_connected(fd))
|
||||
{
|
||||
/* check for traffic */
|
||||
@ -1749,33 +1994,16 @@ void PeerNet::monitorConnections()
|
||||
if (read > 0)
|
||||
{
|
||||
std::string msg(buf);
|
||||
std::cerr << "TS: " << time(NULL) << " From: " << it->second.mId;
|
||||
std::cerr << " RawMsg: " << msg;
|
||||
std::cerr << std::endl;
|
||||
|
||||
#if 1
|
||||
for(int i = 0; i < msg.size(); )
|
||||
{
|
||||
if (msg[i] == '^')
|
||||
{
|
||||
msg.erase(i,1);
|
||||
}
|
||||
else
|
||||
{
|
||||
i++;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
if (msg.size() > 0)
|
||||
{
|
||||
//std::cerr << "PeerNet::monitorConnections() Read from Connection: " << it->second.mId;
|
||||
//std::cerr << std::endl;
|
||||
//std::cerr << "PeerNet::monitorConnections() CleanedMsg: " << msg;
|
||||
//std::cerr << std::endl;
|
||||
std::cerr << "TS: " << time(NULL) << " From: " << it->second.mId;
|
||||
std::cerr << " RawMsg: " << msg;
|
||||
std::cerr << std::endl;
|
||||
|
||||
it->second.mPeerIncoming += msg;
|
||||
}
|
||||
}
|
||||
@ -1785,8 +2013,12 @@ void PeerNet::monitorConnections()
|
||||
std::cerr << "PeerNet::monitorConnections() Active Connection Closed: " << it->second.mId;
|
||||
std::cerr << std::endl;
|
||||
|
||||
it->second.mPeerState = PN_PEER_STATE_UDP_CLOSED;
|
||||
it->second.mPeerStatusMsg = "Connection Closed";
|
||||
it->second.mPeerConnectState = PN_PEER_CONN_DISCONNECTED;
|
||||
it->second.mPeerConnectClosedTS = time(NULL);
|
||||
std::ostringstream msg;
|
||||
msg << "Closed, Alive for: " << it->second.mPeerConnectClosedTS - it->second.mPeerConnectTS;
|
||||
msg << " secs";
|
||||
it->second.mPeerConnectMsg = msg.str();
|
||||
tou_close(fd);
|
||||
}
|
||||
}
|
||||
@ -1798,17 +2030,17 @@ void PeerNet::sendMessage(std::string msg)
|
||||
{
|
||||
bdStackMutex stack(mPeerMutex); /********** LOCKED MUTEX ***************/
|
||||
|
||||
std::cerr << "PeerNet::sendMessage() : " << msg;
|
||||
std::cerr << std::endl;
|
||||
//std::cerr << "PeerNet::sendMessage() : " << msg;
|
||||
//std::cerr << std::endl;
|
||||
|
||||
|
||||
std::map<std::string, PeerStatus>::iterator it;
|
||||
for(it = mPeers.begin(); it != mPeers.end(); it++)
|
||||
{
|
||||
if (it->second.mPeerState == PN_PEER_STATE_CONNECTED)
|
||||
if (it->second.mPeerConnectState == PN_PEER_CONN_CONNECTED)
|
||||
{
|
||||
/* fd should be valid, check it */
|
||||
int fd = it->second.mPeerFd;
|
||||
int fd = it->second.mPeerConnectFd;
|
||||
if (tou_connected(fd))
|
||||
{
|
||||
int written = tou_write(fd, msg.c_str(), msg.size());
|
||||
@ -1820,8 +2052,8 @@ void PeerNet::sendMessage(std::string msg)
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cerr << "PeerNet::sendMessage() Sent to " << it->second.mId;
|
||||
std::cerr << std::endl;
|
||||
//std::cerr << "PeerNet::sendMessage() Sent to " << it->second.mId;
|
||||
//std::cerr << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -29,6 +29,7 @@
|
||||
#define PN_DHT_STATE_UNREACHABLE 4
|
||||
#define PN_DHT_STATE_ONLINE 5
|
||||
|
||||
#if 0
|
||||
#define PN_PEER_STATE_DISCONNECTED 1
|
||||
#define PN_PEER_STATE_DENIED_NOT_FRIEND 2
|
||||
#define PN_PEER_STATE_DENIED_UNAVAILABLE_MODE 3
|
||||
@ -40,12 +41,20 @@
|
||||
#define PN_PEER_STATE_CONNECTION_AUTHORISED 8
|
||||
#define PN_PEER_STATE_UDP_STARTED 9
|
||||
#define PN_PEER_STATE_CONNECTED 10
|
||||
#endif
|
||||
|
||||
|
||||
#define PN_CONNECT_UDP_DIRECT 1
|
||||
#define PN_CONNECT_UDP_PROXY 2
|
||||
#define PN_CONNECT_UDP_RELAY 3
|
||||
//#define PN_CONNECT_UDP_DIRECT 1
|
||||
//#define PN_CONNECT_UDP_PROXY 2
|
||||
//#define PN_CONNECT_UDP_RELAY 3
|
||||
|
||||
#define PN_PEER_CONN_DISCONNECTED 1
|
||||
#define PN_PEER_CONN_UDP_STARTED 2
|
||||
#define PN_PEER_CONN_CONNECTED 3
|
||||
|
||||
|
||||
#define PN_PEER_REQ_STOPPED 1
|
||||
#define PN_PEER_REQ_RUNNING 2
|
||||
|
||||
class DhtPeer
|
||||
{
|
||||
@ -64,17 +73,39 @@ class PeerStatus
|
||||
struct sockaddr_in mDhtAddr;
|
||||
time_t mDhtUpdateTS;
|
||||
|
||||
/* Connection Status */
|
||||
std::string mPeerStatusMsg;
|
||||
uint32_t mPeerState;
|
||||
struct sockaddr_in mPeerAddr;
|
||||
time_t mPeerUpdateTS;
|
||||
|
||||
int mPeerFd;
|
||||
/* Connection Request Status */
|
||||
std::string mPeerReqStatusMsg;
|
||||
uint32_t mPeerReqState;
|
||||
uint32_t mPeerReqMode;
|
||||
bdId mPeerReqProxyId;
|
||||
time_t mPeerReqTS;
|
||||
|
||||
/* Callback Info */
|
||||
std::string mPeerCbMsg;
|
||||
uint32_t mPeerCbMode;
|
||||
uint32_t mPeerCbPoint;
|
||||
bdId mPeerCbProxyId;
|
||||
bdId mPeerCbDestId;
|
||||
time_t mPeerCbTS;
|
||||
|
||||
|
||||
/* Actual Connection Status */
|
||||
uint32_t mPeerConnectState;
|
||||
std::string mPeerConnectMsg;
|
||||
int mPeerConnectFd;
|
||||
uint32_t mPeerConnectMode;
|
||||
bdId mPeerConnectPeerId;
|
||||
bdId mPeerConnectProxyId;
|
||||
struct sockaddr_in mPeerConnectAddr;
|
||||
uint32_t mPeerConnectPoint;
|
||||
time_t mPeerConnTS;
|
||||
|
||||
time_t mPeerConnectUdpTS;
|
||||
time_t mPeerConnectTS;
|
||||
time_t mPeerConnectClosedTS;
|
||||
|
||||
/* Chat Messages */
|
||||
std::string mPeerIncoming;
|
||||
|
||||
};
|
||||
|
||||
|
||||
@ -185,6 +216,10 @@ int UnreachablePeerCallback_locked(const bdId *id,
|
||||
|
||||
private:
|
||||
|
||||
// Utility functions.
|
||||
PeerStatus *getPeerStatus_locked(const bdId *peerId);
|
||||
|
||||
|
||||
/* The Two Stacks */
|
||||
UdpStack *mUdpStack;
|
||||
UdpStack *mUdpProxyStack;
|
||||
|
Loading…
x
Reference in New Issue
Block a user