DAViCal
 All Classes Namespaces Functions Variables Pages
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
 
 $required_headers
 
 $disallowed_headers
 

Detailed Description

Definition at line 25 of file iSchedule.php.

Member Function Documentation

iSchedule::getCapabilities (   $domain = null)

get capabilities from remote server

Definition at line 256 of file iSchedule.php.

iSchedule::getServer ( )

finds a remote calendar server via DNS SRV records

Definition at line 193 of file iSchedule.php.

iSchedule::getTxt ( )

gets the domainkey TXT record from DNS

Definition at line 78 of file iSchedule.php.

iSchedule::parseDKIM (   $sig)

parses and validates DK header

Parameters
string$sigthe value of the DKIM-Signature header

Definition at line 506 of file iSchedule.php.

iSchedule::parseTxt ( )

parses DNS TXT record from domainkey lookup

Definition at line 122 of file iSchedule.php.

iSchedule::parseURI (   $uri)

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

Definition at line 584 of file iSchedule.php.

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

query capabilities retrieved from server

Definition at line 294 of file iSchedule.php.

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 403 of file iSchedule.php.

iSchedule::setTxt (   $dk)

strictly for testing purposes

Definition at line 114 of file iSchedule.php.

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 361 of file iSchedule.php.

iSchedule::validateKey ( )

validates that domainkey is acceptable for the current request

Definition at line 144 of file iSchedule.php.

iSchedule::validateRequest ( )

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

Definition at line 645 of file iSchedule.php.

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 599 of file iSchedule.php.

Member Data Documentation

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

Definition at line 41 of file iSchedule.php.

iSchedule::$required_headers
private
Initial value:
= Array ( 'host',
'originator',
'recipient',
'content-type' )

Definition at line 37 of file iSchedule.php.


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