diff options
| author | erdgeist <> | 2007-08-18 09:56:22 +0000 |
|---|---|---|
| committer | erdgeist <> | 2007-08-18 09:56:22 +0000 |
| commit | 3e47339b6ca4c54c9140fa3e28729d1a7b7d6aef (patch) | |
| tree | e932798c882ba45b55208b78c8f60679ee63d7db /trackerlogic.c | |
| parent | 992058383ad316b678a0def5baea0fd8a4058389 (diff) | |
Added whitelisting to reimplement the WANT_CLOSED_TRACKER functionality
Diffstat (limited to 'trackerlogic.c')
| -rw-r--r-- | trackerlogic.c | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/trackerlogic.c b/trackerlogic.c index 8308205..184edae 100644 --- a/trackerlogic.c +++ b/trackerlogic.c | |||
| @@ -22,8 +22,9 @@ | |||
| 22 | /* GLOBAL VARIABLES */ | 22 | /* GLOBAL VARIABLES */ |
| 23 | static ot_vector all_torrents[256]; | 23 | static ot_vector all_torrents[256]; |
| 24 | static ot_vector changeset; | 24 | static ot_vector changeset; |
| 25 | #ifdef WANT_BLACKLISTING | 25 | #if defined ( WANT_BLACKLISTING ) || defined( WANT_CLOSED_TRACKER ) |
| 26 | static ot_vector blacklist; | 26 | static ot_vector accesslist; |
| 27 | #define WANT_ACCESS_CONTROL | ||
| 27 | #endif | 28 | #endif |
| 28 | 29 | ||
| 29 | size_t changeset_size = 0; | 30 | size_t changeset_size = 0; |
| @@ -159,9 +160,14 @@ ot_torrent *add_peer_to_torrent( ot_hash *hash, ot_peer *peer, int from_changese | |||
| 159 | ot_vector *torrents_list = &all_torrents[*hash[0]], *peer_pool; | 160 | ot_vector *torrents_list = &all_torrents[*hash[0]], *peer_pool; |
| 160 | int base_pool = 0; | 161 | int base_pool = 0; |
| 161 | 162 | ||
| 162 | #ifdef WANT_BLACKLISTING | 163 | #ifdef WANT_ACCESS_CONTROL |
| 163 | binary_search( hash, blacklist.data, blacklist.size, OT_HASH_COMPARE_SIZE, OT_HASH_COMPARE_SIZE, &exactmatch ); | 164 | binary_search( hash, accesslist.data, accesslist.size, OT_HASH_COMPARE_SIZE, OT_HASH_COMPARE_SIZE, &exactmatch ); |
| 164 | if( exactmatch ) | 165 | |
| 166 | #ifdef WANT_CLOSED_TRACKER | ||
| 167 | exactmatch = !exactmatch; | ||
| 168 | #endif | ||
| 169 | |||
| 170 | if( !exactmatch ) | ||
| 165 | return NULL; | 171 | return NULL; |
| 166 | #endif | 172 | #endif |
| 167 | 173 | ||
| @@ -736,15 +742,15 @@ void deinit_logic( void ) { | |||
| 736 | changeset_size = 0; | 742 | changeset_size = 0; |
| 737 | } | 743 | } |
| 738 | 744 | ||
| 739 | #ifdef WANT_BLACKLISTING | 745 | #ifdef WANT_ACCESS_CONTROL |
| 740 | void blacklist_reset( void ) { | 746 | void accesslist_reset( void ) { |
| 741 | free( blacklist.data ); | 747 | free( accesslist.data ); |
| 742 | byte_zero( &blacklist, sizeof( blacklist ) ); | 748 | byte_zero( &accesslist, sizeof( accesslist ) ); |
| 743 | } | 749 | } |
| 744 | 750 | ||
| 745 | int blacklist_addentry( ot_hash *infohash ) { | 751 | int accesslist_addentry( ot_hash *infohash ) { |
| 746 | int em; | 752 | int em; |
| 747 | void *insert = vector_find_or_insert( &blacklist, infohash, OT_HASH_COMPARE_SIZE, OT_HASH_COMPARE_SIZE, &em ); | 753 | void *insert = vector_find_or_insert( &accesslist, infohash, OT_HASH_COMPARE_SIZE, OT_HASH_COMPARE_SIZE, &em ); |
| 748 | 754 | ||
| 749 | if( !insert ) | 755 | if( !insert ) |
| 750 | return -1; | 756 | return -1; |
