/* Copyright (c) 2010-2018 Dovecot authors, see the included COPYING file */
#include "lib.h"
#include "net.h"
#include "istream.h"
#include "ostream.h"
#include "istream-zlib.h"
#include "ostream-zlib.h"
#include "module-dir.h"
#include "master-service.h"
#include "doveadm-dump.h"
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
{
const char *p;
return FALSE;
if (fd == -1)
return FALSE;
if (ret > 0) {
}
i_close_fd(&fd);
return match;
}
#ifdef HAVE_ZLIB
{
const unsigned char *data;
const char *line;
int fd;
if (fd < 0)
/* skip tag */
if (*line == '\0')
continue;
line++;
break;
}
break;
}
}
struct client {
int fd;
bool compressed;
};
{
if (ret == 0) {
if (client->compressed) {
return;
}
/* start compression */
i_info("<Compression started>");
return;
}
if (ret < 0)
i_fatal("read(stdin) failed: %m");
}
{
const unsigned char *data;
i_fatal("read(server) failed: %s",
}
i_info("Server disconnected");
return;
}
i_fatal("write(stdout) failed: %m");
}
{
unsigned int ips_count;
if (ret != 0) {
}
i_info("Connected to %s port %u. Ctrl-D starts compression",
i_fatal("close() failed: %m");
}
#else
{
i_fatal("Dovecot compiled without zlib support");
}
{
i_fatal("Dovecot compiled without zlib support");
}
#endif
"imapzlib",
};
"zlibconnect",
"<host> [<port>]"
};