Merge branch 'develop' into phpMailer
# Conflicts: # lam/HISTORY
This commit is contained in:
commit
bf52e55f5f
|
@ -1,8 +1,8 @@
|
||||||
ldap-account-manager (7.1.RC1-1) unstable; urgency=medium
|
ldap-account-manager (7.1-1) unstable; urgency=medium
|
||||||
|
|
||||||
* new upstream release
|
* new upstream release
|
||||||
|
|
||||||
-- Roland Gruber <post@rolandgruber.de> Tue, 18 Feb 2020 18:01:11 +0100
|
-- Roland Gruber <post@rolandgruber.de> Mon, 16 Mar 2020 21:24:23 +0100
|
||||||
|
|
||||||
ldap-account-manager (7.0-1) unstable; urgency=medium
|
ldap-account-manager (7.0-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
FROM debian:buster-slim
|
FROM debian:buster-slim
|
||||||
LABEL maintainer="Roland Gruber <post@rolandgruber.de>"
|
LABEL maintainer="Roland Gruber <post@rolandgruber.de>"
|
||||||
|
|
||||||
ARG LAM_RELEASE=7.1.RC1
|
ARG LAM_RELEASE=7.1
|
||||||
EXPOSE 80
|
EXPOSE 80
|
||||||
|
|
||||||
ENV \
|
ENV \
|
||||||
|
|
|
@ -4,7 +4,7 @@ services:
|
||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
args:
|
args:
|
||||||
- LAM_RELEASE=7.1.RC1
|
- LAM_RELEASE=7.1
|
||||||
image: ldapaccountmanager/lam:latest
|
image: ldapaccountmanager/lam:latest
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
ports:
|
ports:
|
||||||
|
|
|
@ -3,12 +3,13 @@ June 2020 7.2
|
||||||
-> EMail sending can be done via SMTP without local mail server
|
-> EMail sending can be done via SMTP without local mail server
|
||||||
|
|
||||||
|
|
||||||
March 2020 7.1
|
17.03.2020 7.1
|
||||||
- PHP 7 required
|
- PHP 7 required
|
||||||
- Webauthn/FIDO2 support for 2-factor-authentication (requires PHP 7.2)
|
- Webauthn/FIDO2 support for 2-factor-authentication (requires PHP 7.2)
|
||||||
- IMAP: changed library to support latest TLS versions
|
- IMAP: changed library to support latest TLS versions
|
||||||
- Personal: support display name (hidden by default in server profile)
|
- Personal: support display name (hidden by default in server profile)
|
||||||
- Windows users: support allowed workstations, more profile options
|
- Windows users: support allowed workstations, more profile options
|
||||||
|
- Reactivated Polish translation
|
||||||
- LAM Pro:
|
- LAM Pro:
|
||||||
-> PPolicy: support for password check module
|
-> PPolicy: support for password check module
|
||||||
-> Windows AD LDS support (users and groups)
|
-> Windows AD LDS support (users and groups)
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
7.1.RC1
|
7.1
|
||||||
|
|
|
@ -36,7 +36,7 @@ it_IT.utf8:UTF-8:Italiano (Italia)
|
||||||
nl_NL.utf8:UTF-8:Nederlands (Nederland)
|
nl_NL.utf8:UTF-8:Nederlands (Nederland)
|
||||||
|
|
||||||
# Polish
|
# Polish
|
||||||
# pl_PL.utf8:UTF-8:Polski (Polska)
|
pl_PL.utf8:UTF-8:Polski (Polska)
|
||||||
|
|
||||||
# Portuguese
|
# Portuguese
|
||||||
pt_BR.utf8:UTF-8:Português (Brasil)
|
pt_BR.utf8:UTF-8:Português (Brasil)
|
||||||
|
|
|
@ -405,7 +405,6 @@ class lamList {
|
||||||
$table->setCSSClasses(array($scope . '-border accountlist'));
|
$table->setCSSClasses(array($scope . '-border accountlist'));
|
||||||
$table->setOnClickEvents($onClickEvents);
|
$table->setOnClickEvents($onClickEvents);
|
||||||
$table->setOnDoubleClickEvents($onDoubleClickEvents);
|
$table->setOnDoubleClickEvents($onDoubleClickEvents);
|
||||||
$columnCount = sizeof($titles);
|
|
||||||
|
|
||||||
parseHtml(null, $table, array(), false, $this->tabindex, $scope);
|
parseHtml(null, $table, array(), false, $this->tabindex, $scope);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1658,7 +1658,6 @@ class inetOrgPerson extends baseModule implements passwordService {
|
||||||
$messages = array();
|
$messages = array();
|
||||||
if ($_FILES['photoFile'] && ($_FILES['photoFile']['size'] > 0)) {
|
if ($_FILES['photoFile'] && ($_FILES['photoFile']['size'] > 0)) {
|
||||||
$name = $_FILES['photoFile']['name'];
|
$name = $_FILES['photoFile']['name'];
|
||||||
$extension = strtolower(substr($name, strpos($name, '.') + 1));
|
|
||||||
$handle = fopen($_FILES['photoFile']['tmp_name'], "r");
|
$handle = fopen($_FILES['photoFile']['tmp_name'], "r");
|
||||||
$data = fread($handle, 100000000);
|
$data = fread($handle, 100000000);
|
||||||
if (!empty($this->moduleSettings['inetOrgPerson_jpegPhoto_maxSize'][0]) && (strlen($data) > (1024 * $this->moduleSettings['inetOrgPerson_jpegPhoto_maxSize'][0]))) {
|
if (!empty($this->moduleSettings['inetOrgPerson_jpegPhoto_maxSize'][0]) && (strlen($data) > (1024 * $this->moduleSettings['inetOrgPerson_jpegPhoto_maxSize'][0]))) {
|
||||||
|
|
|
@ -5,7 +5,7 @@ use \LAM\PDF\PDFTableRow;
|
||||||
/*
|
/*
|
||||||
|
|
||||||
This code is part of LDAP Account Manager (http://www.ldap-account-manager.org/)
|
This code is part of LDAP Account Manager (http://www.ldap-account-manager.org/)
|
||||||
Copyright (C) 2005 - 2019 Roland Gruber
|
Copyright (C) 2005 - 2020 Roland Gruber
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
|
@ -571,8 +571,6 @@ class ldapPublicKey extends baseModule {
|
||||||
* Handles an AJAX file upload and prints the JSON result.
|
* Handles an AJAX file upload and prints the JSON result.
|
||||||
*/
|
*/
|
||||||
private function ajaxUpload() {
|
private function ajaxUpload() {
|
||||||
$x = $_GET;
|
|
||||||
$y = $_FILES;
|
|
||||||
$result = array('success' => true);
|
$result = array('success' => true);
|
||||||
if (!isset($_FILES['qqfile']) || ($_FILES['qqfile']['size'] < 10)) {
|
if (!isset($_FILES['qqfile']) || ($_FILES['qqfile']['size'] < 10)) {
|
||||||
$result = array('error' => _('No file received.'));
|
$result = array('error' => _('No file received.'));
|
||||||
|
|
|
@ -483,7 +483,6 @@ class posixAccount extends baseModule implements passwordService {
|
||||||
function init($base) {
|
function init($base) {
|
||||||
// make optional if needed
|
// make optional if needed
|
||||||
$modules = $_SESSION[$base]->get_type()->getModules();
|
$modules = $_SESSION[$base]->get_type()->getModules();
|
||||||
$typeId = $_SESSION[$base]->get_type()->getId();
|
|
||||||
$this->autoAddObjectClasses = !$this->isOptional($modules) && !$this->skipObjectClass();
|
$this->autoAddObjectClasses = !$this->isOptional($modules) && !$this->skipObjectClass();
|
||||||
// call parent init
|
// call parent init
|
||||||
parent::init($base);
|
parent::init($base);
|
||||||
|
@ -2029,7 +2028,6 @@ class posixAccount extends baseModule implements passwordService {
|
||||||
// profile mappings in meta data
|
// profile mappings in meta data
|
||||||
parent::load_profile($profile);
|
parent::load_profile($profile);
|
||||||
$modules = $this->getAccountContainer()->get_type()->getModules();
|
$modules = $this->getAccountContainer()->get_type()->getModules();
|
||||||
$typeId = $this->getAccountContainer()->get_type()->getId();
|
|
||||||
// cn
|
// cn
|
||||||
if ($this->manageCn($modules) && !empty($profile['posixAccount_cn'][0])) {
|
if ($this->manageCn($modules) && !empty($profile['posixAccount_cn'][0])) {
|
||||||
$this->attributes['cn'][0] = $profile['posixAccount_cn'][0];
|
$this->attributes['cn'][0] = $profile['posixAccount_cn'][0];
|
||||||
|
@ -2469,7 +2467,7 @@ class posixAccount extends baseModule implements passwordService {
|
||||||
if (self::areGroupOfNamesActive()) {
|
if (self::areGroupOfNamesActive()) {
|
||||||
$gons = $this->findGroupOfNames();
|
$gons = $this->findGroupOfNames();
|
||||||
$gonList = array();
|
$gonList = array();
|
||||||
foreach ($gons as $dn => $attr) {
|
foreach ($gons as $attr) {
|
||||||
$gonList[] = $attr['cn'][0];
|
$gonList[] = $attr['cn'][0];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1076,7 +1076,6 @@ class posixGroup extends baseModule implements passwordService {
|
||||||
return array();
|
return array();
|
||||||
}
|
}
|
||||||
// auto sync group members
|
// auto sync group members
|
||||||
$typeId = $this->getAccountContainer()->get_type()->getId();
|
|
||||||
if ($this->isBooleanConfigOptionSet('posixGroup_autoSyncGon')) {
|
if ($this->isBooleanConfigOptionSet('posixGroup_autoSyncGon')) {
|
||||||
$this->syncGon();
|
$this->syncGon();
|
||||||
}
|
}
|
||||||
|
|
|
@ -592,7 +592,7 @@ class PublicKeyCredentialSourceRepositorySQLite implements PublicKeyCredentialSo
|
||||||
logNewMessage(LOG_NOTICE, 'Delete webauthn device ' . $credentialId . ' of ' . $dn);
|
logNewMessage(LOG_NOTICE, 'Delete webauthn device ' . $credentialId . ' of ' . $dn);
|
||||||
$pdo = $this->getPDO();
|
$pdo = $this->getPDO();
|
||||||
$statement = $pdo->prepare('delete from ' . self::TABLE_NAME . ' where userId = :userId and credentialId = :credentialId');
|
$statement = $pdo->prepare('delete from ' . self::TABLE_NAME . ' where userId = :userId and credentialId = :credentialId');
|
||||||
$result = $statement->execute(array(
|
$statement->execute(array(
|
||||||
':userId' => $dn,
|
':userId' => $dn,
|
||||||
':credentialId' => $credentialId
|
':credentialId' => $credentialId
|
||||||
));
|
));
|
||||||
|
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
@ -556,7 +556,6 @@ parseHtml(null, $buttonContainer, array(), false, $tabindex, 'user');
|
||||||
*/
|
*/
|
||||||
function checkInput() {
|
function checkInput() {
|
||||||
$conf = &$_SESSION['conf_config'];
|
$conf = &$_SESSION['conf_config'];
|
||||||
$types = $conf->get_ActiveTypes();
|
|
||||||
|
|
||||||
// check new preferences
|
// check new preferences
|
||||||
$errors = array();
|
$errors = array();
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/*
|
/*
|
||||||
|
|
||||||
This code is part of LDAP Account Manager (http://www.ldap-account-manager.org/)
|
This code is part of LDAP Account Manager (http://www.ldap-account-manager.org/)
|
||||||
Copyright (C) 2003 - 2019 Roland Gruber
|
Copyright (C) 2003 - 2020 Roland Gruber
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
|
@ -96,7 +96,7 @@ printHeaderContents(_("Login"), '../..');
|
||||||
<?php
|
<?php
|
||||||
// check if config file is writable
|
// check if config file is writable
|
||||||
if (!$cfgMain->isWritable()) {
|
if (!$cfgMain->isWritable()) {
|
||||||
StatusMessage('WARN', 'The config file is not writable.', 'Your changes cannot be saved until you make the file writable for the webserver user.');
|
StatusMessage('WARN', _('The config file is not writable.'), _('Your changes cannot be saved until you make the file writable for the webserver user.'));
|
||||||
}
|
}
|
||||||
if (!empty($_GET['invalidLicense']) && ($_GET['invalidLicense'] == '1')) {
|
if (!empty($_GET['invalidLicense']) && ($_GET['invalidLicense'] == '1')) {
|
||||||
StatusMessage('WARN', _('Invalid licence'), _('Please setup your licence data.'));
|
StatusMessage('WARN', _('Invalid licence'), _('Please setup your licence data.'));
|
||||||
|
|
|
@ -300,7 +300,7 @@ printHeaderContents(_("Edit general settings"), '../..');
|
||||||
|
|
||||||
// check if config file is writable
|
// check if config file is writable
|
||||||
if (!$cfg->isWritable()) {
|
if (!$cfg->isWritable()) {
|
||||||
$row->add(new htmlStatusMessage('WARN', 'The config file is not writable.', 'Your changes cannot be saved until you make the file writable for the webserver user.'), 12);
|
$row->add(new htmlStatusMessage('WARN', _('The config file is not writable.'), _('Your changes cannot be saved until you make the file writable for the webserver user.')), 12);
|
||||||
}
|
}
|
||||||
|
|
||||||
// license
|
// license
|
||||||
|
|
Loading…
Reference in New Issue