~ubuntu-branches/ubuntu/trusty/dovecot/trusty-security

« back to all changes in this revision

Viewing changes to pigeonhole/src/lib-sieve/plugins/notify/ext-notify-common.c

  • Committer: Package Import Robot
  • Author(s): James Page, James Page, Ante Karamatic
  • Date: 2013-02-11 12:41:24 UTC
  • mfrom: (4.1.33 sid)
  • Revision ID: package-import@ubuntu.com-20130211124124-v7bdegzftlhw7yfr
Tags: 1:2.1.7-7ubuntu1
[ James Page ]
* Merge from Debian unstable (LP: #1117613, #1075456), 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.
  + d/control: Added Pre-Depends: dpkg (>= 1.15.6) to dovecot-dbg to support
    xz compression in Ubuntu.
  + d/control: Demote dovecot-common Recommends: to Suggests: to prevent
    install of extra packages on upgrade.
  + d/patches/dovecot-drac.patch: Updated with version for dovecot >= 2.0.0.
* Dropped changes, included in Debian:
  + d/{control,rules}: enable PIE hardening.
  + d/control: Drop B-D on systemd.
* d/p/mail-stack-delivery.postinst: Updated to ensure that configured SSL
  cert and key locations are used when configuring postfix, sorted out
  formatting.
* d/p/dovecot-core.postinst: Create compat links to old style, existing
  SSL cert and key if found.
* d/rules: Don't pass hardening flags for DRAC plugin.
* d/dovecot-{pop3d,imapd}.prerm: Re-sync with Debian.
* d/dovecot-core.lintian-overrides: Drop override for DRAC plugin as not
  required in Ubuntu.
* d/01-mail-stack-delivery: Renamed 99-mail-stack-delivery to ensure that
  the mail-stack-delivery configuration overrides configuration options
  set elsewhere, updated with new cert/key file locations.

[ Ante Karamatic ]
* Change configuration file for LDA on new installs and upgrades
  (LP: #671065).

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
 
4
4
#include "lib.h"
5
5
#include "str.h"
 
6
#include "istream.h"
6
7
#include "rfc822-parser.h"
7
8
#include "message-parser.h"
8
9
#include "message-decoder.h"
158
159
        struct message_block block, decoded;
159
160
        struct istream *input;
160
161
        bool is_text, save_body;
161
 
        int ret;
 
162
        int ret = 1;
162
163
        
163
164
        /* Return cached result if available */
164
165
        mctx = ext_notify_get_message_context(this_ext, renv->msgctx);
171
172
 
172
173
        /* Get the message stream */
173
174
        if ( mail_get_stream(renv->msgdata->mail, NULL, NULL, &input) < 0 )
174
 
                return FALSE;
 
175
                return NULL;
175
176
                        
176
177
        /* Initialize body decoder */
177
178
        decoder = message_decoder_init(FALSE);
179
180
        parser = message_parser_init(mctx->pool, input, 0, 0);
180
181
        is_text = TRUE;
181
182
        save_body = FALSE;
182
 
        while ( (ret = message_parser_parse_next_block(parser, &block)) > 0 ) {         
 
183
        while ( (ret=message_parser_parse_next_block(parser, &block)) > 0 ) {
183
184
                if ( block.hdr != NULL || block.size == 0 ) {
184
185
                        /* Decode block */
185
186
                        (void)message_decoder_decode_next_block(decoder, &block, &decoded);
222
223
        (void)message_parser_deinit(&parser, &parts);
223
224
        message_decoder_deinit(&decoder);
224
225
        
 
226
        if ( ret < 0 && input->stream_errno != 0 )
 
227
                return NULL;
 
228
 
225
229
        /* Return status */
226
230
        return mctx->body_text;
227
231
}