aboutsummaryrefslogtreecommitdiff
path: root/gacopyz/gacopyz.c
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2007-12-12 13:19:02 +0000
committerSergey Poznyakoff <gray@gnu.org.ua>2007-12-12 13:19:02 +0000
commit57adf50a0299978606069e64b994e9bfb58ad701 (patch)
treedaf5506f682c93a5b6d64c79aa179e57ddf67ef0 /gacopyz/gacopyz.c
parent0f78d4cebb75377eeb3c61e349e8eb088d9d88be (diff)
downloadmailfromd-57adf50a0299978606069e64b994e9bfb58ad701.tar.gz
mailfromd-57adf50a0299978606069e64b994e9bfb58ad701.tar.bz2
* src/syslog_async.c: Include config.h, netinet/in.h and signal.h
Conditionally include paths.h, provide replacements for _PATH_LOG and _PATH_CONSOLE if it is absent. Provide dummy replacement for MSG_NOSIGNAL and LOG_PERROR. (log_write_async): Ignore SIGPIPE if MSG_NOSIGNAL is not defined. * src/main.c: Conditionally compile syslog-async stuff. * src/Makefile.am: Likewise. * configure.ac: Check for paths.h. Restore previous meaning of --enable-syslog-async. (DEFAULT_SYSLOG_ASYNC): New variable. Raise version number to 4.2.1. * doc/mailfromd.texi: Reflect above-mentioned changes. * gacopyz/server.c, gacopyz/gacopyz.c: Rename all sun to s_un and sin to s_in, to avoid name clashes. * NEWS (4.2.1): New entry. git-svn-id: file:///svnroot/mailfromd/tags/release_4_2@1535 7a8a7f39-df28-0410-adc6-e0d955640f24
Diffstat (limited to 'gacopyz/gacopyz.c')
-rw-r--r--gacopyz/gacopyz.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/gacopyz/gacopyz.c b/gacopyz/gacopyz.c
index 1fff7edb..24f694e8 100644
--- a/gacopyz/gacopyz.c
+++ b/gacopyz/gacopyz.c
@@ -149,14 +149,14 @@ static int
do_connect(gacopyz_conn_t conn,
const char *cstr, char *proto, char *port, char *path,
int backlog, int rmsocket)
{
union {
struct sockaddr sa;
- struct sockaddr_in sin;
- struct sockaddr_un sun;
+ struct sockaddr_in s_in;
+ struct sockaddr_un s_un;
} addr;
int socklen;
int fd, flags;
int yes = 1;
if (!proto
@@ -168,23 +168,23 @@ do_connect(gacopyz_conn_t conn,
_("%s: invalid connection type: %s; "
"port is meaningless for UNIX sockets"),
conn->desc.xxfi_name, cstr);
return -1;
}
- if (strlen(path) > sizeof addr.sun.sun_path) {
+ if (strlen(path) > sizeof addr.s_un.sun_path) {
errno = EINVAL;
gacopyz_log(conn, SMI_LOG_ERR,
_("%s: %s: UNIX socket name too long"),
conn->desc.xxfi_name, path);
return -1;
}
addr.sa.sa_family = PF_UNIX;
- socklen = sizeof(addr.sun);
- strcpy(addr.sun.sun_path, path);
+ socklen = sizeof(addr.s_un);
+ strcpy(addr.s_un.sun_path, path);
if (stat(path, &st)) {
if (errno == ENOENT) {
conn->cleanup = cleanup_unix_socket;
conn->cleanup_data = strdup(path);
} else {
@@ -214,13 +214,13 @@ do_connect(gacopyz_conn_t conn,
} else if (strcmp(proto, "inet") == 0) {
short pnum;
long num;
char *p;
addr.sa.sa_family = PF_INET;
- socklen = sizeof(addr.sin);
+ socklen = sizeof(addr.s_in);
if (!port) {
gacopyz_log(conn, SMI_LOG_ERR,
_("%s: invalid connection type: %s; "
"missing port number"),
conn->desc.xxfi_name, cstr);
@@ -247,26 +247,26 @@ do_connect(gacopyz_conn_t conn,
return -1;
}
pnum = sp->s_port;
}
if (!path)
- addr.sin.sin_addr.s_addr = INADDR_ANY;
+ addr.s_in.sin_addr.s_addr = INADDR_ANY;
else {
struct hostent *hp = gethostbyname(path);
if (!hp) {
gacopyz_log(conn, SMI_LOG_ERR,
_("%s: Unknown host name %s"),
conn->desc.xxfi_name, path);
return -1;
}
addr.sa.sa_family = hp->h_addrtype;
switch (hp->h_addrtype) {
case AF_INET:
- memmove(&addr.sin.sin_addr, hp->h_addr, 4);
- addr.sin.sin_port = pnum;
+ memmove(&addr.s_in.sin_addr, hp->h_addr, 4);
+ addr.s_in.sin_port = pnum;
break;
default:
gacopyz_log(conn, SMI_LOG_ERR,
_("%s: invalid connection type: %s; "
"unsupported address family"),

Return to:

Send suggestions and report system problems to the System administrator.