|
@@ -580,8 +580,11 @@ again:
|
|
|
#endif
|
|
#endif
|
|
|
#endif
|
|
#endif
|
|
|
return e;
|
|
return e;
|
|
|
- }else if ((e->type==T_CNAME) && (e->name_len==name->len) &&
|
|
|
|
|
- (strncasecmp(e->name, name->s, e->name_len)==0)){
|
|
|
|
|
|
|
+ }else if ((e->type==T_CNAME) && !((e->rr_lst==0) || e->err_flags) &&
|
|
|
|
|
+ (e->name_len==name->len) &&
|
|
|
|
|
+ (strncasecmp(e->name, name->s, e->name_len)==0)){
|
|
|
|
|
+ /*if CNAME matches and CNAME is entry is not a neg. cache entry
|
|
|
|
|
+ (could be produced by a specific CNAME lookup)*/
|
|
|
e->last_used=now;
|
|
e->last_used=now;
|
|
|
#ifdef DNS_LU_LST
|
|
#ifdef DNS_LU_LST
|
|
|
/* add it at the end */
|
|
/* add it at the end */
|