[dovecot/core] 3a3c78: login proxy: Hanging outgoing SSL connections caus...

GitHub noreply at github.com
Thu Oct 20 12:12:44 UTC 2016


  Branch: refs/heads/master-2.2
  Home:   https://github.com/dovecot/core
  Commit: 3a3c7835b26bd396881fce47cf15b9eeb37c42a9
      https://github.com/dovecot/core/commit/3a3c7835b26bd396881fce47cf15b9eeb37c42a9
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-10-20 (Thu, 20 Oct 2016)

  Changed paths:
    M src/login-common/login-proxy.c

  Log Message:
  -----------
  login proxy: Hanging outgoing SSL connections caused using already-freed memory

This mainly happened when login proxy closed the connection due to connect
timeout. The ssl-proxy still had a reference and existed for a longer time.
If SSL handshake still succeeded afterwards, it now called
login_proxy_ssl_handshaked(), which accessed the already-freed proxy and
likely crashed.

Fixed the ssl-client proxy code specifically. Alternatively ssl_proxy_free()
could be calling ssl_proxy_destroy() always, but since ssl-server side of
the code seems to have been working fine, I don't want to accidentally
break it.


  Commit: 588e91edfc85a1abe1a2c486ed8fbdfe22bc3c19
      https://github.com/dovecot/core/commit/588e91edfc85a1abe1a2c486ed8fbdfe22bc3c19
  Author: Aki Tuomi <aki.tuomi at dovecot.fi>
  Date:   2016-10-20 (Thu, 20 Oct 2016)

  Changed paths:
    M src/auth/auth-request-var-expand.c
    M src/auth/auth-request-var-expand.h
    M src/auth/auth-request.c
    M src/auth/auth-request.h
    M src/lib-auth/auth-client-request.c
    M src/lib-auth/auth-client.h
    M src/login-common/client-common.h
    M src/login-common/login-settings.c
    M src/login-common/sasl-server.c
    M src/login-common/ssl-proxy-openssl.c

  Log Message:
  -----------
  auth: Pass local_name to auth-request

This allows using local_name in various places,
such as passdb/userdb queries.


  Commit: cbff70d5506826af9a4b30d7dc13feae8aca5942
      https://github.com/dovecot/core/commit/cbff70d5506826af9a4b30d7dc13feae8aca5942
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-10-20 (Thu, 20 Oct 2016)

  Changed paths:
    M src/doveadm/client-connection-http.c
    M src/doveadm/client-connection-private.h
    M src/doveadm/client-connection.c
    M src/doveadm/client-connection.h
    M src/doveadm/doveadm.h
    M src/doveadm/main.c

  Log Message:
  -----------
  doveadm-server: Show incoming connection's IP and running command is process title.


  Commit: bc185e31846ce9fd4b12a4f216010b8a2fd621ae
      https://github.com/dovecot/core/commit/bc185e31846ce9fd4b12a4f216010b8a2fd621ae
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-10-20 (Thu, 20 Oct 2016)

  Changed paths:
    M src/doveadm/doveadm-auth.c

  Log Message:
  -----------
  doveadm user: If lookup fails, don't write it to the same line as header.


  Commit: 7fa3afc2857c1128724275dbc41a76d1910e5a65
      https://github.com/dovecot/core/commit/7fa3afc2857c1128724275dbc41a76d1910e5a65
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-10-20 (Thu, 20 Oct 2016)

  Changed paths:
    M src/doveadm/Makefile.am
    M src/doveadm/doveadm-master.c
    R src/doveadm/doveadm-service.c

  Log Message:
  -----------
  doveadm service stop: Moved command handling to doveadm-master.c

It's talking to master process, and there will be other non-service commands
that talk to the master process in the same way.


  Commit: ae1884edce9a9e47b4cfcec5f73c91e28592bf78
      https://github.com/dovecot/core/commit/ae1884edce9a9e47b4cfcec5f73c91e28592bf78
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-10-20 (Thu, 20 Oct 2016)

  Changed paths:
    M src/doveadm/doveadm-master.c

  Log Message:
  -----------
  doveadm service stop: Code cleanup - Prepare for other service commands.


  Commit: bcab4a375b082d76cf6336b65eb5e69bff9b36ec
      https://github.com/dovecot/core/commit/bcab4a375b082d76cf6336b65eb5e69bff9b36ec
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-10-20 (Thu, 20 Oct 2016)

  Changed paths:
    M src/doveadm/doveadm-master.c

  Log Message:
  -----------
  doveadm service stop: Convert to doveadm v2 API


  Commit: 02db6679456ef8b30a281ac997f7c0b5239495c2
      https://github.com/dovecot/core/commit/02db6679456ef8b30a281ac997f7c0b5239495c2
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-10-20 (Thu, 20 Oct 2016)

  Changed paths:
    M src/doveadm/doveadm-master.c

  Log Message:
  -----------
  doveadm-master: Code cleanup - simplify sending command args to master.

This also escapes the parameters to make sure nothing bad can be sent.


  Commit: 7c4cbc92cec6c34fb7ba9fdcfd0bbd8de8106c51
      https://github.com/dovecot/core/commit/7c4cbc92cec6c34fb7ba9fdcfd0bbd8de8106c51
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-10-20 (Thu, 20 Oct 2016)

  Changed paths:
    M src/doveadm/doveadm-cmd.c
    M src/doveadm/doveadm-cmd.h
    M src/doveadm/doveadm-master.c
    M src/master/master-client.c

  Log Message:
  -----------
  Added "doveadm service status"

This allows asking for services' current status in master process.


  Commit: 6516a748202ee1bd45dc84d745d3d644824886d8
      https://github.com/dovecot/core/commit/6516a748202ee1bd45dc84d745d3d644824886d8
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-10-20 (Thu, 20 Oct 2016)

  Changed paths:
    M src/doveadm/doveadm-cmd.c
    M src/doveadm/doveadm-cmd.h
    M src/doveadm/doveadm-master.c
    M src/master/master-client.c

  Log Message:
  -----------
  Added "doveadm process status"

This allows asking for processes' current status in master process.


Compare: https://github.com/dovecot/core/compare/fdcd289cc3bc...6516a748202e


More information about the dovecot-cvs mailing list