Move tor_gethostname to lib/net

This commit is contained in:
Nick Mathewson 2018-06-28 11:57:01 -04:00
parent 8c6ff9fec2
commit db1a420c4e
8 changed files with 43 additions and 14 deletions

View file

@ -257,17 +257,6 @@ set_max_file_descriptors(rlim_t limit, int *max_out)
return 0;
}
/** Get name of current host and write it to <b>name</b> array, whose
* length is specified by <b>namelen</b> argument. Return 0 upon
* successful completion; otherwise return return -1. (Currently,
* this function is merely a mockable wrapper for POSIX gethostname().)
*/
MOCK_IMPL(int,
tor_gethostname,(char *name, size_t namelen))
{
return gethostname(name,namelen);
}
/** Hold the result of our call to <b>uname</b>. */
static char uname_result[256];
/** True iff uname_result is set. */

View file

@ -111,8 +111,6 @@
/* ===== Net compatibility */
MOCK_DECL(int,tor_gethostname,(char *name, size_t namelen));
/** Specified SOCKS5 status codes. */
typedef enum {
SOCKS5_SUCCEEDED = 0x00,

View file

@ -72,7 +72,6 @@ int64_t clamp_double_to_int64(double number);
/* String manipulation */
/* Time helpers */
long tv_udiff(const struct timeval *start, const struct timeval *end);
long tv_mdiff(const struct timeval *start, const struct timeval *end);

25
src/lib/net/gethostname.c Normal file
View file

@ -0,0 +1,25 @@
/* Copyright (c) 2003-2004, Roger Dingledine
* Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
* Copyright (c) 2007-2018, The Tor Project, Inc. */
/* See LICENSE for licensing information */
#include "orconfig.h"
#include "lib/net/gethostname.h"
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#ifdef _WIN32
#include <winsock2.h>
#endif
/** Get name of current host and write it to <b>name</b> array, whose
* length is specified by <b>namelen</b> argument. Return 0 upon
* successful completion; otherwise return return -1. (Currently,
* this function is merely a mockable wrapper for POSIX gethostname().)
*/
MOCK_IMPL(int,
tor_gethostname,(char *name, size_t namelen))
{
return gethostname(name,namelen);
}

14
src/lib/net/gethostname.h Normal file
View file

@ -0,0 +1,14 @@
/* Copyright (c) 2003-2004, Roger Dingledine
* Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
* Copyright (c) 2007-2018, The Tor Project, Inc. */
/* See LICENSE for licensing information */
#ifndef TOR_GETHOSTNAME_H
#define TOR_GETHOSTNAME_H
#include "lib/testsupport/testsupport.h"
#include <stddef.h>
MOCK_DECL(int,tor_gethostname,(char *name, size_t namelen));
#endif

View file

@ -8,6 +8,7 @@ endif
src_lib_libtor_net_a_SOURCES = \
src/lib/net/address.c \
src/lib/net/alertsock.c \
src/lib/net/gethostname.c \
src/lib/net/ipv4.c \
src/lib/net/ipv6.c \
src/lib/net/resolve.c \
@ -21,6 +22,7 @@ src_lib_libtor_net_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
noinst_HEADERS += \
src/lib/net/address.h \
src/lib/net/alertsock.h \
src/lib/net/gethostname.h \
src/lib/net/ipv4.h \
src/lib/net/ipv6.h \
src/lib/net/nettypes.h \

View file

@ -116,6 +116,7 @@
#include "lib/process/restrict.h"
#include "lib/process/setuid.h"
#include "lib/process/subprocess.h"
#include "lib/net/gethostname.h"
#include "lib/encoding/keyval.h"
#include "lib/fs/conffile.h"

View file

@ -49,6 +49,7 @@
#include "or/routerinfo_st.h"
#include "lib/fs/conffile.h"
#include "lib/net/gethostname.h"
static void
test_config_addressmap(void *arg)