Compare commits

..

No commits in common. "6.3.0.111" and "main" have entirely different histories.

13 changed files with 557 additions and 1939 deletions

34
.forgejo/bin/check_ver.sh Executable file
View file

@ -0,0 +1,34 @@
#!/bin/bash
# expects the following env variables:
# downstream: downstream repo
repo=${downstream/*\/}
curl --silent $downstream/binary-amd64/Packages > Packages
owned_by_you=$(awk -F ': ' '{if($1=="Package"){print $2}}' Packages | sort | uniq)
echo "Found $(printf '%s\n' $owned_by_you | wc -l ) packages"
rm -f out_of_date not_in_anitya
for pkg in $owned_by_you; do
upstream_version=$(curl --fail -X GET -sS -H 'Content-Type: application/json' "https://release-monitoring.org/api/v2/packages/?name=$pkg&distribution=Debian" | jq -r '.items.[].stable_version')
downstream_version=$(sed -n "/^Package: $pkg$/,/^$/p" Packages| awk -F ': ' '{if($1=="Version"){print $2 }}' | sort -V | tail -n 1)
downstream_version=${downstream_version/-*}
echo $upstream_version
echo $downstream_version
if [ -z "$upstream_version" ]; then
echo "$pkg not in anitya"
echo "$pkg" >> not_in_anitya
elif [ "$downstream_version" != "$(printf '%s\n' $upstream_version $downstream_version | sort -V | head -n 1)" ]; then
echo "$pkg higher downstream"
continue
elif [ "$upstream_version" != "$downstream_version" ]; then
echo "$pkg upstream version $upstream_version does not match downstream version $downstream_version"
echo "$pkg $downstream_version $upstream_version $repo" >> out_of_date
fi
done

165
.forgejo/bin/create_issue.sh Executable file
View file

@ -0,0 +1,165 @@
#!/bin/bash
# expects:
# env variable FORGEJO_TOKEN
# file out_of_date
IFS='
'
repo=${downstream/*\/}
does_it_exist() {
name=$1
downstream_version=$2
upstream_version=$3
repo=$4
query="$repo/$name: upgrade to $upstream_version"
query="$(echo $query | sed 's| |%20|g' | sed 's|:|%3A|g' | sed 's|/|%2F|g' )"
result="$(curl --silent -X 'GET' \
"$GITHUB_SERVER_URL/api/v1/repos/$GITHUB_REPOSITORY/issues?state=open&q=$query&type=issues" \
-H 'accept: application/json' \
-H "authorization: Basic $FORGEJO_TOKEN"
)"
if [ "$result" == "[]" ]; then
return 1
fi
}
is_it_old() {
name=$1
downstream_version=$2
upstream_version=$3
repo=$4
query="$repo/$name: upgrade to"
query="$(echo $query | sed 's| |%20|g' | sed 's|:|%3A|g' | sed 's|/|%2F|g' )"
result="$(curl --silent -X 'GET' \
"$GITHUB_SERVER_URL/api/v1/repos/$GITHUB_REPOSITORY/issues?state=open&q=$query&type=issues" \
-H 'accept: application/json' \
-H "authorization: Basic $FORGEJO_TOKEN"
)"
result_title="$(echo $result | jq -r '.[].title' )"
result_id="$(echo $result | jq -r '.[].number' )"
result_upstream_version="$(echo $result_title | awk '{print $4}')"
if [ "$upstream_version" != "$result_upstream_version" ]; then
echo $result_id
else
echo 0
fi
}
update_title() {
name=$1
downstream_version=$2
upstream_version=$3
repo=$4
id=$5
result=$(curl --silent -X 'PATCH' \
"$GITHUB_SERVER_URL/api/v1/repos/$GITHUB_REPOSITORY/issues/$id" \
-H 'accept: application/json' \
-H "authorization: Basic $FORGEJO_TOKEN" \
-H 'Content-Type: application/json' \
-d "{
\"title\": \"$repo/$name: upgrade to $upstream_version\"
}"
)
return 0
}
create_issue() {
name=$1
downstream_version=$2
upstream_version=$3
repo=$4
result=$(curl --silent -X 'POST' \
"$GITHUB_SERVER_URL/api/v1/repos/$GITHUB_REPOSITORY/issues" \
-H 'accept: application/json' \
-H "authorization: Basic $FORGEJO_TOKEN" \
-H 'Content-Type: application/json' \
-d "{
\"title\": \"$repo/$name: upgrade to $upstream_version\",
\"labels\": [
$LABEL_NUMBER
]
}")
return 0
}
if [ -f out_of_date ]; then
out_of_date="$(cat out_of_date)"
echo "Detected $(wc -l out_of_date) out-of-date packages, creating issues"
for pkg in $out_of_date; do
name="$(echo $pkg | awk '{print $1}')"
downstream_version="$(echo $pkg | awk '{print $2}')"
upstream_version="$(echo $pkg | awk '{print $3}')"
repo="$(echo $pkg | awk '{print $4}')"
if does_it_exist $name $downstream_version $upstream_version $repo; then
echo "Issue for $repo/$name already exists"
continue
fi
id=$(is_it_old $name $downstream_version $upstream_version $repo)
if [ "$id" != "0" ] && [ -n "$id" ]; then
echo "Issue for $repo/$name needs updating"
update_title $name $downstream_version $upstream_version $repo $id
continue
fi
echo "Creating issue for $repo/$name"
create_issue $name $downstream_version $upstream_version $repo
done
fi
if [ -f not_in_anitya ]; then
query="Add missing $repo packages to anitya"
query="$(echo $query | sed 's| |%20|g')"
result="$(curl --silent -X 'GET' \
"$GITHUB_SERVER_URL/api/v1/repos/$GITHUB_REPOSITORY/issues?state=open&q=$query&type=issues" \
-H 'accept: application/json' \
-H "authorization: Basic $FORGEJO_TOKEN"
)"
if [ "$result" == "[]" ]; then
echo "Creating anitya issue"
result=$(curl --silent -X 'POST' \
"$GITHUB_SERVER_URL/api/v1/repos/$GITHUB_REPOSITORY/issues" \
-H 'accept: application/json' \
-H "authorization: Basic $FORGEJO_TOKEN" \
-H 'Content-Type: application/json' \
-d "{
\"title\": \"Add missing $repo packages to anitya\",
\"body\": \"- [ ] $(sed '{:q;N;s/\n/\\n- [ ] /g;t q}' not_in_anitya)\",
\"labels\": [
$LABEL_NUMBER
]
}")
else
echo "Updating anitya issue"
result_id="$(echo $result | jq -r '.[].number' )"
result=$(curl --silent -X 'PATCH' \
"$GITHUB_SERVER_URL/api/v1/repos/$GITHUB_REPOSITORY/issues/$result_id" \
-H 'accept: application/json' \
-H "authorization: Basic $FORGEJO_TOKEN" \
-H 'Content-Type: application/json' \
-d "{
\"body\": \"- [ ] $(sed '{:q;N;s/\n/\\n- [ ] /g;t q}' not_in_anitya)\"
}"
)
fi
fi

View file

@ -0,0 +1,24 @@
on:
workflow_dispatch:
jobs:
check-user:
name: Check user repo
runs-on: x86_64
container:
image: alpine:latest
env:
downstream: https://forge.ilot.io/api/packages/ilot/debian/dists/jammy/main
FORGEJO_TOKEN: ${{ secrets.forgejo_token }}
LABEL_NUMBER: 4
steps:
- name: Environment setup
run: apk add grep coreutils gawk curl wget bash nodejs git jq sed
- name: Get scripts
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Check out-of-date packages
run: ${{ github.workspace }}/.forgejo/bin/check_ver.sh
- name: Create issues
run: ${{ github.workspace }}/.forgejo/bin/create_issue.sh

View file

@ -0,0 +1,76 @@
on:
push:
tags:
- 'v*'
jobs:
release-build:
runs-on: x86_64
container:
image: ubuntu:22.04
env:
pkgver: 8.3.3
buildno: 21
qtver: 5.15.3
steps:
- name: Environment setup
run: |
cat /etc/os-release
apt-get update
apt-get install -y git make g++ bzip2 sudo patch python2 curl lsb-release p7zip-full qtbase5-dev debhelper clang-14 lld-14
# node version set in build_tools/scripts/build_server variable pkg_target
curl -sL https://deb.nodesource.com/setup_16.x | bash -
apt-get install -y nodejs
npm install -g pkg grunt grunt-cli
- name: Getting patches
uses: actions/checkout@v4
- name: Fetching sources
run: |
git clone https://github.com/ONLYOFFICE/DocumentServer --recursive -b v$pkgver build
git clone https://github.com/ONLYOFFICE/build_tools.git -b v$pkgver.$buildno build/build_tools
git clone https://github.com/ONLYOFFICE/document-server-integration -b v$pkgver.$buildno build/document-server-integration
git clone https://github.com/ONLYOFFICE/document-templates -b v$pkgver.$buildno build/document-templates
git clone https://github.com/ONLYOFFICE/onlyoffice.github.io build/onlyoffice.github.io
git clone https://github.com/ONLYOFFICE/document-server-package.git -b v$pkgver.$buildno build/document-server-package
- name: Applying patches
run: |
cd build
git apply -v --ignore-space-change --ignore-whitespace $GITHUB_WORKSPACE/core_v8-use-system-clang.patch
git apply -v --ignore-space-change --ignore-whitespace $GITHUB_WORKSPACE/disable-licensing-limits.patch
git apply -v --ignore-space-change --ignore-whitespace $GITHUB_WORKSPACE/core_common-officefileformatchecker2-add-limits-include.patch
- name: Development setup
run: |
mkdir -p build/build_tools/system_qt-$qtver/gcc_64
ln -s /usr/lib/x86_64-linux-gnu build/build_tools/system_qt-$qtver/gcc_64/lib
ln -s /usr/lib/x86_64-linux-gnu/qt5/bin build/build_tools/system_qt-$qtver/gcc_64/bin
ln -s /usr/lib/x86_64-linux-gnu/qt5/plugins build/build_tools/system_qt-$qtver/gcc_64/plugins
cd build/build_tools/tools/linux
python2 ./deps.py
- name: Build server
run: |
cd build/build_tools
python2 ./configure.py --update 0 --module "server" --qt-dir $(pwd)/system_qt-$qtver
python2 ./make.py
- name: Build package
run: |
cd build/document-server-package
PRODUCT_VERSION=$pkgver BUILD_NUMBER=$buildno make deb
- name: Package upload
uses: forgejo/upload-artifact@v3
with:
name: documentserver-deb
path: build/document-server-package/deb/onlyoffice-documentserver_*.deb
release-deploy:
needs: [release-build]
runs-on: x86_64
container:
image: alpine:latest
steps:
- name: Setting up environment
run: apk add nodejs curl
- name: Package download
uses: forgejo/download-artifact@v3
- name: Package deployment
run: curl --user ${{ vars.FORGE_REPO_USER }}:${{ secrets.FORGE_REPO_PRIVKEY }} --upload-file */onlyoffice-documentserver_*.deb https://forge.ilot.io/api/packages/ilot/debian/pool/jammy/main/upload

View file

@ -0,0 +1,61 @@
on:
pull_request:
types: [ assigned, opened, synchronize, reopened ]
jobs:
test-build:
runs-on: x86_64
container:
image: ubuntu:22.04
env:
pkgver: 8.2.2
buildno: 22
qtver: 5.15.3
steps:
- name: Environment setup
run: |
cat /etc/os-release
apt-get update
apt-get install -y git make g++ bzip2 sudo patch python2 curl lsb-release p7zip-full qtbase5-dev debhelper clang-14 lld-14
curl -sL https://deb.nodesource.com/setup_16.x | bash -
apt-get install -y nodejs
npm install -g pkg grunt grunt-cli
- name: Getting patches
uses: actions/checkout@v4
- name: Fetching sources
run: |
git clone https://github.com/ONLYOFFICE/DocumentServer --recursive -b v$pkgver build
git clone https://github.com/ONLYOFFICE/build_tools.git -b v$pkgver.$buildno build/build_tools
git clone https://github.com/ONLYOFFICE/document-server-integration -b v$pkgver.$buildno build/document-server-integration
git clone https://github.com/ONLYOFFICE/document-templates -b v$pkgver.$buildno build/document-templates
git clone https://github.com/ONLYOFFICE/onlyoffice.github.io build/onlyoffice.github.io
git clone https://github.com/ONLYOFFICE/document-server-package.git -b v$pkgver.$buildno build/document-server-package
- name: Applying patches
run: |
cd build
git apply -v --ignore-space-change --ignore-whitespace $GITHUB_WORKSPACE/core_v8-use-system-clang.patch
git apply -v --ignore-space-change --ignore-whitespace $GITHUB_WORKSPACE/disable-licensing-limits.patch
- name: Development setup
run: |
mkdir -p build/build_tools/system_qt-$qtver/gcc_64
ln -s /usr/lib/x86_64-linux-gnu build/build_tools/system_qt-$qtver/gcc_64/lib
ln -s /usr/lib/x86_64-linux-gnu/qt5/bin build/build_tools/system_qt-$qtver/gcc_64/bin
ln -s /usr/lib/x86_64-linux-gnu/qt5/plugins build/build_tools/system_qt-$qtver/gcc_64/plugins
cd build/build_tools/tools/linux
python2 ./deps.py
- name: Build server
run: |
cd build/build_tools
python2 ./configure.py --update 0 --module "server" --qt-dir $(pwd)/system_qt-$qtver
python2 ./make.py
- name: Build package
run: |
cd build/document-server-package
PRODUCT_VERSION=$pkgver BUILD_NUMBER=$buildno make deb
- name: Package upload
uses: forgejo/upload-artifact@v3
with:
name: documentserver-deb
path: build/document-server-package/deb/onlyoffice-documentserver_*.deb

View file

@ -1,30 +0,0 @@
name: Docker Image CI
on:
push:
branches: [ main ]
tags:
- '*'
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set version
id: version
run: echo ::set-output name=release_version::${GITHUB_REF#refs/*/}
- name: Build Docker image
run: |
echo Building version ${{ steps.version.outputs.release_version }}...
docker build . --file Dockerfile --tag alehoho/oo-ce-docker-license:${{ steps.version.outputs.release_version }}
- name: Push Docker image
run: |
echo ${{ secrets.DOCKERHUB_PASSWORD }} | docker login -u ${{ secrets.DOCKERHUB_USERNAME }} --password-stdin
docker push alehoho/oo-ce-docker-license:${{ steps.version.outputs.release_version }}

View file

@ -1,68 +0,0 @@
ARG product_version=6.3.0
ARG build_number=111
ARG oo_root='/var/www/onlyoffice/documentserver'
## Setup
FROM onlyoffice/documentserver:${product_version}.${build_number} as setup-stage
ARG product_version
ARG build_number
ARG oo_root
ENV PRODUCT_VERSION=${product_version}
ENV BUILD_NUMBER=${build_number}
ARG build_deps="git make g++ nodejs npm"
RUN apt-get update && apt-get install -y ${build_deps}
RUN npm install -g pkg grunt grunt-cli
WORKDIR /build
## Clone
FROM setup-stage as clone-stage
ARG tag=v${PRODUCT_VERSION}.${BUILD_NUMBER}
RUN git clone --quiet --branch $tag --depth 1 https://github.com/ONLYOFFICE/build_tools.git /build/build_tools
RUN git clone --quiet --branch $tag --depth 1 https://github.com/ONLYOFFICE/sdkjs.git /build/sdkjs
RUN git clone --quiet --branch $tag --depth 1 https://github.com/ONLYOFFICE/web-apps.git /build/web-apps
RUN git clone --quiet --branch $tag --depth 1 https://github.com/ONLYOFFICE/server.git /build/server
COPY server.patch /build/
COPY web-apps.patch /build/
RUN cd /build/server && git apply /build/server.patch
RUN cd /build/web-apps && git apply /build/web-apps.patch
## Build
FROM clone-stage as build-stage
# build server with license checks patched
WORKDIR /build/server
RUN make
RUN pkg /build/build_tools/out/linux_64/onlyoffice/documentserver/server/FileConverter --targets=node10-linux -o /build/converter
RUN pkg /build/build_tools/out/linux_64/onlyoffice/documentserver/server/DocService --targets=node10-linux --options max_old_space_size=4096 -o /build/docservice
# build web-apps with mobile editing
WORKDIR /build/web-apps/build
RUN npm install
RUN grunt
## Final image
FROM onlyoffice/documentserver:${product_version}.${build_number}
ARG oo_root
# server
COPY --from=build-stage /build/converter ${oo_root}/server/FileConverter/converter
COPY --from=build-stage /build/docservice ${oo_root}/server/DocService/docservice
# web-apps
COPY --from=build-stage /build/web-apps/deploy/web-apps/apps/documenteditor/mobile/app.js ${oo_root}/web-apps/apps/documenteditor/mobile/app.js
COPY --from=build-stage /build/web-apps/deploy/web-apps/apps/presentationeditor/mobile/app.js ${oo_root}/web-apps/apps/presentationeditor/mobile/app.js
COPY --from=build-stage /build/web-apps/deploy/web-apps/apps/spreadsheeteditor/mobile/app.js ${oo_root}/web-apps/apps/spreadsheeteditor/mobile/app.js

117
README.md
View file

@ -1,111 +1,22 @@
# Patched ONLYOFFICE Docs (Community Edition)
# onlyoffice-document-server
Upstream: https://forge.ilot.io/ilot/onlyoffice-document-server
[![Docker Image CI](https://github.com/aleho/onlyoffice-ce-docker-license/actions/workflows/docker-image.yml/badge.svg)](https://github.com/aleho/onlyoffice-ce-docker-license/actions/workflows/docker-image.yml)
## Description
## Features
This repository contains the necessary workflows to build onlyoffice-document-server
from source, and produce a usable Debian package. The build process also allows
introducing patches for ilot's application.
This [Dockerfile](./Dockerfile) and patches compile a version of
OnlyOffice Docs server with mobile editing enabled in the Nextcloud apps for an
unlimited amount of concurrent users.
## How to use
It can be integrated into e.g. Nextcloud or ownCloud like the official images.
Follow the instruction the guide on [OnlyOffice's docs](https://helpcenter.onlyoffice.com/installation/docs-community-install-ubuntu.aspx).
Instead of adding their repository, use ilot's by following the instructions [here](https://forge.ilot.io/ilot/-/packages/debian/onlyoffice-documentserver)
## Background
## Support
Just about two months after [Nextcloud released their partnership with Ascensio](https://nextcloud.com/blog/onlyoffice-and-nextcloud-partnering-up/)
and featured a community version of OnlyOffice, the latter decided to remove
support for mobile editing of documents. This affected the Nextcloud app,
killing a feature that was previously marketed by both companies.
As these aports are built for ilot's own application, we make no guarantees that
they will work for you.
The changes were executed without any prior notice and alienated quite a lot of
home users, who would now be forced to pay more than €1.000 to unlock that
previously free feature. Only after some outcries Ascensio deigned to release a
statement and a new, albeit "limited", offer of €90 for home servers. This
offer has since expired and their licensing tier suggests current licenses are
valid for one year, starting at about €140.
## License
This readme, workflows and support scripts are licensed under MIT License.
In my opinion these deceptive practices of advertising a feature only to take
it away are unacceptable for a company presenting itself and their products as
open source.
## Usage
Please refer the the official docs on how to integrate OnlyOffice into your
setup.
### Podman CLI
```sh
podman run \
--name=onlyoffice \
--detach \
--publish=80:80 \
docker.io/alehoho/oo-ce-docker-license
```
### Docker CLI
```sh
docker run \
--name=onlyoffice \
--detach \
--publish=80:80 \
alehoho/oo-ce-docker-license
```
### docker-compose.yml
```yml
services:
onlyoffice:
container_name: onlyoffice
image: alehoho/oo-ce-docker-license
ports:
- "80:80"
```
### Verify
To verify that the container is running successfully open
`[server-url]/healthcheck` (has to return `true`) and for the version number open
`[server-url]/index.html` and check the output of that page or
`[server-url]/web-apps/apps/api/documents/api.js` and check the header comment.
## Build
### Buildah CLI
```sh
buildah build-using-dockerfile \
--tag=onlyoffice-patched \
https://github.com/aleho/onlyoffice-ce-docker-license.git
```
### Docker CLI
```sh
docker build \
--tag=onlyoffice-patched \
https://github.com/aleho/onlyoffice-ce-docker-license.git
```
### docker-compose.yml
```yml
services:
onlyoffice:
container_name: onlyoffice
image: onlyoffice-patched
build:
context: https://github.com/aleho/onlyoffice-ce-docker-license.git
```
## Thanks
This repo was heavily inspired by the works of
[Zegorax/OnlyOffice-Unlimited](https://github.com/Zegorax/OnlyOffice-Unlimited).

View file

@ -0,0 +1,12 @@
diff --git a/core/Common/OfficeFileFormatChecker2.cpp b/core/Common/OfficeFileFormatChecker2.cpp
index d2887d78..43c28a0b 100644
--- a/core/Common/OfficeFileFormatChecker2.cpp
+++ b/core/Common/OfficeFileFormatChecker2.cpp
@@ -44,6 +44,7 @@
#include "3dParty/pole/pole.h"
#include <algorithm>
+#include <limits>
#include "OfficeFileFormatDefines.h"

View file

@ -0,0 +1,12 @@
--- a/build_tools/scripts/core_common/modules/v8_89.py
+++ b/build_tools/scripts/core_common/modules/v8_89.py
@@ -48,6 +48,8 @@ def make_args(args, platform, is_64=True, is_debug=False):
if (platform == "linux"):
args_copy.append("is_clang=true")
+ args_copy.append("clang_base_path=\\\"/usr/lib/llvm-14\\\"")
+ args_copy.append("clang_use_chrome_plugins=false")
args_copy.append("use_sysroot=false")
if (platform == "windows"):
args_copy.append("is_clang=false")

View file

@ -0,0 +1,159 @@
From 5ee269eef8bd02d066151deaa4d8c0fe6b6cbce4 Mon Sep 17 00:00:00 2001
Patch-Source: https://github.com/xbeeant/onlyoffice-ce-docker-license
From: xbeeant
Date: Tue, 15 Nov 2022 01:04:46 -0500
Subject: onlyoffice-ce-docker-license
This patches OnlyOffice Docs server with mobile editing enabled in the
Nextcloud apps for an unlimited amount of concurrent users.
Background: Just about two months after Nextcloud released their partnership
with Ascensio and featured a community version of OnlyOffice, the latter
decided to remove support for mobile editing of documents. This affected the
Nextcloud app, killing a feature that was previously marketed by both
companies.
The changes were executed without any prior notice and alienated quite a lot of
home users, who would now be forced to pay more than €1.000 to unlock that
previously free feature. Only after some outcries Ascensio deigned to release a
statement and a new, albeit "limited", offer of €90 for home servers. This
offer has since expired and their licensing tier suggests current licenses are
valid for one year, starting at about €140.
In my opinion these deceptive practices of advertising a feature only to take
it away are unacceptable for a company presenting itself and their products as
open source.
---
diff --git a/server/DocService/sources/server.js b/server/DocService/sources/server.js
index 76303af9..9d2e6888 100644
--- a/server/DocService/sources/server.js
+++ b/server/DocService/sources/server.js
@@ -129,7 +129,7 @@ if (!(cfgTokenEnableBrowser && cfgTokenEnableRequestInbox && cfgTokenEnableReque
}
updateLicense();
-fs.watchFile(cfgLicenseFile, updateLicense);
+// fs.watchFile(cfgLicenseFile, updateLicense);
setInterval(updateLicense, 86400000);
try {
diff --git a/server/Makefile b/server/Makefile
index e8e1308f..23f7e2ef 100644
--- a/server/Makefile
+++ b/server/Makefile
@@ -87,7 +87,7 @@ DEBUG = $(BRANDING_DIR)/debug.js
.PHONY: all clean install uninstall build-date
.NOTPARALLEL:
-all: $(SPELLCHECKER_DICTIONARIES) $(TOOLS) $(SCHEMA) $(CORE_FONTS) $(DOCUMENT_TEMPLATES) $(LICENSE) $(WELCOME) $(INFO) build-date
+all: $(SCHEMA) $(LICENSE) $(WELCOME) $(INFO) build-date
build-date: $(GRUNT_FILES)
sed "s|\(const buildVersion = \).*|\1'${PRODUCT_VERSION}';|" -i $(COMMON_DEFINES_JS)
diff --git a/web-apps/apps/documenteditor/mobile/src/lib/patch.jsx b/web-apps/apps/documenteditor/mobile/src/lib/patch.jsx
index 963aca451..1ee48e856 100644
--- a/web-apps/apps/documenteditor/mobile/src/lib/patch.jsx
+++ b/web-apps/apps/documenteditor/mobile/src/lib/patch.jsx
@@ -4,7 +4,7 @@ const EditorUIController = () => {
};
EditorUIController.isSupportEditFeature = () => {
- return false
+ return true
};
EditorUIController.getToolbarOptions = () => {
diff --git a/web-apps/apps/presentationeditor/mobile/src/lib/patch.jsx b/web-apps/apps/presentationeditor/mobile/src/lib/patch.jsx
index ec7b37a2c..bfd879583 100644
--- a/web-apps/apps/presentationeditor/mobile/src/lib/patch.jsx
+++ b/web-apps/apps/presentationeditor/mobile/src/lib/patch.jsx
@@ -1,6 +1,6 @@
const EditorUIController = () => null;
-EditorUIController.isSupportEditFeature = () => false;
+EditorUIController.isSupportEditFeature = () => true;
export default EditorUIController;
diff --git a/web-apps/apps/spreadsheeteditor/mobile/src/lib/patch.jsx b/web-apps/apps/spreadsheeteditor/mobile/src/lib/patch.jsx
index ec7b37a2c..bfd879583 100644
--- a/web-apps/apps/spreadsheeteditor/mobile/src/lib/patch.jsx
+++ b/web-apps/apps/spreadsheeteditor/mobile/src/lib/patch.jsx
@@ -1,6 +1,6 @@
const EditorUIController = () => null;
-EditorUIController.isSupportEditFeature = () => false;
+EditorUIController.isSupportEditFeature = () => true;
export default EditorUIController;
diff --git a/server/Common/sources/constants.js b/server/Common/sources/constants.js
index 700696ff..d8bb9178 100644
--- a/server/Common/sources/constants.js
+++ b/server/Common/sources/constants.js
@@ -87,8 +87,8 @@ exports.LICENSE_RESULT = {
NotBefore: 16
};
-exports.LICENSE_CONNECTIONS = 20;
-exports.LICENSE_USERS = 3;
+exports.LICENSE_CONNECTIONS = 999999;
+exports.LICENSE_USERS = 999999;
exports.LICENSE_EXPIRE_USERS_ONE_DAY = 24 * 60 * 60; // day in seconds
exports.AVS_OFFICESTUDIO_FILE_UNKNOWN = 0x0000;
diff --git a/server/FileConverter/sources/convertermaster.js b/server/FileConverter/sources/convertermaster.js
index 2209e8c9..feef6247 100644
--- a/server/FileConverter/sources/convertermaster.js
+++ b/server/FileConverter/sources/convertermaster.js
@@ -90,7 +90,7 @@ if (cluster.isMaster) {
updateLicense();
- fs.watchFile(cfgLicenseFile, updateLicense);
+ // fs.watchFile(cfgLicenseFile, updateLicense);
setInterval(updateLicense, 86400000);
} else {
const converter = require('./converter');
diff --git a/server/Common/sources/license.js b/server/Common/sources/license.js
index d43ee210..9e787b08 100644
--- a/server/Common/sources/license.js
+++ b/server/Common/sources/license.js
@@ -44,24 +44,24 @@ exports.readLicense = async function () {
return [{
count: 1,
type: c_LR.Success,
- packageType: constants.PACKAGE_TYPE_OS,
+ packageType: constants.PACKAGE_TYPE_I,
mode: constants.LICENSE_MODE.None,
- branding: false,
+ branding: true,
connections: constants.LICENSE_CONNECTIONS,
connectionsView: constants.LICENSE_CONNECTIONS,
- customization: false,
- advancedApi: false,
- usersCount: 0,
- usersViewCount: 0,
+ customization: true,
+ advancedApi: true,
+ usersCount: constants.LICENSE_CONNECTIONS,
+ usersViewCount: constants.LICENSE_CONNECTIONS,
usersExpire: constants.LICENSE_EXPIRE_USERS_ONE_DAY,
- hasLicense: false,
+ hasLicense: true,
buildDate: oBuildDate,
startDate: startDate,
- endDate: null,
+ endDate: new Date("2099-01-01T23:59:59.000Z"),
customerId: "",
- alias: "",
+ alias: "community",
multitenancy: false
}, null];
};
-exports.packageType = constants.PACKAGE_TYPE_OS;
+exports.packageType = constants.PACKAGE_TYPE_I;

View file

@ -1,151 +0,0 @@
From 10a7f4497de9e21b5e7708fff75ce15398955d6c Mon Sep 17 00:00:00 2001
From: Alexander Hofbauer <alex@derhofbauer.at>
Date: Fri, 21 May 2021 10:35:05 +0200
Subject: [PATCH] Patch for license
---
Common/sources/commondefines.js | 4 ++--
Common/sources/constants.js | 2 +-
Common/sources/license.js | 16 ++++++++--------
DocService/sources/DocsCoServer.js | 5 +++--
DocService/sources/server.js | 1 -
FileConverter/sources/convertermaster.js | 1 -
Makefile | 2 +-
7 files changed, 15 insertions(+), 16 deletions(-)
diff --git a/Common/sources/commondefines.js b/Common/sources/commondefines.js
index ec6a870..e20d966 100644
--- a/Common/sources/commondefines.js
+++ b/Common/sources/commondefines.js
@@ -1035,8 +1035,8 @@ const c_oAscUnlockRes = {
Empty: 2
};
-const buildVersion = '4.1.2';
-const buildNumber = 37;
+const buildVersion = '6.3.0';
+const buildNumber = 111;
exports.TaskQueueData = TaskQueueData;
exports.CMailMergeSendData = CMailMergeSendData;
diff --git a/Common/sources/constants.js b/Common/sources/constants.js
index f976ed9..e5b91fd 100644
--- a/Common/sources/constants.js
+++ b/Common/sources/constants.js
@@ -70,7 +70,7 @@ exports.LICENSE_RESULT = {
ExpiredLimited: 11
};
-exports.LICENSE_CONNECTIONS = 20;
+exports.LICENSE_CONNECTIONS = 9999;
exports.LICENSE_EXPIRE_USERS_ONE_DAY = 24 * 60 * 60; // day in seconds
exports.AVS_OFFICESTUDIO_FILE_UNKNOWN = 0x0000;
diff --git a/Common/sources/license.js b/Common/sources/license.js
index 19f0b61..7aa1d44 100644
--- a/Common/sources/license.js
+++ b/Common/sources/license.js
@@ -34,7 +34,7 @@
const constants = require('./constants');
-const buildDate = '6/29/2016';
+const buildDate = '2021-05-20T16:02:00.000Z';
const oBuildDate = new Date(buildDate);
exports.readLicense = function*() {
@@ -43,17 +43,17 @@ exports.readLicense = function*() {
count: 1,
type: c_LR.Success,
light: false,
- packageType: constants.PACKAGE_TYPE_OS,
+ packageType: constants.PACKAGE_TYPE_I,
mode: constants.LICENSE_MODE.None,
branding: false,
connections: constants.LICENSE_CONNECTIONS,
- customization: false,
+ customization: true,
usersCount: 0,
- usersExpire: constants.LICENSE_EXPIRE_USERS_ONE_DAY,
- hasLicense: false,
- plugins: false,
+ usersExpire: new Date("2099-01-01T23:59:59.000Z").getTime() / 1000,
+ hasLicense: true,
+ plugins: true,
buildDate: oBuildDate,
- endDate: null
+ endDate: "2099-01-01T23:59:59.000Z"
};
};
-exports.packageType = constants.PACKAGE_TYPE_OS;
+exports.packageType = constants.PACKAGE_TYPE_I;
diff --git a/DocService/sources/DocsCoServer.js b/DocService/sources/DocsCoServer.js
index 688f3c7..0b67274 100644
--- a/DocService/sources/DocsCoServer.js
+++ b/DocService/sources/DocsCoServer.js
@@ -102,6 +102,7 @@ const pubsubService = require('./pubsubRabbitMQ');
const queueService = require('./../../Common/sources/taskqueueRabbitMQ');
const rabbitMQCore = require('./../../Common/sources/rabbitMQCore');
const activeMQCore = require('./../../Common/sources/activeMQCore');
+const license = require('./../../Common/sources/license');
const editorDataStorage = require('./' + configCommon.get('services.CoAuthoring.server.editorDataStorage'));
let cfgEditor = JSON.parse(JSON.stringify(config.get('editor')));
@@ -162,7 +163,7 @@ let connections = []; // Активные соединения
let lockDocumentsTimerId = {};//to drop connection that can't unlockDocument
let pubsub;
let queue;
-let licenseInfo = {type: constants.LICENSE_RESULT.Error, light: false, branding: false, customization: false, plugins: false};
+let licenseInfo = license.readLicense().next().value;
let shutdownFlag = false;
let expDocumentsStep = gc.getCronStep(cfgExpDocumentsCron);
@@ -3093,7 +3094,7 @@ exports.install = function(server, callbackFunction) {
});
};
exports.setLicenseInfo = function(data) {
- licenseInfo = data;
+ logger.debug('Not updating license info', data)
};
exports.getLicenseInfo = function() {
return licenseInfo;
diff --git a/DocService/sources/server.js b/DocService/sources/server.js
index b623759..29574bd 100644
--- a/DocService/sources/server.js
+++ b/DocService/sources/server.js
@@ -129,7 +129,6 @@ try {
} catch (e) {
logger.warn('Failed to subscribe to plugin folder updates. When changing the list of plugins, you must restart the server. https://nodejs.org/docs/latest/api/fs.html#fs_availability');
}
-fs.watchFile(configCommon.get('license').get('license_file'), updateLicense);
setInterval(updateLicense, 86400000);
// Если захочется использовать 'development' и 'production',
diff --git a/FileConverter/sources/convertermaster.js b/FileConverter/sources/convertermaster.js
index c246bb8..9fe3d41 100644
--- a/FileConverter/sources/convertermaster.js
+++ b/FileConverter/sources/convertermaster.js
@@ -85,7 +85,6 @@ if (cluster.isMaster) {
updateLicense();
- fs.watchFile(configCommon.get('license').get('license_file'), updateLicense);
setInterval(updateLicense, 86400000);
} else {
const converter = require('./converter');
diff --git a/Makefile b/Makefile
index 40bf93e..1df9c10 100644
--- a/Makefile
+++ b/Makefile
@@ -83,7 +83,7 @@ DEBUG = $(BRANDING_DIR)/debug.js
.PHONY: all clean install uninstall build-date
.NOTPARALLEL:
-all: $(SPELLCHECKER_DICTIONARIES) $(TOOLS) $(SCHEMA) $(CORE_FONTS) $(LICENSE) $(WELCOME) $(INFO) build-date
+all: $(SCHEMA) $(LICENSE) $(WELCOME) $(INFO) build-date
build-date: $(GRUNT_FILES)
sed "s|\(const buildVersion = \).*|\1'${PRODUCT_VERSION}';|" -i $(COMMON_DEFINES_JS)
--
2.31.1

File diff suppressed because it is too large Load diff