summaryrefslogtreecommitdiff
path: root/officecfg
diff options
context:
space:
mode:
authorMike Kaganski <mike.kaganski@collabora.com>2018-04-28 09:16:15 +0300
committerMike Kaganski <mike.kaganski@collabora.com>2018-05-02 16:38:40 +0200
commitf154f63cb662f02415d5cb0051011bdb5d0d523c (patch)
tree31f22312e0c8ab339cdbb132a82da08b52f15dd0 /officecfg
parentea1f50894ac3e681213b874af08217ae25d0433a (diff)
WinUserInfoBe: a new config backend for user data provided by Windows
This backend provides Active Directory details for current user. If the system is not part of Active Directory domain, GetUserNameEx is used instead, so at least user (given) name is configured. Unlike ldap backend, this one doesn't need connection configuration, as the used API works with current user security context. Change-Id: I74bcc79591a658dc5121df1f09caa15d272fbe12 Reviewed-on: https://gerrit.libreoffice.org/53590 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Diffstat (limited to 'officecfg')
-rw-r--r--officecfg/Package_misc.mk3
-rw-r--r--officecfg/registry/schema/oo-winuser.xcd.sample95
-rw-r--r--officecfg/registry/schema/org/openoffice/UserProfile.xcs11
3 files changed, 109 insertions, 0 deletions
diff --git a/officecfg/Package_misc.mk b/officecfg/Package_misc.mk
index bfe742c11423..f873586a1770 100644
--- a/officecfg/Package_misc.mk
+++ b/officecfg/Package_misc.mk
@@ -21,5 +21,8 @@ $(eval $(call gb_Package_Package,officecfg_misc,$(SRCDIR)/officecfg))
$(eval $(call gb_Package_add_file,officecfg_misc,$(LIBO_SHARE_FOLDER)/registry/oo-ldap.xcd.sample,registry/schema/oo-ldap.xcd.sample))
$(eval $(call gb_Package_add_file,officecfg_misc,$(LIBO_SHARE_FOLDER)/registry/oo-ad-ldap.xcd.sample,registry/schema/oo-ad-ldap.xcd.sample))
+ifeq ($(OS),WNT)
+$(eval $(call gb_Package_add_file,officecfg_misc,$(LIBO_SHARE_FOLDER)/registry/oo-winuser.xcd.sample,registry/schema/oo-winuser.xcd.sample))
+endif
# vim: set noet sw=4 ts=4:
diff --git a/officecfg/registry/schema/oo-winuser.xcd.sample b/officecfg/registry/schema/oo-winuser.xcd.sample
new file mode 100644
index 000000000000..57c9b5b777c1
--- /dev/null
+++ b/officecfg/registry/schema/oo-winuser.xcd.sample
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+-->
+
+<!-- This is a fully functional configuration for WinUserInfo configuration backend.
+
+ Removing the ".sample" from the file name allows to get user data from Windows:
+ first, domain data (from Active Directory) is attempted; if unsuccessful, then
+ only given name is configured that is taken from system information.
+ In the latter case, display name (like "John Smith") would be used if present;
+ if it's not configured, then user logon name would be used.
+
+ Any properties that are not required to be set may be commented out as needed.
+-->
+
+<oor:data xmlns:oor="http://openoffice.org/2001/registry">
+ <dependency file="main"/>
+ <oor:component-data oor:package="org.openoffice" oor:name="UserProfile">
+ <node oor:name="Data">
+ <prop oor:name="o" oor:finalized="true">
+ <value oor:external=
+ "com.sun.star.configuration.backend.WinUserInfoBe o"/>
+ </prop>
+ <prop oor:name="givenname" oor:finalized="true">
+ <value oor:external=
+ "com.sun.star.configuration.backend.WinUserInfoBe givenname"/>
+ </prop>
+ <prop oor:name="sn" oor:finalized="true">
+ <value oor:external=
+ "com.sun.star.configuration.backend.WinUserInfoBe sn"/>
+ </prop>
+ <prop oor:name="initials" oor:finalized="true">
+ <value oor:external=
+ "com.sun.star.configuration.backend.WinUserInfoBe initials"/>
+ </prop>
+ <prop oor:name="street" oor:finalized="true">
+ <value oor:external=
+ "com.sun.star.configuration.backend.WinUserInfoBe street"/>
+ </prop>
+ <prop oor:name="l" oor:finalized="true">
+ <value oor:external=
+ "com.sun.star.configuration.backend.WinUserInfoBe l"/>
+ </prop>
+ <prop oor:name="st" oor:finalized="true">
+ <value oor:external=
+ "com.sun.star.configuration.backend.WinUserInfoBe st"/>
+ </prop>
+ <prop oor:name="postalcode" oor:finalized="true">
+ <value oor:external=
+ "com.sun.star.configuration.backend.WinUserInfoBe postalcode"/>
+ </prop>
+ <prop oor:name="c" oor:finalized="true">
+ <value oor:external=
+ "com.sun.star.configuration.backend.WinUserInfoBe c"/>
+ </prop>
+ <prop oor:name="title" oor:finalized="true">
+ <value oor:external=
+ "com.sun.star.configuration.backend.WinUserInfoBe title"/>
+ </prop>
+ <prop oor:name="position" oor:finalized="true">
+ <value oor:external=
+ "com.sun.star.configuration.backend.WinUserInfoBe position"/>
+ </prop>
+ <prop oor:name="homephone" oor:finalized="true">
+ <value oor:external=
+ "com.sun.star.configuration.backend.WinUserInfoBe homephone"/>
+ </prop>
+ <prop oor:name="telephonenumber" oor:finalized="true">
+ <value oor:external=
+ "com.sun.star.configuration.backend.WinUserInfoBe telephonenumber"/>
+ </prop>
+ <prop oor:name="facsimiletelephonenumber" oor:finalized="true">
+ <value oor:external=
+ "com.sun.star.configuration.backend.WinUserInfoBe facsimiletelephonenumber"/>
+ </prop>
+ <prop oor:name="mail" oor:finalized="true">
+ <value oor:external=
+ "com.sun.star.configuration.backend.WinUserInfoBe mail"/>
+ </prop>
+ <prop oor:name="fathersname" oor:finalized="true">
+ <value oor:external=
+ "com.sun.star.configuration.backend.WinUserInfoBe fathersname"/>
+ </prop>
+ <prop oor:name="apartment" oor:finalized="true">
+ <value oor:external=
+ "com.sun.star.configuration.backend.WinUserInfoBe apartment"/>
+ </prop>
+ </node>
+ </oor:component-data>
+</oor:data>
diff --git a/officecfg/registry/schema/org/openoffice/UserProfile.xcs b/officecfg/registry/schema/org/openoffice/UserProfile.xcs
index 014a6ac18c4f..478e03f82dd3 100644
--- a/officecfg/registry/schema/org/openoffice/UserProfile.xcs
+++ b/officecfg/registry/schema/org/openoffice/UserProfile.xcs
@@ -221,5 +221,16 @@
<value>true</value>
</prop>
</group>
+ <group oor:name="WinUserInfo">
+ <info>
+ <desc>Contains user information cached from Active Directory.</desc>
+ </info>
+ <prop oor:name="Cache" oor:type="xs:string" oor:nillable="false">
+ <info>
+ <desc>Cache data.</desc>
+ </info>
+ <value/>
+ </prop>
+ </group>
</component>
</oor:component-schema>