Loading...
Searching...
No Matches
iSchedule Class Reference

## Public Member Functions

| getTxt ()
| setTxt ( $dk)
| parseTxt ()
| validateKey ()
| getServer ()
| getCapabilities ( $domain=null)
| queryCapabilities ( $capability, $domain=null)
| signDKIM ( $headers, $body)
| sendRequest ( $address, $type, $data)
| parseDKIM ( $sig)
| parseURI ( $uri)
| verifySignature ()
| validateRequest ()

## Public Attributes

| $parsed
| $selector
| $domain

## Private Attributes

| $dk
| $DKSig
| $try_anyway = false
| $failed = false
| $failOnError = true
| $subdomainsOK = true
| $remote_public_key
| $remote_ssl
| $body_cannon
| $header_cannon
| $remote_server
| $remote_selector
| $signed_headers
| $signed_length
| $remote_user_rule
| $required_headers
| $disallowed_headers

## Detailed Description

Definition at line 25 of file iSchedule.php.

## Constructor & Destructor Documentation

## __construct()

iSchedule::__construct | ( |  | ) |

Definition at line 60 of file iSchedule.php.

## Member Function Documentation

## getCapabilities()

iSchedule::getCapabilities | ( |  | $domain = null | ) |

get capabilities from remote server

Definition at line 269 of file iSchedule.php.

## getServer()

iSchedule::getServer | ( |  | ) |

finds a remote calendar server via DNS SRV records

Definition at line 204 of file iSchedule.php.

## getTxt()

iSchedule::getTxt | ( |  | ) |

gets the domainkey TXT record from DNS

Definition at line 87 of file iSchedule.php.

## parseDKIM()

iSchedule::parseDKIM | ( |  | $sig | ) |

parses and validates DK header

Parameters

  string | $sig | the value of the DKIM-Signature header

Definition at line 519 of file iSchedule.php.

## parseTxt()

iSchedule::parseTxt | ( |  | ) |

parses DNS TXT record from domainkey lookup

Definition at line 132 of file iSchedule.php.

## parseURI()

iSchedule::parseURI | ( |  | $uri | ) |

split up a mailto uri into domain and user components TODO handle other uri types (eg http)

Definition at line 612 of file iSchedule.php.

## queryCapabilities()

iSchedule::queryCapabilities | ( |  | $capability,
|  |  | $domain = null )

query capabilities retrieved from server

Definition at line 307 of file iSchedule.php.

## sendRequest()

iSchedule::sendRequest | ( |  | $address,
|  |  | $type,
|  |  | $data )

send request to remote server $address should be an email address or an array of email addresses all with the same domain $type should be in the format COMPONENT/METHOD eg (VFREEBUSY, VEVENT/REQUEST, VEVENT/REPLY, etc. ) $data is the vcalendar data N.B. must already be rendered into text format

Definition at line 416 of file iSchedule.php.

## setTxt()

iSchedule::setTxt | ( |  | $dk | ) |

strictly for testing purposes

Definition at line 124 of file iSchedule.php.

## signDKIM()

iSchedule::signDKIM | ( |  | $headers,
|  |  | $body )

signs a POST body and headers

Parameters

  string | $body | the body of the POST
  array | $headers | the headers to sign as passed to header ();

Definition at line 374 of file iSchedule.php.

## validateKey()

iSchedule::validateKey | ( |  | ) |

validates that domainkey is acceptable for the current request

Definition at line 154 of file iSchedule.php.

## validateRequest()

iSchedule::validateRequest | ( |  | ) |

checks that current request has a valid DKIM signature signed by a currently valid key from DNS

Definition at line 673 of file iSchedule.php.

## verifySignature()

iSchedule::verifySignature | ( |  | ) |

verifies parsed DKIM header is valid for current message with a signature from the public key in DNS TODO handle multiple headers of the same name

Definition at line 627 of file iSchedule.php.

## Member Data Documentation

## $body_cannon

iSchedule::$body_cannon

private

Definition at line 38 of file iSchedule.php.

## $disallowed_headers

iSchedule::$disallowed_headers

private

Initial value:
= Array ( 'connection',
'keep-alive',
'dkim-signature',
'proxy-authenticate',
'proxy-authorization',
'te',
'trailers',
'transfer-encoding',
'upgrade' )

Definition at line 50 of file iSchedule.php.

## $dk

iSchedule::$dk

private

Definition at line 30 of file iSchedule.php.

## $DKSig

iSchedule::$DKSig

private

Definition at line 31 of file iSchedule.php.

## $domain

iSchedule::$domain

Definition at line 29 of file iSchedule.php.

## $failed

iSchedule::$failed = false

private

Definition at line 33 of file iSchedule.php.

## $failOnError

iSchedule::$failOnError = true

private

Definition at line 34 of file iSchedule.php.

## $header_cannon

iSchedule::$header_cannon

private

Definition at line 39 of file iSchedule.php.

## $parsed

iSchedule::$parsed

Definition at line 27 of file iSchedule.php.

## $remote_public_key

iSchedule::$remote_public_key

private

Definition at line 36 of file iSchedule.php.

## $remote_selector

iSchedule::$remote_selector

private

Definition at line 41 of file iSchedule.php.

## $remote_server

iSchedule::$remote_server

private

Definition at line 40 of file iSchedule.php.

## $remote_ssl

iSchedule::$remote_ssl

private

Definition at line 37 of file iSchedule.php.

## $remote_user_rule

iSchedule::$remote_user_rule

private

Definition at line 44 of file iSchedule.php.

## $required_headers

iSchedule::$required_headers

private

Initial value:
= Array ( 'host',
'originator',
'recipient',
'content-type' )

Definition at line 46 of file iSchedule.php.

## $selector

iSchedule::$selector

Definition at line 28 of file iSchedule.php.

## $signed_headers

iSchedule::$signed_headers

private

Definition at line 42 of file iSchedule.php.

## $signed_length

iSchedule::$signed_length

private

Definition at line 43 of file iSchedule.php.

## $subdomainsOK

iSchedule::$subdomainsOK = true

private

Definition at line 35 of file iSchedule.php.

## $try_anyway

iSchedule::$try_anyway = false

private

Definition at line 32 of file iSchedule.php.

The documentation for this class was generated from the following file:

- inc/iSchedule.php