summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md35
-rw-r--r--Dockerfile8
-rw-r--r--Stackerfile.yml2
-rw-r--r--client/components/boards/boardsList.js3
-rw-r--r--client/components/main/layouts.js19
-rw-r--r--docker-compose.yml7
-rw-r--r--i18n/ru.i18n.json44
-rw-r--r--package.json2
-rwxr-xr-xreleases/virtualbox/start-wekan.sh8
-rw-r--r--sandstorm-pkgdef.capnp4
-rw-r--r--server/migrations.js8
-rwxr-xr-xsnap-src/bin/config18
-rwxr-xr-xsnap-src/bin/mongodb-control2
-rwxr-xr-xsnap-src/bin/wekan-help7
-rwxr-xr-xstart-wekan.bat7
-rwxr-xr-xstart-wekan.sh8
16 files changed, 143 insertions, 39 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5ed2f0a5..b54181f3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,16 +1,41 @@
+# v2.43 2019-03-08 Wekan release
+
+This release adds the following new features, thanks to xet7:
+
+- [Hide Subtask boards from All Boards](https://github.com/wekan/wekan/issues/1990).
+- [Order All Boards by Starred, Color, Title and Description](https://github.com/wekan/wekan/commit/856872815292590e0c4eff2848ea1b857a318dc4).
+- [HTTP header automatic login](https://github.com/wekan/wekan/commit/ff825d6123ecfd033ccb08ce97c11cefee676104)
+ for [3rd party authentication server method](https://github.com/wekan/wekan/issues/2019) like siteminder, and any webserver that
+ handles authentication and based on it adds HTTP headers to be used for login. Please test.
+
+and adds the following partial fix, thanks to andresmanelli:
+
+- [Add migration to fix circular references](https://github.com/wekan/wekan/commit/a338e937e508568d1f6a15c5464126d30ef69a7d).
+ This [runs only once](https://github.com/wekan/wekan/issues/2209#issuecomment-470445989),
+ so later there will be another fix to make it run every time.
+
+and reverts the following change of v2.42, because they did not fix anything, thanks to xet7:
+
+- [Revert: Tried to fix snap mongodb-control not starting database](https://github.com/wekan/wekan/commit/4055f451fdadfbfdef9a10be29a0eb6aed91182c).
+
+Thanks to above GitHub users for their contributions, and translators for their translations.
+
# v2.42 2019-03-07 Wekan release
-This release fixes the following bugs:
+This release tried to fix the following bugs:
-- [Fix snap mongodb-control not starting database](https://github.com/wekan/wekan/commit/2c5628b5fbcc25427021d0b22e74577a71149c21).
- Thanks to xet7 and qurqar[m] at IRC #wekan.
+- [Tried to fix snap mongodb-control not starting database](https://github.com/wekan/wekan/commit/2c5628b5fbcc25427021d0b22e74577a71149c21).
+ Reverted in v2.43, because it did not fix anything.
+
+Thanks to xet7 and qurqar[m] at IRC #wekan.
# v2.41 2019-03-07 Wekan release
-This release fixes the following bugs:
+This release tried to fix the following bugs:
-- [Fix: Card was selected as parent card (circular reference) and now board can be not opened anymore](https://github.com/wekan/wekan/issues/2202)
+- [Partial Fix: Card was selected as parent card (circular reference) and now board can be not opened anymore](https://github.com/wekan/wekan/issues/2202)
with [Avoid setting same card as parentCard. Avoid listing templates board in copy/move/more menus](https://github.com/wekan/wekan/commit/745f39ed20169f56b99c0339f2043f8c4ed43873).
+ This does not fully work yet, it will be fixed later.
Thanks to andresmanelli.
Thanks to above GitHub users for their contributions, and translators for their translations.
diff --git a/Dockerfile b/Dockerfile
index 58a1b629..c833bc17 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -77,6 +77,10 @@ ARG LDAP_SYNC_GROUP_ROLES
ARG LDAP_DEFAULT_DOMAIN
ARG LDAP_SYNC_ADMIN_STATUS
ARG LDAP_SYNC_ADMIN_GROUPS
+ARG HEADER_LOGIN_ID
+ARG HEADER_LOGIN_FIRSTNAME
+ARG HEADER_LOGIN_LASTNAME
+ARG HEADER_LOGIN_EMAIL
ARG LOGOUT_WITH_TIMER
ARG LOGOUT_IN
ARG LOGOUT_ON_HOURS
@@ -163,6 +167,10 @@ ENV BUILD_DEPS="apt-utils bsdtar gnupg gosu wget curl bzip2 build-essential pyth
LDAP_DEFAULT_DOMAIN="" \
LDAP_SYNC_ADMIN_STATUS="" \
LDAP_SYNC_ADMIN_GROUPS="" \
+ HEADER_LOGIN_ID="" \
+ HEADER_LOGIN_FIRSTNAME="" \
+ HEADER_LOGIN_LASTNAME="" \
+ HEADER_LOGIN_EMAIL="" \
LOGOUT_WITH_TIMER=false \
LOGOUT_IN="" \
LOGOUT_ON_HOURS="" \
diff --git a/Stackerfile.yml b/Stackerfile.yml
index 1445dc40..ec766564 100644
--- a/Stackerfile.yml
+++ b/Stackerfile.yml
@@ -1,5 +1,5 @@
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
-appVersion: "v2.42.0"
+appVersion: "v2.43.0"
files:
userUploads:
- README.md
diff --git a/client/components/boards/boardsList.js b/client/components/boards/boardsList.js
index df495bb1..74a8e4d4 100644
--- a/client/components/boards/boardsList.js
+++ b/client/components/boards/boardsList.js
@@ -25,8 +25,9 @@ BlazeComponent.extendComponent({
archived: false,
'members.userId': Meteor.userId(),
type: 'board',
+ subtasksDefaultListId: null,
}, {
- sort: ['title'],
+ sort: { stars: -1, color: 1, title: 1, description: 1 },
});
},
diff --git a/client/components/main/layouts.js b/client/components/main/layouts.js
index 6f7c914a..4305de7c 100644
--- a/client/components/main/layouts.js
+++ b/client/components/main/layouts.js
@@ -101,8 +101,14 @@ Template.defaultLayout.events({
});
async function authentication(event, instance) {
- const match = $('#at-field-username_and_email').val();
- const password = $('#at-field-password').val();
+
+ // If header login id is set, use it for login.
+ // Header username = Email address
+ // Header password = Login ID
+ // Not user currently: req.headers[process.env.HEADER_LOGIN_FIRSTNAME]
+ // and req.headers[process.env.HEADER_LOGIN_LASTNAME]
+ const match = req.headers[process.env.HEADER_LOGIN_EMAIL] || $('#at-field-username_and_email').val();
+ const password = req.headers[process.env.HEADER_LOGIN_ID] || $('#at-field-password').val();
if (!match || !password) return;
@@ -110,9 +116,12 @@ async function authentication(event, instance) {
if (result === 'password') return;
- // Stop submit #at-pwd-form
- event.preventDefault();
- event.stopImmediatePropagation();
+ // If header login id is not set, don't try to login automatically.
+ if (!process.env.HEADER_LOGIN_ID) {
+ // Stop submit #at-pwd-form
+ event.preventDefault();
+ event.stopImmediatePropagation();
+ }
switch (result) {
case 'ldap':
diff --git a/docker-compose.yml b/docker-compose.yml
index 9646a012..454964e8 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -508,6 +508,13 @@ services:
# Comma separated list of admin group names to sync.
#- LDAP_SYNC_ADMIN_GROUPS=group1,group2
#---------------------------------------------------------------------
+ # Login to LDAP automatically with HTTP header.
+ # In below example for siteminder, at right side of = is header name.
+ #- HEADER_LOGIN_ID=BNPPUID
+ #- HEADER_LOGIN_FIRSTNAME=BNPPFIRSTNAME
+ #- HEADER_LOGIN_LASTNAME=BNPPLASTNAME
+ #- HEADER_LOGIN_EMAIL=BNPPEMAILADDRESS
+ #---------------------------------------------------------------------
# ==== LOGOUT TIMER, probably does not work yet ====
# LOGOUT_WITH_TIMER : Enables or not the option logout with timer
# example : LOGOUT_WITH_TIMER=true
diff --git a/i18n/ru.i18n.json b/i18n/ru.i18n.json
index 0db71a82..c305411d 100644
--- a/i18n/ru.i18n.json
+++ b/i18n/ru.i18n.json
@@ -1,37 +1,37 @@
{
"accept": "Принять",
"act-activity-notify": "Уведомление о действиях участников",
- "act-addAttachment": "added attachment __attachment__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
- "act-deleteAttachment": "deleted attachment __attachment__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
- "act-addSubtask": "added subtask __subtask__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
- "act-addLabel": "Added label __label__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
- "act-removeLabel": "Removed label __label__ from card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
- "act-addChecklist": "added checklist __checklist__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
- "act-addChecklistItem": "added checklist item __checklistItem__ to checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
- "act-removeChecklist": "removed checklist __checklist__ from card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
- "act-removeChecklistItem": "removed checklist item __checklistItem__ from checklist __checkList__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
- "act-checkedItem": "checked __checklistItem__ of checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
- "act-uncheckedItem": "unchecked __checklistItem__ of checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
- "act-completeChecklist": "completed checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
- "act-uncompleteChecklist": "uncompleted checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
- "act-addComment": "commented on card __card__: __comment__ at list __list__ at swimlane __swimlane__ at board __board__",
+ "act-addAttachment": "прикрепил вложение __attachment__ в карточку __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
+ "act-deleteAttachment": "удалил вложение __attachment__ из карточки __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
+ "act-addSubtask": "добавил подзадачу __subtask__ для карточки __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
+ "act-addLabel": "Добавлена метка __label__ в карточку __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
+ "act-removeLabel": "Снята метка __label__ с карточки __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
+ "act-addChecklist": "добавил контрольный список __checklist__ в карточку __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
+ "act-addChecklistItem": "добавил пункт __checklistItem__ в контрольный список __checklist__ в карточке __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
+ "act-removeChecklist": "удалил контрольный список __checklist__ из карточки __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
+ "act-removeChecklistItem": "удалил пункт __checklistItem__ из контрольного списка __checkList__ в карточке __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
+ "act-checkedItem": "отметил __checklistItem__ в контрольном списке __checklist__ в карточке __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
+ "act-uncheckedItem": "снял __checklistItem__ в контрольном списке __checklist__ в карточке __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
+ "act-completeChecklist": "завершил контрольный список __checklist__ в карточке __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
+ "act-uncompleteChecklist": "вновь открыл контрольный список __checklist__ в карточке __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
+ "act-addComment": "написал в карточке __card__: __comment__ в списке __list__ на дорожке __swimlane__ доски __board__",
"act-createBoard": "создал доску __board__",
- "act-createCard": "created card __card__ to list __list__ at swimlane __swimlane__ at board __board__",
- "act-createCustomField": "created custom field __customField__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
+ "act-createCard": "создал карточку __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
+ "act-createCustomField": "создал поле __customField__ в карточке __card__ в списке __list__ на дорожке __swimlane__ доски __board__\n",
"act-createList": "добавил список __list__ на доску __board__",
"act-addBoardMember": "добавил участника __member__ на доску __board__",
"act-archivedBoard": "Доска __board__ перемещена в Архив",
"act-archivedCard": "Карточка __card__ из списка __list__ с дорожки __swimlane__ доски __board__ перемещена в Архив",
- "act-archivedList": "List __list__ at swimlane __swimlane__ at board __board__ moved to Archive",
+ "act-archivedList": "Список __list__ на дорожке __swimlane__ доски __board__ перемещен в Архив",
"act-archivedSwimlane": "Дорожка __swimlane__ на доске __board__ перемещена в Архив",
"act-importBoard": "импортировал доску __board__",
- "act-importCard": "imported card __card__ to list __list__ at swimlane __swimlane__ at board __board__",
+ "act-importCard": "импортировал карточку __card__ в список __list__ на дорожку __swimlane__ доски __board__",
"act-importList": "импортировал список __list__ на дорожку __swimlane__ доски __board__",
- "act-joinMember": "added member __member__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
+ "act-joinMember": "добавил участника __member__ в карточку __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
"act-moveCard": "переместил карточку __card__ из списка __oldList__ с дорожки __oldSwimlane__ доски __oldBoard__ в список __list__ на дорожку __swimlane__ доски __board__",
"act-removeBoardMember": "удалил участника __member__ с доски __board__",
"act-restoredCard": "восстановил карточку __card__ в список __list__ на дорожку __swimlane__ доски __board__",
- "act-unjoinMember": "removed member __member__ from card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
+ "act-unjoinMember": "удалил участника __member__ из карточки __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
"act-withBoardTitle": "__board__",
"act-withCardTitle": "[__board__] __card__",
"actions": "Действия",
@@ -56,14 +56,14 @@
"activity-unchecked-item": "снял %s в контрольном списке %s в %s",
"activity-checklist-added": "добавил контрольный список в %s",
"activity-checklist-removed": "удалил контрольный список из %s",
- "activity-checklist-completed": "completed checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
+ "activity-checklist-completed": "завершил контрольный список __checklist__ в карточке __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
"activity-checklist-uncompleted": "вновь открыл контрольный список %s в %s",
"activity-checklist-item-added": "добавил пункт в контрольный список '%s' в карточке %s",
"activity-checklist-item-removed": "удалил пункт из контрольного списка '%s' в карточке %s",
"add": "Создать",
"activity-checked-item-card": "отметил %s в контрольном списке %s",
"activity-unchecked-item-card": "снял %s в контрольном списке %s",
- "activity-checklist-completed-card": "completed checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
+ "activity-checklist-completed-card": "завершил контрольный список __checklist__ в карточку __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
"activity-checklist-uncompleted-card": "вновь открыл контрольный список %s",
"add-attachment": "Добавить вложение",
"add-board": "Добавить доску",
diff --git a/package.json b/package.json
index 6809bdb9..847bc89c 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "wekan",
- "version": "v2.42.0",
+ "version": "v2.43.0",
"description": "Open-Source kanban",
"private": true,
"scripts": {
diff --git a/releases/virtualbox/start-wekan.sh b/releases/virtualbox/start-wekan.sh
index 08c79778..31a95728 100755
--- a/releases/virtualbox/start-wekan.sh
+++ b/releases/virtualbox/start-wekan.sh
@@ -251,6 +251,14 @@
#export LDAP_SYNC_ADMIN_STATUS=true
# Comma separated list of admin group names.
#export LDAP_SYNC_ADMIN_GROUPS=group1,group2
+ #---------------------------------------------------------------------
+ # Login to LDAP automatically with HTTP header.
+ # In below example for siteminder, at right side of = is header name.
+ #export HEADER_LOGIN_ID=BNPPUID
+ #export HEADER_LOGIN_FIRSTNAME=BNPPFIRSTNAME
+ #export HEADER_LOGIN_LASTNAME=BNPPLASTNAME
+ #export HEADER_LOGIN_EMAIL=BNPPEMAILADDRESS
+ #---------------------------------------------------------------------
# LOGOUT_WITH_TIMER : Enables or not the option logout with timer
# example : LOGOUT_WITH_TIMER=true
#export LOGOUT_WITH_TIMER=
diff --git a/sandstorm-pkgdef.capnp b/sandstorm-pkgdef.capnp
index 181cceb2..27155571 100644
--- a/sandstorm-pkgdef.capnp
+++ b/sandstorm-pkgdef.capnp
@@ -22,10 +22,10 @@ const pkgdef :Spk.PackageDefinition = (
appTitle = (defaultText = "Wekan"),
# The name of the app as it is displayed to the user.
- appVersion = 244,
+ appVersion = 245,
# Increment this for every release.
- appMarketingVersion = (defaultText = "2.42.0~2019-03-07"),
+ appMarketingVersion = (defaultText = "2.43.0~2019-03-08"),
# Human-readable presentation of the app version.
minUpgradableAppVersion = 0,
diff --git a/server/migrations.js b/server/migrations.js
index cb64b7e8..eeb2d5ea 100644
--- a/server/migrations.js
+++ b/server/migrations.js
@@ -517,3 +517,11 @@ Migrations.add('add-templates', () => {
});
});
});
+
+Migrations.add('fix-circular-reference', () => {
+ Cards.find().forEach((card) => {
+ if (card.parentId === card._id) {
+ Cards.update(card._id, {$set: {parentId: ''}}, noValidateMulti);
+ }
+ });
+});
diff --git a/snap-src/bin/config b/snap-src/bin/config
index 3e32c221..eecb7ba1 100755
--- a/snap-src/bin/config
+++ b/snap-src/bin/config
@@ -3,7 +3,7 @@
# All supported keys are defined here together with descriptions and default values
# list of supported keys
-keys="DEBUG MONGODB_BIND_UNIX_SOCKET MONGODB_BIND_IP MONGODB_PORT MAIL_URL MAIL_FROM ROOT_URL PORT DISABLE_MONGODB CADDY_ENABLED CADDY_BIND_PORT WITH_API EMAIL_NOTIFICATION_TIMEOUT CORS MATOMO_ADDRESS MATOMO_SITE_ID MATOMO_DO_NOT_TRACK MATOMO_WITH_USERNAME BROWSER_POLICY_ENABLED TRUSTED_URL WEBHOOKS_ATTRIBUTES OAUTH2_ENABLED OAUTH2_CLIENT_ID OAUTH2_SECRET OAUTH2_SERVER_URL OAUTH2_AUTH_ENDPOINT OAUTH2_USERINFO_ENDPOINT OAUTH2_TOKEN_ENDPOINT OAUTH2_ID_MAP OAUTH2_USERNAME_MAP OAUTH2_FULLNAME_MAP OAUTH2_EMAIL_MAP LDAP_ENABLE LDAP_PORT LDAP_HOST LDAP_BASEDN LDAP_LOGIN_FALLBACK LDAP_RECONNECT LDAP_TIMEOUT LDAP_IDLE_TIMEOUT LDAP_CONNECT_TIMEOUT LDAP_AUTHENTIFICATION LDAP_AUTHENTIFICATION_USERDN LDAP_AUTHENTIFICATION_PASSWORD LDAP_LOG_ENABLED LDAP_BACKGROUND_SYNC LDAP_BACKGROUND_SYNC_INTERVAL LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS LDAP_ENCRYPTION LDAP_CA_CERT LDAP_REJECT_UNAUTHORIZED LDAP_USER_SEARCH_FILTER LDAP_USER_SEARCH_SCOPE LDAP_USER_SEARCH_FIELD LDAP_SEARCH_PAGE_SIZE LDAP_SEARCH_SIZE_LIMIT LDAP_GROUP_FILTER_ENABLE LDAP_GROUP_FILTER_OBJECTCLASS LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT LDAP_GROUP_FILTER_GROUP_NAME LDAP_UNIQUE_IDENTIFIER_FIELD LDAP_UTF8_NAMES_SLUGIFY LDAP_USERNAME_FIELD LDAP_FULLNAME_FIELD LDAP_MERGE_EXISTING_USERS LDAP_SYNC_USER_DATA LDAP_SYNC_USER_DATA_FIELDMAP LDAP_SYNC_GROUP_ROLES LDAP_DEFAULT_DOMAIN LDAP_EMAIL_MATCH_ENABLE LDAP_EMAIL_MATCH_REQUIRE LDAP_EMAIL_MATCH_VERIFIED LDAP_EMAIL_FIELD LDAP_SYNC_ADMIN_STATUS LDAP_SYNC_ADMIN_GROUPS LOGOUT_WITH_TIMER LOGOUT_IN LOGOUT_ON_HOURS LOGOUT_ON_MINUTES DEFAULT_AUTHENTICATION_METHOD"
+keys="DEBUG MONGODB_BIND_UNIX_SOCKET MONGODB_BIND_IP MONGODB_PORT MAIL_URL MAIL_FROM ROOT_URL PORT DISABLE_MONGODB CADDY_ENABLED CADDY_BIND_PORT WITH_API EMAIL_NOTIFICATION_TIMEOUT CORS MATOMO_ADDRESS MATOMO_SITE_ID MATOMO_DO_NOT_TRACK MATOMO_WITH_USERNAME BROWSER_POLICY_ENABLED TRUSTED_URL WEBHOOKS_ATTRIBUTES OAUTH2_ENABLED OAUTH2_CLIENT_ID OAUTH2_SECRET OAUTH2_SERVER_URL OAUTH2_AUTH_ENDPOINT OAUTH2_USERINFO_ENDPOINT OAUTH2_TOKEN_ENDPOINT OAUTH2_ID_MAP OAUTH2_USERNAME_MAP OAUTH2_FULLNAME_MAP OAUTH2_EMAIL_MAP LDAP_ENABLE LDAP_PORT LDAP_HOST LDAP_BASEDN LDAP_LOGIN_FALLBACK LDAP_RECONNECT LDAP_TIMEOUT LDAP_IDLE_TIMEOUT LDAP_CONNECT_TIMEOUT LDAP_AUTHENTIFICATION LDAP_AUTHENTIFICATION_USERDN LDAP_AUTHENTIFICATION_PASSWORD LDAP_LOG_ENABLED LDAP_BACKGROUND_SYNC LDAP_BACKGROUND_SYNC_INTERVAL LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS LDAP_ENCRYPTION LDAP_CA_CERT LDAP_REJECT_UNAUTHORIZED LDAP_USER_SEARCH_FILTER LDAP_USER_SEARCH_SCOPE LDAP_USER_SEARCH_FIELD LDAP_SEARCH_PAGE_SIZE LDAP_SEARCH_SIZE_LIMIT LDAP_GROUP_FILTER_ENABLE LDAP_GROUP_FILTER_OBJECTCLASS LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT LDAP_GROUP_FILTER_GROUP_NAME LDAP_UNIQUE_IDENTIFIER_FIELD LDAP_UTF8_NAMES_SLUGIFY LDAP_USERNAME_FIELD LDAP_FULLNAME_FIELD LDAP_MERGE_EXISTING_USERS LDAP_SYNC_USER_DATA LDAP_SYNC_USER_DATA_FIELDMAP LDAP_SYNC_GROUP_ROLES LDAP_DEFAULT_DOMAIN LDAP_EMAIL_MATCH_ENABLE LDAP_EMAIL_MATCH_REQUIRE LDAP_EMAIL_MATCH_VERIFIED LDAP_EMAIL_FIELD LDAP_SYNC_ADMIN_STATUS LDAP_SYNC_ADMIN_GROUPS HEADER_LOGIN_ID HEADER_LOGIN_FIRSTNAME HEADER_LOGIN_LASTNAME HEADER_LOGIN_EMAIL LOGOUT_WITH_TIMER LOGOUT_IN LOGOUT_ON_HOURS LOGOUT_ON_MINUTES DEFAULT_AUTHENTICATION_METHOD"
# default values
DESCRIPTION_DEBUG="Debug OIDC OAuth2 etc. Example: sudo snap set wekan debug='true'"
@@ -326,6 +326,22 @@ DESCRIPTION_LDAP_DEFAULT_DOMAIN="The default domain of the ldap it is used to cr
DEFAULT_LDAP_DEFAULT_DOMAIN=""
KEY_LDAP_DEFAULT_DOMAIN="ldap-default-domain"
+DESCRIPTION_HEADER_LOGIN_ID="Header login ID. Example for siteminder: BNPPUID"
+DEFAULT_HEADER_LOGIN_ID=""
+KEY_HEADER_LOGIN_ID="header-login-id"
+
+DESCRIPTION_HEADER_LOGIN_FIRSTNAME="Header login firstname. Example for siteminder: BNPPFIRSTNAME"
+DEFAULT_HEADER_LOGIN_FIRSTNAME="Header login firstname. Example for siteminder: BNPPFIRSTNAME"
+KEY_HEADER_LOGIN_FIRSTNAME="header-login-firstname"
+
+DESCRIPTION_HEADER_LOGIN_LASTNAME="Header login lastname. Example for siteminder: BNPPLASTNAME"
+DEFAULT_HEADER_LOGIN_LASTNAME="Header login firstname. Example for siteminder: BNPPLASTNAME"
+KEY_HEADER_LOGIN_LASTNAME="header-login-lastname"
+
+DESCRIPTION_HEADER_LOGIN_EMAIL="Header login email. Example for siteminder: BNPPEMAILADDRESS"
+DEFAULT_HEADER_LOGIN_EMAIL="Header login email. Example for siteminder: BNPPEMAILADDRESS"
+KEY_HEADER_LOGIN_EMAIL="header-login-email"
+
DESCRIPTION_LOGOUT_WITH_TIMER="Enables or not the option logout with timer"
DEFAULT_LOGOUT_WITH_TIMER="false"
KEY_LOGOUT_WITH_TIMER="logout-with-timer"
diff --git a/snap-src/bin/mongodb-control b/snap-src/bin/mongodb-control
index a7a98739..d6d795bc 100755
--- a/snap-src/bin/mongodb-control
+++ b/snap-src/bin/mongodb-control
@@ -29,4 +29,4 @@ if [ "x" != "x${MONGODB_PORT}" ]; then
fi
echo "mongodb bind options: $BIND_OPTIONS"
-mongod --dbpath $SNAP_COMMON --logpath $SNAP_COMMON/mongodb.log --logappend --journal $BIND_OPTIONS
+mongod --dbpath $SNAP_COMMON --logpath $SNAP_COMMON/mongodb.log --logappend --journal $BIND_OPTIONS --smallfiles
diff --git a/snap-src/bin/wekan-help b/snap-src/bin/wekan-help
index e1945357..766a7df7 100755
--- a/snap-src/bin/wekan-help
+++ b/snap-src/bin/wekan-help
@@ -307,6 +307,13 @@ echo -e "Logout with timer."
echo -e "Enable or not the option that allows to disconnect an user after a given time:"
echo -e "\t$ snap set $SNAP_NAME logout-with-timer='true'"
echo -e "\n"
+echo -e "Login to LDAP automatically with HTTP header."
+echo -e "In below example for siteminder, at right side of = is header name."
+echo -e "\t$ snap set $SNAP_NAME header-login-id='BNPPUID'"
+echo -e "\t$ snap set $SNAP_NAME header-login-firstname='BNPPFIRSTNAME'"
+echo -e "\t$ snap set $SNAP_NAME header-login-lastname='BNPPLASTNAME'"
+echo -e "\t$ snap set $SNAP_NAME header-login-email='BNPPEMAILADDRESS'"
+echo -e "\n"
echo -e "Logout in."
echo -e "Logout in how many days:"
echo -e "\t$ snap set $SNAP_NAME logout-in='1'"
diff --git a/start-wekan.bat b/start-wekan.bat
index 229bf2db..001700f3 100755
--- a/start-wekan.bat
+++ b/start-wekan.bat
@@ -254,6 +254,13 @@ REM SET LDAP_SYNC_ADMIN_STATUS=true
REM # Comma separated list of admin group names to sync.
REM SET LDAP_SYNC_ADMIN_GROUPS=group1,group2
+REM # Login to LDAP automatically with HTTP header.
+REM # In below example for siteminder, at right side of = is header name.
+REM SET HEADER_LOGIN_ID=BNPPUID
+REM SET HEADER_LOGIN_FIRSTNAME=BNPPFIRSTNAME
+REM SET HEADER_LOGIN_LASTNAME=BNPPLASTNAME
+REM SET HEADER_LOGIN_EMAIL=BNPPEMAILADDRESS
+
REM ------------------------------------------------
REM # LOGOUT_WITH_TIMER : Enables or not the option logout with timer
diff --git a/start-wekan.sh b/start-wekan.sh
index 78084c1c..184be575 100755
--- a/start-wekan.sh
+++ b/start-wekan.sh
@@ -269,6 +269,14 @@ function wekan_repo_check(){
#export LDAP_SYNC_ADMIN_STATUS=true
# Comma separated list of admin group names to sync.
#export LDAP_SYNC_ADMIN_GROUPS=group1,group2
+ #---------------------------------------------------------------------
+ # Login to LDAP automatically with HTTP header.
+ # In below example for siteminder, at right side of = is header name.
+ #export HEADER_LOGIN_ID=BNPPUID
+ #export HEADER_LOGIN_FIRSTNAME=BNPPFIRSTNAME
+ #export HEADER_LOGIN_LASTNAME=BNPPLASTNAME
+ #export HEADER_LOGIN_EMAIL=BNPPEMAILADDRESS
+ #---------------------------------------------------------------------
# LOGOUT_WITH_TIMER : Enables or not the option logout with timer
# example : LOGOUT_WITH_TIMER=true
#export LOGOUT_WITH_TIMER=