Skip to content

Commit 3741d24

Browse files
committed
Merge branch 'android-updates'
This fixes the vulnerability in the eap-mschapv2 plugin and an issue with the filename of log files. In the released app, the OpenSSL version is also increased in order to support ML-KEM.
2 parents 472dcd8 + d8ff59d commit 3741d24

File tree

5 files changed

+40
-31
lines changed

5 files changed

+40
-31
lines changed

src/frontends/android/app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ android {
99
minSdkVersion 21
1010
targetSdkVersion 36
1111

12-
versionCode 94
13-
versionName "2.6.0"
12+
versionCode 95
13+
versionName "2.6.1"
1414

1515
externalNativeBuild {
1616
ndkBuild {

src/frontends/android/app/src/main/java/org/strongswan/android/data/LogContentProvider.java

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
import java.io.FileNotFoundException;
2121
import java.security.NoSuchAlgorithmException;
2222
import java.security.SecureRandom;
23+
import java.util.ArrayList;
24+
import java.util.List;
2325
import java.util.concurrent.ConcurrentHashMap;
2426

2527
import org.strongswan.android.logic.CharonVpnService;
@@ -85,28 +87,33 @@ public Cursor query(Uri uri, String[] projection, String selection,
8587
{
8688
/* this is called by apps to find out the name and size of the file.
8789
* since we only provide a single file this is simple to implement */
88-
if (projection == null || projection.length < 1)
90+
if (projection == null)
8991
{
90-
return null;
92+
projection = new String[]{ OpenableColumns.DISPLAY_NAME, OpenableColumns.SIZE };
9193
}
9294
Long timestamp = mUris.get(uri);
9395
if (timestamp == null)
9496
{ /* don't check the validity as this information is not really private */
9597
return null;
9698
}
97-
MatrixCursor cursor = new MatrixCursor(projection, 1);
98-
if (OpenableColumns.DISPLAY_NAME.equals(cursor.getColumnName(0)))
99-
{
100-
cursor.newRow().add(CharonVpnService.LOG_FILE);
101-
}
102-
else if (OpenableColumns.SIZE.equals(cursor.getColumnName(0)))
103-
{
104-
cursor.newRow().add(mLogFile.length());
105-
}
106-
else
99+
List<String> cols = new ArrayList<>();
100+
List<Object> vals = new ArrayList<>();
101+
for (String col : projection)
107102
{
108-
return null;
103+
if (OpenableColumns.DISPLAY_NAME.equals(col))
104+
{
105+
cols.add(OpenableColumns.DISPLAY_NAME);
106+
vals.add(CharonVpnService.LOG_FILE);
107+
}
108+
else if (OpenableColumns.SIZE.equals(col))
109+
{
110+
cols.add(OpenableColumns.SIZE);
111+
vals.add(mLogFile.length());
112+
}
109113
}
114+
115+
MatrixCursor cursor = new MatrixCursor(cols.toArray(new String[0]), 1);
116+
cursor.addRow(vals.toArray());
110117
return cursor;
111118
}
112119

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1+
# 2.6.1 #
2+
3+
- Aktualisiert OpenSSL, um ML-KEM zu unterstützen (muss explizit in Proposal konfiguriert werden)
4+
- Behebt eine Schwachstelle im eap-mschapv2 Plugin
5+
- Korrigiert den Dateinamen, wenn das Log exportiert wird
6+
17
# 2.6.0 #
28

39
- Erlaubt die Vorauswahl eines Benutzer-Zertifikats via Alias in verwalteten Profilen
4-
- Erlaubt die Auswahl von Benutzer-Zertifikaten in verwalteten Profilen, die kein eigenes Zertifikat installieren
10+
- Erlaubt die Auswahl von Benutzer-Zertifikaten in verwalteten Profilen
511
- Fixt das Lesen von Split-Tunneling Settings in verwalteten Profilen
6-
- Anpassungen für die randlose Anzeige, welche erzwungen wird, wenn Android 16 als Ziel-SDK verwendet wird
7-
- Ziel-SDK auf Android 16 erhöht
8-
9-
# 2.5.6 #
10-
11-
- Unterstützt benutzerdefinierte HTTP Proxy-Server (Android 10+)
12+
- Anpassungen für die randlose Anzeige
Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1+
# 2.6.1 #
2+
3+
- Update OpenSSL to support ML-KEM (requires explicit configuration in proposals)
4+
- Fix vulnerability in eap-mschapv2 plugin
5+
- Fix filename when exporting the log
6+
17
# 2.6.0 #
28

39
- Allow preselecting a user certificate via alias in managed profiles
4-
- Allow selecting a user certificate for managed profiles that don't install their own certificate
10+
- Allow selecting a user certificate for managed profiles
511
- Fix reading split-tunneling settings in managed profiles
6-
- Adapt to edge-to-edge display, which becomes mandatory when targeting Android 16
7-
- Increase target SDK to Android 16
8-
9-
# 2.5.6 #
10-
11-
- Add support for custom HTTP proxy server (Android 10+)
12+
- Adapt to edge-to-edge display

src/frontends/android/openssl/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ RUN apt-get update && \
1818
COPY compile.sh /
1919
RUN chmod +x /compile.sh
2020

21-
ENV ANDROID_NDK_ROOT /ndk
22-
ENV OUT_DIR /out
21+
ENV ANDROID_NDK_ROOT=/ndk
22+
ENV OUT_DIR=/out
2323

2424
WORKDIR /src
2525

0 commit comments

Comments
 (0)