underground-software / singularity

KDLP: Beyond the event horizon
https://kdlp.underground.software
GNU General Public License v3.0
0 stars 0 forks source link

Use environment variables to avoid duplicate compose files #77

Closed charliemirabile closed 3 months ago

charliemirabile commented 3 months ago

finally there is one true container-compose.yml

Podman compose uses the wrong order of precedence for the evironment variables so I had to add one more commit to fix that. Make sure to pull again to get the latest commit if you want to test with non localhost / in dev versions.

theyoyojo commented 3 months ago

This PR breaks the tests:

./test.sh
+ trap : EXIT
+ DOCKER=podman
+ require curl
+ command -v curl
+ require podman
+ command -v podman
+ ./script-lint.sh
+ shellcheck script-lint.sh
+ shellcheck test.sh
+ shellcheck orbit/test-style.sh
+ shellcheck orbit/warpdrive.sh
+ pushd orbit
~/src/singularity/orbit ~/src/singularity
+ ./test-style.sh
+ flake8 radius.py
+ flake8 config.py
+ flake8 db.py
+ flake8 hyperspace.py
+ popd
~/src/singularity
+ mkdir -p test
+ rm -f test/ca_cert.pem test/email_orig.tar test/orbit_orig.tar test/register_fail_no_user
+ DEVEL=
+ STAGING=
+ EMAIL_HOSTNAME=kdlp.underground.software
+ '[' -n '' ']'
+ '[' -n '' ']'
+ podman cp singularity_nginx_1:/etc/ssl/nginx/fullchain.pem test/ca_cert.pem
+ podman volume export singularity_email
+ nuke_mail
+ podman run --rm -v singularity_email:/mnt alpine:3.19 sh -c 'rm -f /mnt/mail/* /mnt/logs/*'
+ add_cleanup 'podman volume import singularity_email test/email_orig.tar'
++ printf '%s\n' 'podman volume import singularity_email test/email_orig.tar'
+++ trap -p EXIT
++ eval 'get_stack trap -- '\'':'\'' EXIT'
+++ get_stack trap -- : EXIT
+++ printf '%s\n' :
+ trap -- 'podman volume import singularity_email test/email_orig.tar
:' EXIT
+ CURL_OPTS=(--verbose --cacert test/ca_cert.pem --fail --no-progress-meter)
+ podman volume export singularity_orbit-db
+ xxd -r
+ gunzip
+ podman volume import singularity_orbit-db -
+ add_cleanup 'podman volume import singularity_orbit-db test/orbit_orig.tar'
++ printf '%s\n' 'podman volume import singularity_orbit-db test/orbit_orig.tar'
+++ trap -p EXIT
++ eval 'get_stack trap -- '\''podman volume import singularity_email test/email_orig.tar
:'\'' EXIT'
+++ get_stack trap -- 'podman volume import singularity_email test/email_orig.tar
:' EXIT
+++ printf '%s\n' 'podman volume import singularity_email test/email_orig.tar
:'
+ trap -- 'podman volume import singularity_orbit-db test/orbit_orig.tar
podman volume import singularity_email test/email_orig.tar
:' EXIT
+ curl --url https://kdlp.underground.software/register --unix-socket ./socks/https.sock --verbose --cacert test/ca_cert.pem --fail --no-progress-meter --data student_id=1234
+ tee test/register_fail_no_user
+ grep 'msg = no such student'
* processing: https://kdlp.underground.software/register
*   Trying ./socks/https.sock:0...
* Connected to kdlp.underground.software (/run/nginx/socks/https.sock) port 443
* ALPN: offers h2,http/1.1
} [5 bytes data]
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [512 bytes data]
*  CAfile: test/ca_cert.pem
*  CApath: none
{ [5 bytes data]
* TLSv1.3 (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
{ [25 bytes data]
* TLSv1.3 (IN), TLS handshake, Certificate (11):
{ [1340 bytes data]
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
{ [520 bytes data]
* TLSv1.3 (IN), TLS handshake, Finished (20):
{ [52 bytes data]
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
} [1 bytes data]
* TLSv1.3 (OUT), TLS handshake, Finished (20):
} [52 bytes data]
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN: server accepted http/1.1
* Server certificate:
*  subject: CN=kdlp.underground.software
*  start date: Apr  1 22:15:48 2024 GMT
*  expire date: Apr 25 22:15:48 2389 GMT
*  common name: kdlp.underground.software (matched)
*  issuer: CN=kdlp.underground.software
*  SSL certificate verify ok.
* using HTTP/1.1
} [5 bytes data]
> POST /register HTTP/1.1
> Host: kdlp.underground.software
> User-Agent: curl/8.2.1
> Accept: */*
> Content-Length: 15
> Content-Type: application/x-www-form-urlencoded
>
} [15 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [57 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [57 bytes data]
* old SSL session ID is stale, removing
{ [5 bytes data]
< HTTP/1.1 200 OK
< Server: nginx
< Date: Tue, 02 Apr 2024 02:08:16 GMT
< Content-Type: text/html
< Transfer-Encoding: chunked
< Connection: keep-alive
< Set-Cookie: auth=
< Set-Cookie: auth=
<
{ [1177 bytes data]
* Connection #0 to host kdlp.underground.software left intact
        <code>msg = no such student</code><br>
+ curl --url https://kdlp.underground.software/login --unix-socket ./socks/https.sock --verbose --cacert test/ca_cert.pem --fail --no-progress-meter --data 'username=user&password=pass'
+ tee test/login_fail_no_user
+ grep 'msg = authentication failure'
* processing: https://kdlp.underground.software/login
*   Trying ./socks/https.sock:0...
* Connected to kdlp.underground.software (/run/nginx/socks/https.sock) port 443
* ALPN: offers h2,http/1.1
} [5 bytes data]
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [512 bytes data]
*  CAfile: test/ca_cert.pem
*  CApath: none
{ [5 bytes data]
* TLSv1.3 (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
{ [25 bytes data]
* TLSv1.3 (IN), TLS handshake, Certificate (11):
{ [1340 bytes data]
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
{ [520 bytes data]
* TLSv1.3 (IN), TLS handshake, Finished (20):
{ [52 bytes data]
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
} [1 bytes data]
* TLSv1.3 (OUT), TLS handshake, Finished (20):
} [52 bytes data]
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN: server accepted http/1.1
* Server certificate:
*  subject: CN=kdlp.underground.software
*  start date: Apr  1 22:15:48 2024 GMT
*  expire date: Apr 25 22:15:48 2389 GMT
*  common name: kdlp.underground.software (matched)
*  issuer: CN=kdlp.underground.software
*  SSL certificate verify ok.
* using HTTP/1.1
} [5 bytes data]
> POST /login HTTP/1.1
> Host: kdlp.underground.software
> User-Agent: curl/8.2.1
> Accept: */*
> Content-Length: 27
> Content-Type: application/x-www-form-urlencoded
>
} [27 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [57 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [57 bytes data]
* old SSL session ID is stale, removing
{ [5 bytes data]
< HTTP/1.1 200 OK
< Server: nginx
< Date: Tue, 02 Apr 2024 02:08:16 GMT
< Content-Type: text/html
< Transfer-Encoding: chunked
< Connection: keep-alive
< Set-Cookie: auth=
< Set-Cookie: auth=
< Set-Cookie: auth=
< Set-Cookie: auth=
<
{ [1382 bytes data]
* Connection #0 to host kdlp.underground.software left intact
        <code>msg = authentication failure</code><br>
+ orbit/warpdrive.sh -u user -p pass -i 1234 -n
+ tee test/create_user
+ grep 'credentials(username: user, password:pass)'
credentials(username: user, password:pass)
+ add_cleanup 'orbit/warpdrive.sh   -u user -w   | tee test/delete_user   | grep '\''user'\'''
++ printf '%s\n' 'orbit/warpdrive.sh   -u user -w   | tee test/delete_user   | grep '\''user'\'''
+++ trap -p EXIT
++ eval 'get_stack trap -- '\''podman volume import singularity_orbit-db test/orbit_orig.tar
podman volume import singularity_email test/email_orig.tar
:'\'' EXIT'
+++ get_stack trap -- 'podman volume import singularity_orbit-db test/orbit_orig.tar
podman volume import singularity_email test/email_orig.tar
:' EXIT
+++ printf '%s\n' 'podman volume import singularity_orbit-db test/orbit_orig.tar
podman volume import singularity_email test/email_orig.tar
:'
+ trap -- 'orbit/warpdrive.sh   -u user -w   | tee test/delete_user   | grep '\''user'\''
podman volume import singularity_orbit-db test/orbit_orig.tar
podman volume import singularity_email test/email_orig.tar
:' EXIT
+ tee test/register_fail_wrong
+ curl --url https://kdlp.underground.software/register --unix-socket ./socks/https.sock --verbose --cacert test/ca_cert.pem --fail --no-progress-meter --data student_id=123
+ grep 'msg = no such student'
* processing: https://kdlp.underground.software/register
*   Trying ./socks/https.sock:0...
* Connected to kdlp.underground.software (/run/nginx/socks/https.sock) port 443
* ALPN: offers h2,http/1.1
} [5 bytes data]
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [512 bytes data]
*  CAfile: test/ca_cert.pem
*  CApath: none
{ [5 bytes data]
* TLSv1.3 (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
{ [25 bytes data]
* TLSv1.3 (IN), TLS handshake, Certificate (11):
{ [1340 bytes data]
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
{ [520 bytes data]
* TLSv1.3 (IN), TLS handshake, Finished (20):
{ [52 bytes data]
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
} [1 bytes data]
* TLSv1.3 (OUT), TLS handshake, Finished (20):
} [52 bytes data]
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN: server accepted http/1.1
* Server certificate:
*  subject: CN=kdlp.underground.software
*  start date: Apr  1 22:15:48 2024 GMT
*  expire date: Apr 25 22:15:48 2389 GMT
*  common name: kdlp.underground.software (matched)
*  issuer: CN=kdlp.underground.software
*  SSL certificate verify ok.
* using HTTP/1.1
} [5 bytes data]
> POST /register HTTP/1.1
> Host: kdlp.underground.software
> User-Agent: curl/8.2.1
> Accept: */*
> Content-Length: 14
> Content-Type: application/x-www-form-urlencoded
>
} [14 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [57 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [57 bytes data]
* old SSL session ID is stale, removing
{ [5 bytes data]
< HTTP/1.1 200 OK
< Server: nginx
< Date: Tue, 02 Apr 2024 02:08:16 GMT
< Content-Type: text/html
< Transfer-Encoding: chunked
< Connection: keep-alive
< Set-Cookie: auth=
< Set-Cookie: auth=
<
{ [1177 bytes data]
* Connection #0 to host kdlp.underground.software left intact
        <code>msg = no such student</code><br>
+ curl --url https://kdlp.underground.software/register --unix-socket ./socks/https.sock --verbose --cacert test/ca_cert.pem --fail --no-progress-meter --data student_id=1234
+ tee test/register_success
+ grep 'msg = welcome to the classroom'
* processing: https://kdlp.underground.software/register
*   Trying ./socks/https.sock:0...
* Connected to kdlp.underground.software (/run/nginx/socks/https.sock) port 443
* ALPN: offers h2,http/1.1
} [5 bytes data]
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [512 bytes data]
*  CAfile: test/ca_cert.pem
*  CApath: none
{ [5 bytes data]
* TLSv1.3 (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
{ [25 bytes data]
* TLSv1.3 (IN), TLS handshake, Certificate (11):
{ [1340 bytes data]
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
{ [520 bytes data]
* TLSv1.3 (IN), TLS handshake, Finished (20):
{ [52 bytes data]
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
} [1 bytes data]
* TLSv1.3 (OUT), TLS handshake, Finished (20):
} [52 bytes data]
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN: server accepted http/1.1
* Server certificate:
*  subject: CN=kdlp.underground.software
*  start date: Apr  1 22:15:48 2024 GMT
*  expire date: Apr 25 22:15:48 2389 GMT
*  common name: kdlp.underground.software (matched)
*  issuer: CN=kdlp.underground.software
*  SSL certificate verify ok.
* using HTTP/1.1
} [5 bytes data]
> POST /register HTTP/1.1
> Host: kdlp.underground.software
> User-Agent: curl/8.2.1
> Accept: */*
> Content-Length: 15
> Content-Type: application/x-www-form-urlencoded
>
} [15 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [57 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [57 bytes data]
* old SSL session ID is stale, removing
{ [5 bytes data]
< HTTP/1.1 200 OK
< Server: nginx
< Date: Tue, 02 Apr 2024 02:08:16 GMT
< Content-Type: text/html
< Transfer-Encoding: chunked
< Connection: keep-alive
< Set-Cookie: auth=
< Set-Cookie: auth=
<
{ [1087 bytes data]
* Connection #0 to host kdlp.underground.software left intact
        <code>msg = welcome to the classroom</code><br>
+ curl --url https://kdlp.underground.software/register --unix-socket ./socks/https.sock --verbose --cacert test/ca_cert.pem --fail --no-progress-meter --data student_id=1234
+ tee test/register_fail_duplicate
+ grep 'msg = no such student'
* processing: https://kdlp.underground.software/register
*   Trying ./socks/https.sock:0...
* Connected to kdlp.underground.software (/run/nginx/socks/https.sock) port 443
* ALPN: offers h2,http/1.1
} [5 bytes data]
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [512 bytes data]
*  CAfile: test/ca_cert.pem
*  CApath: none
{ [5 bytes data]
* TLSv1.3 (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
{ [25 bytes data]
* TLSv1.3 (IN), TLS handshake, Certificate (11):
{ [1340 bytes data]
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
{ [520 bytes data]
* TLSv1.3 (IN), TLS handshake, Finished (20):
{ [52 bytes data]
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
} [1 bytes data]
* TLSv1.3 (OUT), TLS handshake, Finished (20):
} [52 bytes data]
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN: server accepted http/1.1
* Server certificate:
*  subject: CN=kdlp.underground.software
*  start date: Apr  1 22:15:48 2024 GMT
*  expire date: Apr 25 22:15:48 2389 GMT
*  common name: kdlp.underground.software (matched)
*  issuer: CN=kdlp.underground.software
*  SSL certificate verify ok.
* using HTTP/1.1
} [5 bytes data]
> POST /register HTTP/1.1
> Host: kdlp.underground.software
> User-Agent: curl/8.2.1
> Accept: */*
> Content-Length: 15
> Content-Type: application/x-www-form-urlencoded
>
} [15 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [57 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [57 bytes data]
* old SSL session ID is stale, removing
{ [5 bytes data]
< HTTP/1.1 200 OK
< Server: nginx
< Date: Tue, 02 Apr 2024 02:08:16 GMT
< Content-Type: text/html
< Transfer-Encoding: chunked
< Connection: keep-alive
< Set-Cookie: auth=
< Set-Cookie: auth=
<
{ [1177 bytes data]
* Connection #0 to host kdlp.underground.software left intact
        <code>msg = no such student</code><br>
+ curl --url https://kdlp.underground.software/login --unix-socket ./socks/https.sock --verbose --cacert test/ca_cert.pem --fail --no-progress-meter --data 'username=user&password=invalid'
+ tee test/login_fail_invalid
+ grep 'msg = authentication failure'
* processing: https://kdlp.underground.software/login
*   Trying ./socks/https.sock:0...
* Connected to kdlp.underground.software (/run/nginx/socks/https.sock) port 443
* ALPN: offers h2,http/1.1
} [5 bytes data]
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [512 bytes data]
*  CAfile: test/ca_cert.pem
*  CApath: none
{ [5 bytes data]
* TLSv1.3 (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
{ [25 bytes data]
* TLSv1.3 (IN), TLS handshake, Certificate (11):
{ [1340 bytes data]
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
{ [520 bytes data]
* TLSv1.3 (IN), TLS handshake, Finished (20):
{ [52 bytes data]
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
} [1 bytes data]
* TLSv1.3 (OUT), TLS handshake, Finished (20):
} [52 bytes data]
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN: server accepted http/1.1
* Server certificate:
*  subject: CN=kdlp.underground.software
*  start date: Apr  1 22:15:48 2024 GMT
*  expire date: Apr 25 22:15:48 2389 GMT
*  common name: kdlp.underground.software (matched)
*  issuer: CN=kdlp.underground.software
*  SSL certificate verify ok.
* using HTTP/1.1
} [5 bytes data]
> POST /login HTTP/1.1
> Host: kdlp.underground.software
> User-Agent: curl/8.2.1
> Accept: */*
> Content-Length: 30
> Content-Type: application/x-www-form-urlencoded
>
} [30 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [57 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [57 bytes data]
* old SSL session ID is stale, removing
{ [5 bytes data]
< HTTP/1.1 200 OK
< Server: nginx
< Date: Tue, 02 Apr 2024 02:08:17 GMT
< Content-Type: text/html
< Transfer-Encoding: chunked
< Connection: keep-alive
< Set-Cookie: auth=
< Set-Cookie: auth=
< Set-Cookie: auth=
< Set-Cookie: auth=
<
{ [1382 bytes data]
* Connection #0 to host kdlp.underground.software left intact
        <code>msg = authentication failure</code><br>
+ curl --url https://kdlp.underground.software/login --unix-socket ./socks/https.sock --verbose --cacert test/ca_cert.pem --fail --no-progress-meter --data 'username=user&password=pass'
+ tee test/login_success
+ grep 'msg = user authenticated by password'
* processing: https://kdlp.underground.software/login
*   Trying ./socks/https.sock:0...
* Connected to kdlp.underground.software (/run/nginx/socks/https.sock) port 443
* ALPN: offers h2,http/1.1
} [5 bytes data]
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [512 bytes data]
*  CAfile: test/ca_cert.pem
*  CApath: none
{ [5 bytes data]
* TLSv1.3 (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
{ [25 bytes data]
* TLSv1.3 (IN), TLS handshake, Certificate (11):
{ [1340 bytes data]
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
{ [520 bytes data]
* TLSv1.3 (IN), TLS handshake, Finished (20):
{ [52 bytes data]
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
} [1 bytes data]
* TLSv1.3 (OUT), TLS handshake, Finished (20):
} [52 bytes data]
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN: server accepted http/1.1
* Server certificate:
*  subject: CN=kdlp.underground.software
*  start date: Apr  1 22:15:48 2024 GMT
*  expire date: Apr 25 22:15:48 2389 GMT
*  common name: kdlp.underground.software (matched)
*  issuer: CN=kdlp.underground.software
*  SSL certificate verify ok.
* using HTTP/1.1
} [5 bytes data]
> POST /login HTTP/1.1
> Host: kdlp.underground.software
> User-Agent: curl/8.2.1
> Accept: */*
> Content-Length: 27
> Content-Type: application/x-www-form-urlencoded
>
} [27 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [57 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [57 bytes data]
* old SSL session ID is stale, removing
{ [5 bytes data]
< HTTP/1.1 200 OK
< Server: nginx
< Date: Tue, 02 Apr 2024 02:08:17 GMT
< Content-Type: text/html
< Transfer-Encoding: chunked
< Connection: keep-alive
< Set-Cookie: auth=
< Set-Cookie: auth=f7d1a480ddb5d13c5a42d4f50467571abc91786fab53dd2ca670d8228a1f9d4b; Expires=Tue, 02 Apr 2024 05:08:17 GMT; Max-Age=10800; Path=/
<
{ [1650 bytes data]
* Connection #0 to host kdlp.underground.software left intact
        <code>msg = user authenticated by password</code><br>
+ curl --url pop3s://kdlp.underground.software --unix-socket ./socks/pop3s.sock --verbose --cacert test/ca_cert.pem --fail --no-progress-meter --user user:pass
+ tee test/pop_get_empty
+ diff /dev/fd/62 /dev/stdin
++ printf '\r\n'
* processing: pop3s://kdlp.underground.software
*   Trying ./socks/pop3s.sock:0...
* Connected to kdlp.underground.software (/run/nginx/socks/pop3s.sock) port 995
} [5 bytes data]
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [512 bytes data]
*  CAfile: test/ca_cert.pem
*  CApath: none
{ [5 bytes data]
* TLSv1.3 (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
{ [6 bytes data]
* TLSv1.3 (IN), TLS handshake, Certificate (11):
{ [1340 bytes data]
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
{ [520 bytes data]
* TLSv1.3 (IN), TLS handshake, Finished (20):
{ [52 bytes data]
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
} [1 bytes data]
* TLSv1.3 (OUT), TLS handshake, Finished (20):
} [52 bytes data]
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* Server certificate:
*  subject: CN=kdlp.underground.software
*  start date: Apr  1 22:15:48 2024 GMT
*  expire date: Apr 25 22:15:48 2389 GMT
*  common name: kdlp.underground.software (matched)
*  issuer: CN=kdlp.underground.software
*  SSL certificate verify ok.
{ [5 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [57 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [57 bytes data]
* old SSL session ID is stale, removing
{ [5 bytes data]
< +OK POP3 ready
} [5 bytes data]
> CAPA
{ [5 bytes data]
< +OK Capability list follows
< TOP
< USER
< UIDL
< SASL PLAIN LOGIN
< .
} [5 bytes data]
> AUTH PLAIN
{ [5 bytes data]
< +
} [5 bytes data]
> AHVzZXIAcGFzcw==
{ [5 bytes data]
< +OK got username
} [5 bytes data]
> LIST
{ [5 bytes data]
< +OK maildrop follows
{ [5 bytes data]
* Connection #0 to host kdlp.underground.software left intact
++ printf '\r'
+ CR=$'\r'
+ curl --url smtps://kdlp.underground.software --unix-socket ./socks/smtps.sock --verbose --cacert test/ca_cert.pem --fail --no-progress-meter --mail-from user@kdlp.underground.software --mail-rcpt other@kdlp.underground.software --upload-file - --user user:pass
+ diff /dev/fd/62 /dev/stdin
+ tee test/smtp_send_email
++ printf ''
* processing: smtps://kdlp.underground.software
*   Trying ./socks/smtps.sock:0...
* Connected to kdlp.underground.software (/run/nginx/socks/smtps.sock) port 465
} [5 bytes data]
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [512 bytes data]
*  CAfile: test/ca_cert.pem
*  CApath: none
{ [5 bytes data]
* TLSv1.3 (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
{ [6 bytes data]
* TLSv1.3 (IN), TLS handshake, Certificate (11):
{ [1340 bytes data]
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
{ [520 bytes data]
* TLSv1.3 (IN), TLS handshake, Finished (20):
{ [52 bytes data]
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
} [1 bytes data]
* TLSv1.3 (OUT), TLS handshake, Finished (20):
} [52 bytes data]
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* Server certificate:
*  subject: CN=kdlp.underground.software
*  start date: Apr  1 22:15:48 2024 GMT
*  expire date: Apr 25 22:15:48 2389 GMT
*  common name: kdlp.underground.software (matched)
*  issuer: CN=kdlp.underground.software
*  SSL certificate verify ok.
{ [5 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [57 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [57 bytes data]
* old SSL session ID is stale, removing
{ [5 bytes data]
< 220 localhost ESMTP ready
} [5 bytes data]
> EHLO fedora
{ [5 bytes data]
< 250-localhost
< 250 AUTH PLAIN LOGIN
} [5 bytes data]
> AUTH PLAIN
{ [5 bytes data]
< 334
} [5 bytes data]
> AHVzZXIAcGFzcw==
{ [5 bytes data]
< 235 2.0.0 OK
} [5 bytes data]
> MAIL FROM:<user@kdlp.underground.software>
{ [5 bytes data]
< 550 Not authorized to send mail as that user
* MAIL failed: 550
} [5 bytes data]
> QUIT
{ [5 bytes data]
< 221 Goodbye
* Closing connection
} [5 bytes data]
* TLSv1.3 (OUT), TLS alert, close notify (256):
} [2 bytes data]
curl: (55) MAIL failed: 550
+ orbit/warpdrive.sh -u user -w
+ tee test/delete_user
+ grep user
user
+ podman volume import singularity_orbit-db test/orbit_orig.tar
+ podman volume import singularity_email test/email_orig.tar
+ :