This file is indexed.

/usr/include/dovecot/mbox-storage.h is in dovecot-dev 1:2.2.9-1ubuntu2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
#ifndef MBOX_STORAGE_H
#define MBOX_STORAGE_H

#include "index-storage.h"
#include "mbox-settings.h"
#include "mbox-md5.h"

/* Padding to leave in X-Keywords header when rewriting mbox */
#define MBOX_HEADER_PADDING 50
/* Don't write Content-Length header unless it's value is larger than this. */
#define MBOX_MIN_CONTENT_LENGTH_SIZE 1024

#define MBOX_STORAGE_NAME "mbox"
#define MBOX_SUBSCRIPTION_FILE_NAME ".subscriptions"
#define MBOX_INDEX_DIR_NAME ".imap"
#define MBOX_UIDVALIDITY_FNAME "dovecot-uidvalidity"

struct mbox_index_header {
	uint64_t sync_size;
	uint32_t sync_mtime;
	uint8_t dirty_flag;
	uint8_t unused[3];
	guid_128_t mailbox_guid;
};

struct mbox_list_index_record {
	uint32_t mtime;
	uint32_t size;
};

struct mbox_storage {
	struct mail_storage storage;

	const struct mbox_settings *set;
	enum mbox_lock_type *read_locks;
	enum mbox_lock_type *write_locks;
	unsigned int lock_settings_initialized:1;
};

struct mbox_mailbox {
	struct mailbox box;
	struct mbox_storage *storage;

	int mbox_fd;
	struct istream *mbox_stream, *mbox_file_stream;
	int mbox_lock_type;
	dev_t mbox_dev;
	ino_t mbox_ino;
	unsigned int mbox_excl_locks, mbox_shared_locks;
	struct dotlock *mbox_dotlock;
	unsigned int mbox_lock_id, mbox_global_lock_id;
	struct timeout *keep_lock_to;
	bool mbox_writeonly;
	unsigned int external_transactions;

	uint32_t mbox_ext_idx, md5hdr_ext_idx, mbox_list_index_ext_id;
	struct mbox_index_header mbox_hdr;
	const struct mailbox_update *sync_hdr_update;

	struct mbox_md5_vfuncs md5_v;

	unsigned int no_mbox_file:1;
	unsigned int invalid_mbox_file:1;
	unsigned int mbox_broken_offsets:1;
	unsigned int mbox_save_md5:1;
	unsigned int mbox_dotlocked:1;
	unsigned int mbox_used_privileges:1;
	unsigned int mbox_privileged_locking:1;
	unsigned int syncing:1;
	unsigned int backend_readonly:1;
	unsigned int backend_readonly_set:1;
};

struct mbox_transaction_context {
	struct mailbox_transaction_context t;
	union mail_index_transaction_module_context module_ctx;

	unsigned int read_lock_id;
	unsigned int write_lock_id;
};

extern struct mail_vfuncs mbox_mail_vfuncs;
extern const char *mbox_hide_headers[], *mbox_save_drop_headers[];
extern unsigned int mbox_hide_headers_count, mbox_save_drop_headers_count;

void mbox_set_syscall_error(struct mbox_mailbox *mbox, const char *function);

struct mailbox_sync_context *
mbox_storage_sync_init(struct mailbox *box, enum mailbox_sync_flags flags);

struct mail_save_context *
mbox_save_alloc(struct mailbox_transaction_context *_t);
int mbox_save_begin(struct mail_save_context *ctx, struct istream *input);
int mbox_save_continue(struct mail_save_context *ctx);
int mbox_save_finish(struct mail_save_context *ctx);
void mbox_save_cancel(struct mail_save_context *ctx);

int mbox_transaction_save_commit_pre(struct mail_save_context *ctx);
void mbox_transaction_save_commit_post(struct mail_save_context *ctx,
				       struct mail_index_transaction_commit_result *result);
void mbox_transaction_save_rollback(struct mail_save_context *ctx);

bool mbox_is_backend_readonly(struct mbox_mailbox *mbox);

#endif