1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882
  
     | 
    
      commit af306b53a668168ae92a6c919d4013b81d7e61ad
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Fri Jun 17 17:29:43 2011 -0700
    Rename make_connection to preauth_connect and export it.
commit 0ec171e6e0286b84802d09d399f7ff620dc37803
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Fri Jun 17 16:29:36 2011 -0700
    Rename connectionComp and export ns_body_iter.
commit 5b73e36159cab89d76f481047f8524e8e9938ed5
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Fri Jun 17 16:24:50 2011 -0700
    Add iterator support to get_consensus().
    
    Also rename getIterator to get_iterator.
commit cb62cf7c70982b83c2d480e55843e098d42ed697
Merge: 8554340 3c6a326
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Fri Jun 17 16:10:45 2011 -0700
    Merge remote branch 'atagar/bug2812'
commit 3c6a3268326d928474b4a1093cf74a2c32898208
Merge: 42b5f0e 40f7cbc
Author: Damian Johnson <atagar@torproject.org>
Date:   Thu Jun 16 19:15:38 2011 -0700
    Merge commit '40f7cbc' into bug2812
    
    Conflicts:
    	TorUtil.py
commit 8554340f34309af293ced771be9634887cef2568
Merge: 257fedb 42b5f0e
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Thu Jun 16 18:50:56 2011 -0700
    Merge branch 'bug2812'
commit 42b5f0e536089a0a509bac0403155466881b7c2f
Author: Damian Johnson <atagar@torproject.org>
Date:   Thu Jun 16 18:45:57 2011 -0700
    Removing socket timeout for thread wakeup
    
    The shutdown added in this branch wakes the socket so there's no need for the
    loop we previously had.
commit 40f7cbc50d460d8e3e11669827108bfb912ab3bf
Author: Damian Johnson <atagar@torproject.org>
Date:   Thu Jun 16 18:15:05 2011 -0700
    Closing connection in case of auth failure
    
    When authentication failed in TorCtl.connect() the abandoned connection wasn't
    being closed.
commit 565e18a6ff6189dd11d8a43ca77eed287743b479
Author: Damian Johnson <atagar@torproject.org>
Date:   Thu Jun 16 07:50:58 2011 -0700
    TorCtl connect method inflexible
    
    The connect method is a nice helper for cli initiation, but lacks sufficient
    call visibility to help in more general use cases. In particular it...
    - sends feedback to stdout
    - prompts for the controller password on stdin
    - suppresses exceptions
    
    To get around this I'm adding a more generic 'connectionComp' that does the
    icky bits of the connection negotiation I was trying to hide while still giving
    the caller what it needs to handle the connection process however it'd like.
    
    Tested by exercising the connect functionality with cookies, password, and
    connection components to handle my TBB cookie auth renegotiation fix.
commit 45d7753b7c947b141210017d1b987673c51d97c5
Author: Damian Johnson <atagar@torproject.org>
Date:   Wed Jun 15 19:27:12 2011 -0700
    Option to get get_network_status as an iterator
    
    Setting the 'getIterator' argument drops the memory usage of calling
    get_network_status by 71% (from 3.5 MB to 1 MB). This is still higher than what
    I was expecting from a generator, though certainly much better.
    
    Unfortunately this didn't have an impact on the ConsensusTracker. The memory
    usage from its constructor dwarfs anything else I've looked at (18.8 MB) and
    didn't drop like I'd expect when consensus_only was false. :(
commit e76418e507319887626b9d3921bdc0ac44b28e76
Author: Damian Johnson <atagar@torproject.org>
Date:   Mon Jun 13 09:50:13 2011 -0700
    Handling for connections to non-control sockets
    
    When we attempt to initiate a control connection to a non-control port (for
    instance tor's socks port instead)...
    - the socket shutdown issues an error since it's not connected yet
    - checking the authentication type fails with a TorCtlClosed rather than error
      reply
    
    For more information see bug 2580.
commit 9de33409bb240d8fe50e135dfb895536dc6a45bd
Author: Damian Johnson <atagar@torproject.org>
Date:   Mon Jun 13 09:30:42 2011 -0700
    Unblocking waits for a response when we error
    
    When the signal sent by _sendImpl causes the control connection to close we
    block indefinitely waiting for a response. For more information see bug 1329.
commit 257fedbbe7b4e8f066ba570773bb2f2afbca6dc4
Author: Damian Johnson <atagar@torproject.org>
Date:   Sun Jun 12 22:02:14 2011 -0700
    Replacing old TorCtl example with a BW listener
    
    Event listening, particularly BW events, is a common request on irc so using it
    as the TorCtl example. For more information see bug 2065.
commit 477c1bcde44e92243bf061f565d9403fa8e31276
Author: Damian Johnson <atagar@torproject.org>
Date:   Sun Jun 12 21:41:09 2011 -0700
    Shutting down sockets when closed
    
    Each TorCtl instance spawned a socket that would continue to live for the life
    of the python process. For more information see ticket 2812.
commit 4824d623487e0d305029ea46326eba94b4e4b738
Author: Damian Johnson <atagar@torproject.org>
Date:   Sun Jun 12 20:40:49 2011 -0700
    Removing indefinite blocking on socket recv
    
    When shutting down we can't join on _thread unless the socket receives data
    because we didn't have a timeout. This issues a 20 ms timeout on socket reads
    and cleans up _thread when we close.
commit b99ecc1de55cdefbcd803e267d2635534ff9e511
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Mon Mar 7 18:10:41 2011 -0800
    Fix some issues with SmartSocket.
    
    Also remove some traceback debugging statements.
commit 6eeffeb4f20aefb2f859a9f5754c34342abc307e
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Thu Mar 3 01:38:15 2011 -0800
    Try to catch an AttributeError early..
    
    It may be silently killing the bwauths on some platforms..
commit 14c250dbd97c98a439eb67cb1ab5a28527d02333
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Fri Feb 25 18:44:52 2011 -0800
    Damnit all to hell.
commit b334a18c8c5b4d8c8ffb5609c6dd1414813aeb30
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Fri Feb 25 18:36:20 2011 -0800
    Use isinstance rather than "is type()" for type checks.
commit 1104d88407c1735b476ec67bc680f7a7cde9069d
Merge: 96133c8 343931a
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Fri Feb 25 17:59:52 2011 -0800
    Merge remote branch 'chiiph/master'
commit 343931ac548809b8c3e93c5aa6e60a292553ea3d
Author: Tomas Touceda <chiiph@gentoo.org>
Date:   Fri Feb 25 22:27:23 2011 -0300
    logfile can be unicode too
commit 96133c805d3e5402f6444e71a4555c6b410986e7
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Thu Feb 24 03:49:05 2011 -0800
    Fix a python 2.5 traceback in recent 'body' commit.
commit dca4b5ea561b9fe69f8b73e89639c8045ec6abba
Merge: 62e4705 b71e657
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Wed Feb 23 19:23:12 2011 -0800
    Merge branch 'chiiph'
commit b71e657f13294741d7b6203e587337f677610d14
Author: Tomas Touceda <chiiph@gentoo.org>
Date:   Thu Feb 24 00:20:56 2011 -0300
    Add gitignore and status returns set_option(s) and reset_options
commit 62e470554c12e3fa0edd948d8f2c7c7a02217635
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Wed Feb 23 11:10:27 2011 -0800
    Add a body field to all events.
    
    Useful to grab the original raw event for debugging/logging.
commit 7329ceb4fe44c3557742ea596aeca7ea5f9e76f7
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Sun Jan 30 00:37:52 2011 -0800
    Allow outside access to loglevels map.
commit 93f0f625e5deab79002dac2d39a4ea3ecaaa2f8e
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Mon Dec 6 12:58:07 2010 -0800
    Add some minimal support for extrainfo documents.
commit 4ec2e2be581c5b4adb25992c33fcae6e1b9f3bdc
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Thu Nov 18 11:48:47 2010 -0800
    Add LICENSE file and update copyrights.
commit 8af9a7cb6386ec8b1a751a1d96fe3bd448fc4112
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Tue Nov 9 21:52:28 2010 -0800
    Demote nickname change log message.
commit f5a9e9b5f62659fd227705c2b9a7a09db638c66d
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Tue Oct 5 14:10:51 2010 -0700
    Kill some noisy debug logs.
commit e7610e7c0e4659b9f60b5b1ef106e33b7d7b675b
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Sun Oct 3 14:21:22 2010 -0700
    Only require sqlalchemy if we really need it.
commit 3972639c49844ff77cd3175671357b47669526ce
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Mon Sep 27 14:34:19 2010 -0700
    Alter ConsensusTracker to actually track the consensus.
    
    It was tracking the Tor client's notion of the consensus, in a poor way. It
    now can do one or the other, depending on constructor option.
    
    Also, add some APIs that are helpful for torperf.
commit 0233a9797364a17bf95f71fe56b9aa029ecb24c6
Merge: befe9af 6a2885f
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Thu Aug 26 02:18:29 2010 -0700
    Merge branch 'atagar-connect'
commit befe9af010bb8f43d46079df7ec3dff230b9ac4d
Author: Harry Bock <hbock@ele.uri.edu>
Date:   Tue Aug 24 11:03:34 2010 -0400
    Fix the Python 2.4 fix.
    
    Oops - apparently I used a Python 2.5ism in trying to remove a
    Python 2.5ism :)
commit 6a2885fa4f517c74ec0a79ee22a5333dc3a87b0f
Author: Damian Johnson <atagar@torproject.org>
Date:   Wed Aug 25 09:38:04 2010 -0700
    Convenience functions for creating and authenticating TorCtl connections.
commit 15681037f939aea3dec625615401fd13435f1cc9
Author: Harry Bock <hbock@ele.uri.edu>
Date:   Sun Aug 22 22:13:36 2010 -0400
    Fix Python 2.4 compatibility.
    
    Commit 33bf5a0a4a9 broke python 2.4 compat by using string.partition(),
    introduced in Python 2.5.  Use string.split() instead.
commit c514a0a7105cebe7cc5fa199750b90369b820bfb
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Fri Aug 20 20:23:13 2010 -0700
    Obey some laws.
    
    Now that copyright infringement is the #1 priority of the FBI,
    we need to stop doing quite so much of it.
commit 737fbe35724f31d11529f7adea3a2a20c01378cb
Author: Harry Bock <hbock@ele.uri.edu>
Date:   Mon Aug 9 02:14:33 2010 -0400
    Fix Tor version regular expression.
    
    Need to escape the dot character to get the intended
    behavior.
commit 33bf5a0a4a9308d76c2ebc6392f82bbb3b857e0d
Author: Harry Bock <hbock@ele.uri.edu>
Date:   Mon Aug 9 02:13:15 2010 -0400
    Improve TorCtl descriptor processing speed.
    
    By only running one regular expression per descriptor line and
    performing a slightly better way of checking which line type
    we're handling, we cut the run time of build_from_desc in half.
commit 55071c4f19934db703a2beeea4f8968bae636dc1
Author: Harry Bock <hbock@ele.uri.edu>
Date:   Sun Aug 1 21:29:54 2010 -0400
    Expose status code and message separately in ErrorReply.
    
    Allow callers to handle a specific status code as an integer as well as
    the associated message within an ErrorReply exception.  Should be API-compatible
    as the associated keyword arguments are popped from the **kwarg dict before
    being passed to the parent exception class.
commit 834ee75419ca4200ab33621d8c7f01fa1d87609f
Author: Harry Bock <hbock@ele.uri.edu>
Date:   Sun Aug 1 21:18:23 2010 -0400
    Don't ignore unknown exceptions raised by get_router.
    
    If an unknown exception is raised on one NS document during
    read_routers, it's very likely it's going to be raised again on the
    next, and the next... (e.g., TorCtlClosed).
    
    Instead of printing out the traceback and continuing, allow it to
    unwind the stack and let the caller handle it.
commit 6570597de4080595ecb7849de1ea2b228306c772
Author: Harry Bock <hbock@ele.uri.edu>
Date:   Fri Jul 23 22:47:31 2010 -0400
    Implement Python logging support for plog().
    
    This patch converts plog() to map to Python's logging module without
    changing API compatibility.  If an application wishes to integrate
    its own Python logger with TorCtl, it can call TorUtil.plog_use_logger
    with the name of the desired logger.  Otherwise, TorUtil will create
    its own logger that retains its original log format and emission behavior.
    
    This patch retains the standard plog() loglevels and maps them to
    logging constants where appropriate.
commit eb3bc228225c44fb51c1c3a9cd79854aa3177348
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Tue Aug 10 05:19:54 2010 -0700
    Fix a couple more exceptions.
commit 2ed625aed4db8a6fb7f8823312b79da8f7a62bbb
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Tue Aug 10 04:09:46 2010 -0700
    Spurious len() call..
commit e6bb19ac8021ea6198976689536b78b6d74be8da
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Tue Aug 10 03:21:00 2010 -0700
    Add log message for arma's bug..
commit cb91046748c407ddf477bb28adf14ab0b4a4242b
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Tue Aug 10 03:01:55 2010 -0700
    Develop a better method to wait for consensus.
    
    Do not return from wait_for_consensus unless we have at least 95% of all of
    our router descriptors.
    
    Also, sanity check that we aren't storing waay too many router descriptors.
commit c5da28fbf71b4676ecbb264c50349605d97bfc79
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Wed Jul 14 00:11:47 2010 -0700
    Hrmm, this should have been DateTime all along..
commit 3d5f402e9f57e327e8c46b679baf53b8f8fca332
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Fri Jul 2 22:04:16 2010 -0700
    Add uptime restriction.
commit 0cc2a8e0eeba48e6780f6079a29fe5574ed4f381
Author: Forgot to set <forgot@tosetit>
Date:   Wed Jun 23 00:16:18 2010 -0700
    Use labels for another Router query...
    
    I should really figure out why this is happening, and which other queries
    might need this... SQLAlchemy said we needed it on this line (in some rare
    case - not always). Possible SQLAlchemy bug/corruption?
commit ff4373fbce9e4283070363d6bb6e034b296c4a58
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Mon Jun 7 14:54:39 2010 -0700
    Handle Tor bug #1525: allow new streams to have a non-zero circ id.
commit 12f8114c00fa3e461b773ee2434f434955c3bd14
Author: Harry Bock <hbock@ele.uri.edu>
Date:   Sat May 29 00:23:40 2010 -0400
    Fix IP address regular expression in ExitPolicyLine.__init__
    
    Previous expression "\d+.\d+.\d+.\d+" matches many many things which are
    probably not intended.  Use "(\d{1,3}\.){3}\d{1,3}$" instead and compile it for
    efficiency.
commit d96f599c6ceeb3ae5e3dfd6f5497fb9003042267
Author: Harry Bock <hbock@ele.uri.edu>
Date:   Sat May 29 00:16:59 2010 -0400
    Fix determination of netmask from CIDR prefix length.
    
    ExitPolicyLine parses IP/netmask combinations and supports CIDR notation.
    The previous method for calculating an IPv4 netmask from a CIDR prefix length
    causes the result to exceed 32 bits, but the result is never truncated,
    causing a DeprecationWarning on 64-bit platforms when the integer is packed.
    
    Use a better method for the calculation that always fits in 32 bits.
commit cc46e4c197542dda83fed669cf5787056288bbb6
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Sun May 30 18:55:11 2010 -0700
    Update README with python TorCtl version.
commit 0050c2d8e0a0ec09e6c020277700d2919fee68dd
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Fri May 28 21:32:33 2010 +0000
    Update the __all__ list so that BaseSelectionManager shows up in pydoc.
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@22439 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit f84e30525a21ead9e71c7a781d6f9c95e3bd1da5
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sun May 23 04:13:21 2010 +0000
    Patch from Harry Bock to eliminate deprecation warnings on
    Python 2.5+.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@22379 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit dfcfebbc12b9ce5530a5aab273a9ba903c5b2b6b
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat May 22 23:07:09 2010 +0000
    Alter launch_thread() to return the EventHandler thread, as
    this provides a more reliable indication as to when we are
    done processing events on the connection.
    
    For some reason python's socket.close() does not cause a
    concurrent blocking readline() to return immediately.. This
    prevents the 'TorThread' (the _loop() thread) from
    terminating until more data arrives.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@22378 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 765501122935bb2d3c6e9ceee21d14e4928b0476
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Fri May 21 21:36:45 2010 +0000
    Include queue delay in some of our log messages. Trying to
    track down a rare bw authority stall bug that may be related
    to excessive server load/queue delay.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@22376 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit fb7ae0dca3e95c17f4454a7a77c3de1683e398a6
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Mar 2 01:05:18 2010 +0000
    Try to warn on missing descriptors, and also give Tor more
    time to fetch them.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@21779 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 37c06aabcbeaf00af9564ca0e993591db61529d0
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sun Feb 21 00:12:01 2010 +0000
    Handle the return of an empty network status doc.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@21710 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit de4bdfb15406aba18205930d66d4eb74931643f3
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Thu Feb 18 07:55:34 2010 +0000
    Stop recording OS. It can have junk in it that SQLAlchemy
    hates.
    
    Also wait a bit more for stray descriptors to arrive before
    deciding to update our consensus statistics.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@21685 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 70e51d58d5bf6d0ce14bad42470978ef6ae1a97f
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Wed Jan 13 21:40:11 2010 +0000
    Add extra pareto info to BUILDTIMEOUT_SET events.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@21409 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 2b7752f2fdd98b1bef97378d052c437638e75a3b
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon Jan 11 19:49:09 2010 +0000
    Add support for GUARD event.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@21401 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 11926fe2e48cbe4f31d4a76d6fd8078a46e60591
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Thu Dec 17 09:54:07 2009 +0000
    Attempt to fix/workaround odd hang bug when we run out of exits.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@21242 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 077858ebee88fc84aab434cb9dfe15e622b49879
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sun Dec 6 18:28:11 2009 +0000
    Demote orhash mismatch notice to info. Can happen
    occasionally during consensus updates.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@21104 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 07b4e5855df8bc9701b5f17f7fffdd6b5ad635a8
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon Sep 14 10:41:54 2009 +0000
    Quote SETCONF option values to allow values with spaces.
    Found+fixed by ShanePancake.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@20559 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit f8290cc23d8bea42ce90ea843443b62867f300bb
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sun Sep 13 05:07:35 2009 +0000
    Add support for storing descriptor bandwidth values in
    addition to consensus values.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@20540 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 5df55c13838007de4702233a8bafe2ae839736d1
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Thu Sep 10 22:06:24 2009 +0000
    Fix sqlalchemy backtrace by adding a "use_labels" (actually
    with_labels()) option to one of the queries it crashed out
    on. The backtrace is rare, so who knows if this is the real
    fix. It at least doesn't seem to break things though.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@20522 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit a12ebe1a161c12e7861a0212bab8de3efce34963
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Wed Sep 9 08:15:07 2009 +0000
    Add the ability to filter out streams from other
    sources.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@20512 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit a425b92df2c7b6244e6d552249162c8a9f13638c
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Wed Sep 9 08:00:16 2009 +0000
    Kill the interpreter if one of the TorCtl threads
    error out. Rude, but knowing is better than not.
    
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@20511 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 97dcfbfefa93014df3de9b6eb7cc0f197f90b33b
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Sep 8 20:58:42 2009 +0000
    Try to be better about dying if TorCtl is horked.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@20507 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit e838597252f2fcaf0c3d1329e63f33bd9560ed49
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Sep 8 19:31:53 2009 +0000
    Fix an exception crash on stream closing and kill a WARN.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@20502 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 707c4fa5e7cdd8a41c32d7244c2a5ea921bccc1c
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat Aug 15 17:39:22 2009 +0000
    Fix a NoneTypeException due to logging.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@20315 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 2040c681d5ccab6a9f374ae77f189a9153af0401
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Fri Aug 14 21:43:11 2009 +0000
    Add some debug mssages dealing with exit setting.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@20293 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 831bbc4ab0d0c21b6c64f9a5ca657c463881552e
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Thu Aug 13 19:43:11 2009 +0000
    Initial scansupport component commit.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@20281 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 945a294ac44893a90dd4938c9e7b0996162fb04e
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Thu Aug 13 19:40:01 2009 +0000
    Remove some tabs.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@20280 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 5d192d81adbe5ae4fe8c3d7f22b325d83572d0ec
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Wed Jul 15 04:15:18 2009 +0000
    Simplify filtering step to just be >= mean.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@20023 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit b555b6e178e3b61c0a94cfd1c4fdc15c425c51f9
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Jul 14 05:05:46 2009 +0000
    Remove datetime.datetime.strptime usage. It didn't exist in
    python 2.4. Also commit #20000 ftw.
    
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@20000 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit d709f1a525bdc09ac1b381a0d865d70d8ef09d89
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Wed Jul 1 19:50:47 2009 +0000
    Change 1024 multiplier to 1000 for networkstatus sourced
    bandwidths, as this is the New Kilobyte.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19889 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 105c5c56ab2ae60546f60c61e879982126bc12ca
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Wed Jun 24 04:20:12 2009 +0000
    Change the refcount debugging stuff to work recursively to
    arbitrary depth, though more than 2 is pretty damn slow.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19806 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 020bd4891213a1012726360ef7a7b03e89536efa
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sun Jun 21 02:49:56 2009 +0000
    Add a routine to check reference counts of all class
    instances and produce stats on which classes hold them
    to help narrow in on why our memory usage keeps going
    up over time.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19752 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 19d3a04de4b738d894c04757c91789aec29b1b5d
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon Jun 15 10:01:26 2009 +0000
    Comment about conserving exits in selection manager.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19719 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit a7570aa6330f8e4d1bc45ecd5627fcf1d7601ecc
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sun Jun 14 02:39:33 2009 +0000
    Capture the entire OS string when parsing descriptors.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19715 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 8bf96453f60357147633b7ee0ada55a75ce98fd8
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Wed Jun 10 15:07:06 2009 +0000
    Better conserve exits, and also include nodes without a Valid
    flag by default.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19696 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 2751d00f7f8fb73f54e641d64f174bb849c5bbe3
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon Jun 8 05:04:49 2009 +0000
    Preserve UTC timezone info on the 'published' member of
    Router.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19658 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit bfa62e36a20dd2569a28a07cc5f4815f865ff91d
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Fri Jun 5 12:23:45 2009 +0000
    Add support for a display filter independent of stats and
    other filters.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19633 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 25a0199adde114542a208f44f315b2eee09ce609
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Fri Jun 5 01:31:16 2009 +0000
    Fix infinite loop that can be caused by ExactUniformGenerator.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19628 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 65497aac558a0b3f12bbe85bfd9c22d5a868cc55
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Wed Jun 3 20:31:16 2009 +0000
    DIAF SQLAlchemy. A token gesture at backwards compatibility
    wouldn't kill you, you know. Or at the very least, don't spit
    stupid depricated warnigns at me when you do break it
    needlessly and leave me with no other choice but to special
    case for each version.
    
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19624 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 089d7fdbccaaac0b99b01223577d1037fc44a6c3
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Jun 2 21:14:29 2009 +0000
    Prevent _generated from getting overwritten on router update.
    Add a log line to let us know when we reset the _generated
    stats. Relocate a session.clear() to before we drop tables,
    which is better practice.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19618 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 13c4b1bee222b6229a518852d6694e94541cd154
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Jun 2 08:33:48 2009 +0000
    Fix a memory leak with ignored streams, and also don't try to
    close them. Also change flags to only use "Fast" nodes.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19614 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 444e3c08dd30a1b9454c2f06d79cb02fca1014eb
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Jun 2 08:31:26 2009 +0000
    Fix SQLAlchemy consistency error exception. Droping tables
    does not automatically trigger their relations to get
    dropped..
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19613 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 0822b12d7ac238238da7b16c228759e3ef10425b
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Jun 2 08:30:25 2009 +0000
    Fix NEWDESC compatibility with Tor pre v0.2.2
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19612 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit e8c08bdfb1252d04b245e622e04e64316a788dca
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat May 30 10:10:08 2009 +0000
    Support new verbose names. And by support, I mean parse and
    then disregard. Turns out I really don't care what these
    things choose to call themselves at the time of the event.
    That's what the consensus is for.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19596 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 69f41a2d289fb14415a794ba276cde872b14aee7
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat May 30 05:32:18 2009 +0000
    Allow jobs to stop the "run all jobs" loop..
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19592 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit ec4105d02abad3d8a13ce0ed7041d17dbc909485
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat May 30 04:44:59 2009 +0000
    Fix issue with reset_all() and add a method to prevent the
    history db update until we're idle.
    
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19590 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 6aa9308db53b45cd5090c02974e355f0a9f0e07d
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Fri May 29 13:11:47 2009 +0000
    Add some basic timer support to TorCtl and slightly change how
    ConserveExitsRestriction behaves.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19583 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 974318d6f9ada608eb1c4325be006d2cbdc2dc11
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Thu May 28 12:21:43 2009 +0000
    Add close_all_streams to support Tor exit hang workaround.
    Also fix some casting issues.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19578 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit c05394f6e4435672864901d5a71b3cf9c521ab37
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Thu May 28 11:50:55 2009 +0000
    Add support for parsing w line in NS dox, create
    RankRestriction (currently unused), add average router bw to
    bws stats.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19576 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 8eafb3b9daaa4de3019c394b57affb1df551bed5
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Thu May 28 03:08:58 2009 +0000
    TorCtl auth_cookie support + misc logging tweak patches from
    Damian Johnson.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19573 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit f404142d1be0365a65fcc8bf18f9c805f9a61a2c
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Wed May 27 11:32:48 2009 +0000
    Add config file support to TorUtil. Also implement part 8 of
    proposal 161 in SQLSupport.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19572 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit bfa0a9c36515f392e749e81e6c4b69fde0da5c22
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue May 19 09:55:10 2009 +0000
    Implement ExactUniformGenerator. Replace usage of UniformGenerator with
    ExactUniformGenerator.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19536 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 06ffb2a50ab3d89f924af68716f295f766beea86
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Thu May 14 08:45:46 2009 +0000
    Woops, the attempts should include the failures too.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19512 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 2cbc13fe269ed06938785c69f4cabaedd5e79641
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Thu May 7 03:29:57 2009 +0000
    Change cutoffs for filtering. Add some debug messages. Minor
    tweaks to make SQL stats match StatsSupport stats, at least
    for bandwidth.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19463 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit b8ea80d4f94ab91ce359ff6821cda6e092f2cf9f
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Wed May 6 11:35:14 2009 +0000
    Add a couple more stats and make it easier to change if we
    count up+down bandwidth or just down.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19460 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 22f94b92a2027477aa1c990ce4e9b547c54f6127
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue May 5 06:59:32 2009 +0000
    Make table names not depend on module. Make some int types
    into floats for rounding issues. Fix a typo, and change which
    sorted list is displayed first out of the StatsSupport
    ratios.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19433 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit dd92524d4e2a76fdd4c6b984eb1084b3096b2167
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon May 4 08:50:01 2009 +0000
    Ok, I lied. This one is the inverse. But the rest are 100%
    correct, I swear.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19420 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 214161fd88385a0fbb87f98dfaec088a7b40907b
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon May 4 08:32:43 2009 +0000
    Fix various issues with stats and ratios displaying/computing.
    They seem to be all working now. Hurray!
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19419 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 11e3110fbb15cb6fa2284e788f706027d61f86e9
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon May 4 08:31:51 2009 +0000
    Make stream_bw debug output match control port ordering.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19418 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 25a43453d9ef177529d41a313e8c8f1de6195e06
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon May 4 07:25:27 2009 +0000
    Ignore down routers.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19417 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 64ea186dc0a2ec51f23aea2dced81a6136a3f231
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon May 4 07:25:09 2009 +0000
    Woopsies. Turns out I had the read+write bandwidths backwards
    this whole time. That's what I get for measuring their sum
    instead of separately.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19416 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit c8ad6cda0735bca71a66e2ae8dc82c8034ffc7ce
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon May 4 06:57:13 2009 +0000
    Fix lots of SQLAlchemy weirdness (including some rather
    annoying 0.4 to 0.5 breakage) and a couple of stream handling
    bugs.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19413 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 8c274adfd3373afcc866f6a6d5a6e47172de3e6a
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sun May 3 11:31:38 2009 +0000
    Add stream tracking code and attempt to reduce stats
    calculations to single SQL update statements where possible.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19411 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 497e6940378a83d3b5ae28b3d64bcae624eeb30a
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Fri May 1 03:45:10 2009 +0000
    Optimize stat computation and solve the inheritance
    promotion/upgrade problem by updating the row_type directly.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19404 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 8870316f6830175bd9ae8a57313ed03cef1cf3bb
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Thu Apr 30 01:08:00 2009 +0000
    Add initial SQL event listener support using elixir.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19396 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 7f2014f1375d6c92591d61af1a4bf55333e6ceeb
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Thu Apr 30 01:07:00 2009 +0000
    Add 'EventListener' support to TorCtl, so that multiple listeners can be
    attached independent of being full EventHandlers or part of the PathSupport
    inheritance hierarchy.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19395 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 01b502aa2634c8abbdd81192bed1a40187ec5756
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon Apr 27 03:05:34 2009 +0000
    Add RateLimitedRestriction. Make the NodeRestrictionList be
    MetaRestriction (and thus pass isinstance(self,
    NodeRestriction)). Similar change for PathRestrictionList.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19380 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 14a894be1cf487290525bce92929a08274310d30
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sun Apr 26 05:07:20 2009 +0000
    Prevent some floating point range errors.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19378 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit f8d0af7b3dd25cc26d75ba531e4afefa25c94e05
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Thu Apr 16 09:43:34 2009 +0000
    Fix up some pydoc formatting.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19339 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 0eca7875b34afe3e8d3434a20b8a05b18420d910
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Wed Apr 15 05:55:56 2009 +0000
    Change circ success to circ suspected also. No need
    to penalize nodes not yet in the path.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19327 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit d0fe8bb0645d305e08ab447da484718f061c3334
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Apr 14 23:21:12 2009 +0000
    Switch stream succeeded ratio to 1-stream suspected+failed.
    Stream success is only counted at the exit, so succeeded !=
    1-(suspected+failed)..
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19325 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 84d6f4302bae464cd5964605fc5506412bb9fe49
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Apr 14 15:23:12 2009 +0000
    Woops, didn't mean to change the port settings..
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19320 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit c723b95f6372739a7707ef9dd9c0cf2941a2a6d6
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Apr 14 15:09:02 2009 +0000
    Fix a couple warns about handling streams that die without
    circuits and reset all routers to kill some error messages.
    Also make the ratio line items be all of the same form (ie
    something we could multiple the advertised bandwith by to get
    a new value).
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19319 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 7618429cc23850b0fdac40cf058ee092e58a2fbd
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat Apr 11 06:08:12 2009 +0000
    Parse out and store contact information into router
    class.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19286 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit ad2172eb061f94c708ddbd873a15f55167df90cf
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Mar 31 11:39:22 2009 +0000
    Print a WARN if we get a NEWDESC without an NS
    instead of exploding in firey death.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19203 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 86c42b692d77ab5db8e540f4810fc8fe27e1fde0
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Mar 24 06:28:11 2009 +0000
    Add some additional stats to the ratio files for speedracer.
    Reorganize ownership of some other statistics.
    
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19116 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 98dc1e782bb12d67e756e3e4de159a39be0a903f
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Thu Mar 19 08:13:15 2009 +0000
    Print out interesting ratios with a higher precision to
    separate file.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19086 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 82717b99eef94fbaebe3316545c98dfda13afac7
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Thu Mar 12 06:15:06 2009 +0000
    Add another ratio set to the stats output for speedracer.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18931 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 70e293f65574ac2c88843fd706e5d0dc8cc5b405
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Wed Mar 11 05:16:45 2009 +0000
    Change when we display warns relating to restriction issues so
    we don't spam the user with messages. Also workaround an ugly
    exit condition Roger ran into.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18875 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 6da0f9ffad9343230cd5365e1914cfc0a7a3d727
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Thu Mar 5 07:03:13 2009 +0000
    Clean up, prevent, and demote some WARNs.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18768 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 9c5262734bac71c89427fe2874bf0e81d4900277
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Mar 3 08:39:24 2009 +0000
    Fix refcount-related WARNs and bugs and also WARN on traceback
    seen by Roger instead of crashing.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18757 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 4ef4c214b1d28a69a55e957ae5e36c522e3814b9
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat Feb 28 15:08:12 2009 +0000
    Fix a warn with nicknames not being present in the map, and
    another sync warn.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18722 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 8ae5e4b14a4ce5cad3c2c91eb69b4ede445e63ee
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Wed Feb 25 20:51:37 2009 +0000
    *sigh* pychecker pychecker pychecker.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18694 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 32d2ef2fe5f42d71ad4c24c60b2961826e1578a4
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Wed Feb 25 20:48:30 2009 +0000
    Finally track down an annoying bug that was causing us to try
    to use downed routers in soat.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18693 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 20f359738c2a844eba39bba3fdc4157070aec63c
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Feb 24 11:14:34 2009 +0000
    Fix up GeoIP support and exit setting to play with cookies
    easier.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18687 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit b3039ccc3cfbf41ea18e5c395a354a8cea5ec2d7
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Feb 24 10:15:09 2009 +0000
    Fix a warn and a couple more exceptions...
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18686 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 257165443a847eebbf404ba11a97a4466df6437a
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon Feb 23 11:00:22 2009 +0000
    Refactor SelectionManager to be more self-contained, more easily
    drop-in replaceable, and more intelligent about handling
    conflicting restrictions.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18678 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 7c34782e663e346c1053734df22f725032d4e19e
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat Feb 21 12:58:12 2009 +0000
    Also need to check existence before removing.. *sigh*
    This language is a little exception crazy, isn't it.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18665 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit e64f088e90cd79f65a90c2fde5dcded2fb8587a9
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat Feb 21 12:43:29 2009 +0000
    Log keyerror exception.. Still not clear why it happens, but
    at least now we should log instead of dying.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18664 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit bcf7867b6e095d36d25ce1c7d79d52cb92cdbb2f
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat Feb 21 00:28:23 2009 +0000
    Handle the case where the user requested an exit that
    disappears from the consensus. Somewhat of an ugly hack..
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18660 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 73152254d78ed457d2923075643ce16700c864a5
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Fri Feb 20 12:02:27 2009 +0000
    Helps to call the right method in the superclass.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18658 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 855443e0ff3234f90720073fafd04e23e7b5c3b9
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Fri Feb 20 11:59:09 2009 +0000
    Kill unnecessary and incorrect remove.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18657 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit c9adfba9986c8cb4bc29d716b6372b3f997c4eb2
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Fri Feb 20 10:21:02 2009 +0000
    Handle some stream failure conditions properly, and fix an
    issue with receiving NEWDESCs.
    
    Also more cleanly alert the user when the Tor control port
    disappears.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18654 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 414a7920dced5790d8efc5bf0acd9bd6d2616a95
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Feb 17 02:47:20 2009 +0000
    *sigh*
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18584 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit f99848d7d931e61696a709fe76747f175420fde1
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Feb 17 02:45:33 2009 +0000
    Woops, this returns a list..
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18583 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 0d47cf7a6d16d33f0e557c5bd59e1b3460b39c94
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon Feb 16 12:22:04 2009 +0000
    Woops, read_routers, not read_router.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18572 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit f2bb1e4f5bd4116d7b605fce5a90f3e8d34ac6a5
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon Feb 16 11:45:43 2009 +0000
    Refactor new consensensus tracking code into a
    TorCtl.ConsensusTracker.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18570 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 1a281d5e4205ecbd64679467d585db5dbaf24607
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon Feb 16 10:12:01 2009 +0000
    Woops, we missed one of these annoying timeout warns.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18561 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 0d61ce1ab1708e6617ccaddac76fc4cbd9993938
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon Feb 16 09:29:22 2009 +0000
    pychecker. Always run pychecker..
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18560 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 2fab3388ae87dfb9660407a4692c182df012bdad
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon Feb 16 09:17:22 2009 +0000
    Update to use the NEWCONSENSUS event. This means that TorCtl
    users who use the PathSupport clases need to have a Tor of
    r18556 or newer.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18558 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 2086aba1078438394e0423d056f58753c9830313
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat Feb 14 08:57:15 2009 +0000
    Demote some warns in the case of timeout.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18538 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 9f21221e62253424e150ff46a017f27f629b0e89
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat Feb 14 01:02:45 2009 +0000
    If we don't give a reason on CLOSESTREAM, it ends in SUCCESS, we need a
    FAILED. Hopefully this will do it.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18537 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 8ab4dcc7181763dbd2373210cd16ada7c3ab46bf
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Fri Feb 13 11:57:23 2009 +0000
    Handle NoNodesRemain exception by killing the stream and
    clearing the last_exit, so the metatroller+soat can get a
    clue they requested the impossible.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18528 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 72c8acc45f0ceaa41a8a50148296f04e09b3d25d
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Thu Feb 5 12:52:15 2009 +0000
    Add getinfo address-mappings support for determining SSL IPs.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18402 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 4c6d9ed8551782a72e5e7ba21768fdca69c482a8
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Fri Jan 30 15:49:18 2009 +0000
    Fix restriction stringification.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18346 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 37b4e82484ddbeb0737c13951ccbd5d1f40d4f0c
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Wed Jan 28 14:30:28 2009 +0000
    Add __str__ support to restrictions to catch a bizzare
    restriction-related error.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18295 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 89092723d35f2c98dbbbe2540495f8317570a08a
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Fri Jan 23 23:36:40 2009 +0000
    Damnit.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18261 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 6314f8f38df4672e131fb2d04fd2fbeb6f7fd225
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Fri Jan 23 23:34:36 2009 +0000
    Handle missing addresses in stream events (can happen on
    SOCKS-related errors).
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18260 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit fd2ee67cd0ea9483a49da2260237d9396a5a6e66
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat Jan 17 10:46:35 2009 +0000
    It compiles, it must work.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18151 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 00ec8e5ec7460e381915b81478e8aaec4aacfaaf
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat Jan 17 00:40:53 2009 +0000
    Print out flags for confusing descriptors.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18140 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 010425182131c408a4257b9fbe4855eee34f579d
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat Jan 17 00:17:59 2009 +0000
    Change NodeGenerator.rebuild() to take an optional sorted_r
    argument to replace the generators' router list. Also allow
    StatsHandler to take a new router class.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18138 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 6e2d6b649368ce2f90d0d7fb51660330f9a79b06
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Fri Jan 16 02:41:13 2009 +0000
    Keep an extra refcount on StatsRouters so we can track uptime for them.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18125 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 76b7b131c93f8f023185135b374346cad6c16591
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Wed Jan 14 23:56:01 2009 +0000
    Clean up some duplicate code to use inheritance properly.
    Several bugs were not fixed in both CircuitHandler and
    StreamHandler after being fixed in PathBuilder..
    
    Also add refcounting to router descriptors so we can wait
    till all current established circuits are destroyed before
    removing the descriptor from our lists.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18108 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 8484fe4356e608fd3264fa7109c8f6fb5f8c9d56
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon Jan 12 05:34:32 2009 +0000
    Taking my advice :)
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18086 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit b1662db73ae63e3ffe0d33f0a6ad1482038b5e67
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon Jan 12 05:29:26 2009 +0000
    Doh. Used the wrong variable.. Should have ran pychecker.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18085 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit a4f7b79bfa5a1dec421b5dec99d253503a25ac38
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sun Jan 11 01:35:19 2009 +0000
    Remove routers that no longer have the running flag from our
    router lists.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18069 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 54b31d929cb8a89ba83fa73f0fd0357576405879
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat Jan 10 05:18:21 2009 +0000
    Fix bugs with slicing up just guards into percentiles.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18057 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 08b7f519d097805f1673ec26a568a1660297961d
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat Jan 10 03:20:42 2009 +0000
    More optimizations: move yet more processing out of the
    circuit construction codepath.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18055 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 40ddf0a4818be8e3d48715a7e7ed45be51a30b24
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Fri Jan 9 23:14:44 2009 +0000
    Fix exception on removing unattached, pending streams from
    discarded circuits.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18054 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit db81969962cfe6409741355d3a55adad65008aac
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Fri Jan 9 22:15:33 2009 +0000
    Factor out the expensive part of BwWeightedGenerator's
    rewind() call into a rebuild call that only gets called
    when our view of the network changes or when restrictions
    change.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18052 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit a93fe8ca2c5907572b07ee6f4d86abe6f551f112
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Fri Jan 9 13:22:44 2009 +0000
    Minor performance tweaks + notes for later optimization.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18042 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 09d770599014a94e9b9961e6f54e4d4f1ac21847
Author: Roger Dingledine <arma@torproject.org>
Date:   Tue Jan 6 03:55:45 2009 +0000
    contribute to torctl
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@17943 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 90ab334774de9e245d220fa4af3f9498666c7a7d
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Jan 6 00:46:21 2009 +0000
    Woops. Needed to take the min of bandwidthrate and
    bandwidthcapacity. We were just using capacity.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@17941 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit f91835d9914293317873033a89a27f836f3def16
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Jan 6 00:11:43 2009 +0000
    Fix issues with Connection.close() never actually killing the
    controlling thread.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@17939 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 4919900dbbb64c89d33cdd7a0e4c8732607c6148
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon Jan 5 22:41:12 2009 +0000
    Add global succeeded counter.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@17928 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit ae2eea9f56aa275f715019aee33eee5856989f11
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon Jan 5 13:54:47 2009 +0000
    Handle parsing of circuit purpose lines.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@17910 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 7231b3ae4f1295be6aba0490cfa4b08454468af8
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sun Jan 4 17:56:40 2009 +0000
    Fix bug with circuits not being counted if they are still open when we finish
    a speedrace run.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@17880 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 967eb8b2e494848280aac76382d01d95d54745a9
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sun Jan 4 15:27:25 2009 +0000
    Add control port password 'setting' to TorUtil.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@17877 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 4b763ab6ae8784d9f66a654e970b49853ea92450
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Aug 5 04:33:22 2008 +0000
    Fix infinite loop on poor exit choices.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@16414 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 9e7027069392c36cc8525cb1528905b92ef9eda4
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon Aug 4 10:27:05 2008 +0000
    Add some pydoc to __init__.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@16379 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit b441d47558a3197f48cbfbf294e30b174fec0f75
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat Aug 2 02:26:42 2008 +0000
    Son of a.. sometimes DNS requests can have an extra space
    before the PURPOSE.. This is definitely a Tor control port
    bug, but we should be compatible.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@16353 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit eb10d25675a70cbaa7f6ba2a2f87b1b27842c3d8
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat Aug 2 01:55:57 2008 +0000
    Woops, can't very well ask Dan to run broken code. Fix
    weirdness with DNS resolution stream events that probably
    showed up in 0.2.0.x.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@16352 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 6a033fe2a79943078e46e9caa046492ecc64f93c
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Thu Jul 24 13:23:24 2008 +0000
    Add a couple of comments about using __metaclass__ for more
    flexible class construction.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@16177 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 8d5da44036aa2a75aff295420f713b06c3ea913a
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat Jul 12 18:02:28 2008 +0000
    Add descriptor patch from Goodell.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@15856 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 0081a8476aab172a770ad8831c950e5f9ca5aa7e
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Jul 8 05:07:19 2008 +0000
    Document new TorCtl package, update example, remove old
    files.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@15746 55e972cd-5a19-0410-ae62-a4d7a52db4cd
commit 383d499d464e0e2abfefc3b274e08c0df731a4b0
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon Jul 7 18:31:19 2008 +0000
    Copy TorFlow's TorCtl into the TorCtl repository. Lets hope this preserves history.
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@15736 55e972cd-5a19-0410-ae62-a4d7a52db4cd
 
     |