~james-page/ubuntu/raring/dovecot/autopkgtest

« back to all changes in this revision

Viewing changes to pigeonhole/src/managesieve/managesieve-client.c

  • Committer: Package Import Robot
  • Author(s): James Page
  • Date: 2012-06-11 11:11:54 UTC
  • mfrom: (1.15.2) (4.1.27 sid)
  • Revision ID: package-import@ubuntu.com-20120611111154-678cwbdj6ktgsv1h
Tags: 1:2.1.7-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/{control,rules}: enable PIE hardening.
  + 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.
  + d/control: Drop B-D on systemd.
* Dropped changes:
  + d/patches/fix-racey-restart.patch: part of 2.1.x, no longer required.

Show diffs side-by-side

added added

removed removed

Lines of Context:
146
146
        client->io = io_add(fd_in, IO_READ, client_input, client);
147
147
        client->last_input = ioloop_time;
148
148
        client->parser = managesieve_parser_create
149
 
                (client->input, client->output, set->managesieve_max_line_length);
 
149
                (client->input, set->managesieve_max_line_length);
150
150
        client->to_idle = timeout_add
151
151
                (CLIENT_IDLE_TIMEOUT_MSECS, client_idle_timeout, client);
152
152
 
412
412
}
413
413
 
414
414
bool client_read_args(struct client_command_context *cmd, unsigned int count,
415
 
        unsigned int flags, bool no_more, struct managesieve_arg **args_r)
 
415
        unsigned int flags, bool no_more, const struct managesieve_arg **args_r)
416
416
{
417
 
        struct managesieve_arg *dummy_args_r = NULL;
 
417
        const struct managesieve_arg *dummy_args_r = NULL;
418
418
        int ret;
419
419
 
420
420
        if ( args_r == NULL ) args_r = &dummy_args_r; 
453
453
bool client_read_string_args(struct client_command_context *cmd,
454
454
                             unsigned int count, bool no_more, ...)
455
455
{
456
 
        struct managesieve_arg *managesieve_args;
 
456
        const struct managesieve_arg *msieve_args;
457
457
        va_list va;
458
458
        const char *str;
459
459
        unsigned int i;
460
460
        bool result = TRUE;
461
461
 
462
 
        if (!client_read_args(cmd, count, 0, no_more, &managesieve_args))
 
462
        if ( !client_read_args(cmd, count, 0, no_more, &msieve_args) )
463
463
                return FALSE;
464
464
 
465
465
        va_start(va, no_more);
466
 
        for (i = 0; i < count; i++) {
 
466
        for ( i = 0; i < count; i++ ) {
467
467
                const char **ret = va_arg(va, const char **);
468
468
 
469
 
                if (managesieve_args[i].type == MANAGESIEVE_ARG_EOL) {
 
469
                if ( MANAGESIEVE_ARG_IS_EOL(&msieve_args[i]) ) {
470
470
                        client_send_command_error(cmd, "Missing arguments.");
471
471
                        result = FALSE;
472
472
                        break;
473
473
                }
474
474
 
475
 
                str = managesieve_arg_string(&managesieve_args[i]);
476
 
                if (str == NULL) {
 
475
                if ( !managesieve_arg_get_string(&msieve_args[i], &str) ) {
477
476
                        client_send_command_error(cmd, "Invalid arguments.");
478
477
                        result = FALSE;
479
478
                        break;