diff options
author | Jakub Sławiński | 2005-08-05 21:45:31 +0200 |
---|---|---|
committer | Joshua Judson Rosen | 2014-07-17 21:14:59 +0200 |
commit | 43e8714797d40bcf63efab428dcd25f9caf1d52b (patch) | |
tree | 796974a873a97f2a44f872f3dd3587508e35aa64 /src/server_find.c | |
parent | v0.7.1 (diff) | |
download | apf-43e8714797d40bcf63efab428dcd25f9caf1d52b.tar.gz |
v0.7.2
- Added: http proxy basic authorization
- Fixed: logging initialization after some value checking
- Fixed: auto-reconnect failure when --nossl option is set
- Added: auto-reconnect when afserver is not reachable on start
- Added: auto-reconnect after normal afserver quit
- Added: per user statistics: idle time, amount of downloaded/uploaded bytes
and current download/upload rate
- Added: support for https proxies
- Added: possibility to bind sockets on different interfaces
- Fixed: receiving incomplete headers from afclient
- Fixed: close user connections by afclient
Diffstat (limited to 'src/server_find.c')
-rw-r--r-- | src/server_find.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/server_find.c b/src/server_find.c index 80148e4..73cb9ba 100644 --- a/src/server_find.c +++ b/src/server_find.c @@ -29,8 +29,11 @@ find_client(RealmT* ptr, char mode, int usrclipair) switch(mode) { case 1: { /* fill first client before go to next */ for (i = 0; i < ptr->clinum; ++i) { - if ((ptr->clitable[i].ready == 3) && (ptr->clitable[i].whatusrcli == usrclipair)) { - if (ptr->clitable[i].usercon < ptr->clitable[i].usernum) { + if ((ConnectClient_get_state(ptr->clitable[i]) == + CONNECTCLIENT_STATE_ACCEPTED) && + (ConnectClient_get_usrCliPair(ptr->clitable[i]) == usrclipair)) { + if (ConnectClient_get_connected(ptr->clitable[i]) < + ConnectClient_get_limit(ptr->clitable[i])) { return i; } } @@ -45,12 +48,12 @@ find_client(RealmT* ptr, char mode, int usrclipair) } int -find_usernum(ConnectclientT* ptr, int usernum) +find_usernum(ConnectClient* ptr, int usernum) { int i; - for (i = 0; i < ptr->usernum; ++i) { - if (ptr->users[i] == -1) { - ptr->users[i] = usernum; + for (i = 0; i < ConnectClient_get_limit(ptr); ++i) { + if (ConnectClient_get_users(ptr)[i] == -1) { + ConnectClient_get_users(ptr)[i] = usernum; return i; } } |