diff options
author | Justus Winter <[email protected]> | 2016-08-11 11:03:16 +0000 |
---|---|---|
committer | Justus Winter <[email protected]> | 2016-08-11 11:03:16 +0000 |
commit | 72fa314b71e4ce8780f59b16d32cabf5d4bd5451 (patch) | |
tree | f89bb21a7155416b52e647ab430c7831e0a7d926 /common/w32-afunix.c | |
parent | common: Rework the simple password query module. (diff) | |
download | gnupg-72fa314b71e4ce8780f59b16d32cabf5d4bd5451.tar.gz gnupg-72fa314b71e4ce8780f59b16d32cabf5d4bd5451.zip |
common: Remove compatibility code.
* common/Makefile.am: Drop deleted files.
* common/w32-afunix.c: Delete file.
* common/w32-afunix.h: Likewise.
GnuPG-bug-id: 2408
Signed-off-by: Justus Winter <[email protected]>
Diffstat (limited to 'common/w32-afunix.c')
-rw-r--r-- | common/w32-afunix.c | 148 |
1 files changed, 0 insertions, 148 deletions
diff --git a/common/w32-afunix.c b/common/w32-afunix.c deleted file mode 100644 index 44322196b..000000000 --- a/common/w32-afunix.c +++ /dev/null @@ -1,148 +0,0 @@ -/* w32-afunix.c - AF_UNIX emulation for Windows (Client only). - * Copyright (C) 2004, 2006 g10 Code GmbH - * - * This file is part of GnuPG. - * - * GnuPG is free software; you can redistribute it and/or modify it - * under the terms of either - * - * - the GNU Lesser General Public License as published by the Free - * Software Foundation; either version 3 of the License, or (at - * your option) any later version. - * - * or - * - * - the GNU General Public License as published by the Free - * Software Foundation; either version 2 of the License, or (at - * your option) any later version. - * - * or both in parallel, as here. - * - * GnuPG is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copies of the GNU General Public License - * and the GNU Lesser General Public License along with this program; - * if not, see <http://www.gnu.org/licenses/>. - */ - -/* Use of this code is deprecated - you better use the socket wrappers - from libassuan. */ - -#ifdef _WIN32 -#include <stdio.h> -#include <stdlib.h> -#define WIN32_LEAN_AND_MEAN -#include <windows.h> -#include <fcntl.h> -#include <sys/stat.h> -#include <io.h> -#include <errno.h> - -#include "w32-afunix.h" - - - -/* The buffer for NONCE needs to be at least 16 bytes. Returns 0 on - success. */ -static int -read_port_and_nonce (const char *fname, unsigned short *port, char *nonce) -{ - FILE *fp; - char buffer[50], *p; - size_t nread; - int aval; - - fp = fopen (fname, "rb"); - if (!fp) - return -1; - nread = fread (buffer, 1, sizeof buffer - 1, fp); - fclose (fp); - if (!nread) - { - gpg_err_set_errno (EIO); - return -1; - } - buffer[nread] = 0; - aval = atoi (buffer); - if (aval < 1 || aval > 65535) - { - gpg_err_set_errno (EINVAL); - return -1; - } - *port = (unsigned int)aval; - for (p=buffer; nread && *p != '\n'; p++, nread--) - ; - if (*p != '\n' || nread != 17) - { - gpg_err_set_errno (EINVAL); - return -1; - } - p++; nread--; - memcpy (nonce, p, 16); - return 0; -} - - - -int -_w32_close (int fd) -{ - int rc = closesocket (fd); - if (rc && WSAGetLastError () == WSAENOTSOCK) - rc = close (fd); - return rc; -} - - -int -_w32_sock_new (int domain, int type, int proto) -{ - if (domain == AF_UNIX || domain == AF_LOCAL) - domain = AF_INET; - return socket (domain, type, proto); -} - - -int -_w32_sock_connect (int sockfd, struct sockaddr *addr, int addrlen) -{ - struct sockaddr_in myaddr; - struct sockaddr_un *unaddr; - unsigned short port; - char nonce[16]; - int ret; - - (void)addrlen; - - unaddr = (struct sockaddr_un *)addr; - if (read_port_and_nonce (unaddr->sun_path, &port, nonce)) - return -1; - - myaddr.sin_family = AF_INET; - myaddr.sin_port = htons (port); - myaddr.sin_addr.s_addr = htonl (INADDR_LOOPBACK); - - /* Set return values. */ - unaddr->sun_family = myaddr.sin_family; - unaddr->sun_port = myaddr.sin_port; - unaddr->sun_addr.s_addr = myaddr.sin_addr.s_addr; - - ret = connect (sockfd, (struct sockaddr *)&myaddr, sizeof myaddr); - if (!ret) - { - /* Send the nonce. */ - ret = send (sockfd, nonce, 16, 0); - if (ret >= 0 && ret != 16) - { - gpg_err_set_errno (EIO); - ret = -1; - } - } - return ret; -} - - -#endif /*_WIN32*/ |