Bug#1074239: cura: Cura fails to start

2024-06-29 Thread Asher Gordon
Control: severity -1 grave

I'm also having this problem as of recently. I tried building the
package myself from source (the Debian version, not upstream) and still
had the problem. It's probably related to a recent upgrade of one of
Cura's dependencies. I wasn't able to get upstream to build, but if I do
I will report back here.

Since this bug makes the package unusable, I think the severity should
be grave. I am not sure whether anyone is able to change that, but I
have added the control header in case it works, because I think it's
pretty clear that the severity should be grave.

Thanks,
Asher

-- 
Violence is the last refuge of the incompetent.
-- Salvor Hardin
   
I prefer to send and receive mail encrypted. Please send me your
public key, and if you do not have my public key, please let me
know. Thanks.

GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68


signature.asc
Description: PGP signature


Bug#1053387: reportbug: querybts crashes when more than one bug number is passed on the command line

2023-10-02 Thread Asher Gordon
Package: reportbug
Version: 12.0.0
Severity: normal
X-Debbugs-Cc: none, Asher Gordon 

Dear Maintainer,

-- Package-specific info:
** Environment settings:
EDITOR="/home/asher/.config/fish/scripts/emacsclient.fish"

When passing multiple bug numbers on the command line, the querybts
script crashes. Example:

$ querybts 100 101
Querying Debian BTS for reports on 100 101...
2 bug reports found:

Traceback (most recent call last):
  File "/usr/bin/querybts", line 241, in 
main()
  File "/usr/bin/querybts", line 217, in main
ui.handle_bts_query(package, options.system, options.timeout, 
options.mirrors, options.http_proxy,
  File "/usr/lib/python3/dist-packages/reportbug/ui/text_ui.py", line 603, 
in handle_bts_query
package = [p[4:] for p in package if p.startswith("src:")][0]
  
  File "/usr/lib/python3/dist-packages/reportbug/ui/text_ui.py", line 603, 
in 
package = [p[4:] for p in package if p.startswith("src:")][0]
 
AttributeError: 'int' object has no attribute 'startswith'

This is because of a chunk of code introduced in 9855d71:

# only pass a single package name to browse_bugs
if isinstance(package, list):
package = [p[4:] for p in package if p.startswith("src:")][0]
source = True

This code is problematic for several reasons.

1. The elements of 'package' are integers, not strings (I am not sure
under what circumstances they would be strings). This is what causes the
crash.

2. Even if we fix problem 1 (e.g. s/if p/if str(p)/), this code still
fails if none of the packages begin with the string 'src:', because the
list comprehension will result in an empty list, for which 0 is an
invalid index.

3. There is no need for a list comprehension at all (or even a loop),
since we only take the 0th element.

4. Even if this code did what I believe it intended to do (more or less
'package = package[0]'), this does not align with expected behavior. The
help text for the 'b' command says 'Open the complete bugs list in a web
browser.' Note that it does not say 'Open the first bug in a web
browser.'

I believe all of these problems can be fixed by
a) Reverting 9855d71.
b) Changing browse_bugs() and search_bugs() to call launch_browser()
multiple times (once for each package).
c) Changing launch_browser() to run xdg-open in the background so that
all the bugs are opened in separate tabs, and you don't have to close
the browser to see the next bug. webbrowser().open() automatically runs
the browser in the background as far as I can tell, so we don't have to
worry about that part.

I have done all of these things in the patch below:
From 2037bac77dae3e49162780277ff0501726bc6bf0 Mon Sep 17 00:00:00 2001
From: Asher Gordon 
Date: Tue, 3 Oct 2023 00:51:18 -0400
Subject: [PATCH] Fix browsing multiple bugs from the command line.

---
 reportbug/ui/text_ui.py | 15 +--
 reportbug/urlutils.py   |  2 +-
 2 files changed, 6 insertions(+), 11 deletions(-)

diff --git a/reportbug/ui/text_ui.py b/reportbug/ui/text_ui.py
index bd8bd83..af316fb 100644
--- a/reportbug/ui/text_ui.py
+++ b/reportbug/ui/text_ui.py
@@ -598,11 +598,6 @@ def handle_bts_query(package, bts, timeout, mirrors=None, http_proxy="",
 else:
 ewrite('%d bug reports found:\n\n', count)
 
-# only pass a single package name to browse_bugs
-if isinstance(package, list):
-package = [p[4:] for p in package if p.startswith("src:")][0]
-source = True
-
 return browse_bugs(hierarchy, count, bugs, bts, queryonly,
mirrors, http_proxy, timeout, screen, title,
package, source, mbox_reader_cmd)
@@ -690,10 +685,9 @@ def browse_bugs(hierarchy, count, bugs, bts, queryonly, mirrors,
 lastpage = []
 break
 elif x == 'b':
-if source:
-launch_browser('https://bugs.debian.org/src:%s' % package)
-else:
-launch_browser('https://bugs.debian.org/%s' % package)
+for p in package:
+launch_browser('https://bugs.debian.org/%s%s' %
+   (('src:' if source else ''), p))
 continue
 elif x == 'r':
 continue
@@ -910,7 +904,8 @@ def search_bugs(hierarchyfull, bts, queryonly, mirrors,
 lastpage = []
 

Bug#1051972: jami-daemon: Fails to start with libopendht2 2.6.0.4-1

2023-09-14 Thread Asher Gordon
Package: jami-daemon
Version: 20230206.0~ds2-1.3
Severity: grave
X-Debbugs-Cc: none, Asher Gordon 

Dear Maintainer,

After upgrading libopendht2, jami-daemon fails to start, making Jami
unusable. Downgrading libopendht2 fixes the problem.

$ apt-cache policy libopendht2 | grep Installed:
  Installed: 2.6.0.4-1
$ jami
Using Qt runtime version: 6.4.2
"notify server name: dunst, vendor: knopwob, version: 1.9.2 (2023-04-20), 
spec: 1.2"
"Using locale: en_US"
"Error : jamid is not available, make sure it is running"
terminate called after throwing an instance of 'char const*'
Aborted
$ /usr/libexec/jamid 
/usr/libexec/jamid: symbol lookup error: /usr/libexec/jamid: undefined 
symbol: 
_ZN3dht4http8ResolverC1ERN4asio10io_contextERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10shared_ptrINS_6LoggerEE

Downgrading:

$ sudo sed -i~ s/trixie/bookworm/g /etc/apt/sources.list
$ sudo apt-get update
Get:1 tor+https://deb.debian.org/debian bookworm InRelease [151 kB]
[...]
Fetched 88.2 MB in 42s (2,120 kB/s)
Reading package lists... Done
$ sudo apt-get install libopendht2=2.4.12-7
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages will be DOWNGRADED:
  libopendht2
0 upgraded, 0 newly installed, 1 downgraded, 0 to remove and 0 not upgraded.
Need to get 806 kB of archives.
After this operation, 377 kB disk space will be freed.
Do you want to continue? [Y/n] y
Get:1 tor+https://deb.debian.org/debian bookworm/main amd64 libopendht2 
amd64 2.4.12-7 [806 kB]
Fetched 806 kB in 2s (335 kB/s)
debconf: unable to initialize frontend: Dialog
debconf: (Dialog frontend will not work on a dumb terminal, an emacs shell 
buffer, or without a controlling terminal.)
debconf: falling back to frontend: Readline
dpkg: warning: downgrading libopendht2:amd64 from 2.6.0.4-1 to 2.4.12-7
(Reading database ... 586843 files and directories currently installed.)
Preparing to unpack .../libopendht2_2.4.12-7_amd64.deb ...
Unpacking libopendht2:amd64 (2.4.12-7) over (2.6.0.4-1) ...
Setting up libopendht2:amd64 (2.4.12-7) ...
Processing triggers for libc-bin (2.37-8) ...
$ apt-cache policy libopendht2 | grep Installed:
  Installed: 2.4.12-7
$ jami
Using Qt runtime version: 6.4.2
"notify server name: dunst, vendor: knopwob, version: 1.9.2 (2023-04-20), 
spec: 1.2"
"Using locale: en_US"
No migration required
[...]
$ /usr/libexec/jamid 
Jami Daemon 13.7.0, by Savoir-faire Linux Inc. 2004-2023
https://jami.net/
[Video support enabled]
[Plugins support enabled]

22:56:59.121 os_core_unix.c !pjlib 2.12.1 for POSIX initialized
  C-c C-cCaught signal Interrupt, terminating...

Jami runs as expected.

It looks like jamid references an undefined symbol,
_ZN3dht4http8ResolverC1ERN4asio10io_contextERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10shared_ptrINS_6LoggerEE,
which is likely present in the old version of libopendht2. I don't know
a whole lot about C++ and name mangling, but I would guess that Jami had
been using a deprecated or undocumented symbol, which has been removed
or renamed in libopendht2. It's also possible that the new libopendht2
was compiled with a newer compiler, which mangled the name differently,
but as far as I know, name mangling is supposed to be fairly stable
(again, I don't know a whole lot about this).

Also, the name unmangled:

$ echo 
_ZN3dht4http8ResolverC1ERN4asio10io_contextERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10shared_ptrINS_6LoggerEE
 | c++filt
dht::http::Resolver::Resolver(asio::io_context&, 
std::__cxx11::basic_string, std::allocator > 
const&, std::shared_ptr)

Thanks,
Asher

-- System Information:
Debian Release: trixie/sid
  APT prefers testing-debug
  APT policy: (500, 'testing-debug'), (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 6.4.0-4-amd64 (SMP w/12 CPU threads; PREEMPT)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
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 jami-daemon depends on:
ii  libarchive13 3.6.2-1
ii  libasound2   1.2.9-2
ii  libavcodec60 7:6.0-6
ii  libavdevice607:6.0-6
ii  libavfilter9 7:6.0-6
ii  libavformat607:6.0-6
ii  libavutil58  7:6.0-6
ii  libc62.37-8
ii  libdbus-c++-1-0v50.9.0-12
ii  libfmt9  9.1.0+ds1-2
ii  libgcc-s113.2.0-3
ii  libgit2-1.5  1.5.1+ds-1

Bug#947222: marked as pending in bsdgames

2023-07-28 Thread Asher Gordon
Hi Tobias,

Thanks for fixing this bug. I believe #723808 can now be closed as well.

Thanks,
Asher

-- 
Brian Kernighan has an automobile which he helped design.
Unlike most automobiles, it has neither speedometer, nor gas gauge, nor
any of the numerous idiot lights which plague the modern driver.
Rather, if the driver makes any mistake, a giant "?" lights up in the
center of the dashboard.  "The experienced driver", he says, "will
usually know what's wrong."
   
I prefer to send and receive mail encrypted. Please send me your
public key, and if you do not have my public key, please let me
know. Thanks.

GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68


signature.asc
Description: PGP signature


Bug#1041902: lua5.4: 'lua_settop' may use an invalid pointer to stack

2023-07-25 Thread Asher Gordon
Control: reassign -1 src:lua5.4

Asher Gordon  writes:

> I think this fix from upstream should be backported to Debian's Lua
> 5.4, and possibly 5.{1,2,3} as well (I haven't tested those).

I found out Lua 5.4 is the first version with lua_toclose() (and the
__close() metamethod), so the particular manifestation of the bug I've
shown cannot be present in previous versions. Also, lua.org says this
bug has existed since 5.4.3: https://www.lua.org/bugs.html#5.4.4-5

I think that Debian should update lua5.4 to the latest upstream version
5.4.6, which should fix this (and other) bugs. I see that currently,
even in sid, lua5.4 is still 5.4.4.

Thanks,
Asher

P.S. I am reassigning this to the source package, since I think that
makes more sense.

-- 
On two occasions I have been asked [by members of Parliament!], "Pray, Mr.
Babbage, if you put into the machine wrong figures, will the right answers
come out?"  I am not able rightly to apprehend the kind of confusion of
ideas that could provoke such a question.
-- Charles Babbage
   
I prefer to send and receive mail encrypted. Please send me your
public key, and if you do not have my public key, please let me
know. Thanks.

GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68


signature.asc
Description: PGP signature


Bug#1041902: lua5.4: 'lua_settop' may use an invalid pointer to stack

2023-07-24 Thread Asher Gordon
Package: lua5.4
Version: 5.4.4-3
Severity: normal
X-Debbugs-Cc: none, Asher Gordon 

Dear Maintainer,

I found a bug in which calling lua_toclose() while the "main" stack is
active (i.e., not inside a function which was called by lua_call()), can
sometimes cause memory errors later. As I later found out, this was a
symptom of a bug in lua_settop(). Here is a minimal example showcasing
the bug:
#include 

#include 
#include 
#include 

/* Here's where we do our experimentation. The table returned by the
   Lua program should be given as the sole argument on the Lua
   stack. */
static int experiment(lua_State *L) {
  /* local obj  = class:new() */
  lua_getfield(L, -1, "new");
  lua_rotate(L, -2, 1);
  lua_call(L, 1, 1);
  lua_toclose(L, -1);
  lua_pop(L, 1);

  return 0;
}

int main(int argc, char **argv) {
  lua_State *L;
  const char *prog;

  if (argc != 2) {
fprintf(stderr, "Usage: %s FILE\n", argv[0]);
return 1;
  }

  prog = argv[1];

  L = luaL_newstate();
  luaL_openlibs(L);

  if (luaL_loadfile(L, prog))
lua_error(L);

  lua_call(L, 0, 1);

  if (!lua_istable(L, -1))
luaL_error(L, "%s did not return a table", prog);

#ifdef BAD_CODE
  /* Here's where the error originates! If we call experiment()
 manually like this, closing the value causes memory errors later
 on. Instead, we have to call it through Lua. */
  experiment(L);
#else
  /* This works as expected. */
  lua_pushcfunction(L, experiment);
  lua_rotate(L, -2, 1);
  lua_call(L, 1, 0);
#endif

  lua_close(L);

  return 0;
}
local inspect = require 'inspect'

local class = {}

local mt = {__index = class}

function mt:__close ()
   print('Closing!')
   -- This triggers the error for some reason. I imagine it's not
   -- specific to the 'inspect' package, but rather just doing
   -- something complex with 'self'.
   print(inspect(self))
end

function class:new ()
   assert(self == mt.__index)
   return setmetatable({foo = 'bar'}, mt)
end

return class
Compile using

$ gcc -Wall -O0 -DBAD_CODE `pkg-config --cflags lua5.4` -o memory-error 
memory-error.c `pkg-config --libs lua5.4`

and then run it with

$ valgrind ./memory-error test.lua

You should notice many errors. If you compile without -DBAD_CODE, it
works as expected (see the source for details).

I tried this with the latest upstream version from git, and found that
the bug did not occur. After some bisecting, I found the commit where
this was fixed upstream. The commit is "196bb94d Bug: 'lua_settop' may
use an invalid pointer to stack"
https://github.com/lua/lua/commit/196bb94d66e727e0aec053a0276c3ad701500762

I'm not sure if this is a security issue or not. If so, please raise the
Severity accordingly.

I think this fix from upstream should be backported to Debian's Lua 5.4,
and possibly 5.{1,2,3} as well (I haven't tested those). Hopefully it is
as simple as applying the patch.

Thanks,
Asher

-- System Information:
Debian Release: trixie/sid
  APT prefers testing-debug
  APT policy: (500, 'testing-debug'), (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 6.3.0-1-amd64 (SMP w/12 CPU threads; PREEMPT)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
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 lua5.4 depends on:
ii  libc6 2.37-5
ii  libreadline8  8.2-1.3

lua5.4 recommends no packages.

lua5.4 suggests no packages.

-- no debconf information

-- 
Yesterday upon the stair
I met a man who wasn't there.
He wasn't there again today --
I think he's from the CIA.
   
I prefer to send and receive mail encrypted. Please send me your
public key, and if you do not have my public key, please let me
know. Thanks.

GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68


signature.asc
Description: PGP signature


Bug#1038918: librem-ec-acpi-dkms: Does not build against Linux 6.3.0

2023-06-22 Thread Asher Gordon
Package: librem-ec-acpi-dkms
Version: 0.9.1-4
Severity: grave
X-Debbugs-Cc: none, Asher Gordon 

Dear Maintainer,

During a system upgrade, I noticed that there was an error upgrading the
Linux kernel. I was able to isolate the problem to the
librem-ec-acpi-dkms package. (Without this package, the brightness keys
on the Librem 14 do not work anymore after a suspend, and possibly other
issues too.) If I remove the package and install it again, I get the
following output:

Loading new librem_ec_acpi-0.9.1 DKMS files...
Building for 6.1.0-9-amd64 6.3.0-1-amd64
Building initial module for 6.1.0-9-amd64
Done.

librem_ec_acpi.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/6.1.0-9-amd64/updates/dkms/
depmod...
Building initial module for 6.3.0-1-amd64
Error! Bad return status for module build on kernel: 6.3.0-1-amd64 (x86_64)
Consult /var/lib/dkms/librem_ec_acpi/0.9.1/build/make.log for more 
information.
dpkg: error processing package librem-ec-acpi-dkms (--configure):
 installed librem-ec-acpi-dkms package post-installation script subprocess 
returned error exit status 10

So it appears to build successfully against 6.1.0, but not 6.3.0. Here
is the contents of my /var/lib/dkms/librem_ec_acpi/0.9.1/build/make.log:
DKMS make.log for librem_ec_acpi-0.9.1 for kernel 6.3.0-1-amd64 (x86_64)
Fri Jun 23 01:16:58 AM EDT 2023
make: Entering directory '/usr/src/linux-headers-6.3.0-1-amd64'
  CC [M]  /var/lib/dkms/librem_ec_acpi/0.9.1/build/librem_ec_acpi.o
/var/lib/dkms/librem_ec_acpi/0.9.1/build/librem_ec_acpi.c:276:24: error: 
initialization of ‘int (*)(struct power_supply *, struct acpi_battery_hook *)’ 
from incompatible pointer type ‘int (*)(struct power_supply *)’ 
[-Werror=incompatible-pointer-types]
  276 | .add_battery = librem_ec_battery_add,
  |^
/var/lib/dkms/librem_ec_acpi/0.9.1/build/librem_ec_acpi.c:276:24: note: (near 
initialization for ‘librem_ec_battery_hook.add_battery’)
/var/lib/dkms/librem_ec_acpi/0.9.1/build/librem_ec_acpi.c:277:27: error: 
initialization of ‘int (*)(struct power_supply *, struct acpi_battery_hook *)’ 
from incompatible pointer type ‘int (*)(struct power_supply *)’ 
[-Werror=incompatible-pointer-types]
  277 | .remove_battery = librem_ec_battery_remove,
  |   ^~~~
/var/lib/dkms/librem_ec_acpi/0.9.1/build/librem_ec_acpi.c:277:27: note: (near 
initialization for ‘librem_ec_battery_hook.remove_battery’)
/var/lib/dkms/librem_ec_acpi/0.9.1/build/librem_ec_acpi.c:773:27: error: 
initialization of ‘void (*)(struct acpi_device *)’ from incompatible pointer 
type ‘int (*)(struct acpi_device *)’ [-Werror=incompatible-pointer-types]
  773 | .remove = librem_ec_remove,
  |   ^~~~
/var/lib/dkms/librem_ec_acpi/0.9.1/build/librem_ec_acpi.c:773:27: note: (near 
initialization for ‘librem_ec_driver.ops.remove’)
cc1: some warnings being treated as errors
make[1]: *** [/usr/src/linux-headers-6.3.0-1-common/scripts/Makefile.build:257: 
/var/lib/dkms/librem_ec_acpi/0.9.1/build/librem_ec_acpi.o] Error 1
make: *** [/usr/src/linux-headers-6.3.0-1-common/Makefile:2050: 
/var/lib/dkms/librem_ec_acpi/0.9.1/build] Error 2
make: Leaving directory '/usr/src/linux-headers-6.3.0-1-amd64'
I don't know much about kernel module development, but it looks like
these errors are due to an API change in the new kernel version.

This makes the package nonfunctional for Linux 6.3.0 (although it still
works for 6.1.0, which I'm on now), thus the grave severity.

Thanks,
Asher

-- System Information:
Debian Release: trixie/sid
  APT prefers testing-debug
  APT policy: (500, 'testing-debug'), (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 6.1.0-9-amd64 (SMP w/12 CPU threads; PREEMPT)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
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 librem-ec-acpi-dkms depends on:
ii  dkms  3.0.11-3

librem-ec-acpi-dkms recommends no packages.

librem-ec-acpi-dkms suggests no packages.

-- no debconf information


signature.asc
Description: PGP signature


Bug#1029974: libsox-fmt-base: [PATCH] vorbis: fix memory leaks

2023-01-29 Thread Asher Gordon
Also, I should note that I also reported this bug upstream. Since I
don't have a SourceForge account, I wrote to
 where my message is awaiting moderator
approval.

But until the bug is fixed upstream, perhaps a patch should be
implemented in the Debian package.

Thanks,
Asher

-- 
Brian Kernighan has an automobile which he helped design.
Unlike most automobiles, it has neither speedometer, nor gas gauge, nor
any of the numerous idiot lights which plague the modern driver.
Rather, if the driver makes any mistake, a giant "?" lights up in the
center of the dashboard.  "The experienced driver", he says, "will
usually know what's wrong."
   
I prefer to send and receive mail encrypted. Please send me your
public key, and if you do not have my public key, please let me
know. Thanks.

GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68


signature.asc
Description: PGP signature


Bug#1029974: libsox-fmt-base: [PATCH] vorbis: fix memory leaks

2023-01-29 Thread Asher Gordon
Package: libsox-fmt-base
Version: 14.4.2+git20190427-3+b1
Severity: normal
X-Debbugs-Cc: Asher Gordon 

Dear Maintainer,

While attempting to write Perl bindings for libsox, I stumbled upon a
memory leak in vorbis.c (two, actually). The memory leak can be seen by
something like the following:

$ valgrind --leak-check=full --show-leak-kinds=all sox test.ogg test.mp3
$ valgrind --leak-check=full --show-leak-kinds=all sox test.mp3 test.ogg

The first line shows the read memory leak and the second shows the write
memory leak.

The fix is trivial, and I have attached a patch below (created on the
upstream code base, but applies cleanly on the Debian version):
From a23816e06a6433d1d553668bb8bd784d5f11d37e Mon Sep 17 00:00:00 2001
From: Asher Gordon 
Date: Sun, 29 Jan 2023 13:08:12 -0500
Subject: [PATCH] vorbis: fix memory leaks

Data was allocated in startread() and startwrite() that was not freed
in stopread() and stopwrite(). Fix it.
---
 src/vorbis.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/vorbis.c b/src/vorbis.c
index 9fa234ce..ab15301a 100644
--- a/src/vorbis.c
+++ b/src/vorbis.c
@@ -229,6 +229,7 @@ static int stopread(sox_format_t * ft)
 
   free(vb->buf);
   ov_clear(vb->vf);
+  free(vb->vf);
 
   return (SOX_SUCCESS);
 }
@@ -404,6 +405,7 @@ static int stopwrite(sox_format_t * ft)
   vorbis_block_clear(&ve->vb);
   vorbis_dsp_clear(&ve->vd);
   vorbis_info_clear(&ve->vi);
+  free(ve);
 
   return (SOX_SUCCESS);
 }
-- 
2.39.0


Thanks,
Asher


-- System Information:
Debian Release: bookworm/sid
  APT prefers testing-debug
  APT policy: (500, 'testing-debug'), (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 6.0.0-6-amd64 (SMP w/2 CPU threads; PREEMPT)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
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 libsox-fmt-base depends on:
ii  libc6   2.36-8
ii  libflac12   1.4.2+ds-2
ii  libgsm1 1.0.22-1
ii  libogg0 1.3.5-3
ii  libopencore-amrnb0  0.1.6-1
ii  libopencore-amrwb0  0.1.6-1
ii  libsndfile1 1.2.0-1
ii  libsox3 14.4.2+git20190427-3+b1
ii  libvorbis0a 1.3.7-1
ii  libvorbisenc2   1.3.7-1
ii  libvorbisfile3  1.3.7-1
ii  libwavpack1 5.6.0-1

libsox-fmt-base recommends no packages.

libsox-fmt-base suggests no packages.

-- no debconf information

-- 
* Dry-ice can't code his way out of a paper bag
 dry-ice: int main() { ExitPaperBag(); return 0; }
 Is that how that's done then?  *takes notes*
   
I prefer to send and receive mail encrypted. Please send me your
public key, and if you do not have my public key, please let me
know. Thanks.

GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68


signature.asc
Description: PGP signature


Bug#1008808: texlive-games: [chess.sty] Incorrect usage of babel breaks package

2022-04-01 Thread Asher Gordon
Hi Hilmar,

Hilmar Preuße  writes:

> So you're actively pushed to other packages. Please consider to follow
> this recommendation.

Thanks for the advice. So it seems a better solution would be to use an
alternative package in Scid's generated LaTeX files. I don't think that
should be too difficult. I'll do that when I have the time and send a
report to upstream and/or Debian.

Thanks,
Asher

-- 
Hi! I'm a .signature virus! Copy me into your ~/.signature to help me sprea=
d!
   
I prefer to send and receive mail encrypted. Please send me your
public key, and if you do not have my public key, please let me
know. Thanks.

GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68


signature.asc
Description: PGP signature


Bug#1008808: texlive-games: [chess.sty] Incorrect usage of babel breaks package

2022-04-01 Thread Asher Gordon
Package: texlive-games
Version: 2021.20220204-1
Severity: normal
X-Debbugs-Cc: Asher Gordon 
File: /usr/share/texlive/texmf-dist/tex/latex/chess/chess.sty

Dear Maintainer,

The file /usr/share/texlive/texmf-dist/tex/latex/chess/chess.sty (used
by the LaTeX files generated by Scid) uses "\input english.sty" instead
of "\usepackage[english]{babel}". This causes a lot of errors when
compiling a LaTeX file that uses the chess package. If the errors are
ignored (e.g. by using "-interaction nonstopmode"), then the compiled
document has a lot of garbage at the start.

The following is a minimal example that produces the error:
\documentclass{article}

\usepackage{chess}

\begin{document}

This is a test.

\begin{chess}
  1.~e4 c5 2.~Nf3 Nc6
\end{chess}

\end{document}
The test.fls file produced by
"pdflatex -interaction nonstopmode -recorder test.tex" is attached
below:
PWD /tmp/tmp.mH6e5epKvE
INPUT /etc/texmf/web2c/texmf.cnf
INPUT /usr/share/texmf/web2c/texmf.cnf
INPUT /usr/share/texlive/texmf-dist/web2c/texmf.cnf
INPUT /var/lib/texmf/web2c/pdftex/pdflatex.fmt
INPUT test.tex
OUTPUT test.log
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/article.cls
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/article.cls
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/article.cls
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/article.cls
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/article.cls
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/article.cls
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/article.cls
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/article.cls
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/article.cls
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/article.cls
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/article.cls
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/size10.clo
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/size10.clo
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/size10.clo
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/size10.clo
INPUT /usr/share/texlive/texmf-dist/tex/latex/chess/chess.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/chess/chess.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/chess/chess.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/chess/chess.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/chess/chess.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/chess/chess.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/chess/chess.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/chess/chess.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/chess/chess.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/chess/chess.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/chess/chess.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/english.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/babel-english/english.ldf
INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/babel.def
INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/txtbabel.def
INPUT /usr/share/texlive/texmf-dist/fonts/map/fontname/texfonts.map
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/chess/chess20.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/chess/chessf10.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr6.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy6.tfm
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
INPUT ./test.aux
INPUT test.aux
INPUT test.aux
OUTPUT test.aux
OUTPUT test.pdf
INPUT /var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map
INPUT test.aux
INPUT 
/home/asher/.texlive2021/texmf-var/fonts/pk/ljfour/public/chess/chessf10.600pk
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb
The following change resolves most of the errors:
--- /usr/share/texlive/texmf-dist/tex/latex/chess/chess.sty~	2022-04-01 15:57:17.0 -0400
+++ /usr/share/texlive/texmf-dist/tex/latex/chess/chess.sty	2022-04-01 16:26:46.228383005 -0400
@@ -61,7 +61,7 @@
 %
 % Do we have language support? Otherwise take default language!
 %
-\ifx\undefined\babel@core@loaded\input english.sty\fi
+\ifx\undefined\babel@core@loaded\usepackage[english]{babel}\fi
 
 

Bug#987810: filters: kraut: Please remove offensive salute

2021-04-29 Thread Asher Gordon
Package: filters
Version: 2.55-3
Severity: normal
Tags: patch
X-Debbugs-Cc: Asher Gordon 

Dear Maintainer,

The 'kraut' filter contains the salute "Sieg Heil!", which was used by
the Nazis and is considered offensive (it's even a crime in
Germany). Please remove this and replace it with "Naturlich!", as in the
following patch (see also the commit message of the patch for more
info):
From a6d6cff523e30fec19488a2efe9e7f638839f2d2 Mon Sep 17 00:00:00 2001
From: Asher Gordon 
Date: Thu, 29 Apr 2021 23:16:58 -0400
Subject: [PATCH] kraut: Remove offensive salute.

The "Sieg Heil!" salute was used by the Nazis, and it is even a crime
to use this salute in Germany today. Replace this salute with the
inoffensive "Naturlich!", literally "Naturally!", used as an emphatic
"yes".

Also remove braces around the "Naturlich!" print statement, since the
braces were left over from when sprintf() was used, and the braces are
not consistent with the rest of the file.
---
 debian/changelog | 6 ++
 kraut.l  | 3 +--
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index d3e0097..bb11d6e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+filters (2.55-4) unstable; urgency=medium
+
+  * kraut: remove offensive "Sieg Heil!" salute.
+
+ -- Asher Gordon   Thu, 29 Apr 2021 23:16:46 -0400
+
 filters (2.55-3) unstable; urgency=medium
 
   [ Helmut Grohne ]
diff --git a/kraut.l b/kraut.l
index bc522d4..fc8fae1 100644
--- a/kraut.l
+++ b/kraut.l
@@ -65,8 +65,7 @@ Th  printf("D");
 [Gg]ary printf("Gerhardt");
 [Jj]on  printf("Hansel");
 
-[a-f]"!"   {printf("%s Naturlich!",yytext);}
-[p-z]"!"   {printf("%s Sieg Heil!",yytext);}
+"!"printf("%s Naturlich!", yytext);
 .  printf("%s", yytext);
 \n printf("\n");
 
-- 
2.30.2

Also, I'm not sure if the "Sieg Heil!" is a violation of Debian
policy. If so, please raise the severity appropriately (or just apply my
patch ;-) ).

Thanks,
Asher


-- System Information:
Debian Release: bullseye/sid
  APT prefers testing-debug
  APT policy: (500, 'testing-debug'), (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 5.10.0-6-amd64 (SMP w/2 CPU threads)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages filters depends on:
ii  libc6  2.31-11

filters recommends no packages.

Versions of packages filters suggests:
ii  bsdgames  2.17-28

-- no debconf information

-- 
Vimes grunted.  "Where there are policemen there's crime, sergeant,
remember that."

"Yes, I do, sir, although I think it sounds better with a little reordering
of the words."

  [Snuff, by Terry Pratchett]
   
I prefer to send and receive mail encrypted. Please send me your
public key, and if you do not have my public key, please let me
know. Thanks.

GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68


signature.asc
Description: PGP signature


Bug#982776: mpdtoys: mpfade does not work for a stopped MPD server with PulseAudio output

2021-02-14 Thread Asher Gordon
Package: mpdtoys
Version: 0.25.0
Severity: normal
Tags: patch
X-Debbugs-Cc: Asher Gordon 

Dear Maintainer,

I have configured my MPD daemon to output through PulseAudio (the PA
server is running as my local user). After doing so, when the daemon is
stopped (no song playing or paused), the volume displays as 'n/a' in
'mpc status' and is returned as undef by the 'volume' method of the
Audio::MPD::Common::Status class in the Audio::MPD Perl library. I'm not
sure why this is--possibly due to a limitation in the PulseAudio
interface--but it breaks mpfade when the MPD daemon is stopped. mpfade
thinks the volume was changed manually, even though it wasn't, and thus
exits erroneously.

Here is the exact message:

$ mpfade 0.5 100
fading up from 0 to 100 over 30 seconds
manual volume change, aborting fade up

I've written a patch to fix this problem. Unfortunately, it's a bit of a
hack, but it should work. I took the liberty of adding a
debian/changelog entry in my name, but of course, feel free to put my
name in brackets and change the name at the bottom. The patch is as
follows:
From ab6adb95c0b3a744df326f3e4351e58fe7084d20 Mon Sep 17 00:00:00 2001
From: Asher Gordon 
Date: Sun, 14 Feb 2021 04:51:29 -0500
Subject: [PATCH] mpfade: Fix setting volume for PulseAudio sound output.

When MPD is configured to output sound through PulseAudio, it seems
that the volume cannot be set or gotten unless a song is playing or
paused (not stopped). This could be a bug in MPD, but more likely it
is a limitation in the PulseAudio interface (I don't know much about
that, so I'm not sure).

In any case, this simple hack (unfortunately it cannot be called
anything other than a hack) should fix it. We also may need to try to
set the volume several times, because it seems it may not be possible
to set the volume immediately after we start playing a song.
---
 debian/changelog |  6 ++
 mpfade   | 16 +++-
 2 files changed, 21 insertions(+), 1 deletion(-)

diff --git a/debian/changelog b/debian/changelog
index 5e07a73..b836200 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+mpdtoys (0.25.2) unstable; urgency=medium
+
+  * mpfade: Fix setting volume for PulseAudio sound output.
+
+ -- Asher Gordon   Sun, 14 Feb 2021 05:02:40 -0500
+
 mpdtoys (0.25.1) unstable; urgency=medium
 
   * QA upload.
diff --git a/mpfade b/mpfade
index 49adf17..49260a4 100755
--- a/mpfade
+++ b/mpfade
@@ -74,9 +74,23 @@ else {
 	if (! defined $endpoint) {
 		$endpoint=50;
 	}
-	$mpd->volume($vol=0);
+	$vol=0;
 	print "fading up from $vol to $endpoint over $seconds seconds\n";
 	$mpd->play;
+
+	# Sometimes the volume is not defined unless a song is playing
+	# or paused (not stopped). This seems to happen for PulseAudio
+	# sound output. This little hack gets around that.
+	my $curvol;
+	my $iterations=0;
+	do {
+		$mpd->volume($vol);
+		$curvol=$mpd->status->volume;
+		if (++$iterations >= 10) {
+			die "error: cannot set volume to $vol\n";
+		}
+	} until (defined $curvol && $curvol == $vol);
+
 	fade($endpoint, $seconds);
 }
 
-- 
2.30.0

Thanks,
Asher

-- System Information:
Debian Release: bullseye/sid
  APT prefers testing-debug
  APT policy: (500, 'testing-debug'), (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 5.10.0-3-amd64 (SMP w/2 CPU threads)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages mpdtoys depends on:
ii  libaudio-mpd-perl  2.004-2
ii  perl   5.32.1-2

mpdtoys recommends no packages.

Versions of packages mpdtoys suggests:
ii  libproc-daemon-perl0.23-1
ii  libstring-approx-perl  3.28-1+b3
ii  libterm-readkey-perl   2.38-1+b2
ii  mpd0.22.4-1

-- no debconf information

-- 
I often quote myself; it adds spice to my conversation.
-- G. B. Shaw
   
I prefer to send and receive mail encrypted. Please send me your
public key, and if you do not have my public key, please let me
know. Thanks.

GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68


signature.asc
Description: PGP signature


Bug#976990: fprintd: Latest update broke fprintd entirely

2020-12-09 Thread Asher Gordon
Package: fprintd
Version: 1.90.5-2
Severity: grave
X-Debbugs-Cc: Asher Gordon 

Dear Maintainer,

After upgrading fprintd (and libpam-fprintd) from 1.90.1-2 to 1.90.5-2,
it stopped working entirely. Instead of fingerprint authentication,
password authentication is used for login and sudo. I have checked that
/etc/pam.d/common-auth has the right settings.

The problem appears to be that fprintd itself has stopped working, not
the PAM module (which is why I reported this bug in fprintd rather than
libpam-fprintd). When I use any of the fprintd-* commands, it fails as
follows:

$ fprintd-delete asher
Impossible to get devices: 
GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Rejected send message, 1 
matched rules; type="method_call", sender=":1.184" (uid=1000 pid=15139 
comm="fprintd-delete asher ") interface="net.reactivated.Fprint.Manager" 
member="GetDevices" error name="(unset)" requested_reply="0" 
destination=":1.185" (uid=0 pid=15143 comm="/usr/libexec/fprintd ")
$ fprintd-enroll asher
Impossible to enroll: GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: 
Rejected send message, 1 matched rules; type="method_call", sender=":1.186" 
(uid=1000 pid=15151 comm="fprintd-enroll asher ") 
interface="net.reactivated.Fprint.Manager" member="GetDefaultDevice" error 
name="(unset)" requested_reply="0" destination=":1.185" (uid=0 pid=15143 
comm="/usr/libexec/fprintd ")
$ fprintd-list asher
Impossible to get devices: 
GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Rejected send message, 1 
matched rules; type="method_call", sender=":1.188" (uid=1000 pid=15165 
comm="fprintd-list asher ") interface="net.reactivated.Fprint.Manager" 
member="GetDevices" error name="(unset)" requested_reply="0" 
destination=":1.185" (uid=0 pid=15143 comm="/usr/libexec/fprintd ")
$ fprintd-verify 
Impossible to verify: GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: 
Rejected send message, 1 matched rules; type="method_call", sender=":1.189" 
(uid=1000 pid=15169 comm="fprintd-verify ") 
interface="net.reactivated.Fprint.Manager" member="GetDefaultDevice" error 
name="(unset)" requested_reply="0" destination=":1.185" (uid=0 pid=15143 
comm="/usr/libexec/fprintd ")

From the org.freedesktop.DBus.Error.AccessDenied error, it seems that it
might be a permissions problem. However, the commands do not work, even
when run as root:

$ sudo fprintd-list asher
[sudo] password for asher: 
Impossible to get devices: 
GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Rejected send message, 1 
matched rules; type="method_call", sender=":1.199" (uid=0 pid=15422 
comm="fprintd-list asher ") interface="net.reactivated.Fprint.Manager" 
member="GetDevices" error name="(unset)" requested_reply="0" 
destination=":1.200" (uid=0 pid=15425 comm="/usr/libexec/fprintd ")

All the above commands returned with an exit status of 1.

Also, if I run /usr/libexec/fprintd manually, I get the following
warning (although a 0 exit status):

$ /usr/libexec/fprintd

(fprintd:15733): fprintd-WARNING **: 13:01:49.856: Failed to get name: 
net.reactivated.Fprint

Perhaps this is because fprintd is already running. However
'ps -fe | grep [f]printd' lists no processes.

Thanks,
Asher

-- System Information:
Debian Release: bullseye/sid
  APT prefers testing-debug
  APT policy: (500, 'testing-debug'), (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 5.9.0-4-amd64 (SMP w/2 CPU threads)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages fprintd depends on:
ii  dbus   1.12.20-1
ii  libc6  2.31-5
ii  libfprint-2-2  1:1.90.5-2
ii  libglib2.0-0   2.66.3-2
ii  libpolkit-gobject-1-0  0.105-29
ii  policykit-10.105-29

fprintd recommends no packages.

fprintd suggests no packages.

-- no debconf information

-- 
By necessity, by proclivity, and by delight, we all quote.  In fact, it is as
difficult to appropriate the thoughts of others as it is to invent.
-- R. Emerson
-- Quoted from a fortune cookie program
(whose author claims, "Actually, stealing IS easier.")
[to which I reply, "You think it's easy for me to
misconstrue all these misquotations?!?"  Ed.]
   
I prefer to send and receive mail encrypted. Please send me your
public key, and if you do not have my public key, please let me
know. Thanks.

GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68


signature.asc
Description: PGP signature


Bug#975876: libpam-fprintd: Upgrade removed fprintd method from /etc/pam.d/common-auth

2020-11-25 Thread Asher Gordon
Package: libpam-fprintd
Version: 1.90.1-2
Severity: important
X-Debbugs-Cc: Asher Gordon 

Dear Maintainer,

When I upgraded the libpam-fprintd package to 1.90.1-2 (from 0.8.1-2​¹​),
fingerprint scanning stopped working for many things, including login,
sudo, and systemctl (but still worked for GDM and GNOME). I figured out
that this was because the pam_fprintd.so method had been removed from
/etc/pam.d/common-auth. After using pam-auth-update to re-add fprintd,
everything worked as expected.

The upgrade should not have removed the pam_fprintd.so method from
/etc/pam.d/common-auth. Indeed, I see no reason why that file should be
modified at all.

I set the severity of this bug to important, since removing fprintd from
common-auth breaks many things, and the cause of the problem is not
obvious. Feel free to downgrade if you disagree.

The best solution, in my opinion, would be to stop further updates from
modifying common-auth. At the very least, something should be added to
NEWS.Debian indicating that pam-auth-update will need to be re-run in
order to have fingerprints working again.

Also, it's possible that a different package upgrade caused the config
file to change, but this package seems the likeliest candidate.

Thanks,
Asher


Footnotes:
​¹​  I had been using an old version because of other problems. See
   #949165.


-- System Information:
Debian Release: bullseye/sid
  APT prefers testing-debug
  APT policy: (500, 'testing-debug'), (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 5.9.0-3-amd64 (SMP w/2 CPU threads)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages libpam-fprintd depends on:
ii  fprintd 1.90.1-2
ii  libc6   2.31-4
ii  libpam-runtime  1.3.1-5
ii  libpam0g1.3.1-5
ii  libsystemd0 246.6-4

libpam-fprintd recommends no packages.

libpam-fprintd suggests no packages.

-- no debconf information

-- 
He was part of my dream, of course -- but then I was part of his dream too.
-- Lewis Carroll
   
I prefer to send and receive mail encrypted. Please send me your
public key, and if you do not have my public key, please let me
know. Thanks.

GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68


signature.asc
Description: PGP signature


Bug#970984: linux-image-5.8.0-2-amd64: Please replace console scrollback

2020-09-28 Thread Asher Gordon
Control: forwarded -1 https://bugzilla.kernel.org/show_bug.cgi?id=209421

Hi Moritz,

Moritz Mühlenhoff  writes:

> Yeah, I'm also bitten by this for my day-to-day workflows, but
> unfortunately this was removed upstream, this is not a Debian-specific
> patch, so this needs to be fixed upstream, before it becomes available
> in Debian again.

OK, I forwarded this upstream here:
https://bugzilla.kernel.org/show_bug.cgi?id=209421

Thanks,
Asher

-- 
The marvels of today's modern technology include the development of a
soda can, when discarded will last forever ... and a $7,000 car which
when properly cared for will rust out in two or three years.
   
I prefer to send and receive mail encrypted. Please send me your
public key, and if you do not have my public key, please let me
know. Thanks.

GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68


signature.asc
Description: PGP signature


Bug#970984: linux-image-5.8.0-2-amd64: Please replace console scrollback

2020-09-25 Thread Asher Gordon
Package: src:linux
Version: 5.8.10-1
Severity: normal
X-Debbugs-Cc: Asher Gordon 

Dear Maintainer,

After upgrading to linux-image-5.8.0-2, I noticed that scrollback is no
longer available in the console. A quick look at the changelog
('apt changelog linux-image-amd64') indicates that this was done to fix
CVE-2020-14390. Surely however, there must be a better way to fix this
than simply removing this code entirely?

It is pretty annoying not having scrollback, and I'm sure I'm not the
only one who would like scrollback replaced.

Thanks,
Asher

-- Package-specific info:
** Version:
Linux version 5.8.0-2-amd64 (debian-ker...@lists.debian.org) (gcc-10 (Debian 
10.2.0-9) 10.2.0, GNU ld (GNU Binutils for Debian) 2.35) #1 SMP Debian 5.8.10-1 
(2020-09-19)

** Command line:
BOOT_IMAGE=/vmlinuz root=/dev/sda1 rw quiet splash

** Tainted: I (2048)
 * workaround for bug in platform firmware applied

** Kernel log:
Unable to read kernel log; any relevant messages should be attached

** Model information
sys_vendor: Libiquity
product_name: Taurinus X200
product_version: 1.0
chassis_vendor: Libiquity
chassis_version: 
bios_vendor: coreboot
bios_version: CBET4000 4.0
board_vendor: Libiquity
board_name: Taurinus X200
board_version: 1.0

** Loaded modules:
rfcomm
snd_seq_dummy
snd_hrtimer
snd_seq
snd_seq_device
fuse
ctr
ccm
bnep
btusb
btrtl
ath9k
btbcm
btintel
ath9k_common
ath9k_hw
bluetooth
ath
coretemp
kvm_intel
mac80211
uvcvideo
snd_hda_codec_conexant
snd_hda_codec_generic
kvm
jitterentropy_rng
videobuf2_vmalloc
snd_hda_intel
videobuf2_memops
snd_intel_dspcfg
videobuf2_v4l2
videobuf2_common
snd_hda_codec
drbg
cfg80211
videodev
aes_generic
snd_hda_core
snd_hwdep
crypto_simd
irqbypass
cryptd
glue_helper
snd_pcm
mc
sg
iTCO_wdt
serio_raw
intel_pmc_bxt
iTCO_vendor_support
pcspkr
ansi_cprng
snd_timer
watchdog
nvram
ledtrig_audio
snd
ecdh_generic
ecc
libaes
libarc4
soundcore
rfkill
ac
evdev
acpi_cpufreq
binfmt_misc
ecryptfs
parport_pc
ppdev
lp
parport
ip_tables
x_tables
autofs4
ext4
crc16
mbcache
jbd2
btrfs
blake2b_generic
xor
zstd_decompress
zstd_compress
raid6_pq
libcrc32c
crc32c_generic
sd_mod
t10_pi
crc_t10dif
crct10dif_generic
crct10dif_common
i915
ahci
libahci
i2c_algo_bit
libata
drm_kms_helper
cec
ehci_pci
uhci_hcd
scsi_mod
drm
ehci_hcd
psmouse
e1000e
usbcore
i2c_i801
i2c_smbus
lpc_ich
ptp
pps_core
usb_common
battery
video
button

** PCI devices:
00:00.0 Host bridge [0600]: Intel Corporation Mobile 4 Series Chipset Memory 
Controller Hub [8086:2a40] (rev 07)
Subsystem: Lenovo ThinkPad T400 [17aa:20e0]
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR+ FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- SERR- 

00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile 4 Series 
Chipset Integrated Graphics Controller [8086:2a42] (rev 07) (prog-if 00 [VGA 
controller])
Subsystem: Lenovo Mobile 4 Series Chipset Integrated Graphics 
Controller [17aa:20e4]
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- SERR- 
Kernel driver in use: i915
Kernel modules: i915

00:02.1 Display controller [0380]: Intel Corporation Mobile 4 Series Chipset 
Integrated Graphics Controller [8086:2a43] (rev 07)
Subsystem: Lenovo Mobile 4 Series Chipset Integrated Graphics 
Controller [17aa:20e4]
Control: I/O- Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- SERR- 

00:19.0 Ethernet controller [0200]: Intel Corporation 82567LM Gigabit Network 
Connection [8086:10f5] (rev 03)
Subsystem: Lenovo ThinkPad T400 [17aa:20ee]
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR+ FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- 
Kernel driver in use: e1000e
Kernel modules: e1000e

00:1a.0 USB controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI 
Controller #4 [8086:2937] (rev 03) (prog-if 00 [UHCI])
Subsystem: Lenovo ThinkPad T400 [17aa:20f0]
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- 
SERR- 
Kernel driver in use: uhci_hcd
Kernel modules: uhci_hcd

00:1a.1 USB controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI 
Controller #5 [8086:2938] (rev 03) (prog-if 00 [UHCI])
Subsystem: Lenovo ThinkPad T400 [17aa:20f0]
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- 
SERR- 
Kernel driver in use: uhci_hcd
   

Bug#970619: libnet-telnet-perl: Connections occasionally time out and cause errors

2020-09-21 Thread Asher Gordon
Asher Gordon  writes:

> I sent this report upstream, but I'm not confident it will be
> applied because upstream doesn't seem t' have been active fer a
> while.

I just got a reply from upstream, and the author says he doesn't think
it's a bug. So maybe wait on applying the patch until we've figured out
whether it's a bug or not. The issue on the request tracker is here:
https://rt.cpan.org/Public/Bug/Display.html?id=133371 You can reply to
it by sending email to  with the string
"[rt.cpan.org #133371]" in the Subject header.

-- 
The marvels of today's modern technology include the development of a
soda can, when discarded will last forever ... and a $7,000 car which
when properly cared for will rust out in two or three years.
   
I prefer to send and receive mail encrypted. Please send me your
public key, and if you do not have my public key, please let me
know. Thanks.

GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68


signature.asc
Description: PGP signature


Bug#970619: libnet-telnet-perl: Connections occasionally time out and cause errors

2020-09-19 Thread Asher Gordon
Package: libnet-telnet-perl
Version: 3.04-1
Severity: normal
Tags: patch
X-Debbugs-Cc: Asher Gordon 

Dear Maintainer,

I used Net::Telnet t' write a chat bot fer th' Frrree Internet Chess
Server (freechess.org), called blikII. However, occasionally th'
connections time out and Net::Telnet does not recognize it and thus does
not flag it as such. This causes prroblems, because I set th' errmode t'
a callback which dies on any error except timeout. Even if I ty
t' catch th' timeout that Net::Telnet misses, it be too late because
Net::Telnet already closed th' filehandle. Walk the plank!

I sent this report upstream, but I'm not confident it will be
applied because upstream doesn't seem t' have been active fer a
while. Here be a patch which should fix th' problem (though I ha'nae
tested it much), avast.  The patch be created against 3.04_01, but also
applies against 3.04.
diff -pur Net-Telnet-3.04_01.orig/lib/Net/Telnet.pm Net-Telnet-3.04_01/lib/Net/Telnet.pm
--- Net-Telnet-3.04_01.orig/lib/Net/Telnet.pm	2020-02-17 08:12:07.0 -0500
+++ Net-Telnet-3.04_01/lib/Net/Telnet.pm	2020-09-19 23:02:58.031015494 -0400
@@ -43,6 +43,7 @@ my $AF_UNSPEC = &_import_af_unspec() ||
 my $AI_ADDRCONFIG = &_import_ai_addrconfig() || 0;
 my $EAI_BADFLAGS = &_import_eai_badflags() || -1;
 my $EINTR = &_import_eintr();
+my $ETIMEDOUT = &_import_etimedout();
 
 ## Global variables.
 use vars qw($VERSION @Telopts);
@@ -2602,6 +2603,12 @@ sub _fillbuf {
 		else {
 		next if $! =~ /^interrupted/i;  # restart select()
 		}
+		if (defined $ETIMEDOUT) {
+		next if $! == $ETIMEDOUT;  # restart select()
+		}
+		else {
+		next if $! =~ /timed out/i;  # restart select()
+		}
 
 		$s->{opened} = '';
 		return $self->error("read error: $!");
@@ -2628,6 +2635,12 @@ sub _fillbuf {
 	else {
 		next if $! =~ /^interrupted/i;  # restart sysread()
 	}
+	if (defined $ETIMEDOUT) {
+		next if $! == $ETIMEDOUT;  # restart sysread()
+	}
+	else {
+		next if $! =~ /timed out/i;  # restart sysread()
+	}
 
 	$s->{opened} = '';
 	return $self->error("read error: $!");
@@ -2778,6 +2791,14 @@ sub _import_eintr {
 } # end sub _import_eintr
 
 
+sub _import_etimedout {
+local $@;
+local $SIG{"__DIE__"} = "DEFAULT";
+
+eval "require Errno; Errno::ETIMEDOUT();";
+} # end sub _import_etimedout
+
+
 sub _interpret_cr {
 my ($s, $pos) = @_;
 my (
@@ -3645,6 +3666,12 @@ sub _put {
 		else {
 		next if $! =~ /^interrupted/i;  # restart select()
 		}
+		if (defined $ETIMEDOUT) {
+		next if $! == $ETIMEDOUT;  # restart select()
+		}
+		else {
+		next if $! =~ /timed out/i;  # restart select()
+		}
 
 		$s->{opened} = '';
 		return $self->error("write error: $!");
@@ -3662,6 +3689,12 @@ sub _put {
 	else {
 		next if $! =~ /^interrupted/i;  # restart syswrite()
 	}
+	if (defined $ETIMEDOUT) {
+		next if $! == $ETIMEDOUT;  # restart syswrite()
+	}
+	else {
+		next if $! =~ /timed out/i;  # restart syswrite()
+	}
 
 	$s->{opened} = '';
 	return $self->error("write error: $!");
Thanks,
Asher

P.S., pass the grog! Happy Talk Like a Pirate Day (fer th' next 25
minutes, anyway), with a chest full of booty.

-- System Information:
Debian Release: bullseye/sid
  APT prefers testing-debug
  APT policy: (500, 'testing-debug'), (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 5.8.0-1-amd64 (SMP w/2 CPU threads)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages libnet-telnet-perl depends on:
ii  perl  5.30.3-4

libnet-telnet-perl recommends no packages.

libnet-telnet-perl suggests no packages.

-- no debconf information

-- 
It be better t' be quotable than t' be honest.
-- Tom Stoppard
   
I pefer t' send and receive mail encrypted, I'll warrant ye.  Please
send me yer public key, and if ye den't have me public key, please
let me know.  Shiver me timbers! Thanks, by Blackbearrd's sword.

GPG fingerprrrint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68


signature.asc
Description: PGP signature


Bug#970401: linux-image-5.8.0-1-amd64: Cursor still blinks (not usually visibly) even after it is turned off

2020-09-15 Thread Asher Gordon
Package: src:linux
Version: 5.8.7-1
Severity: normal
X-Debbugs-Cc: Asher Gordon 

Dear Maintainer,

When the cursor is turned off in the console, using

$ printf '\e[?17;0;0c'

the cursor still blinks, although not visibly. This may not seem like a
serious bug, or even a bug at all, but it becomes noticeable and
annoying when watching a video with mplayer using the fbdev2 output. For
example,

$ printf '\e[?17;0;0c'; mplayer -quiet -vo fbdev2 -vf 
scale= ; tput reset

The cursor is visible as a flickering black rectangle, making it very
annoying to watch videos like this.

Note that this bug is not present in linux-image-5.7.0-3-amd64, and when
I boot onto that kernel, I cannot reproduce the bug. When watching
videos as I have described, while booted onto the old kernel, the cursor
is not visible at all (although, it is of course if you omit the initial
'printf').

And before you ask "why don't you just use Totem or VLC or something?"
it's because I prefer to work in the console. :-)

Thanks,
Asher

-- Package-specific info:
** Version:
Linux version 5.8.0-1-amd64 (debian-ker...@lists.debian.org) (gcc-10 (Debian 
10.2.0-6) 10.2.0, GNU ld (GNU Binutils for Debian) 2.35) #1 SMP Debian 5.8.7-1 
(2020-09-05)

** Command line:
BOOT_IMAGE=/vmlinuz root=/dev/sda1 rw quiet splash

** Tainted: I (2048)
 * workaround for bug in platform firmware applied

** Kernel log:
Unable to read kernel log; any relevant messages should be attached

** Model information
sys_vendor: Libiquity
product_name: Taurinus X200
product_version: 1.0
chassis_vendor: Libiquity
chassis_version: 
bios_vendor: coreboot
bios_version: CBET4000 4.0
board_vendor: Libiquity
board_name: Taurinus X200
board_version: 1.0

** Loaded modules:
rfcomm
fuse
snd_seq_dummy
snd_hrtimer
snd_seq
snd_seq_device
ctr
ccm
bnep
ath9k
ath9k_common
btusb
btrtl
btbcm
btintel
ath9k_hw
bluetooth
ath
mac80211
jitterentropy_rng
drbg
coretemp
kvm_intel
cfg80211
aes_generic
kvm
snd_hda_codec_conexant
crypto_simd
uvcvideo
cryptd
snd_hda_codec_generic
glue_helper
videobuf2_vmalloc
videobuf2_memops
videobuf2_v4l2
snd_hda_intel
snd_intel_dspcfg
videobuf2_common
irqbypass
ansi_cprng
snd_hda_codec
videodev
pcspkr
snd_hda_core
serio_raw
mc
iTCO_wdt
intel_pmc_bxt
iTCO_vendor_support
snd_hwdep
sg
watchdog
ecdh_generic
ecc
libaes
snd_pcm
libarc4
nvram
snd_timer
ledtrig_audio
ac
snd
soundcore
rfkill
binfmt_misc
evdev
acpi_cpufreq
ecryptfs
parport_pc
ppdev
lp
parport
ip_tables
x_tables
autofs4
ext4
crc16
mbcache
jbd2
btrfs
blake2b_generic
xor
zstd_decompress
zstd_compress
raid6_pq
libcrc32c
crc32c_generic
sd_mod
t10_pi
crc_t10dif
crct10dif_generic
crct10dif_common
i915
ahci
libahci
libata
i2c_algo_bit
drm_kms_helper
cec
psmouse
drm
e1000e
uhci_hcd
ehci_pci
scsi_mod
ehci_hcd
i2c_i801
usbcore
i2c_smbus
lpc_ich
usb_common
ptp
pps_core
battery
video
button

** PCI devices:
00:00.0 Host bridge [0600]: Intel Corporation Mobile 4 Series Chipset Memory 
Controller Hub [8086:2a40] (rev 07)
Subsystem: Lenovo ThinkPad T400 [17aa:20e0]
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR+ FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- SERR- 

00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile 4 Series 
Chipset Integrated Graphics Controller [8086:2a42] (rev 07) (prog-if 00 [VGA 
controller])
Subsystem: Lenovo Mobile 4 Series Chipset Integrated Graphics 
Controller [17aa:20e4]
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- SERR- 
Kernel driver in use: i915
Kernel modules: i915

00:02.1 Display controller [0380]: Intel Corporation Mobile 4 Series Chipset 
Integrated Graphics Controller [8086:2a43] (rev 07)
Subsystem: Lenovo Mobile 4 Series Chipset Integrated Graphics 
Controller [17aa:20e4]
Control: I/O- Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- SERR- 

00:19.0 Ethernet controller [0200]: Intel Corporation 82567LM Gigabit Network 
Connection [8086:10f5] (rev 03)
Subsystem: Lenovo ThinkPad T400 [17aa:20ee]
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR+ FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- 
Kernel driver in use: e1000e
Kernel modules: e1000e

00:1a.0 USB controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI 
Controller #4 [8086:2937] (rev 03) (prog-if 00 [UHCI])
Subsystem: Lenovo ThinkPad T400 [17aa:20f0]
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- 
SER

Bug#969293: uci2wb: Long option strings are handled incorrectly due to insufficient buffer size

2020-08-30 Thread Asher Gordon
Package: uci2wb
Version: 4.1+git200714-1
Severity: normal
X-Debbugs-Cc: Asher Gordon 

Dear Maintainer,

When a very long UCI option string is encountered by uci2wb, such as the
UCI_Variant option for engines with many variants like Multi-Variant
Stockfish or Fairy-Stockfish, it overflows the 'val' buffer, causing the
option to be handled incorrectly (at least when compiled with
optimization). The easy fix is to simply increase the buffer size as
below:
diff -ur a/UCI2WB.c b/UCI2WB.c
--- a/UCI2WB.c	2020-07-14 08:03:26.0 -0400
+++ b/UCI2WB.c	2020-08-30 16:17:06.311188760 -0400
@@ -331,7 +331,7 @@
 	}
 	}
 	else if(!strcmp(command, "option")) { // USI option: extract data fields
-	char name[80], type[80], buf[1024], val[256], *q;
+	char name[80], type[80], buf[1024], val[1024], *q;
 	int min=0, max=1e9; *val = 0;
 	if(p = strstr(line+6, " type ")) sscanf(p+1, "type %s", type), *p = '\n';
 	if(p = strstr(line+6, " min "))  sscanf(p+1, "min %d", &min), *p = '\n';
Of course, this is hardly perfect, but a better solution would require a
lot more work.

Incidentally, I think the following quote may be relevant for uci2wb:

On the subject of C program indentation:
"In My Egotistical Opinion, most people's C programs should
be indented six feet downward and covered with dirt."
-- Blair P. Houghton

Thanks,
Asher

-- System Information:
Debian Release: bullseye/sid
  APT prefers testing-debug
  APT policy: (500, 'testing-debug'), (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 5.7.0-2-amd64 (SMP w/2 CPU threads)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages uci2wb depends on:
ii  libc6  2.31-3

Versions of packages uci2wb recommends:
ii  eboard 1.1.3-0.3
pn  gpsshogi | eleeye  
ii  xboard 4.9.1-2

uci2wb suggests no packages.

-- no debconf information

-- 
One picture is worth 128K words.
   
I prefer to send and receive mail encrypted. Please send me your
public key, and if you do not have my public key, please let me
know. Thanks.

GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68


signature.asc
Description: PGP signature


Bug#969228: glaurung: Segmentation fault caused by out of bounds access

2020-08-29 Thread Asher Gordon
Package: glaurung
Version: 2.2-3
Severity: grave
Tags: patch
X-Debbugs-Cc: Asher Gordon 

Dear Maintainer,

Glaurung segfaults when the 'go' command is used, making it
unusable. For example:

$ glaurung
Glaurung 2.2.  Copyright (C) 2004-2008 Tord Romstad.
go
Segmentation fault

This is because of an out of bounds access, fixed by the following
patch:
From 62017d29d816d07513805500d498d8779343e074 Mon Sep 17 00:00:00 2001
From: Asher Gordon 
Date: Sat, 29 Aug 2020 12:53:56 -0400
Subject: [PATCH 1/3] Fix buffer overrun, causing a segfault

---
 src/evaluate.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/evaluate.cpp b/src/evaluate.cpp
index 72032f0..ac303fa 100644
--- a/src/evaluate.cpp
+++ b/src/evaluate.cpp
@@ -1243,7 +1243,7 @@ namespace {
 SafetyTable[i] = Value((int)(100 * a * (i - b)));
 }
 
-for(i = 0; i < 100; i++)
+for(i = 0; i < 99; i++)
   if(SafetyTable[i+1] - SafetyTable[i] > maxSlope) {
 for(j = i + 1; j < 100; j++)
   SafetyTable[j] = SafetyTable[j-1] + Value(maxSlope);
-- 
2.28.0

I also attempted to send this patch upstream, but I don't know Tord's
current email address (it's not t...@glaurungchess.com; I tried). So I
sent it to Matthew Purland, since he had made the last commit on
https://github.com/phenri/glaurung.

So hopefully, he will be able to apply it upstream, but until then,
please apply this patch in Debian.

Thanks,
Asher

-- System Information:
Debian Release: bullseye/sid
  APT prefers testing-debug
  APT policy: (500, 'testing-debug'), (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 5.7.0-2-amd64 (SMP w/2 CPU threads)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages glaurung depends on:
ii  libc6   2.31-3
ii  libstdc++6  10.1.0-6

Versions of packages glaurung recommends:
ii  polyglot  2.0.4-2+b1
ii  xboard4.9.1-2

glaurung suggests no packages.

-- no debconf information

-- 
One picture is worth 128K words.
   
I prefer to send and receive mail encrypted. Please send me your
public key, and if you do not have my public key, please let me
know. Thanks.

GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68


signature.asc
Description: PGP signature


Bug#966816: lvm2: Patch to fix the problem

2020-08-08 Thread Asher Gordon
Michael Biebl  writes:

> As said in the initial message: a better fix is to simply drop that
> ExecStart= line altogether. It's not necessary (anymore) for
> Type=oneshot services.

Sorry, I missed that. Well although it is trivial, here is a patch to
justify the patch tag I added: ;-)
diff --git a/scripts/blk_availability_systemd_red_hat.service.in b/scripts/blk_availability_systemd_red_hat.service.in
index c556e1c8d..c7df95cc0 100644
--- a/scripts/blk_availability_systemd_red_hat.service.in
+++ b/scripts/blk_availability_systemd_red_hat.service.in
@@ -7,7 +7,6 @@ Conflicts=shutdown.target
 
 [Service]
 Type=oneshot
-ExecStart=@bindir@/true
 ExecStop=@SBINDIR@/blkdeactivate -u -l wholevg -m disablequeueing -r wait
 RemainAfterExit=yes
 
Thanks,
Asher

-- 
If you stand on your head, you will get footprints in your hair.
   
I prefer to send and receive mail encrypted. Please send me your
public key, and if you do not have my public key, please let me
know. Thanks.

GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68


signature.asc
Description: PGP signature


Bug#966816: lvm2: Patch to fix the problem

2020-08-07 Thread Asher Gordon
Asher Gordon  writes:

> It seems that this problem was present for quite a while, so I'm not
> sure why I didn't notice it before.

Ah, it's because the bug only came up after the new release
(2.03.09-2). The bug lay dormant in 2.03.09-1. That's because
'--bindir=/bin' was removed from debian/rules in commit 5df1ae4 in order
to fix #929437. (That commit was between debian/2.03.09-1 and
debian/2.03.09-2.)

So that's why I didn't notice it before.

Thanks,
Asher

-- 
If you stand on your head, you will get footprints in your hair.
   
I prefer to send and receive mail encrypted. Please send me your
public key, and if you do not have my public key, please let me
know. Thanks.

GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68


signature.asc
Description: PGP signature


Bug#966816: lvm2: Patch to fix the problem

2020-08-06 Thread Asher Gordon
Package: lvm2
Version: 2.03.09-2
Followup-For: Bug #966816

Dear Maintainer,

I noticed this bug as well, when I was upgrading lvm2. Here is a patch
to fix the problem:
diff --git a/scripts/blk_availability_systemd_red_hat.service.in b/scripts/blk_availability_systemd_red_hat.service.in
index c556e1c8d..c83f76a08 100644
--- a/scripts/blk_availability_systemd_red_hat.service.in
+++ b/scripts/blk_availability_systemd_red_hat.service.in
@@ -7,7 +7,7 @@ Conflicts=shutdown.target
 
 [Service]
 Type=oneshot
-ExecStart=@bindir@/true
+ExecStart=/bin/true
 ExecStop=@SBINDIR@/blkdeactivate -u -l wholevg -m disablequeueing -r wait
 RemainAfterExit=yes
 
This could also be fixed by fully expanding $bindir in configure like
$SBINDIR and some other variables, but the path to 'true' is independent
on $bindir anyway, so I think using /bin/true is a better
solution. (Also, I'm not even sure that $bindir _is_ /bin.)

It seems that this problem was present for quite a while, so I'm not
sure why I didn't notice it before.

Thanks,
Asher

-- System Information:
Debian Release: bullseye/sid
  APT prefers testing-debug
  APT policy: (500, 'testing-debug'), (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 5.7.0-2-amd64 (SMP w/2 CPU threads)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages lvm2 depends on:
ii  dmeventd  2:1.02.171-2
ii  dmsetup   2:1.02.171-2
ii  init-system-helpers   1.58
ii  libaio1   0.3.112-8
ii  libblkid1 2.36-2
ii  libc6 2.31-2
ii  libdevmapper-event1.02.1  2:1.02.171-2
ii  libreadline5  5.2+dfsg-3+b13
ii  libselinux1   3.1-2
ii  libsystemd0   246-2
ii  libudev1  246-2
ii  lsb-base  11.1.0

Versions of packages lvm2 recommends:
ii  thin-provisioning-tools  0.8.5-4

lvm2 suggests no packages.

-- no debconf information

-- 
By necessity, by proclivity, and by delight, we all quote.  In fact, it is as
difficult to appropriate the thoughts of others as it is to invent.
-- R. Emerson
-- Quoted from a fortune cookie program
(whose author claims, "Actually, stealing IS easier.")
[to which I reply, "You think it's easy for me to
misconstrue all these misquotations?!?"  Ed.]
   
I prefer to send and receive mail encrypted. Please send me your
public key, and if you do not have my public key, please let me
know. Thanks.

GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68


signature.asc
Description: PGP signature


Bug#966648: eboard: Split zseal into a separate package

2020-07-31 Thread Asher Gordon
Package: eboard
Version: 1.1.3-0.3
Severity: wishlist
X-Debbugs-Cc: Asher Gordon 

Dear Maintainer,

Currently, eboard ships with zseal (the timeseal implementation included
with eboard) as /usr/share/games/eboard/timeseal.Linux. However, zseal
is useful without eboard, for use with XBoard for example. So I think it
would be better to split zseal into a separate package.

Note that zseal is included in the upstream eboard distribution
(https://github.com/fbergo/eboard) and it also has its own repository
(https://github.com/fbergo/zseal). At the time of this writing, zseal.c
in both repositories are effectively the same.

I think it would be simplest to build a separate zseal binary package
from the eboard source package. Then, the eboard binary package could
Recommend zseal and install a symlink (or wrapper script to avoid
dangling links) that points to the zseal binary in
/usr/share/games/eboard/timeseal.Linux. Other chess clients (like
XBoard) could then Recommend (or perhaps Suggest) zseal as well.

Also, I think that a symlink should be installed in /usr/bin/timeseal
that points to zseal, since timeseal is the more commonly known name. I
think this should either be done by the zseal package itself, or a
separate package, timeseal, that depends on zseal (and zseal could
Recommend or Suggest timeseal). Personally, I think the second way is
better, because users looking for the timeseal binary would find it in
the timeseal package. Then maybe it would be better for chess clients to
Recommend or Suggest the timeseal package, rather than zseal.

I have limited experience with Debian package development, but I'll try
to do some of this myself if I can find the time.

Thanks,
Asher

-- System Information:
Debian Release: bullseye/sid
  APT prefers testing-debug
  APT policy: (500, 'testing-debug'), (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 5.7.0-1-amd64 (SMP w/2 CPU threads)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages eboard depends on:
ii  libatk1.0-0  2.36.0-2
ii  libc62.31-2
ii  libcairo21.16.0-4
ii  libfontconfig1   2.13.1-4.2
ii  libfreetype6 2.10.2+dfsg-3
ii  libgcc-s1 [libgcc1]  10.1.0-6
ii  libgdk-pixbuf2.0-0   2.40.0+dfsg-5
ii  libglib2.0-0 2.64.4-1
ii  libgstreamer1.0-01.16.2-2
ii  libgtk2.0-0  2.24.32-4
ii  libpango-1.0-0   1.44.7-4
ii  libpangocairo-1.0-0  1.44.7-4
ii  libpangoft2-1.0-01.44.7-4
ii  libpng16-16  1.6.37-2
ii  libstdc++6   10.1.0-6
ii  zlib1g   1:1.2.11.dfsg-2

Versions of packages eboard recommends:
ii  xfonts-75dpi  1:1.0.4+nmu1

Versions of packages eboard suggests:
ii  gnuchess  6.2.5-1

-- no debconf information

-- 
If for every rule there is an exception, then we have established that there
is an exception to every rule.  If we accept "For every rule there is an
exception" as a rule, then we must concede that there may not be an exception
after all, since the rule states that there is always the possibility of
exception, and if we follow it to its logical end we must agree that there
can be an exception to the rule that for every rule there is an exception.
-- Bill Boquist
   
I prefer to send and receive mail encrypted. Please send me your
public key, and if you do not have my public key, please let me
know. Thanks.

GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68


signature.asc
Description: PGP signature


Bug#966468: util-linux: provide rename.ul again

2020-07-28 Thread Asher Gordon
Package: util-linux
Version: 2.36-1
Severity: normal
X-Debbugs-Cc: none, Asher Gordon 

Dear Maintainer,

I realize that rename.ul was removed because of #926637, but I think
that action was unnecessary. I believe the reporter of that bug wanted
rename.ul to be installed as an alternative for rename. Although you
provided a good reason for why this should not be done, I don't think
that's a reason to remove rename.ul entirely.

Personally, rename.ul was my rename of choice because of its simplicity,
and I was disappointed to see it go. I would appreciate it if you would
consider providing rename.ul in util-linux again.

Also, if you'd rather not provide rename.ul in util-linux, you might
consider building a separate binary package which provides rename.ul
from the util-linux source package. Then you might have the util-linux
binary package Suggest or Recommend rename.ul.

Thanks,
Asher

-- System Information:
Debian Release: bullseye/sid
  APT prefers testing-debug
  APT policy: (500, 'testing-debug'), (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 5.7.0-1-amd64 (SMP w/2 CPU threads)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages util-linux depends on:
ii  libaudit1  1:2.8.5-3+b1
ii  libblkid1  2.36-1
ii  libc6  2.31-1
ii  libcap-ng0 0.7.9-2.2
ii  libcrypt1  1:4.4.16-1
ii  libmount1  2.36-1
ii  libpam0g   1.3.1-5
ii  libselinux13.1-2
ii  libsmartcols1  2.36-1
ii  libsystemd0245.6-2
ii  libtinfo6  6.2-2
ii  libudev1   245.6-2
ii  libuuid1   2.36-1
ii  login  1:4.8.1-1
ii  zlib1g 1:1.2.11.dfsg-2

util-linux recommends no packages.

Versions of packages util-linux suggests:
ii  dosfstools  4.1-2
ii  kbd 2.0.4-4
ii  util-linux-locales  2.36-1

-- no debconf information

-- 
The marvels of today's modern technology include the development of a
soda can, when discarded will last forever ... and a $7,000 car which
when properly cared for will rust out in two or three years.
   
I prefer to send and receive mail encrypted. Please send me your
public key, and if you do not have my public key, please let me
know. Thanks.

GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68


signature.asc
Description: PGP signature


Bug#964025: berusky2: New upstream release

2020-07-04 Thread Asher Gordon
Hi Markus,

Markus Koschany  writes:

> Thank you. I have uploaded berusky2 a few minutes ago.

Cool, thanks!

> Tip for the future: You can just attach your compressed debian
> diretory to the bug report or open a merge request on salsa.debian.org
> and send a note to your bug report. If you create a patch for upstream
> and debian files I can't apply it as is because of the
> master/upstream/pristine-tar Git structure of our packages. There is
> also a tool called debdiff which eases the creation of Debian patches.

Thanks, good to know.

> Have a nice weekend

You too.

Asher

-- 
"It's my cookie file and if I come up with something that's lame and I like it,
it goes in."
-- karl (Karl Lehenbauer)
   
I prefer to send and receive mail encrypted. Please send me your
public key, and if you do not have my public key, please let me
know. Thanks.

GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68


signature.asc
Description: PGP signature


Bug#964263: linux-image-5.7.0-1-amd64: Switching from a graphical VT to a non-graphical one freezes display

2020-07-04 Thread Asher Gordon
Package: src:linux
Version: 5.7.6-1
Severity: normal

Dear Maintainer,

When I switch from a VT running a graphical environment, specifically
EXWM, to a VT running a plain old console with getty, the display
freezes up. Switching from that VT to another one (graphical or console)
unfreezes the display. The VT still recognizes my keypresses, but it
still displays whatever was on the screen before I switched VTs. I use
Ctrl+Alt+F[1-6] to switch VTs.

Strangely enough, this doesn't happen all the time. Sometimes I can't
make it happen even once, but sometimes it happens most of the time. I
have observed the bug in both EXWM and i3, but I have yet to observe it
in GNOME.

I noticed this when I upgraded the kernel, and if I boot onto the old
one (linux-image-amd64 5.6.14-2, linux-image-5.6.0-1-amd64 5.6.7-1), I
am unable to cause the symptoms described.

Also, if the non-graphical VT that I am switching to is not running
getty, the symptoms do not appear. So if I run 'systemctl stop
getty@tty3.service' and then run a graphical shell (using startx) in
tty2, switching from tty2 to tty3 will not freeze the display. However,
if I then switch from tty3 back to tty2 and then back to tty3 again, it
will (maybe) freeze the display, since getty is now running in tty3.

Note that I only stopped getty, I didn't actually deallocate the VT
(using deallocvt). I suspect that stopping getty could have caused the
VT to automatically deallocate itself.

I have not observed this bug when switching from a graphical to
graphical VT, from a non-graphical to non-graphical VT, or from a
non-graphical to graphical VT. Only when switching from a graphical to
non-graphical VT does the bug appear.

Thanks,
Asher

-- Package-specific info:
** Version:
Linux version 5.7.0-1-amd64 (debian-ker...@lists.debian.org) (gcc version 9.3.0 
(Debian 9.3.0-14), GNU ld (GNU Binutils for Debian) 2.34) #1 SMP Debian 5.7.6-1 
(2020-06-24)

** Command line:
BOOT_IMAGE=/vmlinuz root=/dev/sda1 rw quiet splash

** Tainted: I (2048)
 * workaround for bug in platform firmware applied

** Kernel log:
[6.336783] iTCO_wdt: initialized. heartbeat=30 sec (nowayout=0)
[6.338438] sd 0:0:0:0: Attached scsi generic sg0 type 0
[6.411428] systemd[1]: Created slice system-wacom\x2dinputattach.slice.
[6.411776] systemd[1]: Condition check resulted in Dispatch Password 
Requests to Console Directory Watch being skipped.
[6.411968] systemd[1]: Condition check resulted in FUSE Control File System 
being skipped.
[6.412078] systemd[1]: Condition check resulted in Kernel Configuration 
File System being skipped.
[6.412183] systemd[1]: Condition check resulted in Set Up Additional Binary 
Formats being skipped.
[6.412228] systemd[1]: Condition check resulted in Rebuild Hardware 
Database being skipped.
[6.412276] systemd[1]: Condition check resulted in Commit a transient 
machine-id on disk being skipped.
[6.412309] systemd[1]: Condition check resulted in Platform Persistent 
Storage Archival being skipped.
[6.428197] audit: type=1400 audit(1593880876.069:10): apparmor="STATUS" 
operation="profile_load" profile="unconfined" name="libreoffice-oopslash" 
pid=293 comm="apparmor_parser"
[6.462107] cfg80211: Loading compiled-in X.509 certificates for regulatory 
database
[6.462454] cfg80211: Loaded X.509 cert 'b...@debian.org: 
577e021cb980e0e820821ba7b54b4961b8b4fadf'
[6.462816] cfg80211: Loaded X.509 cert 'romain.per...@gmail.com: 
3abbc6ec146e09d1b6016ab9d6cf71dd233f0328'
[6.463157] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[6.466353] platform regulatory.0: firmware: direct-loading firmware 
regulatory.db
[6.466725] platform regulatory.0: firmware: direct-loading firmware 
regulatory.db.p7s
[6.468314] snd_hda_codec_conexant hdaudioC0D0: CX20561 (Hermosa): BIOS 
auto-probing.
[6.469853] audit: type=1400 audit(1593880876.109:11): apparmor="STATUS" 
operation="profile_load" profile="unconfined" name="libreoffice-xpdfimport" 
pid=305 comm="apparmor_parser"
[6.485434] systemd[1]: Finished Load/Save Screen Backlight Brightness of 
backlight:intel_backlight.
[6.493410] snd_hda_codec_conexant hdaudioC0D0: autoconfig for CX20561 
(Hermosa): line_outs=1 (0x1a/0x0/0x0/0x0/0x0) type:speaker
[6.493413] snd_hda_codec_conexant hdaudioC0D0:speaker_outs=0 
(0x0/0x0/0x0/0x0/0x0)
[6.493415] snd_hda_codec_conexant hdaudioC0D0:hp_outs=2 
(0x19/0x16/0x0/0x0/0x0)
[6.493416] snd_hda_codec_conexant hdaudioC0D0:mono: mono_out=0x0
[6.493418] snd_hda_codec_conexant hdaudioC0D0:dig-out=0x1c/0x0
[6.493419] snd_hda_codec_conexant hdaudioC0D0:inputs:
[6.493421] snd_hda_codec_conexant hdaudioC0D0:  Mic=0x18
[6.493423] snd_hda_codec_conexant hdaudioC0D0:  Internal Mic=0x1d
[6.493424] snd_hda_codec_conexant hdaudioC0D0:  Dock Mic=0x17
[6.530933] input: HDA Intel Mic as 
/devices/pci:00/:00:1b.0/sound/card0/input8
[6.531005] input: HDA Int

Bug#964025: berusky2: New upstream release

2020-07-03 Thread Asher Gordon
I just realized that readme-debian-mode added my name to README.Debian,
because I removed an entry. You can change/remove that if you wish.

-- 
Hi! I'm a .signature virus! Copy me into your ~/.signature to help me sprea=
d!
   
I prefer to send and receive mail encrypted. Please send me your
public key, and if you do not have my public key, please let me
know. Thanks.

GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68


signature.asc
Description: PGP signature


Bug#964025: berusky2: New upstream release

2020-06-30 Thread Asher Gordon
Package: berusky2
Version: 0.10+git20170630-5
Severity: normal

Dear Maintainer,

I have been doing some work on Berusky 2 and I am pleased to announce
that we have released a new version, 0.12 (0.11 wasn't really an
official release, but there were 0.11 packages on Fedora). This fixes
#948760 as well as many other bugs (none of the other open Debian bugs,
unfortunately), and adds some new features (and maybe some new bugs as
well).

After updating, you can drop the following patches:

944431-avoid-no-return-statement-in-function-returning-non-void.patch
fix-crash-when-teleporting.patch
fix-more-crashes.patch
gcc-6-FTBFS.patch

In fact, the only patches you shouldn't drop are data.patch and
docs.patch since those are Debian-specific.

The new release also makes many changes to the data, including replacing
APAK files with directories and .bmp with .png. The new data tarball is
available here:

https://anakreon.cz/download/berusky2-data-0.12.tar.xz

Also, Martin has decided that you should now use my repository for the
upstream repository (not homepage). My repository is here:

https://notabug.org/AsDaGo/berusky2

The current homepage URL in the Debian package does not point to the
Berusky 2 page any more. Martin is trying to fix that, but I think the
alternative URL is more descriptive, so you might want to switch to that
anyway. Also, anakreon.cz now supports https, so you should use that as
well. The new URL is as follows:

https://anakreon.cz/berusky2.html

Thanks,
Asher

-- System Information:
Debian Release: bullseye/sid
  APT prefers testing-debug
  APT policy: (500, 'testing-debug'), (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 5.6.0-2-amd64 (SMP w/2 CPU cores)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages berusky2 depends on:
ii  berusky2-data   0.9-2
ii  libalut01.1.0-6
ii  libc6   2.30-8
ii  libgcc-s1 [libgcc1] 10.1.0-4
ii  libgl1  1.3.1-1
ii  libglu1-mesa [libglu1]  9.0.1-1
ii  libopenal1  1:1.19.1-1+b1
ii  libsdl-image1.2 1.2.12-12
ii  libsdl1.2debian 1.2.15+dfsg2-5
ii  libstdc++6  10.1.0-4
ii  libvorbisfile3  1.3.6-2
ii  libx11-62:1.6.9-2+b1
ii  zlib1g  1:1.2.11.dfsg-2

berusky2 recommends no packages.

berusky2 suggests no packages.

-- no debconf information

-- 
If at first you don't succeed, redefine success.
   
I prefer to send and receive mail encrypted. Please send me your
public key, and if you do not have my public key, please let me
know. Thanks.

GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68


signature.asc
Description: PGP signature


Bug#954806: Wrong copyright years in attached tarball

2020-03-24 Thread Asher Gordon
Asher Gordon  writes:

> Since I was not able write a simpler program that triggers the bug, I
> have attached the source tarball (mu.tar.gz).

I copied the copyright notices in that tarball from another project and
forgot to change the copyright years. It should really be 2020. (It
probably makes no difference, but I just thought I'd clarify just in
case.)

Asher

-- 
The marvels of today's modern technology include the development of a
soda can, when discarded will last forever ... and a $7,000 car which
when properly cared for will rust out in two or three years.
   
I prefer to send and receive mail encrypted. Please send me your
public key, and if you do not have my public key, please let me
know. Thanks.

GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68


signature.asc
Description: PGP signature


Bug#954806: gcc-9: Optimizes away something it shouldn't

2020-03-23 Thread Asher Gordon
Package: gcc-9
Version: 9.3.0-3
Severity: normal

Dear Maintainer,

I am writing a general purpose convenience library called Mu (for
Miscellaneous Utilities). It includes an option parsing module intended
to be a replacement for getopt_long().

Options are defined in structures which include various information,
including an optional callback which will be called when the option is
found. The parse_opts() function has a flag `OPT_HELP' (or
`OPT_HELP_SHORT' or `OPT_HELP_LONG') which makes it automatically add a
'-h' and/or a '--help' option which calls a callback to print a usage
message.

The problem is, when the test program (test.c) is compiled with
optimization, the data fields (set at options.c:127-131) passed to the
callback are optimized out. This causes a segmentation fault and/or
error message when './test' is passed '-h' or '--help'. Note that when
the program is compiled without optimization, no memory errors are
reported when run under Valgrind (although memory errors *are* reported
when the program is compiled with optimization).

I thought that the problem may have been that I was casting the data
pointer to (void *), but I tried creating a test program to test that,
and that didn't seem to be the problem.

To compile the program with optimization, I ran:

$ make CC=gcc-9 CFLAGS='-Wall -O1' clean all

And without optimization:

$ make CC=gcc-9 CFLAGS='-Wall -O0' clean all

Note that the problem can be reproduced with GCC 10 also
(CC=gcc-10). Also note that no warnings are reported with -Wall, not
even with -O3. Three warnings are reported with -Werror, but I don't
think they are serious or relevant. Here they are, just in case
(compiled with -O3 to catch warnings it might not otherwise):

$ make CC=gcc-9 CFLAGS='-Wall -Wextra -O3' clean all
rm -f *.o test
gcc-9 -Wall -Wextra -O3   -c -o test.o test.c
gcc-9 -Wall -Wextra -O3   -c -o compat.o compat.c
gcc-9 -Wall -Wextra -O3   -c -o format.o format.c
format.c: In function ‘format_list’:
format.c:277:36: warning: comparison of integer expressions of different 
signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
  277 | if (width && size + char_width > width - *col) {
  |^
In file included from format.c:34:
format.c:303:27: warning: comparison of integer expressions of different 
signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
  303 |  assert(index + tab_width > width - *col);
  |   ^
format.c:314:19: warning: comparison of integer expressions of different 
signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
  314 |  assert(index + 1 > width - *col);
  |   ^
gcc-9 -Wall -Wextra -O3   -c -o io.o io.c
gcc-9 -Wall -Wextra -O3   -c -o options.o options.c
gcc-9 -Wall -Wextra -O3   -c -o safe.o safe.c
gcc-9   test.o compat.o format.o io.o options.o safe.o   -o test

Also note that when compiled with Clang (CC=clang), even with -O3, the
program works as expected and no memory errors are reported by Valgrind.

Note that only the -O* and all the -O* options trigger the bug. I tried
manually passing all the -f* options which (according to the
documentation) are enabled by the various -O* options. However,
strangely, I could not reproduce the bug that way.

The following patch adds a nop() function to options.c that is used to
prevent the data fields from being optimized out. When this patch is
applied, the issue is no longer present, even when compiled with -O3
(with gcc-9 or gcc-10).
--- options.c~	2020-03-23 14:23:08.625333110 -0400
+++ options.c	2020-03-23 14:23:17.841369826 -0400
@@ -81,6 +81,13 @@
 static int free_opts(const char *, const OPTION *);
 static int format_help_callback(void *, char *);
 
+static void nop(const void *data, ...) {
+  /* We have to do this so GCC doesn't optimize calls to us away. */
+  va_list ap;
+  va_start(ap, data);
+  va_end(ap);
+}
+
 /*
  * Parse options. Returns zero on success or nonzero on error, in
  * which case an error message will be printed to `stderr'. The last
@@ -137,6 +144,7 @@
 opt->callback_none	= format_help_callback;
 opt->data		= &data;
 opt->help		= "print this help and exit";
+nop(data.prog_name, data.usage, data.desc, data.notes, data.options);
   }
   else {
 /* This is slightly evil (casting it to a non-const), but we know
Since I was not able write a simpler program that triggers the bug, I
have attached the source tarball (mu.tar.gz). README.Bugs says that I
should provide the *.i files, so I have included them in the
tarball. Different .i files are produced under optimization, so I have
included the ones produced with '-O0 --save-temps'. I have also attached
a patch (nop_preprocessed.patch) that adds the nop() function to the
preprocessed options.i.

Here is the output of 'gcc-9 -v' and 'gcc-10 -v':

$ gcc-9 -v
Using b

Bug#949165: libpam-fprintd: Does not allow fingerprint authentication for 'login'

2020-01-17 Thread Asher Gordon
Package: libpam-fprintd
Version: 0.9.0-1
Severity: important

Dear Maintainer,

When I login on the console (tty), it asks for a password rather than a
fingerprint. This also happens if I type 'login' (as root)
manually. However, only 'login' seems to be affected so far; 'sudo'
still asks for a fingerprint as well as GDM.

This looks like a bug in libpam-fprintd, but feel free to reassign if
it's actually in a different package.

Here is the contents of /etc/pam.d/common-auth:
#
# /etc/pam.d/common-auth - authentication settings common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of the authentication modules that define
# the central authentication scheme for use on the system
# (e.g., /etc/shadow, LDAP, Kerberos, etc.).  The default is to use the
# traditional Unix authentication mechanisms.
#
# As of pam 1.0.1-6, this file is managed by pam-auth-update by default.
# To take advantage of this, it is recommended that you configure any
# local modules either before or after the default block, and use
# pam-auth-update to manage selection of other modules.  See
# pam-auth-update(8) for details.

# here are the per-package modules (the "Primary" block)
auth[success=2 default=ignore]  pam_fprintd.so max_tries=1 timeout=10 # 
debug
auth[success=1 default=ignore]  pam_unix.so nullok_secure try_first_pass
# here's the fallback if no module succeeds
authrequisite   pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
authrequiredpam_permit.so
# and here are more per-package modules (the "Additional" block)
authoptionalpam_ecryptfs.so unwrap
authoptionalpam_cap.so 
# end of pam-auth-update config
As you can see, 'pam_fprintd.so' is listed before 'pam_unix.so'. I tried
disabling and re-enabling fprintd with 'pam-auth-update', but it did not
work.

Note: this bug only appeared when I upgraded to 0.9.0-1. It was not
present in 0.8.1-1+b1.

Thanks,
Asher

-- 
He was part of my dream, of course -- but then I was part of his dream too.
-- Lewis Carroll

GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68

-- System Information:
Debian Release: bullseye/sid
  APT prefers testing-debug
  APT policy: (500, 'testing-debug'), (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 5.4.0-2-amd64 (SMP w/2 CPU cores)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages libpam-fprintd depends on:
ii  fprintd   0.9.0-1
ii  libc6 2.29-7
ii  libdbus-1-3   1.12.16-2
ii  libdbus-glib-1-2  0.110-5
ii  libglib2.0-0  2.62.4-1
ii  libpam-runtime1.3.1-5
ii  libpam0g  1.3.1-5

libpam-fprintd recommends no packages.

libpam-fprintd suggests no packages.

-- no debconf information


signature.asc
Description: PGP signature


Bug#948760: berusky2: Compile without warnings

2020-01-13 Thread Asher Gordon
Hello Markus and Bernhard,

Markus Koschany  writes:

> Am 13.01.20 um 22:26 schrieb Bernhard Übelacker:
>> Hello Asher,
>> maybe you want to incorporate the changes given here:
>>https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=944431#31
>> Unfortunately I was too late there.
>> 
>> Then the call to e.g. SetThreadPriority would not needed to get
>> commented out, and the "-O0" fix in #944431 could be removed
>> again, I guess.
>
> I had incorporated and applied your patch and removed the -O0 fix again.
> I haven't checked though how all this is related to Asher's patch.

As Markus says, he's already added Bernhard's fixes. I've written my
patch on top of those fixes.

Markus Koschany  writes:

> thanks for the report. Have you considered to forward these patches
> upstream and help upstream to implement them? I'm asking because a lot
> of users won't benefit from bug fixes if they are only fixed in Debian.

I've forked the upstream repository here[1] (because I don't want to use
GitHub) and I've sent Martin Stransky an email to let him know. In my
repository, I've added Markus's patch for GCC 6 and Bernhard's patch for
the 'no return statement in function returning non-void' warning as well
as my patches. I've added both of these as separate commits where I've
credited you in the commit message. But if you like, I can change the
Author to your name instead.

Hopefully, these will be accepted upstream and we will be able to drop
all patches except the Debian-specific ones (data.patch and docs.patch).

Asher


Footnotes: 
[1]  https://notabug.org/AsDaGo/berusky2


-- 
If at first you don't succeed, redefine success.

GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68


signature.asc
Description: PGP signature


Bug#948760: berusky2: Compile without warnings

2020-01-12 Thread Asher Gordon
Package: berusky2
Version: 0.10+git20170630-3
Severity: normal
Tags: patch

Dear Maintainer,

Currently when Berusky2 is compiled it generates a *lot* of compile
warnings, some of which seem serious. I've fixed all these warnings and
have attached a patch (I've attached it as an attachment rather than
inline because it is quite large (3651 lines) and I don't want to
clutter up the bug report log).

I've set the severity to "normal" since there are so many warnings and I
suspect that my patch may fix some crashes. But feel free to downgrade
as you see fit.

Here is a short summary (not meant to be comprehensive) of the changes I
have made:

  * Some functions (such as chdir() and getcwd()) warn if their return
values are not checked. I have added checks to all such functions
which did not already have checks.

  * I've added a few assertions where needed to avoid warnings.

  * I've changed many calls to sprintf() which may overflow to calls to
snprintf(). I also check the return value of the snprintf() call
since the output may be truncated.

  * I've replaced the deprecated ALUT functions alutLoadWAVFile() and
alutUnloadWAV() with local implementations (s/alut/adas/).

  * Apparently G++ doesn't like calls to memset() on a non-trivial type
(all of these were structs). So I've casted the pointer to (void *)
before passing it to memset(). Is there a better way to do this? I
don't know C++ very well (the warning said to "use assignment or
value-initialization instead").

  * Numerous other miscellaneous fixes.

The coding style of Berusky2 is inconsistent, so I just tried to use the
local style in whatever file (or part of file!) I was editing.

I finally (sort of) figured out how to use quilt properly, and I've
added a DEP-3 compliant header to my patch. Please remember to update
the Bug-Debian (this bug), Reviewed-by (you), and Last-Update headers
before you add the patch.

Since Berusky2 now compiles without warnings, I recommend adding -Werror
to the C{,XX}FLAGS. I guess this would be done by adding it to
DEB_CXXFLAGS_MAINT_APPEND (like you did in 89e7190) and
DEB_CFLAGS_MAINT_APPEND.

I tested running Berusky2 periodically while writing the patch to make
sure that I didn't introduce any bugs. I also tested it after I finished
writing the patch. But I did not test very thoroughly (I just started it
and made a few moves in a level). However, the only part that seems
likely to introduce new bugs is the replacement of the deprecated ALUT
functions, and sound still works fine. So I'm pretty sure I didn't
introduce any new bugs.

I have attached the patch after the message.

Thanks,
Asher

-- 
...very few phenomena can pull someone out of Deep Hack Mode, with two
noted exceptions: being struck by lightning, or worse, your *computer*
being struck by lightning.
-- Matt Welsh

GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68


-- System Information:
Debian Release: bullseye/sid
  APT prefers testing-debug
  APT policy: (500, 'testing-debug'), (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 5.4.0-2-amd64 (SMP w/2 CPU cores)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages berusky2 depends on:
ii  berusky2-data   0.9-2
ii  libalut01.1.0-6
ii  libc6   2.29-7
ii  libgcc1 1:9.2.1-22
ii  libgl1  1.1.0-1+b1
ii  libglu1-mesa [libglu1]  9.0.1-1
ii  libopenal1  1:1.19.1-1+b1
ii  libsdl-image1.2 1.2.12-12
ii  libsdl1.2debian 1.2.15+dfsg2-5
ii  libstdc++6  9.2.1-22
ii  libvorbisfile3  1.3.6-2
ii  libx11-62:1.6.8-1
ii  zlib1g  1:1.2.11.dfsg-1+b1

berusky2 recommends no packages.

berusky2 suggests no packages.

-- no debconf information
Description: Make Berusky2 compile cleanly with no warnings
 Berusky2 used to generate a *lot* of warnings when compiled. Some of
 these were not too serious, but some seemed like they could possibly
 allow buffer overflows. This patch likely fixes many potential
 crashes as well.
Author: Asher Gordon 
Bug-Debian: TODO
Reviewed-by: TODO
Last-Update: 2020-01-12
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
Index: berusky2/src/adas/adas.c
===
--- berusky2.orig/src/adas/adas.c
+++ berusky2/src/adas/adas.c
@@ -214,7 +214,7 @@ void adas_Init(ADAS_INIT_DATA * p_adas_d
 
   memcpy(&ADAS_data, p_adas_data, sizeof(ADAS_INIT_DATA));
 
-  p_Device = alcOpenDevice((ALCubyte *) p_adas_data->Implementation);
+  p_Device = alcOpenDevice(p_adas_data->Imp

Bug#947870: berusky2: Fix crash when teleporting

2020-01-01 Thread Asher Gordon
Package: berusky2
Version: 0.10+git20170630-2
Severity: normal
Tags: patch

Dear Maintainer,

Berusky2 segfaults when a bug steps into a teleport. The issue is the
same as in #945107. Please see the following patch which fixes the bug:
diff --git a/src/kofola/animationk.h b/src/kofola/animationk.h
index 2101946..044d906 100644
--- a/src/kofola/animationk.h
+++ b/src/kofola/animationk.h
@@ -6,7 +6,7 @@
 typedef struct
 {
   void *pParam;
-  int iParam[2];
+  size_ptr iParam[2];
   END_FUNKCE pProc;
   int flag;
 } ANIM_TRIGER;
Cheers,
Asher

-- 
By necessity, by proclivity, and by delight, we all quote.  In fact, it is as
difficult to appropriate the thoughts of others as it is to invent.
-- R. Emerson
-- Quoted from a fortune cookie program
(whose author claims, "Actually, stealing IS easier.")
[to which I reply, "You think it's easy for me to
misconstrue all these misquotations?!?"  Ed.]

GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68

-- System Information:
Debian Release: bullseye/sid
  APT prefers testing-debug
  APT policy: (500, 'testing-debug'), (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 5.3.0-3-amd64 (SMP w/2 CPU cores)
Kernel taint flags: TAINT_WARN, TAINT_FIRMWARE_WORKAROUND
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages berusky2 depends on:
ii  berusky2-data   0.9-2
ii  libalut01.1.0-6
ii  libc6   2.29-3
ii  libgcc1 1:9.2.1-21
ii  libgl1  1.1.0-1+b1
ii  libglu1-mesa [libglu1]  9.0.1-1
ii  libopenal1  1:1.19.1-1+b1
ii  libsdl-image1.2 1.2.12-12
ii  libsdl1.2debian 1.2.15+dfsg2-5
ii  libstdc++6  9.2.1-21
ii  libvorbisfile3  1.3.6-2
ii  libx11-62:1.6.8-1
ii  zlib1g  1:1.2.11.dfsg-1+b1

berusky2 recommends no packages.

berusky2 suggests no packages.

-- no debconf information


signature.asc
Description: PGP signature


Bug#947222: rain: Default delay is in wrong units, making it effectively 0

2019-12-22 Thread Asher Gordon
Package: bsdgames
Version: 2.17-28
Severity: normal
Tags: patch

Dear Maintainer,

In bsdgames 2.17.20, #579062[1] was supposedly fixed. However, `delay'
is passed to usleep()[2]. Since the "fix" changed the default value of
`delay' to 120, that makes the default delay 120 *micro*seconds instead
of 120 *milli*seconds, making it practically the same as 0. Note that
when "-d" is parsed, the integer argument is multiplied by 1000 before
being used for the delay.

The default delay should be 12, not 120. See the following patch
(apply with 'patch -p0 < fix-delay.patch'):
--- rain/rain.c~	2018-10-13 20:05:55.0 -0400
+++ rain/rain.c	2019-12-22 23:41:11.723230711 -0500
@@ -70,7 +70,7 @@
 {
 	int x, y, j;
 	long cols, lines;
-	unsigned int delay = 120;
+	unsigned int delay = 12;
 	unsigned long val = 0;
 	int ch;
 	char *ep;
Suggestion: Include this in
0005-rain-Update-default-delay.-Closes-579062.patch rather than creating
a new patch.

See also: #723808


Thanks,
Asher


Footnotes: 
[1]  Which suggests that the default delay should be changed to 120
 milliseconds.

[2]  Which has not been in POSIX since POSIX.1-2008 and has been
 obsolete since POSIX.1-2001. But that is a different issue.

-- 
By necessity, by proclivity, and by delight, we all quote.  In fact, it is as
difficult to appropriate the thoughts of others as it is to invent.
-- R. Emerson
-- Quoted from a fortune cookie program
(whose author claims, "Actually, stealing IS easier.")
[to which I reply, "You think it's easy for me to
misconstrue all these misquotations?!?"  Ed.]

GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68

-- System Information:
Debian Release: bullseye/sid
  APT prefers testing-debug
  APT policy: (500, 'testing-debug'), (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 5.3.0-3-amd64 (SMP w/2 CPU cores)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages bsdgames depends on:
ii  libc62.29-3
ii  libfl2   2.6.4-6.2
ii  libgcc1  1:9.2.1-21
ii  libncurses6  6.1+20191019-1
ii  libstdc++6   9.2.1-21
ii  libtinfo66.1+20191019-1
ii  wamerican [wordlist] 2018.04.16-1
ii  wamerican-insane [wordlist]  2018.04.16-1
ii  wbritish [wordlist]  2018.04.16-1

bsdgames recommends no packages.

bsdgames suggests no packages.

-- no debconf information


signature.asc
Description: PGP signature


Bug#930128: tint: Error creating /var/games/tint.scores

2019-12-09 Thread Asher Gordon
Package: tint
Version: 0.05+b1
Followup-For: Bug #930128

Hi,

I've looked into this a bit more, and I've found commit a05fa0e30c (in
the Debian git repository [1]). This commit references #769296, which I
will now quote:

Ernest Adrogué  writes:

> As long as the player is in group "games" making tint.scores
> group-writeable should be enough to fix the problem.  No need to setgid
> the tint executable.

The maintainer (Ricardo Mones) documented this solution in
/usr/share/doc/tint/README.Debian. However, I think this solution is
inferior to making the binary setgid "games" for a couple reasons:

  a) Most games in Debian use the setgid method. I don't see why TINT
 should be any different.

  b) If a user is part of the "games" group, that user may tamper with
 the score file. If the binary is setgid "games", users may only
 write to the score file through TINT itself.

Looking at the moon buggy package, I believe the following patch should
make the binary setgid "games" (I tested it out on my machine and it
works):

From 085c8eb8e021c271c1c57311decc638d53276459 Mon Sep 17 00:00:00 2001
From: Asher Gordon 
Date: Mon, 9 Dec 2019 19:13:37 -0500
Subject: [PATCH] Install binary as setgid games.

Users now no longer have to be part of the group "games" to save
highscores.

Also remove README.Debian since it is no longer relevant.
---
 debian/README.Debian | 12 
 debian/rules | 13 +
 2 files changed, 13 insertions(+), 12 deletions(-)
 delete mode 100644 debian/README.Debian

diff --git a/debian/README.Debian b/debian/README.Debian
deleted file mode 100644
index 2ccdf2b..000
--- a/debian/README.Debian
+++ /dev/null
@@ -1,12 +0,0 @@
-
-TINT Is Not Tetris for Debian
--
-
-  Users which are allowed to update the scores file must be added to the
-  "games" group, otherwise an error message is printed after entering
-  your name: "Error creating /var/games/tint.scores"
-
-  Simplest method is running "adduser  games" as root. User
-  session must also be restarted to make this change effective.
-
- -- Ricardo Mones   Sat, 26 Jan 2019 13:59:03 +0100
diff --git a/debian/rules b/debian/rules
index 2d33f6a..45e9016 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,4 +1,17 @@
 #!/usr/bin/make -f
 
+PACKAGE = tint
+
+# setgid games to access highscore files
+INSTALL_GAME = install -p -o root -g games -m 2755
+
 %:
 	dh $@
+
+override_dh_install:
+	dh_install -X usr/games/$(PACKAGE)
+	# setgid games
+	$(INSTALL_GAME) $(PACKAGE) debian/$(PACKAGE)/usr/games/
+
+override_dh_fixperms:
+	dh_fixperms -X usr/games/$(PACKAGE)
-- 
2.24.0


Note that I have also removed README.Debian in the above patch because
it is no longer relevant.


Thanks,
Asher


P.S. I am going to attempt to add a patch tag to this bug (since I added
a patch), but I don't know if I have permission to do so, so it may not
work (I've never tried before).


Footnotes: 
[1]  https://salsa.debian.org/games-team/tint.git


-- 
: The following (relative to AutoSplit 1.03) attempts to please everyone
: and perhaps pleases no one:

I think that's way cool.
-- Larry Wall in <199709292015.naa09...@wall.org>

GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68


signature.asc
Description: PGP signature


Bug#930128: tint: Error creating /var/games/tint.scores

2019-12-08 Thread Asher Gordon
Package: tint
Version: 0.05+b1
Followup-For: Bug #930128

Hi Mark,

Mark Van den Borre  writes:

> May I suggest updating the default high scores file to the user's home
> directory?

A better solution would be to have /usr/games/tint binary be owned by
the group "games" and set the set-group-ID bit. This would allow it to
write /var/games/tint.scores since that file is writable by the "games"
group.

This solution is better than having the high scores file in the user's
home directory, because this way if multiple users are playing, they can
each see each others high scores.

In fact, many games in Debian do this already (take moon-buggy for
example).

You can work around this bug by changing the group and set-group-ID bit
yourself:

$ su
Password:
# chown root:games /usr/games/tint 
# chmod g+s /usr/games/tint
# exit
$ ls -l /usr/games/tint
-rwxr-sr-x 1 root games 27032 Aug  7 04:48 /usr/games/tint*
$ tint
Choose a level to start [1-9]: 1

   PLAYER STATISTICS

Score   186
Efficiency   -1
Score ratio   8
Congratulations! You have a new high score.
Enter your name [asher]: Asher

   TINT HIGH SCORES

Rank   ScoreName

  1* 186Asher

Hopefully you get a better score than I did, but as you can see, it did
save the score.

By the way: I played TINT a while ago, and I'm pretty sure this bug
wasn't present then (most likely someone accidentally removed the
set-group-ID bit from the package since then).

Also, in my opinion, the severity of this bug should be important or
even serious since saving high scores are a big part of the game. But
I'll leave that up to the Maintainers to decide.


Asher


-- 
It's better to be quotable than to be honest.
-- Tom Stoppard

GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68


-- System Information:
Debian Release: bullseye/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 5.3.0-2-amd64 (SMP w/2 CPU cores)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages tint depends on:
ii  libc62.29-3
ii  libncurses6  6.1+20191019-1
ii  libtinfo66.1+20191019-1

tint recommends no packages.

tint suggests no packages.

-- no debconf information


signature.asc
Description: PGP signature


Bug#914702: ghci: The 'impossible' happens when running ":print length"

2019-12-03 Thread Asher Gordon
Dear Maintainer,

Sorry, I meant to open a new bug report instead of replying to this
one. Originally, I was going to reply to this one, but decided that my
bug was different enough to justify a new report. So I removed the
Followup-For pseudo-header, but I forgot to change the address.

Should I create a new report now or just leave it as is?


Sorry for the inconvenience!
Asher


-- 
Only fools are quoted.
-- Anonymous

GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68


signature.asc
Description: PGP signature


Bug#946102: ghc: Please add unregisterised binary package

2019-12-03 Thread Asher Gordon
Package: ghc
Version: 8.8.1+dfsg2-1~exp1
Severity: wishlist

Dear Maintainer,

The GHC packaged with Debian is registerised (or "not unregisterised"?),
meaning that it cannot compile to C code (with the -C option). While
being unregisterised is usually good (generates faster code), it is
sometimes useful to generate C code. For example, to examine how Haskell
programs work if you know C but are learning Haskell (my situation) or
if you just want to understand Haskell better. It could also be useful
for cross compilation and maybe other things too.

My suggestion is to build a new binary package (from the same source
package) called "ghc-unregisterised". Then you could have
"/usr/bin/ghc-unregisterised" so as not to conflict with the regular ghc
package. Maybe even use update-alternatives. You would also have to
rename "/usr/lib/ghc" to "/usr/lib/ghc-unregisterised".


Thanks,
Asher


-- 
Reader, suppose you were an idiot.  And suppose you were a member of
Congress.  But I repeat myself.
-- Mark Twain

GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68


-- System Information:
Debian Release: bullseye/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 5.3.0-2-amd64 (SMP w/2 CPU cores)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages ghc depends on:
ii  dpkg  1.19.7
ii  gcc   4:9.2.1-3.1
ii  libbsd-dev0.10.0-1
ii  libc6 2.29-3
ii  libc6-dev 2.29-3
ii  libffi-dev3.2.1-9
ii  libffi6   3.2.1-9
ii  libgmp-dev2:6.1.2+dfsg-4
ii  libgmp10  2:6.1.2+dfsg-4
ii  libncurses-dev [libncurses5-dev]  6.1+20191019-1
ii  libncurses5-dev   6.1+20191019-1
ii  libtinfo6 6.1+20191019-1

ghc recommends no packages.

Versions of packages ghc suggests:
it  ghc-doc  8.8.1+dfsg1+is+8.6.5+dfsg1-2
pn  ghc-prof 
ii  haskell-doc  20061128
ii  llvm-7   1:7.0.1-9+b2
ii  perl 5.30.0-9

-- no debconf information


signature.asc
Description: PGP signature


Bug#914702: ghci: The 'impossible' happens when running ":print length"

2019-12-03 Thread Asher Gordon
Package: ghc
Version: 8.8.1+dfsg2-1~exp1

Dear Maintainer,

When ":print length" is run at the GHCi prompt, the 'impossible'
happens:

$ ghci
GHCi, version 8.8.1: https://www.haskell.org/ghc/  :? for help
Prelude> :print length
ghc: panic! (the 'impossible' happened)
  (GHC version 8.8.1 for x86_64-unknown-linux):
isUnliftedType
  t1_a1w0[rt] :: TYPE t0_a1vZ[rt]
  Call stack:
  CallStack (from HasCallStack):
callStackDoc, called at compiler/utils/Outputable.hs:1159:37 in 
ghc:Outputable
pprPanic, called at compiler/types/Type.hs:2278:10 in ghc:Type

Please report this as a GHC bug:  https://www.haskell.org/ghc/reportabug

This does not happen with all functions. In fact, length is the only
function I have found so far that does this. If I define my own version
of length, len, this bug does not appear:

Prelude> :{
Prelude| len l = case l of
Prelude|   [] -> 0
Prelude|   (x:xs) -> 1 + len xs
Prelude| :}
Prelude> :print len
len = (_t1::Num p => [a] -> p)

So, maybe length is defined in C code in the compiler rather than an
actual Haskell function, and that is what triggers the bug?

I've also tested this in version ghc_8.8.1+dfsg1+is+8.6.5+dfsg1-2 (the
current latest in testing) with the same results.

Related: #914702 (however, that bug seems to be fixed in both the
versions I tried).


Thanks,
Asher


-- 
Steal this tagline.  I did.

GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68


-- System Information:
Debian Release: bullseye/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 5.3.0-2-amd64 (SMP w/2 CPU cores)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages ghc depends on:
ii  dpkg  1.19.7
ii  gcc   4:9.2.1-3.1
ii  libbsd-dev0.10.0-1
ii  libc6 2.29-3
ii  libc6-dev 2.29-3
ii  libffi-dev3.2.1-9
ii  libffi6   3.2.1-9
ii  libgmp-dev2:6.1.2+dfsg-4
ii  libgmp10  2:6.1.2+dfsg-4
ii  libncurses-dev [libncurses5-dev]  6.1+20191019-1
ii  libncurses5-dev   6.1+20191019-1
ii  libtinfo6 6.1+20191019-1

ghc recommends no packages.

Versions of packages ghc suggests:
it  ghc-doc  8.8.1+dfsg1+is+8.6.5+dfsg1-2
pn  ghc-prof 
ii  haskell-doc  20061128
ii  llvm-7   1:7.0.1-9+b2
ii  perl 5.30.0-9

-- no debconf information


signature.asc
Description: PGP signature


Bug#945107: Fix some more crashes

2019-11-19 Thread Asher Gordon
Dear Maintainer,

I have written a patch to fix some more crashes. This has not been fixed
upstream (although it is the same issue; storing a pointer in an integer
type too small to store a pointer).

Here is the patch:
Index: berusky2-0.10/src/komat/Berusky3d_castice.h
===
--- berusky2-0.10.orig/src/komat/Berusky3d_castice.h
+++ berusky2-0.10/src/komat/Berusky3d_castice.h
@@ -195,8 +195,8 @@ typedef struct _PARMETAC
   GLMATRIX world;   // transfromacni matice
 
   void *p_param;
-  int param;
-  int param2;
+  size_ptr param;
+  size_ptr param2;
   END_FUNKCE p_endfce;  // kofolova end funkce
 
   struct _PARMETAC *p_next;


Thanks,
Asher


-- 
If at first you don't succeed, redefine success.

GPG fingerprint: 38F3 975C D173 4037 B397  8095 D4C9 C4FC 5460 8E68


signature.asc
Description: PGP signature


Bug#945107: berusky2: Segmentation fault in animation module

2019-11-19 Thread Asher Gordon
Package: berusky2
Version: 0.10-8
Severity: important
Tags: patch

Dear Maintainer,

Certain animations (such as pushing a block over a ledge) cause berusky2
to crash. This has been fixed upstream in commit 97ed81c (the bug is due
to trying to store a pointer in an integer type too small to store a
pointer).

For your convenience, here is a patch from that commit (created with
`git format-patch 97ed^..97ed'):
From 97ed81cc7fd48c4955d15efd5a341d6af4e96759 Mon Sep 17 00:00:00 2001
From: Martin Stransky 
Date: Sun, 3 Jan 2016 15:28:37 +0100
Subject: [PATCH] Fixed crashes in animation module

---
 src/komat/Berusky3d.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/komat/Berusky3d.h b/src/komat/Berusky3d.h
index 2b8bcc4..aef18c7 100644
--- a/src/komat/Berusky3d.h
+++ b/src/komat/Berusky3d.h
@@ -181,8 +181,8 @@ typedef struct _GLOBALNI_KONT_ANIMACE
 
   int *p_flag;  // kofoluv flag
   void *p_param;// kofolova end funkce
-  int param;
-  int param2;
+  size_ptr param;
+  size_ptr param2;
   END_FUNKCE p_endfce;
   int konec;
 
-- 
2.24.0


You can import the patch into quilt with

  quilt import Fixed-crashes-in-animation-module.patch

In addition, upstream commit df8d2a4 claims to fix crashes in the
particle engine (I haven't noticed these crashes yet).

Also, since upstream hasn't made a release in a while, maybe it would be
a good idea to update the Debian package against the latest upstream
commit.


Thanks,
Asher


-- 
: The following (relative to AutoSplit 1.03) attempts to please everyone
: and perhaps pleases no one:

I think that's way cool.
-- Larry Wall in <199709292015.naa09...@wall.org>


-- System Information:
Debian Release: bullseye/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 5.2.0-3-amd64 (SMP w/2 CPU cores)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages berusky2 depends on:
ii  berusky2-data   0.9-2
ii  libalut01.1.0-6
ii  libc6   2.29-3
ii  libgcc1 1:9.2.1-19
ii  libgl1  1.1.0-1+b1
ii  libglu1-mesa [libglu1]  9.0.0-2.1+b3
ii  libopenal1  1:1.19.1-1+b1
ii  libsdl-image1.2 1.2.12-12
ii  libsdl1.2debian 1.2.15+dfsg2-5
ii  libstdc++6  9.2.1-19
ii  libvorbisfile3  1.3.6-2
ii  libx11-62:1.6.8-1
ii  zlib1g  1:1.2.11.dfsg-1+b1

berusky2 recommends no packages.

berusky2 suggests no packages.

-- no debconf information


signature.asc
Description: PGP signature


Bug#944483: moon-lander: consider remaining fuel when a bonus ship is given

2019-11-10 Thread Asher Gordon
Package: moon-lander
Version: 1:1.0-7
Severity: normal
Tags: patch

Dear Maintainer,

When a player reaches 1 points, a bonus ship is supposed to be
given. However, if the player is currently at, say, 8000 points and
lands on an 1800 point pad but has 300 fuel left, the score will then be
8000 + 1800 + 300 = 10100, which is greater than 1 but no bonus ship
will be given.

This is because the new score is calculated considering the remaining
fuel (a feature added by Debian in 20_fix-score.patch), but the bonus
ship does not consider the remaining fuel. Please see the following
patch for a simple fix:
Description: Fix bonus ship calculation to account for remaining fuel.
Author: Asher Gordon 
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
--- moon-lander-1.0.orig/moon_lander.c
+++ moon-lander-1.0/moon_lander.c
@@ -1686,7 +1686,7 @@ void gameloop(Game *game){
 
 	// Bonus ship every 1 points
 	if( (game->score / 1) < 
-		((game->score + game->current_level.landing_score[count]) / 1 ) ) {
+		((game->score + game->current_level.landing_score[count] + game->fuel) / 1 ) ) {
 	  // (MLH) This would be a good place to play a sound
 	  
 	  game->landing_pad = count;

To reproduce this bug, follow these steps:

Compile for easier debugging (you'll be using this value for CFLAGS
again, so put it in the environment):

  $ export CFLAGS="$(sdl-config --cflags) -O0 -ggdb3"
  $ make clean all
  [...]

Now run it under GDB (or your favorite front-end):

  $ gdb moon-lander
  [...]
  (gdb) run
  [...]

Go to the moon-lander window, and start a new game with  and pause
it immediately after it starts with P. Now go back to GDB, and type
^C. Then go up until you reach the bottom most frame in moon-lander (not
libSDL).

  ^C
  Thread 1 "moon-lander" received signal SIGINT, Interrupt.
  0x77f0dd97 in ?? () from /usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0
  (gdb) up
  #1  0x77f02470 in ?? ()
 from /usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0
  (gdb) 
  #2  0x77f16b46 in SDL_LowerBlit ()
 from /usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0
  (gdb) 
  #3  0x77f18812 in SDL_Flip ()
 from /usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0
  (gdb) 
  #4  0xa928 in gameloop (game=0x7fffdc00)
  at moon_lander.c:1733
  1733SDL_Flip(game->screen);

Now set the fuel to some huge value so that your new score will be
greater than 1 because of the fuel left:

  (gdb) call game->fuel = 15000
  $1 = 15000
  (gdb) cont
  Continuing.

Go back to the moon-lander window, unpause the game (with P again), and
land on a pad (you can cheat with GDB if you're really bad at this
game). Your new score should be greater than 1, but you will not get
a bonus ship.

This can happen in real life (i.e. without GDB) and you won't get a
bonus ship until 2 points (and even then you might not). If you
repeat the steps above with my patch applied (and don't forget to
recompile--that's why you exported CFLAGS), you will find that it will
give you a bonus ship.

Thanks,
Asher

-- 
If at first you don't succeed, redefine success.


-- System Information:
Debian Release: bullseye/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 5.2.0-3-amd64 (SMP w/2 CPU cores)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages moon-lander depends on:
ii  libc6 2.29-2
ii  libsdl-image1.2   1.2.12-12
ii  libsdl-mixer1.2   1.2.12-16
ii  libsdl1.2debian   1.2.15+dfsg2-5
ii  moon-lander-data  1:1.0-7

moon-lander recommends no packages.

moon-lander suggests no packages.

-- no debconf information


signature.asc
Description: PGP signature


Bug#942552: gdb: please link with GNU source-highlight

2019-10-17 Thread Asher Gordon
Package: gdb
Version: 8.3.1-1
Severity: wishlist

Dear Maintainer,

Gdb has supporting linking with GNU source-highlight since version 8.3
(released on May 11th). GNU source-highlight is already included in
Debian (libsource-highlight4v5 and libsource-highlight-dev), so it
shouldn't be too hard to link against source-highlight in the Debian
package of gdb.

Linking with source-highlight provides syntax highlighting in gdb's TUI.

Thanks,
Asher

-- 
Steal this tagline.  I did.

-- System Information:
Debian Release: bullseye/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 5.2.0-3-amd64 (SMP w/2 CPU cores)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages gdb depends on:
ii  libbabeltrace1  1.5.7-1
ii  libc6   2.29-2
ii  libexpat1   2.2.9-1
ii  libgcc1 1:9.2.1-8
ii  libipt2 2.0.1-1+b1
ii  liblzma55.2.4-1+b1
ii  libncursesw66.1+20190803-1
ii  libpython3.73.7.5~rc1-2
ii  libreadline88.0-3
ii  libstdc++6  9.2.1-8
ii  libtinfo6   6.1+20190803-1
ii  zlib1g  1:1.2.11.dfsg-1+b1

Versions of packages gdb recommends:
ii  libc6-dbg [libc-dbg]  2.29-2

Versions of packages gdb suggests:
ii  gdb-doc8.2.1-1
pn  gdbserver  

-- no debconf information


signature.asc
Description: PGP signature


Bug#942227: fish: "unreachable" state reached when redirecting to/from an unopenable file with `exec'

2019-10-13 Thread Asher Gordon
Hi David,

David Adam  writes:

> I am pleased to report that this problem is fixed in the upcoming 3.1.0
> release:
>
> https://github.com/fish-shell/fish-shell/pull/5643

Great! I can confirm that the bug is no longer present in the latest
upstream git (currently commit g82eca4bc).

Thanks,
Asher

-- 
The marvels of today's modern technology include the development of a
soda can, when discarded will last forever ... and a $7,000 car which
when properly cared for will rust out in two or three years.


signature.asc
Description: PGP signature


Bug#942227: fish: "unreachable" state reached when redirecting to/from an unopenable file with `exec'

2019-10-12 Thread Asher Gordon
Package: fish
Version: 3.0.2-2
Severity: normal
Tags: upstream

Dear Maintainer,

I was running a program under GDB, and I needed to have it read from a
file which it is not permitted to read. So I typed

  (gdb) run < /dev/mem

GDB ran fish (since that is my $SHELL) to execute my program. But fish
was terminated by SIGABRT with the following stacktrace:

An error occurred while redirecting file '/dev/mem'
open: Permission denied
 fish: src/exec.cpp:1032: failed assertion: this should be unreachable
 fish: Backtrace:
 fish: 0   /usr/bin/fish(+0xb16e7) [0x556056e7]
 fish: 1   parse_execution_context_t::run_1_job(tnode_t, 
block_t const*) + 2101
 fish: 2   
parse_execution_context_t::run_job_conjunction(tnode_t,
 block_t const*) + 196
 fish: 3   parse_execution_result_t 
parse_execution_context_t::run_job_list(tnode_t,
 block_t const*) + 281
 fish: 4   parse_execution_context_t::eval_node(tnode_t, 
block_t const*, io_chain_t const&) + 1380
 fish: 5   int 
parser_t::eval_node(std::shared_ptr, 
tnode_t, io_chain_t const&, block_type_t, 
std::shared_ptr) + 777
 fish: 6   parser_t::eval(std::shared_ptr, io_chain_t 
const&, block_type_t) + 176
 fish: 7   parser_t::eval(std::__cxx11::basic_string, std::allocator >, io_chain_t const&, 
block_type_t) + 225
 fish: 8   run_command_list(std::vector, std::allocator >, 
std::allocator, 
std::allocator > > >*, io_chain_t const&) + 147
 fish: 9   main + 2200
 fish: 10  __libc_start_main + 235
 fish: 11  _start + 42

The first two lines are expected, but it then aborts because it reached
an "unreachable" state (how embarrassing!)

At first I thought that the problem was being run by GDB, but it is
actually `exec' that is the problem. For example:

  $ fish -c 'exec cat < /dev/mem'
  An error occurred while redirecting file '/dev/mem'
  open: Permission denied
   fish: src/exec.cpp:1032: failed assertion: this should be unreachable
   fish: Backtrace:
  [...]

Note the `exec' and the `<'. Without the `<', `cat' tries to open
/dev/mem, not `fish', so the bug does not appear.

This is not only specific to /dev/mem or special files. It can be any
unreadable file, for example /etc/shadow. It can even be a file that
does not exist. (Just remember to look for a file that does not exist
outside of your home directory, since you are sure to have created every
possible filename in your home directory if you are anything like me
(actually, I usually just shove it under ~/misc these days).)

Each time, it aborts in src/exec.cpp:1032. Fish should of course exit
with an error, but it should not reach an "unreachable" state.

This also happens if you redirect *to* an unwritable file even if it is
readable (such as /etc/passwd).

Also note that without the `exec', the bug does not appear:

  $ fish -c 'cat < /dev/mem'
  An error occurred while redirecting file '/dev/mem'
  open: Permission denied

This looks like an upstream bug (hence the "upstream" tag), but I'm not
sure because I haven't tried it with upstream fish yet. I'll send
another message with my findings if I do get around to trying it with
upstream.

Thanks,
Asher

-- 
A witty saying proves nothing, but saying something pointless gets
people's attention.

-- System Information:
Debian Release: bullseye/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 5.2.0-3-amd64 (SMP w/2 CPU cores)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages fish depends on:
ii  bc  1.07.1-2+b2
ii  dpkg1.19.7
ii  elinks [www-browser]0.13~20190125-4
ii  epiphany-browser [www-browser]  3.32.1.2-3
ii  firefox-esr [www-browser]   60.8.0esr-1
ii  fish-common 3.0.2-2
ii  libc6   2.29-2
ii  libgcc1 1:9.2.1-8
ii  libncurses6 6.1+20190803-1
ii  libpcre2-32-0   10.32-5+b1
ii  libstdc++6  9.2.1-8
ii  libtinfo6   6.1+20190803-1
ii  links2 [www-browser]2.20.2-1
ii  lynx [www-browser]  2.9.0dev.4-1
ii  man-db  2.8.7-3
ii  netrik [www-browser]1.16.1-2+b2
ii  python3 3.7.5-1
ii  w3m [www-browser]   0.5.3-37+b1

Versions of packages fish recommends:
ii  xsel  1.2.0+git9bfc13d.20180109-3

Versions of packages fish suggests:
pn  doc-base  

-- no debconf information


signature.asc
Description: PGP signature


Bug#940516: valgrind: ONLY uses /usr/lib/$(arch)-linux-gnu/default.supp by default

2019-09-23 Thread Asher Gordon
Package: valgrind
Version: 1:3.15.0-1
Followup-For: Bug #940516

Hello,

I have updated the patch to include changes to the documentation. Please
see upstream #93376 [1] for the new patch and further updates.

I think there is a good chance that upstream will accept the patch, so
Debian should just wait until (if) that happens. And when (if) they
accept the patch and release version 3.16.0, Debian should also add

  VG_(add_suppression_file)("/usr/local/lib/valgrind");
  VG_(add_suppression_file)("/usr/lib/valgrind");

after

  VG_(add_suppression_file)(VG_(libdir));

in coregrind/m_main.c like I mentioned before.


Asher


[1] https://bugs.kde.org/show_bug.cgi?id=93376

-- 
If at first you don't succeed, redefine success.


signature.asc
Description: PGP signature


Bug#940516: Created patch

2019-09-19 Thread Asher Gordon
Package: valgrind
Version: 1:3.15.0-1
Followup-For: Bug #940516

Dear Maintainer,

Also, my patch only adds VG_(libdir) as the default suppression
directory (I guess that would be /usr/lib/$(arch)-linux-gnu/valgrind on
Debian). To add other directories, just call
VG_(add_suppression_file)() after the
line which has

  VG_(add_suppression_file)(VG_(libdir));

in coregrind/m_main.c.

It would be nice to load by default /usr{,/local}/lib/valgrind as well,
but I think that should be done in the Debian package, not upstream.

Thanks,
Asher

-- 
...very few phenomena can pull someone out of Deep Hack Mode, with two
noted exceptions: being struck by lightning, or worse, your *computer*
being struck by lightning.
-- Matt Welsh


signature.asc
Description: PGP signature


Bug#940516: Created patch

2019-09-19 Thread Asher Gordon
Package: valgrind
Version: 1:3.15.0-1
Followup-For: Bug #940516

Dear Maintainer,

The patch email didn't seem to work properly. Some of the headers are
part of the message somehow. I'm still new to Git, so I guess I didn't
send it properly (Gnus did mention something about fixing the headers or
something like that). Should've used git send-email I guess... Anyway,
I'll just attach the patch to this message below.
From 8b3719c3a8eb16802c58b1625c6551987def0477 Mon Sep 17 00:00:00 2001
From: Asher Gordon 
Date: Thu, 19 Sep 2019 20:11:46 -0400
Subject: [PATCH] Allow loading suppression directories recursively.
To: Debian Bug Tracking System <940...@bugs.debian.org>

Also, load the $prefix/lib/valgrind directory recursively by default
instead of $prefix/lib/valgrind/default.supp.

Fixes 93376.
---
 NEWS|  5 +++
 coregrind/m_errormgr.c  | 80 +++--
 coregrind/m_libcfile.c  |  5 +++
 coregrind/m_main.c  |  7 +---
 include/pub_tool_libcfile.h |  8 
 5 files changed, 95 insertions(+), 10 deletions(-)

diff --git a/NEWS b/NEWS
index 2fde3c7cd..fe696c060 100644
--- a/NEWS
+++ b/NEWS
@@ -25,6 +25,10 @@ support for X86/macOS 10.13 and AMD64/macOS 10.13.
   Your program can also change the dynamically changeable options using
   the client request VALGRIND_CLO_CHANGE(option).
 
+* Directories are now loaded recursively when passed to
+  --suppressions. A default directory, $prefix/lib/valgrind is loaded
+  by default instead of $prefix/lib/valgrind/default.supp.
+
 *  TOOL CHANGES 
 
 * DHAT:
@@ -62,6 +66,7 @@ To see details of a given bug, visit
   https://bugs.kde.org/show_bug.cgi?id=XX
 where XX is the bug number as listed below.
 
+93376   Suppressions directory
 400593  In Coregrind, use statx for some internal syscalls if [f]stat[64] fail
 406561  mcinfcallWSRU gdbserver_test fails on ppc64
 406824  Unsupported baseline
diff --git a/coregrind/m_errormgr.c b/coregrind/m_errormgr.c
index 52505ba5b..2b01a2f21 100644
--- a/coregrind/m_errormgr.c
+++ b/coregrind/m_errormgr.c
@@ -1481,10 +1481,82 @@ static void load_one_suppressions_file ( Int clo_suppressions_i )
 
 void VG_(add_suppression_file)(const HChar *filename)
 {
-   HChar *f = VG_(strdup)("errormgr.addsup", filename);
-   VG_(addToXA)(VG_(clo_suppressions), &f);
-   if (load_suppressions_called)
-  load_one_suppressions_file( VG_(sizeXA)(VG_(clo_suppressions)) - 1 );
+   // Check if it's a directory.
+   if (VG_(is_dir)( filename )) {
+  SysRes sres;
+  Int fd;
+
+  // Open the directory.
+  sres = VG_(open)( filename, VKI_O_RDONLY, 0 );
+  if (sr_isError(sres)) {
+ if (VG_(clo_xml))
+VG_(printf_xml)("\n");
+ VG_(umsg)("FATAL: can't open suppressions directory \"%s\"\n", filename );
+ VG_(exit)(1);
+  }
+  fd = sr_Res(sres);
+
+  // Read each entry and add it recursively.
+  while (True) {
+ Int nRead, pos = 0;
+ HChar buf[1024];
+
+ sres = VG_(getdents)( fd, (struct vg_dirent *)buf, sizeof(buf) );
+ if (sr_isError(sres)) {
+if (VG_(clo_xml))
+   VG_(printf_xml)("\n");
+VG_(umsg)("FATAL: can't read suppressions directory \"%s\"\n", filename );
+VG_(exit)(1);
+ }
+ nRead = sr_Res(sres);
+
+ vg_assert(nRead >= 0);
+
+ if (nRead == 0) {
+// We're at the end of the directory.
+break;
+ }
+
+ // Add the entries.
+ while (pos < nRead) {
+struct vg_dirent *entry = (struct vg_dirent *)(buf + pos);
+HChar *fullpath;
+SizeT nameSize = VG_(strlen)(entry->name);
+
+// Skip dotfiles and files which don't end in ".supp".
+if (entry->name[0] == '.' || nameSize < 5 ||
+!VG_STREQ(entry->name + nameSize - 5, ".supp")) {
+   pos += entry->reclen;
+   continue;
+}
+
+// Get the full path including the directory name.
+fullpath = VG_(malloc)("errormgr.addsup",
+   VG_(strlen)(filename) +
+   VG_(strlen)(entry->name) + 2);
+VG_(strcpy)(fullpath, filename);
+VG_(strcat)(fullpath, "/");
+VG_(strcat)(fullpath, entry->name);
+
+// Add the entry.
+VG_(add_suppression_file)( fullpath );
+
+VG_(free)(fullpath);
+
+// Go to the next entry.
+pos += entry->reclen;
+ }
+  }
+
+  VG_(close)(fd);
+   }
+   else {
+  // It's not a directory.
+  HChar *f = VG_(strdup)("errormgr.addsup", filename);
+

Bug#940516: [PATCH] Allow loading suppression directories recursively.

2019-09-19 Thread Asher Gordon
Message-ID: <87ef0bsrre@posteo.net>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-=";
micalg=pgp-sha256; protocol="application/pgp-signature"

--=-=-=
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

Also, load the $prefix/lib/valgrind directory recursively by default
instead of $prefix/lib/valgrind/default.supp.

Fixes 93376.
=2D--
 NEWS|  5 +++
 coregrind/m_errormgr.c  | 80 +++--
 coregrind/m_libcfile.c  |  5 +++
 coregrind/m_main.c  |  7 +---
 include/pub_tool_libcfile.h |  8 
 5 files changed, 95 insertions(+), 10 deletions(-)

diff --git a/NEWS b/NEWS
index 2fde3c7cd..fe696c060 100644
=2D-- a/NEWS
+++ b/NEWS
@@ -25,6 +25,10 @@ support for X86/macOS 10.13 and AMD64/macOS 10.13.
   Your program can also change the dynamically changeable options using
   the client request VALGRIND_CLO_CHANGE(option).
=20
+* Directories are now loaded recursively when passed to
+  --suppressions. A default directory, $prefix/lib/valgrind is loaded
+  by default instead of $prefix/lib/valgrind/default.supp.
+
 * =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D TOOL CHANGE=
S =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=20
 * DHAT:
@@ -62,6 +66,7 @@ To see details of a given bug, visit
   https://bugs.kde.org/show_bug.cgi?id=3DXX
 where XX is the bug number as listed below.
=20
+93376   Suppressions directory
 400593  In Coregrind, use statx for some internal syscalls if [f]stat[64] =
fail
 406561  mcinfcallWSRU gdbserver_test fails on ppc64
 406824  Unsupported baseline
diff --git a/coregrind/m_errormgr.c b/coregrind/m_errormgr.c
index 52505ba5b..2b01a2f21 100644
=2D-- a/coregrind/m_errormgr.c
+++ b/coregrind/m_errormgr.c
@@ -1481,10 +1481,82 @@ static void load_one_suppressions_file ( Int clo_su=
ppressions_i )
=20
 void VG_(add_suppression_file)(const HChar *filename)
 {
=2D   HChar *f =3D VG_(strdup)("errormgr.addsup", filename);
=2D   VG_(addToXA)(VG_(clo_suppressions), &f);
=2D   if (load_suppressions_called)
=2D  load_one_suppressions_file( VG_(sizeXA)(VG_(clo_suppressions)) - 1=
 );
+   // Check if it's a directory.
+   if (VG_(is_dir)( filename )) {
+  SysRes sres;
+  Int fd;
+
+  // Open the directory.
+  sres =3D VG_(open)( filename, VKI_O_RDONLY, 0 );
+  if (sr_isError(sres)) {
+ if (VG_(clo_xml))
+VG_(printf_xml)("\n");
+ VG_(umsg)("FATAL: can't open suppressions directory \"%s\"\n", fi=
lename );
+ VG_(exit)(1);
+  }
+  fd =3D sr_Res(sres);
+
+  // Read each entry and add it recursively.
+  while (True) {
+ Int nRead, pos =3D 0;
+ HChar buf[1024];
+
+ sres =3D VG_(getdents)( fd, (struct vg_dirent *)buf, sizeof(buf) =
);
+ if (sr_isError(sres)) {
+if (VG_(clo_xml))
+   VG_(printf_xml)("\n");
+VG_(umsg)("FATAL: can't read suppressions directory \"%s\"\n",=
 filename );
+VG_(exit)(1);
+ }
+ nRead =3D sr_Res(sres);
+
+ vg_assert(nRead >=3D 0);
+
+ if (nRead =3D=3D 0) {
+// We're at the end of the directory.
+break;
+ }
+
+ // Add the entries.
+ while (pos < nRead) {
+struct vg_dirent *entry =3D (struct vg_dirent *)(buf + pos);
+HChar *fullpath;
+SizeT nameSize =3D VG_(strlen)(entry->name);
+
+// Skip dotfiles and files which don't end in ".supp".
+if (entry->name[0] =3D=3D '.' || nameSize < 5 ||
+!VG_STREQ(entry->name + nameSize - 5, ".supp")) {
+   pos +=3D entry->reclen;
+   continue;
+}
+
+// Get the full path including the directory name.
+fullpath =3D VG_(malloc)("errormgr.addsup",
+   VG_(strlen)(filename) +
+   VG_(strlen)(entry->name) + 2);
+VG_(strcpy)(fullpath, filename);
+VG_(strcat)(fullpath, "/");
+VG_(strcat)(fullpath, entry->name);
+
+// Add the entry.
+VG_(add_suppression_file)( fullpath );
+
+VG_(free)(fullpath);
+
+// Go to the next entry.
+pos +=3D entry->reclen;
+ }
+  }
+
+  VG_(close)(fd);
+   }
+   else {
+  // It's not a directory.
+  HChar *f =3D VG_(strdup)("errormgr.addsup", filename);
+  VG_(addToXA)(VG_(clo_suppressions), &f);
+  if (load_suppressions_called)
+ load_one_suppressions_file( VG_(sizeXA)(VG_(clo_suppressions)) - =
1 );
+   }
 }
=20
 void VG_(load_suppressions) ( void )
diff --git a/coregrind/m_libcfile.c b/coregrind/m_libcfile.c
index 3a8fed85d..7e6ffe2e8 100644
=2D-- a/coregrind/m_libcfile.c
+++ b/coregrind/m_libcfile.c
@@ -215,6 +215,11 @@ Int VG_(read) ( Int fd, void* buf, Int count)
return ret;
 }
=20
+SysRes VG_(getdents) ( UInt fd, struct v

Bug#940516: Created patch

2019-09-19 Thread Asher Gordon
Package: valgrind
Version: 1:3.15.0-1
Tags: patch
Followup-For: Bug #940516

Dear Maintainer,

I have written a patch to fix this bug. I will send it in the next email
(created with git format-patch). The patch is based on commit 3bac39a10
upstream (the current latest).

Please see also upstream bugs 93376 [1] and 160905 [2].

I'll also send the patch upstream to bug 93376.

Thanks,
Asher

[1] https://bugs.kde.org/show_bug.cgi?id=93376
[2] https://bugs.kde.org/show_bug.cgi?id=160905

-- 
Hi! I'm a .signature virus! Copy me into your ~/.signature to help me sprea=
d!


signature.asc
Description: PGP signature


Bug#940516: valgrind: ONLY uses /usr/lib/$(arch)-linux-gnu/default.supp by default

2019-09-16 Thread Asher Gordon
Package: valgrind
Version: 1:3.15.0-1
Severity: normal
Tags: upstream

Dear Maintainer,

The only suppression file that Valgrind loads by default is
/usr/lib/$(arch)-linux-gnu/default.supp
(/usr/lib/x86_64-linux-gnu/default.supp on my system). This is
inconvenient, because if you are using Valgrind to debug a program, but
you don't want to debug the libraries that program uses, or maybe one of
the libraries never free()'s some of its memory (for example ncurses or
Readline), then you will need to load the suppression file manually.

Further more (and this is the reason I tagged this bug as `normal'
rather than `wishlist'), some Debian packages install suppression files
to /usr/lib/valgrind/, and they appear to think that those files will be
loaded automatically. For example, the packages python{,2,3} install the
files /usr/lib/valgrind/python{,2,3}.supp. Here is an excerpt from one
of those files:

  # Debian note:
  # The file Misc/valgrind-python.supp is placed in an modified form into the
  # directory /usr/lib/valgrind as python.supp. There's no need to to add it
  # with the --suppressions option.

But in fact you DO need to add it with the --suppressions option.

To prove that Valgrind actually doesn't load these files, create a file
like this one:
#include 

int main(void) {
  /* Leak some memory. */
  malloc(1);

  return 0;
}

Then create a suppression like this:
{
   Memory leak suppression
   Memcheck:Leak
   match-leak-kinds: definite
   fun:malloc
   fun:main
}

Verify that the suppression works:

  $ gcc -o leak leak.c 
  $ valgrind ./leak
  [...]
  ==3428==definitely lost: 1 bytes in 1 blocks
  [...]
  ==3428== suppressed: 0 bytes in 0 blocks
  [...]
  $ valgrind --suppressions=leak.supp ./leak
  [...]
  ==3436==definitely lost: 0 bytes in 0 blocks
  [...]
  ==3436== suppressed: 1 bytes in 1 blocks
  [...]

And if you copy the suppression to /usr/lib/valgrind/ (or even
/usr/lib/$(arch)-linux-gnu/valgrind/), you will find that it is not
loaded automatically. However, if you copy it to
/usr/lib/$(arch)-linux-gnu/valgrind/default.supp (make a backup of
default.supp first), it *is* loaded automatically.

Correct me if I am mistaken, but I don't believe that Valgrind
suppression files have any way to include other files. If they did, and
it supported shell globs or similar,
/usr/lib/$(arch)-linux-gnu/valgrind/default.supp could simply include
all the *.supp files in /usr/lib/valgrind/, /usr/local/lib/valgrind/,
etc.

But since I don't believe that is possible, the next best solution would
be to modify /usr/bin/valgrind (which is already a wrapper shell script)
to pass a --suppression=FILE for every FILE in /usr/lib/valgrind/*.supp,
/usr/local/lib/valgrind/*.supp, etc. to valgrind.bin. And maybe it could
also parse --default-suppressions=no and not include those files as well
as passing on --default-suppressions=no to valgrind.bin so it doesn't
load the actual default.supp.

Of course, this should probably really be fixed upstream. Maybe the best
solution would be to allow inclusion of other suppression files within
suppression files so that it is easy for the distribution packaging
Valgrind to choose which files/directories are loaded.

Thanks,
Asher

-- 
Steal this tagline.  I did.


-- System Information:
Debian Release: bullseye/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 5.2.0-2-amd64 (SMP w/2 CPU cores)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages valgrind depends on:
ii  libc6  2.29-1
ii  libc6-dbg  2.29-1

Versions of packages valgrind recommends:
ii  gdb   8.3-1
ii  valgrind-dbg  1:3.15.0-1

Versions of packages valgrind suggests:
pn  alleyoop  
pn  kcachegrind   
pn  valgrind-mpi  
pn  valkyrie  

-- no debconf information


signature.asc
Description: PGP signature


Bug#940261: Upgrade clang/llvm version used for postgresql-11

2019-09-16 Thread Asher Gordon
Christoph Berg  writes:

> it's a strict dependency because postgresql-11 is linked against a
> specific version of libllvm, used for JIT compilation of SQL queries
> using LLVM bitcode. I haven't really looked around myself, but from
> talking to Andres Freund who implemented the JIT engine on the
> PostgreSQL side, the bitcode files are probably specific to the llvm
> version, so we make that a strict dependency to make sure the
> PostgreSQL extension modules are compiled using the same clang version
> as the server itself.

I see. Thanks for the clarification.

> About the version used, 9 is around the corner so I'd prefer moving
> from 7 to 9, instead of upgrading to 8 now, and then upgrading again
> in the next weeks/month. I'll leave this bug around as a reminder that
> we need to do that upgrade.

OK, sounds good.

Asher

-- 
The marvels of today's modern technology include the development of a
soda can, when discarded will last forever ... and a $7,000 car which
when properly cared for will rust out in two or three years.


signature.asc
Description: PGP signature


Bug#940261: postgresql-server-dev-11: depend on clang and llvm-dev rather than clang-7 and llvm-7-dev

2019-09-14 Thread Asher Gordon
Package: postgresql-server-dev-11
Version: 11.5-2
Severity: normal

Dear Maintainer,

I just upgraded clang which now depends on clang-8 since that is the new
default in Debian. I would like to remove clang-7 (and llvm-7, etc.),
but postgresql-server-dev-11 depends on those packages.

  $ aptitude why clang-7
  i   postgresql-server-dev-all Depends postgresql-server-dev-11
  i A postgresql-server-dev-11  Depends clang-7 

This prevents me from removing clang-7 & co.

Unless postgresql-server-dev-11 depends specifically on version 7 of
clang for a reason, the dependencies should be corrected to clang and
llvm-dev which depend on the defaults in Debian.

Thanks,
Asher

-- 
A witty saying proves nothing, but saying something pointless gets
people's attention.


-- System Information:
Debian Release: bullseye/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 5.2.0-2-amd64 (SMP w/2 CPU cores)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages postgresql-server-dev-11 depends on:
ii  clang-71:7.0.1-9+b1
ii  libc6  2.29-1
ii  libpq-dev  11.5-2
ii  llvm-7-dev 1:7.0.1-9+b1
ii  postgresql-common  205

postgresql-server-dev-11 recommends no packages.

postgresql-server-dev-11 suggests no packages.

-- no debconf information


signature.asc
Description: PGP signature


Bug#939876: gimp: segmentation fault on open

2019-09-09 Thread Asher Gordon
Package: gimp
Version: 2.10.8-2+b1
Followup-For: Bug #939876

Hello Witold,

Witold Baryluk  writes:

> I think I do have same issue.
>
> It happens even when creating an empty document using menu File ->
> New, with anysize (i.e. 1024x768). But also when opening any file
> (tested with png and jpeg files).
>
> Stack trace looks similar. Looks like a bug in gimp_gegl_mask_is_empty
> maybe?

The issue seems to be a GEGL version mismatch (compiled against versus
linked against).

> I hope this is fixed soon :)

If you need to use the GIMP right away, a workaround that worked for me
is to install the updated libgegl-0.4-0 and libgegl-common from sid.
Download the packages from the Debian website and install with gdebi or
similar (make sure to install libgegl-common first).

See also #939754 and #939768 which appear to be the same bug.

Asher

-- 
Hi! I'm a .signature virus! Copy me into your ~/.signature to help me sprea=
d!


-- System Information:
Debian Release: bullseye/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 5.2.0-2-amd64 (SMP w/2 CPU cores)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages gimp depends on:
ii  gimp-data2.10.8-2
ii  libaa1   1.4p5-46+b1
ii  libbabl-0.1-00.1.62-1
ii  libbz2-1.0   1.0.6-9.2
ii  libc62.28-10
ii  libcairo21.16.0-4
ii  libfontconfig1   2.13.1-2+b1
ii  libfreetype6 2.9.1-4
ii  libgcc1  1:9.2.1-4
ii  libgdk-pixbuf2.0-0   2.38.1+dfsg-1
ii  libgegl-0.4-00.4.14-1+b2
ii  libgexiv2-2  0.10.9-1
ii  libgimp2.0   2.10.8-2+b1
ii  libglib2.0-0 2.60.6-2
ii  libgs9   9.27~dfsg-3.1
ii  libgtk2.0-0  2.24.32-3
ii  libgudev-1.0-0   232-2
ii  libharfbuzz0b2.6.1-2
ii  libheif1 1.5.1-1
ii  libilmbase24 2.3.0-6
ii  libjpeg62-turbo  1:1.5.2-2+b1
ii  liblcms2-2   2.9-3+b1
ii  liblzma5 5.2.4-1+b1
ii  libmng1  1.0.10+dfsg-3.1+b5
ii  libmypaint-1.3-0 1.3.0-2.1+b1
ii  libopenexr24 2.3.0-6
ii  libopenjp2-7 2.3.0-2
ii  libpango-1.0-0   1.42.4-7
ii  libpangocairo-1.0-0  1.42.4-7
ii  libpangoft2-1.0-01.42.4-7
ii  libpng16-16  1.6.37-1
ii  libpoppler-glib8 0.71.0-5+b1
ii  librsvg2-2   2.44.14-1
ii  libstdc++6   9.2.1-4
ii  libtiff5 4.0.10+git190818-1
ii  libwebp6 0.6.1-2+b1
ii  libwebpdemux20.6.1-2+b1
ii  libwebpmux3  0.6.1-2+b1
ii  libwmf0.2-7  0.2.8.4-14
ii  libx11-6 2:1.6.7-1
ii  libxcursor1  1:1.2.0-2
ii  libxext6 2:1.3.3-1+b2
ii  libxfixes3   1:5.0.3-1
ii  libxmu6  2:1.1.2-2+b3
ii  libxpm4  1:3.5.12-1
ii  xdg-utils1.1.3-1
ii  zlib1g   1:1.2.11.dfsg-1+b1

Versions of packages gimp recommends:
ii  ghostscript  9.27~dfsg-3.1

Versions of packages gimp suggests:
pn  gimp-data-extras  
ii  gimp-help-en [gimp-help]  2.8.2-1
pn  gimp-python   
ii  gvfs-backends 1.38.1-5
ii  libasound21.1.8-1

-- no debconf information


signature.asc
Description: PGP signature


Bug#939754: gimp: Crashes when I try to open an image or create a new one

2019-09-09 Thread Asher Gordon
Jakob Haufe  writes:

> On Mon, 09 Sep 2019 14:59:02 -0400
> Asher Gordon  wrote:
>
>> I think that its the GEGL version that fixed it, not the patch. The
>> bug appears to be caused because the GIMP was built against GEGL
>> 0.4.14 (in sid), but bullseye only has GEGL 0.4.12.
>
> I doubt this is correct. Installing GEGL 0.4.14-1 from sid on an
> bullseye system did not resolve the segfault issue. This was the first
> thing i tried.

I just tried installing libgegl-0.4-0 version 0.4.14-1+b2 (and
libgegl-common version 0.4.14-1) from sid (also on a bullseye system)
and the GIMP was able to load files and work as expected. You say you
installed GEGL 0.4.14-1. Did you install just plain 0.4.14-1 or with the
+b2 (or +b1)? Did you also install the updated version of
libgegl-common?

If you installed GEGL 0.4.14-1 (no +b*), maybe the issue was introduced
in GEGL 0.4.14-1+b1 or 0.4.14-1+b2?

At any rate, the bug seemed to have been introduced when the GIMP was
updated to 2.10.8-2+b1, so reverting to 2.10.8-2 should provide a
temporary fix at least.

Asher

-- 
Reader, suppose you were an idiot.  And suppose you were a member of
Congress.  But I repeat myself.
-- Mark Twain


signature.asc
Description: PGP signature


Bug#939754: gimp: Crashes when I try to open an image or create a new one

2019-09-09 Thread Asher Gordon
Package: gimp
Version: 2.10.8-2+b1
Followup-For: Bug #939754

Hello Jakob,

Jakob Haufe  writes:

> I cherry-picked 986a298a from upstream (which is also contained in
> 2.10.10+) and rebuilt gimp. This fixes the issue for me. This patch,
> however, needs gegl >= 0.4.14 which is stuck in unstable ATM.

I think that its the GEGL version that fixed it, not the patch. The bug
appears to be caused because the GIMP was built against GEGL 0.4.14 (in
sid), but bullseye only has GEGL 0.4.12.

See also #939768 for more info, which appears to be the same bug. See
especially message #20. #939876 also looks like the same bug. All three
of these bugs should probably be merged.

Thanks,
Asher

-- 
...very few phenomena can pull someone out of Deep Hack Mode, with two
noted exceptions: being struck by lightning, or worse, your *computer*
being struck by lightning.
-- Matt Welsh

-- System Information:
Debian Release: bullseye/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 5.2.0-2-amd64 (SMP w/2 CPU cores)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages gimp depends on:
ii  gimp-data2.10.8-2
ii  libaa1   1.4p5-46+b1
ii  libbabl-0.1-00.1.62-1
ii  libbz2-1.0   1.0.6-9.2
ii  libc62.28-10
ii  libcairo21.16.0-4
ii  libfontconfig1   2.13.1-2+b1
ii  libfreetype6 2.9.1-4
ii  libgcc1  1:9.2.1-4
ii  libgdk-pixbuf2.0-0   2.38.1+dfsg-1
ii  libgegl-0.4-00.4.12-2
ii  libgexiv2-2  0.10.9-1
ii  libgimp2.0   2.10.8-2+b1
ii  libglib2.0-0 2.60.6-2
ii  libgs9   9.27~dfsg-3.1
ii  libgtk2.0-0  2.24.32-3
ii  libgudev-1.0-0   232-2
ii  libharfbuzz0b2.6.1-2
ii  libheif1 1.5.1-1
ii  libilmbase24 2.3.0-6
ii  libjpeg62-turbo  1:1.5.2-2+b1
ii  liblcms2-2   2.9-3+b1
ii  liblzma5 5.2.4-1+b1
ii  libmng1  1.0.10+dfsg-3.1+b5
ii  libmypaint-1.3-0 1.3.0-2.1+b1
ii  libopenexr24 2.3.0-6
ii  libopenjp2-7 2.3.0-2
ii  libpango-1.0-0   1.42.4-7
ii  libpangocairo-1.0-0  1.42.4-7
ii  libpangoft2-1.0-01.42.4-7
ii  libpng16-16  1.6.37-1
ii  libpoppler-glib8 0.71.0-5+b1
ii  librsvg2-2   2.44.14-1
ii  libstdc++6   9.2.1-4
ii  libtiff5 4.0.10+git190818-1
ii  libwebp6 0.6.1-2+b1
ii  libwebpdemux20.6.1-2+b1
ii  libwebpmux3  0.6.1-2+b1
ii  libwmf0.2-7  0.2.8.4-14
ii  libx11-6 2:1.6.7-1
ii  libxcursor1  1:1.2.0-2
ii  libxext6 2:1.3.3-1+b2
ii  libxfixes3   1:5.0.3-1
ii  libxmu6  2:1.1.2-2+b3
ii  libxpm4  1:3.5.12-1
ii  xdg-utils1.1.3-1
ii  zlib1g   1:1.2.11.dfsg-1+b1

Versions of packages gimp recommends:
ii  ghostscript  9.27~dfsg-3.1

Versions of packages gimp suggests:
pn  gimp-data-extras  
ii  gimp-help-en [gimp-help]  2.8.2-1
pn  gimp-python   
ii  gvfs-backends 1.38.1-5
ii  libasound21.1.8-1

-- no debconf information


signature.asc
Description: PGP signature


Bug#939768: gimp: After the last upgrade, GIMP crashes when creating a new image or opening an existing one.

2019-09-08 Thread Asher Gordon
Package: gimp
Version: 2.10.8-2+b1
Followup-For: Bug #939768

Hello,

I'm also using testing (bullseye) and I can confirm this bug too.

Here's what I think happened:

GIMP 2.10.8-2 was built on sid (which had GEGL 0.4.12 at the
time). Testing also had GEGL 0.4.12, so there was no version mismatch
and everything was fine. Then, GIMP 2.10.8-2+b1 was built on sid, which
now has GEGL 0.4.14. When GIMP 2.10.8-2+b1 (now built against GEGL
0.4.14) migrated to testing (which still has GEGL 0.4.12), the version
mismatch occurred causing the GIMP to crash.

Note that I am just guessing the versions of packages that sid and
testing had in the past, so it should be taken with a grain of salt.

If this is the case, there appears to be three obvious fixes:

1. Migrate GEGL 0.4.14 to testing.
2. Revert the testing GIMP package to 2.10.8-2.
3. Build the testing GIMP package against GEGL 0.4.12.

Since GEGL is 188 days old and should be migrated anyway, 1. seems to be
preferable. Looking at the package tracker [1], it appears that there
are some migration issues that need to be looked at, so perhaps 2. could
be a temporary fix. I'm not sure how 3. would be implemented, since the
sid GIMP package would still need to be built against GEGL 0.4.14.

In the future, care should be taken to avoid GEGL mismatches like this.

By the way, #939754 looks like the same bug.

Hope this helps,
Asher

P.S. I am neither a GIMP developer nor a Debian developer, just an
affected user trying to help.


[1] https://tracker.debian.org/pkg/gegl

-- 
By necessity, by proclivity, and by delight, we all quote.  In fact, it is as
difficult to appropriate the thoughts of others as it is to invent.
-- R. Emerson
-- Quoted from a fortune cookie program
(whose author claims, "Actually, stealing IS easier.")
[to which I reply, "You think it's easy for me to
misconstrue all these misquotations?!?"  Ed.]

-- System Information:
Debian Release: bullseye/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 5.2.0-2-amd64 (SMP w/2 CPU cores)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages gimp depends on:
ii  gimp-data2.10.8-2
ii  libaa1   1.4p5-46+b1
ii  libbabl-0.1-00.1.62-1
ii  libbz2-1.0   1.0.6-9.2
ii  libc62.28-10
ii  libcairo21.16.0-4
ii  libfontconfig1   2.13.1-2+b1
ii  libfreetype6 2.9.1-4
ii  libgcc1  1:9.2.1-4
ii  libgdk-pixbuf2.0-0   2.38.1+dfsg-1
ii  libgegl-0.4-00.4.12-2
ii  libgexiv2-2  0.10.9-1
ii  libgimp2.0   2.10.8-2+b1
ii  libglib2.0-0 2.60.6-2
ii  libgs9   9.27~dfsg-3.1
ii  libgtk2.0-0  2.24.32-3
ii  libgudev-1.0-0   232-2
ii  libharfbuzz0b2.6.1-2
ii  libheif1 1.5.1-1
ii  libilmbase24 2.3.0-6
ii  libjpeg62-turbo  1:1.5.2-2+b1
ii  liblcms2-2   2.9-3+b1
ii  liblzma5 5.2.4-1+b1
ii  libmng1  1.0.10+dfsg-3.1+b5
ii  libmypaint-1.3-0 1.3.0-2.1+b1
ii  libopenexr24 2.3.0-6
ii  libopenjp2-7 2.3.0-2
ii  libpango-1.0-0   1.42.4-7
ii  libpangocairo-1.0-0  1.42.4-7
ii  libpangoft2-1.0-01.42.4-7
ii  libpng16-16  1.6.37-1
ii  libpoppler-glib8 0.71.0-5+b1
ii  librsvg2-2   2.44.14-1
ii  libstdc++6   9.2.1-4
ii  libtiff5 4.0.10+git190818-1
ii  libwebp6 0.6.1-2+b1
ii  libwebpdemux20.6.1-2+b1
ii  libwebpmux3  0.6.1-2+b1
ii  libwmf0.2-7  0.2.8.4-14
ii  libx11-6 2:1.6.7-1
ii  libxcursor1  1:1.2.0-2
ii  libxext6 2:1.3.3-1+b2
ii  libxfixes3   1:5.0.3-1
ii  libxmu6  2:1.1.2-2+b3
ii  libxpm4  1:3.5.12-1
ii  xdg-utils1.1.3-1
ii  zlib1g   1:1.2.11.dfsg-1+b1

Versions of packages gimp recommends:
ii  ghostscript  9.27~dfsg-3.1

Versions of packages gimp suggests:
pn  gimp-data-extras  
ii  gimp-help-en [gimp-help]  2.8.2-1
pn  gimp-python   
ii  gvfs-backends 1.38.1-5
ii  libasound21.1.8-1

-- no debconf information


signature.asc
Description: PGP signature


Bug#931182: gcc-8: does not issue a warning with -Wall when a named enum value is overridden by a variable with the same name

2019-06-27 Thread Asher Gordon

Package: gcc-8
Version: 8.3.0-6
Severity: normal
Tags: upstream

Dear Maintainer,

In a C program, when an enum's value is overridden by a variable with
the same name, and it is compiled by gcc with -Wall, no warning is
emitted even though it is questionable to override an enum. See the
program below:
#include 

int main(void) {
  enum {g, h, i} foo[3];

  /* Set all elements of `foo' to `i' (2), or so you would think */
  for (int i = 0; i < sizeof(foo) / sizeof(*foo); i++) {
foo[i] = i; /* <-- this doesn't do what you think */
  }

  /* Now print all the elements (note we use `iterator' instead of `i'
 to avoid the situation above) */
  for (int iterator = 0; iterator < sizeof(foo) / sizeof(*foo); iterator++) {
printf("foo[%d] is ", iterator);

switch (foo[iterator]) {
case g:
  puts("g");
  break;
case h:
  puts("h");
  break;
case i:
  puts("i");
  break;
default:
  printf("something else: %d\n", foo[iterator]);
  break;
}
  }

  return 0;
}
In line 8, "foo[i] = i;", foo[i] is indexed using the "i" which was
declared at the beginning of the loop ("int i = 0;"), as you would
expect. However, it is not clear what the second "i" (the one on the
right of the assignment) is referring to. It could be referring to the
value "2" (since that is the value `i' is assigned to in the enum), or
it could also be referring to the "i" which was declared at the
beginning of the loop. It is in fact referring to the loop `i' as you
can see if you compile and run the program.

  $ gcc -Wall -o enum-test enum-test.c
  $ ./enum-test
  foo[0] is g
  foo[1] is h
  foo[2] is i

However, note that gcc succeeded with *no output* even though -Wall was
passed. Since overriding enum values is unclear and may not do what you
think, and it's easily avoidable (just change the variable or enum value
name), it should be warned against when -Wall is passed.

From the "(gcc) Warning Options" info node,

  '-Wall'
   This enables all the warnings about constructions that some users
   consider questionable, and that are easy to avoid (or modify to
   prevent the warning), even in conjunction with macros.

So I think this should definitely be warned against by -Wall.

Clang too, does not warn against this:

  $ clang -Wall -o enum-test enum-test.c
  $ ./enum-test
  foo[0] is g
  foo[1] is h
  foo[2] is i

(As you can see, the runtime behavior of the program is the same as when
compiled with gcc, as you would expect.)

Curiously, both g++ and clang++ raise an error when an enum is
overridden (along with a few warnings since the program was not meant to
be compiled as C++).

  $ g++ -Wall -o enum-test enum-test.c
  enum-test.c: In function ‘int main()’:
  enum-test.c:7:21: warning: comparison of integer expressions of different 
signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare]
 for (int i = 0; i < sizeof(foo) / sizeof(*foo); i++) {
 ~~^~~~
  enum-test.c:8:14: error: invalid conversion from ‘int’ to ‘main()::’ [-fpermissive]
   foo[i] = i; /* <-- this doesn't do what you think */
^
  enum-test.c:13:35: warning: comparison of integer expressions of different 
signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare]
 for (int iterator = 0; iterator < sizeof(foo) / sizeof(*foo); iterator++) {
~^~~~
  $ clang++ -Wall -o enum-test enum-test.c
  clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior 
is deprecated [-Wdeprecated]
  enum-test.c:8:14: error: assigning to 'enum (anonymous enum at 
enum-test.c:4:3)' from incompatible type 'int'
  foo[i] = i; /* <-- this doesn't do what you think */
   ^
  1 error generated.

I haven't reported a bug against clang since you can only report a bug
against one package, but perhaps a bug should be reported against clang
referencing this one to alert the clang people about this too.


-- System Information:
Debian Release: 10.0
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 4.19.0-5-amd64 (SMP w/2 CPU cores)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages gcc-8 depends on:
ii  binutils  2.31.1-16
ii  cpp-8 8.3.0-6
ii  gcc-8-base8.3.0-6
ii  libc6 2.28-10
ii  libcc1-0  8.3.0-6
ii  libgcc-8-dev  8.3.0-6
ii  libgcc1   1:8.3.0-6
ii  libgmp10  2:6.1.2+dfsg-4
ii  libisl19  0.20-2
ii  libmpc3   1.1.0-1
ii  libmpfr6  4.0.2-1
ii  libstdc++68.3.0-6
ii  zlib1g1:1.2.11.dfsg-1

Versions of packages gcc-8 recommends:
ii  libc6-dev  2.28-10

Versions of packages gcc-8 suggests:
pn  gcc-8-doc 
pn  gcc-8-locales 
pn  gcc-8-multilib

Bug#929188: gnubg: allows re-rolling dice after declined resignation in graphical mode

2019-05-18 Thread Asher Gordon
Package: gnubg
Version: 1.06.002-1
Severity: normal
Tags: upstream

Dear Maintainer,

Follow these steps to reproduce the bug:

1. Start GNU Backgammon in graphical mode (just type "gnubg" at the
   command prompt, and make sure X is running).

2. Start a new game by clicking "New" or select File -> New...

3. Select "Human vs. Human" and click "OK".

4. Take note of the numbers on the dice.

5. As the player whose turn it is, offer a resignation by clicking
   "Resign" or select Game -> Resign, and select any of the
   options. This will remove the dice from the board.

6. As the other player, decline the resignation by clicking "Reject" or
   select Game -> Reject.

7. Now, as the first player again, roll the dice by clicking in the area
   on the board in which they would be rolled. Note that the roll is
   different than it was before the resignation offer (if it is not,
   repeat steps 5-7 until it is).

This allows the player to cheat by re-rolling the dice until a good roll
is available. If you can get the computer into a state where it will not
accept a normal resign (play badly until a gammon/backgammon is
inevitable), this bug is also reproducible, allowing the player to cheat
against the computer.

Ideally, in step 5. above, when the player offers a resignation, GNU
Backgammon should leave the dice on the board, and not allow the player
to re-roll them.

Note also that after step 6., if you don't roll the dice and instead
resign again immediately, and you choose a level less than or equal to
the level chosen before (e.g. normal), then it will print " has
already declined your offer of a ." and
will not offer the resignation a second time. This should also happen
when the dice are rolled again before the second resignation. However it
does not.

I suppose that is a different bug, but it seemed related enough to
mention it here.

Also note that in text mode neither of these bugs are present:

$ gnubg -t
[...]
(No game) set player 0 human
Moves for foo must now be entered manually.
(No game) set player 1 human
Moves for bar must now be entered manually.
(No game) new game
foo rolls 3, bar rolls 1.
[...]
(foo) resign
foo offers to resign a single game.
[...]
(bar) reject
bar declines the single game.
[...]
(foo) roll
You have already rolled the dice.
(foo) resign
bar has already declined your offer of a single game.
(foo) exit
Are you sure you want to discard the current match? y


-- System Information:
Debian Release: buster/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 4.19.0-5-amd64 (SMP w/2 CPU cores)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages gnubg depends on:
ii  debconf [debconf-2.0]   1.5.71
ii  gnubg-data  1.06.002-1
ii  libc6   2.28-10
ii  libcairo2   1.16.0-4
ii  libcanberra-gtk00.30-7
ii  libcanberra00.30-7
ii  libcurl47.64.0-3
ii  libfreetype62.9.1-3
ii  libgdk-pixbuf2.0-0  2.38.1+dfsg-1
ii  libgl1  1.1.0-1
ii  libglib2.0-02.58.3-1
ii  libglu1-mesa [libglu1]  9.0.0-2.1+b3
ii  libgmp102:6.1.2+dfsg-4
ii  libgtk2.0-0 2.24.32-3
ii  libgtkglext11.2.0-9
ii  libpango-1.0-0  1.42.4-6
ii  libpangocairo-1.0-0 1.42.4-6
ii  libpng16-16 1.6.36-5
ii  libpython2.72.7.16-2
ii  libreadline77.0-5
ii  libsqlite3-03.27.2-2

gnubg recommends no packages.

Versions of packages gnubg suggests:
ii  sensible-utils  0.0.12

-- debconf information:
* gnubg/build-bearoffs: true


signature.asc
Description: PGP signature


Bug#928559: manpages: contrary to the manpage, the infinite loop in pldd(1) is no longer present

2019-05-06 Thread Asher Gordon

Package: manpages
Version: 4.16-1
Severity: minor
Tags: patch

Dear Maintainer,

The manpage for pldd(1) says

BUGS
   Since glibc 2.19, pldd is broken: it just hangs when executed.
   It is unclear if it will ever be fixed.

However, in glibc 2.28-10, this bug was fixed. The manpage should be
updated according to the patch below (of course you could put "None." or
"Many." or something like that in the BUGS section, as is the tradition
when you can't think of any bugs :-)):

--- man1/pldd.1~	2018-04-30 11:54:33.0 -0400
+++ man1/pldd.1	2019-05-07 01:05:44.440420437 -0400
@@ -96,12 +96,6 @@
 \fB-ex "quit" \-p $pid | grep '^0x.*0x'\fP
 .EE
 .in
-.SH BUGS
-Since glibc 2.19,
-.B pldd
-is broken: it just hangs when executed.
-.\" FIXME . https://sourceware.org/bugzilla/show_bug.cgi?id=18035
-It is unclear if it will ever be fixed.
 .SH EXAMPLE
 .EX
 $ \fBecho $$\fP   # Display PID of shell

Thanks,
Asher

-- 
The most delightful day after the one on which you buy a cottage in
the country is the one on which you resell it.
-- J. Brecheux

-- System Information:
Debian Release: buster/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 4.19.0-4-amd64 (SMP w/2 CPU cores)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

manpages depends on no packages.

manpages recommends no packages.

Versions of packages manpages suggests:
ii  man-db [man-browser]  2.8.5-2

-- no debconf information


Bug#928558: reportbug: "message-fetch-field" should be "mail-fetch-field" in reportbug.el

2019-05-06 Thread Asher Gordon

Package: reportbug
Version: 7.5.2
Severity: normal
Tags: patch

Dear Maintainer,

When I run "reportbug -G" ("-G" to use the Gnus MUA), it starts up emacs
with a buffer containing the message, but it is in text-mode and not in
message-mode as one would expect. Here is the relevant part of the
*Messages* buffer:

Loading /usr/share/reportbug/reportbug.el (source)...done
Starting new Ispell process aspell with default dictionary...
let: Symbol’s function definition is void: message-fetch-field

As you can see, there is no function "message-fetch-field". It should
instead be "mail-fetch-field". A workaround is to put

(defalias 'message-fetch-field 'mail-fetch-field
  "Compatibility with reportbug(1)")

in your ~/.emacs which is what I did, and I am sending this with Gnus
now. However, the problem should really be corrected in
/usr/share/reportbug/reportbug.el as in the following patch:

--- share/reportbug.el~	2019-01-31 20:57:49.0 -0500
+++ share/reportbug.el	2019-05-07 00:24:08.944752814 -0400
@@ -28,8 +28,8 @@
   (interactive)
   (require 'gnus)
   (find-file reportbug-template)
-  (let ((subject (message-fetch-field "Subject"))
-(toaddr (or (message-fetch-field "To") "sub...@bugs.debian.org")))
+  (let ((subject (mail-fetch-field "Subject"))
+(toaddr (or (mail-fetch-field "To") "sub...@bugs.debian.org")))
 (gnus-narrow-to-body)
 (let ((body (or (buffer-string) "")))
   (gnus-summary-mail-other-window)

Thanks,
Asher

-- 
Real computer scientists don't program in assembler.  They don't write
in anything less portable than a number two pencil.

-- Package-specific info:
** Environment settings:
EDITOR="emacs"
PAGER="less"
INTERFACE="text"

** /home/asher/.reportbugrc:
reportbug_version "7.5.2"
mode standard
ui text
email "asd...@posteo.net"
smtphost "posteo.de"
smtpuser "asd...@posteo.net"
smtppasswd 
smtptls
http_proxy "socks5://localhost:9050"

-- System Information:
Debian Release: buster/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 4.19.0-4-amd64 (SMP w/2 CPU cores)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages reportbug depends on:
ii  apt1.8.0
ii  python33.7.2-1
ii  python3-reportbug  7.5.2
ii  sensible-utils 0.0.12

reportbug recommends no packages.

Versions of packages reportbug suggests:
pn  claws-mail 
pn  debconf-utils  
pn  debsums
pn  dlocate
pn  emacs24-bin-common | emacs25-bin-common
ii  exim4-daemon-light [mail-transport-agent]  4.92-2
ii  file   1:5.35-4
ii  gnupg  2.2.12-1
pn  python3-urwid  
pn  reportbug-gtk  
ii  xdg-utils  1.1.3-1

Versions of packages python3-reportbug depends on:
ii  apt1.8.0
ii  file   1:5.35-4
ii  python33.7.2-1
ii  python3-apt1.8.4
ii  python3-debian 0.1.34
ii  python3-debianbts  2.8.2
ii  python3-requests   2.21.0-1

python3-reportbug suggests no packages.

-- no debconf information


signature.asc
Description: PGP signature


Bug#927705: autoconf: configure does not find builtin functions when -Werror is in CFLAGS

2019-04-21 Thread Asher Gordon
Package: autoconf
Version: 2.69-11
Severity: normal
Tags: upstream

Dear Maintainer,

When AC_CHECK_FUNC or AC_CHECK_FUNCS is called on a builtin function
in gcc, the compiler emits a warning. For example, using memset() as
an example builtin:

  warning: conflicting types for built-in function 'memset' 
[-Wbuiltin-declaration-mismatch]

When -Werror is in CFLAGS, this is promoted to an error, causing
configure to believe memset() was not found.

See this very simple example configure.ac file:

  AC_INIT([test], [0.0])
  AC_PROG_CC
  AC_CHECK_FUNC([memset])
  AC_OUTPUT

When the resulting configure script is run, you will find the line

  checking for memset... yes

in the output. This is expected, since memset() is available. However,
when the configure script is run as "./configure CFLAGS=-Werror", you
will find this line in the output:

  checking for memset... no

This is not the expected behavior because, as we have seen above,
memset() is indeed available.

Here is the relevant part of config.log:

  configure:2614: checking for memset
  configure:2614: gcc -o conftest -Werror   conftest.c  >&5
  conftest.c:32:6: error: conflicting types for built-in function 'memset' 
[-Werror=builtin-declaration-mismatch]
   char memset ();
^~
  cc1: all warnings being treated as errors
  configure:2614: $? = 1
  configure: failed program was:
  | /* confdefs.h */
  | #define PACKAGE_NAME "test"
  | #define PACKAGE_TARNAME "test"
  | #define PACKAGE_VERSION "0.0"
  | #define PACKAGE_STRING "test 0.0"
  | #define PACKAGE_BUGREPORT ""
  | #define PACKAGE_URL ""
  | /* end confdefs.h.  */
  | /* Define memset to an innocuous variant, in case  declares 
memset.
  |For example, HP-UX 11i  declares gettimeofday.  */
  | #define memset innocuous_memset
  | 
  | /* System header to define __stub macros and hopefully few prototypes,
  | which can conflict with char memset (); below.
  | Prefer  to  if __STDC__ is defined, since
  |  exists even on freestanding compilers.  */
  | 
  | #ifdef __STDC__
  | # include 
  | #else
  | # include 
  | #endif
  | 
  | #undef memset
  | 
  | /* Override any GCC internal prototype to avoid an error.
  |Use char because int might match the return type of a GCC
  |builtin and then its argument prototype would still apply.  */
  | #ifdef __cplusplus
  | extern "C"
  | #endif
  | char memset ();
  | /* The GNU C library defines this for functions which it implements
  | to always fail with ENOSYS.  Some functions are actually named
  | something starting with __ and the normal name is an alias.  */
  | #if defined __stub_memset || defined __stub___memset
  | choke me
  | #endif
  | 
  | int
  | main ()
  | {
  | return memset ();
  |   ;
  |   return 0;
  | }
  configure:2614: result: no

When the configure script is run with
CFLAGS='-Werror -Wno-builtin-declaration-mismatch', however, it *does*
find memset(). That is because, with the warning disabled, it is not
promoted to an error and therefore compiles successfully. My
suggestion is to always append '-Wno-builtin-declaration-mismatch' to
CFLAGS when checking for functions with AC_CHECK_FUNC and
AC_CHECK_FUNCS. That way, those macros would find both library
functions and builtins even when -Werror is in CFLAGS.


Thanks,
Asher


P.S. A real world example of this bug is my "c2py" program at
sv.nongnu.org/p/c2py. If you checkout the latest sources with cvs and
configure with "./configure --enable-Werror", it will fail since some
of the functions it requires are builtin.

-- System Information:
Debian Release: buster/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 4.19.0-4-amd64 (SMP w/2 CPU cores)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages autoconf depends on:
ii  debianutils  4.8.6.1
ii  m4   1.4.18-2
ii  perl 5.28.1-6

Versions of packages autoconf recommends:
ii  automake [automaken]  1:1.16.1-4

Versions of packages autoconf suggests:
ii  autoconf-archive  20180313-1
ii  autoconf-doc  2.69-11
ii  gettext   0.19.8.1-9
ii  gnu-standards 2010.03.11-1
ii  libtool   2.4.6-9

-- no debconf information



Bug#916562: libc6: fputs(), fputc(), and fwrite() do not fail on write error

2018-12-15 Thread Asher Gordon
On Saturday, December 15, 2018 7:02 PM, Samuel Thibault  
wrote:

> Hello,
>
> Asher Gordon, le sam. 15 déc. 2018 18:51:19 -0500, a ecrit:
>
> > If I use fputs(3), fputc(3), or fwrite(3) to write to a file that can
> > be opened for writing but cannot be written to (e.g /dev/full), the
> > functions return 1 rather than the expected EOF (or 0 in the case of
> > fread()).
>
> Well, that is not surprising since these functions are buffered. You
> need to call fflush() to make sure that no error happened on the actual
> underlying write.
>
> Samuel

You're right. I tried it with fflush() and it gave expected results. I guess we 
can close this bug now.



Bug#916562: libc6: fputs(), fputc(), and fwrite() do not fail on write error

2018-12-15 Thread Asher Gordon
Package: libc6
Version: 2.27-8
Severity: normal
Tags: upstream

Dear Maintainer,

If I use fputs(3), fputc(3), or fwrite(3) to write to a file that can
be opened for writing but cannot be written to (e.g /dev/full), the
functions return 1 rather than the expected EOF (or 0 in the case of
fread()). On the other hand, write(2) returns -1 and sets errno to
ENOSPC an expected.

Expected results:
The functions fputs() and fputc() should return EOF and fwrite()
should return 0. All the functions should set errno to ENOSPC (for
/dev/full).

Actual results:
The functions return 1 (an indication of success) and leave errno
unchanged.

Steps to reproduce:
Compile the attached program (the compiler flag `-fno-builtin' does
not change anything, nor does -O0):
$ gcc -o write write.c

Run the program with /dev/full as the output file:
$ ./write hello /dev/full
fputs() returned 1 and errno is 0 (Success).
fputc() returned 104 (h) and errno is 0 (Success).
fwrite() returned 5 (the length of "hello" is 5) and errno is 0 (Success).
write() returned -1 (the length of "hello" is 5) and errno is 28 (No space left 
on device).

The expected output is:
fputs() returned EOF (-1) and errno is 28 (No space left on device).
fputc() returned EOF (-1) and errno is 28 (No space left on device).
fwrite() returned 0 (the length of "hello" is 5) and errno is 28 (No space left 
on device).
write() returned -1 (the length of "hello" is 5) and errno is 28 (No space left 
on device).


-- System Information:
Debian Release: buster/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 4.18.0-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages libc6 depends on:
ii  libgcc1  1:8.2.0-9

libc6 recommends no packages.

Versions of packages libc6 suggests:
ii  debconf [debconf-2.0]  1.5.69
pn  glibc-doc  
ii  libc-l10n  2.27-8
ii  locales2.27-8

-- debconf information:
* glibc/restart-services: cups cron
  glibc/kernel-too-old:
  glibc/kernel-not-supported:
  glibc/restart-failed:
  glibc/upgrade: true
  glibc/disable-screensaver:
* libraries/restart-without-asking: false
#include 
#include 
#include 
#include 

int main(int argc, char **argv) {
  int ret;
  size_t string_len;
  FILE *output_file;
  
  if (argc != 3) {
fprintf(stderr, "Usage: %s STRING FILE\nWrite STRING to FILE.\n", argv[0]);
return 1;
  }

  /* Open the file */
  if (!(output_file = fopen(argv[2], "w"))) {
fprintf(stderr, "%s: could not open %s: %m\n", argv[0], argv[2]);
return 1;
  }

  /* Now try to write to the file using fputs() */
  errno = 0;
  ret = fputs(argv[1], output_file);
  /* `ret' should be EOF if an error occured (see fputs(3)) */
  printf ("fputs() returned ");
  if (ret == EOF)
printf("EOF (%d)", ret);
  else
printf("%d", ret);
  printf(" and errno is %d (%m).\n", errno);

  /* This happens with fputc() too */
  errno = 0;
  ret = fputc(argv[1][0], output_file);
  printf("fputc() returned ");
  if (ret == EOF)
printf("EOF (%d)", ret);
  else
printf("%d (%c)", ret, (char)ret);
  printf(" and errno is %d (%m).\n", errno);

  string_len = strlen(argv[1]);

  /* This happens with fwrite() too */
  errno = 0;
  printf("fwrite() returned %lu (the length of \"%s\" is %lu) ",
 fwrite(argv[1], 1, string_len, output_file), argv[1], string_len);
  printf("and errno is %d (%m).\n", errno);

  /* write() gives us expected results */
  errno = 0;
  printf("write() returned %ld (the length of \"%s\" is %lu) ",
 write(fileno(output_file), argv[1], string_len), argv[1], string_len);
  printf("and errno is %d (%m).\n", errno);

  return 0;
}