Make windows version correct; initialize windows foolishness so that gethostbyname works.

svn:r1250
This commit is contained in:
Nick Mathewson 2004-03-10 06:26:38 +00:00
parent c230132562
commit d877aac5ad
2 changed files with 32 additions and 2 deletions

View File

@ -695,12 +695,42 @@ static void dumpstats(int severity) {
(int) (stats_n_bytes_read/stats_n_seconds_reading));
}
int network_init(void)
{
#ifdef MS_WINDOWS
/* This silly exercise is necessary before windows will allow gethostbyname to work.
*/
WSADATA WSAData;
int r;
r = WSAStartup(0x101,&WSAData);
if (r) {
log_fn(LOG_WARN,"Error initializing windows network layer: code was %d",r);
return -1;
}
/* XXXX We should call WSACleanup on exit, I think. */
#endif
return 0;
}
void exit_function(void)
{
#ifdef MS_WINDOWS
WSACleanup();
#endif
}
int tor_main(int argc, char *argv[]) {
/* give it somewhere to log to initially */
add_stream_log(LOG_INFO, "<stdout>", stdout);
log_fn(LOG_WARN,"Tor v%s. This is experimental software. Do not use it if you need anonymity.",VERSION);
if (network_init()<0) {
log_fn(LOG_ERR,"Error initializing network; exiting.");
return 1;
}
atexit(exit_function);
if (init_from_config(argc,argv) < 0)
return -1;
@ -708,7 +738,7 @@ int tor_main(int argc, char *argv[]) {
if(geteuid()==0)
log_fn(LOG_WARN,"You are running Tor as root. You don't need to, and you probably shouldn't.");
#endif
if(options.ORPort) { /* only spawn dns handlers if we're a router */
dns_init(); /* initialize the dns resolve tree, and spawn workers */
}

View File

@ -148,7 +148,7 @@
#define STDC_HEADERS
/* Version number of package */
#define VERSION "0.0.2pre6"
#define VERSION "0.0.2pre26"
/* XXXX WWWW */
#define CONFDIR ""