doveadm-zlib.c revision bd63b5b860658b01b1f46f26d406e1e4a9dc019a
/* Copyright (c) 2010-2012 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 *doveadm_zlib_plugin_version = DOVECOT_ABI_VERSION;
extern struct doveadm_cmd doveadm_cmd_zlibconnect;
void doveadm_zlib_plugin_deinit(void);
{
const unsigned char *data;
const char *line;
int fd;
if (fd < 0)
/* skip tag */
if (*line == '\0')
continue;
line++;
break;
}
}
}
static bool test_dump_imapzlib(const char *path)
{
const char *p;
char buf[4096];
return FALSE;
if (fd == -1)
return FALSE;
if (ret > 0) {
}
i_close_fd(&fd);
return match;
}
struct client {
int fd;
bool compressed;
};
{
unsigned char buf[1024];
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: %m");
}
i_info("Server disconnected");
return;
}
i_fatal("write(stdout) failed: %m");
}
{
if (ret != 0) {
}
i_info("Connected to %s port %u. Ctrl-D starts compression",
i_fatal("close() failed: %m");
}
struct doveadm_cmd_dump doveadm_cmd_dump_zlib = {
"imapzlib",
};
struct doveadm_cmd doveadm_cmd_zlibconnect = {
"zlibconnect",
"<host> [<port>]"
};
{
}
void doveadm_zlib_plugin_deinit(void)
{
}