Changeset 1203
- Timestamp:
- 01/19/08 23:14:05 (8 months ago)
- Files:
-
- 1.8.3/branches/devel/CHANGES.183 (modified) (1 diff)
- 1.8.3/branches/devel/src/access.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
1.8.3/branches/devel/CHANGES.183
r1202 r1203 28 28 * '@hook/override cmd=#1234' will look at all attributes on the object 29 29 for a matching $command. By Talvo. 30 * @sitelock/delete NNN will remove the sitelock rule with that number. 30 31 31 32 Functions: 1.8.3/branches/devel/src/access.c
r1143 r1203 586 586 struct access *ap, *next, *prev = NULL; 587 587 int n = 0; 588 int rulenum = 0, deletethis = -1; 589 590 if (is_strict_integer(pattern)) 591 deletethis = parse_integer(pattern); 588 592 589 593 /* We only want to be able to delete entries added with @sitelock */ 590 for (ap = access_top; ap; ap = ap->next) 594 for (ap = access_top; ap; ap = ap->next) { 595 rulenum++; 591 596 if (strcmp(ap->host, "@sitelock") == 0) { 592 597 prev = ap; … … 594 599 break; 595 600 } 596 601 } 602 597 603 while (ap) { 604 rulenum++; 598 605 next = ap->next; 599 if (strcasecmp(pattern, ap->host) == 0) { 606 if (deletethis == -1 ? (strcasecmp(pattern, ap->host) == 0) 607 : deletethis == rulenum) { 600 608 n++; 601 609 if (ap->re) 602 free(ap->re);610 free(ap->re); 603 611 mush_free(ap, "sitelock.rule"); 604 612 if (prev) 605 prev->next = next;613 prev->next = next; 606 614 else 607 access_top = next; 615 access_top = next; 616 if (deletethis >= 0) 617 break; 608 618 } else { 609 619 prev = ap; … … 611 621 ap = next; 612 622 } 613 623 614 624 return n; 615 625 }
