|
24 | 24 | }). |
25 | 25 |
|
26 | 26 | apiversion() -> |
27 | | - "8.0.3". |
| 27 | + "8.1.0". |
28 | 28 |
|
29 | 29 | getapiversion() -> |
30 | 30 | io:format("API Version: ~p~n", [apiversion()]). |
@@ -293,8 +293,13 @@ search6(S, Ipnum, Dbtype, Low, High, Baseaddr, Indexbaseaddr, Colsize) -> |
293 | 293 | end. |
294 | 294 |
|
295 | 295 | query(Ip) -> |
296 | | - From = 281470681743360, |
297 | | - To = 281474976710655, |
| 296 | + Fromv4mapped = 281470681743360, |
| 297 | + Tov4mapped = 281474976710655, |
| 298 | + From6to4 = 42545680458834377588178886921629466624, |
| 299 | + To6to4 = 42550872755692912415807417417958686719, |
| 300 | + Fromteredo = 42540488161975842760550356425300246528, |
| 301 | + Toteredo = 42540488241204005274814694018844196863, |
| 302 | + Last32bits = 4294967295, |
298 | 303 |
|
299 | 304 | case ets:info(mymeta) of |
300 | 305 | undefined -> |
@@ -329,8 +334,12 @@ query(Ip) -> |
329 | 334 | {ok, {X1, X2, X3, X4, X5, X6, X7, X8}} -> |
330 | 335 | Ipnum = (X1 bsl 112) + (X2 bsl 96) + (X3 bsl 80) + (X4 bsl 64) + (X5 bsl 48) + (X6 bsl 32) + (X7 bsl 16) + X8, |
331 | 336 | if |
332 | | - Ipnum >= From andalso Ipnum =< To -> |
333 | | - search4(S, Ipnum - From, Databasetype, 0, Ipv4databasecount, Ipv4databaseaddr, Ipv4indexbaseaddr, Ipv4columnsize); |
| 337 | + Ipnum >= Fromv4mapped andalso Ipnum =< Tov4mapped -> |
| 338 | + search4(S, Ipnum - Fromv4mapped, Databasetype, 0, Ipv4databasecount, Ipv4databaseaddr, Ipv4indexbaseaddr, Ipv4columnsize); |
| 339 | + Ipnum >= From6to4 andalso Ipnum =< To6to4 -> |
| 340 | + search4(S, (Ipnum bsr 80) band Last32bits, Databasetype, 0, Ipv4databasecount, Ipv4databaseaddr, Ipv4indexbaseaddr, Ipv4columnsize); |
| 341 | + Ipnum >= Fromteredo andalso Ipnum =< Toteredo -> |
| 342 | + search4(S, ((bnot Ipnum) band Last32bits), Databasetype, 0, Ipv4databasecount, Ipv4databaseaddr, Ipv4indexbaseaddr, Ipv4columnsize); |
334 | 343 | true -> |
335 | 344 | search6(S, Ipnum, Databasetype, 0, Ipv6databasecount, Ipv6databaseaddr, Ipv6indexbaseaddr, Ipv6columnsize) |
336 | 345 | end; |
|
0 commit comments