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
|
/*
* Copyright (C) Igor Sysoev
*/
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_event.h>
#include <ngx_imap.h>
static char *ngx_imap_block(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
static ngx_command_t ngx_imap_commands[] = {
{ ngx_string("imap"),
NGX_MAIN_CONF|NGX_CONF_BLOCK|NGX_CONF_NOARGS,
ngx_imap_block,
0,
0,
NULL },
ngx_null_command
};
static ngx_core_module_t ngx_imap_module_ctx = {
ngx_string("imap"),
NULL,
NULL
};
ngx_module_t ngx_imap_module = {
NGX_MODULE_V1,
&ngx_imap_module_ctx, /* module context */
ngx_imap_commands, /* module directives */
NGX_CORE_MODULE, /* module type */
NULL, /* init module */
NULL /* init process */
};
static char *ngx_imap_block(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
{
ngx_listening_t *ls;
/* STUB */
ls = ngx_listening_inet_stream_socket(cf, 0, 8110);
if (ls == NULL) {
return NGX_CONF_ERROR;
}
ls->backlog = -1;
ls->addr_ntop = 1;
ls->handler = ngx_imap_init_connection;
ls->pool_size = 16384;
/* ls->post_accept_timeout = 0; */
ls->log = cf->cycle->new_log;
/* */
return NGX_CONF_OK;
}
|