"type" : "string",
"typetext" : "<string>"
},
+ "cafile" : {
+ "description" : "Path to CA file. Only useful with option 'verify'",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"comment" : {
"description" : "Description.",
"maxLength" : 4096,
},
"mode" : {
"default" : "ldap",
- "description" : "LDAP protocol mode ('ldap' or 'ldaps').",
+ "description" : "LDAP protocol mode ('ldap', 'ldaps' or 'ldap+starttls').",
"enum" : [
"ldap",
- "ldaps"
+ "ldaps",
+ "ldap+starttls"
],
"optional" : 1,
"type" : "string"
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
+ },
+ "verify" : {
+ "default" : 0,
+ "description" : "Verify server certificate. Only useful with ldaps or ldap+starttls.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
}
},
"type" : "object"
"type" : "string",
"typetext" : "<string>"
},
+ "cafile" : {
+ "description" : "Path to CA file. Only useful with option 'verify'",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"comment" : {
"description" : "Description.",
"maxLength" : 4096,
},
"mode" : {
"default" : "ldap",
- "description" : "LDAP protocol mode ('ldap' or 'ldaps').",
+ "description" : "LDAP protocol mode ('ldap', 'ldaps' or 'ldap+starttls').",
"enum" : [
"ldap",
- "ldaps"
+ "ldaps",
+ "ldap+starttls"
],
"optional" : 1,
"type" : "string"
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
+ },
+ "verify" : {
+ "default" : 0,
+ "description" : "Verify server certificate. Only useful with ldaps or ldap+starttls.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
}
},
"type" : "object"
"maxLength" : 512,
"minLength" : 3,
"optional" : 1,
- "pattern" : "(?:|[^\\s\\/\\@]+\\@[^\\s\\/\\@]+)",
+ "pattern" : "(?:[^\\s\\/\\\\@]+\\@[^\\s\\/\\\\@]+)",
"type" : "string"
},
"user" : {
"maxLength" : 512,
"minLength" : 3,
"optional" : 1,
- "pattern" : "(?:|[^\\s\\/\\@]+\\@[^\\s\\/\\@]+)",
+ "pattern" : "(?:[^\\s\\/\\\\@]+\\@[^\\s\\/\\\\@]+)",
"type" : "string"
},
"user" : {
"maxLength" : 512,
"minLength" : 3,
"optional" : 1,
- "pattern" : "(?:|[^\\s\\/\\@]+\\@[^\\s\\/\\@]+)",
+ "pattern" : "(?:[^\\s\\/\\\\@]+\\@[^\\s\\/\\\\@]+)",
"type" : "string"
},
"user" : {
"description" : "The target email address (where to deliver fetched mails).",
"maxLength" : 512,
"minLength" : 3,
- "pattern" : "(?:|[^\\s\\/\\@]+\\@[^\\s\\/\\@]+)",
+ "pattern" : "(?:[^\\s\\/\\\\@]+\\@[^\\s\\/\\\\@]+)",
"type" : "string"
},
"user" : {
"path" : "/config/mimetypes",
"text" : "mimetypes"
},
+ {
+ "children" : [
+ {
+ "info" : {
+ "DELETE" : {
+ "description" : "Delete a tls_policy entry",
+ "method" : "DELETE",
+ "name" : "delete",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "domain" : {
+ "description" : "Domain name.",
+ "format" : "transport-domain",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "master",
+ "returns" : {
+ "type" : "null"
+ }
+ },
+ "GET" : {
+ "description" : "Read tls_policy entry.",
+ "method" : "GET",
+ "name" : "read",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "domain" : {
+ "description" : "Domain name.",
+ "format" : "transport-domain",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
+ },
+ "proxyto" : "master",
+ "returns" : {
+ "properties" : {
+ "domain" : {
+ "format" : "transport-domain",
+ "type" : "string"
+ },
+ "policy" : {
+ "format" : "tls-policy",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ }
+ },
+ "PUT" : {
+ "description" : "Update tls_policy entry.",
+ "method" : "PUT",
+ "name" : "write",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "domain" : {
+ "description" : "Domain name.",
+ "format" : "transport-domain",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "policy" : {
+ "description" : "TLS policy",
+ "format" : "tls-policy-strict",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "master",
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/config/tlspolicy/{domain}",
+ "text" : "{domain}"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "description" : "List tls_policy entries.",
+ "method" : "GET",
+ "name" : "index",
+ "parameters" : {
+ "additionalProperties" : 0
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
+ },
+ "proxyto" : "master",
+ "returns" : {
+ "items" : {
+ "properties" : {
+ "domain" : {
+ "format" : "transport-domain",
+ "type" : "string"
+ },
+ "policy" : {
+ "format" : "tls-policy",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{domain}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ },
+ "POST" : {
+ "description" : "Add tls_policy entry.",
+ "method" : "POST",
+ "name" : "create",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "domain" : {
+ "description" : "Domain name.",
+ "format" : "transport-domain",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "policy" : {
+ "description" : "TLS policy",
+ "format" : "tls-policy-strict",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "master",
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/config/tlspolicy",
+ "text" : "tlspolicy"
+ },
{
"info" : {
"GET" : {
},
"avast" : {
"default" : 0,
- "description" : "Use Avast Virus Scanner (/bin/scan). You need to buy and install 'Avast Core Security' before you can enable this feature.",
+ "description" : "Use Avast Virus Scanner (/usr/bin/scan). You need to buy and install 'Avast Core Security' before you can enable this feature.",
"optional" : 1,
"type" : "boolean",
"typetext" : "<boolean>"
"type" : "boolean",
"typetext" : "<boolean>"
},
+ "custom_check" : {
+ "default" : 0,
+ "description" : "Use Custom Check Script. The script has to take the defined arguments and can return Virus findings or a Spamscore.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "custom_check_path" : {
+ "default" : "/usr/local/bin/pmg-custom-check",
+ "description" : "Absolute Path to the Custom Check Script",
+ "optional" : 1,
+ "pattern" : "^/([^/\\0]+\\/)+[^/\\0]+$",
+ "type" : "string"
+ },
"dailyreport" : {
"default" : 1,
"description" : "Send daily reports.",
"properties" : {
"archiveblockencrypted" : {
"default" : 0,
- "description" : "Wether to block encrypted archives. Mark encrypted archives as viruses.",
+ "description" : "Whether to block encrypted archives and documents. Mark encrypted archives and documents as viruses.",
"optional" : 1,
"type" : "boolean",
"typetext" : "<boolean>"
"typetext" : "<integer> (1 - 65535)"
},
"max_filters" : {
- "default" : 15,
+ "default" : 35,
"description" : "Maximum number of pmg-smtp-filter processes.",
"maximum" : 40,
"minimum" : 3,
"typetext" : "<integer> (2 - 10)"
},
"max_smtpd_in" : {
- "default" : 99,
+ "default" : 100,
"description" : "Maximum number of SMTP daemon processes (in).",
"maximum" : 100,
"minimum" : 3,
"typetext" : "<integer> (3 - 100)"
},
"max_smtpd_out" : {
- "default" : 99,
+ "default" : 100,
"description" : "Maximum number of SMTP daemon processes (out).",
"maximum" : 100,
"minimum" : 3,
},
"clamav_heuristic_score" : {
"default" : 3,
- "description" : "Score for ClamaAV heuristics (Google Safe Browsing database, PhishingScanURLs, ...).",
+ "description" : "Score for ClamAV heuristics (Google Safe Browsing database, PhishingScanURLs, ...).",
"maximum" : 1000,
"minimum" : 0,
"optional" : 1,
"type" : "boolean",
"typetext" : "<boolean>"
},
+ "cidr" : {
+ "description" : "IPv4 CIDR.",
+ "format" : "CIDRv4",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "cidr6" : {
+ "description" : "IPv6 CIDR.",
+ "format" : "CIDRv6",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"comments" : {
"description" : "Comments",
"optional" : 1,
"type" : "boolean",
"typetext" : "<boolean>"
},
+ "cidr" : {
+ "description" : "IPv4 CIDR.",
+ "format" : "CIDRv4",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "cidr6" : {
+ "description" : "IPv6 CIDR.",
+ "format" : "CIDRv6",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"comments" : {
"description" : "Comments",
"optional" : 1,
"protected" : 1,
"proxyto" : "node",
"returns" : {
- "properties" : {},
"type" : "object"
}
}
"path" : "/nodes/{node}/backup",
"text" : "backup"
},
+ {
+ "info" : {
+ "GET" : {
+ "description" : "Gather various system information about a node",
+ "method" : "GET",
+ "name" : "report",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "string"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/report",
+ "text" : "report"
+ },
{
"info" : {
"GET" : {
"path" : "/nodes/{node}/syslog",
"text" : "syslog"
},
+ {
+ "info" : {
+ "GET" : {
+ "description" : "Read Journal",
+ "method" : "GET",
+ "name" : "journal",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "endcursor" : {
+ "description" : "End before the given Cursor. Conflicts with 'until'.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "lastentries" : {
+ "description" : "Limit to the last X lines. Conflicts with a range.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "since" : {
+ "description" : "Display all log since this UNIX epoch. Conflicts with 'startcursor'.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "startcursor" : {
+ "description" : "Start after the given Cursor. Conflicts with 'since'.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "until" : {
+ "description" : "Display all log until this UNIX epoch. Conflicts with 'endcursor'.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "admin",
+ "audit"
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "items" : {
+ "type" : "string"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/journal",
+ "text" : "journal"
+ },
{
"info" : {
"POST" : {
}
}
},
+ "permissions" : {
+ "check" : [
+ "admin",
+ "qmanager",
+ "audit"
+ ]
+ },
"protected" : 1,
"proxyto" : "node",
"returns" : {
"protected" : 1,
"proxyto" : "master",
"returns" : {
- "properties" : {},
"type" : "object"
}
},
"properties" : {
"address" : {
"description" : "The address you want to remove.",
- "maxLength" : 512,
"minLength" : 3,
- "pattern" : "(?:|[^\\s\\/\\@]+\\@[^\\s\\/\\@]+)",
+ "pattern" : "(?:[^\\s\\/\\\\;\\,]+)(?:\\,[^\\s\\/\\\\;\\,]+)*",
"type" : "string"
},
"pmail" : {
"description" : "List entries for the user with this primary email address. Quarantine users cannot speficy this parameter, but it is required for all other roles.",
- "format" : "email",
+ "maxLength" : 512,
+ "minLength" : 3,
"optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "pattern" : "(?:[^\\s\\/\\\\@]+\\@[^\\s\\/\\\\@]+)",
+ "type" : "string"
}
}
},
"properties" : {
"pmail" : {
"description" : "List entries for the user with this primary email address. Quarantine users cannot speficy this parameter, but it is required for all other roles.",
- "format" : "email",
+ "maxLength" : 512,
+ "minLength" : 3,
"optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "pattern" : "(?:[^\\s\\/\\\\@]+\\@[^\\s\\/\\\\@]+)",
+ "type" : "string"
}
}
},
"properties" : {
"address" : {
"description" : "The address you want to add.",
- "maxLength" : 512,
"minLength" : 3,
- "pattern" : "(?:|[^\\s\\/\\@]+\\@[^\\s\\/\\@]+)",
+ "pattern" : "(?:[^\\s\\/\\\\;\\,]+)(?:\\,[^\\s\\/\\\\;\\,]+)*",
"type" : "string"
},
"pmail" : {
"description" : "List entries for the user with this primary email address. Quarantine users cannot speficy this parameter, but it is required for all other roles.",
- "format" : "email",
+ "maxLength" : 512,
+ "minLength" : 3,
"optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "pattern" : "(?:[^\\s\\/\\\\@]+\\@[^\\s\\/\\\\@]+)",
+ "type" : "string"
}
}
},
"properties" : {
"address" : {
"description" : "The address you want to remove.",
- "maxLength" : 512,
"minLength" : 3,
- "pattern" : "(?:|[^\\s\\/\\@]+\\@[^\\s\\/\\@]+)",
+ "pattern" : "(?:[^\\s\\/\\\\;\\,]+)(?:\\,[^\\s\\/\\\\;\\,]+)*",
"type" : "string"
},
"pmail" : {
"description" : "List entries for the user with this primary email address. Quarantine users cannot speficy this parameter, but it is required for all other roles.",
- "format" : "email",
+ "maxLength" : 512,
+ "minLength" : 3,
"optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "pattern" : "(?:[^\\s\\/\\\\@]+\\@[^\\s\\/\\\\@]+)",
+ "type" : "string"
}
}
},
"properties" : {
"pmail" : {
"description" : "List entries for the user with this primary email address. Quarantine users cannot speficy this parameter, but it is required for all other roles.",
- "format" : "email",
+ "maxLength" : 512,
+ "minLength" : 3,
"optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "pattern" : "(?:[^\\s\\/\\\\@]+\\@[^\\s\\/\\\\@]+)",
+ "type" : "string"
}
}
},
"properties" : {
"address" : {
"description" : "The address you want to add.",
- "maxLength" : 512,
"minLength" : 3,
- "pattern" : "(?:|[^\\s\\/\\@]+\\@[^\\s\\/\\@]+)",
+ "pattern" : "(?:[^\\s\\/\\\\;\\,]+)(?:\\,[^\\s\\/\\\\;\\,]+)*",
"type" : "string"
},
"pmail" : {
"description" : "List entries for the user with this primary email address. Quarantine users cannot speficy this parameter, but it is required for all other roles.",
- "format" : "email",
+ "maxLength" : 512,
+ "minLength" : 3,
"optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "pattern" : "(?:[^\\s\\/\\\\@]+\\@[^\\s\\/\\\\@]+)",
+ "type" : "string"
}
}
},
"method" : "GET",
"name" : "quarusers",
"parameters" : {
- "additionalProperties" : 0
+ "additionalProperties" : 0,
+ "properties" : {
+ "list" : {
+ "description" : "If set, limits the result to the given list.",
+ "enum" : [
+ "BL",
+ "WL"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ }
+ }
},
"permissions" : {
"check" : [
},
"pmail" : {
"description" : "List entries for the user with this primary email address. Quarantine users cannot speficy this parameter, but it is required for all other roles.",
- "format" : "email",
+ "maxLength" : 512,
+ "minLength" : 3,
"optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "pattern" : "(?:[^\\s\\/\\\\@]+\\@[^\\s\\/\\\\@]+)",
+ "type" : "string"
},
"starttime" : {
"description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
},
"raw" : {
"default" : 0,
- "description" : "Display 'raw' eml data. This is only used with the 'htmlmail' formatter.",
+ "description" : "Display 'raw' eml data. Deactivates size limit.",
"optional" : 1,
"type" : "boolean",
"typetext" : "<boolean>"
},
"id" : {
"description" : "Unique IDs, seperate with ;",
- "maxLength" : 600,
"pattern" : "C\\d+R\\d+T\\d+(;C\\d+R\\d+T\\d+)*",
"type" : "string"
}
"description" : "Contact email address.",
"maxLength" : 512,
"minLength" : 3,
- "pattern" : "(?:|[^\\s\\/\\@]+\\@[^\\s\\/\\@]+)",
+ "pattern" : "(?:[^\\s\\/\\\\@]+\\@[^\\s\\/\\\\@]+)",
"type" : "string"
},
"day" : {
"description" : "Sender email address.",
"maxLength" : 512,
"minLength" : 3,
- "pattern" : "(?:|[^\\s\\/\\@]+\\@[^\\s\\/\\@]+)",
+ "pattern" : "(?:[^\\s\\/\\\\@]+\\@[^\\s\\/\\\\@]+)",
"type" : "string"
},
"starttime" : {
"description" : "Receiver email address.",
"maxLength" : 512,
"minLength" : 3,
- "pattern" : "(?:|[^\\s\\/\\@]+\\@[^\\s\\/\\@]+)",
+ "pattern" : "(?:[^\\s\\/\\\\@]+\\@[^\\s\\/\\\\@]+)",
"type" : "string"
},
"starttime" : {
"returns" : {
"properties" : {
"release" : {
+ "description" : "The current installed Proxmox Mailgateway Release",
"type" : "string"
},
"repoid" : {
+ "description" : "The short git commit hash ID from which this version was build",
"type" : "string"
},
"version" : {
+ "description" : "The current installed pmg-api package version",
"type" : "string"
}
},