~ubuntu-branches/ubuntu/utopic/dovecot/utopic-proposed

« back to all changes in this revision

Viewing changes to pigeonhole/src/lib-sieve/sieve-generator.h

  • Committer: Package Import Robot
  • Author(s): James Page
  • Date: 2014-01-08 09:35:49 UTC
  • mfrom: (4.1.35 sid)
  • Revision ID: package-import@ubuntu.com-20140108093549-i72o93pux8p0dlaf
Tags: 1:2.2.9-1ubuntu1
* Merge from Debian unstable, remaining changes:
  + Add mail-stack-delivery package:
    - Update d/rules
    - d/control: convert existing dovecot-postfix package to a dummy
      package and add new mail-stack-delivery package.
    - Update maintainer scripts.
    - Rename d/dovecot-postfix.* to debian/mail-stack-delivery.*
    - d/mail-stack-delivery.preinst: Move previously installed backups and
      config files to a new package namespace.
    - d/mail-stack-delivery.prerm: Added to handle downgrades.
  + Use Snakeoil SSL certificates by default:
    - d/control: Depend on ssl-cert.
    - d/dovecot-core.postinst: Relax grep for SSL_* a bit.
  + Add autopkgtest to debian/tests/*.
  + Add ufw integration:
    - d/dovecot-core.ufw.profile: new ufw profile.
    - d/rules: install profile in dovecot-core.
    - d/control: dovecot-core - suggest ufw.
  + d/dovecot-core.dirs: Added usr/share/doc/dovecot-core
  + Add apport hook:
    - d/rules, d/source_dovecot.py
  + Add upstart job:
    - d/rules, d/dovecot-core.dovecot.upstart, d/control,
      d/dovecot-core.dirs, dovecot-imapd.{postrm, postinst, prerm},
      d/dovecot-pop3d.{postinst, postrm, prerm}.
      d/mail-stack-deliver.postinst: Convert init script to upstart.
  + Use the autotools-dev dh addon to update config.guess/config.sub for
    arm64.
* Dropped changes, included in Debian:
  - Update Dovecot name to reflect distribution in login greeting.
  - Update Drac plugin for >= 2.0.0 support.
* d/control: Drop dovecot-postfix package as its no longer required.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* Copyright (c) 2002-2012 Pigeonhole authors, see the included COPYING file
 
1
/* Copyright (c) 2002-2013 Pigeonhole authors, see the included COPYING file
2
2
 */
3
3
 
4
4
#ifndef __SIEVE_GENERATOR_H
30
30
                enum sieve_compile_flags flags);
31
31
void sieve_generator_free(struct sieve_generator **generator);
32
32
 
33
 
/* 
34
 
 * Accessors 
 
33
/*
 
34
 * Accessors
35
35
 */
36
36
 
37
37
struct sieve_error_handler *sieve_generator_error_handler
44
44
struct sieve_binary_block *sieve_generator_get_block
45
45
        (struct sieve_generator *gentr);
46
46
 
47
 
/* 
48
 
 * Error handling 
 
47
/*
 
48
 * Error handling
49
49
 */
50
50
 
51
51
void sieve_generator_warning
52
 
(struct sieve_generator *gentr, unsigned int source_line, 
 
52
(struct sieve_generator *gentr, unsigned int source_line,
53
53
        const char *fmt, ...) ATTR_FORMAT(3, 4);
54
54
void sieve_generator_error
55
 
(struct sieve_generator *gentr, unsigned int source_line, 
 
55
(struct sieve_generator *gentr, unsigned int source_line,
56
56
        const char *fmt, ...) ATTR_FORMAT(3, 4);
57
57
void sieve_generator_critical
58
 
(struct sieve_generator *gentr, unsigned int source_line, 
59
 
        const char *fmt, ...) ATTR_FORMAT(3, 4); 
 
58
(struct sieve_generator *gentr, unsigned int source_line,
 
59
        const char *fmt, ...) ATTR_FORMAT(3, 4);
60
60
 
61
 
/* 
62
 
 * Extension support 
 
61
/*
 
62
 * Extension support
63
63
 */
64
64
 
65
65
void sieve_generator_extension_set_context
66
 
        (struct sieve_generator *gentr, const struct sieve_extension *ext, 
 
66
        (struct sieve_generator *gentr, const struct sieve_extension *ext,
67
67
                void *context);
68
68
const void *sieve_generator_extension_get_context
69
69
        (struct sieve_generator *gentr, const struct sieve_extension *ext);
70
 
                
71
 
/* 
72
 
 * Jump list 
 
70
 
 
71
/*
 
72
 * Jump list
73
73
 */
74
74
 
75
75
struct sieve_jumplist {
76
76
        pool_t pool;
77
77
        struct sieve_binary_block *block;
78
 
        ARRAY_DEFINE(jumps, sieve_size_t);
 
78
        ARRAY(sieve_size_t) jumps;
79
79
};
80
80
 
81
81
struct sieve_jumplist *sieve_jumplist_create
88
88
        (struct sieve_jumplist *jlist, sieve_size_t jump);
89
89
void sieve_jumplist_resolve(struct sieve_jumplist *jlist);
90
90
 
91
 
/* 
92
 
 * Code generation API 
 
91
/*
 
92
 * Code generation API
93
93
 */
94
94
 
95
95
bool sieve_generate_argument
96
 
        (const struct sieve_codegen_env *cgenv, struct sieve_ast_argument *arg, 
 
96
        (const struct sieve_codegen_env *cgenv, struct sieve_ast_argument *arg,
97
97
                struct sieve_command *cmd);
98
98
bool sieve_generate_arguments
99
 
        (const struct sieve_codegen_env *cgenv, struct sieve_command *cmd, 
 
99
        (const struct sieve_codegen_env *cgenv, struct sieve_command *cmd,
100
100
                struct sieve_ast_argument **last_arg_r);
101
101
bool sieve_generate_argument_parameters
102
 
        (const struct sieve_codegen_env *cgenv, struct sieve_command *cmd, 
 
102
        (const struct sieve_codegen_env *cgenv, struct sieve_command *cmd,
103
103
                struct sieve_ast_argument *arg);
104
104
 
105
105
bool sieve_generate_block
106
106
        (const struct sieve_codegen_env *cgenv, struct sieve_ast_node *block);
107
107
bool sieve_generate_test
108
 
        (const struct sieve_codegen_env *cgenv, struct sieve_ast_node *tst_node, 
 
108
        (const struct sieve_codegen_env *cgenv, struct sieve_ast_node *tst_node,
109
109
                struct sieve_jumplist *jlist, bool jump_true);
110
110
struct sieve_binary *sieve_generator_run
111
111
        (struct sieve_generator *gentr, struct sieve_binary_block **sblock_r);