diff options
-rw-r--r-- | .SRCINFO | 16 | ||||
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | PKGBUILD | 32 | ||||
-rw-r--r-- | config.patch | 55 | ||||
-rw-r--r-- | config.yaml | 146 | ||||
-rw-r--r-- | jackal.install | 1 |
6 files changed, 173 insertions, 78 deletions
@@ -1,28 +1,28 @@ pkgbase = jackal pkgdesc = An XMPP/Jabber server - pkgver = 0.8.2 + pkgver = 0.62.0 pkgrel = 1 url = https://github.com/ortuman/jackal install = jackal.install arch = x86_64 arch = i686 license = GPL3 - makedepends = go>=1.11 + makedepends = go>=1.18 depends = glibc optdepends = postgresql: PostgreSQL support optdepends = mariadb: MariaDB support conflicts = jackal-git - backup = etc/jackal/jackal.yml - source = jackal-0.8.2.tar.gz::https://github.com/ortuman/jackal/archive/v0.8.2.tar.gz + backup = etc/jackal/jackal.yml, + backup = etc/jackal/config.yaml + source = jackal-0.62.0.tar.gz::https://github.com/ortuman/jackal/archive/v0.62.0.tar.gz source = jackal.service source = jackal.sysusers source = jackal.tmpfiles - source = config.patch - sha256sums = 52b5c72d633909e25ab11d3ca5f82d414b5627d7226cb7ec50cdab08b6847bb7 + source = config.yaml + sha256sums = 21ff695045b51c237e88718fd4eda0337b98d3b4683ba67e9f4456758c68468f sha256sums = 0a9a9065957e5b0576e5443b29bf0cae81281194664376569a91c51f85e7d7ff sha256sums = 5fec4f4053ac15cd597bb32ba03c35d85f52438204fd801edf333403ec2c4bf3 sha256sums = 20b7e5a5fee727e72fdbac54182b594a838340c0625036ca9d117e2a9d710045 - sha256sums = b89cf730cf119e6800aa4b9dac3b7ad1f0b901829f035933d5ea998c561b55f4 + sha256sums = a6b361f52bb1ffb7b872c0ab43086048680cbe462ea95e72d85771d2418e52fe pkgname = jackal - diff --git a/.gitignore b/.gitignore index 13ebca0ec59c..e1fba51e90dc 100644 --- a/.gitignore +++ b/.gitignore @@ -3,5 +3,6 @@ src/ *.tar *.tar.gz *.tar.xz +*.tar.zst *.tar.zstd *.zip @@ -1,50 +1,52 @@ # Maintainer: Sam Whited <sam@samwhited.com> pkgname=jackal -pkgver=0.8.2 +pkgver=0.62.0 pkgrel=1 pkgdesc='An XMPP/Jabber server' arch=('x86_64' 'i686') url='https://github.com/ortuman/jackal' license=('GPL3') depends=('glibc') -makedepends=('go>=1.11') +makedepends=('go>=1.18') optdepends=('postgresql: PostgreSQL support' 'mariadb: MariaDB support') conflicts=('jackal-git') -backup=('etc/jackal/jackal.yml') +backup=('etc/jackal/jackal.yml', 'etc/jackal/config.yaml') source=("${pkgname}-${pkgver}.tar.gz::https://github.com/ortuman/jackal/archive/v${pkgver}.tar.gz" jackal.service jackal.sysusers jackal.tmpfiles - config.patch) -sha256sums=('52b5c72d633909e25ab11d3ca5f82d414b5627d7226cb7ec50cdab08b6847bb7' + config.yaml) +sha256sums=('21ff695045b51c237e88718fd4eda0337b98d3b4683ba67e9f4456758c68468f' '0a9a9065957e5b0576e5443b29bf0cae81281194664376569a91c51f85e7d7ff' '5fec4f4053ac15cd597bb32ba03c35d85f52438204fd801edf333403ec2c4bf3' '20b7e5a5fee727e72fdbac54182b594a838340c0625036ca9d117e2a9d710045' - 'b89cf730cf119e6800aa4b9dac3b7ad1f0b901829f035933d5ea998c561b55f4') + 'a6b361f52bb1ffb7b872c0ab43086048680cbe462ea95e72d85771d2418e52fe') install=jackal.install -prepare() { - cd jackal-${pkgver}/ - patch -Np1 -i ../config.patch -} - build() { cd jackal-${pkgver} - export GO111MODULE=on - go build -trimpath \ + go build -tags netgo \ + -trimpath \ + -buildmode=pie \ + -ldflags "-extldflags ${LDFLAGS}" \ + "github.com/ortuman/jackal/cmd/jackalctl" + go build -tags netgo \ + -trimpath \ -buildmode=pie \ - -ldflags "-extldflags ${LDFLAGS}" + -ldflags "-extldflags ${LDFLAGS}" \ + "github.com/ortuman/jackal/cmd/jackal" } package() { install -dm 775 "${pkgdir}/usr/share/doc/jackal/" install -dm 775 "${pkgdir}/usr/share/jackal/" - install -D "${srcdir}/jackal-${pkgver}/example.jackal.yml" "${pkgdir}/etc/jackal/jackal.yml" + install -D "${srcdir}/config.yaml" "${pkgdir}/etc/jackal/config.yaml" install -Dm444 "${srcdir}/jackal-${pkgver}/README.md" "${pkgdir}/usr/share/doc/jackal/" cp -r "${srcdir}/jackal-${pkgver}/sql/" "${pkgdir}/usr/share/jackal/" + install -Dm755 "${srcdir}/jackal-${pkgver}/jackalctl" "${pkgdir}/usr/bin/jackalctl" install -Dm755 "${srcdir}/jackal-${pkgver}/jackal" "${pkgdir}/usr/bin/jackal" install -Dm644 ${pkgname}.sysusers "${pkgdir}"/usr/lib/sysusers.d/${pkgname}.conf diff --git a/config.patch b/config.patch deleted file mode 100644 index 6ec23e16a727..000000000000 --- a/config.patch +++ /dev/null @@ -1,55 +0,0 @@ ---- a/example.jackal.yml -+++ b/example.jackal.yml -@@ -1,18 +1,18 @@ - # jackal default configuration file - --pid_path: jackal.pid -+pid_path: data/jackal.pid - --debug: -- port: 6060 -+# debug: -+# port: 6060 - - logger: - level: debug - log_path: jackal.log - - storage: -- type: mysql -- mysql: -- host: 127.0.0.1:3306 -+ type: pgsql -+ pgsql: -+ host: 127.0.0.1:5432 - user: jackal - password: password - database: jackal -@@ -67,19 +67,18 @@ - max_stanza_size: 65536 - resource_conflict: replace # [override, replace, reject] - -- transport: -- type: socket # websocket -- bind_addr: 0.0.0.0 -- port: 5222 -- keep_alive: 120 -- # url_path: /xmpp/ws -+ # transport: -+ # type: socket # websocket -+ # bind_addr: 0.0.0.0 -+ # port: 5222 -+ # keep_alive: 120 -+ # # url_path: /xmpp/ws - -- compression: -- level: default -+ # compression: -+ # level: default - - sasl: - - plain -- - digest_md5 - - scram_sha_1 - - scram_sha_256 - - scram_sha_512 diff --git a/config.yaml b/config.yaml new file mode 100644 index 000000000000..da31a33b2a9a --- /dev/null +++ b/config.yaml @@ -0,0 +1,146 @@ +###~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~### +### jackal configuration file ### +###~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~### +# +# +# WARNING: search for "TODO" in this document and replace secrets with something +# custom before uncommenting them. + +peppers: + keys: + #v1: m7FFfnHf2g3KsPRPvVjjEiu6uss8tAHg # <-- TODO: please, use your custom key here! + use: v1 + +#logger: +# level: "debug" +# output_path: "jackal.log" + +# Prometheus metrics and pprof +#http_port: 6060 + +#admin: +# port: 15280 + +#hosts: +# - domain: jackal.im +# tls: +# cert_file: "" +# privkey_file: "" + +storage: + type: pgsql + pgsql: + host: 127.0.0.1:5432 + user: jackal + password: password + database: jackal + max_open_conns: 16 + +cluster: + etcd: + endpoints: + - http://127.0.0.1:2379 + port: 14369 + +shapers: + #- name: super + # max_sessions: 20 + # rate: + # limit: 131072 + # burst: 65536 + # matching: + # jid: + # # in: [admin@localhost] + # regex: ^(admin|otheradmin)@localhost + + - name: normal + max_sessions: 10 + rate: + limit: 65536 + burst: 32768 + +listeners: + - type: c2s + port: 5222 + req_timeout: 60s + transport: socket + sasl: + mechanisms: [scram_sha_1, scram_sha_256] + + # Authentication gateway + # (proto: https://github.com/jackal-xmpp/jackal-proto/blob/master/jackal/proto/authenticator/v1/authenticator.proto) + external: + address: 127.0.0.1:4567 + is_secure: false + + - type: c2s + port: 5223 + direct_tls: true + req_timeout: 60s + transport: socket + sasl: + mechanisms: [scram_sha_1, scram_sha_256] + + - type: s2s + port: 5269 + req_timeout: 60s + max_stanza_size: 131072 + + - type: s2s + port: 5270 + direct_tls: true + req_timeout: 60s + max_stanza_size: 131072 + +s2s_out: + # dialback_secret: s3cr3tf0rd14lb4ck <-- TODO: Use a custom secret here + dial_timeout: 5s + req_timeout: 60s + max_stanza_size: 131072 + +modules: +# enabled: +# - roster +# - offline +# - disco +# - private +# - vcard +# - version +# - caps +# - ping +# - carbons +# +# version: +# show_os: true +# +# offline: +# queue_size: 300 +# +# ping: +# ack_timeout: 90s +# interval: 3m +# send_pings: true +# timeout_action: kill +# +# external: +# - name: ext_mod_1 +# address: 127.0.0.1:4569 +# is_secure: false +# request_timeout: 60s +# +# event_handler: +# topics: # notify c2s connect/disconnect events +# - c2s.stream.registered +# - c2s.stream.unregistered +# +# iq_handler: +# namespace: +# in: [ https://jackal.im ] +# # reg_ex: ^org.jackal.+ +# +# message_handler: +# pre_processor: true +# pre_router: true + +components: + diff --git a/jackal.install b/jackal.install index 2c96c7a4cd80..51982cdd1011 100644 --- a/jackal.install +++ b/jackal.install @@ -11,4 +11,5 @@ EOF post_install() { install -dm 750 /var/lib/jackal/ + sed -i "s/dialback_secret: .*/dialback_secret: $(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c64)/g" /etc/jackal/jackal.yml } |