mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
W32 related keyserver fixes.
This commit is contained in:
parent
6e17d90e09
commit
08a612f26e
10 changed files with 67 additions and 42 deletions
|
@ -1,3 +1,11 @@
|
|||
2008-04-21 Werner Koch <wk@g10code.com>
|
||||
|
||||
* ksutil.c (w32_init_sockets) [HAVE_W32_SYSTEM]: New.
|
||||
* curl-shim.c (curl_easy_init) [HAVE_W32_SYSTEM]: Call it.
|
||||
* gpgkeys_finger.c: s/_WIN32/HAVE_W32_SYSTEM/.
|
||||
(init_sockets): Remove.
|
||||
(connect_server) [HAVE_W32_SYSTEM]: Call new function.
|
||||
|
||||
2008-04-14 David Shaw <dshaw@jabberwocky.com>
|
||||
|
||||
* gpgkeys_curl.c (main), gpgkeys_hkp.c (main): Make sure all
|
||||
|
|
|
@ -89,6 +89,10 @@ curl_easy_init(void)
|
|||
{
|
||||
CURL *handle;
|
||||
|
||||
#ifdef HAVE_W32_SYSTEM
|
||||
w32_init_sockets ();
|
||||
#endif
|
||||
|
||||
handle=calloc(1,sizeof(CURL));
|
||||
if(handle)
|
||||
handle->errors=stderr;
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
#include <getopt.h>
|
||||
#endif
|
||||
|
||||
#ifdef _WIN32
|
||||
#ifdef HAVE_W32_SYSTEM
|
||||
#include <windows.h>
|
||||
#else
|
||||
#include <unistd.h>
|
||||
|
@ -46,7 +46,7 @@
|
|||
#include "ksutil.h"
|
||||
#include "iobuf.h"
|
||||
|
||||
#ifdef _WIN32
|
||||
#ifdef HAVE_W32_SYSTEM
|
||||
#define sock_close(a) closesocket(a)
|
||||
#else
|
||||
#define sock_close(a) close(a)
|
||||
|
@ -58,40 +58,6 @@ extern int optind;
|
|||
static FILE *input,*output,*console;
|
||||
static struct ks_options *opt;
|
||||
|
||||
#ifdef _WIN32
|
||||
static void
|
||||
deinit_sockets (void)
|
||||
{
|
||||
WSACleanup();
|
||||
}
|
||||
|
||||
static void
|
||||
init_sockets (void)
|
||||
{
|
||||
static int initialized;
|
||||
static WSADATA wsdata;
|
||||
|
||||
if (initialized)
|
||||
return;
|
||||
|
||||
if (WSAStartup (0x0101, &wsdata) )
|
||||
{
|
||||
fprintf (console, "error initializing socket library: ec=%d\n",
|
||||
(int)WSAGetLastError () );
|
||||
return;
|
||||
}
|
||||
if (wsdata.wVersion < 0x0001)
|
||||
{
|
||||
fprintf (console, "socket library version is %x.%x - but 1.1 needed\n",
|
||||
LOBYTE(wsdata.wVersion), HIBYTE(wsdata.wVersion));
|
||||
WSACleanup();
|
||||
return;
|
||||
}
|
||||
atexit (deinit_sockets);
|
||||
initialized = 1;
|
||||
}
|
||||
#endif /*_WIN32*/
|
||||
|
||||
|
||||
/* Connect to SERVER at PORT and return a file descriptor or -1 on
|
||||
error. */
|
||||
|
@ -100,12 +66,12 @@ connect_server (const char *server, unsigned short port)
|
|||
{
|
||||
int sock = -1;
|
||||
|
||||
#ifdef _WIN32
|
||||
#ifdef HAVE_W32_SYSTEM
|
||||
struct hostent *hp;
|
||||
struct sockaddr_in addr;
|
||||
unsigned long l;
|
||||
|
||||
init_sockets ();
|
||||
w32_init_sockets ();
|
||||
|
||||
memset (&addr, 0, sizeof addr);
|
||||
addr.sin_family = AF_INET;
|
||||
|
@ -201,7 +167,7 @@ write_server (int sock, const char *data, size_t length)
|
|||
{
|
||||
int nwritten;
|
||||
|
||||
#ifdef _WIN32
|
||||
#ifdef HAVE_W32_SYSTEM
|
||||
nwritten = send (sock, data, nleft, 0);
|
||||
if ( nwritten == SOCKET_ERROR )
|
||||
{
|
||||
|
|
|
@ -35,6 +35,10 @@
|
|||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#ifdef HAVE_W32_SYSTEM
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_LIBCURL
|
||||
#include <curl/curl.h>
|
||||
#else
|
||||
|
@ -83,6 +87,22 @@ register_timeout(void)
|
|||
|
||||
#endif /* !HAVE_DOSISH_SYSTEM */
|
||||
|
||||
#ifdef HAVE_W32_SYSTEM
|
||||
void
|
||||
w32_init_sockets (void)
|
||||
{
|
||||
static int initialized;
|
||||
static WSADATA wsdata;
|
||||
|
||||
if (!initialized)
|
||||
{
|
||||
WSAStartup (0x0202, &wsdata);
|
||||
initialized = 1;
|
||||
}
|
||||
}
|
||||
#endif /*HAVE_W32_SYSTEM*/
|
||||
|
||||
|
||||
struct ks_options *
|
||||
init_ks_options(void)
|
||||
{
|
||||
|
|
|
@ -79,6 +79,11 @@ struct keylist
|
|||
unsigned int set_timeout(unsigned int seconds);
|
||||
int register_timeout(void);
|
||||
|
||||
#ifdef HAVE_W32_SYSTEM
|
||||
void w32_init_sockets (void);
|
||||
#endif
|
||||
|
||||
|
||||
enum ks_action {KS_UNKNOWN=0,KS_GET,KS_GETNAME,KS_SEND,KS_SEARCH};
|
||||
|
||||
enum ks_search_type {KS_SEARCH_SUBSTR,KS_SEARCH_EXACT,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue