aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Tananaev <anton@traccar.org>2024-01-18 07:06:46 -0800
committerAnton Tananaev <anton@traccar.org>2024-01-18 07:06:46 -0800
commit22f45bd129f275b930ab2166a6b76713ca972abf (patch)
tree578772e7012a17cd3fb07083977a733687fdb913
parent2eba0bdf8c02036d6761667f0aa022ead9587c11 (diff)
downloadtrackermap-server-22f45bd129f275b930ab2166a6b76713ca972abf.tar.gz
trackermap-server-22f45bd129f275b930ab2166a6b76713ca972abf.tar.bz2
trackermap-server-22f45bd129f275b930ab2166a6b76713ca972abf.zip
Option to disable device sharing
-rw-r--r--src/main/java/org/traccar/api/resource/DeviceResource.java3
-rw-r--r--src/main/java/org/traccar/config/Keys.java7
2 files changed, 10 insertions, 0 deletions
diff --git a/src/main/java/org/traccar/api/resource/DeviceResource.java b/src/main/java/org/traccar/api/resource/DeviceResource.java
index 00a3fc5b9..c3ced9b84 100644
--- a/src/main/java/org/traccar/api/resource/DeviceResource.java
+++ b/src/main/java/org/traccar/api/resource/DeviceResource.java
@@ -204,6 +204,9 @@ public class DeviceResource extends BaseObjectResource<Device> {
@FormParam("expiration") Date expiration) throws StorageException, GeneralSecurityException, IOException {
User user = permissionsService.getUser(getUserId());
+ if (permissionsService.getServer().getBoolean(Keys.DEVICE_SHARE_DISABLE.getKey())) {
+ throw new SecurityException("Sharing is disabled");
+ }
if (user.getTemporary()) {
throw new SecurityException("Temporary user");
}
diff --git a/src/main/java/org/traccar/config/Keys.java b/src/main/java/org/traccar/config/Keys.java
index e79264908..02e684875 100644
--- a/src/main/java/org/traccar/config/Keys.java
+++ b/src/main/java/org/traccar/config/Keys.java
@@ -341,6 +341,13 @@ public final class Keys {
0.0);
/**
+ * Disable device sharing on the server.
+ */
+ public static final ConfigKey<Boolean> DEVICE_SHARE_DISABLE = new BooleanConfigKey(
+ "disableShare",
+ List.of(KeyType.SERVER));
+
+ /**
* Speed limit threshold multiplier. For example, if the speed limit is 100, but we only want to generate an event
* if the speed is higher than 105, this parameter can be set to 1.05. Default multiplier is 1.0.
*/