From: Peter Palfrader Date: Thu, 15 Jun 2006 22:52:56 +0000 (+0000) Subject: Add a /tor/dir-all-weaselhack directory resource so I do not have to update my scripts X-Git-Tag: tor-0.1.1.23~217 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bc64becd12dd7c65e2d160f32bfd54327c1c2db6;p=thirdparty%2Ftor.git Add a /tor/dir-all-weaselhack directory resource so I do not have to update my scripts svn:r6627 --- diff --git a/src/or/directory.c b/src/or/directory.c index 03f4516981..dfcd9c4777 100644 --- a/src/or/directory.c +++ b/src/or/directory.c @@ -1646,6 +1646,33 @@ directory_handle_command_get(connection_t *conn, char *headers, return 0; } + if (!strcmp(url,"/tor/dir-all-weaselhack") && (conn->addr == 0x7f000001ul) && + authdir_mode(get_options())) { + /* XXX until weasel rewrites his scripts XXXX012 */ + char *new_directory=NULL; + + if (dirserv_dump_directory_to_string(&new_directory, + get_identity_key(), 1)) { + log_warn(LD_BUG, "Error creating full v1 directory."); + tor_free(new_directory); + write_http_status_line(conn, 503, "Directory unavailable"); + return 0; + } + + dlen = strlen(new_directory); + + format_rfc1123_time(date, time(NULL)); + tor_snprintf(tmp, sizeof(tmp), + "HTTP/1.0 200 OK\r\nDate: %s\r\nContent-Length: %d\r\n" + "Content-Type: text/plain\r\nContent-Encoding: identity\r\n\r\n", + date, + (int)dlen); + connection_write_to_buf(tmp, strlen(tmp), conn); + connection_write_to_buf(new_directory, dlen, conn); + tor_free(new_directory); + } + + /* we didn't recognize the url */ write_http_status_line(conn, 404, "Not found"); tor_free(url);