Do not publish the "git-XXX" tag in server descriptors

Instead, allow packagers to put a 'TOR_BUILD_TAG' field in the
server descriptor to indicate a platform-specific value, if they
need to.  (According to weasel, this was his use for the git- tag
previously.)

This is part of 2988
This commit is contained in:
Nick Mathewson 2012-05-11 18:06:12 -04:00
parent a2f0e7a65b
commit 31eb73f88e
4 changed files with 27 additions and 4 deletions

View File

@ -3,4 +3,8 @@
operating system's name (e.g., "Linux", "Darwin", "Windows 7"),
and not its service pack level (for Windows), or its CPU
architecture (for Unix). This is part of ticket 2988.
- Do not include the (git-XYZ) tag in published server descriptor
platform lines. This is part of ticket 2988.
- Allow packagers to insert an extra string in server descriptor
platform lines by setting the preprocessor variable TOR_BUILD_TAG.
This is part of ticket 2988.

View File

@ -783,6 +783,7 @@ extern const char tor_git_revision[]; /* from tor_main.c */
/** The version of this Tor process, as parsed. */
static char *the_tor_version = NULL;
static char *the_short_tor_version = NULL;
/** Return the current Tor version. */
const char *
@ -790,14 +791,31 @@ get_version(void)
{
if (the_tor_version == NULL) {
if (strlen(tor_git_revision)) {
tor_asprintf(&the_tor_version, "%s (git-%s)", VERSION, tor_git_revision);
tor_asprintf(&the_tor_version, "%s (git-%s)", get_short_version(),
tor_git_revision);
} else {
the_tor_version = tor_strdup(VERSION);
the_tor_version = tor_strdup(get_short_version());
}
}
return the_tor_version;
}
/** Return the current Tor version, without any git tag. */
const char *
get_short_version(void)
{
if (the_short_tor_version == NULL) {
#ifdef TOR_BUILD_TAG
tor_asprintf(&the_short_tor_version, "%s (%s)", VERSION, TOR_BUILD_TAG);
#else
the_short_tor_version = tor_strdup(VERSION);
#endif
}
return the_short_tor_version;
}
/** Release additional memory allocated in options
*/
static void

View File

@ -22,6 +22,7 @@ const char *safe_str(const char *address);
const char *escaped_safe_str_client(const char *address);
const char *escaped_safe_str(const char *address);
const char *get_version(void);
const char *get_short_version(void);
int config_get_lines(const char *string, config_line_t **result, int extended);
void config_free_lines(config_line_t *front);

View File

@ -1949,7 +1949,7 @@ router_guess_address_from_dir_headers(uint32_t *guess)
void
get_platform_str(char *platform, size_t len)
{
tor_snprintf(platform, len, "Tor %s on %s", get_version(), get_uname());
tor_snprintf(platform, len, "Tor %s on %s", get_short_version(), get_uname());
}
/* XXX need to audit this thing and count fenceposts. maybe