add Address config element, use it in descriptor

svn:r496
This commit is contained in:
Roger Dingledine 2003-09-27 07:21:36 +00:00
parent d27514b70a
commit 9899e09b3b
3 changed files with 12 additions and 6 deletions

View File

@ -192,6 +192,7 @@ static void config_assign(or_options_t *options, struct config_line *list) {
config_compare(list, "DataDirectory", CONFIG_TYPE_STRING, &options->DataDirectory) ||
config_compare(list, "RouterFile", CONFIG_TYPE_STRING, &options->RouterFile) ||
config_compare(list, "Nickname", CONFIG_TYPE_STRING, &options->Nickname) ||
config_compare(list, "Address", CONFIG_TYPE_STRING, &options->Address) ||
/* int options */
config_compare(list, "MaxConn", CONFIG_TYPE_INT, &options->MaxConn) ||
@ -277,7 +278,7 @@ int getconfig(int argc, char **argv, or_options_t *options) {
/* Validate options */
if(options->LogLevel) {
else if(!strcmp(options->LogLevel,"err"))
if(!strcmp(options->LogLevel,"err"))
options->loglevel = LOG_ERR;
else if(!strcmp(options->LogLevel,"warning"))
options->loglevel = LOG_WARNING;

View File

@ -938,15 +938,19 @@ const char *router_get_my_descriptor(void) {
static int init_descriptor(void) {
routerinfo_t *ri;
char localhostname[256];
char *address = options.Address;
if(gethostname(localhostname,sizeof(localhostname)) < 0) {
log_fn(LOG_WARNING,"Error obtaining local hostname");
return -1;
if(!address) { /* if not specified in config, we find a default */
if(gethostname(localhostname,sizeof(localhostname)) < 0) {
log_fn(LOG_WARNING,"Error obtaining local hostname");
return -1;
}
address = localhostname;
}
ri = tor_malloc(sizeof(routerinfo_t));
ri->address = strdup(localhostname);
ri->address = strdup(address);
ri->nickname = strdup(options.Nickname);
/* No need to set addr. ???? */
/* No need to set addr. */
ri->or_port = options.ORPort;
ri->ap_port = options.APPort;
ri->dir_port = options.DirPort;

View File

@ -408,6 +408,7 @@ typedef struct {
char *DataDirectory;
char *RouterFile;
char *Nickname;
char *Address;
double CoinWeight;
int Daemon;
int ORPort;