diff options
author | ruff <me@ruff.mobi> | 2020-11-27 20:39:10 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-27 20:39:10 +0100 |
commit | c88008d5faac4efc3e679f279caaeadce46629cf (patch) | |
tree | b18c1cd904a9d3fe589671d1a407463a853d55a1 | |
parent | ba6f20086999f2d7d7dafa75c77552a06f5e7d5b (diff) | |
parent | f35be864471bba3e9ba98f82dd6e1805ea902db8 (diff) | |
download | wocky-c88008d5faac4efc3e679f279caaeadce46629cf.tar.gz |
Merge pull request #18 from rufferson/ci
Add CI pipeline for code verification
31 files changed, 649 insertions, 290 deletions
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..2b5457b --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,51 @@ +name: Simple CI +on: + push: + pull_request: + +jobs: + syntax_check: + runs-on: ubuntu-latest + timeout-minutes: 5 + steps: + - uses: actions/checkout@v2 + - name: Install prereqs + run: |- + sudo apt-get update && sudo apt-get install --no-install-recommends -qq -y build-essential \ + ccache automake libtool libglib2.0-dev glib-networking telepathy-gabble libsasl2-dev \ + libxml2-dev libsoup2.4-dev libsasl2-modules-gssapi-mit gnutls-bin libsqlite3-dev \ + libssl-dev libgnutls28-dev + - name: Bootstrap + run: bash autogen.sh + - name: Code Syntax Check + run: make -C wocky check-local + - name: Test Syntax Check + run: make -C tests check-coding-style + + build: + runs-on: ubuntu-latest + timeout-minutes: 10 + steps: + - uses: actions/checkout@v2 + - uses: actions/cache@v2 + with: + path: wocky/.libs + key: ${{ github.sha }} + - name: Install prereqs + run: |- + sudo apt-get update && sudo apt-get install --no-install-recommends -qq -y build-essential \ + ccache automake libtool libglib2.0-dev glib-networking telepathy-gabble libsasl2-dev \ + libxml2-dev libsoup2.4-dev libsasl2-modules-gssapi-mit gnutls-bin libsqlite3-dev \ + libssl-dev libgnutls28-dev + - name: Bootstrap + run: bash autogen.sh + - name: Build + run: make + - name: Run TLSv1.3 test + run: make -C tests test-new + - name: Artifacts + uses: actions/upload-artifact@v2 + with: + name: Reports + path: tests/test*report.xml + diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..174e9ae --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,84 @@ +stages: + - style-check + - build + - test + +variables: + FEDORA_IMG: registry.freedesktop.org/ruff/wocky/master:v1 + DEBIAN_IMG: registry.freedesktop.org/ruff/wocky/debtest:v1 + DEBSTB_IMG: registry.freedesktop.org/ruff/wocky/debstbl:v1 + SUSELP_IMG: registry.freedesktop.org/ruff/wocky/osuselp:v1 + SUSETW_IMG: registry.freedesktop.org/ruff/wocky/osusetw:v1 + WOCKY_DEBUG: all + #G_MESSAGES_DEBUG: all + +.default: + before_script: + - bash autogen.sh + cache: + key: "$CI_JOB_IMAGE:$CI_COMMIT_SHA" + untracked: true + +.defbuild: + extends: .default + stage: build + script: + - make + +.deftest: + extends: .default + stage: test + script: + - make check + artifacts: + when: always + paths: + - "tests/test-old-report.xml" + - "tests/test-new-report.xml" + +style-check: + image: $FEDORA_IMG + extends: .default + stage: style-check + script: + - make -C wocky check-local + +fedora-x86_64-build: + image: $FEDORA_IMG + extends: .defbuild + +fedora-x86_64-test: + image: $FEDORA_IMG + extends: .deftest + +debian-x86_64-build: + image: $DEBIAN_IMG + extends: .defbuild + +debian-x86_64-test: + image: $DEBIAN_IMG + extends: .deftest + +opensuse-x86_64-build: + image: $SUSETW_IMG + extends: .defbuild + +opensuse-x86_64-test: + image: $SUSETW_IMG + extends: .deftest + +debian-stable-x86_64-build: + image: $DEBSTB_IMG + extends: .defbuild + +debian-stable-x86_64-test: + image: $DEBSTB_IMG + extends: .deftest + +opensuse-stable-x86_64-build: + image: $SUSELP_IMG + extends: .defbuild + +opensuse-stable-x86_64-test: + image: $SUSELP_IMG + extends: .deftest diff --git a/.gitlab-ci/Dockerfile.debstbl b/.gitlab-ci/Dockerfile.debstbl new file mode 100644 index 0000000..b114a19 --- /dev/null +++ b/.gitlab-ci/Dockerfile.debstbl @@ -0,0 +1,29 @@ +FROM debian:stable + +RUN apt-get update \ + && apt-get install --no-install-recommends -qq -y build-essential \ + ccache automake libtool lcov \ + libglib2.0-dev glib-networking \ + && apt-get clean + +RUN apt-get install -qqy telepathy-gabble libsasl2-dev libxml2-dev \ + libsoup2.4-dev libsasl2-modules-gssapi-mit \ + gnutls-bin libsqlite3-dev libssl-dev libgnutls28-dev \ + && apt-get clean + +# Debug the docker if required +#RUN echo 'deb http://debug.mirrors.debian.org/debian-debug testing-debug main' > /etc/apt/sources.list.d/debug.list \ +# && apt-get update \ +# && apt-get install -yqq libsasl2-modules-gssapi-mit-dbgsym libsasl2-2-dbgsym \ +# libglib2.0-0-dbgsym glib-networking-dbgsym libssl1.1-dbgsym libgnutls30-dbgsym \ +# valgrind gdb git vim + +ARG HOST_USER_ID=1000 +ENV HOST_USER_ID ${HOST_USER_ID} +RUN useradd -u $HOST_USER_ID -ms /bin/bash user +RUN ln -fs /usr/bin/python3 /usr/local/bin/python + +USER user +WORKDIR /home/user + +ENV LANG C.UTF-8 diff --git a/.gitlab-ci/Dockerfile.debtest b/.gitlab-ci/Dockerfile.debtest new file mode 100644 index 0000000..700a633 --- /dev/null +++ b/.gitlab-ci/Dockerfile.debtest @@ -0,0 +1,29 @@ +FROM debian:testing + +RUN apt-get update \ + && apt-get install --no-install-recommends -qq -y build-essential \ + ccache automake libtool lcov \ + libglib2.0-dev glib-networking \ + && apt-get clean + +RUN apt-get install -qqy telepathy-gabble libsasl2-dev libxml2-dev \ + libsoup2.4-dev libsasl2-modules-gssapi-mit \ + gnutls-bin libsqlite3-dev libssl-dev libgnutls28-dev \ + && apt-get clean + +# Debug the docker if required +#RUN echo 'deb http://debug.mirrors.debian.org/debian-debug testing-debug main' > /etc/apt/sources.list.d/debug.list \ +# && apt-get update \ +# && apt-get install -yqq libsasl2-modules-gssapi-mit-dbgsym libsasl2-2-dbgsym \ +# libglib2.0-0-dbgsym glib-networking-dbgsym libssl1.1-dbgsym libgnutls30-dbgsym \ +# valgrind gdb git vim + +ARG HOST_USER_ID=1000 +ENV HOST_USER_ID ${HOST_USER_ID} +RUN useradd -u $HOST_USER_ID -ms /bin/bash user +RUN ln -fs /usr/bin/python3 /usr/local/bin/python + +USER user +WORKDIR /home/user + +ENV LANG C.UTF-8 diff --git a/.gitlab-ci/Dockerfile.fedora b/.gitlab-ci/Dockerfile.fedora new file mode 100644 index 0000000..173b9a2 --- /dev/null +++ b/.gitlab-ci/Dockerfile.fedora @@ -0,0 +1,27 @@ +FROM fedora:rawhide + +RUN dnf update -y \ + && dnf install -y 'dnf-command(builddep)' \ + && dnf builddep -y glib-networking \ + && dnf install -y openssl-devel \ + && dnf clean all +RUN dnf builddep -y telepathy-gabble \ + && dnf install -y autoconf automake make \ + openssl-devel gnutls-utils \ + cyrus-sasl-scram cyrus-sasl-md5 cyrus-sasl-plain \ + && dnf clean all + +# Debug the docker if required +#RUN dnf install -y valgrind gdb git \ +# && dnf debuginfo-install -y cyrus-sasl cyrus-sasl-scram \ +# glib glib-networking openssl gnutls + +ARG HOST_USER_ID=1000 +ENV HOST_USER_ID ${HOST_USER_ID} +RUN useradd -u $HOST_USER_ID -ms /bin/bash user +RUN ln -fs /usr/bin/python3 /usr/local/bin/python + +USER user +WORKDIR /home/user + +ENV LANG C.UTF-8 diff --git a/.gitlab-ci/Dockerfile.osuselp b/.gitlab-ci/Dockerfile.osuselp new file mode 100644 index 0000000..6a54591 --- /dev/null +++ b/.gitlab-ci/Dockerfile.osuselp @@ -0,0 +1,24 @@ +FROM opensuse/leap:latest + +RUN zypper -q update -y \ + && zypper -q install -y -t pattern devel_basis \ + && zypper -q install -y ccache glib2-devel glib-networking \ + && zypper -q clean + +RUN zypper -q install -y telepathy-glib-devel telepathy-gabble \ + cyrus-sasl-devel cyrus-sasl-scram cyrus-sasl-plain cyrus-sasl-digestmd5 \ + libxml2-devel libsoup-devel gnutls sqlite3-devel \ + && zypper -q clean + +# Debug the docker if required +#RUN zypper install -y valgrind gdb git vim + +ARG HOST_USER_ID=1000 +ENV HOST_USER_ID ${HOST_USER_ID} +RUN useradd -u $HOST_USER_ID -ms /bin/bash user +RUN ln -fs /usr/bin/python3 /usr/local/bin/python + +USER user +WORKDIR /home/user + +ENV LANG C.UTF-8 diff --git a/.gitlab-ci/Dockerfile.osusetw b/.gitlab-ci/Dockerfile.osusetw new file mode 100644 index 0000000..becc5bc --- /dev/null +++ b/.gitlab-ci/Dockerfile.osusetw @@ -0,0 +1,24 @@ +FROM opensuse/tumbleweed:latest + +RUN zypper -q update -y \ + && zypper -q install -y -t pattern devel_basis \ + && zypper -q install -y ccache glib2-devel glib-networking \ + && zypper -q clean + +RUN zypper -q install -y telepathy-glib-devel telepathy-gabble \ + cyrus-sasl-devel cyrus-sasl-scram cyrus-sasl-plain cyrus-sasl-digestmd5 \ + libxml2-devel libsoup-devel gnutls sqlite3-devel \ + && zypper -q clean + +# Debug the docker if required +#RUN zypper install -y valgrind gdb git vim + +ARG HOST_USER_ID=1000 +ENV HOST_USER_ID ${HOST_USER_ID} +RUN useradd -u $HOST_USER_ID -ms /bin/bash user +RUN ln -fs /usr/bin/python3 /usr/local/bin/python + +USER user +WORKDIR /home/user + +ENV LANG C.UTF-8 diff --git a/tests/Makefile.am b/tests/Makefile.am index 85bd866..a3cc717 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -23,6 +23,8 @@ BADWILD_KEY := $(CERT_DIR)/badwild-key.pem BADWILD_CERT := $(CERT_DIR)/badwild-cert.pem CA_DIR := $(CERT_DIR)/cas CRL_DIR := $(CERT_DIR)/crl +UNKNOWN_CA_KEY := $(CERT_DIR)/unknown-ca-key.pem +UNKNOWN_CA_CERT := $(CERT_DIR)/unknown-ca-cert.pem UNKNOWN_KEY := $(CERT_DIR)/unknown-key.pem UNKNOWN_CERT := $(CERT_DIR)/unknown-cert.pem INCLUDES := -I$(top_builddir)/wocky @@ -51,13 +53,19 @@ TLSDEFS := -DTLS_CA_KEY_FILE='"$(CA_KEY)"' \ CA0S = $(BADWILD_CERT) $(WILD_CERT) $(TLS_CERT) $(NEW_CERT) $(EXP_CERT) $(REV_CERT) $(SS_CERT) $(INS_CERT) -certs: $(CA0S) +certs: $(CA0S) $(UNKNOWN_CERT) $(CA0S): $(CERT_DIR)/%-cert.pem: $(CERT_DIR)/%-cert.cfg $(CA_CERT) $(CA_KEY) certtool --generate-certificate --template $< --outfile $@ --load-privkey certs/$*-key.pem --load-ca-certificate $(CA_CERT) --load-ca-privkey $(CA_KEY) $(INS_CERT): $(CERT_DIR)/ins-cert.cfg $(INS_KEY) $(CA_CERT) $(CA_KEY) - certtool --generate-certificate --template $< --outfile $@ --load-privkey certs/$*-key.pem --load-ca-certificate $(CA_CERT) --load-ca-privkey $(CA_KEY) --hash SHA1 + certtool --generate-certificate --template $< --outfile $@ --load-privkey $(INS_KEY) --load-ca-certificate $(CA_CERT) --load-ca-privkey $(CA_KEY) --hash SHA1 + +$(UNKNOWN_CA_CERT): $(CERT_DIR)/unknown-ca-cert.cfg $(UNKNOWN_CA_KEY) + certtool --generate-self-signed --template $< --outfile $@ --load-privkey $(UNKNOWN_CA_KEY) + +$(UNKNOWN_CERT): $(CERT_DIR)/unknown-cert.cfg $(UNKNOWN_KEY) $(UNKNOWN_CA_CERT) $(UNKNOWN_CA_KEY) + certtool --generate-certificate --template $< --outfile $@ --load-privkey $(UNKNOWN_KEY) --load-ca-certificate $(UNKNOWN_CA_CERT) --load-ca-privkey $(UNKNOWN_CA_KEY) ############################################################################ TEST_PROGS = \ wocky-bare-contact-test \ @@ -261,15 +269,23 @@ test-report: test-report.xml test-report.xml: ${TEST_PROGS} test -test: ${TEST_PROGS} - G_TLS_GNUTLS_PRIORITY='NORMAL:%COMPAT:-VERS-TLS1.3' \ - gtester -o test-report.xml -k --verbose ${TEST_PROGS} +test: test-old test-new @if [ -x $(which python) ] ; then \ - $(SUMMARY) $@-report.xml ; \ + echo "TLSv1.2 Test summary" ; \ + $(SUMMARY) test-old-report.xml ; \ + echo "TLSv1.3 Test summary" ; \ + $(SUMMARY) test-new-report.xml ; \ else \ echo "No python available, not summarizing test results" ; \ fi +test-new: ${TEST_PROGS} + gtester -o $@-report.xml -k --verbose ${TEST_PROGS} + +test-old: ${TEST_PROGS} + G_TLS_GNUTLS_PRIORITY='NORMAL:%COMPAT:-VERS-TLS1.3' \ + gtester -o $@-report.xml -k --verbose ${TEST_PROGS} + test-%: wocky-%-test gtester -o $@-report.xml -k --verbose $< @if [ -x $(which python) ] ; then \ diff --git a/tests/certs/badwild-cert.cfg b/tests/certs/badwild-cert.cfg index 10637bc..66ad74a 100644 --- a/tests/certs/badwild-cert.cfg +++ b/tests/certs/badwild-cert.cfg @@ -66,7 +66,7 @@ tls_www_server # Whether this certificate will be used to sign data (needed # in TLS DHE ciphersuites). -#signing_key +signing_key # Whether this certificate will be used to encrypt data (needed # in TLS RSA ciphersuites). Note that it is prefered to use different diff --git a/tests/certs/badwild-cert.pem b/tests/certs/badwild-cert.pem index 5d845da..6f3f799 100644 --- a/tests/certs/badwild-cert.pem +++ b/tests/certs/badwild-cert.pem @@ -1,10 +1,10 @@ -----BEGIN CERTIFICATE----- -MIIEUzCCAzugAwIBAgIBAjANBgkqhkiG9w0BAQsFADBsMQswCQYDVQQGEwJVSzES +MIIEXTCCA0WgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBsMQswCQYDVQQGEwJVSzES MBAGA1UEChMJQ29sbGFib3JhMRkwFwYDVQQLExBXb2NreSBUZXN0IFN1aXRlMREw DwYDVQQIEwhDb25mdXNlZDEbMBkGA1UEAxMSV29ja3kgWE1QUCBMaWJyYXJ5MB4X -DTEyMDUwODE3MjMxNFoXDTQwMDUwMTE3MjMxNFowaTELMAkGA1UEBhMCVUsxEjAQ -BgNVBAoTCUNvbGxhYm9yYTEZMBcGA1UECxMQV29ja3kgVGVzdCBTdWl0ZTEOMAwG -A1UECBMFRGF6ZWQxGzAZBgNVBAMTEldvY2t5IFhNUFAgTGlicmFyeTCCAVIwDQYJ +DTIwMTExNDE3MTAwN1oXDTQ4MTEwNzE3MTAwN1owaTEbMBkGA1UEAxMSV29ja3kg +WE1QUCBMaWJyYXJ5MRkwFwYDVQQLExBXb2NreSBUZXN0IFN1aXRlMRIwEAYDVQQK +EwlDb2xsYWJvcmExDjAMBgNVBAgTBURhemVkMQswCQYDVQQGEwJVSzCCAVIwDQYJ KoZIhvcNAQEBBQADggE/ADCCAToCggExAKqugc6RDo23Xf4k7c6ZcWAcennYpZ56 DN4onsqvL7fu5oqorMSWuZnHB6YV74q+Fu0UDLXS9TE4+Vvn3eJrEh4VkcKLqoFs gflGhQS4eul4G1JERPQmux3JkyRNrsJECTncyqW5A82YpFh9SaHWaifxb6Y24G9u @@ -12,15 +12,15 @@ gflGhQS4eul4G1JERPQmux3JkyRNrsJECTncyqW5A82YpFh9SaHWaifxb6Y24G9u G9FH/4eX1JfmNT4VyoAwFjVTBw1228z2bnyt/MSFCVnbnYcNU381rYFjq6O9bzf9 Cfglb58AbwJnKIoaCn2AzavpMXYmEjt9vplZ3DQFBcC5/ysUWW22C2HjqSz0BcQ0 a3+qpql2gdr+tKAAactY7yC1HI095eMLRxMLN5aedImfAW8o/aVOBsUCAwEAAaOB -0jCBzzAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcD -ATAhBgNVHREEGjAYghAqZWFzZWwtanVpY2Uub3JnhwR/AAABMA8GA1UdDwEB/wQF -AwMHIAAwHQYDVR0OBBYEFAOsVIF450rphWkweqxR8bnRaBnmMB8GA1UdIwQYMBaA -FEkwJgiMmtZpzYvAzA5cAo5KH6aMMCwGA1UdHwQlMCMwIaAfoB2GG2ZpbGU6Ly8v -dG1wL3dvY2t5LXRlc3RzL2NybDANBgkqhkiG9w0BAQsFAAOCAQEAeJIQ1SZS3UQZ -1aBh3901WZhYozH38i7I7JclEQO0Kla2et289IAc2IiocEoeMjwE3bO+1xO4EF2N -zEgGzodaIsVGol9zlrRm9CXeYgRBPkgorebFWfEigIsLY3VjrhBhV3UnDTY7Hebr -tqdOX7Xa0DLud1AqGzNia2aon28qY05qu5RPgxfvpRUYnJJlT5tidSkbXJIuvbb0 -roFd+es4qgQU+ZiAc6DHpREcShxd+20JJVR9zvqeM7egP3tZPiFf8u6n3CsYKQ0p -be3NygY35lwc1VYxX/PMecslbsHQoa+ZWgd2+lcZ/81QD2JrmRo7nG3clsCbXodj -1c8cuflfhw== +3DCB2TAMBgNVHRMBAf8EAjAAMCcGA1UdJQQgMB4GCCsGAQUFBwMCBggrBgEFBQcD +AQYIKwYBBQUHAwgwIQYDVR0RBBowGIIQKmVhc2VsLWp1aWNlLm9yZ4cEfwAAATAP +BgNVHQ8BAf8EBQMDB6AAMB0GA1UdDgQWBBQDrFSBeOdK6YVpMHqsUfG50WgZ5jAf +BgNVHSMEGDAWgBRJMCYIjJrWac2LwMwOXAKOSh+mjDAsBgNVHR8EJTAjMCGgH6Ad +hhtmaWxlOi8vL3RtcC93b2NreS10ZXN0cy9jcmwwDQYJKoZIhvcNAQELBQADggEB +AEHx1KwCR7JgvNPlMSQpLjy7vPAU+jpG0QqYQU3k+utq0IBVGGFwjnkXXiNmoyTX +ZYK+pwTyK3Q2D1WvCtW13LoBzHC+qBGY1Z0w4y6KLfw7I3RLp/6PWjSyMRbxGPC+ +F3Zgr8Y2w3uPzq9UhJ0pk2rrTjnDRPWcHTpeEUL1DxFj3T/nXTZvBmNjNsZW/eAE +kByBSzcd8G2I9GAVUGiqACBN7VPRHqUxuesV4yU5hTUPDQfWZWdBURWeDobrMMrq +2w3nBbYg0hika6Rqnotn4Muhz/lfHQQxHS5QV5DB+4TI+u9xehXkhD5wFEXIcCh7 +sNmRQg4WxFSrdanrRfOv0cc= -----END CERTIFICATE----- diff --git a/tests/certs/exp-cert.cfg b/tests/certs/exp-cert.cfg index 74378d0..4b41b0e 100644 --- a/tests/certs/exp-cert.cfg +++ b/tests/certs/exp-cert.cfg @@ -37,7 +37,10 @@ cn = "Wocky XMPP Library" serial = 002 # In how many days, counting from today, this certificate will expire. -expiration_days = 1 +#expiration_days = 1 + +activation_date = "1969-12-29 16:21:42" +expiration_date = "1970-01-01 00:00:00" # X.509 v3 extensions @@ -66,7 +69,7 @@ tls_www_server # Whether this certificate will be used to sign data (needed # in TLS DHE ciphersuites). -#signing_key +signing_key # Whether this certificate will be used to encrypt data (needed # in TLS RSA ciphersuites). Note that it is prefered to use different diff --git a/tests/certs/exp-cert.pem b/tests/certs/exp-cert.pem index e080364..73e8c93 100644 --- a/tests/certs/exp-cert.pem +++ b/tests/certs/exp-cert.pem @@ -1,24 +1,25 @@ -----BEGIN CERTIFICATE----- -MIIEHDCCAwagAwIBAgIBAjALBgkqhkiG9w0BAQUwbDELMAkGA1UEBhMCVUsxEjAQ -BgNVBAoTCUNvbGxhYm9yYTEZMBcGA1UECxMQV29ja3kgVGVzdCBTdWl0ZTERMA8G -A1UECBMIQ29uZnVzZWQxGzAZBgNVBAMTEldvY2t5IFhNUFAgTGlicmFyeTAeFw0w -OTA5MTExMjU0MDBaFw0wOTA5MTIxMjU0MDBaMGkxCzAJBgNVBAYTAlVLMRIwEAYD -VQQKEwlDb2xsYWJvcmExGTAXBgNVBAsTEFdvY2t5IFRlc3QgU3VpdGUxDjAMBgNV -BAgTBURhemVkMRswGQYDVQQDExJXb2NreSBYTVBQIExpYnJhcnkwggEfMAsGCSqG -SIb3DQEBAQOCAQ4AMIIBCQKCAQCeUF/jv6V1BGXNb+epimCBLHRqVXpOQud/uC3R -YgG/hcagM4kUqavAyQSIa83Oc9L01SY38QNENbs4YdLBH0Gvxo4Sc3A/X8IZp23l -g6mSwxZzWoRO/D0g5bxDAkCXY+hh+ed4HnfHo+a1J/bVnyNwd6ssagQfyCXX0hCm -D4sNk4DFmWr30oEVMRo5jaTcRoyXf5ATuBa8D0bluwOaqccaosFLS6m6B0c8o6OO -uT7SM+9VvzG1BU+TzttZrKJmLh2vrKV09+InixDFMfemWGUCHf183xn9Sb1blNyj -M++ZgTs98dbJXStzxYLMNkeJFZtroMi6wzgt1Kbfe9XrcaChAgMBAAGjgdIwgc8w -DAYDVR0TAQH/BAIwADAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwIQYD -VR0RBBowGIIQd2Vhc2VsLWp1aWNlLm9yZ4cEfwAAATAPBgNVHQ8BAf8EBQMDByAA -MB0GA1UdDgQWBBSp54s9nx3wWAR/8iKl1XGPyKC/VTAfBgNVHSMEGDAWgBRJMCYI -jJrWac2LwMwOXAKOSh+mjDAsBgNVHR8EJTAjMCGgH6AdhhtmaWxlOi8vL3RtcC93 -b2NreS10ZXN0cy9jcmwwCwYJKoZIhvcNAQEFA4IBAQCzzxwwXOB5xnaKoDerB6fq -QbUmyi5Xj/c1kNgN5WnICUJc8bgXWlhLtvXyEE+/2Gshv6rOwpeH7pO4wtACaiHH -NmR78Z1OPKlf4+Bxo5/wQhx228gCOsRpFK+qab5s5/OhmJe4r4AyWoF4CPYfyE0v -Z5PkOeFiYc5VSJdI7y360zPV8FBYcASU90aCjREDAi+FK0r+Bp2OdxiTRL9N+mEM -blgInz/adg74oDjPmrwENkEZbaKyVwL9WBUD7OABIA42exK8nvCwPRiu1//8ALSR -wXTAhJ3lOIG4FOoOKBu9sIY/iRL/mJa39YJHG+gVFx+taJKB95tHthGuPraGJjch +MIIELTCCAxWgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBsMQswCQYDVQQGEwJVSzES +MBAGA1UEChMJQ29sbGFib3JhMRkwFwYDVQQLExBXb2NreSBUZXN0IFN1aXRlMREw +DwYDVQQIEwhDb25mdXNlZDEbMBkGA1UEAxMSV29ja3kgWE1QUCBMaWJyYXJ5MB4X +DTY5MTIyOTE1MjE0MloXDTY5MTIzMTIzMDAwMFowaTEbMBkGA1UEAxMSV29ja3kg +WE1QUCBMaWJyYXJ5MRkwFwYDVQQLExBXb2NreSBUZXN0IFN1aXRlMRIwEAYDVQQK +EwlDb2xsYWJvcmExDjAMBgNVBAgTBURhemVkMQswCQYDVQQGEwJVSzCCASIwDQYJ +KoZIhvcNAQEBBQADggEPADCCAQoCggEBAJ5QX+O/pXUEZc1v56mKYIEsdGpVek5C +53+4LdFiAb+FxqAziRSpq8DJBIhrzc5z0vTVJjfxA0Q1uzhh0sEfQa/GjhJzcD9f +whmnbeWDqZLDFnNahE78PSDlvEMCQJdj6GH553ged8ej5rUn9tWfI3B3qyxqBB/I +JdfSEKYPiw2TgMWZavfSgRUxGjmNpNxGjJd/kBO4FrwPRuW7A5qpxxqiwUtLqboH +Rzyjo465PtIz71W/MbUFT5PO21msomYuHa+spXT34ieLEMUx96ZYZQId/XzfGf1J +vVuU3KMz75mBOz3x1sldK3PFgsw2R4kVm2ugyLrDOC3Upt971etxoKECAwEAAaOB +3DCB2TAMBgNVHRMBAf8EAjAAMCcGA1UdJQQgMB4GCCsGAQUFBwMCBggrBgEFBQcD +AQYIKwYBBQUHAwgwIQYDVR0RBBowGIIQd2Vhc2VsLWp1aWNlLm9yZ4cEfwAAATAP +BgNVHQ8BAf8EBQMDB6AAMB0GA1UdDgQWBBTrSPaVNmH057nEpzxkZFY9aPFFbTAf +BgNVHSMEGDAWgBRJMCYIjJrWac2LwMwOXAKOSh+mjDAsBgNVHR8EJTAjMCGgH6Ad +hhtmaWxlOi8vL3RtcC93b2NreS10ZXN0cy9jcmwwDQYJKoZIhvcNAQELBQADggEB +AH2xoQqd508rqCugfIcl1VSiqPSnw9T5nzHrdGPMzB2TJ8DuKVHLfm68Cftg67uN +smqC1WtmtSJ4Z0AQ2nOmQ9hny05XDVANlrIV6B7r6M+NIQqh+gI3vrR0ucRV0/eZ +B5bwkcnmA6YvwVpCvg8JkYL3wyWwLJdranmuVxMM0O+K0Fi5J8ccyobGeEYa8ajl +TavPr7JzVTELu0OfbDaTup9eeBGYLrp9PTOoL83YeF3tvqJ1x0CWwUuwXr7m8+sk +YRe7VTJDzPfaZBLRohrtxx602+wW9Avg57g0g7BmmZy9HFT81YBdDIJfs7FV4TYa +bbYSvodUuZy/LbGSbdtjnEY= -----END CERTIFICATE----- diff --git a/tests/certs/ins-cert.cfg b/tests/certs/ins-cert.cfg index 6c2e1a3..5bc03f6 100644 --- a/tests/certs/ins-cert.cfg +++ b/tests/certs/ins-cert.cfg @@ -66,7 +66,7 @@ tls_www_server # Whether this certificate will be used to sign data (needed # in TLS DHE ciphersuites). -#signing_key +signing_key # Whether this certificate will be used to encrypt data (needed # in TLS RSA ciphersuites). Note that it is prefered to use different diff --git a/tests/certs/ins-cert.pem b/tests/certs/ins-cert.pem index b3413a1..be7af10 100644 --- a/tests/certs/ins-cert.pem +++ b/tests/certs/ins-cert.pem @@ -2,7 +2,7 @@ MIIELTCCAxWgAwIBAgIBBDANBgkqhkiG9w0BAQUFADBsMQswCQYDVQQGEwJVSzES MBAGA1UEChMJQ29sbGFib3JhMRkwFwYDVQQLExBXb2NreSBUZXN0IFN1aXRlMREw DwYDVQQIEwhDb25mdXNlZDEbMBkGA1UEAxMSV29ja3kgWE1QUCBMaWJyYXJ5MB4X -DTIwMDUxMTE4MzI0NFoXDTQ4MDUwNDE4MzI0NFowaTEbMBkGA1UEAxMSV29ja3kg +DTIwMTExNDE3MTQzN1oXDTQ4MTEwNzE3MTQzN1owaTEbMBkGA1UEAxMSV29ja3kg WE1QUCBMaWJyYXJ5MRkwFwYDVQQLExBXb2NreSBUZXN0IFN1aXRlMRIwEAYDVQQK EwlDb2xsYWJvcmExDjAMBgNVBAgTBURhemVkMQswCQYDVQQGEwJVSzCCASIwDQYJ KoZIhvcNAQEBBQADggEPADCCAQoCggEBAKL22MCJWN3b3t+FBpCyECjaZqK3V6eK @@ -13,13 +13,13 @@ TGz6iaEQ/TBEkwRB3c8CNN6uiqrlcwwkl+/OXPNlKE4zNZPm4zWD+zeCPRgMdddW 7ATPIyODy5KCs+h2PM/wLLjlNMtke38yT+PBOA2pW1YYZG5IK/unU/0CAwEAAaOB 3DCB2TAMBgNVHRMBAf8EAjAAMCcGA1UdJQQgMB4GCCsGAQUFBwMCBggrBgEFBQcD AQYIKwYBBQUHAwgwIQYDVR0RBBowGIIQd2Vhc2VsLWp1aWNlLm9yZ4cEfwAAATAP -BgNVHQ8BAf8EBQMDByAAMB0GA1UdDgQWBBQCf5kwZxkTwfvI3Rwlrign1scf+jAf +BgNVHQ8BAf8EBQMDB6AAMB0GA1UdDgQWBBQCf5kwZxkTwfvI3Rwlrign1scf+jAf BgNVHSMEGDAWgBRJMCYIjJrWac2LwMwOXAKOSh+mjDAsBgNVHR8EJTAjMCGgH6Ad hhtmaWxlOi8vL3RtcC93b2NreS10ZXN0cy9jcmwwDQYJKoZIhvcNAQEFBQADggEB -ALmGhFsGI6qYettdU+gqy8rrm/9X6IIkrAf05nbIksIAmUd4tBGezmlDzNtiEhvX -33ZRN728RL6XPpC7utQkM9hlan7Whkx9Yk6bCdpzvO/nx4eyO5RvwJLxXhFFGKto -DKDgoPUJ3tz/mLTGR/ZGjZi1z5ARj0R4O3+VSF56XrekqUeM6wDNgq3SaOuFfe2z -qdN7GRG+9QZeQY6t3WtAlpVe/T7el3pnyK03HjyM2JXvPxBbVPNvqrQvsZx4fqx8 -XkyT2dsR3NTjxwYRIAg+OELomNskDcc30KkPN43FS04cJ10sWlutvDVq/UDyrn2m -VHPeV22ZWpWn626Z7X+uV/w= +AFk10J/A6CUKYPEWD1bk1PYvMJHVoboFHyqIjIsJsPeda7z0ntpfTBIAWog/bOix +62F/c5wV2M944B47anprDBSwlF3RVY+gL6xAOPI0r9zZbLAU0FDWxuNKdHxZcex8 +U4UGIAZFnyJjlZB9APi5xlyleBRVr04CQxbfbGFqRrkVgh/5M7cPW5BMZt3aTlNQ +rCHj3fJ8IFlkEXZQnYw7Gszt8quxVuNO1sykyJrOPpgBBxIb4uVAv9GZBwfVIGvT +nsdsDZk1Ll3JMaXbOv4ujJkiI5XdbDKD0b/gSvIMf+uDnm9PFVTMOeVQXZoxBPLr +PrTJ74YxQ+QgHCIb2gCT7WE= -----END CERTIFICATE----- diff --git a/tests/certs/new-cert.cfg b/tests/certs/new-cert.cfg index b7f74fb..94c305f 100644 --- a/tests/certs/new-cert.cfg +++ b/tests/certs/new-cert.cfg @@ -37,7 +37,10 @@ cn = "Wocky XMPP Library" serial = 003 # In how many days, counting from today, this certificate will expire. -expiration_days = 7 +#expiration_days = 7 + +activation_date = "2969-12-29 16:21:42" +expiration_date = "2970-01-01 00:00:00" # X.509 v3 extensions @@ -66,7 +69,7 @@ tls_www_server # Whether this certificate will be used to sign data (needed # in TLS DHE ciphersuites). -#signing_key +signing_key # Whether this certificate will be used to encrypt data (needed # in TLS RSA ciphersuites). Note that it is prefered to use different diff --git a/tests/certs/new-cert.pem b/tests/certs/new-cert.pem index 082576d..595c533 100644 --- a/tests/certs/new-cert.pem +++ b/tests/certs/new-cert.pem @@ -1,24 +1,25 @@ -----BEGIN CERTIFICATE----- -MIIEHDCCAwagAwIBAgIBAzALBgkqhkiG9w0BAQUwbDELMAkGA1UEBhMCVUsxEjAQ -BgNVBAoTCUNvbGxhYm9yYTEZMBcGA1UECxMQV29ja3kgVGVzdCBTdWl0ZTERMA8G -A1UECBMIQ29uZnVzZWQxGzAZBgNVBAMTEldvY2t5IFhNUFAgTGlicmFyeTAeFw0z -NzA5MTExMjU0MDBaFw0zNzA5MTgxMjU0MDBaMGkxCzAJBgNVBAYTAlVLMRIwEAYD -VQQKEwlDb2xsYWJvcmExGTAXBgNVBAsTEFdvY2t5IFRlc3QgU3VpdGUxDjAMBgNV -BAgTBURhemVkMRswGQYDVQQDExJXb2NreSBYTVBQIExpYnJhcnkwggEfMAsGCSqG -SIb3DQEBAQOCAQ4AMIIBCQKCAQC5lmoJIYHwwdSxR5438H9UQlIfaSp8T/irxQG1 -tDDqjkv37H5JUIwGIYXxRuM4k1tDYj+nEICj7dLzFGY6NCHrOPSILvxRfvYQ4Iz7 -VSUTnHjSkrlQ6ILzZWdork2KKpAE6O0fAJ+mhy4fwtjnIhXDUapIyoOniee4SZfE -7LZx8ZjIO6hhv4JCReKNz1sb7zjuVl5Xghr+1LYO7OmimBejm4LxNIPttpkkZh26 -Syr+UtE1UhN5Ojiim2rKdekYf3S5WiiltOw/3WFD1KJmgyLy5XLhD87M5+wJ+7Aq -lv4obAgYKJPg3rcy5UX/1iRjT7/AGbWlBi07e5zKa+VA1xZHAgMBAAGjgdIwgc8w -DAYDVR0TAQH/BAIwADAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwIQYD -VR0RBBowGIIQd2Vhc2VsLWp1aWNlLm9yZ4cEfwAAATAPBgNVHQ8BAf8EBQMDByAA -MB0GA1UdDgQWBBTQlqg773FSODizSAmYG7bIV06GuzAfBgNVHSMEGDAWgBRJMCYI -jJrWac2LwMwOXAKOSh+mjDAsBgNVHR8EJTAjMCGgH6AdhhtmaWxlOi8vL3RtcC93 -b2NreS10ZXN0cy9jcmwwCwYJKoZIhvcNAQEFA4IBAQBTok7jC9jwZeiPmGgiktNe -kkAwKJuJpa9O9lgeiZywlaR3vWIEuQpi7P/VpkWca7pjmu0kVJk7AupW6s6RfeW6 -OALA7Zn9SC0w1zj2aSDmjI0DWosvkvoO+jkNS6HIozkMkWa6IX7veL7sTUP6cZ7f -twMPExDhdNrmyOOLjxiW7Bvz6HVfAvcgCah6JjNSxL4QAdFiz0VJOInWXtp7/2rc -YMeBsg4YFkV51YBVts7gCL4lDLxE79Rkj7YwhP6f84tTy+NjFmjBYKS9tyKJViOd -9L82PfXhHFUcYP/8wqhk+nE5PF4mLhroUq9DZpGU8ICEIzGburysoQi64IoPDCGM +MIIEMTCCAxmgAwIBAgIBAzANBgkqhkiG9w0BAQsFADBsMQswCQYDVQQGEwJVSzES +MBAGA1UEChMJQ29sbGFib3JhMRkwFwYDVQQLExBXb2NreSBUZXN0IFN1aXRlMREw +DwYDVQQIEwhDb25mdXNlZDEbMBkGA1UEAxMSV29ja3kgWE1QUCBMaWJyYXJ5MCIY +DzI5NjkxMjI5MTUyMTQyWhgPMjk2OTEyMzEyMzAwMDBaMGkxGzAZBgNVBAMTEldv +Y2t5IFhNUFAgTGlicmFyeTEZMBcGA1UECxMQV29ja3kgVGVzdCBTdWl0ZTESMBAG +A1UEChMJQ29sbGFib3JhMQ4wDAYDVQQIEwVEYXplZDELMAkGA1UEBhMCVUswggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC5lmoJIYHwwdSxR5438H9UQlIf +aSp8T/irxQG1tDDqjkv37H5JUIwGIYXxRuM4k1tDYj+nEICj7dLzFGY6NCHrOPSI +LvxRfvYQ4Iz7VSUTnHjSkrlQ6ILzZWdork2KKpAE6O0fAJ+mhy4fwtjnIhXDUapI +yoOniee4SZfE7LZx8ZjIO6hhv4JCReKNz1sb7zjuVl5Xghr+1LYO7OmimBejm4Lx +NIPttpkkZh26Syr+UtE1UhN5Ojiim2rKdekYf3S5WiiltOw/3WFD1KJmgyLy5XLh +D87M5+wJ+7Aqlv4obAgYKJPg3rcy5UX/1iRjT7/AGbWlBi07e5zKa+VA1xZHAgMB +AAGjgdwwgdkwDAYDVR0TAQH/BAIwADAnBgNVHSUEIDAeBggrBgEFBQcDAgYIKwYB +BQUHAwEGCCsGAQUFBwMIMCEGA1UdEQQaMBiCEHdlYXNlbC1qdWljZS5vcmeHBH8A +AAEwDwYDVR0PAQH/BAUDAwegADAdBgNVHQ4EFgQU1J4CFfSMYWJaQwREpWWPbS3Z +gaswHwYDVR0jBBgwFoAUSTAmCIya1mnNi8DMDlwCjkofpowwLAYDVR0fBCUwIzAh +oB+gHYYbZmlsZTovLy90bXAvd29ja3ktdGVzdHMvY3JsMA0GCSqGSIb3DQEBCwUA +A4IBAQBOR9szaldXLRjUngTykdGbTaIQNd7efNM8tb4p1GsXpNac4AXfT+4JmBXo +vj7w+A7/ggV3nYvUdUfSdH4qvgYKcyoaj96zbd6gZQCxj3PcyXp1TKgiveIq8tli +Svd1BfkuIAq5BBbTTuV8YNox6BXIugHMSHd3zvABhUB1Hw0c3mfAd7aSkGT6KXJK +jFVrd3rMOhMw0s8v0BiPmw2Un0gKfM6IzrMhcyA3itnIRzJTsX/yTS9rROPnTbIH +K0H6D/36NSxNnTPubtzPcVBqbsggPb4I25cCZmdvMxnnqQEyLpYFWX68yhYz4dF8 +5iqr5uoce/fKzfIkOnfDysDn85U5 -----END CERTIFICATE----- diff --git a/tests/certs/rev-cert.cfg b/tests/certs/rev-cert.cfg index 74261e1..cb054bc 100644 --- a/tests/certs/rev-cert.cfg +++ b/tests/certs/rev-cert.cfg @@ -66,7 +66,7 @@ tls_www_server # Whether this certificate will be used to sign data (needed # in TLS DHE ciphersuites). -#signing_key +signing_key # Whether this certificate will be used to encrypt data (needed # in TLS RSA ciphersuites). Note that it is prefered to use different diff --git a/tests/certs/rev-cert.pem b/tests/certs/rev-cert.pem index cab9ab6..5be2646 100644 --- a/tests/certs/rev-cert.pem +++ b/tests/certs/rev-cert.pem @@ -1,24 +1,25 @@ -----BEGIN CERTIFICATE----- -MIIEHDCCAwagAwIBAgIBCzALBgkqhkiG9w0BAQUwbDELMAkGA1UEBhMCVUsxEjAQ -BgNVBAoTCUNvbGxhYm9yYTEZMBcGA1UECxMQV29ja3kgVGVzdCBTdWl0ZTERMA8G -A1UECBMIQ29uZnVzZWQxGzAZBgNVBAMTEldvY2t5IFhNUFAgTGlicmFyeTAeFw0w -OTA5MTgxMjU0MTJaFw0zNzA5MTExMjU0MTJaMGkxCzAJBgNVBAYTAlVLMRIwEAYD -VQQKEwlDb2xsYWJvcmExGTAXBgNVBAsTEFdvY2t5IFRlc3QgU3VpdGUxDjAMBgNV -BAgTBURhemVkMRswGQYDVQQDExJXb2NreSBYTVBQIExpYnJhcnkwggEfMAsGCSqG -SIb3DQEBAQOCAQ4AMIIBCQKCAQCnyZpKt7FMekFO9OTzIZzQPTzVH3FCBjhoViBh -StC9oWcCFr6+RHNpi3UUG+ytgly7Clar3cz+D3tPKWWfeMo04895h6/B1wUBvtpj -NZxVtc2yvomKcoCyWayWnuucTRb1wbAB0+shsuBKHBD4L2Ws7oHkn0wmVd0HYoay -rXUBMmQui7Y5kYh0LaB+gcxmu/RohSwvBvpSukOl8OOkB6ngHfoJtX3SrjdTHICY -2/Ua2fOxv+nh6hOy5xy7fapYMFNtdvNClifqLvK7VrimVqNxtiSZKNGTVoTPBWag -o+NV2abNYjSstGkUWhq4ZI4NmkyDcHTeAtfx/142VXPqGu0LAgMBAAGjgdIwgc8w -DAYDVR0TAQH/BAIwADAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwIQYD -VR0RBBowGIIQd2Vhc2VsLWp1aWNlLm9yZ4cEfwAAATAPBgNVHQ8BAf8EBQMDByAA -MB0GA1UdDgQWBBR2DyOQu6Qw1sh+lkkmX7HGJ1scGjAfBgNVHSMEGDAWgBRJMCYI -jJrWac2LwMwOXAKOSh+mjDAsBgNVHR8EJTAjMCGgH6AdhhtmaWxlOi8vL3RtcC93 -b2NreS10ZXN0cy9jcmwwCwYJKoZIhvcNAQEFA4IBAQDAvd60gplt/Yl/On9Ucht/ -rhYfyUzW4pioSLVmiRKhKbDo8ujmhT3vgxdj2nW+uhPMxMbUsgMqj7tOBxIFqXaW -Silo+A9iTr3Xxp/oPT+6u0FurGpu50/vPf/TMNhm+ucwYOfvpXVCJgu52c3WXp8R -N4jvBOn8+MSlcetBUkmwRoUApNIEp+BglxDDdOB9IWhEZPvgbNokzAPrsoKflpXp -pwkUFBuvn6/ffBBHb2I6rF4a4DC6yoK6DCYONzfHUjKMec7ex7CCWKubN31CogvH -sb7ugiIFom/dMqjtGtWzG4ilVAQjjV5HJN+RscVp/6c/VY4WEYPfegUReGR0E47h +MIIELTCCAxWgAwIBAgIBDTANBgkqhkiG9w0BAQsFADBsMQswCQYDVQQGEwJVSzES +MBAGA1UEChMJQ29sbGFib3JhMRkwFwYDVQQLExBXb2NreSBUZXN0IFN1aXRlMREw +DwYDVQQIEwhDb25mdXNlZDEbMBkGA1UEAxMSV29ja3kgWE1QUCBMaWJyYXJ5MB4X +DTIwMTExNDE1MTQzNVoXDTQ4MTEwNzE1MTQzNVowaTEbMBkGA1UEAxMSV29ja3kg +WE1QUCBMaWJyYXJ5MRkwFwYDVQQLExBXb2NreSBUZXN0IFN1aXRlMRIwEAYDVQQK +EwlDb2xsYWJvcmExDjAMBgNVBAgTBURhemVkMQswCQYDVQQGEwJVSzCCASIwDQYJ +KoZIhvcNAQEBBQADggEPADCCAQoCggEBAKfJmkq3sUx6QU705PMhnNA9PNUfcUIG +OGhWIGFK0L2hZwIWvr5Ec2mLdRQb7K2CXLsKVqvdzP4Pe08pZZ94yjTjz3mHr8HX +BQG+2mM1nFW1zbK+iYpygLJZrJae65xNFvXBsAHT6yGy4EocEPgvZazugeSfTCZV +3QdihrKtdQEyZC6LtjmRiHQtoH6BzGa79GiFLC8G+lK6Q6Xw46QHqeAd+gm1fdKu +N1McgJjb9RrZ87G/6eHqE7LnHLt9qlgwU21280KWJ+ou8rtWuKZWo3G2JJko0ZNW +hM8FZqCj41XZps1iNKy0aRRaGrhkjg2aTINwdN4C1/H/XjZVc+oa7QsCAwEAAaOB +3DCB2TAMBgNVHRMBAf8EAjAAMCcGA1UdJQQgMB4GCCsGAQUFBwMCBggrBgEFBQcD +AQYIKwYBBQUHAwgwIQYDVR0RBBowGIIQd2Vhc2VsLWp1aWNlLm9yZ4cEfwAAATAP +BgNVHQ8BAf8EBQMDB6AAMB0GA1UdDgQWBBQRnUlh9AwUZTBs7B6BF41Hz7vBwTAf +BgNVHSMEGDAWgBRJMCYIjJrWac2LwMwOXAKOSh+mjDAsBgNVHR8EJTAjMCGgH6Ad +hhtmaWxlOi8vL3RtcC93b2NreS10ZXN0cy9jcmwwDQYJKoZIhvcNAQELBQADggEB +AAJFXz03Cgsi65D6E131oVt3HTYzE1qLmUDNg2hAdDCc0SmIuam7TYJVvI5If4lh +Plo/x3XpsSa7dQWhSJ7aOOFonfpjkc4sBli2o6QCUvqB2zHVwo7QiUYEpUUn5nEX +FJJRWBSklMG7tQCmWnhajR1e5ZVjMu/wC/E91IS4x4UES5H7B5jH+rjjhZGDLfIs +R3ZKQgpJQ2jufmKtVaZkOdonddieqeydWEjy8AOk98IEIyeU+vmohyti/OeuftRz +Yn4dlkrYW4BIf/LQyVnrDQX9NrDGHOqK+OvX9g6PbC/2kvCX4bztpkAWxDOSzakD +N4M0uE84oaEmDcKHaYuiXuA= -----END CERTIFICATE----- diff --git a/tests/certs/tls-cert.cfg b/tests/certs/tls-cert.cfg index 28caca4..4b1a2cf 100644 --- a/tests/certs/tls-cert.cfg +++ b/tests/certs/tls-cert.cfg @@ -66,7 +66,7 @@ tls_www_server # Whether this certificate will be used to sign data (needed # in TLS DHE ciphersuites). -#signing_key +signing_key # Whether this certificate will be used to encrypt data (needed # in TLS RSA ciphersuites). Note that it is prefered to use different diff --git a/tests/certs/tls-cert.pem b/tests/certs/tls-cert.pem index 461d0f4..a3a3e5b 100644 --- a/tests/certs/tls-cert.pem +++ b/tests/certs/tls-cert.pem @@ -2,7 +2,7 @@ MIIELTCCAxWgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBsMQswCQYDVQQGEwJVSzES MBAGA1UEChMJQ29sbGFib3JhMRkwFwYDVQQLExBXb2NreSBUZXN0IFN1aXRlMREw DwYDVQQIEwhDb25mdXNlZDEbMBkGA1UEAxMSV29ja3kgWE1QUCBMaWJyYXJ5MB4X -DTIwMDUxMDIwMTI0NVoXDTQ4MDUwMzIwMTI0NVowaTEbMBkGA1UEAxMSV29ja3kg +DTIwMTExNDE0NTgyNloXDTQ4MTEwNzE0NTgyNlowaTEbMBkGA1UEAxMSV29ja3kg WE1QUCBMaWJyYXJ5MRkwFwYDVQQLExBXb2NreSBUZXN0IFN1aXRlMRIwEAYDVQQK EwlDb2xsYWJvcmExDjAMBgNVBAgTBURhemVkMQswCQYDVQQGEwJVSzCCASIwDQYJ KoZIhvcNAQEBBQADggEPADCCAQoCggEBAMLfQBdactxqReuresch/L7S7vM0CZ1F @@ -13,13 +13,13 @@ cKMZ8s6gD29Z6E+iRMO9A9CZdzna8gU2nwDeHTmN6ncMFjOQb5YlwlE2HLELR3MW rKsUlbZcy0KzSnVw9oeBdU8J7iJxctjjx6FVoW8FHTYreNVDtaR63PECAwEAAaOB 3DCB2TAMBgNVHRMBAf8EAjAAMCcGA1UdJQQgMB4GCCsGAQUFBwMCBggrBgEFBQcD AQYIKwYBBQUHAwgwIQYDVR0RBBowGIIQd2Vhc2VsLWp1aWNlLm9yZ4cEfwAAATAP -BgNVHQ8BAf8EBQMDByAAMB0GA1UdDgQWBBSnm0ure0FMVwcbd37kVDoq2IC49zAf +BgNVHQ8BAf8EBQMDB6AAMB0GA1UdDgQWBBSnm0ure0FMVwcbd37kVDoq2IC49zAf BgNVHSMEGDAWgBRJMCYIjJrWac2LwMwOXAKOSh+mjDAsBgNVHR8EJTAjMCGgH6Ad hhtmaWxlOi8vL3RtcC93b2NreS10ZXN0cy9jcmwwDQYJKoZIhvcNAQELBQADggEB -AFujRXAlEdlLW/QcedCfloA5OCFhDhMQSScu/QHTirgQ7yuFpS0XEeWkfWbgv3Iz -q0StLZdDbd8xLU47boiOYx6fep6aKwRsomeewIoydxvBWLmgX8u+Re5BzWiDXif+ -w0xbiIuL5/vRADs2XpMNjC8hRlDQ0DiwO4zQ7JdfXuULZI6fnmLFXBGHn4ROModv -ihbnALXBphRhS6Jx2vPT9vSUcl1EodxXkAevL1gAGpx/h9AY0C8hg4mgt1KBgUMh -yPtDiUUji/mssUVS+ovCDIwNxUdJmjnVHwuyheroU1DHLKuNLywv6anzchtbpQSb -AArp9feDlebDbxJf7hu+zck= +AIL4wsAM/VcHau4S7nAPUdtP3BQlSplv3CcEO1zbFAvLuQ6iJxql/7BDa86J6gz/ +l26MekcrtjhvWbRgdw5GJJr23RtzuG5cvxLFDWOeb8ZdzeNxmkrOqnZnOMFmXXCA +mhYw7bQJrcm0fY6weFmJ6TW60URX6YAdBtSACMo+Prc9hDMOJNMuVdfN75J7uNKb +ADTrAUmspRSzr4nzBFTwKA2E3J/wtg/Zsq8twtjepRzgKa5yE47GbPsSCq48azwm +etHBpkaOIi7cL4S2MdtoIYxZZLKaylOfyeYwjO5oCfYyUx/eV3ih5j8/veTy4UzJ +wpBE0aFSmE2tVQmbViHOK80= -----END CERTIFICATE----- diff --git a/tests/certs/unknown-cert.cfg b/tests/certs/unknown-cert.cfg index 28caca4..4b1a2cf 100644 --- a/tests/certs/unknown-cert.cfg +++ b/tests/certs/unknown-cert.cfg @@ -66,7 +66,7 @@ tls_www_server # Whether this certificate will be used to sign data (needed # in TLS DHE ciphersuites). -#signing_key +signing_key # Whether this certificate will be used to encrypt data (needed # in TLS RSA ciphersuites). Note that it is prefered to use different diff --git a/tests/certs/unknown-cert.pem b/tests/certs/unknown-cert.pem index 306029a..0642629 100644 --- a/tests/certs/unknown-cert.pem +++ b/tests/certs/unknown-cert.pem @@ -1,25 +1,25 @@ -----BEGIN CERTIFICATE----- -MIIEITCCAwugAwIBAgIBAjALBgkqhkiG9w0BAQUwcTELMAkGA1UEBhMCVUsxEjAQ -BgNVBAoTCUNvbGxhYm9yYTEZMBcGA1UECxMQV29ja3kgVGVzdCBTdWl0ZTEWMBQG -A1UECBMNTG9zdC1pbi1TcGFjZTEbMBkGA1UEAxMSV29ja3kgWE1QUCBMaWJyYXJ5 -MB4XDTA5MDkxODEyNTQxM1oXDTM3MDkxMTEyNTQxM1owaTELMAkGA1UEBhMCVUsx -EjAQBgNVBAoTCUNvbGxhYm9yYTEZMBcGA1UECxMQV29ja3kgVGVzdCBTdWl0ZTEO -MAwGA1UECBMFRGF6ZWQxGzAZBgNVBAMTEldvY2t5IFhNUFAgTGlicmFyeTCCAR8w -CwYJKoZIhvcNAQEBA4IBDgAwggEJAoIBAL6XDXCTUs9hqzRBFjTGlw6jRWWhHASd -E8eEE1QOuh2ij10pu7Et6GIpLfW83i6dZSarSaifGyYkQ+qx97yjCY7p8NQaYTj7 -CADrTXLtLJVkeVihig32X49Pihe0EmyieXMdN7VdyBTDoPEglvx5yA0/srdDlk6N -qrRdAaZxWwVBlIAoDteTMKNbakQNNjVCfx6/O6KaVRdf6PKsQ39a+bv4nFuwvnMy -7yzmmAq2MCRY56OyEuUZZKo4Urzbd8IWmXxgkvKq4lm/pnU8yhILgWsG59Jchaf0 -e0X5Mg0Ryo65eW9oxC+N9E70MfHqXxs6EKcqEFkJNiHDGU7pApCSGSkCAwEAAaOB -0jCBzzAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcD -ATAhBgNVHREEGjAYghB3ZWFzZWwtanVpY2Uub3JnhwR/AAABMA8GA1UdDwEB/wQF -AwMHIAAwHQYDVR0OBBYEFKH0v7AWPAzbSGYbG+h0kTcRaf+RMB8GA1UdIwQYMBaA -FK5MjvmEOvzqUkos/bUV40sy5ngKMCwGA1UdHwQlMCMwIaAfoB2GG2ZpbGU6Ly8v -dG1wL3dvY2t5LXRlc3RzL2NybDALBgkqhkiG9w0BAQUDggEBAAH4rfEh9rrTpzz7 -I4rLAmKyKpp9FHiPkA/ZSH/U4ffbILrych0SvpHxusNWRo3rjcUOBAq5Xt+2Oqvl -0gVqcFF8GuGhiXYSV3k40bQHxv3MO5HanPbCIw0BDjERC0Ii+8BkDEMXRdQdyYmP -q+D1PKjev0bQtjai2L8/R6WOWTJtZeQAMwvtEqdwSLXDxyQSEJc4NIvWWijqq3hP -Ld+wozE/+Ajx4A4qeab9Vyj1Ul/zGYF/JDPgPLwOoBXeBJxJ+cB5HP4OOt/dpTWu -L1ratvrGEubystJ05fPewqHhwyBDuqnCI/gIyRXEcbHA6sIJ5RpaKFWbOF1SQO4P -30nZOag= +MIIEMjCCAxqgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBxMRswGQYDVQQDExJXb2Nr +eSBYTVBQIExpYnJhcnkxGTAXBgNVBAsTEFdvY2t5IFRlc3QgU3VpdGUxEjAQBgNV +BAoTCUNvbGxhYm9yYTEWMBQGA1UECBMNTG9zdC1pbi1TcGFjZTELMAkGA1UEBhMC +VUswHhcNMjAxMTE0MTU0MzA2WhcNNDgxMTA3MTU0MzA2WjBpMRswGQYDVQQDExJX +b2NreSBYTVBQIExpYnJhcnkxGTAXBgNVBAsTEFdvY2t5IFRlc3QgU3VpdGUxEjAQ +BgNVBAoTCUNvbGxhYm9yYTEOMAwGA1UECBMFRGF6ZWQxCzAJBgNVBAYTAlVLMIIB +IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvpcNcJNSz2GrNEEWNMaXDqNF +ZaEcBJ0Tx4QTVA66HaKPXSm7sS3oYikt9bzeLp1lJqtJqJ8bJiRD6rH3vKMJjunw +1BphOPsIAOtNcu0slWR5WKGKDfZfj0+KF7QSbKJ5cx03tV3IFMOg8SCW/HnIDT+y +t0OWTo2qtF0BpnFbBUGUgCgO15Mwo1tqRA02NUJ/Hr87oppVF1/o8qxDf1r5u/ic +W7C+czLvLOaYCrYwJFjno7IS5RlkqjhSvNt3whaZfGCS8qriWb+mdTzKEguBawbn +0lyFp/R7RfkyDRHKjrl5b2jEL430TvQx8epfGzoQpyoQWQk2IcMZTukCkJIZKQID +AQABo4HcMIHZMAwGA1UdEwEB/wQCMAAwJwYDVR0lBCAwHgYIKwYBBQUHAwIGCCsG +AQUFBwMBBggrBgEFBQcDCDAhBgNVHREEGjAYghB3ZWFzZWwtanVpY2Uub3JnhwR/ +AAABMA8GA1UdDwEB/wQFAwMHoAAwHQYDVR0OBBYEFKDwYvANY1ivXjipd2L5pwqp +rNegMB8GA1UdIwQYMBaAFPw7U5FOUAPaCbbFhKD9fCLRKoJQMCwGA1UdHwQlMCMw +IaAfoB2GG2ZpbGU6Ly8vdG1wL3dvY2t5LXRlc3RzL2NybDANBgkqhkiG9w0BAQsF +AAOCAQEAHgCEnmlrRsRhbUuCyJQEaJL44+Ss5OMZF3iXAY2HkSmX6Fn6FCtWE30y +J8OE1s0tg3F05k0Hbv0r6JgV4ke3a5/3Dr8LQmouiD9m7Ksanxaj/oDkJw7ZXG38 +OVAw9yI4T+n55YZ/6TvupKBH1CLUbL6yx45qsdm8h5EOluiTPaXryDxDrw9aOagf +YAGWXcyUB8qd+PHYuY99M5N55Xro1OB3TEVN2SE1/s3CYBZocqV2yDWSLhLBFi+k +ymXsmcQNym1ah6/mY3Wdayl2suKjs8AquKtXHYUQdSrxL5ibFurbzYNH1f78LXNX +Xukei2G5BkSxvtoFe7HHGHJ+Df1fhg== -----END CERTIFICATE----- diff --git a/tests/certs/wild-cert.cfg b/tests/certs/wild-cert.cfg index d5aa039..f0d455f 100644 --- a/tests/certs/wild-cert.cfg +++ b/tests/certs/wild-cert.cfg @@ -66,7 +66,7 @@ tls_www_server # Whether this certificate will be used to sign data (needed # in TLS DHE ciphersuites). -#signing_key +signing_key # Whether this certificate will be used to encrypt data (needed # in TLS RSA ciphersuites). Note that it is prefered to use different diff --git a/tests/certs/wild-cert.pem b/tests/certs/wild-cert.pem index 966b894..7f61267 100644 --- a/tests/certs/wild-cert.pem +++ b/tests/certs/wild-cert.pem @@ -1,10 +1,10 @@ -----BEGIN CERTIFICATE----- -MIIEVTCCAz2gAwIBAgIBAjANBgkqhkiG9w0BAQsFADBsMQswCQYDVQQGEwJVSzES +MIIEXzCCA0egAwIBAgIBAjANBgkqhkiG9w0BAQsFADBsMQswCQYDVQQGEwJVSzES MBAGA1UEChMJQ29sbGFib3JhMRkwFwYDVQQLExBXb2NreSBUZXN0IFN1aXRlMREw DwYDVQQIEwhDb25mdXNlZDEbMBkGA1UEAxMSV29ja3kgWE1QUCBMaWJyYXJ5MB4X -DTEyMDUwODE3MjMxNFoXDTQwMDUwMTE3MjMxNFowaTELMAkGA1UEBhMCVUsxEjAQ -BgNVBAoTCUNvbGxhYm9yYTEZMBcGA1UECxMQV29ja3kgVGVzdCBTdWl0ZTEOMAwG -A1UECBMFRGF6ZWQxGzAZBgNVBAMTEldvY2t5IFhNUFAgTGlicmFyeTCCAVIwDQYJ +DTIwMTExNDE1MTQzNVoXDTQ4MTEwNzE1MTQzNVowaTEbMBkGA1UEAxMSV29ja3kg +WE1QUCBMaWJyYXJ5MRkwFwYDVQQLExBXb2NreSBUZXN0IFN1aXRlMRIwEAYDVQQK +EwlDb2xsYWJvcmExDjAMBgNVBAgTBURhemVkMQswCQYDVQQGEwJVSzCCAVIwDQYJ KoZIhvcNAQEBBQADggE/ADCCAToCggExAOLThsSZX/OomslmhfbLQ4QL+rLXfAVN /17JZR4WRYWeX6JZUHNSMYJ2B98JZtU/aRHdNV46or6y+0UD1AFC543wp9KetcLb YaX2Lsxc70soBtfb6L02TQbaMf2q84/YWxwO5xCEG10KGLRrgAbxqtMvYIdGXstH @@ -12,15 +12,15 @@ YaX2Lsxc70soBtfb6L02TQbaMf2q84/YWxwO5xCEG10KGLRrgAbxqtMvYIdGXstH zPdr2vHlSzifNOnttPZuo4ALBE3hhf4xnxh531wdVQhsS6WTX5RhFU9ox4WsG7Q3 y5tQJQ72ARPWqVZiK1WJIDuEVlpWOutEd1McI3GVMuZt80PZaJC3uJs7f6l5Xux9 yUrE5ztzg378w5Hi6Rt3C0rLjHzn78MiC6DGlcG5KMOB+O4wgFzHCScCAwEAAaOB -1DCB0TAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcD -ATAjBgNVHREEHDAaghIqLndlYXNlbC1qdWljZS5vcmeHBH8AAAEwDwYDVR0PAQH/ -BAUDAwcgADAdBgNVHQ4EFgQUdpNYWe7MfIU0lyUQvttyQMxXTewwHwYDVR0jBBgw -FoAUSTAmCIya1mnNi8DMDlwCjkofpowwLAYDVR0fBCUwIzAhoB+gHYYbZmlsZTov -Ly90bXAvd29ja3ktdGVzdHMvY3JsMA0GCSqGSIb3DQEBCwUAA4IBAQBd0wScKbZR -+VhPij0/MWoQCwo7SpXyOCc1oTH5Cj2FKg70Al2fyfNXeQ94QybK2IFUuhuj6QuC -2kr11a8yUaYj5GfbMP0JHjJn8EKeRlxsv7q37nGkFcN4hweR3UfrY4dhEh195ZlM -f3odQaKfyE4ST/SmVzGrzxwVupcuHcxCD4VowYMjO2xl2XeMjTMmkRhuW/kTcVHb -xdhkLekyD5AEI3XndFKDRufFXg5nGmV7t5A/i1gKxGi/Co2YeTYd1XDspK0GSyX7 -hl6RoZrGPkYF3mUmv6E/SiL8inCMfvt56aSQttX9zqB7zXOTXFnFOho+EYb6ZxvL -liKZJQZ39OX7 +3jCB2zAMBgNVHRMBAf8EAjAAMCcGA1UdJQQgMB4GCCsGAQUFBwMCBggrBgEFBQcD +AQYIKwYBBQUHAwgwIwYDVR0RBBwwGoISKi53ZWFzZWwtanVpY2Uub3JnhwR/AAAB +MA8GA1UdDwEB/wQFAwMHoAAwHQYDVR0OBBYEFHaTWFnuzHyFNJclEL7bckDMV03s +MB8GA1UdIwQYMBaAFEkwJgiMmtZpzYvAzA5cAo5KH6aMMCwGA1UdHwQlMCMwIaAf +oB2GG2ZpbGU6Ly8vdG1wL3dvY2t5LXRlc3RzL2NybDANBgkqhkiG9w0BAQsFAAOC +AQEAlTC3kzTqQeANHEKk+BXuxETho1j6oUR/o3Dk5wotALAraTkovfk57w3W7rlq +sfwqbwVk84ByCycNgfUbMRU5a8/zH9C2LKPAxiHkZxPIPrFE6+Y23I7JhAXak+w5 +EH0LOyRUl4Rhx2Eb3b9TuWk/CKjfQsg31dd63KfhvgieFQQ83YK4uF+X7Z6RpiIs +o5X2loSGYamVMqLc4AwiYefKCOmO6gstoJEqmGegURKFZkNH4NO1CDEhUqX9mrcv +QLWOopCgGhjiHroZ1n0UZsvBSFZ98+T9N1MEP/bgfzyhbLIaiyHXiwPhc6BugnSk +l0VRiGglz0MXAgCaaiJRj1wr2w== -----END CERTIFICATE----- diff --git a/tests/wocky-connector-test.c b/tests/wocky-connector-test.c index 5e77438..871997f 100644 --- a/tests/wocky-connector-test.c +++ b/tests/wocky-connector-test.c @@ -129,7 +129,8 @@ typedef void (*test_setup) (gpointer); typedef struct _ServerParameters ServerParameters; struct _ServerParameters { - struct { gboolean tls; gchar *auth_mech; gchar *version; } features; + struct { gboolean tls; gchar *auth_mech; gchar *version; gchar *need_mech; } + features; struct { ServerProblem sasl; ConnectorProblem conn; } problem; struct { gchar *user; gchar *pass; } auth; guint port; @@ -1325,8 +1326,8 @@ test_t tests[] = { SERVER_PROBLEM_NO_PROBLEM, { OK, OK, OK, SERVER_DEATH_SERVER_START, OK } }, { "moose", "something" }, - PORT_XMPP }, - { "weasel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 10 }, + { "weasel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { PLAINTEXT_OK, { "moose@weasel-juice.org", "something", PLAIN, NOTLS }, { NULL, 0 } } }, @@ -1338,8 +1339,8 @@ test_t tests[] = { SERVER_PROBLEM_NO_PROBLEM, { OK, OK, OK, SERVER_DEATH_CLIENT_OPEN, OK } }, { "moose", "something" }, - PORT_XMPP }, - { "weasel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 10 }, + { "weasel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { PLAINTEXT_OK, { "moose@weasel-juice.org", "something", PLAIN, NOTLS }, { NULL, 0 } } }, @@ -1351,8 +1352,8 @@ test_t tests[] = { SERVER_PROBLEM_NO_PROBLEM, { OK, OK, OK, SERVER_DEATH_SERVER_OPEN, OK } }, { "moose", "something" }, - PORT_XMPP }, - { "weasel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 10 }, + { "weasel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { PLAINTEXT_OK, { "moose@weasel-juice.org", "something", PLAIN, NOTLS }, { NULL, 0 } } }, @@ -1364,8 +1365,8 @@ test_t tests[] = { SERVER_PROBLEM_NO_PROBLEM, { OK, OK, OK, SERVER_DEATH_FEATURES, OK } }, { "moose", "something" }, - PORT_XMPP }, - { "weasel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 10 }, + { "weasel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { PLAINTEXT_OK, { "moose@weasel-juice.org", "something", PLAIN, NOTLS }, { NULL, 0 } } }, @@ -1377,8 +1378,8 @@ test_t tests[] = { SERVER_PROBLEM_NO_PROBLEM, { OK, OK, OK, SERVER_DEATH_TLS_NEG, OK } }, { "moose", "something" }, - PORT_XMPP }, - { "weasel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 10 }, + { "weasel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { PLAINTEXT_OK, { "moose@weasel-juice.org", "something", PLAIN, NOTLS }, { NULL, 0 } } }, @@ -2702,11 +2703,11 @@ test_t tests[] = { SERVER_PROBLEM_NO_PROBLEM, { XMPP_PROBLEM_OLD_SSL, OK, OK, SERVER_DEATH_TLS_NEG, OK } }, { "moose", "something" }, - PORT_XMPP }, - { "weasel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 9}, + { "weasel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { PLAINTEXT_OK, { "moose@weasel-juice.org", "something", PLAIN, NOTLS }, - { NULL, 0, XMPP_V1, OLD_SSL } } }, + { NULL, PORT_XMPP + 9, XMPP_V1, OLD_SSL } } }, /* ********************************************************************* */ /* certificate verification tests */ @@ -2716,8 +2717,8 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, CONNECTOR_OK }, { "moose", "something" }, - PORT_XMPP }, - { "weasel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 10 }, + { "weasel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { PLAINTEXT_OK, { "moose@weasel-juice.org", "something", PLAIN, TLS }, { NULL, 0, XMPP_V1 } } }, @@ -2728,8 +2729,8 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, CONNECTOR_OK }, { "moose", "something" }, - PORT_XMPP }, - { "weasel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 11 }, + { "weasel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { PLAINTEXT_OK, { "moose@weasel-juice.org", "something", PLAIN, TLS }, { NULL, 0, XMPP_V1, STARTTLS, CERT_CHECK_STRICT, TLS_CA_DIR } } }, @@ -2740,7 +2741,7 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, CONNECTOR_OK }, { "moose", "something" }, - PORT_XMPP }, + PORT_XMPP + 12 }, { NULL, 0, "thud.org", REACHABLE, NULL }, { PLAINTEXT_OK, { "moose@weasel-juice.org", "something", PLAIN, TLS }, @@ -2752,8 +2753,8 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, CONNECTOR_OK }, { "moose", "something" }, - PORT_XMPP }, - { "tomato-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 13 }, + { "tomato-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { PLAINTEXT_OK, { "moose@tomato-juice.org", "something", PLAIN, TLS }, { NULL, 0, XMPP_V1 } } }, @@ -2764,7 +2765,7 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, CONNECTOR_OK }, { "moose", "something" }, - PORT_XMPP }, + PORT_XMPP + 14 }, { NULL, 0, "tomato-juice.org", REACHABLE, NULL }, { PLAINTEXT_OK, { "moose@tomato-juice.org", "something", PLAIN, TLS }, @@ -2776,8 +2777,8 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, CONNECTOR_OK }, { "moose", "something" }, - PORT_XMPP, CERT_EXPIRED }, - { "weasel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 15, CERT_EXPIRED }, + { "weasel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { PLAINTEXT_OK, { "moose@weasel-juice.org", "something", PLAIN, TLS }, { NULL, 0, XMPP_V1 } } }, @@ -2788,8 +2789,8 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, CONNECTOR_OK }, { "moose", "something" }, - PORT_XMPP, CERT_NOT_YET }, - { "weasel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 16, CERT_NOT_YET }, + { "weasel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { PLAINTEXT_OK, { "moose@weasel-juice.org", "something", PLAIN, TLS }, { NULL, 0, XMPP_V1 } } }, @@ -2800,8 +2801,8 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, CONNECTOR_OK }, { "moose", "something" }, - PORT_XMPP, CERT_SELFSIGN }, - { "weasel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 17, CERT_SELFSIGN }, + { "weasel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { PLAINTEXT_OK, { "moose@weasel-juice.org", "something", PLAIN, TLS }, { NULL, 0, XMPP_V1 } } }, @@ -2812,8 +2813,8 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, CONNECTOR_OK }, { "moose", "something" }, - PORT_XMPP, CERT_UNKNOWN }, - { "weasel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 18, CERT_UNKNOWN }, + { "weasel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { PLAINTEXT_OK, { "moose@weasel-juice.org", "something", PLAIN, TLS }, { NULL, 0, XMPP_V1 } } }, @@ -2830,8 +2831,8 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, CONNECTOR_OK }, { "moose", "something" }, - PORT_XMPP, CERT_UNKNOWN }, - { "tomato-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 19, CERT_UNKNOWN }, + { "tomato-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { PLAINTEXT_OK, { "moose@tomato-juice.org", "something", PLAIN, TLS }, { NULL, 0, XMPP_V1 } } }, @@ -2842,8 +2843,8 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, CONNECTOR_OK }, { "moose", "something" }, - PORT_XMPP, CERT_WILDCARD }, - { "foo.weasel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 20, CERT_WILDCARD }, + { "foo.weasel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { TLS_REQUIRED, { "moose@foo.weasel-juice.org", "something", PLAIN, TLS }, { NULL, 0, XMPP_V1, STARTTLS, CERT_CHECK_STRICT, TLS_CA_DIR } } }, @@ -2854,8 +2855,8 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, CONNECTOR_OK }, { "moose", "something" }, - PORT_XMPP, CERT_WILDCARD }, - { "weasel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 21, CERT_WILDCARD }, + { "weasel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { PLAINTEXT_OK, { "moose@weasel-juice.org", "something", PLAIN, TLS }, { NULL, 0, XMPP_V1, STARTTLS, CERT_CHECK_STRICT, TLS_CA_DIR } } }, @@ -2866,8 +2867,8 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, CONNECTOR_OK }, { "moose", "something" }, - PORT_XMPP, CERT_WILDCARD }, - { "foo.diesel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 22, CERT_WILDCARD }, + { "foo.diesel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { TLS_REQUIRED, { "moose@foo.diesel-juice.org", "something", PLAIN, TLS }, { NULL, 0, XMPP_V1, STARTTLS, CERT_CHECK_STRICT, TLS_CA_DIR } } }, @@ -2878,8 +2879,8 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, CONNECTOR_OK }, { "moose", "something" }, - PORT_XMPP, CERT_BADWILD }, - { "weasel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 23, CERT_BADWILD }, + { "weasel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { TLS_REQUIRED, { "moose@weasel-juice.org", "something", PLAIN, TLS }, { NULL, 0, XMPP_V1, STARTTLS, CERT_CHECK_STRICT, TLS_CA_DIR } } }, @@ -2891,8 +2892,8 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, CONNECTOR_OK }, { "moose", "something" }, - PORT_XMPP, CERT_REVOKED }, - { "weasel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 24, CERT_REVOKED }, + { "weasel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { TLS_REQUIRED, { "moose@weasel-juice.org", "something", PLAIN, TLS }, { NULL, 0, XMPP_V1, STARTTLS, CERT_CHECK_STRICT, TLS_CA_DIR } } }, @@ -2903,8 +2904,8 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, CONNECTOR_OK }, { "moose", "something" }, - PORT_XMPP, CERT_REVOKED }, - { "weasel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 25, CERT_REVOKED }, + { "weasel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { TLS_REQUIRED, { "moose@weasel-juice.org", "something", PLAIN, TLS }, { NULL, 0, XMPP_V1, STARTTLS, CERT_CHECK_LENIENT, TLS_CA_DIR } } }, @@ -2918,8 +2919,8 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, { XMPP_PROBLEM_OLD_SSL, OK, OK, OK, OK } }, { "moose", "something" }, - PORT_XMPP }, - { "weasel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 26 }, + { "weasel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { PLAINTEXT_OK, { "moose@weasel-juice.org", "something", PLAIN, TLS }, { NULL, 0, XMPP_V1, OLD_SSL } } }, @@ -2930,11 +2931,11 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, { XMPP_PROBLEM_OLD_SSL, OK, OK, OK, OK } }, { "moose", "something" }, - PORT_XMPP }, + PORT_XMPP + 27 }, { NULL, 0, "weasel-juice.org", REACHABLE, NULL }, { PLAINTEXT_OK, { "moose@thud.org", "something", PLAIN, TLS }, - { "weasel-juice.org", PORT_XMPP, XMPP_V1, OLD_SSL } } }, + { "weasel-juice.org", 0, XMPP_V1, OLD_SSL } } }, { "/connector/cert-verification/ssl/nohost/fail/name-mismatch", QUIET, @@ -2942,8 +2943,8 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, { XMPP_PROBLEM_OLD_SSL, OK, OK, OK, OK } }, { "moose", "something" }, - PORT_XMPP }, - { "tomato-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 28 }, + { "tomato-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { PLAINTEXT_OK, { "moose@tomato-juice.org", "something", PLAIN, TLS }, { NULL, 0, XMPP_V1, OLD_SSL } } }, @@ -2954,7 +2955,7 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, { XMPP_PROBLEM_OLD_SSL, OK, OK, OK, OK } }, { "moose", "something" }, - PORT_XMPP }, + PORT_XMPP + 29 }, { NULL, 0, "tomato-juice.org", REACHABLE, NULL }, { PLAINTEXT_OK, { "moose@tomato-juice.org", "something", PLAIN, TLS }, @@ -2966,8 +2967,8 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, { XMPP_PROBLEM_OLD_SSL, OK, OK, OK, OK } }, { "moose", "something" }, - PORT_XMPP, CERT_EXPIRED }, - { "weasel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 30, CERT_EXPIRED }, + { "weasel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { PLAINTEXT_OK, { "moose@weasel-juice.org", "something", PLAIN, TLS }, { NULL, 0, XMPP_V1, OLD_SSL } } }, @@ -2978,8 +2979,8 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, { XMPP_PROBLEM_OLD_SSL, OK, OK, OK, OK } }, { "moose", "something" }, - PORT_XMPP, CERT_INSECURE }, - { "weasel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 31, CERT_INSECURE }, + { "weasel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { PLAINTEXT_OK, { "moose@weasel-juice.org", "something", PLAIN, TLS }, { NULL, 0, XMPP_V1, OLD_SSL } } }, @@ -2990,8 +2991,8 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, { XMPP_PROBLEM_OLD_SSL, OK, OK, OK, OK } }, { "moose", "something" }, - PORT_XMPP, CERT_NOT_YET }, - { "weasel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 32, CERT_NOT_YET }, + { "weasel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { PLAINTEXT_OK, { "moose@weasel-juice.org", "something", PLAIN, TLS }, { NULL, 0, XMPP_V1, OLD_SSL } } }, @@ -3002,8 +3003,8 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, { XMPP_PROBLEM_OLD_SSL, OK, OK, OK, OK } }, { "moose", "something" }, - PORT_XMPP, CERT_SELFSIGN }, - { "weasel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 33, CERT_SELFSIGN }, + { "weasel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { PLAINTEXT_OK, { "moose@weasel-juice.org", "something", PLAIN, TLS }, { NULL, 0, XMPP_V1, OLD_SSL } } }, @@ -3014,8 +3015,8 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, { XMPP_PROBLEM_OLD_SSL, OK, OK, OK, OK } }, { "moose", "something" }, - PORT_XMPP, CERT_UNKNOWN }, - { "weasel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 34, CERT_UNKNOWN }, + { "weasel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { PLAINTEXT_OK, { "moose@weasel-juice.org", "something", PLAIN, TLS }, { NULL, 0, XMPP_V1, OLD_SSL } } }, @@ -3026,8 +3027,8 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, { XMPP_PROBLEM_OLD_SSL, OK, OK, OK, OK } }, { "moose", "something" }, - PORT_XMPP, CERT_WILDCARD }, - { "foo.weasel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 35, CERT_WILDCARD }, + { "foo.weasel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { TLS_REQUIRED, { "moose@foo.weasel-juice.org", "something", PLAIN, TLS }, { NULL, 0, XMPP_V1, OLD_SSL, CERT_CHECK_STRICT, TLS_CA_DIR } } }, @@ -3038,8 +3039,8 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, { XMPP_PROBLEM_OLD_SSL, OK, OK, OK, OK } }, { "moose", "something" }, - PORT_XMPP, CERT_WILDCARD }, - { "weasel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 36, CERT_WILDCARD }, + { "weasel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { PLAINTEXT_OK, { "moose@weasel-juice.org", "something", PLAIN, TLS }, { NULL, 0, XMPP_V1, OLD_SSL, CERT_CHECK_STRICT, TLS_CA_DIR } } }, @@ -3050,8 +3051,8 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, { XMPP_PROBLEM_OLD_SSL, OK, OK, OK, OK } }, { "moose", "something" }, - PORT_XMPP, CERT_WILDCARD }, - { "foo.diesel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 37, CERT_WILDCARD }, + { "foo.diesel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { TLS_REQUIRED, { "moose@foo.diesel-juice.org", "something", PLAIN, TLS }, { NULL, 0, XMPP_V1, OLD_SSL, CERT_CHECK_STRICT, TLS_CA_DIR } } }, @@ -3062,8 +3063,8 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, { XMPP_PROBLEM_OLD_SSL, OK, OK, OK, OK } }, { "moose", "something" }, - PORT_XMPP, CERT_BADWILD }, - { "weasel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 38, CERT_BADWILD }, + { "weasel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { TLS_REQUIRED, { "moose@weasel-juice.org", "something", PLAIN, TLS }, { NULL, 0, XMPP_V1, OLD_SSL, CERT_CHECK_STRICT, TLS_CA_DIR } } }, @@ -3075,8 +3076,8 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, { XMPP_PROBLEM_OLD_SSL, OK, OK, OK, OK } }, { "moose", "something" }, - PORT_XMPP, CERT_REVOKED }, - { "weasel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 39, CERT_REVOKED }, + { "weasel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { TLS_REQUIRED, { "moose@weasel-juice.org", "something", PLAIN, TLS }, { NULL, 0, XMPP_V1, OLD_SSL, CERT_CHECK_STRICT, TLS_CA_DIR } } }, @@ -3087,8 +3088,8 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, { XMPP_PROBLEM_OLD_SSL, OK, OK, OK, OK } }, { "moose", "something" }, - PORT_XMPP, CERT_REVOKED }, - { "weasel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 40, CERT_REVOKED }, + { "weasel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { TLS_REQUIRED, { "moose@weasel-juice.org", "something", PLAIN, TLS }, { NULL, 0, XMPP_V1, OLD_SSL, CERT_CHECK_LENIENT, TLS_CA_DIR } } }, @@ -3102,8 +3103,8 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, CONNECTOR_OK }, { "moose", "something" }, - PORT_XMPP }, - { "weasel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 41 }, + { "weasel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { PLAINTEXT_OK, { "moose@weasel-juice.org", "something", PLAIN, TLS }, { NULL, 0, XMPP_V1 } } }, @@ -3114,7 +3115,7 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, CONNECTOR_OK }, { "moose", "something" }, - PORT_XMPP }, + PORT_XMPP + 42 }, { NULL, 0, "thud.org", REACHABLE, NULL }, { PLAINTEXT_OK, { "moose@weasel-juice.org", "something", PLAIN, TLS }, @@ -3126,8 +3127,8 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, CONNECTOR_OK }, { "moose", "something" }, - PORT_XMPP }, - { "tomato-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 43 }, + { "tomato-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { PLAINTEXT_OK, { "moose@tomato-juice.org", "something", PLAIN, TLS }, { NULL, 0, XMPP_V1, STARTTLS, CERT_CHECK_LENIENT } } }, @@ -3138,7 +3139,7 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, CONNECTOR_OK }, { "moose", "something" }, - PORT_XMPP }, + PORT_XMPP + 44 }, { NULL, 0, "tomato-juice.org", REACHABLE, NULL }, { PLAINTEXT_OK, { "moose@tomato-juice.org", "something", PLAIN, TLS }, @@ -3150,8 +3151,8 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, CONNECTOR_OK }, { "moose", "something" }, - PORT_XMPP, CERT_EXPIRED }, - { "weasel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 45, CERT_EXPIRED }, + { "weasel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { PLAINTEXT_OK, { "moose@weasel-juice.org", "something", PLAIN, TLS }, { NULL, 0, XMPP_V1, STARTTLS, CERT_CHECK_LENIENT } } }, @@ -3162,8 +3163,8 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, CONNECTOR_OK }, { "moose", "something" }, - PORT_XMPP, CERT_NOT_YET }, - { "weasel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 46, CERT_NOT_YET }, + { "weasel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { PLAINTEXT_OK, { "moose@weasel-juice.org", "something", PLAIN, TLS }, { NULL, 0, XMPP_V1, STARTTLS, CERT_CHECK_LENIENT } } }, @@ -3174,8 +3175,8 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, CONNECTOR_OK }, { "moose", "something" }, - PORT_XMPP, CERT_SELFSIGN }, - { "weasel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 47, CERT_SELFSIGN }, + { "weasel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { PLAINTEXT_OK, { "moose@weasel-juice.org", "something", PLAIN, TLS }, { NULL, 0, XMPP_V1, STARTTLS, CERT_CHECK_LENIENT } } }, @@ -3186,8 +3187,8 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, CONNECTOR_OK }, { "moose", "something" }, - PORT_XMPP, CERT_UNKNOWN }, - { "weasel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 48, CERT_UNKNOWN }, + { "weasel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { PLAINTEXT_OK, { "moose@weasel-juice.org", "something", PLAIN, TLS }, { NULL, 0, XMPP_V1, STARTTLS, CERT_CHECK_LENIENT } } }, @@ -3200,8 +3201,8 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, { XMPP_PROBLEM_OLD_SSL, OK, OK, OK, OK } }, { "moose", "something" }, - PORT_XMPP }, - { "weasel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 49 }, + { "weasel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { PLAINTEXT_OK, { "moose@weasel-juice.org", "something", PLAIN, TLS }, { NULL, 0, XMPP_V1, OLD_SSL, CERT_CHECK_LENIENT } } }, @@ -3212,11 +3213,11 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, { XMPP_PROBLEM_OLD_SSL, OK, OK, OK, OK } }, { "moose", "something" }, - PORT_XMPP }, + PORT_XMPP + 50 }, { NULL, 0, "weasel-juice.org", REACHABLE, NULL }, { PLAINTEXT_OK, { "moose@thud.org", "something", PLAIN, TLS }, - { "weasel-juice.org", PORT_XMPP, XMPP_V1, OLD_SSL, CERT_CHECK_LENIENT } } }, + { "weasel-juice.org", 0, XMPP_V1, OLD_SSL, CERT_CHECK_LENIENT } } }, { "/connector/cert-nonverification/ssl/nohost/ok/name-mismatch", QUIET, @@ -3224,8 +3225,8 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, { XMPP_PROBLEM_OLD_SSL, OK, OK, OK, OK } }, { "moose", "something" }, - PORT_XMPP }, - { "tomato-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 51 }, + { "tomato-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { PLAINTEXT_OK, { "moose@tomato-juice.org", "something", PLAIN, TLS }, { NULL, 0, XMPP_V1, OLD_SSL, CERT_CHECK_LENIENT } } }, @@ -3236,7 +3237,7 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, { XMPP_PROBLEM_OLD_SSL, OK, OK, OK, OK } }, { "moose", "something" }, - PORT_XMPP }, + PORT_XMPP + 52 }, { NULL, 0, "tomato-juice.org", REACHABLE, NULL }, { PLAINTEXT_OK, { "moose@tomato-juice.org", "something", PLAIN, TLS }, @@ -3248,8 +3249,8 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, { XMPP_PROBLEM_OLD_SSL, OK, OK, OK, OK } }, { "moose", "something" }, - PORT_XMPP, CERT_EXPIRED }, - { "weasel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 53, CERT_EXPIRED }, + { "weasel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { PLAINTEXT_OK, { "moose@weasel-juice.org", "something", PLAIN, TLS }, { NULL, 0, XMPP_V1, OLD_SSL, CERT_CHECK_LENIENT } } }, @@ -3260,8 +3261,8 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, { XMPP_PROBLEM_OLD_SSL, OK, OK, OK, OK } }, { "moose", "something" }, - PORT_XMPP, CERT_NOT_YET }, - { "weasel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 54, CERT_NOT_YET }, + { "weasel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { PLAINTEXT_OK, { "moose@weasel-juice.org", "something", PLAIN, TLS }, { NULL, 0, XMPP_V1, OLD_SSL, CERT_CHECK_LENIENT } } }, @@ -3272,8 +3273,8 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, { XMPP_PROBLEM_OLD_SSL, OK, OK, OK, OK } }, { "moose", "something" }, - PORT_XMPP, CERT_SELFSIGN }, - { "weasel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 55, CERT_SELFSIGN }, + { "weasel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { PLAINTEXT_OK, { "moose@weasel-juice.org", "something", PLAIN, TLS }, { NULL, 0, XMPP_V1, OLD_SSL, CERT_CHECK_LENIENT } } }, @@ -3284,8 +3285,8 @@ test_t tests[] = { { TLS, NULL }, { SERVER_PROBLEM_NO_PROBLEM, { XMPP_PROBLEM_OLD_SSL, OK, OK, OK, OK } }, { "moose", "something" }, - PORT_XMPP, CERT_UNKNOWN }, - { "weasel-juice.org", PORT_XMPP, "thud.org", REACHABLE, UNREACHABLE }, + PORT_XMPP + 56, CERT_UNKNOWN }, + { "weasel-juice.org", 0, "thud.org", REACHABLE, UNREACHABLE }, { PLAINTEXT_OK, { "moose@weasel-juice.org", "something", PLAIN, TLS }, { NULL, 0, XMPP_V1, OLD_SSL, CERT_CHECK_LENIENT } } }, @@ -3301,7 +3302,7 @@ static void setup_dummy_dns_entries (const test_t *test) { TestResolver *tr = TEST_RESOLVER (kludged); - guint port = test->dns.port ? test->dns.port : PORT_XMPP; + guint port = test->dns.port ? test->dns.port : test->server_parameters.port; const char *domain = test->dns.srv; const char *host = test->dns.host; const char *addr = test->dns.addr; @@ -3359,6 +3360,7 @@ client_connected (GIOChannel *channel, srv->auth.user, srv->auth.pass, srv->features.version, + srv->features.need_mech, cproblem, srv->problem.sasl, srv->cert); @@ -3604,11 +3606,16 @@ run_test (gpointer data) g_free (path); /* end of cleanup block */ + if (test->server_parameters.features.need_mech == NULL) + test->server_parameters.features.need_mech = test->result.mech; start_dummy_xmpp_server (&test->server_parameters); setup_dummy_dns_entries (test); ca = test->client.options.ca ? test->client.options.ca : TLS_CA_CRT_FILE; + if (test->client.options.host && test->client.options.port == 0) + test->client.options.port = test->server_parameters.port; + /* insecure tls cert/etc not yet implemented */ handler = wocky_tls_handler_new (test->client.options.lax_ssl); @@ -3824,22 +3831,18 @@ main (int argc, mainloop = g_main_loop_new (NULL, FALSE); -#ifdef HAVE_LIBSASL2 - for (i = 0; tests[i].desc != NULL; i++) g_test_add_data_func (tests[i].desc, &tests[i], (test_func)run_test); -#else - - g_message ("libsasl2 not found: skipping SCRAM SASL tests"); - for (i = 0; tests[i].desc != NULL; i++) - { - if (!wocky_strdiff (tests[i].result.mech, DEFAULT_SASL_MECH)) - continue; - g_test_add_data_func (tests[i].desc, &tests[i], (test_func)run_test); - } - -#endif + /* + * SASL2 support is ridiculous, you can find all possible combinations + * where some support SCRAM SHA1 only, other SCRAM SHA256, some even + * SCRAM SHA512. But it absolutely does not depend on the version, only + * on the build flags. The verdict - if SASL server doesn't return back + * DEFAULT_SASL_MECH - we just use in-house implementation. SASL2 becomes + * complimentary sanity cross-check feature. + * We'll do additional verification in the server initialisation code. + */ result = g_test_run (); test_deinit (); diff --git a/tests/wocky-dummy-xmpp-server.c b/tests/wocky-dummy-xmpp-server.c index 4bbc24a..f66d113 100644 --- a/tests/wocky-dummy-xmpp-server.c +++ b/tests/wocky-dummy-xmpp-server.c @@ -59,7 +59,7 @@ client_connected (GIOChannel *channel, g_io_channel_shutdown (channel, TRUE, NULL); gconn = g_object_new (G_TYPE_SOCKET_CONNECTION, "socket", gsock, NULL); server = test_connector_server_new (G_IO_STREAM (gconn), - NULL, "foo", "bar", "1.0", + NULL, "foo", "bar", "1.0", NULL, &cproblem, SERVER_PROBLEM_NO_PROBLEM, CERT_STANDARD); diff --git a/tests/wocky-test-connector-server.c b/tests/wocky-test-connector-server.c index 1796ed5..9d46810 100644 --- a/tests/wocky-test-connector-server.c +++ b/tests/wocky-test-connector-server.c @@ -95,6 +95,7 @@ struct _TestConnectorServerPrivate gboolean authed; TestSaslAuthServer *sasl; + gchar *must; gchar *mech; gchar *user; gchar *pass; @@ -1301,7 +1302,7 @@ feature_stanza (TestConnectorServer *self) if (priv->sasl == NULL) priv->sasl = test_sasl_auth_server_new (NULL, priv->mech, priv->user, priv->pass, NULL, priv->problem.sasl, FALSE); - test_sasl_auth_server_set_mechs (G_OBJECT (priv->sasl), feat); + test_sasl_auth_server_set_mechs (G_OBJECT (priv->sasl), feat, priv->must); } if (problem & XMPP_PROBLEM_OLD_AUTH_FEATURE) @@ -1573,10 +1574,11 @@ xmpp_init (GObject *source, TestConnectorServer * test_connector_server_new (GIOStream *stream, - gchar *mech, + const gchar *mech, const gchar *user, const gchar *pass, const gchar *version, + const gchar *need_mech, ConnectorProblem *problem, ServerProblem sasl_problem, CertSet cert) @@ -1593,6 +1595,7 @@ test_connector_server_new (GIOStream *stream, priv->mech = g_strdup (mech); priv->user = g_strdup (user); priv->pass = g_strdup (pass); + priv->must = g_strdup (need_mech); priv->problem.sasl = sasl_problem; priv->problem.connector = problem; priv->conn = wocky_xmpp_connection_new (stream); diff --git a/tests/wocky-test-connector-server.h b/tests/wocky-test-connector-server.h index 4e781a3..31787aa 100644 --- a/tests/wocky-test-connector-server.h +++ b/tests/wocky-test-connector-server.h @@ -170,10 +170,11 @@ GType test_connector_server_get_type (void); TestConnectorServerClass)) TestConnectorServer * test_connector_server_new (GIOStream *stream, - gchar *mech, + const gchar *mech, const gchar *user, const gchar *pass, const gchar *version, + const gchar *need_mech, ConnectorProblem *problem, ServerProblem sasl_problem, CertSet cert); diff --git a/tests/wocky-test-sasl-auth-server.c b/tests/wocky-test-sasl-auth-server.c index f66736a..b1a0fd8 100644 --- a/tests/wocky-test-sasl-auth-server.c +++ b/tests/wocky-test-sasl-auth-server.c @@ -225,7 +225,7 @@ stream_open_sent (GObject *source, /* Send stream features */ stanza = wocky_stanza_new ("features", WOCKY_XMPP_NS_STREAM); - test_sasl_auth_server_set_mechs (G_OBJECT (self), stanza); + test_sasl_auth_server_set_mechs (G_OBJECT (self), stanza, NULL); wocky_xmpp_connection_send_stanza_async (priv->conn, stanza, priv->cancellable, features_sent, user_data); @@ -833,6 +833,25 @@ handle_auth (TestSaslAuthServer *self, WockyStanza *stanza) else ret = SASL_NOUSER; } + else if (priv->scram && g_str_has_prefix (priv->selected_mech, "SCRAM-SHA-")) + { + ScramRes res = { self, NULL, FALSE }; + + wocky_sasl_scram_server_start_async (priv->scram, (gchar *) response, + handle_auth_cb, priv->cancellable, &res); + + while (!res.complete) + g_main_context_iteration (NULL, FALSE); + + if (res.challenge) + { + ret = 1; /* SASL_CONTINUE */ + challenge = res.challenge; + challenge_len = strlen (challenge); + } + else + ret = SASL_NOUSER; + } else { #if HAVE_LIBSASL2 @@ -1015,6 +1034,25 @@ handle_response (TestSaslAuthServer *self, WockyStanza *stanza) else ret = SASL_BADAUTH; } + else if (priv->scram && g_str_has_prefix (priv->selected_mech, "SCRAM-SHA-")) + { + ScramRes res = { self, NULL, FALSE }; + + wocky_sasl_scram_server_step_async (priv->scram, (gchar *) response, + handle_response_cb, priv->cancellable, &res); + + while (!res.complete) + g_main_context_iteration (NULL, FALSE); + + if (res.challenge) + { + ret = SASL_OK; + challenge = res.challenge; + challenge_len = strlen (challenge); + } + else + ret = SASL_BADAUTH; + } else { #ifdef HAVE_LIBSASL2 @@ -1315,12 +1353,15 @@ test_sasl_auth_server_auth_async (GObject *obj, } gint -test_sasl_auth_server_set_mechs (GObject *obj, WockyStanza *feat) +test_sasl_auth_server_set_mechs (GObject *obj, + WockyStanza *feat, + const gchar *must) { int ret = 0; TestSaslAuthServer *self = TEST_SASL_AUTH_SERVER (obj); TestSaslAuthServerPrivate *priv = self->priv; WockyNode *mechnode = NULL; + gboolean hazmech = FALSE; if (priv->problem != SERVER_PROBLEM_NO_SASL) { @@ -1355,8 +1396,26 @@ test_sasl_auth_server_set_mechs (GObject *obj, WockyStanza *feat) { wocky_node_add_child_with_content (mechnode, "mechanism", *tmp); + if (!hazmech && !wocky_strdiff (*tmp, must)) + hazmech = TRUE; } g_strfreev (mechlist); + + if (!hazmech && must != NULL + && g_str_has_prefix (must, "SCRAM-SHA-")) + { + /* as said before, this is ridiculous so let's fix that */ + if (g_str_has_prefix (must, "SCRAM-SHA-256")) + { + if (priv->scram == NULL) + priv->scram = g_object_new (WOCKY_TYPE_SASL_SCRAM, + "server", "whatever", + "hash-algo", G_CHECKSUM_SHA256, + NULL); + wocky_node_add_child_with_content (mechnode, + "mechanism", must); + } + } } } return ret; diff --git a/tests/wocky-test-sasl-auth-server.h b/tests/wocky-test-sasl-auth-server.h index 0c89c6f..2fe8007 100644 --- a/tests/wocky-test-sasl-auth-server.h +++ b/tests/wocky-test-sasl-auth-server.h @@ -101,7 +101,8 @@ TestSaslAuthServer * test_sasl_auth_server_new (GIOStream *stream, void test_sasl_auth_server_stop (TestSaslAuthServer *self); -gint test_sasl_auth_server_set_mechs (GObject *obj, WockyStanza *feat); +gint test_sasl_auth_server_set_mechs (GObject *obj, WockyStanza *feat, + const gchar *must); G_END_DECLS diff --git a/wocky/wocky-xmpp-connection.c b/wocky/wocky-xmpp-connection.c index 4d4fdce..2817935 100644 --- a/wocky/wocky-xmpp-connection.c +++ b/wocky/wocky-xmpp-connection.c @@ -261,16 +261,13 @@ wocky_xmpp_connection_write_cb (GObject *source, &error); if (G_UNLIKELY (written < 0)) - { - g_task_return_error (priv->output_task, error); - goto finished; - } + goto finished; if (G_UNLIKELY (written == 0)) { - g_task_return_new_error (priv->output_task, - WOCKY_XMPP_CONNECTION_ERROR, WOCKY_XMPP_CONNECTION_ERROR_EOS, - "Connection got disconnected" ); + g_clear_error (&error); + error = g_error_new_literal (WOCKY_XMPP_CONNECTION_ERROR, + WOCKY_XMPP_CONNECTION_ERROR_EOS, "Connection got disconnected" ); goto finished; } @@ -295,8 +292,10 @@ finished: priv->output_cancellable = NULL; priv->output_task = NULL; - if (!g_task_had_error (t)) + if (error == NULL) g_task_return_boolean (t, TRUE); + else + g_task_return_error (t, error); g_object_unref (t); } @@ -462,16 +461,14 @@ _xmpp_connection_received_data (GObject *source, result, &error); if (G_UNLIKELY (size < 0)) - { - g_task_return_error (priv->input_task, error); - goto finished; - } + goto finished; if (G_UNLIKELY (size == 0)) { - g_task_return_new_error (priv->input_task, - WOCKY_XMPP_CONNECTION_ERROR, WOCKY_XMPP_CONNECTION_ERROR_EOS, - "Connection got disconnected" ); + g_clear_error (&error); + error = g_error_new_literal (WOCKY_XMPP_CONNECTION_ERROR, + WOCKY_XMPP_CONNECTION_ERROR_EOS, + "Connection got disconnected" ); goto finished; } @@ -513,8 +510,10 @@ finished: priv->input_cancellable = NULL; priv->input_task = NULL; - if (!g_task_had_error (t)) + if (error == NULL) g_task_return_boolean (t, TRUE); + else + g_task_return_error (t, error); g_object_unref (t); } |