Compare commits

..

22 Commits

Author SHA1 Message Date
8b14664dc7 Merge pull request 'Update dependency com.googlecode.libphonenumber:libphonenumber to v8.13.33' (#9) from renovate/com.googlecode.libphonenumber-libphonenumber-8.x into master
Reviewed-on: #9
2024-03-26 15:18:14 +00:00
f0922d67df Merge pull request 'Update dependency com.google.firebase:firebase-admin to v5.11.0' (#8) from renovate/com.google.firebase-firebase-admin-5.x into master
Reviewed-on: #8
2024-03-26 15:18:02 +00:00
6e05b51fdc Update dependency com.googlecode.libphonenumber:libphonenumber to v8.13.33 2024-03-26 15:02:08 +00:00
0999ef6309 Update dependency com.google.firebase:firebase-admin to v5.11.0 2024-03-26 15:02:06 +00:00
cae00f4606 Merge pull request 'Update dependency com.github.ben-manes:gradle-versions-plugin to v0.51.0' (#7) from renovate/com.github.ben-manes-gradle-versions-plugin-0.x into master
Reviewed-on: #7
2024-03-26 14:15:58 +00:00
941ae697e7 Merge pull request 'Update openjdk Docker tag to v11.0.16-jre-slim' (#6) from renovate/openjdk-11.x into master
Reviewed-on: #6
2024-03-26 14:15:43 +00:00
fbf1ea8f5b Merge pull request 'Update dependency org.slf4j:slf4j-simple to v1.7.36' (#5) from renovate/slf4j-monorepo into master
Reviewed-on: #5
2024-03-26 14:15:25 +00:00
4eef3ac40d Merge pull request 'Update dependency org.mariadb.jdbc:mariadb-java-client to v2.7.12' (#4) from renovate/org.mariadb.jdbc-mariadb-java-client-2.x into master
Reviewed-on: #4
2024-03-26 14:15:06 +00:00
e6c90aa00f Update dependency com.github.ben-manes:gradle-versions-plugin to v0.51.0 2024-03-26 14:02:17 +00:00
ca306a3212 Update openjdk Docker tag to v11.0.16-jre-slim 2024-03-26 14:02:15 +00:00
e8864afe02 Update dependency org.slf4j:slf4j-simple to v1.7.36 2024-03-26 13:02:02 +00:00
f09ede8780 Update dependency org.mariadb.jdbc:mariadb-java-client to v2.7.12 2024-03-26 13:02:01 +00:00
98146d3468 Merge pull request 'Update dependency org.apache.httpcomponents:httpclient to v4.5.14' (#3) from renovate/org.apache.httpcomponents-httpclient-4.x into master
Reviewed-on: #3
2024-03-26 12:25:59 +00:00
5f64b72a91 Merge pull request 'Update dependency com.unboundid:unboundid-ldapsdk to v4.0.14' (#2) from renovate/com.unboundid-unboundid-ldapsdk-4.x into master
Reviewed-on: #2
2024-03-26 12:25:43 +00:00
acb2b5a37d Update ma1sd to mxids 2024-03-26 13:21:48 +01:00
9f9c48aaa7 Update dependency org.apache.httpcomponents:httpclient to v4.5.14 2024-03-26 12:21:43 +00:00
eb6e541e15 Update dependency com.unboundid:unboundid-ldapsdk to v4.0.14 2024-03-26 12:21:41 +00:00
e45ac5a78a Merge pull request 'Add renovate.json' (#1) from tomas.kracmar-add-renovatebot-support into master
Reviewed-on: #1
2024-03-14 09:06:29 +00:00
aebcb7b5e1 Add renovate.json 2024-03-14 09:06:12 +00:00
c45f95ce3f Merge pull request 'Upgrade to V3 API' (#1) from ext/v3_update into master
Reviewed-on: cqrenet/ma1sd#1
2024-03-11 08:51:06 +00:00
640fa8e9f1 Upgrade to V3 API 2024-03-11 09:50:09 +01:00
0f3c37bf6a Get access_token from header correctly 2024-03-05 17:50:29 +01:00
15 changed files with 72 additions and 59 deletions

4
.gitignore vendored
View File

@@ -7,8 +7,8 @@ out/
.idea/
# Local dev config
/ma1sd.yaml
/mxids.yaml
/application.yaml
# Local dev storage
/ma1sd.db
/mxids.db

View File

@@ -10,17 +10,17 @@ FROM openjdk:8-jre-alpine
RUN apk update && apk add bash && rm -rf /var/lib/apk/* /var/cache/apk/*
VOLUME /etc/ma1sd
VOLUME /var/ma1sd
VOLUME /etc/mxids
VOLUME /var/mxids
EXPOSE 8090
ENV JAVA_OPTS=""
ENV CONF_FILE_PATH="/etc/ma1sd/ma1sd.yaml"
ENV SIGN_KEY_PATH="/var/ma1sd/sign.key"
ENV SQLITE_DATABASE_PATH="/var/ma1sd/ma1sd.db"
ENV CONF_FILE_PATH="/etc/mxids/mxids.yaml"
ENV SIGN_KEY_PATH="/var/mxids/sign.key"
ENV SQLITE_DATABASE_PATH="/var/mxids/mxids.db"
CMD [ "/start.sh" ]
ADD src/docker/start.sh /start.sh
ADD src/script/ma1sd /app/ma1sd
COPY --from=builder /ma1sd/build/libs/ma1sd.jar /app/ma1sd.jar
ADD src/script/mxids /app/mxids
COPY --from=builder /mxids/build/libs/mxids.jar /app/mxids.jar

View File

@@ -1,16 +1,16 @@
FROM --platform=$BUILDPLATFORM openjdk:11.0.7-jre-slim
FROM --platform=$BUILDPLATFORM openjdk:11.0.16-jre-slim
VOLUME /etc/ma1sd
VOLUME /var/ma1sd
EXPOSE 8090
ENV JAVA_OPTS=""
ENV CONF_FILE_PATH="/etc/ma1sd/ma1sd.yaml"
ENV SIGN_KEY_PATH="/var/ma1sd/sign.key"
ENV SQLITE_DATABASE_PATH="/var/ma1sd/ma1sd.db"
ENV CONF_FILE_PATH="/etc/mxids/mxids.yaml"
ENV SIGN_KEY_PATH="/var/mxids/sign.key"
ENV SQLITE_DATABASE_PATH="/var/mxids/mxids.db"
CMD [ "/start.sh" ]
ADD src/docker/start.sh /start.sh
ADD src/script/ma1sd /app/ma1sd
ADD build/libs/ma1sd.jar /app/ma1sd.jar
ADD src/script/mxids /app/mxids
ADD build/libs/mxids.jar /app/mxids.jar

View File

@@ -1,5 +1,5 @@
/*
* ma1sd - Matrix Identity Server Daemon
* mxids - Matrix Identity Server
* Copyright (C) 2017 Kamax Sarl
*
* https://www.kamax.io/
@@ -26,16 +26,16 @@ apply plugin: 'com.github.johnrengelman.shadow'
apply plugin: 'idea'
apply plugin: 'com.github.ben-manes.versions'
def confFileName = "ma1sd.example.yaml"
def confFileName = "mxids.example.yaml"
def distDir = "${project.buildDir}/dist"
def debBinPath = "/usr/lib/ma1sd"
def debConfPath = "/etc/ma1sd"
def debDataPath = "/var/lib/ma1sd"
def debBinPath = "/usr/lib/mxids"
def debConfPath = "/etc/mxids"
def debDataPath = "/var/lib/mxids"
def debSystemdPath = "/etc/systemd/system"
def debConfFileName = confFileName
def debStartScriptFilename = "ma1sd"
def debStartScriptFilename = "mxids"
def debBuildBasePath = "${project.buildDir}/tmp/debian"
def debBuildDebianPath = "${debBuildBasePath}/DEBIAN"
@@ -44,8 +44,8 @@ def debBuildConfPath = "${debBuildBasePath}${debConfPath}"
def debBuildDataPath = "${debBuildBasePath}${debDataPath}"
def debBuildSystemdPath = "${debBuildBasePath}${debSystemdPath}"
def dockerImageName = "ma1uta/ma1sd"
def dockerImageTag = "${dockerImageName}:${ma1sdVersion()}"
def dockerImageName = "cqrenet/mxids"
def dockerImageTag = "${dockerImageName}:${mxidsVersion()}"
group = 'io.kamax'
mainClassName = 'io.kamax.mxisd.MxisdStandaloneExec'
@@ -55,7 +55,7 @@ targetCompatibility = '1.8'
String ma1sdVersion() {
def versionPattern = Pattern.compile("v(\\d+\\.)?(\\d+\\.)?(\\d+)(-.*)?")
String version = System.getenv('MA1SD_BUILD_VERSION')
String version = System.getenv('MXIDS_BUILD_VERSION')
if (version == null || version.size() == 0) {
version = gitVersion()
}
@@ -79,7 +79,7 @@ buildscript {
dependencies {
classpath 'com.github.jengelman.gradle.plugins:shadow:6.1.0'
classpath 'com.github.ben-manes:gradle-versions-plugin:0.38.0'
classpath 'com.github.ben-manes:gradle-versions-plugin:0.51.0'
}
}
@@ -89,7 +89,7 @@ repositories {
dependencies {
// Logging
api 'org.slf4j:slf4j-simple:1.7.25'
api 'org.slf4j:slf4j-simple:1.7.36'
// Easy file management
api 'commons-io:commons-io:2.8.0'
@@ -115,17 +115,17 @@ dependencies {
api 'dnsjava:dnsjava:2.1.9'
// HTTP connections
api 'org.apache.httpcomponents:httpclient:4.5.13'
api 'org.apache.httpcomponents:httpclient:4.5.14'
// Phone numbers validation
api 'com.googlecode.libphonenumber:libphonenumber:8.12.21'
api 'com.googlecode.libphonenumber:libphonenumber:8.13.33'
// E-mail sending
api 'javax.mail:javax.mail-api:1.6.2'
api 'com.sun.mail:javax.mail:1.6.2'
// Google Firebase Authentication backend
api 'com.google.firebase:firebase-admin:5.3.0'
api 'com.google.firebase:firebase-admin:5.11.0'
// Connection Pool
api 'com.mchange:c3p0:0.9.5.5'
@@ -137,7 +137,7 @@ dependencies {
api 'org.postgresql:postgresql:42.2.19'
// MariaDB/MySQL
api 'org.mariadb.jdbc:mariadb-java-client:2.7.2'
api 'org.mariadb.jdbc:mariadb-java-client:2.7.12'
// UNIX sockets
api 'com.kohlschutter.junixsocket:junixsocket-core:2.3.3'
@@ -159,14 +159,14 @@ dependencies {
testImplementation 'junit:junit:4.13.2'
testImplementation 'com.github.tomakehurst:wiremock:2.27.2'
testImplementation 'com.unboundid:unboundid-ldapsdk:4.0.12'
testImplementation 'com.unboundid:unboundid-ldapsdk:4.0.14'
testImplementation 'com.icegreen:greenmail:1.5.11'
}
jar {
manifest {
attributes(
'Implementation-Version': ma1sdVersion()
'Implementation-Version': mxidsVersion()
)
}
}
@@ -179,7 +179,7 @@ shadowJar {
task debBuild(dependsOn: shadowJar) {
doLast {
String debVersion = ma1sdVersion()
String debVersion = mxidsVersion()
println "Version for package: ${debVersion}"
mkdir distDir
mkdir debBuildBasePath
@@ -190,7 +190,7 @@ task debBuild(dependsOn: shadowJar) {
mkdir debBuildSystemdPath
copy {
from "${project.buildDir}/libs/ma1sd.jar"
from "${project.buildDir}/libs/mxids.jar"
into debBuildBinPath
}
@@ -238,7 +238,7 @@ task debBuild(dependsOn: shadowJar) {
ant.replace(
file: "${debBuildDebianPath}/postinst",
token: '%DEB_CONF_FILE%',
value: "${debConfPath}/ma1sd.yaml"
value: "${debConfPath}/mxids.yaml"
)
ant.chmod(
@@ -252,7 +252,7 @@ task debBuild(dependsOn: shadowJar) {
)
copy {
from "${project.file('src/systemd/ma1sd.service')}"
from "${project.file('src/systemd/mxids.service')}"
into debBuildSystemdPath
}

View File

@@ -1,10 +1,12 @@
# From source
- [Binaries](#binaries)
- [Requirements](#requirements)
- [Build](#build)
- [Debian package](#debian-package)
- [Docker image](#docker-image)
- [Next steps](#next-steps)
- [From source](#from-source)
- [Binaries](#binaries)
- [Requirements](#requirements)
- [Build](#build)
- [Debian package](#debian-package)
- [Docker image](#docker-image)
- [Multi-platform builds](#multi-platform-builds)
- [Next steps](#next-steps)
## Binaries
### Requirements
@@ -19,7 +21,7 @@ cd ma1sd
./gradlew build
```
Create a new configuration file by coping `ma1sd.example.yaml` to `ma1sd.yaml` and edit to your needs.
Create a new configuration file by coping `mxids.example.yaml` to `mxids.yaml` and edit to your needs.
For advanced configuration, see the [Configure section](configure.md).
Start the server in foreground to validate the build and configuration:

View File

@@ -1,7 +1,10 @@
# Operations Guide
- [Overview](#overview)
- [Maintenance](#maintenance)
- [Backuo](#backup)
- [Operations Guide](#operations-guide)
- [Overview](#overview)
- [Maintenance](#maintenance)
- [Backup](#backup)
- [Run](#run)
- [Restore](#restore)
## Overview
This document gives various information for the day-to-day management and operations of ma1sd.

11
renovate.json Normal file
View File

@@ -0,0 +1,11 @@
{
"extends": [
"config:base"
],
"packageRules": [
{
"updateTypes": ["minor", "patch", "pin", "digest"],
"automerge": true
}
]
}

View File

@@ -53,7 +53,7 @@ public class MatrixPath {
}
public static MatrixPath clientR0() {
return client().add("r0");
return client().add("v3");
}
private StringBuilder path = new StringBuilder();

View File

@@ -375,13 +375,13 @@ public abstract class AMatrixHttpClient implements _MatrixClientRaw {
}
protected HttpUrl.Builder getClientPathBuilder(String... segments) {
String[] base = { "client", "r0" };
String[] base = { "client", "v3" };
segments = ArrayUtils.addAll(base, segments);
return getPathBuilder(segments);
}
protected HttpUrl.Builder getMediaPathBuilder(String... segments) {
String[] base = { "media", "r0" };
String[] base = { "media", "v3" };
segments = ArrayUtils.addAll(base, segments);
return getPathBuilder(segments);
}

View File

@@ -29,10 +29,7 @@ import java.util.Optional;
public abstract class ApplicationServiceHandler extends BasicHttpHandler {
protected String getToken(HttpServerExchange ex) {
return Optional.ofNullable(ex.getQueryParameters()
.getOrDefault("access_token", new LinkedList<>())
.peekFirst()
).orElse("");
return getAccessToken(ex);
}
}

View File

@@ -24,6 +24,6 @@ import io.kamax.mxisd.http.undertow.handler.BasicHttpHandler;
public abstract class LoginHandler extends BasicHttpHandler {
public static final String Path = "/_matrix/client/r0/login";
public static final String Path = "/_matrix/client/v3/login";
}

View File

@@ -31,7 +31,7 @@ import java.net.URI;
public class UserDirectorySearchHandler extends HomeserverProxyHandler {
public static final String Path = "/_matrix/client/r0/user_directory/search";
public static final String Path = "/_matrix/client/v3/user_directory/search";
private DirectoryManager mgr;

View File

@@ -44,7 +44,7 @@ import java.util.Optional;
public class RoomInviteHandler extends BasicHttpHandler {
public static final String Path = "/_matrix/client/r0/rooms/{roomId}/invite";
public static final String Path = "/_matrix/client/v3/rooms/{roomId}/invite";
private static final Logger log = LoggerFactory.getLogger(RoomInviteHandler.class);
@@ -62,7 +62,7 @@ public class RoomInviteHandler extends BasicHttpHandler {
public void handleRequest(HttpServerExchange exchange) {
String accessToken = getAccessToken(exchange);
String whoamiUri = dns.transform(URI.create(exchange.getRequestURL()).resolve(URI.create("/_matrix/client/r0/account/whoami"))).toString();
String whoamiUri = dns.transform(URI.create(exchange.getRequestURL()).resolve(URI.create("/_matrix/client/v3/account/whoami"))).toString();
log.info("Who Am I URL: {}", whoamiUri);
HttpGet whoAmIReq = new HttpGet(whoamiUri);
whoAmIReq.addHeader("Authorization", "Bearer " + accessToken);

View File

@@ -34,7 +34,7 @@ import java.util.Optional;
public class ProfileHandler extends HomeserverProxyHandler {
public static final String UserID = "userId";
public static final String Path = "/_matrix/client/r0/profile/{" + UserID + "}";
public static final String Path = "/_matrix/client/v3/profile/{" + UserID + "}";
protected ProfileManager mgr;

View File

@@ -38,7 +38,7 @@ import org.slf4j.LoggerFactory;
public class Register3pidRequestTokenHandler extends BasicHttpHandler {
public static final String Key = "medium";
public static final String Path = "/_matrix/client/r0/register/{" + Key + "}/requestToken";
public static final String Path = "/_matrix/client/v3/register/{" + Key + "}/requestToken";
private static final Logger log = LoggerFactory.getLogger(Register3pidRequestTokenHandler.class);