← Back to team overview

group.of.nepali.translators team mailing list archive

[Bug 1881196] Re: [SRU] postfix tls deploy-server-cert fails with "can't shift that many"

 

This bug was fixed in the package postfix - 3.3.0-1ubuntu0.3

---------------
postfix (3.3.0-1ubuntu0.3) bionic; urgency=medium

  * d/p/fix_tls_deploy-server-cert.patch: handle missing opt arg (LP:
#1881196)

 -- Lucas Kanashiro <kanashiro@xxxxxxxxxx>  Fri, 10 Jul 2020 17:08:22
-0300

** Changed in: postfix (Ubuntu Bionic)
       Status: Fix Committed => Fix Released

** Changed in: postfix (Ubuntu Xenial)
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of नेपाली
भाषा समायोजकहरुको समूह, which is subscribed to Xenial.
Matching subscriptions: Ubuntu 16.04 Bugs
https://bugs.launchpad.net/bugs/1881196

Title:
  [SRU] postfix tls deploy-server-cert fails with "can't shift that
  many"

Status in postfix package in Ubuntu:
  Fix Released
Status in postfix source package in Xenial:
  Fix Released
Status in postfix source package in Bionic:
  Fix Released
Status in postfix source package in Eoan:
  Won't Fix
Status in postfix source package in Focal:
  Fix Released

Bug description:
  [Impact]

  "postfix tls deploy-server-cert" did not handle a missing optional
  argument which makes users get a "can't shift that many..." error.

  In order to fix the issue the following upstream patch is going to be
  backported to Bionic and Xenial:

  20200530

   Bugfix (introduced: Postfix 3.1): "postfix tls deploy-server-cert"
   did not handle a missing optional argument. File:
   conf/postfix-tls-script.

  [Test Case]

  Install postfix and try to deploy a server certificate:

  $ lxc launch ubuntu-daily:bionic postfix-cert
  $ lxc shell postfix-cert
  # apt-get update && apt-get upgrade -y
  # apt install postfix ssl-cert
  # postfix tls deploy-server-cert /etc/ssl/certs/ssl-cert-snakeoil.pem /etc/ssl/private/ssl-cert-snakeoil.key
  /usr/lib/postfix/sbin/postfix-tls-script: 780: shift: can't shift that many

  If you try the commands above in a Xenial container you'll get the
  same error.

  [Regression Potential]

  The proposed change is one line and self contained, so no regression
  is expected. But if a regression is going to happen it will be in the
  "postfix tls deploy-server-cert" command.

  [Original Description]

  lsb_release -rd
  Description:    Ubuntu 18.04.4 LTS
  Release:        18.04

  postfix:
    Installed: 3.3.0-1ubuntu0.2
    Candidate: 3.3.0-1ubuntu0.2
    Version table:
   *** 3.3.0-1ubuntu0.2 500
          500 http://us-west-2.ec2.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages
          100 /var/lib/dpkg/status
       3.3.0-1 500
          500 http://us-west-2.ec2.archive.ubuntu.com/ubuntu bionic/main amd64 Packages

  Attempting to deploy server certificates with
       postfix tls deploy-server-cert certificate.crt keyfile.key

  Expected to deploy new certificates

  What happened - command fails with
       /usr/lib/postfix/sbin/postfix-tls-script: 780: shift: can't shift that many

  The issue appears to be that the function "deploy-server-cert" in
  /usr/lib/postfix/sbin/postfix-tls-script expects that there will be
  three arguments:

  /usr/lib/postfix/sbin/postfix-tls-script  line 777
       deploy_server_cert() {
       certfile=$1; shift
       keyfile=$1; shift
       deploy=$1; shift
              ...

  This works when the function is called by the function new_server_cert, which calls the function with the arguments:
       deploy_server_cert "${certfile}" "${keyfile}" "${deploy}" || return 1

  But when this function is invoked directly in line 1154, it is called with only 2 arguments
       deploy_server_cert "${certfile}" "${keyfile}" || exit 1

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/postfix/+bug/1881196/+subscriptions