projects
/
apps
/
pfixtools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Avoid useless strlen, faster query_format.
[apps/pfixtools.git]
/
postlicyd
/
iplist.c
diff --git
a/postlicyd/iplist.c
b/postlicyd/iplist.c
index
b37d64b
..
efc3b86
100644
(file)
--- a/
postlicyd/iplist.c
+++ b/
postlicyd/iplist.c
@@
-140,6
+140,7
@@
rbldb_t *rbldb_create(const char *file, bool lock)
file_map_t map;
const char *p, *end;
uint32_t ips = 0;
file_map_t map;
const char *p, *end;
uint32_t ips = 0;
+ time_t now = time(0);
if (!file_map_open(&map, file, false)) {
return NULL;
if (!file_map_open(&map, file, false)) {
return NULL;
@@
-147,7
+148,6
@@
rbldb_t *rbldb_create(const char *file, bool lock)
rbldb_resource_t *res = resource_get("iplist", file);
if (res == NULL) {
rbldb_resource_t *res = resource_get("iplist", file);
if (res == NULL) {
- debug("No resource found");
res = p_new(rbldb_resource_t, 1);
resource_set("iplist", file, res, (resource_destructor_t)rbldb_resource_wipe);
}
res = p_new(rbldb_resource_t, 1);
resource_set("iplist", file, res, (resource_destructor_t)rbldb_resource_wipe);
}
@@
-156,11
+156,10
@@
rbldb_t *rbldb_create(const char *file, bool lock)
db->filename = m_strdup(file);
db->ips = res->ips;
if (map.st.st_size == res->size && map.st.st_mtime == res->mtime) {
db->filename = m_strdup(file);
db->ips = res->ips;
if (map.st.st_size == res->size && map.st.st_mtime == res->mtime) {
- info("
rbl %s up to
date", file);
+ info("
%s loaded: already up-to-
date", file);
file_map_close(&map);
return db;
}
file_map_close(&map);
return db;
}
- debug("mtime %d/%d, size %d/%d", (int)map.st.st_mtime, (int)res->mtime, (int)map.st.st_size, (int)res->size);
res->size = map.st.st_size;
res->mtime = map.st.st_mtime;
res->size = map.st.st_size;
res->mtime = map.st.st_mtime;
@@
-170,8
+169,7
@@
rbldb_t *rbldb_create(const char *file, bool lock)
--end;
}
if (end != map.end) {
--end;
}
if (end != map.end) {
- warn("file %s miss a final \\n, ignoring last line",
- file);
+ warn("%s: final \\n missing, ignoring last line", file);
}
while (p < end) {
}
while (p < end) {
@@
-205,7
+203,7
@@
rbldb_t *rbldb_create(const char *file, bool lock)
}
}
}
}
- info("
rbl %s loaded, %d IPs", file
, ips);
+ info("
%s loaded: done in %us, %u IPs", file, (uint32_t)(time(0) - now)
, ips);
return db;
}
return db;
}
@@
-489,13
+487,13
@@
static filter_result_t iplist_filter(const filter_t *filter, const query_t *quer
const iplist_filter_t *data = filter->data;
bool error = true;
const iplist_filter_t *data = filter->data;
bool error = true;
- if (parse_ipv4(query->client_address, &end, &ip) != 0) {
- if (strchr(query->client_address, ':')) {
+ if (parse_ipv4(query->client_address
.str
, &end, &ip) != 0) {
+ if (strchr(query->client_address
.str
, ':')) {
/* iplist only works on IPv4 */
return HTK_FAIL;
}
warn("invalid client address: %s, expected ipv4",
/* iplist only works on IPv4 */
return HTK_FAIL;
}
warn("invalid client address: %s, expected ipv4",
- query->client_address);
+ query->client_address
.str
);
return HTK_ERROR;
}
for (uint32_t i = 0 ; i < data->rbls.len ; ++i) {
return HTK_ERROR;
}
for (uint32_t i = 0 ; i < data->rbls.len ; ++i) {