Files
podman/test/apiv2/60-auth.at
Valentin Rothberg b4cfc727be api: auth: fix nil deref
By pulling in the fixes from c/common.  Add regression tests to make
sure it's not happening another time.  The error messages are not
ideal and should probably be optimized in the `/auth` endpoints directly
but it's already an improvement over a nil deref.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2023-04-12 11:27:35 +02:00

42 lines
1.3 KiB
Bash

# -*- sh -*-
#
# registry-related tests
#
start_registry htpasswd
# Test unreachable
t POST /v1.40/auth username=$REGISTRY_USERNAME password=WrOnGPassWord serveraddress=does.not.exist.io:1234/ \
500 \
.message~'.*no such host.*'
# Test with wrong password. Confirm bad status and appropriate error message
t POST /v1.40/auth username=$REGISTRY_USERNAME password=WrOnGPassWord serveraddress=localhost:$REGISTRY_PORT/ \
500 \
.message~'.* 401 Unauthorized'
# Test with the right password. Confirm status message
t POST /v1.40/auth username=$REGISTRY_USERNAME password=$REGISTRY_PASSWORD serveraddress=localhost:$REGISTRY_PORT/ \
200 \
.Status="Login Succeeded" \
.IdentityToken=""
# Same test with url scheme provided
t POST /v1.40/auth username=$REGISTRY_USERNAME password=$REGISTRY_PASSWORD serveraddress=https://localhost:$REGISTRY_PORT/ \
200 \
.Status="Login Succeeded" \
.IdentityToken=""
# No username -> error
t POST /v1.40/auth password=$REGISTRY_PASSWORD serveraddress=localhost:$REGISTRY_PORT/ \
500 \
.message~'.* cannot prompt for username without stdin'
# No password -> error
t POST /v1.40/auth username=$REGISTRY_USERNAME serveraddress=https://localhost:$REGISTRY_PORT/ \
500 \
.message~'.* reading password: inappropriate ioctl for device'
stop_registry