Debian Bookworm, podman-compose and dns

Upgraded to bookworm and containers started with podman-compose can no longer resolve names?

Switching to the netavark networkBackend helped, f.e. by reseting:

podman system reset --force

It will delete all your stuff, though.

Powershell and Certificates

Looking to dump all properties of a certificate with $SERIAL:

Get-ChildItem -Path Cert: -Recurse `
| Where-Object -Property SerialNumber -Value $SERIAL -eq `
| Select-Object -Property *

Configured Certificates

Want to list all certificates a server sends?

echo \
	| openssl s_client -showcerts -connect $server 2>&1 \
	| while openssl x509 -noout -subject -issuer; do

Also works with a .pem containing multiple certificates.

Based on this stackexchange answer.

Rust, https_proxy and failed to download


error: failed to download from ...

Caused by:
  [2] Failed initialization ([CONN-1-0] send: no filter connected)

Disabling mutliplexing helped, e.g


Also possible in .cargo/config

Python, unittests, requests and timeouts

Want to test timeout handling of your code?

# vim: set fileencoding=utf-8 shiftwidth=4 tabstop=4 expandtab textwidth=78:

import requests

if __name__ == '__main__':
    exit( main() )

# test by running 'python3 -m unittest'
import unittest
import unittest.mock as mock

class Test(unittest.TestCase):
    def test_one( self ):
	self.assertFalse( False )

    @mock.patch( 'requests.get', side_effect=requests.exceptions.Timeout() )
    def test_timeout( self, mock_get ):
	with self.assertRaises( requests.exceptions.Timeout ):

	self.assertTrue( True )

Jenkins, Kerberos and curl

Want to use curl to talk to a kerberos enabled jenkins?

set -o errexit -o errtrace -o nounset -o pipefail

cleanup() {
	[ -n "${COOKIES-}" ] && unlink "${COOKIES}"

trap cleanup EXIT

export COOKIES=$( mktemp )


curl -c "$COOKIES" --negotiate -u : https://$HOST/login -I

export CURL="curl -b $COOKIES -c $COOKIES"
export URL="https://$HOST"
echo "I: spawing shell with session cookie for '$HOST'"
echo 'I: cookie jar available via $CURL: '$CURL
echo 'I: hostname via $URL: '$URL

ldd and untrusted code

man ldd says:

[…] you should never employ ldd on an untrusted executable, since this may result in the execution of arbitrary code.

This also works

LD_TRACE_LOADED_OBJECTS=1 ld /bin/ls (0x00007ffc3779a000) => /lib/x86_64-linux-gnu/ (0x00007f79de56c000) => /lib/x86_64-linux-gnu/ (0x00007f79de54b000) => /lib/x86_64-linux-gnu/ (0x00007f79de545000) => /lib/x86_64-linux-gnu/ (0x00007f79de371000) => /lib/x86_64-linux-gnu/ (0x00007f79de354000)
	/lib64/ (0x00007f79de6f5000)

SteamOS, HDMI and no sound

No sound from your TV connected via HDMI to a SteamOS machine? Can’t select the HDMI soundcard?

Switch to Desktop Mode, go to Settings, then Sound, select HDMI, play test sound, exit.

Now there is sound in SteamOS.

Xfce and volume step

Does your Xfce change the volume settings in %5 steps but you want 2%?

Find the pulsaudio plugin location in xconf:

xfconf-query -c xfce4-panel -l -v | grep pulseaudio
/plugins/plugin-8                            pulseaudio

Use that to set the step to 2%:

xfconf-query -c xfce4-panel -p /plugins/plugin-8/volume-step -n -t int -s 2