DAViCal
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$sigthe 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$bodythe body of the POST
array$headersthe 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: