~ubuntu-dev/ubuntu/lucid/dovecot/lucid-201002101918

« back to all changes in this revision

Viewing changes to src/lib-sql/sql-pool.c

  • Committer: Bazaar Package Importer
  • Author(s): CHuck Short, Chuck Short
  • Date: 2009-11-06 00:47:29 UTC
  • mfrom: (4.1.9 squeeze)
  • Revision ID: james.westby@ubuntu.com-20091106004729-i39n7v9e7d4h51f6
Tags: 1:1.2.6-1ubuntu1
* Merge from debian testing, remaining changes:
  Add new binary pkg dovecot-postfix that integrates postfix and dovecot
  automatically: (LP: #164837)
  + debian/control:
    - add new binary with short description
    - set Architecture all for dovecot-postfix (LP: #329878)
  + debian/dovecot-postfix.postinst:
    - create initial certificate symlinks to snakeoil.
    - set up postfix with postconf to:
      - use Maildir/ as the default mailbox.
      - use dovecot as the sasl authentication server.
      - use dovecot LDA (deliver).
      - use tls for smtp{d} services.
    - fix certificates paths in postfix' main.cf
    - add reject_unauth_destination to postfix' recipient restrictions
    - add reject_unknown_sender_domain to postfix' sender restrictions
    - rename configuration name on remove, delete on purge
    - restart dovecot after linking certificates
    - handle use case when postfix is unconfigurated
   + debian/dovecot-postfix.dirs: create backup directory for postfix's configuration
   + restart postfix and dovecot.
   + debian/dovecot-postfix.postrm:
     - remove all dovecot related configuration from postfix.
     - restart postfix and dovecot.
   + debian/dovecot-common.init:
     - check if /etc/dovecot/dovecot-postfix.conf exists and use it
       as the configuration file if so.
   + debian/patches/warning-ubuntu-postfix.dpatch
     - add warning about dovecot-postfix.conf in dovecot default 
       configuration file
   + debian/patches/dovecot-postfix.conf.diff:
     - Ubuntu server custom changes to the default dovecot configuration for
       better interfation with postfix
     - enable sieve plugin
   + debian/patches/dovecot-postfix.conf.diff:
     + Ubuntu server custom changes to the default dovecot configuration for
       better integration with postfix:
       - enable imap, pop3, imaps, pop3s and managesieve by default.
       - enable dovecot LDA (deliver).
       - enable SASL auth socket in postfix private directory.
   + debian/rules:
     - copy, patch and install dovecot-postfix.conf in /etc/dovecot/.
     - build architecure independent packages too
   + Use Snakeoil SSL certificates by default.
     - debian/control: Depend on ssl-cert.
     - debian/patches/ssl-cert-snakeoil.dpatch: Change default SSL cert
       paths to snakeoil.
     - debian/dovecot-common.postinst: Relax grep for SSL_* a bit.
   + Add autopkgtest to debian/tests/*.
   + Fast TearDown: Update the lsb init header to not stop in level 6.
   + Add ufw integration:
     - Created debian/dovecot-common.ufw.profile.
     - debian/rules:
       + install profile
     - debian/control:
       + Suggest ufw
   + debian/{control,rules}: enable PIE hardening.
   + dovecot-imapd, dovecot-pop3: Replaces dovecot-common (<< 1:1.1). LP: #254721
   + debian/control:
     - Update Vcs-* headers.
   + debian/rules:
     - Create emtpy stamp.h.in files in dovecot-sieve/ and dovecot-managesieve/
       if they're not there since empty files are not included in the diff.gz 
       file.
   + Add SMTP-AUTH support for Outlook (login auth mechanism)
   + Dropped:
     - debian/patches/security-CVE-2009-3235: Applied upstream.
     - debian/patches/fix-pop3-assertion.dpatch: Applied upstream.
     - dovecot-sieve and dovecot-managesieve: Use the debian patches instead.

  [Chuck Short]
  - Updated dovecot-sieve to 0.1.13.
  - Updated dovecot-managesieve to 0.11.9.

Show diffs side-by-side

added added

removed removed

Lines of Context:
61
61
        if (ctx->next == NULL)
62
62
                ctx->pool->unused_head = ctx->prev;
63
63
        else {
64
 
                next_ctx = SQL_POOL_CONTEXT(ctx->prev);
 
64
                next_ctx = SQL_POOL_CONTEXT(ctx->next);
65
65
                next_ctx->prev = ctx->prev;
66
66
        }
67
67
        ctx->pool->unused_count--;
90
90
        char *key;
91
91
 
92
92
        key = i_strdup_printf("%s\t%s", db_driver, connect_string);
93
 
        db = hash_lookup(pool->dbs, key);
 
93
        db = hash_table_lookup(pool->dbs, key);
94
94
        if (db != NULL) {
95
95
                ctx = SQL_POOL_CONTEXT(db);
96
96
                if (ctx->refcount == 0) {
110
110
                db->v.deinit = sql_pool_db_deinit;
111
111
 
112
112
                MODULE_CONTEXT_SET(db, sql_pool_module, ctx);
113
 
                hash_insert(pool->dbs, ctx->key, db);
 
113
                hash_table_insert(pool->dbs, ctx->key, db);
114
114
        }
115
115
 
116
116
        ctx->refcount++;
122
122
        struct sql_pool *pool;
123
123
 
124
124
        pool = i_new(struct sql_pool, 1);
125
 
        pool->dbs = hash_create(default_pool, default_pool, 0, str_hash,
126
 
                                (hash_cmp_callback_t *)strcmp);
 
125
        pool->dbs = hash_table_create(default_pool, default_pool, 0, str_hash,
 
126
                                      (hash_cmp_callback_t *)strcmp);
127
127
        pool->max_unused_connections = max_unused_connections;
128
128
        return pool;
129
129
}
133
133
        struct sql_pool *pool = *_pool;
134
134
 
135
135
        *_pool = NULL;
136
 
        hash_destroy(&pool->dbs);
 
136
        hash_table_destroy(&pool->dbs);
137
137
        i_free(pool);
138
138
}