Compare commits

...

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

11 changed files with 557 additions and 219 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,45 +0,0 @@
ARG oo_version=5.6.0.17
FROM onlyoffice/documentserver:$oo_version
ARG oo_version=5.6.0.17
RUN sed -is \
's/isSupportEditFeature:function(){return!1}/isSupportEditFeature:function(){return true}/g' \
/var/www/onlyoffice/documentserver/web-apps/apps/documenteditor/mobile/app.js
RUN sed -is \
's/isSupportEditFeature:function(){return!1}/isSupportEditFeature:function(){return true}/g' \
/var/www/onlyoffice/documentserver/web-apps/apps/presentationeditor/mobile/app.js
RUN sed -is \
's/isSupportEditFeature:function(){return!1}/isSupportEditFeature:function(){return true}/g' \
/var/www/onlyoffice/documentserver/web-apps/apps/spreadsheeteditor/mobile/app.js
# source patching and compilation
RUN apt-get update && apt-get install -y \
git \
curl \
&& curl -sL https://deb.nodesource.com/setup_10.x | bash - \
&& apt install -y nodejs \
&& rm -rf /var/lib/apt/lists/*
RUN mkdir /build
WORKDIR /build
RUN git clone --branch v$oo_version --depth 1 https://github.com/ONLYOFFICE/server.git .
COPY license.patch /build/
RUN git apply license.patch
RUN npm install pkg grunt-cli \
&& make \
&& node_modules/.bin/pkg --targets=linux build/server/FileConverter \
&& node_modules/.bin/pkg --targets=linux build/server/DocService \
&& cp fileconverter /var/www/onlyoffice/documentserver/server/FileConverter/converter \
&& cp coauthoring /var/www/onlyoffice/documentserver/server/DocService/docservice
WORKDIR /
RUN rm -rf /build

View file

@ -1,54 +1,22 @@
# OnlyOffice Community server with license
# onlyoffice-document-server
Upstream: https://forge.ilot.io/ilot/onlyoffice-document-server
## Usage
## Description
### CLI
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.
```sh
docker build \
--tag=onlyoffice-patched \
https://github.com/aleho/onlyoffice-ce-docker-license.git
```
## How to use
```sh
docker run \
--name=onlyoffice \
--detach \
onlyoffice-patched
```
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)
### docker-compose.yml
## Support
```yml
services:
onlyoffice:
container_name: onlyoffice
image: onlyoffice-patched
build:
context: https://github.com/aleho/onlyoffice-ce-docker-license.git
```
As these aports are built for ilot's own application, we make no guarantees that
they will work for you.
### Verify
## License
This readme, workflows and support scripts are licensed under MIT License.
To verify that the container was built successfully simply call
`[server-url]/web-apps/apps/api/documents/api.js` and check the header comment.
## Background
Recently, just about a month after Nextcloud announced their partnership with
Ascensio and featuring a community version of OnlyOffice, the latter decided
to remove support for mobile editing of documents via the Nextcloud app.
This happened 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.
In my opinion these deceptive practices are unacceptable for a company
advertising itself and their product as open source.
## 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,128 +0,0 @@
From 49041ccf02617c5a9b92693b3bf65870e6b79006 Mon Sep 17 00:00:00 2001
From: Alexander Hofbauer <alex@derhofbauer.at>
Date: Mon, 3 Aug 2020 11:44:57 +0200
Subject: [PATCH] Enable rebuild with fake license
---
Common/sources/commondefines.js | 5 ++--
Common/sources/license.js | 52 ++++++++-------------------------
Makefile | 6 ++--
3 files changed, 18 insertions(+), 45 deletions(-)
diff --git a/Common/sources/commondefines.js b/Common/sources/commondefines.js
index 694a13a..eb85e04 100644
--- a/Common/sources/commondefines.js
+++ b/Common/sources/commondefines.js
@@ -975,8 +975,9 @@ const c_oAscUnlockRes = {
Empty: 2
};
-const buildVersion = '4.1.2';
-const buildNumber = 37;
+const buildVersion = '5.6.0';
+const buildNumber = 17;
+exports.buildDate = '2020-07-29T10:19:00.000Z';
exports.TaskQueueData = TaskQueueData;
exports.CMailMergeSendData = CMailMergeSendData;
diff --git a/Common/sources/license.js b/Common/sources/license.js
index 290d85d..5a1ab21 100644
--- a/Common/sources/license.js
+++ b/Common/sources/license.js
@@ -32,53 +32,25 @@
'use strict';
-const config = require('config');
-const configL = config.get('license');
const constants = require('./constants');
-const logger = require('./logger');
-const editorDataStorage = require('./../../DocService/sources/' + config.get('services.CoAuthoring.server.editorDataStorage'));
-
-const buildDate = '6/29/2016';
-const oBuildDate = new Date(buildDate);
-const oPackageType = configL.get('packageType');
-
-const cfgRedisPrefix = config.get('services.CoAuthoring.redis.prefix');
-const redisKeyLicense = cfgRedisPrefix + constants.REDIS_KEY_LICENSE;
-
-let editorData = new editorDataStorage();
+const commonDefines = require('./commondefines');
exports.readLicense = function*() {
- const c_LR = constants.LICENSE_RESULT;
- const res = {
+ return {
count: 1,
- type: c_LR.Error,
+ type: constants.LICENSE_RESULT.Success,
light: false,
- packageType: oPackageType,
+ packageType: constants.PACKAGE_TYPE_I,
mode: constants.LICENSE_MODE.None,
branding: false,
- connections: constants.LICENSE_CONNECTIONS,
+ connections: 9999,
customization: false,
- usersCount: 0,
- usersExpire: constants.LICENSE_EXPIRE_USERS_ONE_DAY,
- hasLicense: false,
- plugins: false,
- buildDate: oBuildDate,
- endDate: null
+ usersCount: 9999,
+ usersExpire: 99999,
+ hasLicense: true,
+ plugins: true,
+ buildDate: commonDefines.buildDate,
+ endDate: "2099-01-01T23:59:59.000Z"
};
-
- if (yield* _getFileState()) {
- res.type = c_LR.ExpiredTrial;
- }
-
- if (res.type === c_LR.Expired || res.type === c_LR.ExpiredTrial) {
- res.count = 1;
- logger.error('License: License Expired!!!');
- }
-
- return res;
};
-exports.packageType = oPackageType;
-
-function* _getFileState() {
- return yield editorData.getLicense(redisKeyLicense);
-}
+exports.packageType = constants.PACKAGE_TYPE_I;
diff --git a/Makefile b/Makefile
index 40bf93e..7109dbd 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-GRUNT = grunt
+GRUNT = ./node_modules/.bin/grunt
GRUNT_FLAGS = --no-color -v
GRUNT_FILES = Gruntfile.js.out
@@ -46,7 +46,7 @@ endif
TARGET := $(PLATFORM)_$(ARCHITECTURE)
-OUTPUT = ../build_tools/out/$(TARGET)/onlyoffice/documentserver/server
+OUTPUT = build/out/$(TARGET)/onlyoffice/documentserver/server
SPELLCHECKER_DICTIONARIES := $(OUTPUT)/SpellChecker/dictionaries
SPELLCHECKER_DICTIONARY_FILES += ../dictionaries/*_*
@@ -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: build-date
build-date: $(GRUNT_FILES)
sed "s|\(const buildVersion = \).*|\1'${PRODUCT_VERSION}';|" -i $(COMMON_DEFINES_JS)
--
2.28.0