|
@@ -1545,7 +1545,8 @@ resolve_my_address(or_options_t *options, uint32_t *addr_out,
|
|
|
}
|
|
|
|
|
|
tor_inet_ntoa(&in,tmpbuf,sizeof(tmpbuf));
|
|
|
- if (is_internal_IP(htonl(in.s_addr), 0) && !options->NoPublish) {
|
|
|
+ if (is_internal_IP(htonl(in.s_addr), 0) &&
|
|
|
+ options->PublishServerDescriptor) {
|
|
|
/* make sure we're ok with publishing an internal IP */
|
|
|
if (!options->DirServers) {
|
|
|
/* if they are using the default dirservers, disallow internal IPs
|
|
@@ -2099,8 +2100,11 @@ options_validate(or_options_t *old_options, or_options_t *options,
|
|
|
if (options->AuthoritativeDir && options->ClientOnly)
|
|
|
REJECT("Running as authoritative directory, but ClientOnly also set.");
|
|
|
|
|
|
- if (options->AuthoritativeDir && options->NoPublish)
|
|
|
- REJECT("You cannot set both AuthoritativeDir and NoPublish.");
|
|
|
+ if (options->NoPublish) {
|
|
|
+ log(LOG_WARN, LD_CONFIG,
|
|
|
+ "NoPublish is obsolete. Use PublishServerDescriptor instead.");
|
|
|
+ options->PublishServerDescriptor = 0;
|
|
|
+ }
|
|
|
|
|
|
if (options->ConnLimit <= 0) {
|
|
|
log(LOG_WARN, LD_CONFIG,
|
|
@@ -2517,6 +2521,8 @@ options_transition_affects_descriptor(or_options_t *old_options,
|
|
|
old_options->DirPort != new_options->DirPort ||
|
|
|
old_options->ClientOnly != new_options->ClientOnly ||
|
|
|
old_options->NoPublish != new_options->NoPublish ||
|
|
|
+ old_options->PublishServerDescriptor !=
|
|
|
+ new_options->PublishServerDescriptor ||
|
|
|
old_options->BandwidthRate != new_options->BandwidthRate ||
|
|
|
old_options->BandwidthBurst != new_options->BandwidthBurst ||
|
|
|
!opt_streq(old_options->ContactInfo, new_options->ContactInfo) ||
|