GIT.Harvie.CZ
/
svn
/
Prometheus-QoS
/
.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
hopefuly final IPv6 bugfix
[svn/Prometheus-QoS/.git]
/
parsehosts.c
diff --git
a/parsehosts.c
b/parsehosts.c
index d37a71657236390195709271a7af41ea61dcdee2..cbd2d48a1513f94a256d193448d5682a56199405 100644
(file)
--- a/
parsehosts.c
+++ b/
parsehosts.c
@@
-41,10
+41,13
@@
void TheIP(char *ipaddr)
ip->keyword = keywords;
\r
ip->v6 = (strchr(ip->addr,':')!=NULL);
\r
push(ip,ips);
\r
ip->keyword = keywords;
\r
ip->v6 = (strchr(ip->addr,':')!=NULL);
\r
push(ip,ips);
\r
+ ip_count++;
\r
}
\r
\r
}
\r
\r
+struct IP *lastIP6;
\r
+
\r
/* == This function strips extra characters after IPv4 address and stores it = */
\r
/* == This function strips extra characters after IPv4 address and stores it = */
\r
-
void
parse_ip(char *str)
\r
+parse_ip(char *str)
\r
{
\r
char *ptr, *ipaddr, *ip6range = NULL, *ipname = NULL, *lmsid = NULL;
\r
\r
{
\r
char *ptr, *ipaddr, *ip6range = NULL, *ipname = NULL, *lmsid = NULL;
\r
\r
@@
-104,11
+107,16
@@
void parse_ip(char *str)
TheIP(ip6range);
\r
}
\r
ip->name = ip6range;
\r
TheIP(ip6range);
\r
}
\r
ip->name = ip6range;
\r
- ip->
sharing = ipname;
\r
+ ip->
keyword = defaultkeyword; /* settings for default keyword */
\r
if(lmsid)
\r
{
\r
ip->lmsid = atoi(lmsid);
\r
}
\r
if(lmsid)
\r
{
\r
ip->lmsid = atoi(lmsid);
\r
}
\r
+ lastIP6 = ip;
\r
+ }
\r
+ else
\r
+ {
\r
+ lastIP6 = NULL;
\r
}
\r
\r
if_exists(ip, ips, eq(ip->addr,ipaddr));
\r
}
\r
\r
if_exists(ip, ips, eq(ip->addr,ipaddr));
\r
@@
-147,9
+155,12
@@
void parse_hosts(char *hosts)
{
\r
substring += 8; /* "sharing-" */
\r
parse_ip(str);
\r
{
\r
substring += 8; /* "sharing-" */
\r
parse_ip(str);
\r
- ip_count++;
\r
ip->sharing = substring;
\r
ip->keyword = defaultkeyword; /* settings for default keyword */
\r
ip->sharing = substring;
\r
ip->keyword = defaultkeyword; /* settings for default keyword */
\r
+ if(lastIP6)
\r
+ {
\r
+ lastIP6->sharing = substring;
\r
+ }
\r
while(*substring and *substring != '\n')
\r
{
\r
substring++;
\r
while(*substring and *substring != '\n')
\r
{
\r
substring++;
\r
@@
-163,7
+174,6
@@
void parse_hosts(char *hosts)
if_exists(keyword,keywords,(substring=strstr(str,keyword->key)))
\r
{
\r
parse_ip(str);
\r
if_exists(keyword,keywords,(substring=strstr(str,keyword->key)))
\r
{
\r
parse_ip(str);
\r
- ip_count++;
\r
ip->keyword = keyword;
\r
keyword->ip_count++;
\r
ip->prio = keyword->default_prio;
\r
ip->keyword = keyword;
\r
keyword->ip_count++;
\r
ip->prio = keyword->default_prio;
\r
This page took
0.139186 seconds
and
4
git commands to generate.