Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.bugs.dist > #1198208 > unrolled thread

Bug#1071596: apache2: envvars evaluates string in conditional instead of testing for empty string

Started byMark Hedges <mark.write.now@gmail.com>
First post2024-05-21 22:40 +0200
Last post2024-05-22 22:30 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.debian.bugs.dist


Contents

  Bug#1071596: apache2: envvars evaluates string in conditional instead of testing for empty string Mark Hedges <mark.write.now@gmail.com> - 2024-05-21 22:40 +0200
    Bug#1071596: apache2: envvars evaluates string in conditional instead of testing for empty string Mark Hedges <the.real.mark.hedges@gmail.com> - 2024-05-22 22:30 +0200

#1198208 — Bug#1071596: apache2: envvars evaluates string in conditional instead of testing for empty string

FromMark Hedges <mark.write.now@gmail.com>
Date2024-05-21 22:40 +0200
SubjectBug#1071596: apache2: envvars evaluates string in conditional instead of testing for empty string
Message-ID<IGEr7-eV7g-5@gated-at.bofh.it>
Package: apache2
Version: 2.4.59-1~deb12u1
Severity: normal

Dear Maintainer,

`envvars` evaluates string in conditional instead of testing for empty string.

`apachectl` calls `envvars` which shows a syntax error despite working:

 root@nodeo:/etc/letsencrypt# apachectl configtest
 /usr/sbin/apachectl: 6: [: /etc/apache2: unexpected operator
 Syntax OK

If I change this line in `envvars`:

 if [ "${APACHE_CONFDIR}" == "" ]; then
	 export APACHE_CONFDIR=/etc/apache2
 fi

to this:

 if [ -z ${APACHE_CONFDIR} ]; then
	 export APACHE_CONFDIR=/etc/apache2
 fi

... then it works.

It's trying to evaluate `/etc/apache2` as a command?  Weird.

PATH seems totally normal.

Mark

-- Package-specific info:

-- System Information:
Debian Release: 12.5
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 6.1.0-21-amd64 (SMP w/1 CPU thread; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages apache2 depends on:
ii  apache2-bin                2.4.59-1~deb12u1
ii  apache2-data               2.4.59-1~deb12u1
ii  apache2-utils              2.4.59-1~deb12u1
ii  init-system-helpers        1.65.2
ii  lsb-base                   11.6
ii  media-types                10.0.0
ii  perl                       5.36.0-7+deb12u1
ii  procps                     2:4.0.2-3
ii  sysvinit-utils [lsb-base]  3.06-4

Versions of packages apache2 recommends:
ii  ssl-cert  1.1.2

Versions of packages apache2 suggests:
pn  apache2-doc                                      <none>
pn  apache2-suexec-pristine | apache2-suexec-custom  <none>
ii  chromium [www-browser]                           125.0.6422.60-1~deb12u1

Versions of packages apache2-bin depends on:
ii  libapr1                  1.7.2-3
ii  libaprutil1              1.6.3-1
ii  libaprutil1-dbd-sqlite3  1.6.3-1
ii  libaprutil1-ldap         1.6.3-1
ii  libbrotli1               1.0.9-2+b6
ii  libc6                    2.36-9+deb12u7
ii  libcrypt1                1:4.4.33-2
ii  libcurl4                 7.88.1-10+deb12u5
ii  libjansson4              2.14-2
ii  libldap-2.5-0            2.5.13+dfsg-5
ii  liblua5.3-0              5.3.6-2
ii  libnghttp2-14            1.52.0-1+deb12u1
ii  libpcre2-8-0             10.42-1
ii  libssl3                  3.0.11-1~deb12u2
ii  libxml2                  2.9.14+dfsg-1.3~deb12u1
ii  perl                     5.36.0-7+deb12u1
ii  zlib1g                   1:1.2.13.dfsg-1

Versions of packages apache2-bin suggests:
pn  apache2-doc                                      <none>
pn  apache2-suexec-pristine | apache2-suexec-custom  <none>
ii  chromium [www-browser]                           125.0.6422.60-1~deb12u1

Versions of packages apache2 is related to:
ii  apache2      2.4.59-1~deb12u1
ii  apache2-bin  2.4.59-1~deb12u1

-- Configuration Files:
/etc/apache2/apache2.conf changed:
DefaultRuntimeDir ${APACHE_RUN_DIR}
PidFile ${APACHE_PID_FILE}
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
HostnameLookups Off
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf
Include ports.conf
<Directory />
	Options FollowSymLinks
	AllowOverride None
	Require all denied
</Directory>
<Directory /usr/share>
	AllowOverride None
	Require all granted
</Directory>
<Directory /var/www/>
	Options Indexes FollowSymLinks
	AllowOverride None
	Require all granted
</Directory>
AccessFileName .htaccess
<FilesMatch "^\.ht">
	Require all denied
</FilesMatch>
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
IncludeOptional conf-enabled/*.conf
IncludeOptional sites-enabled/*.conf

/etc/apache2/envvars changed:
unset HOME
if [ -z "${APACHE_CONFDIR}" ]; then
	export APACHE_CONFDIR=/etc/apache2
fi
if [ "${APACHE_CONFDIR##/etc/apache2-}" != "${APACHE_CONFDIR}" ] ; then
	SUFFIX="-${APACHE_CONFDIR##/etc/apache2-}"
else
	SUFFIX=
fi
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
export APACHE_PID_FILE=/var/run/apache2$SUFFIX/apache2.pid
export APACHE_RUN_DIR=/var/run/apache2$SUFFIX
export APACHE_LOCK_DIR=/var/lock/apache2$SUFFIX
export APACHE_LOG_DIR=/var/log/apache2$SUFFIX
export LANG=C
export LANG


-- no debconf information

[toc] | [next] | [standalone]


#1198288

FromMark Hedges <the.real.mark.hedges@gmail.com>
Date2024-05-22 22:30 +0200
Message-ID<IH0L0-f8vl-5@gated-at.bofh.it>
In reply to#1198208
Weird.  I'll have to reinstall apache2.  Maybe I edited it long ago to
debug it, forgot a space, and it got stuck by debconf picking my
version on upgrades instead of the package maintainer's.  Thanks.


On Wed, May 22, 2024 at 12:38 PM Stefan Fritsch <sf@sfritsch.de> wrote:
>
> Hi Mark,
>
> Am 21.05.24 um 22:30 schrieb Mark Hedges:
> > Package: apache2
> > Version: 2.4.59-1~deb12u1
> > Severity: normal
> >
> > Dear Maintainer,
> >
> > `envvars` evaluates string in conditional instead of testing for empty string.
> >
> > `apachectl` calls `envvars` which shows a syntax error despite working:
> >
> >   root@nodeo:/etc/letsencrypt# apachectl configtest
> >   /usr/sbin/apachectl: 6: [: /etc/apache2: unexpected operator
> >   Syntax OK
> >
> > If I change this line in `envvars`:
> >
> >   if [ "${APACHE_CONFDIR}" == "" ]; then
> >        export APACHE_CONFDIR=/etc/apache2
> >   fi
>
> This snippet is not in the original file from the apache2 package.
> Compare to
> https://salsa.debian.org/apache-team/apache2/-/blob/master/debian/config-dir/envvars?ref_type=heads
>
> Either you or some package or script has changed the file. If you have
> etckeeper you could dig in the logs.
>
> Cheers,
> Stefan
>
> >
> > to this:
> >
> >   if [ -z ${APACHE_CONFDIR} ]; then
> >        export APACHE_CONFDIR=/etc/apache2
> >   fi
> >
> > ... then it works.
> >
> > It's trying to evaluate `/etc/apache2` as a command?  Weird.
> >
> > PATH seems totally normal.
> >
> > Mark
> >
> > -- Package-specific info:
> >
> > -- System Information:
> > Debian Release: 12.5
> >    APT prefers stable-updates
> >    APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
> > Architecture: amd64 (x86_64)
> >
> > Kernel: Linux 6.1.0-21-amd64 (SMP w/1 CPU thread; PREEMPT)
> > Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
> > Shell: /bin/sh linked to /usr/bin/dash
> > Init: systemd (via /run/systemd/system)
> > LSM: AppArmor: enabled
> >
> > Versions of packages apache2 depends on:
> > ii  apache2-bin                2.4.59-1~deb12u1
> > ii  apache2-data               2.4.59-1~deb12u1
> > ii  apache2-utils              2.4.59-1~deb12u1
> > ii  init-system-helpers        1.65.2
> > ii  lsb-base                   11.6
> > ii  media-types                10.0.0
> > ii  perl                       5.36.0-7+deb12u1
> > ii  procps                     2:4.0.2-3
> > ii  sysvinit-utils [lsb-base]  3.06-4
> >
> > Versions of packages apache2 recommends:
> > ii  ssl-cert  1.1.2
> >
> > Versions of packages apache2 suggests:
> > pn  apache2-doc                                      <none>
> > pn  apache2-suexec-pristine | apache2-suexec-custom  <none>
> > ii  chromium [www-browser]                           125.0.6422.60-1~deb12u1
> >
> > Versions of packages apache2-bin depends on:
> > ii  libapr1                  1.7.2-3
> > ii  libaprutil1              1.6.3-1
> > ii  libaprutil1-dbd-sqlite3  1.6.3-1
> > ii  libaprutil1-ldap         1.6.3-1
> > ii  libbrotli1               1.0.9-2+b6
> > ii  libc6                    2.36-9+deb12u7
> > ii  libcrypt1                1:4.4.33-2
> > ii  libcurl4                 7.88.1-10+deb12u5
> > ii  libjansson4              2.14-2
> > ii  libldap-2.5-0            2.5.13+dfsg-5
> > ii  liblua5.3-0              5.3.6-2
> > ii  libnghttp2-14            1.52.0-1+deb12u1
> > ii  libpcre2-8-0             10.42-1
> > ii  libssl3                  3.0.11-1~deb12u2
> > ii  libxml2                  2.9.14+dfsg-1.3~deb12u1
> > ii  perl                     5.36.0-7+deb12u1
> > ii  zlib1g                   1:1.2.13.dfsg-1
> >
> > Versions of packages apache2-bin suggests:
> > pn  apache2-doc                                      <none>
> > pn  apache2-suexec-pristine | apache2-suexec-custom  <none>
> > ii  chromium [www-browser]                           125.0.6422.60-1~deb12u1
> >
> > Versions of packages apache2 is related to:
> > ii  apache2      2.4.59-1~deb12u1
> > ii  apache2-bin  2.4.59-1~deb12u1
> >
> > -- Configuration Files:
> > /etc/apache2/apache2.conf changed:
> > DefaultRuntimeDir ${APACHE_RUN_DIR}
> > PidFile ${APACHE_PID_FILE}
> > Timeout 300
> > KeepAlive On
> > MaxKeepAliveRequests 100
> > KeepAliveTimeout 5
> > User ${APACHE_RUN_USER}
> > Group ${APACHE_RUN_GROUP}
> > HostnameLookups Off
> > ErrorLog ${APACHE_LOG_DIR}/error.log
> > LogLevel warn
> > IncludeOptional mods-enabled/*.load
> > IncludeOptional mods-enabled/*.conf
> > Include ports.conf
> > <Directory />
> >       Options FollowSymLinks
> >       AllowOverride None
> >       Require all denied
> > </Directory>
> > <Directory /usr/share>
> >       AllowOverride None
> >       Require all granted
> > </Directory>
> > <Directory /var/www/>
> >       Options Indexes FollowSymLinks
> >       AllowOverride None
> >       Require all granted
> > </Directory>
> > AccessFileName .htaccess
> > <FilesMatch "^\.ht">
> >       Require all denied
> > </FilesMatch>
> > LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
> > LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
> > LogFormat "%h %l %u %t \"%r\" %>s %O" common
> > LogFormat "%{Referer}i -> %U" referer
> > LogFormat "%{User-agent}i" agent
> > IncludeOptional conf-enabled/*.conf
> > IncludeOptional sites-enabled/*.conf
> >
> > /etc/apache2/envvars changed:
> > unset HOME
> > if [ -z "${APACHE_CONFDIR}" ]; then
> >       export APACHE_CONFDIR=/etc/apache2
> > fi
> > if [ "${APACHE_CONFDIR##/etc/apache2-}" != "${APACHE_CONFDIR}" ] ; then
> >       SUFFIX="-${APACHE_CONFDIR##/etc/apache2-}"
> > else
> >       SUFFIX=
> > fi
> > export APACHE_RUN_USER=www-data
> > export APACHE_RUN_GROUP=www-data
> > export APACHE_PID_FILE=/var/run/apache2$SUFFIX/apache2.pid
> > export APACHE_RUN_DIR=/var/run/apache2$SUFFIX
> > export APACHE_LOCK_DIR=/var/lock/apache2$SUFFIX
> > export APACHE_LOG_DIR=/var/log/apache2$SUFFIX
> > export LANG=C
> > export LANG
> >
> >
> > -- no debconf information
> >

[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.bugs.dist


csiph-web