[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[or-cvs] Change replacement semantics for directory entries: fix bug...
- To: or-cvs@xxxxxxxxxxxxx
- Subject: [or-cvs] Change replacement semantics for directory entries: fix bug...
- From: nickm@xxxxxxxx (Nick Mathewson)
- Date: Tue, 5 Apr 2005 20:01:38 -0400 (EDT)
- Delivered-to: archiver@seul.org
- Delivered-to: or-cvs-outgoing@seul.org
- Delivered-to: or-cvs@seul.org
- Delivery-date: Tue, 05 Apr 2005 20:01:59 -0400
- Reply-to: or-dev@xxxxxxxxxxxxx
- Sender: owner-or-cvs@xxxxxxxxxxxxx
Update of /home/or/cvsroot/tor/src/or
In directory moria.mit.edu:/tmp/cvs-serv13598/src/or
Modified Files:
dirserv.c
Log Message:
Change replacement semantics for directory entries: fix bug 121.
Index: dirserv.c
===================================================================
RCS file: /home/or/cvsroot/tor/src/or/dirserv.c,v
retrieving revision 1.150
retrieving revision 1.151
diff -u -d -r1.150 -r1.151
--- dirserv.c 3 Apr 2005 19:01:47 -0000 1.150
+++ dirserv.c 6 Apr 2005 00:01:35 -0000 1.151
@@ -343,8 +343,7 @@
routerinfo_free(ri);
*desc = end;
return -1;
- }
- if (r==0) {
+ } else if (r==0) {
char fp[FINGERPRINT_LEN+1];
log_fn(LOG_INFO, "Unknown nickname '%s' (%s:%d). Will try to add.",
ri->nickname, ri->address, ri->or_port);
@@ -382,16 +381,18 @@
/* Do we already have an entry for this router? */
for (i = 0; i < smartlist_len(descriptor_list); ++i) {
ri_old = smartlist_get(descriptor_list, i);
- if (!strcasecmp(ri->nickname, ri_old->nickname)) {
+ if (!memcmp(ri->identity_digest, ri_old->identity_digest, DIGEST_LEN)) {
found = i;
break;
}
}
if (found >= 0) {
+ char hex_digest[HEX_DIGEST_LEN+1];
+ base16_encode(hex_digest, HEX_DIGEST_LEN+1, ri->identity_digest,DIGEST_LEN);
/* if so, decide whether to update it. */
if (ri_old->published_on >= ri->published_on) {
/* We already have a newer or equal-time descriptor */
- log_fn(LOG_INFO,"We already have a new enough desc for nickname '%s'. Not adding.",ri->nickname);
+ log_fn(LOG_INFO,"We already have a new enough desc for sever %s (nickname '%s'). Not adding.",hex_digest,ri->nickname);
*msg = "We already have a newer descriptor.";
/* This isn't really an error; return success. */
routerinfo_free(ri);
@@ -399,7 +400,7 @@
return verified;
}
/* We don't alrady have a newer one; we'll update this one. */
- log_fn(LOG_INFO,"Dirserv updating desc for nickname '%s'",ri->nickname);
+ log_fn(LOG_INFO,"Dirserv updating desc for server %s (nickname '%s')",hex_digest,ri->nickname);
*msg = verified?"Verified server updated":"Unverified server updated. (Have you sent us your key fingerprint?)";
routerinfo_free(ri_old);
smartlist_del_keeporder(descriptor_list, found);