Merge ~sergiodj/ubuntu/+source/memcached:sasl-configuration-wrong-path-bug1878721-focal into ubuntu/+source/memcached:ubuntu/focal-devel

Proposed by Sergio Durigan Junior
Status: Merged
Approved by: Bryce Harrington
Approved revision: 3cdd6b530852570c87fdbbd4a902e5f3c37636a1
Merged at revision: 3cdd6b530852570c87fdbbd4a902e5f3c37636a1
Proposed branch: ~sergiodj/ubuntu/+source/memcached:sasl-configuration-wrong-path-bug1878721-focal
Merge into: ubuntu/+source/memcached:ubuntu/focal-devel
Diff against target: 158 lines (+124/-1)
4 files modified
debian/changelog (+18/-0)
debian/control (+2/-1)
debian/patches/fix-bug-where-sasl-will-load-config-the-wrong-path.patch (+103/-0)
debian/patches/series (+1/-0)
Reviewer Review Type Date Requested Status
Bryce Harrington (community) Approve
Anders Kaseorg (community) Approve
Canonical Server Core Reviewers Pending
Review via email: mp+384764@code.launchpad.net

Description of the change

This is a simple regression that happens on memcached. The SASL configuration is being read from an erroneous file, '/etc/sasl2/memcached.conf/memcached.conf'. Upstream fixed this bug and made memcached load the configuration from the right file, '/etc/sasl2/memcached.conf', but kept the old behaviour (i.e., reading from the wrong location) just in case users have made a workaround.

The reporter was thorough and provided the debdiff along with an SRU template, so one could say I'm filing this MP for him. I kept his authorship intact.

There is a PPA with the proposed change here:

https://launchpad.net/~sergiodj/+archive/ubuntu/memcached-bug1878721

autopkgtest is still happy:

autopkgtest [08:50:52]: test client.pl: -----------------------]
autopkgtest [08:50:53]: test client.pl: - - - - - - - - - - results - - - - - - - - - -
client.pl PASS
autopkgtest [08:50:54]: @@@@@@@@@@@@@@@@@@@@ summary
daemon PASS
client.pl PASS

To post a comment you must log in.
Revision history for this message
Anders Kaseorg (andersk) :
review: Approve
Revision history for this message
Bryce Harrington (bryce) wrote :
Download full text (4.5 KiB)

* Changelog:
  - [√] old content and logical tag match as expected
  - [√] changelog entry correct version and targeted codename
  - [√] changelog entries correct
  - [x] update-maintainer has been run

* Actual changes:
  - [-] no upstream changes to consider
  - [-] no further upstream version to consider
  - [√] debian changes look safe

* Old Delta:
  - [-] dropped changes are ok to be dropped
  - [-] nothing else to drop
  - [√] changes forwarded upstream/debian (if appropriate)

* New Delta:
  - [-] no new patches added
  - [√] patches match what was proposed upstream
  - [√] patches correctly included in debian/patches/series
  - [√] patches have correct DEP3 metadata

* Build/Test:
  - [√] build is ok
  - [√] verified PPA package installs/uninstalls
  - [√] autopkgtest against the PPA package passes
  - [x] sanity checks test fine

A few questions / things to fix. First, the packaging work itself looks correct, except for one detail: Make sure to run update-maintainer, since this is the first ubuntu version after debian's. The eoan package is ok since it had a ubuntu version previously.

Just a minor nitpick, but I noticed a typo in a comment in the patch itself:

  ...actual configue file...

In a fresh lxc container I ran the commands verbatim as given in the SRU bug report, on both focal and eoan, and got the error message:

root@triage-focal:/home/bryce# systemctl restart memcached
root@triage-focal:/home/bryce# memcping --servers=127.0.0.1 --binary --username=foo --password=bar
Failed to ping 127.0.0.1:11211 UNKNOWN READ FAILURE

I experimented with some different username/password combos, and tried the config file in a few different places but didn't get a different result. Could you verify that the test case works for you in lxc? Maybe the setup directions are missing a step?

I wonder if the patch and test case may deserve to be expanded on a bit. As I understand it, normally the config file should be stored in a file named /etc/sasl2/memcached.conf, but the problem is that due to a bug /etc/sasl2/memcached.conf/ may have inadvertently been created as a subdirectory, and memcached.conf placed inside of that. So the purpose of the patch is to make memcached check the incorrect location just in case. Is that understanding correct?

Assuming it is, I would suggest saying basically this in the patch description. It might be worth also explaining in the debian changelog entry, at least mentioning the bad path by name and that we're working around it. Just saying "Fix the path" is omitting some pertinent details. ;-)

Another thing I notice in the patch is that it is also checking for if the config file was copied to /etc/sasl or /etc/sasl2. I.e. where those are supposed to be directories they've been created as files. I can see how this could be a common error, however the bug report doesn't describe this case. I wonder under what circumstances this issue was cropping up - do we have any ubuntu bug reports about this happening in the wild? Or can we point to a commit upstream that introduced the problem originally?

For the test case in the SRU bug, I notice it is testing the case where the config file is at /etc/s...

Read more...

review: Needs Fixing
Revision history for this message
Anders Kaseorg (andersk) wrote :
Download full text (4.2 KiB)

> Just a minor nitpick, but I noticed a typo in a comment in the patch itself:
>
> ...actual configue file...

This is part of the upstream patch, which I copied verbatim. It’s not my typo to correct.

> In a fresh lxc container I ran the commands verbatim as given in the SRU bug
> report, on both focal and eoan, and got the error message:
>
> root@triage-focal:/home/bryce# systemctl restart memcached
> root@triage-focal:/home/bryce# memcping --servers=127.0.0.1 --binary
> --username=foo --password=bar
> Failed to ping 127.0.0.1:11211 UNKNOWN READ FAILURE

Ah, I had neglected to transcribe the test case step that actually enables SASL authentication:

echo '-S' >> /etc/memcached.conf

Fixed in the report, and verified in lxc.

> I wonder if the patch and test case may deserve to be expanded on a bit. As I
> understand it, normally the config file should be stored in a file named
> /etc/sasl2/memcached.conf, but the problem is that due to a bug
> /etc/sasl2/memcached.conf/ may have inadvertently been created as a
> subdirectory, and memcached.conf placed inside of that. So the purpose of the
> patch is to make memcached check the incorrect location just in case. Is that
> understanding correct?

No. The bug is that, no matter what state the actual filesystem is in, memcached *looks* for the incorrect /etc/sasl2/memcached.conf/memcached.conf path by default. There is no reason this path would exist, unless the admin has intentionally created it to work around this exact bug.

> Another thing I notice in the patch is that it is also checking for if the
> config file was copied to /etc/sasl or /etc/sasl2. I.e. where those are
> supposed to be directories they've been created as files.

You’re misreading the patch. Note that there are three arrays involved, one of which is old and two of which are added by the patch. The logic is:

• If /etc/sasl/memcached.conf/memcached.conf is a file, then pass the /etc/sasl/memcached.conf directory to the SASL library.
• If /etc/sasl/memcached.conf is a file, then pass the /etc/sasl directory to the SASL library.
• If /etc/sasl2/memcached.conf/memcached.conf is a file, then pass the /etc/sasl2/memcached.conf directory to the SASL library.
• If /etc/sasl2/memcached.conf is a file, then pass the /etc/sasl2 directory to the SASL library.

The SASL library expects a directory. A file at /etc/sasl or /etc/sasl2 will not work, has never worked, and is not expected to work.

> For the test case in the SRU bug, I notice it is testing the case where the
> config file is at /etc/sasl2/memcached.conf, but I wonder if it should also
> include steps to test that config stored at the alternate locations also work?

Added to the report.

> In looking at the patch itself, I notice that the fix only applies when built
> with HAVE_SASL_CB_GETCONFPATH defined, and not when HAVE_SASL_CB_GETCONF is
> defined. Guessing that which one is defined depends on what sasl library was
> built against... can you explain in the patch description where these are
> defined? (Perhaps the reason the test cases weren't working for me was
> because whatever defines HAVE_SASL_CB_GETCONFPATH isn't being installed?)

Keep in mind tha...

Read more...

Revision history for this message
Sergio Durigan Junior (sergiodj) wrote :
Download full text (8.6 KiB)

On Monday, June 01 2020, Bryce Harrington wrote:

> Review: Needs Fixing
>
> * Changelog:
> - [√] old content and logical tag match as expected
> - [√] changelog entry correct version and targeted codename
> - [√] changelog entries correct
> - [x] update-maintainer has been run
>
> * Actual changes:
> - [-] no upstream changes to consider
> - [-] no further upstream version to consider
> - [√] debian changes look safe
>
> * Old Delta:
> - [-] dropped changes are ok to be dropped
> - [-] nothing else to drop
> - [√] changes forwarded upstream/debian (if appropriate)
>
> * New Delta:
> - [-] no new patches added
> - [√] patches match what was proposed upstream
> - [√] patches correctly included in debian/patches/series
> - [√] patches have correct DEP3 metadata
>
> * Build/Test:
> - [√] build is ok
> - [√] verified PPA package installs/uninstalls
> - [√] autopkgtest against the PPA package passes
> - [x] sanity checks test fine
>
> A few questions / things to fix. First, the packaging work itself
> looks correct, except for one detail: Make sure to run
> update-maintainer, since this is the first ubuntu version after
> debian's. The eoan package is ok since it had a ubuntu version
> previously.

Thanks for the review, Bryce.

I ran update-maintainer on the focal branch. I'll force-push the update
soon.

> Just a minor nitpick, but I noticed a typo in a comment in the patch itself:
>
> ...actual configue file...

As Anders mentioned, this typo is present in the upstream patch. I
don't think it's worth creating a divergence here because of it, but
please let me know if you think otherwise.

> In a fresh lxc container I ran the commands verbatim as given in the SRU bug report, on both focal and eoan, and got the error message:
>
> root@triage-focal:/home/bryce# systemctl restart memcached
> root@triage-focal:/home/bryce# memcping --servers=127.0.0.1 --binary --username=foo --password=bar
> Failed to ping 127.0.0.1:11211 UNKNOWN READ FAILURE
>
> I experimented with some different username/password combos, and tried
> the config file in a few different places but didn't get a different
> result. Could you verify that the test case works for you in lxc?
> Maybe the setup directions are missing a step?

Anders was kind to update the testing instructions to include the -S
flag in the test instructions. I was able to reproduce the bug and the
fix here using a focal VM.

> I wonder if the patch and test case may deserve to be expanded on a
> bit. As I understand it, normally the config file should be stored in
> a file named /etc/sasl2/memcached.conf, but the problem is that due to
> a bug /etc/sasl2/memcached.conf/ may have inadvertently been created
> as a subdirectory, and memcached.conf placed inside of that. So the
> purpose of the patch is to make memcached check the incorrect location
> just in case. Is that understanding correct?

As was already explained, the /etc/sasl2/memcached.conf/ directory, if
present, will have been manually created by the user in order to
overcome the original bug, which is that memcached was looking for the
configuration file in the wrong directory (the one mentioned above)...

Read more...

Revision history for this message
Bryce Harrington (bryce) wrote :
Download full text (8.2 KiB)

> On Monday, June 01 2020, Bryce Harrington wrote:
> > Review: Needs Fixing
> I ran update-maintainer on the focal branch. I'll force-push the update
> soon.
>
> > Just a minor nitpick, but I noticed a typo in a comment in the patch itself:
> >
> > ...actual configue file...
>
> As Anders mentioned, this typo is present in the upstream patch. I
> don't think it's worth creating a divergence here because of it, but
> please let me know if you think otherwise.

As I said, it's a minor nitpick, not something requiring a fix. I mention it mainly because basic errors can indicate the change was inadequately peer reviewed on submission.

> > In a fresh lxc container I ran the commands verbatim as given in the SRU bug
> report, on both focal and eoan, and got the error message:
> >
> > root@triage-focal:/home/bryce# systemctl restart memcached
> > root@triage-focal:/home/bryce# memcping --servers=127.0.0.1 --binary
> --username=foo --password=bar
> > Failed to ping 127.0.0.1:11211 UNKNOWN READ FAILURE
> >
> > I experimented with some different username/password combos, and tried
> > the config file in a few different places but didn't get a different
> > result. Could you verify that the test case works for you in lxc?
> > Maybe the setup directions are missing a step?
>
> Anders was kind to update the testing instructions to include the -S
> flag in the test instructions. I was able to reproduce the bug and the
> fix here using a focal VM.

I also verified the omission of the -S in the test case was indeed the error causing the failure. Don't forget you should to make the test case cover both the bugged case and the fixed case, and show how to verify both (e.g. checking exit codes, not just lack of output).

> > I wonder if the patch and test case may deserve to be expanded on a
> > bit. As I understand it, normally the config file should be stored in
> > a file named /etc/sasl2/memcached.conf, but the problem is that due to
> > a bug /etc/sasl2/memcached.conf/ may have inadvertently been created
> > as a subdirectory, and memcached.conf placed inside of that. So the
> > purpose of the patch is to make memcached check the incorrect location
> > just in case. Is that understanding correct?
>
> As was already explained, the /etc/sasl2/memcached.conf/ directory, if
> present, will have been manually created by the user in order to
> overcome the original bug, which is that memcached was looking for the
> configuration file in the wrong directory (the one mentioned above).
>
> As an effort not to break existing workarounds, the patch accepts the
> erroneous directory as a valid entry if it exists.

Yes, that's the level of explanation that should be present in the patch description. You could probably also improve the bug report Impact section with some of this text too.

> > Assuming it is, I would suggest saying basically this in the patch
> > description. It might be worth also explaining in the debian
> > changelog entry, at least mentioning the bad path by name and that
> > we're working around it. Just saying "Fix the path" is omitting some
> > pertinent details. ;-)
>
> I can expand both the patch description and the changelog...

Read more...

Revision history for this message
Sergio Durigan Junior (sergiodj) wrote :
Download full text (8.9 KiB)

On Tuesday, June 02 2020, Bryce Harrington wrote:

>> On Monday, June 01 2020, Bryce Harrington wrote:
>> > Review: Needs Fixing
>> I ran update-maintainer on the focal branch. I'll force-push the update
>> soon.
>>
>> > Just a minor nitpick, but I noticed a typo in a comment in the patch itself:
>> >
>> > ...actual configue file...
>>
>> As Anders mentioned, this typo is present in the upstream patch. I
>> don't think it's worth creating a divergence here because of it, but
>> please let me know if you think otherwise.
>
> As I said, it's a minor nitpick, not something requiring a fix. I mention it mainly because basic errors can indicate the change was inadequately peer reviewed on submission.

That's fair enough, thanks for pointing it out.

>> > In a fresh lxc container I ran the commands verbatim as given in the SRU bug
>> report, on both focal and eoan, and got the error message:
>> >
>> > root@triage-focal:/home/bryce# systemctl restart memcached
>> > root@triage-focal:/home/bryce# memcping --servers=127.0.0.1 --binary
>> --username=foo --password=bar
>> > Failed to ping 127.0.0.1:11211 UNKNOWN READ FAILURE
>> >
>> > I experimented with some different username/password combos, and tried
>> > the config file in a few different places but didn't get a different
>> > result. Could you verify that the test case works for you in lxc?
>> > Maybe the setup directions are missing a step?
>>
>> Anders was kind to update the testing instructions to include the -S
>> flag in the test instructions. I was able to reproduce the bug and the
>> fix here using a focal VM.
>
> I also verified the omission of the -S in the test case was indeed the
> error causing the failure. Don't forget you should to make the test
> case cover both the bugged case and the fixed case, and show how to
> verify both (e.g. checking exit codes, not just lack of output).

I will adjust and improve the test instructions to reflect that.

>> > I wonder if the patch and test case may deserve to be expanded on a
>> > bit. As I understand it, normally the config file should be stored in
>> > a file named /etc/sasl2/memcached.conf, but the problem is that due to
>> > a bug /etc/sasl2/memcached.conf/ may have inadvertently been created
>> > as a subdirectory, and memcached.conf placed inside of that. So the
>> > purpose of the patch is to make memcached check the incorrect location
>> > just in case. Is that understanding correct?
>>
>> As was already explained, the /etc/sasl2/memcached.conf/ directory, if
>> present, will have been manually created by the user in order to
>> overcome the original bug, which is that memcached was looking for the
>> configuration file in the wrong directory (the one mentioned above).
>>
>> As an effort not to break existing workarounds, the patch accepts the
>> erroneous directory as a valid entry if it exists.
>
> Yes, that's the level of explanation that should be present in the patch description. You could probably also improve the bug report Impact section with some of this text too.

Fair enough.

>> > Assuming it is, I would suggest saying basically this in the patch
>> > description. It might be worth also explaining in the d...

Read more...

Revision history for this message
Bryce Harrington (bryce) wrote :

Thanks for making the updates, this looks good.

I can sponsor the upload later this afternoon.

review: Approve
Revision history for this message
Bryce Harrington (bryce) wrote :

$ git ubuntu tag --upload
$ git push pkg upload/1.5.22-2ubuntu0.1
Enumerating objects: 21, done.
Counting objects: 100% (21/21), done.
Delta compression using up to 12 threads
Compressing objects: 100% (15/15), done.
Writing objects: 100% (15/15), 3.95 KiB | 506.00 KiB/s, done.
Total 15 (delta 10), reused 0 (delta 0)
To ssh://git.launchpad.net/ubuntu/+source/memcached
 * [new tag] upload/1.5.22-2ubuntu0.1 -> upload/1.5.22-2ubuntu0.1
$ dput ubuntu ../memcached_1.5.22-2ubuntu0.1_source.changes
Checking signature on .changes
gpg: ../memcached_1.5.22-2ubuntu0.1_source.changes: Valid signature from E603B2578FB8F0FB
Checking signature on .dsc
gpg: ../memcached_1.5.22-2ubuntu0.1.dsc: Valid signature from E603B2578FB8F0FB
Uploading to ubuntu (via ftp to upload.ubuntu.com):
  Uploading memcached_1.5.22-2ubuntu0.1.dsc: done.
  Uploading memcached_1.5.22-2ubuntu0.1.debian.tar.xz: done.
  Uploading memcached_1.5.22-2ubuntu0.1_source.buildinfo: done.
  Uploading memcached_1.5.22-2ubuntu0.1_source.changes: done.
Successfully uploaded packages.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/debian/changelog b/debian/changelog
2index de3c327..ae93c6b 100644
3--- a/debian/changelog
4+++ b/debian/changelog
5@@ -1,3 +1,21 @@
6+memcached (1.5.22-2ubuntu0.1) focal; urgency=medium
7+
8+ * d/p/fix-bug-where-sasl-will-load-config-the-wrong-path.patch:
9+ Fix the path from which SASL configuration is loaded. (LP: #1878721)
10+ The bug happened because sasl expects memcached to provide a
11+ path (i.e., a directory, not a filename) where the sasl
12+ configuration file(s) is (are). However, memcached was passing
13+ the filename (/etc/sasl2/memcached.conf) to sasl, which was
14+ interpreting it as a directory, and looking for a configuration
15+ file inside it (i.e., /etc/sasl2/memcached.conf/memcached.conf).
16+ Users could workaround this bug by creating a directory named
17+ /etc/sasl2/memcached.conf/, and putting the configuration file
18+ inside it. This patch not only fixes this bug (by passing the
19+ right directory, /etc/sasl2/, to sasl) but also supports the
20+ workaround described above.
21+
22+ -- Anders Kaseorg <andersk@mit.edu> Thu, 14 May 2020 17:13:17 -0700
23+
24 memcached (1.5.22-2) unstable; urgency=medium
25
26 * Apply a patch (merged upstream) to fix FTFBS on s390x, etc. Thanks,
27diff --git a/debian/control b/debian/control
28index c2b1691..caf9830 100644
29--- a/debian/control
30+++ b/debian/control
31@@ -1,7 +1,8 @@
32 Source: memcached
33 Section: web
34 Priority: optional
35-Maintainer: Chris Lamb <lamby@debian.org>
36+Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
37+XSBC-Original-Maintainer: Chris Lamb <lamby@debian.org>
38 Build-Depends:
39 adduser,
40 debhelper-compat (= 12),
41diff --git a/debian/patches/fix-bug-where-sasl-will-load-config-the-wrong-path.patch b/debian/patches/fix-bug-where-sasl-will-load-config-the-wrong-path.patch
42new file mode 100644
43index 0000000..3901042
44--- /dev/null
45+++ b/debian/patches/fix-bug-where-sasl-will-load-config-the-wrong-path.patch
46@@ -0,0 +1,103 @@
47+From: Zheng Gu <zhenggu@cisco.com>
48+Date: Fri, 22 Nov 2019 22:34:16 +0800
49+Subject: fix bug where sasl will load config the wrong path
50+
51+/etc/sasl2/memcached.conf/memcached.conf instead of
52+/etc/sasl2/memcached.conf
53+
54+This bug was caused by two upstream commits:
55+
56+ https://github.com/memcached/memcached/commit/39151c870c5e598f039714bdb790bd46f614856e
57+ https://github.com/memcached/memcached/commit/80dd99d831535ddeec73d55a0adcaeaac8cb7298
58+
59+Now, the reason for the bug is interesting. Before the commits
60+mentioned above, we had a big part of the sasl_defs.c file practically
61+inactive due to the "#ifdef HAVE_SASL_CB_GETCONF" check (which fails
62+when compiling with cyrrus-sasl), including the definition of the
63+"sasl_getconf" function, which is the source of this bug, and which
64+implements the "sasl_getconfpath_t" callback used by sasl to get the
65+configuration path to be used. According to sasl_getconfpath_t(3):
66+
67+ sasl_getconfpath_t is used if the application wishes to use a
68+ different location for the SASL configuration files. If this callback
69+ is not used SASL will either use the location in the environment
70+ variable SASL_CONF_PATH (provided we are not SUID or SGID) or
71+ /etc/sasl2 by default.
72+
73+Which means that, before both commits existed, memcached was always
74+using /etc/sasl2 as the config path.
75+
76+When the commits were incorporated into the repo, memcached started
77+using "sasl_getconf" for both the HAVE_SASL_CB_GETCONF and the
78+HAVE_SASL_CB_GETCONFPATH cases, but the function only works is the sasl
79+being used supports SASL_CB_GETCONF, because it passes the full path
80+(including the filename) back to the sasl library for processing. And
81+this is the reason why the sasl library started getting
82+"/etc/sasl2/memcached.conf/" as the config path.
83+
84+Author: Zheng Gu <zhenggu@cisco.com>
85+Origin: upstream, https://github.com/memcached/memcached/commit/6207330c2705fdb5f02de13b99a0d994f7c4f14a
86+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/memcached/+bug/1878721
87+Last-Update: 2020-05-26
88+Applied-Upstream: 1.6.0
89+Reviewed-by: Sergio Durigan Junior <sergio.durigan@canonical.com>
90+---
91+ sasl_defs.c | 29 +++++++++++++++++++++++++++++
92+ 1 file changed, 29 insertions(+)
93+
94+diff --git a/sasl_defs.c b/sasl_defs.c
95+index c60d1bf..370f947 100644
96+--- a/sasl_defs.c
97++++ b/sasl_defs.c
98+@@ -16,6 +16,23 @@ const char * const locations[] = {
99+ "/etc/sasl2/memcached.conf",
100+ NULL
101+ };
102++
103++/* If the element of locations is file, locations_dir_path stores the
104++ * directory path of these elements */
105++const char *const locations_dir_path[] = {
106++ "/etc/sasl",
107++ "/etc/sasl2",
108++ NULL
109++};
110++
111++/* If the element of locations is directory, locations_file_path stores
112++ * the actual configue file which used by sasl, when GETCONFPATH is
113++ * enabled */
114++const char *const locations_file_path[] = {
115++ "/etc/sasl/memcached.conf/memcached.conf",
116++ "/etc/sasl2/memcached.conf/memcached.conf",
117++ NULL
118++};
119+ #endif
120+
121+ #ifndef HAVE_SASL_CALLBACK_FT
122+@@ -88,12 +105,24 @@ static int sasl_getconf(void *context, const char **path)
123+ *path = getenv("SASL_CONF_PATH");
124+
125+ if (*path == NULL) {
126++#if defined(HAVE_SASL_CB_GETCONF)
127+ for (int i = 0; locations[i] != NULL; ++i) {
128+ if (access(locations[i], F_OK) == 0) {
129+ *path = locations[i];
130+ break;
131+ }
132+ }
133++#elif defined(HAVE_SASL_CB_GETCONFPATH)
134++ for (int i = 0; locations[i] != NULL; ++i) {
135++ if (access(locations_file_path[i], F_OK) == 0) {
136++ *path = locations[i];
137++ break;
138++ } else if (access(locations[i], F_OK) == 0) {
139++ *path = locations_dir_path[i];
140++ break;
141++ }
142++ }
143++#endif
144+ }
145+
146+ if (settings.verbose) {
147+--
148+2.26.2
149+
150diff --git a/debian/patches/series b/debian/patches/series
151index dd01f20..bf83e1a 100644
152--- a/debian/patches/series
153+++ b/debian/patches/series
154@@ -4,3 +4,4 @@
155 0004-Don-t-run-some-upstream-tests.patch
156 0005-Source-etc-default-memcached-in-etc-init.d-memcached.patch
157 stats_prefix-Remove-test-failure-due-to-non-determin.patch
158+fix-bug-where-sasl-will-load-config-the-wrong-path.patch

Subscribers

People subscribed via source and target branches