doveadm-fs.c revision 713a54f695b8ad63826d22ebbe52f55c347e8c88
6004fdf3cc8fe87a6c35ce297d39ab68feb707b0Aki Tuomi/* Copyright (c) 2013 Dovecot authors, see the included COPYING file */
6004fdf3cc8fe87a6c35ce297d39ab68feb707b0Aki Tuomistatic struct fs *
6004fdf3cc8fe87a6c35ce297d39ab68feb707b0Aki Tuomicmd_fs_init(int *argc, char **argv[], int own_arg_count, doveadm_command_t *cmd)
6004fdf3cc8fe87a6c35ce297d39ab68feb707b0Aki Tuomi const char *error;
6004fdf3cc8fe87a6c35ce297d39ab68feb707b0Aki Tuomi ssl_set.ca_dir = doveadm_settings->ssl_client_ca_dir;
6004fdf3cc8fe87a6c35ce297d39ab68feb707b0Aki Tuomi if (fs_init((*argv)[1], (*argv)[2], &fs_set, &fs, &error) < 0)
6004fdf3cc8fe87a6c35ce297d39ab68feb707b0Aki Tuomi const unsigned char *data;
6004fdf3cc8fe87a6c35ce297d39ab68feb707b0Aki Tuomi file = fs_file_init(fs, argv[0], FS_OPEN_MODE_READONLY);
6004fdf3cc8fe87a6c35ce297d39ab68feb707b0Aki Tuomi while ((ret = i_stream_read_data(input, &data, &size, 0)) > 0) {
6004fdf3cc8fe87a6c35ce297d39ab68feb707b0Aki Tuomi i_error("read(%s) failed: %m", fs_file_path(file));
6004fdf3cc8fe87a6c35ce297d39ab68feb707b0Aki Tuomi file = fs_file_init(fs, dest_path, FS_OPEN_MODE_REPLACE);
6004fdf3cc8fe87a6c35ce297d39ab68feb707b0Aki Tuomi input = i_stream_create_file(src_path, IO_BLOCK_SIZE);
6004fdf3cc8fe87a6c35ce297d39ab68feb707b0Aki Tuomi if ((ret = o_stream_send_istream(output, input)) < 0) {
6004fdf3cc8fe87a6c35ce297d39ab68feb707b0Aki Tuomi src_file = fs_file_init(fs, src_path, FS_OPEN_MODE_READONLY);
6004fdf3cc8fe87a6c35ce297d39ab68feb707b0Aki Tuomi dest_file = fs_file_init(fs, dest_path, FS_OPEN_MODE_REPLACE);
const char *fname;
i_unreached();
void doveadm_register_fs_commands(void)