SV_FilterPacket.
(String from, float filterBan)
| 116 | * SV_FilterPacket. |
| 117 | */ |
| 118 | static boolean SV_FilterPacket(String from, float filterBan) { |
| 119 | int i; |
| 120 | int in; |
| 121 | int m[] = { 0, 0, 0, 0 }; |
| 122 | |
| 123 | int p = 0; |
| 124 | char c; |
| 125 | |
| 126 | i = 0; |
| 127 | |
| 128 | while (p < from.length() && i < 4) { |
| 129 | m[i] = 0; |
| 130 | |
| 131 | c = from.charAt(p); |
| 132 | while (c >= '0' && c <= '9') { |
| 133 | m[i] = m[i] * 10 + (c - '0'); |
| 134 | c = from.charAt(p++); |
| 135 | } |
| 136 | if (p == from.length() || c == ':') |
| 137 | break; |
| 138 | |
| 139 | i++; |
| 140 | p++; |
| 141 | } |
| 142 | |
| 143 | in = (m[0] & 0xff) | ((m[1] & 0xff) << 8) | ((m[2] & 0xff) << 16) |
| 144 | | ((m[3] & 0xff) << 24); |
| 145 | |
| 146 | for (i = 0; i < numipfilters; i++) |
| 147 | if ((in & ipfilters[i].mask) == ipfilters[i].compare) |
| 148 | return ((int) filterBan) != 0; |
| 149 | |
| 150 | return ((int) 1 - filterBan) != 0; |
| 151 | } |
| 152 | |
| 153 | /** |
| 154 | * SV_AddIP_f. |