added User.Attributes UserPasswordExpired

Added attribute for local user: UserPasswordExpired.
Also added missing RemoteUser attribute.
Also pointed to sdbus++ tool for YAML content.

Tested: In phosphor-user-manager commit.

Signed-off-by: Joseph Reynolds <joseph-reynolds@charter.net>
Change-Id: I2cd589267bf765f3e8dea928b37ae61a4629216f
diff --git a/README.md b/README.md
index 2c2f726..f131ce0 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,6 @@
 # phosphor-dbus-interfaces
-YAML descriptors of standard dbus interfaces
+YAML descriptors of standard D-Bus interfaces.
+The format is described by the [sdbusplus binding generation tool sdbus++][].
 
 Only the xyz/openbmc_project interfaces are built by default.
 
@@ -12,3 +13,4 @@
 --enable-ibm-dbus-interfaces
 ```
 
+[sdbusplus binding generation tool sdbus++]: https://github.com/openbmc/sdbusplus/blob/master/README.md#binding-generation-tool
diff --git a/xyz/openbmc_project/User/Attributes.interface.yaml b/xyz/openbmc_project/User/Attributes.interface.yaml
index ff1065a..24df81b 100644
--- a/xyz/openbmc_project/User/Attributes.interface.yaml
+++ b/xyz/openbmc_project/User/Attributes.interface.yaml
@@ -36,3 +36,22 @@
           the user after a timeout.
       errors:
           - xyz.openbmc_project.Common.Error.InternalFailure
+
+    - name: RemoteUser
+      type: boolean
+      flags:
+          - const
+      description: >
+          False for local users.
+      errors:
+          - xyz.openbmc_project.Common.Error.InternalFailure
+
+    - name: UserPasswordExpired
+      type: boolean
+      flags:
+          - const
+      description: >
+          True when the user's password must be changed before access should
+          be granted.
+      errors:
+          - xyz.openbmc_project.Common.Error.InternalFailure
diff --git a/xyz/openbmc_project/User/Manager.interface.yaml b/xyz/openbmc_project/User/Manager.interface.yaml
index dac8efa..f14c53e 100644
--- a/xyz/openbmc_project/User/Manager.interface.yaml
+++ b/xyz/openbmc_project/User/Manager.interface.yaml
@@ -65,6 +65,7 @@
              -user groups
              -user enabled state
              -user locked state
+             -user password expired state
              -remote user flag
           If its ldap user, method returns
              -user privilege
@@ -84,6 +85,7 @@
               UserGroups    -> list of groups user belongs to(array[string])
               UserEnabled   -> user enabled state(boolean)
               UserLockedForFailedAttempt -> user locked state(boolean)
+              UserPasswordExpired -> user password expired(boolean)
               RemoteUser    ->  remote or local user(boolean)
 
               For detailed documentation of user properties refer