Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

XEP 0045 - Multi-User Chat #5

Open
wants to merge 107 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
107 commits
Select commit Hold shift + click to select a range
2e57c9a
Create FUNDING.yml
ortuman Nov 3, 2019
5813607
Update FUNDING.yml
ortuman Nov 3, 2019
a1aa55a
Add support for XEP-0163 (Personal Eventing Protocol) (#97)
ortuman Dec 22, 2019
03c3951
Update CHANGELOG.md
ortuman Dec 22, 2019
3fa8981
Add context support (#98)
ortuman Dec 27, 2019
e446eb9
copy out s2s timeout configuration parameter
ortuman Dec 27, 2019
0e8749a
Segregate storage interface (#99)
ortuman Jan 7, 2020
d6d367e
updated postgres.up.psql
ortuman Jan 7, 2020
723d39a
add missing comments
ortuman Jan 8, 2020
2f308ad
add missing comments
ortuman Jan 8, 2020
8c56fe0
add missing comments
ortuman Jan 8, 2020
f6d8deb
fixed ineffectual assignments
ortuman Jan 8, 2020
2f74faa
Fixed Blocking Command (XEP-0191) (#101)
ortuman Jan 14, 2020
8b663c9
Update version.go
ortuman Jan 14, 2020
3e68387
updated CHANGELOG.md
ortuman Jan 14, 2020
12435b5
Update README.md (#103)
ortuman Feb 1, 2020
87ebed6
Service architecture refactoring (#104)
ortuman Mar 13, 2020
ba13cf2
Service architecture refactoring (#104)
ortuman Mar 13, 2020
c23d2aa
set resource limits
ortuman Mar 18, 2020
31d07a4
Refactor keepalive logic (#105)
ortuman Mar 22, 2020
533bc0e
remove GO111MODULE env var
ortuman Mar 22, 2020
b527116
remove c2s server unused fields
ortuman Mar 23, 2020
1186856
remove c2s server unused fields
ortuman Mar 23, 2020
38d743d
fix pgsql upsert capabilities SQL statement (#116)
ortuman Apr 14, 2020
e11f55e
fix pgsql pubsub storage panic (#117)
ortuman Apr 14, 2020
ce4e059
Fix broken SCRAM auth (#113)
SamWhited Apr 14, 2020
2ae39e6
Remove DIGEST-MD5 auth (#111)
SamWhited Apr 14, 2020
03f5584
Fix build rule in makefile (#108)
SamWhited Apr 14, 2020
1a3ed79
Rework Makefile to fix bugs and respect LDFLAGS (#118)
SamWhited Apr 15, 2020
6e964aa
Use a CSPRNG for generating salts and nonces (#110)
SamWhited Apr 15, 2020
ac6f916
Remove non-standard SCRAM-SHA-512 auth mechanism (#109)
SamWhited Apr 15, 2020
8c2cdb9
remove unused README.md resources
ortuman Jun 26, 2020
abd59f3
XEP 0045 - at the moment new rooms can be created (rebasing onto ortu…
mmalesev Mar 23, 2020
4041b2f
Config tests
mmalesev Aug 7, 2020
8c777da
Testing memory storage and refactoring roomkey
mmalesev Aug 7, 2020
79db16a
Tests for models and fixing the bug in room/FromBytes
mmalesev Aug 7, 2020
a7048c0
Ignoring go.sum just for a moment
mmalesev Aug 7, 2020
23e9242
Some gitignore mess
mmalesev Aug 10, 2020
96c45a6
Room creation working, some refactoring
mmalesev Aug 23, 2020
ca9a715
xep0045 tests
mmalesev Aug 31, 2020
39b2df3
Adding map to room test, processing IQs with muc
mmalesev Sep 1, 2020
c43589c
Instant room
mmalesev Sep 2, 2020
e9e9be9
Modifying the map to point to the occupant instead of the nick
mmalesev Sep 2, 2020
1830c15
Configuration form for the reserved room creation
mmalesev Sep 12, 2020
b446ee8
Bug fix - NonAnonymous got renamed to RealJIDDisc
mmalesev Sep 12, 2020
511744b
Adding room defaults into the yml file
mmalesev Sep 12, 2020
bd2c650
Making role and affiliation fields private
mmalesev Sep 12, 2020
7068d63
Cleaning up and finishing some TODOs
mmalesev Sep 13, 2020
75c6f9b
Adding UTs for the helper functions and some code cleanup
mmalesev Sep 13, 2020
a102275
Extending Service Discovery
mmalesev Sep 14, 2020
0bb57b7
Service discovery tests
mmalesev Sep 14, 2020
8b6fb21
Formating the config form
mmalesev Sep 14, 2020
e9a09ba
Refactoring room and occupant types
mmalesev Sep 15, 2020
ca19796
Admin/Owner test
mmalesev Sep 15, 2020
c5e9cbd
Fixing all rooms slice
mmalesev Sep 15, 2020
cc477a1
Config form can be submitted
mmalesev Sep 15, 2020
b0372b7
Fixed confirmation submission bug, expanded tests
mmalesev Sep 15, 2020
05a7501
Getting rid of some necessary fields
mmalesev Sep 16, 2020
f76a8db
Formating room creation presence stanza
mmalesev Sep 16, 2020
3819154
User can enter the room
mmalesev Sep 17, 2020
cfbe534
all of the section 7.2 handled
mmalesev Sep 21, 2020
826888a
Adding resources field to the occupant type
mmalesev Sep 21, 2020
4e92ec5
Breaking up the occupantCanEnterRoom function
mmalesev Sep 21, 2020
65aaf07
refactoring
mmalesev Sep 22, 2020
87cb84f
refactoring and unit tests
mmalesev Sep 22, 2020
c986a6b
Add resource to the to jid
mmalesev Sep 22, 2020
710ad51
Group messages passing through on Psi and Gajim
mmalesev Sep 27, 2020
83211d3
Message test file
mmalesev Sep 27, 2020
eb5ea7a
Occupant can send PM
mmalesev Sep 27, 2020
3c1bfaa
Handling occupant requests
mmalesev Oct 6, 2020
6b15cb7
User invite finished
mmalesev Oct 10, 2020
c84c00c
Affiliation/role decoupling
mmalesev Oct 10, 2020
699533f
Adding nick discovery
mmalesev Oct 16, 2020
d150c6a
Exiting the room
mmalesev Oct 16, 2020
202def1
Fixing bugs when entering the room
mmalesev Oct 16, 2020
337c0a0
Owner role fixed
mmalesev Oct 16, 2020
4ad9f39
Removing whitespace in the check
mmalesev Oct 16, 2020
2f24943
Nickname change bug fixed
mmalesev Oct 17, 2020
c44e6fe
making resource field private
mmalesev Oct 17, 2020
ad0cb7d
Making maps in struct Room private
mmalesev Oct 19, 2020
dbda7bf
code cleanup
mmalesev Oct 20, 2020
02fbb97
subject change
mmalesev Oct 21, 2020
5d984e3
kick user
mmalesev Oct 21, 2020
2fcdda5
Role change
mmalesev Oct 27, 2020
6730d9a
affiliation change
mmalesev Oct 30, 2020
8089356
user banned
mmalesev Oct 30, 2020
e714163
returning occupant list
mmalesev Oct 30, 2020
66804ff
Role and affiliation change
mmalesev Oct 31, 2020
4ce3974
getting rid of redundant code
mmalesev Oct 31, 2020
e42ebf3
Cleaning up the send functions
mmalesev Nov 2, 2020
e73376e
Cleaning up tests
mmalesev Nov 3, 2020
a07e736
Destroying room
mmalesev Nov 5, 2020
a535628
Voice request handled
mmalesev Nov 5, 2020
381c2ea
Occupant mySQL storage
mmalesev Nov 10, 2020
822be26
Potgres occupant storage
mmalesev Nov 10, 2020
ccad361
mysql room storage
mmalesev Nov 12, 2020
f06d20a
Fixing postgres test occupant
mmalesev Nov 12, 2020
3b6098f
postgres room storage
mmalesev Nov 12, 2020
fe76079
refactoring
mmalesev Nov 13, 2020
bd2dad6
mod and sum files
mmalesev Nov 13, 2020
277466d
renaming stanza.go
mmalesev Nov 13, 2020
cc85a9d
go fmt
mmalesev Nov 13, 2020
93a59e5
updating yml files
mmalesev Nov 13, 2020
d49e077
gitignore new line
mmalesev Nov 13, 2020
fc87afc
readme update
mmalesev Nov 13, 2020
6e32da8
Bumping circleci docker image to go 1.14
mmalesev Sep 29, 2021
25a1f25
Adding integration test for MUC extension
mmalesev Oct 25, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 6 additions & 0 deletions .circleci/Dockerfile-jackal
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
FROM ubuntu:18.04

# Jackal
RUN apt-get update && apt-get install --assume-yes sudo mysql-client
COPY ./setup/wait_for_db.sh /root/
COPY testdata/muc/server/ /root/
9 changes: 7 additions & 2 deletions .circleci/Dockerfile-profanity
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
FROM ubuntu:18.04
FROM archlinux:base-20211024.0.37588

# a hack required to install profanity, glibc needs to be downgraded, the issue is with the arch docker image
RUN patched_glibc=glibc-linux4-2.33-4-x86_64.pkg.tar.zst && \
curl -LO "https://repo.archlinuxcn.org/x86_64/$patched_glibc" && \
bsdtar -C / -xvf "$patched_glibc"

# Install base
RUN apt-get update && apt-get install --assume-yes profanity
RUN pacman -Sy --noconfirm profanity

# Set up the profanity account
RUN mkdir --parent /root/.local/share/profanity
Expand Down
87 changes: 77 additions & 10 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,8 @@ version: 2
jobs:
unit_tests:
docker:
- image: circleci/golang:1.12
- image: circleci/golang:1.14
working_directory: /go/src/github.com/ortuman/jackal
environment:
GO111MODULE: "on"

steps:
- checkout
Expand All @@ -33,12 +31,11 @@ jobs:
set -xe
go test ./...

integration:
scion:
docker:
- image: circleci/golang:1.12
- image: circleci/golang:1.14
working_directory: ~/repo
environment:
GO111MODULE: "on"
BASH_ENV: "~/repo/.circleci/bash_env.sh"
JACKAL_DIR: "/root"
coreAS1301IP: 172.31.0.110
Expand All @@ -52,20 +49,20 @@ jobs:
docker_layer_caching: false #not available in the free plan

- run:
name: build
name: Build jackal
command: |
set -xe
make build

# Start integration tests
# Start scion integration tests
- run:
name: Build containers
command: |
set -xe
sudo -E docker-compose -f .circleci/docker-compose.yml kill # stop containers
sudo -E docker-compose -f .circleci/docker-compose.yml down # bring composition down
sudo -E docker-compose -f .circleci/docker-compose.yml build

- run:
name: Start AS Containers
command: |
Expand Down Expand Up @@ -132,9 +129,79 @@ jobs:
set -xe
sudo -E docker exec profanity1 /bin/bash -c 'until grep -q "user2@server2\.xmpp" /root/.local/share/profanity/logs/profanity.log; do cat /root/.local/share/profanity/logs/profanity.log; sleep 1; done;'

groupchat:
docker:
- image: circleci/golang:1.14
working_directory: ~/repo
environment:
BASH_ENV: "~/repo/.circleci/bash_env.sh"
JACKAL_DIR: "/root"
SERVER_IP: 172.30.0.110

steps:
- checkout

- setup_remote_docker:
docker_layer_caching: false #not available in the free plan

- run:
name: Build jackal
command: |
set -xe
make build

- run:
name: Build containers
command: |
set -xe
sudo -E docker-compose -f .circleci/docker-compose-muc.yml kill
sudo -E docker-compose -f .circleci/docker-compose-muc.yml down
sudo -E docker-compose -f .circleci/docker-compose-muc.yml build

- run:
name: Start server container
command: |
set -xe
sudo -E docker-compose -f .circleci/docker-compose-muc.yml up --no-start jackal_server
sudo -E docker cp ./jackal jackal_server:/root/jackal
sudo -E docker cp ./.circleci/setup/muc/start_server.sh jackal_server:/root/start_server.sh
sudo -E docker-compose -f .circleci/docker-compose-muc.yml up --no-recreate -d jackal_server

- run:
name: Start jackal server
command: |
set -xe
sudo -E docker exec jackal_server /bin/bash -c '/root/start_server.sh;'
sudo -E docker exec jackal_server /bin/bash -c "until grep -q 'listening\ at\ 0.0.0.0\:5222' ${JACKAL_DIR}/jackal.log; do sleep 1; done;"

- run:
name: Start client containers
command: |
set -xe
for c in client_owner client_admin; do
sudo -E docker-compose -f .circleci/docker-compose-muc.yml up --no-start $c
sudo -E docker cp ./.circleci/setup/muc/setup_client.sh $c:/root/setup_client.sh
sudo -E docker-compose -f .circleci/docker-compose-muc.yml up --no-recreate -d $c
sudo -E docker exec $c /bin/bash -c '/root/setup_client.sh;'
done

- run:
name: Owner connects and creates a room
command: |
set -xe
sudo -E docker exec -it -d client_owner profanity -a alice

- run:
name: Admin connects, joins the room and dms the owner from the room
command: |
set -xe
sudo -E docker exec -it -d client_admin profanity -a bob
sudo -E docker exec client_owner /bin/bash -c 'until grep -q "bob\:\ Hi" /root/.local/share/profanity/chatlogs/alice_at_muc_server.xmpp/netsec_at_conference.muc_server.xmpp_bob/*\.log; do cat /root/.local/share/profanity/alice_at_muc_server.xmpp/netsec_at_conference.muc_server.xmpp_bob/*\.log; sleep 1; done;'

workflows:
version: 2
tests:
jobs:
- unit_tests
- integration
- scion
- groupchat
69 changes: 69 additions & 0 deletions .circleci/docker-compose-muc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
version: "2"

networks:
muc_net:
driver: bridge
ipam:
driver: default
config:
- subnet: 172.30.0.0/16

services:
jackal_db:
image: mysql:5.7
restart: always
environment:
MYSQL_ROOT_PASSWORD: 'password'
networks:
- muc_net

jackal_server:
build:
context: .
dockerfile: Dockerfile-jackal
container_name: jackal_server
depends_on:
- jackal_db
networks:
muc_net:
ipv4_address: ${SERVER_IP}
tty: true
privileged: true
links:
- jackal_db:mysql_host

client_owner:
build:
context: .
dockerfile: Dockerfile-profanity
container_name: client_owner
networks:
- muc_net
environment:
CLIENT_ID: owner
tty: true
entrypoint: /bin/bash

client_admin:
build:
context: .
dockerfile: Dockerfile-profanity
container_name: client_admin
networks:
- muc_net
environment:
CLIENT_ID: admin
tty: true
entrypoint: /bin/bash

client_member:
build:
context: .
dockerfile: Dockerfile-profanity
container_name: client_member
networks:
- muc_net
environment:
CLIENT_ID: member
tty: true
entrypoint: /bin/bash
6 changes: 2 additions & 4 deletions .circleci/setup/install_client.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,9 @@ set -xe
if [ "$CLIENT_ID" == "client1" ]; then
cp -r /root/c1_data/profanity/* /root/.local/share/profanity/
echo "172.31.0.111 server1.xmpp" >> /etc/hosts
cp /root/c1_data/server1.xmpp.crt /usr/local/share/ca-certificates/
update-ca-certificates
trust anchor --store /root/c1_data/server1.xmpp.crt
else
cp -r /root/c2_data/profanity/* /root/.local/share/profanity/
echo "172.31.0.112 server2.xmpp" >> /etc/hosts
cp /root/c2_data/server2.xmpp.crt /usr/local/share/ca-certificates/
update-ca-certificates
trust anchor --store /root/c2_data/server2.xmpp.crt
fi
12 changes: 12 additions & 0 deletions .circleci/setup/muc/setup_client.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/bin/bash
set -xe

# Set up the profanity account
cp -r /root/muc/client_${CLIENT_ID}_data/profanity/* /root/.local/share/profanity/

# Add DNS records for the xmpp and muc servers
echo "172.30.0.110 muc_server.xmpp" >> /etc/hosts
echo "172.30.0.110 conference.muc_server.xmpp" >> /etc/hosts

# Install the server certificate
trust anchor --store /root/muc/server/ssl/muc_server.xmpp.crt
17 changes: 17 additions & 0 deletions .circleci/setup/muc/start_server.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#!/bin/bash

set -ex
BASE=$(dirname $0)
cd $BASE

./wait_for_db.sh

# create database
echo "GRANT ALL ON jackal.* TO 'jackal'@ IDENTIFIED BY 'password';" | mysql -h mysql_host -u root -ppassword
echo "CREATE DATABASE jackal;" | mysql -h mysql_host -u jackal -ppassword

# load user data
mysql -h mysql_host -D jackal -u jackal -ppassword < muc_data.sql

# start jackal
./jackal -c muc_jackal.yml </dev/null &> jackal.stdout &
2 changes: 1 addition & 1 deletion .circleci/setup/wait_for_db.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ counter=1
while ! mysql --protocol TCP -h mysql_host -u root -ppassword -e "show databases;" > /dev/null 2>&1; do
sleep 1
((counter++))
if [ $counter -gt 10 ]; then
if [ $counter -gt 60 ]; then
>&2 echo "We have been waiting for MySQL too long already; failing."
exit 1
fi
Expand Down
28 changes: 28 additions & 0 deletions .circleci/testdata/muc/client_admin_data/muc_server.xmpp.crt
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
-----BEGIN CERTIFICATE-----
MIIEyDCCAzCgAwIBAgIUEMCpBI00Dsni3OXfXTQudKAdEO4wDQYJKoZIhvcNAQEL
BQAwXzELMAkGA1UEBhMCVVMxEDAOBgNVBAgMB3ByaXZhdGUxETAPBgNVBAcMCHBy
b3ZpbmNlMQ0wCwYDVQQKDARjaXR5MRwwGgYDVQQDDBNtdWNfc2VydmVyLnhtcHAu
a2V5MB4XDTIxMTAyNTE0MjIzMFoXDTIzMTAyNTE0MjIzMFowXzELMAkGA1UEBhMC
VVMxEDAOBgNVBAgMB3ByaXZhdGUxETAPBgNVBAcMCHByb3ZpbmNlMQ0wCwYDVQQK
DARjaXR5MRwwGgYDVQQDDBNtdWNfc2VydmVyLnhtcHAua2V5MIIBojANBgkqhkiG
9w0BAQEFAAOCAY8AMIIBigKCAYEApPHgFN8g7OM6jpnC+VZyjG2jksDfwQ5lqB9y
NjBwsunjN7cayUXeTWOzdZLtfCH4umDaAn0eTBocDLmAW8KoQoZ3wtvZ6XeybVHH
I+zpbrm6he8dg4Raz04vfGCAjLE+0fWe2oS11gBhIgdXPPlMYRNd6M/Q5gVJHLNr
IQa8OkHDOunjEfCOghm+T1LDsPO+P3aqVT57CXBPnIujZdsm3+fVF7lmqkdS/ED4
8weUGPVhoPF3tn+u7xupAoHRAn0M6/+CuXB34BgLuj0KtArIDlSQpGROgRGVCg1d
gPjAMJO476ZUIClk7r7WHDEBAnGfer1bm+6pqzEafK4JWZl+hOYHrRi77nwhmzNj
H4ClwXEleLQERQRI/d2Dmv5zDAbZZ/jXte2ZVjhZ/5heCtlMMf/Q2/Wtb6BHi1GT
jGInBsbU6M+jFLuTAUlnREIWg/c7HC1L0IpEk0nDEpRRrfQ4UI73vRFZ19IDhofR
HlDmVjJHos1AnXdwkUmZKO+mrvC7AgMBAAGjfDB6MB0GA1UdDgQWBBQA4X+kZ1Ve
84r/skjK0dMVNxDetTAfBgNVHSMEGDAWgBQA4X+kZ1Ve84r/skjK0dMVNxDetTAP
BgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIFoDAaBgNVHREEEzARgg9tdWNfc2Vy
dmVyLnhtcHAwDQYJKoZIhvcNAQELBQADggGBAC9Z1AlaNod6XUJOT8EybUAzEslV
6Np7NFgzDK5tfCNWDdYQyO3Yb5gTTA7kz+DIU0fff6QQaXkT6kMMh7WFtb2tc6Wi
mq6fSJ2dolBP2/Cxv59LHEO54ZiMBRrpbaA+6HqGKPTJcWOx87iExZNvlb9gQPfz
8jx55+7lix7+IVid2wAjCZ5UE6+0vseffkBNMJ3lxOAaNJO/kp10w5vG3yz7Q8Vh
H4iategJ2PFPNGijHr5hdxa3zji6rojxDA4CyGH10VvxdZEsZnx4Moh+CfUCgsaC
K3iUrNu1XMkyuROpYekVOdYMTVnkZ2jYhbFNzzm0awq11zk0Di8D71xfgsHVeIbo
8IHeDeRJxMKcK1jYbjoskzvh/vTEZK0KOK8qw/RFxQj9XP0wEVS8b7M2qkEUQbBj
5MZv36ruwcWYNUdXI945Ie4lLGrlO6ysQhqgZgny8LqwT69w4LFOvdG48Xx3OJ8J
GDYeGv1DEU9LOiMlO45w1TGbyMS7fpKfVqLx6g==
-----END CERTIFICATE-----
14 changes: 14 additions & 0 deletions .circleci/testdata/muc/client_admin_data/profanity/accounts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
[bob]
enabled=true
jid=bob@muc_server.xmpp
resource=profanity
muc.nick=bob
presence.last=online
presence.login=online
priority.online=0
priority.chat=0
priority.away=0
priority.xa=0
priority.dnd=0
password=asdf
script.start=admin_script
Empty file.
Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/join [email protected]_server.xmpp
/msg [email protected]_server.xmpp/alice Hi
28 changes: 28 additions & 0 deletions .circleci/testdata/muc/client_owner_data/muc_server.xmpp.crt
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
-----BEGIN CERTIFICATE-----
MIIEyDCCAzCgAwIBAgIUEMCpBI00Dsni3OXfXTQudKAdEO4wDQYJKoZIhvcNAQEL
BQAwXzELMAkGA1UEBhMCVVMxEDAOBgNVBAgMB3ByaXZhdGUxETAPBgNVBAcMCHBy
b3ZpbmNlMQ0wCwYDVQQKDARjaXR5MRwwGgYDVQQDDBNtdWNfc2VydmVyLnhtcHAu
a2V5MB4XDTIxMTAyNTE0MjIzMFoXDTIzMTAyNTE0MjIzMFowXzELMAkGA1UEBhMC
VVMxEDAOBgNVBAgMB3ByaXZhdGUxETAPBgNVBAcMCHByb3ZpbmNlMQ0wCwYDVQQK
DARjaXR5MRwwGgYDVQQDDBNtdWNfc2VydmVyLnhtcHAua2V5MIIBojANBgkqhkiG
9w0BAQEFAAOCAY8AMIIBigKCAYEApPHgFN8g7OM6jpnC+VZyjG2jksDfwQ5lqB9y
NjBwsunjN7cayUXeTWOzdZLtfCH4umDaAn0eTBocDLmAW8KoQoZ3wtvZ6XeybVHH
I+zpbrm6he8dg4Raz04vfGCAjLE+0fWe2oS11gBhIgdXPPlMYRNd6M/Q5gVJHLNr
IQa8OkHDOunjEfCOghm+T1LDsPO+P3aqVT57CXBPnIujZdsm3+fVF7lmqkdS/ED4
8weUGPVhoPF3tn+u7xupAoHRAn0M6/+CuXB34BgLuj0KtArIDlSQpGROgRGVCg1d
gPjAMJO476ZUIClk7r7WHDEBAnGfer1bm+6pqzEafK4JWZl+hOYHrRi77nwhmzNj
H4ClwXEleLQERQRI/d2Dmv5zDAbZZ/jXte2ZVjhZ/5heCtlMMf/Q2/Wtb6BHi1GT
jGInBsbU6M+jFLuTAUlnREIWg/c7HC1L0IpEk0nDEpRRrfQ4UI73vRFZ19IDhofR
HlDmVjJHos1AnXdwkUmZKO+mrvC7AgMBAAGjfDB6MB0GA1UdDgQWBBQA4X+kZ1Ve
84r/skjK0dMVNxDetTAfBgNVHSMEGDAWgBQA4X+kZ1Ve84r/skjK0dMVNxDetTAP
BgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIFoDAaBgNVHREEEzARgg9tdWNfc2Vy
dmVyLnhtcHAwDQYJKoZIhvcNAQELBQADggGBAC9Z1AlaNod6XUJOT8EybUAzEslV
6Np7NFgzDK5tfCNWDdYQyO3Yb5gTTA7kz+DIU0fff6QQaXkT6kMMh7WFtb2tc6Wi
mq6fSJ2dolBP2/Cxv59LHEO54ZiMBRrpbaA+6HqGKPTJcWOx87iExZNvlb9gQPfz
8jx55+7lix7+IVid2wAjCZ5UE6+0vseffkBNMJ3lxOAaNJO/kp10w5vG3yz7Q8Vh
H4iategJ2PFPNGijHr5hdxa3zji6rojxDA4CyGH10VvxdZEsZnx4Moh+CfUCgsaC
K3iUrNu1XMkyuROpYekVOdYMTVnkZ2jYhbFNzzm0awq11zk0Di8D71xfgsHVeIbo
8IHeDeRJxMKcK1jYbjoskzvh/vTEZK0KOK8qw/RFxQj9XP0wEVS8b7M2qkEUQbBj
5MZv36ruwcWYNUdXI945Ie4lLGrlO6ysQhqgZgny8LqwT69w4LFOvdG48Xx3OJ8J
GDYeGv1DEU9LOiMlO45w1TGbyMS7fpKfVqLx6g==
-----END CERTIFICATE-----
14 changes: 14 additions & 0 deletions .circleci/testdata/muc/client_owner_data/profanity/accounts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
[alice]
enabled=true
jid=alice@muc_server.xmpp
resource=profanity
muc.nick=alice
presence.last=online
presence.login=online
priority.online=0
priority.chat=0
priority.away=0
priority.xa=0
priority.dnd=0
password=asdf
script.start=owner_script
Empty file.
Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/logging chat on
/join [email protected]_server.xmpp
Loading