Difference between revisions of "Developer/PasswordMakerXml"

From PasswordMaker
Jump to navigationJump to search
()
 
Line 82: Line 82:
  
 
; protocol
 
; protocol
: If to include the protocol (example: http:''''''//) in the url to use to create the default password
+
: If to include the protocol (example: <nowiki>http://</nowiki>) in the url to use to create the default password
  
 
; subdomain
 
; subdomain
Line 93: Line 93:
 
: If the rest of the domain should be used
 
: If the rest of the domain should be used
  
<!--==== <group> ====
+
==== <group> ====
 +
 
 +
''Child Tags''
 +
 
 +
* <account> [0+]
 +
 
 +
''Attributes''
 +
 
 +
; id
 +
: The unique id for this group. Id '''MUST''' be unique for the whole file.
 +
: How id is created is program depended and is out of the scope of this page.
 +
 
 +
; name
 +
: The name of the account
 +
 
 +
; description
 +
: The description of the account
  
 
===== <account> =====
 
===== <account> =====
 +
 +
TODO
  
 
====== <apfields> ======
 
====== <apfields> ======
  
====== <urlpattern> ======-->
+
TODO // Browser only
 +
 
 +
====== <urlpattern> ======
 +
 
 +
TODO
  
 
=== <settings> ===
 
=== <settings> ===

Latest revision as of 10:10, 10 May 2010

This is how the PasswordMaker XML should be formatted.

When listing child tags, the following is used to say how many can be used.

[1]
Only one child exists
[0-1]
Only one child exists, but can be left out
[1+]
At least one child exists, but has no upper limit
[0+]
The child may be left out, but has no upper limit

Also note, technically the children should be defined in the order they're used (but not really). Also note that in some cases, the order of the children affects the order items are listed in the application.

<passwordmaker>

Child tags

Currently, the following child tags are defined:

  • <accounts> [1]
  • <settings> [0-1]

The following will be defined when an edition needs to support them (and for now, is undocumented):

  • <remotes> [0-1]
  • <domains> [0-1]

<accounts> and it's child <default> are the only require tags.

Attributes

encryption_salt
When the file is encrypted, use this for the key on the HMAC-SHA256 hash
encrypted
This is used to let the program know if the XML file is encrypted. When it's not set, or is set to 0 or false (must be lower case), then the file is not encrypted.
If it's set to 1 or true, then the contents of the tag is encrypted data stored as base64. AES 256 is used for encryption. The key is a SHA-256 hash of a password provided by the user. If encryption_salt is set, then it's a HMAC-SHA-256 hash, with encryption_salt being the key for the HMAC.

<accounts>

Child tags

  • <default> [1]
  • <group> [0+]

<default>

Attributes

username
The username to use to generate the password.
whereLeet
Where to use l33t. The following values are allowed
  • TODO: Figure out the values the Desktop Edition uses
leetLevel
What l33t level to use. This value is 0 based (valid values are 0-8)
hashAlgorithm
Hash algorithm to use. The following values are allowed
  • TODO: Figure out the values the Desktop Edition uses. May be the exact same as the Firefox Edition.
passwordLength
The length of the password to generate. 999 appears to be the upper limit.
charset
The characters to use in creating the password
modifier
Another field. This was the counter field in older versions of the Firefox Edition.
prefix
A prefix to use before the generated password
suffix
A suffix to use after the generated password
protocol
If to include the protocol (example: http://) in the url to use to create the default password
subdomain
If the subdomain part should be used
domain
If the domain part should be used
path
If the rest of the domain should be used

<group>

Child Tags

  • <account> [0+]

Attributes

id
The unique id for this group. Id MUST be unique for the whole file.
How id is created is program depended and is out of the scope of this page.
name
The name of the account
description
The description of the account
<account>

TODO

<apfields>

TODO // Browser only

<urlpattern>

TODO

<settings>

Child tags

  • <globalsettings> [1]
  • <programsettings> [0+]

<globalsettings>

This tag hold settings that apply to all editions.

Child tags

  • <setting> [0+]

<programsettings>

This tag is used to hold settings that apply to a certain edition only (and may not apply to another edition. Window sizes is the best example of how this is used)

Children tags

  • <setting> [0+]

Attributes

prog
An id of the edition using this tag. Should only be edited by the edition that uses this id.

ref: <setting>

This tag is used in both <gloablsettings> and <programsettings>.

Attributes

name
The name of the setting
value
The value of the setting