tor-commits
Threads by month
- ----- 2025 -----
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
May 2018
- 17 participants
- 1514 discussions

[doctor/master] Track expiring approved-routers.conf entries from 2016-01 to 2018-01
by atagar@torproject.org 10 May '18
by atagar@torproject.org 10 May '18
10 May '18
commit 7ffb7869438babe6fc2aa8b8b3e0f6cfc10b7f5a
Author: David Goulet <dgoulet(a)torproject.org>
Date: Tue May 8 16:18:46 2018 -0400
Track expiring approved-routers.conf entries from 2016-01 to 2018-01
This adds the fingerprint entries from approved-routers.conf. 3 months
expiry date has been set for those.
Closes #26055
Signed-off-by: David Goulet <dgoulet(a)torproject.org>
---
data/tracked_relays.cfg | 794 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 794 insertions(+)
diff --git a/data/tracked_relays.cfg b/data/tracked_relays.cfg
index 5749d08..9322fc7 100644
--- a/data/tracked_relays.cfg
+++ b/data/tracked_relays.cfg
@@ -1317,3 +1317,797 @@ Expiring-old-address.address 96.43.142.28
Expiring-old-address.address 97.107.132.20
Expiring-old-address.address 97.107.139.42
Expiring-old-address.address 97.107.140.77
+
+Expiring-old-approved-routers.description Entries from 2016-01 to 2018-01 from approved-routers.conf
+Expiring-old-approved-routers.expires 2018-08-01
+Expiring-old-approved-routers.fingerprint 00161E152FCF43380176F13B964656BD243D6F33
+Expiring-old-approved-routers.fingerprint 0024D445B3D1E1BE436C9A8F6082E8B7DFA4AEB2
+Expiring-old-approved-routers.fingerprint 006D1F9E6D74D3E195C9054C2818CF6E9C8CB438
+Expiring-old-approved-routers.fingerprint 00DC6C4FA49A65BD1472993CF6730D54F11E0DBB
+Expiring-old-approved-routers.fingerprint 00F6F9956A6747691E942415BCF5D8EE806B9E49
+Expiring-old-approved-routers.fingerprint 0100F6C13609EE307687FA56CDA24CE2BFE9C612
+Expiring-old-approved-routers.fingerprint 011F2599C0E9B27EE74B353155E244813763C3E5
+Expiring-old-approved-routers.fingerprint 01370A8E1F908B63121B5A098A26DE79078D8205
+Expiring-old-approved-routers.fingerprint 015CD3F2D07C4B66419858A1912B9F1C82EEB1BF
+Expiring-old-approved-routers.fingerprint 01E3B3E14F80B2BE2351A892FBD894DAC35EF26B
+Expiring-old-approved-routers.fingerprint 01F00C6FDB87B5CE6FF25133825FD0A43A960633
+Expiring-old-approved-routers.fingerprint 021705C9254015B3EC3925F251E7ED9662AA2FBB
+Expiring-old-approved-routers.fingerprint 0242F3CB4D400C1FF59F827531D35C549CEC461C
+Expiring-old-approved-routers.fingerprint 0319F7F4ADCDDB065BCBB9119F066D760142DC20
+Expiring-old-approved-routers.fingerprint 03807F964EFAB4E7DB431FA67CBF896347FEBDAD
+Expiring-old-approved-routers.fingerprint 03DD8611155A2A2399FC6C272863B7C15B65FDED
+Expiring-old-approved-routers.fingerprint 03E34DA96F4D4D1134D1B529C726B2162F7FE98F
+Expiring-old-approved-routers.fingerprint 04949C507F99D25D10CEC086B530169B28E25CAC
+Expiring-old-approved-routers.fingerprint 049C2481B42FE77FE2747B020874028590A57BE6
+Expiring-old-approved-routers.fingerprint 04D2D11BBD2A2DCD78CA102EBB9337BDFD1B760E
+Expiring-old-approved-routers.fingerprint 04F0C6F4D5731A6D6D08C104D894C78C6692AC7C
+Expiring-old-approved-routers.fingerprint 0530FE7CB9065B9ECA9099FB180B8EA2B2EFF4FD
+Expiring-old-approved-routers.fingerprint 0639612FF149AA19DF3BCEA147E5B8FED6F3C87C
+Expiring-old-approved-routers.fingerprint 066FBB2661004A85E86DC9992CE31E8F41DF3DF2
+Expiring-old-approved-routers.fingerprint 070EF06A4CDFB1FCFB0C3085AA5C03D2802BCE7E
+Expiring-old-approved-routers.fingerprint 079B235C5D4FCE3C7701285EB9B5535062BA9971
+Expiring-old-approved-routers.fingerprint 079B6B385F1F13AF7AB93EEC671A24AB8427C92F
+Expiring-old-approved-routers.fingerprint 07A7B5E0AD461F7EF1C2589CCF051E97F5FCA8D9
+Expiring-old-approved-routers.fingerprint 07BB9A66154A2B481C5006DC973EA3D38D8940F3
+Expiring-old-approved-routers.fingerprint 07CB43980A7C2135F042F569EB08BBCA55EB3A27
+Expiring-old-approved-routers.fingerprint 07CDF1522213F3CA1B8D0149A4E011630375A4DB
+Expiring-old-approved-routers.fingerprint 084B5AA77FDE374A50AD3B50A49FF85A22F5B389
+Expiring-old-approved-routers.fingerprint 088811C45F5AC62FBE4D09357FA59613707E291F
+Expiring-old-approved-routers.fingerprint 08B7BC7EC69038DC46A90C429A68FFF3675F2652
+Expiring-old-approved-routers.fingerprint 090278625E7D3C64E959D285D26837E28EE89956
+Expiring-old-approved-routers.fingerprint 094E85E17C727628839CC3CCF2EC769DD072FD0A
+Expiring-old-approved-routers.fingerprint 094F055B608C4FEC4A3E25795C76DBBCCC856934
+Expiring-old-approved-routers.fingerprint 09826F21BC9CF2B0B69A0550141E7EC155630EBA
+Expiring-old-approved-routers.fingerprint 098D9352D8BC7C13367D1CE44A625F29F8ABA8AE
+Expiring-old-approved-routers.fingerprint 09B73F27632534F0B418D661B0EF2CE1E952CF16
+Expiring-old-approved-routers.fingerprint 09E1A324B6238DE26E26703D452F1218A64A9A22
+Expiring-old-approved-routers.fingerprint 0A619576783E0F92BE64FCE3D4D295DBEFAF27F0
+Expiring-old-approved-routers.fingerprint 0A6E6903E2969ED18634FA8BDC86B72B50511214
+Expiring-old-approved-routers.fingerprint 0ABE4B6AA76AF8F7E90980887BDBFE3BE81D7616
+Expiring-old-approved-routers.fingerprint 0B5696B2AA395F76D3E56730240A56905275ED74
+Expiring-old-approved-routers.fingerprint 0BAC39417268B96B9F514E7F63FA6FBA1A788955
+Expiring-old-approved-routers.fingerprint 0BC6BD6D0120E7B87889ACC9B9AA06B7C9C1633A
+Expiring-old-approved-routers.fingerprint 0BC94E1A40452BEAC69D32E13C268876DF9801FD
+Expiring-old-approved-routers.fingerprint 0C959107F9B4DE00C6D08643853E20641BA3FC92
+Expiring-old-approved-routers.fingerprint 0D4D7F16522652B206E0FAF4B974AC9D71B12C0A
+Expiring-old-approved-routers.fingerprint 0E858AC201BF0F3FA3C462F64844CBFFC7297A42
+Expiring-old-approved-routers.fingerprint 0EA5CB8686405E2E55BD67EB2C252F36F5F92D09
+Expiring-old-approved-routers.fingerprint 0EFCE414A5B3C0DBAA5E1318A46704FE15A087B4
+Expiring-old-approved-routers.fingerprint 0F11F8A09B27D29EC320F74CFEF13E7BD57A434A
+Expiring-old-approved-routers.fingerprint 0F4347D42B310C68E9DD72A2F3BC076ED4858667
+Expiring-old-approved-routers.fingerprint 0F434CA3D87432E40AEA8CBC377B7718F5388CEB
+Expiring-old-approved-routers.fingerprint 0F4357E7214CE3D2199C016C90D1C9A6932D9B9D
+Expiring-old-approved-routers.fingerprint 0F4388DBFE1D76EE1AE54B8D2576A1F65C747FE9
+Expiring-old-approved-routers.fingerprint 0F482A7FFD82E2FE7E937D48887DC419B03FB60C
+Expiring-old-approved-routers.fingerprint 0F48A76C9AED17759E04D955E6040B1C6087485A
+Expiring-old-approved-routers.fingerprint 0F4B503361C3EFD77ACB9BA1B7DD97B25DF534E2
+Expiring-old-approved-routers.fingerprint 0F4B50B79736EFA0937131D40A12A73738764328
+Expiring-old-approved-routers.fingerprint 0F4B5148FE58B0A7D91A3A887682B0DBC70D5F68
+Expiring-old-approved-routers.fingerprint 0F52660CCE3B160CD7BB56DEC69AC7E150111B35
+Expiring-old-approved-routers.fingerprint 0F8A131D4D1966933C3A947827856D296DEA4351
+Expiring-old-approved-routers.fingerprint 10353360DD0265289463BA5E3C91209A71977863
+Expiring-old-approved-routers.fingerprint 103AC750EEFA8EAAB2BC3230DD4AEE5DC310BE93
+Expiring-old-approved-routers.fingerprint 108B4AC17D09B0C2904D62AE7FAD97C02C8E9388
+Expiring-old-approved-routers.fingerprint 1093B73A9B43395060480CEC62B3B66C41198BDA
+Expiring-old-approved-routers.fingerprint 10AEE7FB9B1F2F7674D43B0769C7C121B853DDE3
+Expiring-old-approved-routers.fingerprint 10F044EC08002119BCB61356150EA52C8A11D2DD
+Expiring-old-approved-routers.fingerprint 1146B24B656FDB5056A3FDC189F88FC07272093F
+Expiring-old-approved-routers.fingerprint 118443200277381AD534EFF3976010A1E1D9591A
+Expiring-old-approved-routers.fingerprint 12737510106B01A909F74C053C125249F07F5DF8
+Expiring-old-approved-routers.fingerprint 13EBFF7694336EDB09883A600EC4389D44E23BD1
+Expiring-old-approved-routers.fingerprint 14D737BBB1D3935464EF8DC4F83E7B5E62B618D8
+Expiring-old-approved-routers.fingerprint 14EA044F0419802C645F1820DD3670449AD355E5
+Expiring-old-approved-routers.fingerprint 14F0A00ACA484A42F9B32E37DF2F35409ED2AF87
+Expiring-old-approved-routers.fingerprint 14F0A00AD2A956DB50B5129AA8EDC015FB21227D
+Expiring-old-approved-routers.fingerprint 14F0A00ADF0D91D7B144AC2E5CF0E8244BA81473
+Expiring-old-approved-routers.fingerprint 14F0A00E2806945DC6C31DDD52E8667FB1EF55AA
+Expiring-old-approved-routers.fingerprint 14F0A00ED3B193EF90E47F9EE4F83E90664CDA45
+Expiring-old-approved-routers.fingerprint 15D7BC0900D2BE18C98EEF0B17CF756A4B789C97
+Expiring-old-approved-routers.fingerprint 16CF1038352527E9FAA93CDAD1D75E4F292F63B6
+Expiring-old-approved-routers.fingerprint 17B1B91180EE05487A2977F305399BD4FFEC0B8E
+Expiring-old-approved-routers.fingerprint 18290753330AC241509694B6CBB8664F66B05066
+Expiring-old-approved-routers.fingerprint 18EC4B12D53914F0DC6541ED28092389510ABD77
+Expiring-old-approved-routers.fingerprint 1911A5AA4EBDFC25A73B1A4EAD3E80E6928607B1
+Expiring-old-approved-routers.fingerprint 193B25A60193EEF9C8FE8A91BB248793D8254407
+Expiring-old-approved-routers.fingerprint 19614DD4260E834FED72AB23558A5737E169F440
+Expiring-old-approved-routers.fingerprint 19F1039F9F395D4932109625CBF3FEBC9F7F1ADC
+Expiring-old-approved-routers.fingerprint 1B1ECD114D442DDE29F696DAE542C35461DD1418
+Expiring-old-approved-routers.fingerprint 1B6B072327347E8A75780893831CDB3004583793
+Expiring-old-approved-routers.fingerprint 1B7FA9204348AAF80129009BD8E2E90C5C90E358
+Expiring-old-approved-routers.fingerprint 1BC73D8A6F6674047EAF8B08ADC5D6358BD4D7BD
+Expiring-old-approved-routers.fingerprint 1C87A4747F0F74FD1129C4814B150CD2DE7428E5
+Expiring-old-approved-routers.fingerprint 1C95EC813C2C2F12109C019B64AE23AF2FC8FCE3
+Expiring-old-approved-routers.fingerprint 1DBEE7FE74D3079F3F15DBB9E6D9DFF4768257FF
+Expiring-old-approved-routers.fingerprint 1E05F577A0EC0213F971D81BF4D86A9E4E8229ED
+Expiring-old-approved-routers.fingerprint 1E20994B44DA78F9A91A092771ABF4FC532F0ADC
+Expiring-old-approved-routers.fingerprint 1E20994B49C985DE1DAD99474464828FE42FD9E5
+Expiring-old-approved-routers.fingerprint 1E20994B4F54ECE8FE00DCB2200373FF832525C6
+Expiring-old-approved-routers.fingerprint 1E20994B55FCC9D7C119DC98EEF4620DB0E3959B
+Expiring-old-approved-routers.fingerprint 1E20994B5CEB85FCC72B84F3F06B778617845FFD
+Expiring-old-approved-routers.fingerprint 1E326AAFB3FCB515015250D8FCCC8E37F91A153B
+Expiring-old-approved-routers.fingerprint 1E7ED184CFE224FEA406035029286641F9738F80
+Expiring-old-approved-routers.fingerprint 1EB0164375B559CA412CF3CFD624D188F2005DEB
+Expiring-old-approved-routers.fingerprint 1EF9724CAAB39798F8F08EB9BF87590B6B642ECC
+Expiring-old-approved-routers.fingerprint 1F00D604D2FCADF81FA50BA60FF7D1EE34459EDE
+Expiring-old-approved-routers.fingerprint 1F4CB2412128D878D9AC346E58BD9289577C27E5
+Expiring-old-approved-routers.fingerprint 1FE8A7B202AC4BCCDDA182CFDB0F4367F15116EA
+Expiring-old-approved-routers.fingerprint 203281E0784DE0DFB5C39C714BBBBA39E76AAA61
+Expiring-old-approved-routers.fingerprint 203281E1226E3C1EEBA522409109C847AB14A2B9
+Expiring-old-approved-routers.fingerprint 203281E1A349FAA241B6A66456A5AFD1C5B49410
+Expiring-old-approved-routers.fingerprint 203281E27627443DB6FE5E06250DDDB6D9718A0C
+Expiring-old-approved-routers.fingerprint 203281E37E44A5ABCEA7880DA47895197E92D546
+Expiring-old-approved-routers.fingerprint 203281E3EBC4E8AB7F040AD8A86B8767A5F6F849
+Expiring-old-approved-routers.fingerprint 2093B03838430050A958D033BE1B44905EA1EFCD
+Expiring-old-approved-routers.fingerprint 20DB8C19884C76029F8914CAF5AD63DD6643BD20
+Expiring-old-approved-routers.fingerprint 2111081BA3F5DAE31A33BA218ED1116A6987C152
+Expiring-old-approved-routers.fingerprint 25214D40CD1747A06FA2E695E48AED0E988ABA61
+Expiring-old-approved-routers.fingerprint 25214D42EC6083C31E1709D86CEBEFFCD4BE1958
+Expiring-old-approved-routers.fingerprint 25214D43CF6621FD4FBEB6FC654A29702965094D
+Expiring-old-approved-routers.fingerprint 25214D43D1FDAF97EBCB68C282D7AA247A1BC487
+Expiring-old-approved-routers.fingerprint 2522ACD7E498A37554273FC13BF0B40FB32F46DB
+Expiring-old-approved-routers.fingerprint 25269F3A89FF6737C80D8E6134BE7C392148EB3B
+Expiring-old-approved-routers.fingerprint 253923E62B12FB98CA76F17DA63A323809010AD9
+Expiring-old-approved-routers.fingerprint 2562B7FE43B67BA5C5E1DFB79B8FC20EECD5BB32
+Expiring-old-approved-routers.fingerprint 259177586F9816DFB05C2BBDB72A17863D8A2F8C
+Expiring-old-approved-routers.fingerprint 25A185D5C9238CD40050D744819F4BC336D0045D
+Expiring-old-approved-routers.fingerprint 2629DF155B1DA3A3397017BB4A692DDD2DED3DAB
+Expiring-old-approved-routers.fingerprint 269C78907BC83F6F07733F78F71045287B11041B
+Expiring-old-approved-routers.fingerprint 269D25582069C7FEE311C4D612FD4D7F1F4C6C5C
+Expiring-old-approved-routers.fingerprint 26A2ACBA76B1D6E3589FC58F38154EF23FE9F6B2
+Expiring-old-approved-routers.fingerprint 26EF30DE90AED2367E79B71607EFF2C86AF06059
+Expiring-old-approved-routers.fingerprint 271C61E41475889A88FC23DAC4B430A8F9632E03
+Expiring-old-approved-routers.fingerprint 27583EC0FF3E329271D29287006EF43AAA007381
+Expiring-old-approved-routers.fingerprint 2768DE7AC5B0C706B8BCDCF44942EC5E2347EB9C
+Expiring-old-approved-routers.fingerprint 284FFF4CC98E0F66F1881E4C28E9FEF0AE299492
+Expiring-old-approved-routers.fingerprint 286B1FACAA4B9D3541552672861E15E87C1A17E4
+Expiring-old-approved-routers.fingerprint 2874A6DF5A5A22754F6E4E06071CC92C8C8883DB
+Expiring-old-approved-routers.fingerprint 28AA5A8314043860B385E92DDF616B7AADFB228C
+Expiring-old-approved-routers.fingerprint 28AA5A83174B321FA159F66BC4529F378F74C390
+Expiring-old-approved-routers.fingerprint 28AA5A844A3AD3E81A25B2BA6EE9C4AAC8749134
+Expiring-old-approved-routers.fingerprint 28AA5A85F7AE1EFE3FBE653951B90A65407D36A2
+Expiring-old-approved-routers.fingerprint 28AA5B00C1A2F460C24A27B8A53ABF2FB5A98B04
+Expiring-old-approved-routers.fingerprint 28AA5B28891EC24ECBF1EC3E039FA5B0A55E8342
+Expiring-old-approved-routers.fingerprint 28AAA2AFC797190A915D31AA96433D0041A4708C
+Expiring-old-approved-routers.fingerprint 28AAD7ADCD61519279D624A3B5CBA75CFD0FD705
+Expiring-old-approved-routers.fingerprint 28AAF2BD90319BB382C00A1E948489500805A20E
+Expiring-old-approved-routers.fingerprint 28AB35752D968A50FC30B6DA0526A005DA46F594
+Expiring-old-approved-routers.fingerprint 28ECFD005B1F8365AC0046E4205D377F45F67830
+Expiring-old-approved-routers.fingerprint 28F7DF7758AC8B7D9A4E77C9E89F75DA77BAEAAB
+Expiring-old-approved-routers.fingerprint 293AEEE24F1DC3DA22A1DF01B029C0DF8873F270
+Expiring-old-approved-routers.fingerprint 29A84CA605A7503C0AF86C3E313E855DCE846E21
+Expiring-old-approved-routers.fingerprint 2A6BA6C130871170E6BFF76A9FEF2DCF5889B51E
+Expiring-old-approved-routers.fingerprint 2A6BA7787233CEDF16C8CFBC359C3BFCBA27D684
+Expiring-old-approved-routers.fingerprint 2A6BA7D496F51A4D5D25C19C7AB854CD3B345E09
+Expiring-old-approved-routers.fingerprint 2A8D54951CED35E89C378CD81E24385BBE96BBD2
+Expiring-old-approved-routers.fingerprint 2AA9EE51C3779A466E4786BC9BAD03E7E829A76E
+Expiring-old-approved-routers.fingerprint 2AB64AC71F232C681316C9D2D5EE279CB6D0FF5F
+Expiring-old-approved-routers.fingerprint 2AB7C1FA37EB3FEFABC478FEA434279C2258C214
+Expiring-old-approved-routers.fingerprint 2B1866C7D6486771E9C9B8CD3015A72BB764AF07
+Expiring-old-approved-routers.fingerprint 2BB5D0B514A1DA34E7F45E362A605337308FF26F
+Expiring-old-approved-routers.fingerprint 2BE2D7B9AA39A7D811BAC4A3C548A238A59DD95D
+Expiring-old-approved-routers.fingerprint 2E018AD010E22B7964F906B80EB53DF8C182B855
+Expiring-old-approved-routers.fingerprint 2E25D846564DCBE43CD273E9306866DCDA8365EA
+Expiring-old-approved-routers.fingerprint 2E4F75A138132CFFF41478F038E19604B782621D
+Expiring-old-approved-routers.fingerprint 2E681C70E727866A03D1B4A5AEE532BD49E83CF5
+Expiring-old-approved-routers.fingerprint 2E88F87B9EC584CA39685129EBF2A4198E52D21C
+Expiring-old-approved-routers.fingerprint 2EBD117806EE43C3CC885A8F1E4DC60F207E7D3E
+Expiring-old-approved-routers.fingerprint 2ED396F26A4A2FFF4877F2F05FC3FF394D392FAC
+Expiring-old-approved-routers.fingerprint 2EE190DAB85B328ABD6438B2B91298057EA9DC10
+Expiring-old-approved-routers.fingerprint 2F39E5B65A87E3C6B8FFD2BC3B15D52059A7FA24
+Expiring-old-approved-routers.fingerprint 2F8A24F31D3E93CD3A5F16B07BA788DCACB4C49F
+Expiring-old-approved-routers.fingerprint 2FAA0A4EF3852F566FB82F2EBF9DD7A7DD700382
+Expiring-old-approved-routers.fingerprint 2FB044704C6083EBF9F3E4496DAEA0D927B7A0A1
+Expiring-old-approved-routers.fingerprint 3005E0507B08FBF7D4364920D153E48DD2B06011
+Expiring-old-approved-routers.fingerprint 3068613AB68C8960282CA908940EAE7FE65CE6D8
+Expiring-old-approved-routers.fingerprint 3071D405A37F6604E6F120336DF0F96A2B69ADB0
+Expiring-old-approved-routers.fingerprint 3125FA93BF86088A0073C63006BB94FADC034BA8
+Expiring-old-approved-routers.fingerprint 31708A0E43469F09CBF7BEE57815E4C6D069CC70
+Expiring-old-approved-routers.fingerprint 31B68C79A73B03E62A2A911406CA767DADCDA464
+Expiring-old-approved-routers.fingerprint 31BE683A289272041ADABF91EA7652792F50AE26
+Expiring-old-approved-routers.fingerprint 32FEBF3BBA1A36D427D3AD08F4B30378B2D0A9DE
+Expiring-old-approved-routers.fingerprint 3323B585E87902CB0E7982E81F52DEBC7A94195A
+Expiring-old-approved-routers.fingerprint 334409CA84E40DCD1951BE05D77B8992F90FA12D
+Expiring-old-approved-routers.fingerprint 336FBC1EF05D004C13998B51B886DF1813CE8876
+Expiring-old-approved-routers.fingerprint 33CC8F8A1D8BCFB3AAED4A7583C1932EACCA668B
+Expiring-old-approved-routers.fingerprint 3437F5387336DFAF303B1D323E3D5A279778C19A
+Expiring-old-approved-routers.fingerprint 350DA96220D602BEFB286E8AFCC33601FBF7C2EF
+Expiring-old-approved-routers.fingerprint 36E1DB3B88A7A1C7781B7261031B97A9B8451471
+Expiring-old-approved-routers.fingerprint 372CFB96421AFDF658CA5D42DC706F3489963360
+Expiring-old-approved-routers.fingerprint 3756B95B4C4758DFC8FF26BF8DDC35A79C380059
+Expiring-old-approved-routers.fingerprint 378123BAFAADF12AF24266E6575DB9E205C5A64D
+Expiring-old-approved-routers.fingerprint 386C105C9F911C4EF28ACE90EADCF86A76794436
+Expiring-old-approved-routers.fingerprint 38A7F414C38582AFE89966D2C2F932EFA2C551A6
+Expiring-old-approved-routers.fingerprint 392BE1C43DA18A8620AD32EA3F0B6113C2F3CF73
+Expiring-old-approved-routers.fingerprint 39612DE679ABB45F73BF1DC2A5C0B07E85422386
+Expiring-old-approved-routers.fingerprint 39C6FC4FF5027012F32505B021EBE1DFBC377D40
+Expiring-old-approved-routers.fingerprint 3AAF39DC4D9D9908B2FB9AF7AFB70121270EC6CC
+Expiring-old-approved-routers.fingerprint 3B25C8BD54AD2D50D81B59DDF31A438D80B929B8
+Expiring-old-approved-routers.fingerprint 3B25C8BD563426C961CC0919F301F9732F2F9C49
+Expiring-old-approved-routers.fingerprint 3B25C8C301420740503A9853C443183B1CD00AC7
+Expiring-old-approved-routers.fingerprint 3B25C8C38A768642F69DD8420540F85A2CDD845E
+Expiring-old-approved-routers.fingerprint 3B25C939D84F675EF9728F5D329D620689CE0F64
+Expiring-old-approved-routers.fingerprint 3B25C958040FE7BBD9DE6268C3F913E7F23FD74A
+Expiring-old-approved-routers.fingerprint 3B25E2BA10C712E17A538BDB3E50C10E61B52A18
+Expiring-old-approved-routers.fingerprint 3B2620CED5990C11408FEE4F36EED8896B3AB34B
+Expiring-old-approved-routers.fingerprint 3B267E99C7C09078792157071DB80F4DB12C19C7
+Expiring-old-approved-routers.fingerprint 3B26FED96B2E72DAFCF90D7D91E5179A4D0E954B
+Expiring-old-approved-routers.fingerprint 3C56A673755AD79F6CE23516A6D9B460D5079458
+Expiring-old-approved-routers.fingerprint 3CD0B14659B9D41112A4CD12D5A01265E08F0C60
+Expiring-old-approved-routers.fingerprint 3D4AE52DF1DCD3ED1540B20753CD3D7A60F8F281
+Expiring-old-approved-routers.fingerprint 3D776D98E1E1B13CE986A270BB1830516C293C71
+Expiring-old-approved-routers.fingerprint 3DDDE86AED08E32CB1F932EC9796B2548C205361
+Expiring-old-approved-routers.fingerprint 3E257FB3E4A600A244A4A8D3665BD8DE4D4AE265
+Expiring-old-approved-routers.fingerprint 3EEC1D1E9434691D0B6AFC240298D99CFCC770A9
+Expiring-old-approved-routers.fingerprint 3F29034FDAB7F69D3A404CBE6D4AFB2656FBE8BB
+Expiring-old-approved-routers.fingerprint 3FAE4CBC65DE143BD3310F5078BE362C38524524
+Expiring-old-approved-routers.fingerprint 3FDB0F324E44CAE3F807FB56F3478E997C93F682
+Expiring-old-approved-routers.fingerprint 403889213622F4E1D122E1B0E879A459D5597F29
+Expiring-old-approved-routers.fingerprint 408C1FC01675774116E0CFCB37D97B16B22551D6
+Expiring-old-approved-routers.fingerprint 40B5D28D43CE4C1AF0BB29547D912A92CE4F7A22
+Expiring-old-approved-routers.fingerprint 4124770CA7CF06DC21105CCFADA7BA7864D73CDC
+Expiring-old-approved-routers.fingerprint 4148CAB3700BB1CA0D9A4DAC37CE411894CF70CE
+Expiring-old-approved-routers.fingerprint 4178ABE8B9C9717A190130AD7C6E8C04612D39F8
+Expiring-old-approved-routers.fingerprint 417F18728CD665B5F949A64A99A860F85BCA998D
+Expiring-old-approved-routers.fingerprint 41A42A5595975AD7F1C9788F581FC11EFA32729E
+Expiring-old-approved-routers.fingerprint 41EB0A040BAD845FCF1CDE603D69872FFC0795ED
+Expiring-old-approved-routers.fingerprint 42D318E39EC653441139AA1C2A4499FC0F6551F3
+Expiring-old-approved-routers.fingerprint 43223F0D916FC4331DBC49D342B34E6144BCD2AF
+Expiring-old-approved-routers.fingerprint 43C1ECB8A3B34AEBD8B291EBB4B1E37B8F8C2034
+Expiring-old-approved-routers.fingerprint 43FDEBA81CAAB094D94585C957A280737BE8E10A
+Expiring-old-approved-routers.fingerprint 4487A3F83CF83BA6D2CF05A25F18EDFAF20577CD
+Expiring-old-approved-routers.fingerprint 44903C32298519ED8C462FD6414944BD4B001DC1
+Expiring-old-approved-routers.fingerprint 44B72CEEBD695E4DDC34F5652D4F7208FCBA4856
+Expiring-old-approved-routers.fingerprint 44D3AFB554BC0596276C77D62A4F572C477E8EED
+Expiring-old-approved-routers.fingerprint 44D652F5CD87BB1BFBC69B41A80B8B171AD1789D
+Expiring-old-approved-routers.fingerprint 45002AABE404902A6CB471E3FBD2CD8F2C57170D
+Expiring-old-approved-routers.fingerprint 4519CD94B360F3AA546802BA1BCB9A6B11629118
+Expiring-old-approved-routers.fingerprint 451DD730D209E9DCC6A28D32D8A9AF39EBB58437
+Expiring-old-approved-routers.fingerprint 454B1A21A8E43DCC7A3EF1362BB14CB82B1971E8
+Expiring-old-approved-routers.fingerprint 4565E601AFA6694EA28B944481C3F37A93C8A75F
+Expiring-old-approved-routers.fingerprint 456928057DBE4AEF011788CF0CDDECCA22E1927A
+Expiring-old-approved-routers.fingerprint 45C70DF1CC3E2AFD2BE64752AE8CE3C1453CE163
+Expiring-old-approved-routers.fingerprint 45D17BA17C43768EC9D2AF5D754E479F44652C3D
+Expiring-old-approved-routers.fingerprint 46153BB2B1AC237A206AF93BB2BE2C772CBD5160
+Expiring-old-approved-routers.fingerprint 46AD7F71EC1AC05F24C17EB30F91242BDD675FA9
+Expiring-old-approved-routers.fingerprint 46E38927FC19086E02D881B00C78B2ACB466709C
+Expiring-old-approved-routers.fingerprint 48BE76F8A440450212D43A6AD1EB0821E5530EB1
+Expiring-old-approved-routers.fingerprint 49148A4747E445265935218E516C5E43D407C9F4
+Expiring-old-approved-routers.fingerprint 4945D96392F02C24225C40350F271640962677C3
+Expiring-old-approved-routers.fingerprint 497E9659540C148A1E464443C2596B52A6DBE686
+Expiring-old-approved-routers.fingerprint 498DF4C2E6F42C79489333325DEAFFE52FE1DC4D
+Expiring-old-approved-routers.fingerprint 49969827EB3BCF3E3A80F5A679198D55626F63B6
+Expiring-old-approved-routers.fingerprint 49BCA38583B8E4EF6DF39E60F94C770B1E205842
+Expiring-old-approved-routers.fingerprint 4B1E213B79FD17153C23AC260FFB280F66DF385F
+Expiring-old-approved-routers.fingerprint 4B636E159388A46EA269F599E22C7675D7842E56
+Expiring-old-approved-routers.fingerprint 4B6824BF9C34C49EFDD3FF35B9D07D21507229C5
+Expiring-old-approved-routers.fingerprint 4C1348B26F7538A3F9B79ED336122A4AA82956E8
+Expiring-old-approved-routers.fingerprint 4C331FA9B3D1D6D8FB0D8FBBF0C259C360D97E6A
+Expiring-old-approved-routers.fingerprint 4C6BE67D65274F95E9D63158655E498334CB7F85
+Expiring-old-approved-routers.fingerprint 4CBFAD87E5349CB79B3649BC64AB6675A40BBCB9
+Expiring-old-approved-routers.fingerprint 4CFDDADD4E7765F5E09CBC5A7E4AD51D21412B1F
+Expiring-old-approved-routers.fingerprint 4D08D29FDE23E75493E4942BAFDFFB90430A81D2
+Expiring-old-approved-routers.fingerprint 4D5CAE297A92707A6382D727E9C21AAD49C58DE9
+Expiring-old-approved-routers.fingerprint 4DC51821670D0449DF1A7F507B641946EE5CEF7F
+Expiring-old-approved-routers.fingerprint 4E3146D399DE010B8604790FD12928454BD7498D
+Expiring-old-approved-routers.fingerprint 4F061BB40F20F53F83A93E0638F1838679B162BD
+Expiring-old-approved-routers.fingerprint 4F58979A26ED61DE42351BD6A43F4B76C2773C25
+Expiring-old-approved-routers.fingerprint 514CE8C63C6CD18E352C41040AF874EB55954A66
+Expiring-old-approved-routers.fingerprint 51A03CBE5FCDA70DB0E5236BCE15F09EC6CE3D67
+Expiring-old-approved-routers.fingerprint 51E9F16CD6FAF8E7453FCDF3E575FF54E0AD9229
+Expiring-old-approved-routers.fingerprint 51F85F07D7C183DB4ED250E80462D27BBC0AAAF5
+Expiring-old-approved-routers.fingerprint 5212F3130749F95C0BBC560B6D7960A17893A0AC
+Expiring-old-approved-routers.fingerprint 526A689C472B15FF01070C2E24A17A486AC7F93B
+Expiring-old-approved-routers.fingerprint 5376E7D4631A17E595E8BA3EB5C170FDE7755643
+Expiring-old-approved-routers.fingerprint 541AC377DC5201E0976BF3D76792CB09149859E8
+Expiring-old-approved-routers.fingerprint 547B0B2A0914B1FEA03423D0EA04EBE71A846C15
+Expiring-old-approved-routers.fingerprint 547EFEB680FE761CB51FCBC74EE1F4AF7A7CDD43
+Expiring-old-approved-routers.fingerprint 54FCB223794C9869FD3CE50F8726A6B49939E967
+Expiring-old-approved-routers.fingerprint 55D17D9CDA000E3EA67C34967B9A08026D415738
+Expiring-old-approved-routers.fingerprint 56C9E4AA211AC31D3073D5E808AD514C5DD777B3
+Expiring-old-approved-routers.fingerprint 572F54CE655C161100614552C4B5765684B725B0
+Expiring-old-approved-routers.fingerprint 573C2CD6B86B0575A3D7B96FC6C930A9A4F4BBEA
+Expiring-old-approved-routers.fingerprint 5770B47FE581DE79BBB207A43E41DB6056D8F6F5
+Expiring-old-approved-routers.fingerprint 587A254F44CF1A3C122F98A41B585A67A79594C7
+Expiring-old-approved-routers.fingerprint 588942925626DE8BDF7B052D90E0F6C8DE53658D
+Expiring-old-approved-routers.fingerprint 58AF0F8399DC2922F9D9E858AC50686926865A7C
+Expiring-old-approved-routers.fingerprint 5979591AF091686D8F2E44E8BBE5AFB7B3FFD9F5
+Expiring-old-approved-routers.fingerprint 59CC1A82D983A6374CC955C2BF6CA93480C4A58F
+Expiring-old-approved-routers.fingerprint 5B17A9A902F954D23FBB7B83B1161501EE536E5D
+Expiring-old-approved-routers.fingerprint 5B5ECAB24C19219BB461427AA853F732AFCDBBD0
+Expiring-old-approved-routers.fingerprint 5B779C10A07B871E6654698512DE849C56F81314
+Expiring-old-approved-routers.fingerprint 5B779C10A26D828A0234BE869663E02C432CE85C
+Expiring-old-approved-routers.fingerprint 5B779C10A5DADBBB8678FE90A4FB6F27F4605EDE
+Expiring-old-approved-routers.fingerprint 5B779C10B8A8E087EB27E0B408FBBA71CBB4991F
+Expiring-old-approved-routers.fingerprint 5B779C10BEF1C9F9D1E0C3A70CCBCFE6DAAAD3B4
+Expiring-old-approved-routers.fingerprint 5B779C10BF770D5860BDA06A4700A9C7302CFDB0
+Expiring-old-approved-routers.fingerprint 5B81EF5430EEC7DAC2FAD402852DCFED92D0EA1C
+Expiring-old-approved-routers.fingerprint 5B941BAC7894B8EC1A61A64734EAC353D5453AD4
+Expiring-old-approved-routers.fingerprint 5CBF46B4E1F85285F13CB7152307E234B6A6F0C6
+Expiring-old-approved-routers.fingerprint 5CF975A445181F803B000262765FC9EBE0F42354
+Expiring-old-approved-routers.fingerprint 5D366405DAF2DD26115C5907B1900A0651A9866B
+Expiring-old-approved-routers.fingerprint 5D7476EA8C13F486DD7DCC92E7B2B702E167CEF6
+Expiring-old-approved-routers.fingerprint 5D913FD1FABCB433E53FE90BAC5FB6D1B4061C10
+Expiring-old-approved-routers.fingerprint 5DDDC62B3BA8B87C03C0218252220B8560243659
+Expiring-old-approved-routers.fingerprint 5DF0B67E2A2A1E65243544EC2AFDC3A9A13EC20C
+Expiring-old-approved-routers.fingerprint 5DF312428E3330D0FE5790C384689D8159E40CAB
+Expiring-old-approved-routers.fingerprint 5E20EFE139A974F1A391D3579981B7405A760E31
+Expiring-old-approved-routers.fingerprint 5E946BA3F7813622863E88A87DD33CB581633308
+Expiring-old-approved-routers.fingerprint 5EAD742438B4F649B63F8AA60CD546AAF095BBB5
+Expiring-old-approved-routers.fingerprint 5EC13C778A9EE85A054B7BEB98C8B19BA9F75B55
+Expiring-old-approved-routers.fingerprint 5EEF6200755A99766D088DC5F2B877E4D4CCDB01
+Expiring-old-approved-routers.fingerprint 5F636BFF35662E16415E6A66D46FCEA1EB255097
+Expiring-old-approved-routers.fingerprint 601511DEFBBA300492253550FCFDC3AA873060D4
+Expiring-old-approved-routers.fingerprint 611DA8259D65A2408E021F9D1478D3A7B8C123D3
+Expiring-old-approved-routers.fingerprint 6172DEF803F4BE63AC31687B9D5339C246DFE848
+Expiring-old-approved-routers.fingerprint 618BA84FEC03C3517B5B610F880E56BD4EEFF307
+Expiring-old-approved-routers.fingerprint 61F0723594DFF7BBAA8408AFD010714AEE3765BE
+Expiring-old-approved-routers.fingerprint 626BDCB313C96DEBAD38C89742BB854A2D96DD7C
+Expiring-old-approved-routers.fingerprint 626BDCE4910230D0BBC5CC0DE9F95F84AF65A855
+Expiring-old-approved-routers.fingerprint 626BDD4D7AD0F995FCC29BEB4A2B17B8C6A6A30F
+Expiring-old-approved-routers.fingerprint 629CD7AE94BA80AB9080C5AD867B5D1BA58E806B
+Expiring-old-approved-routers.fingerprint 6310D81500BFC0827BB1E5926DCABC0D4882C010
+Expiring-old-approved-routers.fingerprint 63E1E8EB7A6D3FD9D1A91493F9487219C78D3EA4
+Expiring-old-approved-routers.fingerprint 647C10F551388AC6C1C186CE89421808E4CA4C32
+Expiring-old-approved-routers.fingerprint 65178799E84A286F8D489A6D5A94C317F6C33507
+Expiring-old-approved-routers.fingerprint 658C9ED037E9D3E026AD318534C9BC2239E8BB7B
+Expiring-old-approved-routers.fingerprint 659432DC4B48F7254BCD7D4902AE86D20DDB8B5D
+Expiring-old-approved-routers.fingerprint 65CC2B6F89FED35CC683F71CD8B8C4766B5FBF8E
+Expiring-old-approved-routers.fingerprint 661F058C52E5C33B402905028F2321DE00D0816F
+Expiring-old-approved-routers.fingerprint 667979E96EC634C1BEE0DF530D9D2EA22BD5B6CC
+Expiring-old-approved-routers.fingerprint 675D0F9F4ED4C22FC3A04F294CB1E2AFCB516FC5
+Expiring-old-approved-routers.fingerprint 6761D2BCA1D8C6C70DBAB04E839D85CEA0D007DC
+Expiring-old-approved-routers.fingerprint 67F6FDD2CC3839B866D7EC70F8C18FFA3ECCC335
+Expiring-old-approved-routers.fingerprint 682370041FBA3A990B4C70FA31554322814B4F53
+Expiring-old-approved-routers.fingerprint 69A1A26708FEAF04D567930ED96837D676136C50
+Expiring-old-approved-routers.fingerprint 69E6EAAF354C8692A26243D7B799B33965635BDC
+Expiring-old-approved-routers.fingerprint 6A3FB08FB657B59CFAC1E2BA108EE3DB5CEF757F
+Expiring-old-approved-routers.fingerprint 6AB6FCAA9AAFD9062BA59CB462C9445EDB3C26EF
+Expiring-old-approved-routers.fingerprint 6B5DE1FBDF46ACF9B1BBDEE7525350C60F4C994B
+Expiring-old-approved-routers.fingerprint 6B646BD6422934653B660FF895B0E3D5BD28A1EF
+Expiring-old-approved-routers.fingerprint 6BC101F03F938B9B9449767371781E309F228BE6
+Expiring-old-approved-routers.fingerprint 6BC9C21B2E32D644FCBADED2B98A27E087D94A65
+Expiring-old-approved-routers.fingerprint 6BD1C5A633F39688F49C7D92F79E5332A19335D2
+Expiring-old-approved-routers.fingerprint 6BF913C31A47E020637121014DB2AFE0877BD31B
+Expiring-old-approved-routers.fingerprint 6C5D88E0623FC4094387AB77B041FC73EE2D01BB
+Expiring-old-approved-routers.fingerprint 6C7735850BE54E1C51B847D3FD4E631F357CDDED
+Expiring-old-approved-routers.fingerprint 6C8DAA2564F5F09309458F98F1CCF39DF77BF79E
+Expiring-old-approved-routers.fingerprint 6ECEDF01852D50484056F217A1F43C31136AAD7C
+Expiring-old-approved-routers.fingerprint 6F1B54B73A9C8AD536C78C85F1C791620119247A
+Expiring-old-approved-routers.fingerprint 6F75B94ACC669529483035B3A8AFE7CCF1D94001
+Expiring-old-approved-routers.fingerprint 6F9E02AEFBB361AAE2D98E918EE90C74FD3C3608
+Expiring-old-approved-routers.fingerprint 7027B394C9AFDB228F2E30A419BAABB2A77E4E38
+Expiring-old-approved-routers.fingerprint 705386643CCFF2155E41B53B48695AA6BEDE371E
+Expiring-old-approved-routers.fingerprint 70538666062A0BF2EA8E03CA6B06A6495D7A488E
+Expiring-old-approved-routers.fingerprint 7053866617EA5FD3AC0B5D4EB8CE6EC792F99AF5
+Expiring-old-approved-routers.fingerprint 705386676B8A6B085147C9395A9F4C722CFB5709
+Expiring-old-approved-routers.fingerprint 70DD65CED10BEEECF363A9323892749ECE6D6655
+Expiring-old-approved-routers.fingerprint 70FD3C502A0695DCF59F00BCBCF8C4E0BC14CA07
+Expiring-old-approved-routers.fingerprint 71830F2CD561F088809D0D9D1CA974B65040439D
+Expiring-old-approved-routers.fingerprint 71A7D280AFF5A91476FC81EC7A0C1C2D8926C7C1
+Expiring-old-approved-routers.fingerprint 71BEBB61D0D35234D57087D035F12971FA315168
+Expiring-old-approved-routers.fingerprint 72226046CFED1CB29BF94B00C533E5EF17C275BD
+Expiring-old-approved-routers.fingerprint 7242D3E3C9380850BD9032A6CD4C13E51FB8208E
+Expiring-old-approved-routers.fingerprint 727DFECEE95F46B317782E6A739B83F37714A815
+Expiring-old-approved-routers.fingerprint 72C39908463AFD392EA7691A2612D4F5CA4F8008
+Expiring-old-approved-routers.fingerprint 73A6E2F5A72A49C13252AA5BA0BDEF24EA81E932
+Expiring-old-approved-routers.fingerprint 7458E9E8AA636DE53F383575E41AA4A6227376D9
+Expiring-old-approved-routers.fingerprint 74AF79DFA85C5651B8CA94C640375F900562B08C
+Expiring-old-approved-routers.fingerprint 75E9283B491DEE6A457A82881E6E6AA1565EB720
+Expiring-old-approved-routers.fingerprint 75F252BE91D3B4EAEAF9851142F3087B6BEBFC0C
+Expiring-old-approved-routers.fingerprint 762144142399603436EFF2F03D1A40AA0BA361EE
+Expiring-old-approved-routers.fingerprint 7657FABF954B06D9843B2BA5D68A735831B38741
+Expiring-old-approved-routers.fingerprint 76C4C8EC139541550536AE0BAFC9299B55D5586E
+Expiring-old-approved-routers.fingerprint 7740D94CCCE02247437D771EDB2AA57A50B29067
+Expiring-old-approved-routers.fingerprint 7824BE9B01FF823543EB9527091B5804EA7E5985
+Expiring-old-approved-routers.fingerprint 784AC5D9486D23E78E09C00627DDC3DF7E526AB0
+Expiring-old-approved-routers.fingerprint 7870146CF06004731C85B78E00FC3B9C3D520CC0
+Expiring-old-approved-routers.fingerprint 7886C1A98DD8E39A74575810C400361DE455FF89
+Expiring-old-approved-routers.fingerprint 797D3DFE0BF6118C0618BE5FEFD2275F5E3E1A1D
+Expiring-old-approved-routers.fingerprint 7A1C77B48FA2ECABEB706FFCB93F47D4BDC6A275
+Expiring-old-approved-routers.fingerprint 7A90A7775783DA5464A3461CF633EBBB09D6E727
+Expiring-old-approved-routers.fingerprint 7B06A39F6DC3A0D1AD6C1B46C11897916F74F280
+Expiring-old-approved-routers.fingerprint 7B126FAB960E5AC6A629C729434FF84FB5074EC2
+Expiring-old-approved-routers.fingerprint 7B75DEA735BA4A1B380811FC155C6F320A882C91
+Expiring-old-approved-routers.fingerprint 7BA861901FEDC4BDD8C5737F08CC872C39500216
+Expiring-old-approved-routers.fingerprint 7BC41E0C143D2FE57E33BBBEC1347F6E67DDB527
+Expiring-old-approved-routers.fingerprint 7C522ABE6465BE9F076E09A2E826A7772F0D535B
+Expiring-old-approved-routers.fingerprint 7CDEF34BD57189AEE676A23C0636FBB2912E2B33
+Expiring-old-approved-routers.fingerprint 7D0B59BDD94972861D0AEA8856E114AAC146F8CE
+Expiring-old-approved-routers.fingerprint 7D39956CD223B291792D5C59ADB65247A1DA7243
+Expiring-old-approved-routers.fingerprint 7D4789784E03100ABE81C2BF77F07BAB0ACD85AD
+Expiring-old-approved-routers.fingerprint 7D76E69EA6439F8DDF124D4E6137A3E932487C19
+Expiring-old-approved-routers.fingerprint 7DB2FC2740E17C034449D9E7AFAAB1B65D784D53
+Expiring-old-approved-routers.fingerprint 7DCA95D18A00028769F4E08B5D752BB79720DA62
+Expiring-old-approved-routers.fingerprint 7E82F23F96DF72F0252C72008B479554A06EAFF7
+Expiring-old-approved-routers.fingerprint 7E96DC5FE013E44AEFD0D2413049C51CD371FA6E
+Expiring-old-approved-routers.fingerprint 7EBC1E2EF2B7166D82B81D49114CD3B123D49185
+Expiring-old-approved-routers.fingerprint 7F9E557A0E9E87565237598E0A97665A6FE4193A
+Expiring-old-approved-routers.fingerprint 7FA3D1D5ACC552899C6EBD39B52F93496581F09A
+Expiring-old-approved-routers.fingerprint 80F7BBD004F1D3BA4295517D5A322AF4462E28F0
+Expiring-old-approved-routers.fingerprint 81428FA70A9C3DB1BB6FAB44E6CE14804BA3F947
+Expiring-old-approved-routers.fingerprint 8237F49D3E475ADC4F46CC56B3561B76C6BDAFF0
+Expiring-old-approved-routers.fingerprint 82DD3E6AA827FADA11527F30C86F5DEB1A816398
+Expiring-old-approved-routers.fingerprint 835E9016B77F7908547FD26585DAFE52206C22DD
+Expiring-old-approved-routers.fingerprint 83B9A4E6C5749568674D84F0D718805B91DD16CD
+Expiring-old-approved-routers.fingerprint 83E2C0E916AFAB884740BA4FCAB1C4A8E1B4E7D9
+Expiring-old-approved-routers.fingerprint 83F76FF371DC150BF0415A333996E0DE317CC696
+Expiring-old-approved-routers.fingerprint 848486669C39E6F61640DE8711C1CEE73D32A2ED
+Expiring-old-approved-routers.fingerprint 84B468197C8B17D6D59FD4FB1B55D9B6AA05AF80
+Expiring-old-approved-routers.fingerprint 84E9B23AB03DB7CAED25D3A4C98CAB46BDFCEBC8
+Expiring-old-approved-routers.fingerprint 857CBA1CA0A553F4B695CC738F09FA471F5B856B
+Expiring-old-approved-routers.fingerprint 8673EE112222B1421E35007E73ACD80CE721EDB4
+Expiring-old-approved-routers.fingerprint 86D5EC3C9EE0D6B413511BDA3B3B5861ECB021F9
+Expiring-old-approved-routers.fingerprint 86E78DD3720C78DA8673182EF96C54B162CD660C
+Expiring-old-approved-routers.fingerprint 8743036347115075E3B9DF7A6D3A17C799D19896
+Expiring-old-approved-routers.fingerprint 87AF70E1D840F43F62EF717445D1A08A992D91C8
+Expiring-old-approved-routers.fingerprint 87CBF2EF93BE52CE3B83AA1C8970FBF12D0E3E5C
+Expiring-old-approved-routers.fingerprint 8814BF59B60EDE4E53FA33B249EEB406DD1D6D10
+Expiring-old-approved-routers.fingerprint 88CD36D45A35271963EF82E511C8827A24730913
+Expiring-old-approved-routers.fingerprint 88F4B1B851F76D67D9E13F7A29FD3875FA2883AA
+Expiring-old-approved-routers.fingerprint 8954FA677102CEA19E9017A9D42F2D4402004E16
+Expiring-old-approved-routers.fingerprint 8959F5F338B5826815BC273D4A7D3F0F052816EE
+Expiring-old-approved-routers.fingerprint 89F4ED44FFDACABE3EF1F50122965C58536B5639
+Expiring-old-approved-routers.fingerprint 89FBE8F69FCB385BA729D6C3918607B66EDC8FC5
+Expiring-old-approved-routers.fingerprint 8A19EA5C1DF61AD975A498E57349434DABEB6AB3
+Expiring-old-approved-routers.fingerprint 8A3ADDD768C00C15EF2F8F13B0C2878A10A0824D
+Expiring-old-approved-routers.fingerprint 8A47750D1EF7F7D3939A01FCB4903E821B6E44FC
+Expiring-old-approved-routers.fingerprint 8AB4C968C627C56A02F557371AED1FDF96484EA1
+Expiring-old-approved-routers.fingerprint 8AC950E9333D0DEA769F74B961E585672CC05EE3
+Expiring-old-approved-routers.fingerprint 8BA93244CE510354BC69C7C4AF9F94BA421E8A2E
+Expiring-old-approved-routers.fingerprint 8BA93245A3B7B8E2D80C4CAC923448F40740E8CC
+Expiring-old-approved-routers.fingerprint 8BA932462E5B2C07938B8B44B9FA571713EB7A0F
+Expiring-old-approved-routers.fingerprint 8BBF2CDB05262DA61BFF38ED0C7BD7865429D528
+Expiring-old-approved-routers.fingerprint 8BD3BE8BF1AB050EFCF72B4709020805178488C5
+Expiring-old-approved-routers.fingerprint 8CB81826B5930825526FC35CF223623278411BFB
+Expiring-old-approved-routers.fingerprint 8D4C584A786490266A8438AAD14BA3DB488CAA9B
+Expiring-old-approved-routers.fingerprint 8DF80F30E260E21CABC2BBC94E33D1A3C9795E80
+Expiring-old-approved-routers.fingerprint 8DFCD8FB3285E855F5A55EDDA35696C743ABFC4E
+Expiring-old-approved-routers.fingerprint 8E0862500C9BE42A8AF5C8A754D0D5F8FF329D02
+Expiring-old-approved-routers.fingerprint 8EA57DE3E0E22A826F0020E7052A3048C54C0D48
+Expiring-old-approved-routers.fingerprint 8EF856E0EF63B4E46F0843190A9D9711F498BF39
+Expiring-old-approved-routers.fingerprint 8FB9F4319E89E5C6223052AA525A192AFBC85D55
+Expiring-old-approved-routers.fingerprint 91319B3D34B504F1AFFD46AD64A7CDD91A9D3BCE
+Expiring-old-approved-routers.fingerprint 91A6354697E6B02A386312F68D82CF86824D3606
+Expiring-old-approved-routers.fingerprint 924A9AB49D914CDE0B7B2838C5A2BEB675BA2A3F
+Expiring-old-approved-routers.fingerprint 924D9D576157C0F7D06304D77400FCCBEC33FBB4
+Expiring-old-approved-routers.fingerprint 925066E63CF63241AB3D1CC51DCD57F55120F869
+Expiring-old-approved-routers.fingerprint 92537A063634DECC0B9956204D7944684C8596C2
+Expiring-old-approved-routers.fingerprint 928DFF1044FE54BFD7AFDDB979D5D775ECC9E5AC
+Expiring-old-approved-routers.fingerprint 92E54A5480B9ABAD79C558606CB97B7331014BE2
+Expiring-old-approved-routers.fingerprint 93316873AE97F1096060816104AE3879CC3D7F30
+Expiring-old-approved-routers.fingerprint 93DCD5CD85524E0353A405A42F85DF3D9F38B8A1
+Expiring-old-approved-routers.fingerprint 9433B1B50691893F8A090C46F296D3D1B1DEA372
+Expiring-old-approved-routers.fingerprint 9489994041C7EB59EEFB7F1BBAC799A152FB6440
+Expiring-old-approved-routers.fingerprint 94906A2A30EA956A8BFA61F5276B94619F9F493F
+Expiring-old-approved-routers.fingerprint 94A63898D67571D0A12CC4FBDB14199B99454C6D
+Expiring-old-approved-routers.fingerprint 95A714B604A2CC781609E680F3F8B52DA448040C
+Expiring-old-approved-routers.fingerprint 96ECB1F0C0449171BBDA86257ECD5238A38BBDE8
+Expiring-old-approved-routers.fingerprint 972BE345E32C7334CC1ABDEF98286398BC4BC18F
+Expiring-old-approved-routers.fingerprint 973F4FCC3DFC50A316087049B72397821F77D9E2
+Expiring-old-approved-routers.fingerprint 97700DFE9F483596DDA6264C4D7DF7641E1E39CE
+Expiring-old-approved-routers.fingerprint 977DD78C1386101A08D359001A061C7FE95FE352
+Expiring-old-approved-routers.fingerprint 97C7790FEA79B540DCEE52D2D58538C73273B155
+Expiring-old-approved-routers.fingerprint 9853BF115104EB02C2A289C53FE7659FC75E0C27
+Expiring-old-approved-routers.fingerprint 9938EDEB8975E823300FFDF312F915FCAA97161B
+Expiring-old-approved-routers.fingerprint 999767AE0756822A4B2FEFB5704D95023D6F280F
+Expiring-old-approved-routers.fingerprint 99EB6A2C225E85DDC18B90D68754457C8F1F3D45
+Expiring-old-approved-routers.fingerprint 9A0C3DECC52ED95E36181C9BEA6C75CEF7C33A2C
+Expiring-old-approved-routers.fingerprint 9A8E8D3DE3B480A5BB0C3DC4926F52E21C3074F3
+Expiring-old-approved-routers.fingerprint 9B1D12D6A41F66772DCA66222280226F4B583218
+Expiring-old-approved-routers.fingerprint 9BE9ED5C263E88481B201FD7AE4680B638CAA764
+Expiring-old-approved-routers.fingerprint 9C1700E2148BC564469448ECE691D11D20C71420
+Expiring-old-approved-routers.fingerprint 9C2DF8062591B7BDCCE61DAF37F377795887C38D
+Expiring-old-approved-routers.fingerprint 9C9A9FC6F6E26031FC11445A94D173B1E1B76241
+Expiring-old-approved-routers.fingerprint 9D3661F96957C185946104A9075F3A970346A41E
+Expiring-old-approved-routers.fingerprint 9D403888765C31DC60E5621080A63DE171F9C749
+Expiring-old-approved-routers.fingerprint 9DF694EC2BCDDFCB5DE9BDB2008CD9B5DE4934B1
+Expiring-old-approved-routers.fingerprint 9E017A40DD58EF7BA4700E12ECD94D0C29BC9AAB
+Expiring-old-approved-routers.fingerprint 9E6189C073A53098C041A6C44EDBE0D359CFB2CE
+Expiring-old-approved-routers.fingerprint 9F49EE89CE983332164DA7AA7AA6183E151DFE69
+Expiring-old-approved-routers.fingerprint 9F6BBD6C10B59C96B6D7CDD93DAC2FC4F96787FA
+Expiring-old-approved-routers.fingerprint 9FA2E4AA2601793672AD22FE81AF68ACC5FD3224
+Expiring-old-approved-routers.fingerprint A04F6FB90B32BA96DAB0FAD4CC2FC19235B0CD3A
+Expiring-old-approved-routers.fingerprint A050A343F422485C45DDC91CB59C1A8B2C63AED0
+Expiring-old-approved-routers.fingerprint A09D536DD1752D542E1FBB3C9CE4449D51298239
+Expiring-old-approved-routers.fingerprint A13273285B4B78ACB471CE5AB9A6C70CC6A4CAA2
+Expiring-old-approved-routers.fingerprint A16A7899B9FEAAEE294E75CD6BC5D3894C4A994A
+Expiring-old-approved-routers.fingerprint A17A40775FBD2CA1184BF80BFC330A77ECF9D0E9
+Expiring-old-approved-routers.fingerprint A18DC184C5F5C23259F35230A711B9D0C18AC9F3
+Expiring-old-approved-routers.fingerprint A1A598C5F3E58D35E7287F34A5E72D7284DE79F5
+Expiring-old-approved-routers.fingerprint A1C7FEA1D19FAA6984733F9788905F67EEDB09B4
+Expiring-old-approved-routers.fingerprint A22B7D359C3088D7A924C1ABCF7E13256D1EA34E
+Expiring-old-approved-routers.fingerprint A25C33576758F94DFC3AE6223BC58B5FE02DBA2F
+Expiring-old-approved-routers.fingerprint A2E406BD23FEBFE00826E46B232B5CC773C59038
+Expiring-old-approved-routers.fingerprint A3B77D7FE4F96E0A158E6F1FB2A08590E7D9B098
+Expiring-old-approved-routers.fingerprint A3E5C6D70A35AE94D9B745CA1CAB80009F3F7710
+Expiring-old-approved-routers.fingerprint A4A46DF8AE5BD917FF4F3AEDD318E0FA02E2706B
+Expiring-old-approved-routers.fingerprint A4D0344E81E7AE3D0F5AB6A64413F6991FB74B2E
+Expiring-old-approved-routers.fingerprint A501091FF83FDF0DDF4D2D609F983A1CD93BC457
+Expiring-old-approved-routers.fingerprint A5470F356285DDCCCF98F3F355FC0E82801E416D
+Expiring-old-approved-routers.fingerprint A5BFB4D4397B863804F97C328659BFEF244C6F77
+Expiring-old-approved-routers.fingerprint A61FE57D635789A7EFE91AC3C69224EA21E0A649
+Expiring-old-approved-routers.fingerprint A6C292AAFBBDCDD398D603A0A33D88E61A90036C
+Expiring-old-approved-routers.fingerprint A832D176ECD5C7C6B58825AE22FC4C90FA249637
+Expiring-old-approved-routers.fingerprint A853A19199B7980C45A74E1E3C16995B66D4ECC7
+Expiring-old-approved-routers.fingerprint A865D74F4B1E33154A4C9F15DEAF4EF0EA899105
+Expiring-old-approved-routers.fingerprint A8D13157A57937F4D1F81A4170B941310101E992
+Expiring-old-approved-routers.fingerprint A8FF5FCDD5DF6F605BEFE6578CFF932ABA0787BF
+Expiring-old-approved-routers.fingerprint A9D62E9F0823A3DC7512B0204EDD52E9E42E707D
+Expiring-old-approved-routers.fingerprint AAD6860E479DA66277A4262EF67DA33FE08F7106
+Expiring-old-approved-routers.fingerprint AB195AFDD9356A26822F4911260A765483B0D2C7
+Expiring-old-approved-routers.fingerprint AB41FCF103125FA2C711018F93B3628F51C0E4CE
+Expiring-old-approved-routers.fingerprint AB559BE02A323465AB8C3D0BB18EA04A1F13E32F
+Expiring-old-approved-routers.fingerprint AB559BE25926F720890BDAE88407E1A676883304
+Expiring-old-approved-routers.fingerprint AB559BE2CA986C0EDEFBD78B48621DD36C349AD4
+Expiring-old-approved-routers.fingerprint AB559BE305A7A63962944D32A69AEB2AF9EAC7DC
+Expiring-old-approved-routers.fingerprint AB559BE359178B5230D02489E0468B867360CC4C
+Expiring-old-approved-routers.fingerprint AB5F42B7DB3E2EAEFB22A429BD411CA3A9577880
+Expiring-old-approved-routers.fingerprint AB7199035B331B8857CBD72FE4B3F7CD67ED1BD9
+Expiring-old-approved-routers.fingerprint ABD8B233DC66DA132334F53649F229B725EDB73B
+Expiring-old-approved-routers.fingerprint AC05EB0C7673436F67B91E1D03FC82A16DAC05E0
+Expiring-old-approved-routers.fingerprint AD14B4ECDE2E19FAA4CFFC0AE43407FE8EFF05F5
+Expiring-old-approved-routers.fingerprint AD165293B5CCA195FB10943D8156AEC82BB88975
+Expiring-old-approved-routers.fingerprint AD165305C479A4580308026555E298E020C17EE1
+Expiring-old-approved-routers.fingerprint AD1653B709037F20A11D442E6518CBF62BB4F974
+Expiring-old-approved-routers.fingerprint AD59120D5C0C0E21424346E072C7F9B3057BB579
+Expiring-old-approved-routers.fingerprint ADE7E348177296DEEFDB1CC7E62B2F14F7044416
+Expiring-old-approved-routers.fingerprint ADED4FC9C0EA10717833923BEE52017EC0FC8B28
+Expiring-old-approved-routers.fingerprint ADEF0D937F0F79806772FDB1FB4CBB2B5E93F801
+Expiring-old-approved-routers.fingerprint ADFC0449256DB05D0D9C050BED2F29500F951659
+Expiring-old-approved-routers.fingerprint AF009E9C7E5CDECBAD08F8E92D1507829BA49A40
+Expiring-old-approved-routers.fingerprint AF11CA34B9DE6E538792141935F58F530E8D7C90
+Expiring-old-approved-routers.fingerprint AF9F66B7B04F8FF6F32D455F05135250A16543C9
+Expiring-old-approved-routers.fingerprint AFACE80D12ECD79934CE4F5B05C0F2F75FF530C2
+Expiring-old-approved-routers.fingerprint B069658CC8976684E1F4EDB982799DE0E856AB23
+Expiring-old-approved-routers.fingerprint B08A502FD7D449D2DBE19B9B6D329E392C0524F8
+Expiring-old-approved-routers.fingerprint B0F9B9ADA7018374F60FDBF3A8E09A50D520EE27
+Expiring-old-approved-routers.fingerprint B1D3314878F140794C2825FBD2E0C4343E486BBA
+Expiring-old-approved-routers.fingerprint B28DE0FECAA06D6EC556321ADFF8587CAF4D5BFA
+Expiring-old-approved-routers.fingerprint B28DE1CE50E32827BEEA2BD8201659643C78BF82
+Expiring-old-approved-routers.fingerprint B2F1C0D9901F40F3F4BE89FF1193F35BADDCC834
+Expiring-old-approved-routers.fingerprint B310451AFCA19CA72843829D2D3211A126628585
+Expiring-old-approved-routers.fingerprint B3833E6C925506864D8EE265C01F4D9F2435947D
+Expiring-old-approved-routers.fingerprint B418283776132F46760885ED8DCDF9683B81336D
+Expiring-old-approved-routers.fingerprint B50758C93471AC2E676B91401EB42506722EB908
+Expiring-old-approved-routers.fingerprint B5113838B7F8C0B664DD2327FB2196A42E79B2B6
+Expiring-old-approved-routers.fingerprint B53199B7007B4EE46046854A84D0DCC443A8861E
+Expiring-old-approved-routers.fingerprint B55011E9F1DDD07F7E3D56335019DCEF6E7E7CF4
+Expiring-old-approved-routers.fingerprint B59C7234A64E643D8D5E675B2B55CD661B8EB0D5
+Expiring-old-approved-routers.fingerprint B5D3320A44C5F11DEC6B3247DB73F9546723537F
+Expiring-old-approved-routers.fingerprint B604155E073B1F2A487D24CD0C2DA62FF40A80B0
+Expiring-old-approved-routers.fingerprint B6783AB9DDDBB62E1E01B952328162BE5069E959
+Expiring-old-approved-routers.fingerprint B71CD8F7D58BEAC92915C2D66E4812979A2C3618
+Expiring-old-approved-routers.fingerprint B738D80B0A1CC917C47D84726833749F32C9027F
+Expiring-old-approved-routers.fingerprint B74A7A4DF3C40FA8AE5BF5D6FA62A3E135AA2DD6
+Expiring-old-approved-routers.fingerprint B7AFECC04C97FE7B0F4598049130B23B1D7EEB62
+Expiring-old-approved-routers.fingerprint B87650E21AB6C36BF7B49E1B9B1156250DC6242B
+Expiring-old-approved-routers.fingerprint B8A6204CF169391773648EE7A7B6939B4F692B31
+Expiring-old-approved-routers.fingerprint B90877B42FE9BF1E557DF16F5BBC88983EB0AB5B
+Expiring-old-approved-routers.fingerprint B92459E164F1ABBB55BD1F7197D60C48872200D1
+Expiring-old-approved-routers.fingerprint B971E1A4253756E34CDF1070FD3C3B2EC7D27E1C
+Expiring-old-approved-routers.fingerprint B99AC17620737BC58FF386E6D641DF1FA761666A
+Expiring-old-approved-routers.fingerprint B9E7141C594AF25699E0079C1F0146F409495296
+Expiring-old-approved-routers.fingerprint BA131E70A1B61CFC55AF2AE57E8DB642B3E38502
+Expiring-old-approved-routers.fingerprint BA22DA7E5484B6C3FD1D0896F2ECC8D8E596B05D
+Expiring-old-approved-routers.fingerprint BA2C615ADCBA8DF5F273993F7A84049667A82602
+Expiring-old-approved-routers.fingerprint BB68089057C4767DE82EA1644372E7358BD7FF9E
+Expiring-old-approved-routers.fingerprint BB91E26D165119DA469D2143AB8A6BA56D94EE16
+Expiring-old-approved-routers.fingerprint BBA796937FCB0BC84144942E85348407F60CFDD6
+Expiring-old-approved-routers.fingerprint BBAF9FCF980C83116AAD0A5F3E876D4B3C8FA314
+Expiring-old-approved-routers.fingerprint BBB28DF0F201E706BE564EFE690FE9577DD8386D
+Expiring-old-approved-routers.fingerprint BCDB7929C7E1C32FA97A08797832570BEBDD12A8
+Expiring-old-approved-routers.fingerprint BD1314D0285A7DE69879D75CD345AE50728FAEE4
+Expiring-old-approved-routers.fingerprint BD4CBA733E58035A1EB925510EF2B7285295EF3E
+Expiring-old-approved-routers.fingerprint BD4E3092EA9BD72637B6D9576D91938A4A405D63
+Expiring-old-approved-routers.fingerprint BDC98A22FF880709BE04D3BBEE0FB4740FE6B741
+Expiring-old-approved-routers.fingerprint BDFB8DF330218096564C79CCC4C024C63ED3D4CB
+Expiring-old-approved-routers.fingerprint BE0C3215AC6E587C9FCE0977D7847A8F10C5F78D
+Expiring-old-approved-routers.fingerprint BEA1DB8C02C3C37B7780D9D1B197168C8921B056
+Expiring-old-approved-routers.fingerprint BEFEFEFAAF026E5B3661BA2D44A43F2B39364090
+Expiring-old-approved-routers.fingerprint BF14136D7FB8C29A771D3F1825C82AFA361BD61A
+Expiring-old-approved-routers.fingerprint BF29EDFDFB430189361A90C01C2F2357436EBBF2
+Expiring-old-approved-routers.fingerprint C0427B7060037D4CD38444820E9822887D18AE1A
+Expiring-old-approved-routers.fingerprint C0844C4E220398A0D426207C9B36FA4C41E48D2E
+Expiring-old-approved-routers.fingerprint C2E3777A85338EB03C69384C828E9C582FA37CC4
+Expiring-old-approved-routers.fingerprint C3C015B6C09B995F541E1334633655EC14EDCA15
+Expiring-old-approved-routers.fingerprint C46A33E7E56F4F3FF2D36308A37E3DA21CD100FB
+Expiring-old-approved-routers.fingerprint C484EAB876B1E90266023EA5028CB70C4AFB3A3F
+Expiring-old-approved-routers.fingerprint C49A2CD833355AA2963558C9A4E77D3D0BBC3A8C
+Expiring-old-approved-routers.fingerprint C52F0A25869BFB9A701494D5D1D8C8D1497F29BF
+Expiring-old-approved-routers.fingerprint C567E7F2CC9335ECED038FE564A64974B9E2BC88
+Expiring-old-approved-routers.fingerprint C56CAF0B44E10299915C2EFF88E0E5B18C50998B
+Expiring-old-approved-routers.fingerprint C58A2F95B52B8346768ED968F7ED85C6420EB1EF
+Expiring-old-approved-routers.fingerprint C646F49F6BE1706159096CF8C533526CD01E328A
+Expiring-old-approved-routers.fingerprint C64B6833524B8351EEF8FDE4D9A2863CB51EEE8C
+Expiring-old-approved-routers.fingerprint C73ADBAC8ADFDBF0FC0F3F4E8091C0107D093716
+Expiring-old-approved-routers.fingerprint C73DAE7F90AB0141C1ABC3B6D8A0EC8C86D4B432
+Expiring-old-approved-routers.fingerprint C783AB63FE70DE03BAA1D6EBD9F98A3AA5D11510
+Expiring-old-approved-routers.fingerprint C7D3DF3DB95F40A0B5F20E6B0304C3FFCC82C046
+Expiring-old-approved-routers.fingerprint C89A2EB07062C0968B1DB1AC5997CA5EE18240EB
+Expiring-old-approved-routers.fingerprint C8CBDB2464FC9804A69531437BCF2BE31FDD2EE4
+Expiring-old-approved-routers.fingerprint C923F55747423CCC0969A434B9BD8E377C8A83A2
+Expiring-old-approved-routers.fingerprint C9480700C1B9B58F36DFDFED2065AB64B99F7D62
+Expiring-old-approved-routers.fingerprint C94A1C02746082A1919AA28D5F09392351D34A1B
+Expiring-old-approved-routers.fingerprint C97CD83B555A41F12EA8095FA717A8E3EC499360
+Expiring-old-approved-routers.fingerprint C985FBB406A24EC073D75B584F1689ABEF00F12B
+Expiring-old-approved-routers.fingerprint C98B0740C9CBCE123F5D7AD6DFAE9F164A107417
+Expiring-old-approved-routers.fingerprint C9B78631B1984417A2F48A1FEBFD417001814877
+Expiring-old-approved-routers.fingerprint C9F1392062E6BBFCE6E1EA008B92DBF74B556BC7
+Expiring-old-approved-routers.fingerprint C9FB7FB81E50489BB6891A6A74BD09B04234577B
+Expiring-old-approved-routers.fingerprint CA0A0769100D0466855D43A423DF927422963660
+Expiring-old-approved-routers.fingerprint CA3707C266DF3C148CA03B5C174D10AD46EFB2F6
+Expiring-old-approved-routers.fingerprint CABC1E02EB6A68E721C053C5F27BEB5408C20CAA
+Expiring-old-approved-routers.fingerprint CAC71217E92A4FCE6DCB9CF66453678544558FF3
+Expiring-old-approved-routers.fingerprint CAC9CC5A475CDADBAC468FCFB5D8DE723A9E0B91
+Expiring-old-approved-routers.fingerprint CAD571C5E00A8439B07DEFB42E43006BE94BE6D8
+Expiring-old-approved-routers.fingerprint CB6A8E69D4C59660AE4637050F4DEDC4D862D1BC
+Expiring-old-approved-routers.fingerprint CB9AF3F62E24D04A946EABA95CC67E7243BDD636
+Expiring-old-approved-routers.fingerprint CBD52DD00090DFD889ED8A41059CC08CC2D9E3A2
+Expiring-old-approved-routers.fingerprint CC3DDD254579824BB36F1363FD28BC4547D574B3
+Expiring-old-approved-routers.fingerprint CC6EAF66572F40B51D9D79EFC46FC56539C8EB23
+Expiring-old-approved-routers.fingerprint CCB57BE695C32A4F687EC173F10E481109EECABD
+Expiring-old-approved-routers.fingerprint CCC33EF1CF186EB67C4AD657E7B47E7F8DA8248F
+Expiring-old-approved-routers.fingerprint CDF2E852BF539B82BD10E27E9115A31734E378C2
+Expiring-old-approved-routers.fingerprint CE53CCAD3825D48A4F3466B517806D45536605B0
+Expiring-old-approved-routers.fingerprint CF275F64324B8ADE5673C457FEC66B6A75859848
+Expiring-old-approved-routers.fingerprint CF6B2C72A07173794DD4C079D6B93493E39B9C31
+Expiring-old-approved-routers.fingerprint CFC5688DB0873454DAA063D97EA463230627ADD7
+Expiring-old-approved-routers.fingerprint D045DB54CEA825776E117E779B845EBD8196B8FC
+Expiring-old-approved-routers.fingerprint D0926FE0CCB7FCFDEC7767C425B82274D1BCA4F7
+Expiring-old-approved-routers.fingerprint D0BE31DC2E9EEFC5D09C77873F4414628E59C408
+Expiring-old-approved-routers.fingerprint D0CE5A7131FA5971B1ED584F94816C392099B8EF
+Expiring-old-approved-routers.fingerprint D11D15ABB1C5DD35AFBAF93405F8AB27DEAB3E87
+Expiring-old-approved-routers.fingerprint D1943A869B57431306D1C5330A8CA9B81706D37B
+Expiring-old-approved-routers.fingerprint D239C49E34003B4634F00BE2AE1B057F40C61DFA
+Expiring-old-approved-routers.fingerprint D2FD9792B36FB893AE3A39B198AA331DADB82D87
+Expiring-old-approved-routers.fingerprint D350C0FABCB9250C294E29CFA54ECCB17DD2CA7B
+Expiring-old-approved-routers.fingerprint D37F33D12AFA10A9D5C6CCE187066E0A22711931
+Expiring-old-approved-routers.fingerprint D386CFD1471809E68F8171D9E07018D997AEE4AD
+Expiring-old-approved-routers.fingerprint D3BD68F35BDCE04C39A1A2C4F51A07A8EB2ED75E
+Expiring-old-approved-routers.fingerprint D3C2714E6B0130B1A1BA7EB8BA9E68933890E81F
+Expiring-old-approved-routers.fingerprint D4791EC56D6AEE1C74E4F7D3090550BF071E3DBF
+Expiring-old-approved-routers.fingerprint D4B8521D9295833B3948F7F501A1EAE0C6BD3221
+Expiring-old-approved-routers.fingerprint D4CF808818504285289C27A1C184FF7B81245BB3
+Expiring-old-approved-routers.fingerprint D4E2AC444914E71C385E95052DEEEE54AE8BA32D
+Expiring-old-approved-routers.fingerprint D4E630D6EABC6B443E696DF3503AFCFA5407E918
+Expiring-old-approved-routers.fingerprint D53873C5472123795DCCF31F41C56C8C31423305
+Expiring-old-approved-routers.fingerprint D53874D12EE2F9FE55CB895B82112E6F68B6F9FC
+Expiring-old-approved-routers.fingerprint D5387562C859AEABA0EF456907CEB1B461789541
+Expiring-old-approved-routers.fingerprint D5D6DBED4BEB90DB089AC1E57EA3A13B9B8AA769
+Expiring-old-approved-routers.fingerprint D67A3E674B98D4C33523B198DBA2C589B34727A4
+Expiring-old-approved-routers.fingerprint D71C8430DA2516272EA9CF08F71D3D1A24A58CA8
+Expiring-old-approved-routers.fingerprint D77A827BC6A9AE3AF92BF4EF54440618FE7D1F06
+Expiring-old-approved-routers.fingerprint D7914FA39A0B00F38DD2DF574A75CDCDE1DC2C7C
+Expiring-old-approved-routers.fingerprint D844412187933013C9D36F32AC279D72945F0BD0
+Expiring-old-approved-routers.fingerprint D855A7847FA28469BDF6D9CEAAB4E7911D55D441
+Expiring-old-approved-routers.fingerprint D86F0F302BE6E621923B1A35112FBCD7BF4A9B63
+Expiring-old-approved-routers.fingerprint D87B3D782EB9B327DAD702BFDF90080799223010
+Expiring-old-approved-routers.fingerprint D8B33E62395171756C2221F260C0079D5434A914
+Expiring-old-approved-routers.fingerprint D91B47C9DC0BF9196660CC5E805D30F1A49737B9
+Expiring-old-approved-routers.fingerprint D9391BA601B3EB38C03C06EE27E9C782B34390F4
+Expiring-old-approved-routers.fingerprint D96D9DF89D39F866628F9713F964BCAA96FB843B
+Expiring-old-approved-routers.fingerprint D9A82D2F9C2F65A18407B1D2B764F130847F8B5D
+Expiring-old-approved-routers.fingerprint D9D15DDCCDFF3A16229C8D330CA7FD90571EE686
+Expiring-old-approved-routers.fingerprint D9F5B5B06BC823A07E5CEFBCB8CA815744662826
+Expiring-old-approved-routers.fingerprint DA4CADAD2F1C42067613DBAE585A008E0BCF4BE6
+Expiring-old-approved-routers.fingerprint DA84ADAA64F3A1DB6FD7A325D2C2C8BB07DFDAF0
+Expiring-old-approved-routers.fingerprint DB689A7E6B91F031F1BDA1B8435A65C55BBA6767
+Expiring-old-approved-routers.fingerprint DBBBF1547B05B22A9555CA4421B37E38B35F233F
+Expiring-old-approved-routers.fingerprint DBF43ED0926DB6822EC75717C58969F2D05B062E
+Expiring-old-approved-routers.fingerprint DD6094EA86A1BC67C17CED89E5204673E204C008
+Expiring-old-approved-routers.fingerprint DE08960D27D214C4BF635F297E9E9265D5C3FD93
+Expiring-old-approved-routers.fingerprint DF42D7C59ED345A9D2976CEDB8364B1DBA9E78EB
+Expiring-old-approved-routers.fingerprint DF8634A721E7BDCB414B44CC51F011D7ADB7F2D3
+Expiring-old-approved-routers.fingerprint DF9E3DB4AE59939268143886D5EBAA6780F4472C
+Expiring-old-approved-routers.fingerprint DF9E3F33E3F9A6FD44A4BE3C52655CFECD45800B
+Expiring-old-approved-routers.fingerprint DFDA8F8B8216B961BBE176C1CBB2878C3AB19731
+Expiring-old-approved-routers.fingerprint DFFEC4DC3A32338DAB67B00F742999A860A33D15
+Expiring-old-approved-routers.fingerprint E0354671549DC1B452671D814E7B04FA2C3B9BEC
+Expiring-old-approved-routers.fingerprint E0F1E77652D15BD473EEBD88A276A7282181C3AE
+Expiring-old-approved-routers.fingerprint E102293D554EA1C6B4BCD08F8B2AD1F16E4B5FAF
+Expiring-old-approved-routers.fingerprint E114BA75DB34B1346443C29BDD5788441DFB4499
+Expiring-old-approved-routers.fingerprint E114C06B03C4CA22EE1679B1F1D7FBDBB9A9C229
+Expiring-old-approved-routers.fingerprint E14FE928E8B41C130A8431FFA81A7639039DCFB6
+Expiring-old-approved-routers.fingerprint E15F979756E6318FFC212CF6EFFB0F2D8019339F
+Expiring-old-approved-routers.fingerprint E171A852751710A3BD333043C545C98F3FE13FF5
+Expiring-old-approved-routers.fingerprint E1AC93BABDC8FB013CBCB8F7332AC6DB7998C383
+Expiring-old-approved-routers.fingerprint E2354A6C6E4702C4303A253E684123C374616F50
+Expiring-old-approved-routers.fingerprint E26DDE296CD6CCD7EAE5E3543C35376069C24397
+Expiring-old-approved-routers.fingerprint E28E89A933BD9273FE444610B8544A1027175C90
+Expiring-old-approved-routers.fingerprint E2B9B59A673843E8DF2F1D63169252156D182AC3
+Expiring-old-approved-routers.fingerprint E2D8CF800FCE2C2A0D1817AAEFEC7A8E455C4161
+Expiring-old-approved-routers.fingerprint E3147C2F4F41F4F9CF0CE25D1B9536FDD504A2B8
+Expiring-old-approved-routers.fingerprint E3147CAAB209E05A2753501FF7F0B1F9D3E0738C
+Expiring-old-approved-routers.fingerprint E314C601F2B2EA570FFA93DBBD5E514AC20D1015
+Expiring-old-approved-routers.fingerprint E314F7D25BEE536FBA512D2BE758719A28F16E8D
+Expiring-old-approved-routers.fingerprint E3160E267D80C6F0F0CF5BE2FD79BDFB5FC7DC36
+Expiring-old-approved-routers.fingerprint E318141ACDCCC7E61D754E7D35945AC3B524BF10
+Expiring-old-approved-routers.fingerprint E331276D3D4EAD0A7EE7F69A45A98FDBBB72A021
+Expiring-old-approved-routers.fingerprint E343658469A0E244299C2DCCE7987592C05E5DD5
+Expiring-old-approved-routers.fingerprint E3C28CBE3CC62CC2FC6B33F823B0873B1CB7E6EF
+Expiring-old-approved-routers.fingerprint E3EE7828978826E2EA6EEA185BAA0474BDE6B3BF
+Expiring-old-approved-routers.fingerprint E40D950146989E7D646ADE12156BE9FBE69F83F3
+Expiring-old-approved-routers.fingerprint E56E6976ED9C6B72528ECEDA6C6CEEAC767FA26C
+Expiring-old-approved-routers.fingerprint E5704C4603DF4B6F910B90DD4F78016EFF02C9D5
+Expiring-old-approved-routers.fingerprint E57A46CC6CF5BC027DE4091A23F817C6374901D2
+Expiring-old-approved-routers.fingerprint E595A113C0E343DA68D2FAF1CF055F0844B556EB
+Expiring-old-approved-routers.fingerprint E5BBA0EA89A8BA0BB66A11A78817F5B923A119DA
+Expiring-old-approved-routers.fingerprint E5D83E62E091EE5F2D25BC77B83F9C8D53F9B547
+Expiring-old-approved-routers.fingerprint E5E163423C913DAE6EC5EE08235CDB41980B1DAF
+Expiring-old-approved-routers.fingerprint E62658E8578959C7374EA0000F5D00F00B0E99F8
+Expiring-old-approved-routers.fingerprint E646995219BABFBD2994E2B09640AEA2A612F036
+Expiring-old-approved-routers.fingerprint E6B0C495BE3550EDA803B6DB074B66D0D7082E00
+Expiring-old-approved-routers.fingerprint E7E47113C816E16DF83A64208F0D5E9800980951
+Expiring-old-approved-routers.fingerprint E90DD00B4F87FF7456D58B7B846A04A87FD1B517
+Expiring-old-approved-routers.fingerprint E91A706862C36AF4AA43093B31A608E51C680B3A
+Expiring-old-approved-routers.fingerprint E98315520B2CF5E8D905E60E3FD2B6E14A4F975C
+Expiring-old-approved-routers.fingerprint E9A3F934200F4ADA339CE6F937E69149EF9F11D4
+Expiring-old-approved-routers.fingerprint EAE003A1CF8FF28E29663E7AEB04F3DB8C4452DD
+Expiring-old-approved-routers.fingerprint EB4A6F3D99ECC767717D73CA93A41B84DAD64276
+Expiring-old-approved-routers.fingerprint EB91ED9AE819B2BA0F4D05BB6513CBFEB1C2A1E1
+Expiring-old-approved-routers.fingerprint EB94F7BE2886748324FC342D3FD21BF2F3B67EF4
+Expiring-old-approved-routers.fingerprint EC1D941CD3F9EAD79CFABAC02C837A30AE57D233
+Expiring-old-approved-routers.fingerprint EC481FE9996040CBF51AD6BA8B5E420525A32656
+Expiring-old-approved-routers.fingerprint ECA5C9E4DA192A8529DE9EF1828A7BAFAB5D42B5
+Expiring-old-approved-routers.fingerprint ECE2F2BAF34DF018EA95BFDBA63F7DF060D6FDD2
+Expiring-old-approved-routers.fingerprint EDC28824C44DF46B81BC62EF1B0A6D9CE73F8C41
+Expiring-old-approved-routers.fingerprint EDEA37BB4605BEA5E4D03652522DD9EA07134FEC
+Expiring-old-approved-routers.fingerprint EEA0BA31D195C4EDD3A8E603D80B0AE472316A6D
+Expiring-old-approved-routers.fingerprint EF741914BE4E47813EFBDEACE7749D75FF1A2D2D
+Expiring-old-approved-routers.fingerprint EF74AE202B54C19C53585056C5F7E8F74E1E99C2
+Expiring-old-approved-routers.fingerprint F06D30E767F7FE8C873142089D53C3E9587B283D
+Expiring-old-approved-routers.fingerprint F07B49E54AEEE343385798583CFE76E8E3F15AC4
+Expiring-old-approved-routers.fingerprint F0EC74EE8199036596C02D45AD1B5BD0096EFAB2
+Expiring-old-approved-routers.fingerprint F0F380417A234243884E45AEBFDAFFCA216EED11
+Expiring-old-approved-routers.fingerprint F109B83D308F3B6409DD0DBB1533DFC50C92645F
+Expiring-old-approved-routers.fingerprint F15AE6931D86660838A81A8F05A407AE13BEABB2
+Expiring-old-approved-routers.fingerprint F1BECFC84E765CD6901ACCA95B47E0D89FDB9A99
+Expiring-old-approved-routers.fingerprint F1CD3F40AF1D88F5EA37E77AD9DF2BD507B24AE7
+Expiring-old-approved-routers.fingerprint F265F94210DF213B8653C7F1510E64232C6D35D8
+Expiring-old-approved-routers.fingerprint F2A602D63D75859166C2859625DEE795F6A48930
+Expiring-old-approved-routers.fingerprint F31C445079B6FC1D8A25567ADDE763A1A7BD7BE5
+Expiring-old-approved-routers.fingerprint F38401C01BC55270D3B8A9BBAAE956996D7E6543
+Expiring-old-approved-routers.fingerprint F3D4FEA7F4B959007E7C1845F9F563EAA906432E
+Expiring-old-approved-routers.fingerprint F483F7AEFD60D0AA6B5913BFC14651C637F7FDD2
+Expiring-old-approved-routers.fingerprint F49C45C776D81ED85CB9A3967E055292E9D08746
+Expiring-old-approved-routers.fingerprint F4A16D0954A844539C4F1F34F64B10CE2611F639
+Expiring-old-approved-routers.fingerprint F57EB03B286541505F9FF1DDA457DCAEF2C06DE3
+Expiring-old-approved-routers.fingerprint F5A9960DB10D879B8273B7417FB1E64EADBED415
+Expiring-old-approved-routers.fingerprint F619D1B0E848FED5EA43FB157E489B41F1EA2C8D
+Expiring-old-approved-routers.fingerprint F6D5F1103D3E3505FA91F57896410140CB0C3DE2
+Expiring-old-approved-routers.fingerprint F6D835B90502254EBAA8EDB231720F41A7305A04
+Expiring-old-approved-routers.fingerprint F701E83DF6A21D9B1AF48DAA94D631E0F94D5D49
+Expiring-old-approved-routers.fingerprint F79FC4B8DC0D6F87D5FB4BF339DD883D51D0B596
+Expiring-old-approved-routers.fingerprint F7AF9B96392075BA3C00B73BB09E8EA573592A65
+Expiring-old-approved-routers.fingerprint F867BC7C09CFBB0FD4DFA3E10EE80A9603630B58
+Expiring-old-approved-routers.fingerprint F867BC7CC232E43242CE60D7B8BB34E229E9EE6A
+Expiring-old-approved-routers.fingerprint F867BC7E2BA66E80EDF08DFF379081E61B4A0354
+Expiring-old-approved-routers.fingerprint F867BC7E4E24BB7630F54577A7E0B3F0C9109BF5
+Expiring-old-approved-routers.fingerprint F867BC7E5414B32282D4BA5FAAB131037BD968EB
+Expiring-old-approved-routers.fingerprint F867BC7F06A341799AA46422F5DEE4078E3ECF6E
+Expiring-old-approved-routers.fingerprint F894CBE6E0E8921DD62AE1540BF0D8A4A00DF18D
+Expiring-old-approved-routers.fingerprint F8A3184F3F45AF6799B62E3DC343F10A3A866C31
+Expiring-old-approved-routers.fingerprint F9EB7960D6B8259F373C3ACB668AFBB65AF3F95A
+Expiring-old-approved-routers.fingerprint FA3C139F6C91A5A83617921D7F97B8F91FCF7CBD
+Expiring-old-approved-routers.fingerprint FA77E8016A3A5730153FD46D43B6D9FFF1097585
+Expiring-old-approved-routers.fingerprint FAA0C08157124B7BB50880E3C21D0F06D1436966
+Expiring-old-approved-routers.fingerprint FB0F4DF0338134A306E7561BAA86214999CE2E11
+Expiring-old-approved-routers.fingerprint FBDEE163557FAF36C7161F6B7C0A5B838C5223E4
+Expiring-old-approved-routers.fingerprint FBDFE0217912C9A7BDEFB71715404E18AB319230
+Expiring-old-approved-routers.fingerprint FC259A04A328A07FED1413E9FC6526530D9FD87A
+Expiring-old-approved-routers.fingerprint FC562097E1951DCC41B7D7F324D88157119BB56D
+Expiring-old-approved-routers.fingerprint FC9878E11F4DDE25C6BB084EBED3507691DEEB8B
+Expiring-old-approved-routers.fingerprint FCA1CE47B4D4F21966E54AEB36423AE36247398C
+Expiring-old-approved-routers.fingerprint FCE710AF8499DB143F36490C041B1892BE3C676F
+Expiring-old-approved-routers.fingerprint FD20476ED6F05B78CC8A339CF6523B33A17AD66E
+Expiring-old-approved-routers.fingerprint FD27F58D180EF4AC7D90A0ECCF10B0BC3D3E3809
+Expiring-old-approved-routers.fingerprint FD574A01DA6BB3DDB1568128754E9C79B27D9C1B
+Expiring-old-approved-routers.fingerprint FDB3F910421328F6B7D23525B696C2F4104297E6
+Expiring-old-approved-routers.fingerprint FDB4D6F30708A2A93D94A6485D4AF868EEA8FF08
+Expiring-old-approved-routers.fingerprint FE7840FE1E21FE0A0639ED176EDA00A3ECA1E34D
+Expiring-old-approved-routers.fingerprint FEC23FC35645F355A3386E0F497537E34D2FEC22
+Expiring-old-approved-routers.fingerprint FED1326B831221641BD8603CD9E5674A2879F8EB
+Expiring-old-approved-routers.fingerprint FF0D1841086637CA0920E21AFA4C6A43905EA2BD
+Expiring-old-approved-routers.fingerprint FF11209BD1C6EAB1E54B516FA156E66AFEE5EE78
+Expiring-old-approved-routers.fingerprint FF85C2F463232B69D313217F4185F40E38615A9B
+Expiring-old-approved-routers.fingerprint FFBE98B41B22EFE9B55D3DE80801D48BA119676F
1
0

[stem/master] Timeout support in controller methods that await something
by atagar@torproject.org 10 May '18
by atagar@torproject.org 10 May '18
10 May '18
commit 8a065f42952c9dc9762eaebe4d3fa48210783998
Author: Damian Johnson <atagar(a)torproject.org>
Date: Thu May 10 12:39:29 2018 -0700
Timeout support in controller methods that await something
Adding a timeout argument to all controller methods with an 'await' option.
https://trac.torproject.org/projects/tor/ticket/26056
---
docs/change_log.rst | 1 +
stem/__init__.py | 26 +++++++++++++++--
stem/control.py | 65 +++++++++++++++++++++++++++++++++--------
test/unit/control/controller.py | 13 +++++++++
4 files changed, 90 insertions(+), 15 deletions(-)
diff --git a/docs/change_log.rst b/docs/change_log.rst
index 3836b8ad..720c636d 100644
--- a/docs/change_log.rst
+++ b/docs/change_log.rst
@@ -48,6 +48,7 @@ The following are only available within Stem's `git repository
* Documented v3 hidden service support (:trac:`25124`, :spec:`6bd0a69`)
* Added support for limiting the maximum number of streams to :func:`~stem.control.Controller.create_ephemeral_hidden_service` (:spec:`2fcb1c2`)
+ * Added a timeout argument to :class:`~stem.control.Controller` methods that could await a response (:trac:`26056`)
* Stacktrace if :func:`stem.connection.connect` had a string port argument
* More reliable ExitPolicy resolution (:trac:`25739`)
* Replaced socket's :func:`~stem.socket.ControlPort.get_address`, :func:`~stem.socket.ControlPort.get_port`, and :func:`~stem.socket.ControlSocketFile.get_socket_path` with attributes
diff --git a/stem/__init__.py b/stem/__init__.py
index 0104d3b2..e9ad8430 100644
--- a/stem/__init__.py
+++ b/stem/__init__.py
@@ -10,12 +10,17 @@ Library for working with the tor process.
ControllerError - Base exception raised when using the controller.
|- ProtocolError - Malformed socket data.
+ |
|- OperationFailed - Tor was unable to successfully complete the operation.
| |- UnsatisfiableRequest - Tor was unable to satisfy a valid request.
- | | +- CircuitExtensionFailed - Attempt to make or extend a circuit failed.
- | |- DescriptorUnavailable - The given relay descriptor is unavailable.
+ | | |- CircuitExtensionFailed - Attempt to make or extend a circuit failed.
+ | | |- DescriptorUnavailable - The given relay descriptor is unavailable.
+ | | +- Timeout - Caller requested timeout was reached.
+ | |
+ | |
| +- InvalidRequest - Invalid request.
| +- InvalidArguments - Invalid request parameters.
+ |
+- SocketError - Communication with the socket failed.
+- SocketClosed - Socket has been shut down.
@@ -504,6 +509,7 @@ __all__ = [
'UnsatisfiableRequest',
'CircuitExtensionFailed',
'DescriptorUnavailable',
+ 'Timeout',
'InvalidRequest',
'InvalidArguments',
'SocketError',
@@ -582,15 +588,29 @@ class CircuitExtensionFailed(UnsatisfiableRequest):
self.circ = circ
-class DescriptorUnavailable(OperationFailed):
+class DescriptorUnavailable(UnsatisfiableRequest):
"""
Tor was unable to provide a descriptor for the given relay.
+
+ .. versionchanged:: 1.7.0
+ Subclassed under UnsatisfiableRequest rather than OperationFailed.
"""
def __init__(self, message):
super(DescriptorUnavailable, self).__init__(message = message)
+class Timeout(UnsatisfiableRequest):
+ """
+ Timeout requested by the caller was reached.
+
+ .. versionadded:: 1.7.0
+ """
+
+ def __init__(self, message):
+ super(Timeout, self).__init__(message = message)
+
+
class InvalidRequest(OperationFailed):
"""
Exception raised when the request was invalid or malformed.
diff --git a/stem/control.py b/stem/control.py
index fd9aa8dc..244aed0b 100644
--- a/stem/control.py
+++ b/stem/control.py
@@ -1992,7 +1992,7 @@ class Controller(BaseController):
yield desc
@with_default()
- def get_hidden_service_descriptor(self, address, default = UNDEFINED, servers = None, await_result = True):
+ def get_hidden_service_descriptor(self, address, default = UNDEFINED, servers = None, await_result = True, timeout = None):
"""
get_hidden_service_descriptor(address, default = UNDEFINED, servers = None, await_result = True)
@@ -2007,9 +2007,13 @@ class Controller(BaseController):
.. versionadded:: 1.4.0
+ .. versionchanged:: 1.7.0
+ Added the timeout argument.
+
:param str address: address of the hidden service descriptor, the '.onion' suffix is optional
:param object default: response if the query fails
:param list servers: requrest the descriptor from these specific servers
+ :param float timeout: seconds to wait when **await_result** is **True**
:returns: :class:`~stem.descriptor.hidden_service_descriptor.HiddenServiceDescriptor`
for the given service if **await_result** is **True**, or **None** otherwise
@@ -2017,6 +2021,7 @@ class Controller(BaseController):
:raises:
* :class:`stem.DescriptorUnavailable` if **await_result** is **True** and
unable to provide a descriptor for the given service
+ * :class:`stem.Timeout` if **timeout** was reached
* :class:`stem.ControllerError` if unable to query the descriptor
* **ValueError** if **address** doesn't conform with the pattern of a
hidden service address
@@ -2035,6 +2040,7 @@ class Controller(BaseController):
hs_desc_queue, hs_desc_listener = queue.Queue(), None
hs_desc_content_queue, hs_desc_content_listener = queue.Queue(), None
+ start_time = time.time()
if await_result:
def hs_desc_listener(event):
@@ -2062,7 +2068,7 @@ class Controller(BaseController):
return None # not waiting, so nothing to provide back
else:
while True:
- event = hs_desc_content_queue.get()
+ event = _get_with_timeout(hs_desc_content_queue, timeout, start_time)
if event.address == address:
if event.descriptor:
@@ -2071,7 +2077,7 @@ class Controller(BaseController):
# no descriptor, looking through HS_DESC to figure out why
while True:
- event = hs_desc_queue.get()
+ event = _get_with_timeout(hs_desc_queue, timeout, start_time)
if event.address == address and event.action == stem.HSDescAction.FAILED:
if event.reason == stem.HSDescReason.NOT_FOUND:
@@ -2823,7 +2829,7 @@ class Controller(BaseController):
return [r for r in result if r] # drop any empty responses (GETINFO is blank if unset)
- def create_ephemeral_hidden_service(self, ports, key_type = 'NEW', key_content = 'BEST', discard_key = False, detached = False, await_publication = False, basic_auth = None, max_streams = None):
+ def create_ephemeral_hidden_service(self, ports, key_type = 'NEW', key_content = 'BEST', discard_key = False, detached = False, await_publication = False, timeout = None, basic_auth = None, max_streams = None):
"""
Creates a new hidden service. Unlike
:func:`~stem.control.Controller.create_hidden_service` this style of
@@ -2899,7 +2905,7 @@ class Controller(BaseController):
your torrc.
.. versionchanged:: 1.7.0
- Added the max_streams argument.
+ Added the timeout and max_streams arguments.
:param int,list,dict ports: hidden service port(s) or mapping of hidden
service ports to their targets
@@ -2913,19 +2919,23 @@ class Controller(BaseController):
connection is closed if **True**
:param bool await_publication: blocks until our descriptor is successfully
published if **True**
+ :param float timeout: seconds to wait when **await_result** is **True**
:param dict basic_auth: required user credentials to access this service
:param int max_streams: maximum number of streams the hidden service will
accept, unlimited if zero or not set
:returns: :class:`~stem.response.add_onion.AddOnionResponse` with the response
- :raises: :class:`stem.ControllerError` if the call fails
+ :raises:
+ * :class:`stem.ControllerError` if the call fails
+ * :class:`stem.Timeout` if **timeout** was reached
"""
if self.get_version() < stem.version.Requirement.ADD_ONION:
raise stem.UnsatisfiableRequest(message = 'Ephemeral hidden services were added in tor version %s' % stem.version.Requirement.ADD_ONION)
hs_desc_queue, hs_desc_listener = queue.Queue(), None
+ start_time = time.time()
if await_publication:
def hs_desc_listener(event):
@@ -2997,7 +3007,7 @@ class Controller(BaseController):
try:
while True:
- event = hs_desc_queue.get()
+ event = _get_with_timeout(hs_desc_queue, timeout, start_time)
if event.action == stem.HSDescAction.UPLOAD and event.address == response.service_id:
directories_uploaded_to.append(event.directory_fingerprint)
@@ -3389,23 +3399,29 @@ class Controller(BaseController):
return circuits
- def new_circuit(self, path = None, purpose = 'general', await_build = False):
+ def new_circuit(self, path = None, purpose = 'general', await_build = False, timeout = None):
"""
Requests a new circuit. If the path isn't provided, one is automatically
selected.
+ .. versionchanged:: 1.7.0
+ Added the timeout argument.
+
:param list,str path: one or more relays to make a circuit through
:param str purpose: 'general' or 'controller'
:param bool await_build: blocks until the circuit is built if **True**
+ :param float timeout: seconds to wait when **await_build** is **True**
:returns: str of the circuit id of the newly created circuit
- :raises: :class:`stem.ControllerError` if the call fails
+ :raises:
+ * :class:`stem.ControllerError` if the call fails
+ * :class:`stem.Timeout` if **timeout** was reached
"""
- return self.extend_circuit('0', path, purpose, await_build)
+ return self.extend_circuit('0', path, purpose, await_build, timeout)
- def extend_circuit(self, circuit_id = '0', path = None, purpose = 'general', await_build = False):
+ def extend_circuit(self, circuit_id = '0', path = None, purpose = 'general', await_build = False, timeout = None):
"""
Either requests the creation of a new circuit or extends an existing one.
@@ -3425,11 +3441,15 @@ class Controller(BaseController):
20 EXTENDED $718BCEA286B531757ACAFF93AE04910EA73DE617=KsmoinOK,$649F2D0ACF418F7CFC6539AB2257EB2D5297BAFA=Eskimo BUILD_FLAGS=NEED_CAPACITY PURPOSE=GENERAL TIME_CREATED=2012-12-06T13:51:11.433755
19 BUILT $718BCEA286B531757ACAFF93AE04910EA73DE617=KsmoinOK,$30BAB8EE7606CBD12F3CC269AE976E0153E7A58D=Pascal1,$2765D8A8C4BBA3F89585A9FFE0E8575615880BEB=Anthracite PURPOSE=GENERAL TIME_CREATED=2012-12-06T13:50:56.969938
+ .. versionchanged:: 1.7.0
+ Added the timeout argument.
+
:param str circuit_id: id of a circuit to be extended
:param list,str path: one or more relays to make a circuit through, this is
required if the circuit id is non-zero
:param str purpose: 'general' or 'controller'
:param bool await_build: blocks until the circuit is built if **True**
+ :param float timeout: seconds to wait when **await_build** is **True**
:returns: str of the circuit id of the created or extended circuit
@@ -3437,6 +3457,7 @@ class Controller(BaseController):
* :class:`stem.InvalidRequest` if one of the parameters were invalid
* :class:`stem.CircuitExtensionFailed` if we were waiting for the circuit
to build but it failed
+ * :class:`stem.Timeout` if **timeout** was reached
* :class:`stem.ControllerError` if the call fails
"""
@@ -3445,6 +3466,7 @@ class Controller(BaseController):
# we then can't get the failure if it can't be created.
circ_queue, circ_listener = queue.Queue(), None
+ start_time = time.time()
if await_build:
def circ_listener(event):
@@ -3488,7 +3510,7 @@ class Controller(BaseController):
if await_build:
while True:
- circ = circ_queue.get()
+ circ = _get_with_timeout(circ_queue, timeout, start_time)
if circ.id == new_circuit:
if circ.status == CircStatus.BUILT:
@@ -3995,3 +4017,22 @@ def _case_insensitive_lookup(entries, key, default = UNDEFINED):
return entry
raise ValueError("key '%s' doesn't exist in dict: %s" % (key, entries))
+
+
+def _get_with_timeout(event_queue, timeout, start_time):
+ """
+ Pulls an item from a queue with a given timeout.
+ """
+
+ if timeout:
+ time_left = time.time() - start_time - timeout
+
+ if time_left <= 0:
+ raise stem.Timeout('Reached our %0.1f second timeout' % timeout)
+
+ try:
+ return event_queue.get(time_left)
+ except event_queue.Queue.Empty:
+ raise stem.Timeout('Reached our %0.1f second timeout' % timeout)
+ else:
+ return event_queue.get()
diff --git a/test/unit/control/controller.py b/test/unit/control/controller.py
index e7b014b9..d8e1cc9d 100644
--- a/test/unit/control/controller.py
+++ b/test/unit/control/controller.py
@@ -606,8 +606,21 @@ class TestControl(unittest.TestCase):
self.controller.add_event_listener(Mock(), EventType.BW)
# EventType.SIGNAL was added in tor version 0.2.3.1-alpha
+
self.assertRaises(InvalidRequest, self.controller.add_event_listener, Mock(), EventType.SIGNAL)
+ @patch('stem.control.Controller.get_version', Mock(return_value = stem.version.Version('0.5.0.14')))
+ @patch('stem.control.Controller.msg', Mock(return_value = ControlMessage.from_str('250 OK\r\n')))
+ @patch('stem.control.Controller.add_event_listener', Mock())
+ @patch('stem.control.Controller.remove_event_listener', Mock())
+ def test_timeout(self):
+ """
+ Methods that have an 'await' argument also have an optional timeout. Check
+ that we raise a Timeout exception when it's elapsed.
+ """
+
+ self.assertRaisesRegexp(stem.Timeout, 'Reached our 0.1 second timeout', self.controller.get_hidden_service_descriptor, '5g2upl4pq6kufc4m', await_result = True, timeout = 0.1)
+
def test_get_streams(self):
"""
Exercises the get_streams() method.
1
0

[translation/support-connecting] Update translations for support-connecting
by translation@torproject.org 10 May '18
by translation@torproject.org 10 May '18
10 May '18
commit d0a2630acaeec1d4efafe0dcd083e44fac4d25f2
Author: Translation commit bot <translation(a)torproject.org>
Date: Thu May 10 14:19:06 2018 +0000
Update translations for support-connecting
---
pt_BR.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pt_BR.json b/pt_BR.json
index b9cc3f9b8..222d00ffd 100644
--- a/pt_BR.json
+++ b/pt_BR.json
@@ -2,7 +2,7 @@
"connecting-1": {
"id": "#conectando-1",
"control": "conectando-1",
- "title": "O Tor Browser não está funcionando, mas não parece ser algo relacionado à censura.",
+ "title": "O Tor Browser não está funcionando, mas não parece ser algo relacionado a censura.",
"description": "<p class=\"mb-3\">Um dos problemas mais comuns que causa erros de conexão no Navegador Tor é um relógio do sistema incorreto. Por favor, certifique-se de que o relógio do sistema e o fuso horário estejam definidos com precisão. Se isso não resolver o problema, consulte a página Solução de Problemas no manual do Navegador Tor</a></mark>.</p>"
},
"connecting-2": {
1
0

[translation/tor-browser-manual_completed] Update translations for tor-browser-manual_completed
by translation@torproject.org 10 May '18
by translation@torproject.org 10 May '18
10 May '18
commit dc7f76909ed0979680de3b63b62d451f16dff2b5
Author: Translation commit bot <translation(a)torproject.org>
Date: Thu May 10 14:18:54 2018 +0000
Update translations for tor-browser-manual_completed
---
pt_BR/pt_BR.po | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pt_BR/pt_BR.po b/pt_BR/pt_BR.po
index 2c19a341c..1028b5b39 100644
--- a/pt_BR/pt_BR.po
+++ b/pt_BR/pt_BR.po
@@ -1083,7 +1083,7 @@ msgid ""
"connecting to <link href=\"http://3g2upl4pq6kufc4m.onion/\">DuckDuckGo's "
"Onion Service</link>"
msgstr ""
-"Você pode garantir o seu acesso a outros serviços onion conectando-se ao "
+"Para garantir seu acesso a outros serviços onion, você pode se conectar aos "
"<link href=\"http://3g2upl4pq6kufc4m.onion/\">Serviços Onion do "
"DuckDuckGo</link>"
1
0

[translation/tor-browser-manual] Update translations for tor-browser-manual
by translation@torproject.org 10 May '18
by translation@torproject.org 10 May '18
10 May '18
commit 55efc3b70ea7ea86f5d1964845e0bfeb1f45a477
Author: Translation commit bot <translation(a)torproject.org>
Date: Thu May 10 14:18:46 2018 +0000
Update translations for tor-browser-manual
---
pt_BR/pt_BR.po | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pt_BR/pt_BR.po b/pt_BR/pt_BR.po
index 2c19a341c..1028b5b39 100644
--- a/pt_BR/pt_BR.po
+++ b/pt_BR/pt_BR.po
@@ -1083,7 +1083,7 @@ msgid ""
"connecting to <link href=\"http://3g2upl4pq6kufc4m.onion/\">DuckDuckGo's "
"Onion Service</link>"
msgstr ""
-"Você pode garantir o seu acesso a outros serviços onion conectando-se ao "
+"Para garantir seu acesso a outros serviços onion, você pode se conectar aos "
"<link href=\"http://3g2upl4pq6kufc4m.onion/\">Serviços Onion do "
"DuckDuckGo</link>"
1
0

[translation/support-tbb] Update translations for support-tbb
by translation@torproject.org 10 May '18
by translation@torproject.org 10 May '18
10 May '18
commit e16d064e010e398cd66e039fa170556e27dd2fe7
Author: Translation commit bot <translation(a)torproject.org>
Date: Thu May 10 13:49:44 2018 +0000
Update translations for support-tbb
---
id.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/id.json b/id.json
index d9ed56dfc..02e0cce73 100644
--- a/id.json
+++ b/id.json
@@ -249,7 +249,7 @@
"id": "#tbb-41",
"control": "tbb-41",
"title": "Kenapa mesin pencari Saya berubah menjadi DuckDuckGo?",
- "description": "<p class=\"mb-3\">With the release of Tor Browser 6.0.6, we switched to DuckDuckGo as the primary search engine. For a while now, Disconnect has had no access to Google search results which we used in Tor Browser. Disconnect being more of a meta search engine which allows users to choose between different search providers fell back to delivering Bing search results which were basically unacceptable quality-wise.</p>"
+ "description": "<p class=\"mb-3\">Pada rilis Tor Browser 6.0.6, kami pindah ke DuckDuckGo sebagai mesin pencari utama. Sudah beberapa lama ini, Disconnect tidak dapat mengakses hasil pencarian Google yang kami gunakan di Tor Browser. Disconnect adalah mesin pencari meta yang membuat pengguna memilih mesin pencari yang berbeda, yang seringnya mengambil hasil cari dari Bing, yang kualitasnya diragukan.</p>"
},
"tbb-42": {
"id": "#tbb-42",
1
0

[tor/maint-0.3.2] hs-v3: Add an extra white-space when parsing descriptor
by nickm@torproject.org 10 May '18
by nickm@torproject.org 10 May '18
10 May '18
commit 6e99286d45be482effe47feb057948b98495a49f
Author: David Goulet <dgoulet(a)torproject.org>
Date: Thu May 10 09:16:50 2018 -0400
hs-v3: Add an extra white-space when parsing descriptor
The specification describes the signature token to be right after a newline
(\n) then the token "signature" and then a white-space followed by the encoded
signature.
This commit makes sure that when we parse the signature from the descriptor,
we are always looking for that extra white-space at the end of the token.
It will allow us also to support future fields that might start with
"signature".
Fixes #26069
Signed-off-by: David Goulet <dgoulet(a)torproject.org>
---
changes/bug26069 | 5 +++++
src/or/hs_descriptor.c | 2 +-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/changes/bug26069 b/changes/bug26069
new file mode 100644
index 000000000..192e97d78
--- /dev/null
+++ b/changes/bug26069
@@ -0,0 +1,5 @@
+ o Minor bugfixes (hidden service v3):
+ - When parsing the descriptor signature, look for the token plus an extra
+ white-space at the end. This is more correct but also will allow us to
+ support new fields that might start with "signature". Fixes bug 26069;
+ bugfix on 0.3.0.1-alpha.
diff --git a/src/or/hs_descriptor.c b/src/or/hs_descriptor.c
index fae527b2d..3ec02618b 100644
--- a/src/or/hs_descriptor.c
+++ b/src/or/hs_descriptor.c
@@ -1849,7 +1849,7 @@ desc_sig_is_valid(const char *b64_sig,
}
/* Find the start of signature. */
- sig_start = tor_memstr(encoded_desc, encoded_len, "\n" str_signature);
+ sig_start = tor_memstr(encoded_desc, encoded_len, "\n" str_signature " ");
/* Getting here means the token parsing worked for the signature so if we
* can't find the start of the signature, we have a code flow issue. */
if (!sig_start) {
1
0

10 May '18
commit 7ee67c47fae2263e8c4f5599e0fbba6531738120
Merge: 15b8c860d 2d61a8351
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Thu May 10 09:22:32 2018 -0400
Merge branch 'maint-0.3.1' into maint-0.3.2
changes/bug26069 | 5 +++++
src/or/hs_descriptor.c | 2 +-
2 files changed, 6 insertions(+), 1 deletion(-)
1
0

[tor/maint-0.3.1] hs-v3: Add an extra white-space when parsing descriptor
by nickm@torproject.org 10 May '18
by nickm@torproject.org 10 May '18
10 May '18
commit 6e99286d45be482effe47feb057948b98495a49f
Author: David Goulet <dgoulet(a)torproject.org>
Date: Thu May 10 09:16:50 2018 -0400
hs-v3: Add an extra white-space when parsing descriptor
The specification describes the signature token to be right after a newline
(\n) then the token "signature" and then a white-space followed by the encoded
signature.
This commit makes sure that when we parse the signature from the descriptor,
we are always looking for that extra white-space at the end of the token.
It will allow us also to support future fields that might start with
"signature".
Fixes #26069
Signed-off-by: David Goulet <dgoulet(a)torproject.org>
---
changes/bug26069 | 5 +++++
src/or/hs_descriptor.c | 2 +-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/changes/bug26069 b/changes/bug26069
new file mode 100644
index 000000000..192e97d78
--- /dev/null
+++ b/changes/bug26069
@@ -0,0 +1,5 @@
+ o Minor bugfixes (hidden service v3):
+ - When parsing the descriptor signature, look for the token plus an extra
+ white-space at the end. This is more correct but also will allow us to
+ support new fields that might start with "signature". Fixes bug 26069;
+ bugfix on 0.3.0.1-alpha.
diff --git a/src/or/hs_descriptor.c b/src/or/hs_descriptor.c
index fae527b2d..3ec02618b 100644
--- a/src/or/hs_descriptor.c
+++ b/src/or/hs_descriptor.c
@@ -1849,7 +1849,7 @@ desc_sig_is_valid(const char *b64_sig,
}
/* Find the start of signature. */
- sig_start = tor_memstr(encoded_desc, encoded_len, "\n" str_signature);
+ sig_start = tor_memstr(encoded_desc, encoded_len, "\n" str_signature " ");
/* Getting here means the token parsing worked for the signature so if we
* can't find the start of the signature, we have a code flow issue. */
if (!sig_start) {
1
0

[tor/maint-0.3.1] Merge remote-tracking branch 'dgoulet/bug26069_031_01' into maint-0.3.1
by nickm@torproject.org 10 May '18
by nickm@torproject.org 10 May '18
10 May '18
commit 2d61a83513d4537735843f50c1766c224dd86183
Merge: ba7043921 6e99286d4
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Thu May 10 09:22:14 2018 -0400
Merge remote-tracking branch 'dgoulet/bug26069_031_01' into maint-0.3.1
changes/bug26069 | 5 +++++
src/or/hs_descriptor.c | 2 +-
2 files changed, 6 insertions(+), 1 deletion(-)
1
0