Initial commit of libical. - libical - A simple ical library.
       
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) LICENSE
       ---
 (DIR) commit bccaa1ea3b33f47b4be6de3745635d5378ab4016
 (HTM) Author: Christoph Lohmann <20h@r-36.net>
       Date:   Fri, 28 Dec 2012 02:07:36 +0100
       
       Initial commit of libical.
       
       Diffstat:
         LICENSE                             |      21 +++++++++++++++++++++
         Makefile                            |      69 ++++++++++++++++++++++++++++++
         README.md                           |       9 +++++++++
         config.mk                           |      23 +++++++++++++++++++++++
         examples/schedule.en.ics            |    1802 +++++++++++++++++++++++++++++++
         examples/schedule.en.produced.ics   |    1828 +++++++++++++++++++++++++++++++
         ical.c                              |     327 +++++++++++++++++++++++++++++++
         ical.h                              |      63 +++++++++++++++++++++++++++++++
         icaltest.c                          |      38 +++++++++++++++++++++++++++++++
         ind.c                               |     182 +++++++++++++++++++++++++++++++
         ind.h                               |      28 ++++++++++++++++++++++++++++
         rfc/rfc2445.txt                     |    8291 +++++++++++++++++++++++++++++++
       
       12 files changed, 12681 insertions(+), 0 deletions(-)
       ---
 (DIR) diff --git a/LICENSE b/LICENSE
       @@ -0,0 +1,21 @@
       +MIT/X Consortium License
       +
       +© 2012 Christoph Lohmann <20h@r-36.net>
       +
       +Permission is hereby granted, free of charge, to any person obtaining a
       +copy of this software and associated documentation files (the "Software"),
       +tto deal in the Software without restriction, including without limitation
       +tthe rights to use, copy, modify, merge, publish, distribute, sublicense,
       +and/or sell copies of the Software, and to permit persons to whom the
       +Software is furnished to do so, subject to the following conditions:
       +
       +The above copyright notice and this permission notice shall be included in
       +all copies or substantial portions of the Software.
       +
       +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
       +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
       +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
       +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
       +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
       +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
       +DEALINGS IN THE SOFTWARE.
 (DIR) diff --git a/Makefile b/Makefile
       @@ -0,0 +1,69 @@
       +# libical – simple ical library
       +# See LICENSE file for copyright and license details.
       +
       +include config.mk
       +
       +SRC = ical.c ind.c
       +OBJ = ${SRC:.c=.o}
       +SOUT = ${NAME}.a
       +DOUT = ${NAME}.so
       +
       +all: options ${SOUT} ${DOUT} 
       +
       +options:
       +        @echo ${NAME} build options:
       +        @echo "CFLAGS   = ${CFLAGS}"
       +        @echo "LDFLAGS  = ${LDFLAGS}"
       +        @echo "CC       = ${CC}"
       +
       +.c.o:
       +        @echo CC $<
       +        @${CC} -c ${CFLAGS} $<
       +
       +${OBJ}: config.mk
       +
       +${SOUT}: ${OBJ} 
       +        @ar rcs ${SOUT} ${OBJ}
       +
       +${DOUT}: ${OBJ} 
       +        @${CC} -shared ${OBJ} -o ${DOUT}
       +
       +icaltest: ${OBJ} icaltest.o
       +        @echo CC -o $@
       +        @${CC} -o $@ ${OBJ} icaltest.o ${LDFLAGS}
       +
       +ttest: icaltest
       +        @echo running icaltest
       +        ./icaltest examples/schedule.en.ics
       +
       +clean:
       +        @echo cleaning
       +        @rm -f *.so *.a ${NAME} ${OBJ} icaltest icaltest.o ${NAME}-${VERSION}.tar.gz
       +
       +dist: clean
       +        @echo creating dist tarball
       +        @mkdir -p ${NAME}-${VERSION}
       +        @cp -R LICENSE Makefile README.md config.mk examples rfc\
       +                ${SRC} *.h ${NAME}-${VERSION}
       +        @tar -cf ${NAME}-${VERSION}.tar ${NAME}-${VERSION}
       +        @gzip ${NAME}-${VERSION}.tar
       +        @rm -rf ${NAME}-${VERSION}
       +
       +install: all
       +        @echo installing libraries to ${DESTDIR}${PREFIX}/lib
       +        @mkdir -p ${DESTDIR}${PREFIX}/lib
       +        @cp -f ${NAME}.a ${NAME}.so ${DESTDIR}${PREFIX}/lib
       +        @chmod 755 ${DESTDIR}${PREFIX}/lib/${NAME}.*
       +        @echo installing header file to ${DESTDIR}${PREFIX}/include
       +        @mkdir -p ${DESTDIR}${PREFIX}/include
       +        @cp -f ical.h ${DESTDIR}${PREFIX}/include
       +        @chmod 644 ${DESTDIR}${PREFIX}/include/ical.h
       +
       +uninstall:
       +        @echo removing libraries from ${DESTDIR}${PREFIX}/bin
       +        @rm -f ${DESTDIR}${PREFIX}/lib/${NAME}.*
       +        @echo removing header file from ${DESTDIR}${PREFIX}/include
       +        @rm -f ${DESTDIR}${PREFIX}/include/ical.h
       +
       +.PHONY: all options clean dist install uninstall test
       +# DO NOT DELETE
 (DIR) diff --git a/README.md b/README.md
       @@ -0,0 +1,9 @@
       +# A simple ical library
       +
       +## Usage
       +
       +see icaltest.c
       +
       +
       +Have fun!
       +
 (DIR) diff --git a/config.mk b/config.mk
       @@ -0,0 +1,23 @@
       +# libical metadata
       +NAME = libical
       +VERSION = 0.5
       +
       +# Customize below to fit your system
       +
       +# paths
       +PREFIX ?= /usr/local
       +MANPREFIX = ${PREFIX}/share/man
       +
       +# includes and libs
       +INCS = -I. -I/usr/include
       +LIBS = -L/usr/lib -lc
       +
       +# flags
       +CPPFLAGS = -DVERSION=\"${VERSION}\"
       +CFLAGS = -g -fPIC -std=c99 -pedantic -Wall -O0 ${INCS} ${CPPFLAGS}
       +LDFLAGS = -g ${LIBS}
       +#LDFLAGS = -s ${LIBS}
       +
       +# compiler and linker
       +CC = cc
       +
 (DIR) diff --git a/examples/schedule.en.ics b/examples/schedule.en.ics
       @@ -0,0 +1,1802 @@
       +BEGIN:VCALENDAR
       +VERSION:2.0
       +CALSCALE:GREGORIAN
       +PRODID:-//Pentabarf//Schedule//EN
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5333.en.html
       +DTSTART;TZID=Europe/Berlin:20121230T124500
       +UID:5333@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Did you notice 262 42 in your mobile phone network search list 
       + at the last CCC events? Did you and your friends buy SIM cards at the PoC a
       + nd help test the network by calling each other\, or by calling through the 
       + bridge to the DECT network services? Did you ever wonder about the details 
       + of this open source test network\, set up by a team of volunteers in the mi
       + ddle of the city? We would like to tell you all the details of the cell pho
       + ne network we operate at 29C3\, and show you some fancy graphs based on the
       +  network activity!
       +SUMMARY:29C3 GSM: Cell phone network review - 262 42 - The full spectrum
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5205.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T140000
       +UID:5205@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:There are hundreds\, if not thousands\, of news articles and bl
       + og posts about the BlackHole Exploit Kit. Usually\, each story covers only 
       + a very narrow part of the subject matter. This talk will summarize the hist
       + ory of the BlackHole Exploit Kit into one easy to follow story. There will 
       + be diagrams and flow-charts for explaining code\, rather than a giant blob 
       + of illegible Javascript\, PHP\, or x86 Assembly.
       +SUMMARY:Analytical Summary of the BlackHole Exploit Kit - Almost Everything
       +  You Ever Wanted To Know About The BlackHole Exploit Kit
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5146.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T160000
       +UID:5146@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:There's about 100 top-level domains signed with DNSSEC and .nl 
       + recently hit 1M second-level domains. At this occasion\, we take a look at 
       + the goods and the bads of DNSSEC deployment\, including amplification attac
       + ks\, Zensursula-like DNS redirects\, China DNS injection and NASA key rollo
       + ver mistakes. We will find out what DNSCurve and Namecoin promise to make b
       + etter and what Zooko's triangle has all to do with this.
       +SUMMARY:An Overview of Secure Name Resolution - DNSSEC\, DNSCurve and Namec
       + oin
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5237.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T203000
       +UID:5237@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:With Visa and Mastercard pushing for EMV (http://www.emvco.com\
       + , aka “chip and pin”) rollout in the United States\, the uptake of contactl
       + ess payment and the use of mobile NFC wallets\, the chipcard security commu
       + nity will soon be getting more eyes to analyze the protocols in use with ch
       + ip and contactless credit card transactions.
       +SUMMARY:A Rambling Walk Through an EMV Transaction
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5299.en.html
       +DTSTART;TZID=Europe/Berlin:20121230T113000
       +UID:5299@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Verfassungsschutzskandale gibt es nicht erst seit der Entdeckun
       + g des NSU vor einem Jahr. Vorgestellt werden: sie Affaire Traube\, der Schm
       + ücker-Prozess\, das Celler Loch\, die Vulkan-Affaire\, der Anschlagsversuch
       +  auf das Jüdische Gemeindehaus West-Berlin\, vier Jahrzehnte Beobachtung vo
       + n Rolf Gössner. Vielleicht sind aber gar nicht die Pannen der Skandal\, son
       + dern vielmehr der ganz gewöhnliche Alltag des Verfassungsschutzes.
       +SUMMARY:Best of ... Verfassungsschutz - Der Verfassungsschutz schützt die V
       + erfassung so wie Zitronenfalter Zitronen falten.
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT2H15M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5379.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T113000
       +UID:5379@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Wir schauen nicht zurück im Zorn\, aber jetzt auch nicht grade 
       + mit Euphorie. Im CCC-Jahresrückblick präsentieren wir Euch einige der hackt
       + ivistischen Themen des vergangenen Jahres\, an denen der CCC gearbeitet ode
       + r sich abgearbeitet hat. Diesmal mit schönen neuen Gesetzen\, Hacker-Humor\
       + , versäumten Gerichtsterminen\, bunten Blinkenlichtern und Iggy Pop. Wir ha
       + ben uns wirklich das ganze Jahr bemüht\, nur in begrenztem Umfange zu prokr
       + astinieren.
       +SUMMARY:CCC-Jahresrückblick
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5319.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T124500
       +UID:5319@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Hypertext Transfer Protocol Secure (HTTPS) has evolved into the
       +  de facto standard for secure web browsing. But in the security community\,
       +  it has long been known that HTTPS is fundamentally broken\, and this has b
       + een confirmed by alarming hacks and security breaches at several Certificat
       + e Authorities (CAs). To tackle the global collapse of trust in these centra
       + l mediators of HTTPS communications and to augment HTTPS security\, the EU 
       + has launched a proposal for strict regulation. Will these efforts succeed?
       +SUMMARY:Certificate Authority Collapse - Will the EU Succeed in Regulating 
       + HTTPS? 
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5263.en.html
       +DTSTART;TZID=Europe/Berlin:20121230T171500
       +UID:5263@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Wir brauchen ein maschinenlesbares und -schreibbares Gesetzgebu
       + ngsverfahren\, in dem jede Änderung transparent diskutiert und beschlossen 
       + wird. Der Bundestag öffnet und digitalisiert sich eher langsam und widerwil
       + lig\, dennoch kann man schon heute anfangen\, die Werkzeuge der parlamentar
       + ischen Zukunft in Deutschland zu gestalten und auszuprobieren. Dazu stellen
       +  wir die Projekte OffenesParlament.de und das Bundes-Git vor und zeigen\, w
       + ie es in Zukunft weitergehen könnte.
       +SUMMARY:chmod o+rw bundestag - Mehr Transparenz und Teilhabe im Gesetzgebun
       + gsprozess
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5398.en.html
       +DTSTART;TZID=Europe/Berlin:20121230T183000
       +UID:5398@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Some facts and stats about Congress\, plus stories and legends.
       +SUMMARY:Closing Event
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5221.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T140000
       +UID:5221@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Wir sind Zeugen eines seit einigen Jahren stattfindenden Wettrü
       + stens im Cyberspace. Immer mehr Staaten bauen militärische Cyberware Einhei
       + ten auf\, die aus IT Spezialisten bestehen und dem Zweck dienen\, bestenfal
       + ls  IT Systeme abzusichern oder schlechterdings Systeme von „Feinden“ anzug
       + reifen. 
       +SUMMARY:Cyberpeace statt Cyberwar
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5301.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T203000
       +UID:5301@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Aside from further development of traditional forensic techniqu
       + es which involve post-mortem hard disk analysis\, in the last couple of yea
       + rs the field of computer forensics has been marked by significant developme
       + nt of live forensic techniques and tools.Memory forensics is composed of tw
       + o main activities: memory aquisition/capture and analysis. This presentatio
       + n will give an overview of the memory acquisition and analysis techniques a
       + nd tools on the Windows operating systems. The main part of the presentatio
       + n will cover current exploitation techniques and methods for defeating both
       +  acquisition and analysis phase of the memory forensics\, as well as presen
       + t a new approach for hiding specific artifacts from forensic tools. Based o
       + n the covered exploitation techniques\, some suggestions and improvements o
       + f the current tools will be given.
       +SUMMARY:Defeating Windows memory forensics
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5159.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T203000
       +UID:5159@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Over the years we learned impressively how to oppose bad legisl
       + ation hurting our freedoms online. We are now facing an even bigger challen
       + ge: how to guarantee that a Free\, open\, decentralized Internet will be pr
       + otected in the long run? In 2012 The Internetz won major battles against SO
       + PA/PIPA in the US\, and against ACTA in the EU. Yet\, we know that the powe
       + rful industries and governments behind these projects will never stop. They
       +  have an incentive to gain control of the Internet\, attacking fundamental 
       + rights and promoting technologies like "Deep Packet Inspection"\, now being
       +  deployed in each and every corner of the Net\, and used indifferently to b
       + reak Net neutrality\, to filter\, block and censor communications or to ins
       + pect citizens traffic.How to push for proposals that will ensure that the s
       + haring of knowledge and culture\, citizens freedoms\, and access to an open
       +  infrastructure will be guaranteed in the future public policies? How to be
       + come as successful in proposition as we are now in opposition?(Hint: it's p
       + olitical\, stupid!)
       +SUMMARY:Defend your Freedoms Online: It's Political\, Stupid! - A Positive 
       + agenda against the next ACTA\, SOPA\, and such
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5401.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T171500
       +UID:5401@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Die Debatte um die Tarifreform der GEMA war eines der großen Th
       + emen des Jahres 2012: Die Verwertungsgesellschaft geriet quer durch alle po
       + litischen Lager und gesellschaftlichen Schichten in die Kritik\, die Warnun
       + gen vor einem großen Clubsterben wurden von Tausenden auf die Straße getrag
       + en. Dies steigerte auch das Interesse an der »Cultural Commons Collecting S
       + ociety« (C3S)\, einem Graswurzelprojekt zur Gründung einer neuen\, modernen
       +  und internetverstehenden Verwertungsgesellschaft\, die u. a. auch vollen S
       + upport für Creative-Commons-Lizenzen bieten soll. 2012 war daher auch ein e
       + reignisreiches Jahr für dieses Projekt\, und 2013 sollen nach Plan die Grün
       + dung als Europäische Genossenschaft und die Antragsstellung beim Deutschen 
       + Patent- und Markenamt folgen.
       +SUMMARY:Der Mord fällt aus - Ein Werkstattbericht der GEMA-Alternative C3S
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5382.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T160000
       +UID:5382@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Am 6. November 2012 war der CCC vor dem Bundesverfassungsgerich
       + t zur Anhörung über die Antiterrordatei und die Grenzen polizeilicher Daten
       + verarbeitung geladen. Wir berichten über die Anhörung\, die dort vorgebrach
       + ten Argumente und die technische Konzeption der ATD. Und wir orakeln über e
       + in mögliches Urteil im nächsten Jahr.
       +SUMMARY:Die Antiterrordatei
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5181.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T124500
       +UID:5181@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:In den vergangenen Jahren wurde vor allem die Sprache von Polit
       + ikern auf dem Congress beleuchtet. Aber die schwurbelnde Politiker sind noc
       + h nicht die ganze Wahrheit. Wir möchten das Ganze daher um den zweiten wich
       + tigen Mitspieler bei der Konstruktion von Realität ergänzen\, um die Presse
       +  bzw. die Medien. Die Äußerungen von Politikern (zum Beispiel auf Pressekon
       + ferenzen) sollen dabei der Mediendarstellung gegenübergestellt werden. Dabe
       + i wird deutlich werden\, dass es zwischen Politikern und Medien Rückkopplun
       + gseffekte gibt.
       +SUMMARY:Die Wahrheit\, was wirklich passierte und was in der Zeitung stand 
       + - Wie Medien unsere Wahrnehmung beeinflussen
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT2H15M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5338.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T203000
       +UID:5338@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:With the post 9/11 rise of the leviathan national security stat
       + e\, the rule of law in the United States under the Constitution is increasi
       + ngly rule by secrecy\, surveillance and executive fiat.
       +SUMMARY:Enemies of the State: What Happens When Telling the Truth about Sec
       + ret US Government Power Becomes a Crime - Blowing the Whistle on Spying\, L
       + ying & Illegalities in the Digital Era
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5104.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T230000
       +UID:5104@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:This presentation will cover a demonstration of the new version
       +  of the Canape protocol analysis tool being released for Ruxcon. During the
       +  course of the presentation various attack scenarios against the VMWare ESX
       + i binary protocol will be demonstrated using Canape.
       +SUMMARY:ESXi Beast - Exploiting VMWARE ESXi Binary Protocols Using CANAPE
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT0H30M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5077.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T131500
       +UID:5077@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Recently\, several research papers in the area of computer secu
       + rity were published that may or may not be considered unethical. Looking at
       +  these borderline cases is relevant as today’s research papers will influen
       + ce how young researchers conduct their research. In our talk we address var
       + ious cases and papers and highlight emerging issues for ethic committees\, 
       + internal review boards (IRBs) and senior researchers to evaluate research p
       + roposals and to finally decide where they see a line that should not be cro
       + ssed.
       +SUMMARY:Ethics in Security Research
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5085.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T113000
       +UID:5085@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:We know\, that cooking is an art. Selecting the ingredients\, c
       + arefully washing\, pealingand cutting them before you put them into the rig
       + ht dish at the right time with the right heat.Watching the food change his 
       + color\, form and consistency\, seasoning it to develop it'sflavors and serv
       + ing it on beautiful plates  is a pleasure.For some\, but not for all.Those 
       + who love cooking can spend hours at the stove andrelax while preparing deli
       + cious meals. For others cooking is pure stress. What is the difference betw
       + een orange and yellowcarrots? Did I forget something? Is the pan hot enough
       + ? Or too hot? How long after thepasta do I start cooking the steak? Will it
       +  be healthy? Is it sustainable?So many questionsappear if one starts to thi
       + nk about food. The answers are complicatedand ambiguous. They require resea
       + rch and analyzing. Many have stopped thinkingabout food. They just believe 
       + what is written on thepackage.I can't cookis such an easy answer. And it is
       +  accepted in our society. Nobody isashamed of it. This gives more and more 
       + control tomultinational corporations. Through precookedfood and shiny comme
       + rcials they calm our conscience and stimulate our laziness.The consequences
       +  are dramatic!The profit-focused approach of multinationalcorporations have
       +  led to things like:• Patented genetically modified seeds. Lawyers suing fa
       + rmers for copyrights.• Destruction of South-American jungle to make soya to
       +  feed European cows so theymake more milk. Although a cow as never born to 
       + eat proteins.• Chickens that can't stand on their own feet due to the weigh
       + t of their breasts. Theywill never see soil\, worms or even sunlight.• Oran
       + -Utangs losing their homes for palm oil• Vegetables getting grown in the de
       + sert\, wasting huge amounts of drinking water.Conclusions:• We must know mo
       + re about our food• We have to cook more ourselves• So we will recover some 
       + control over what we eat
       +SUMMARY:EveryCook - Cooking gets digital 
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5275.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T183000
       +UID:5275@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:RSA is the dominant public-key cryptosystem on the Internet. Th
       + is talk will explain the state of the art in techniques for the attacker to
       +  figure out your secret RSA keys.
       +SUMMARY:FactHacks - RSA factorization in the real world
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5198.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T230000
       +UID:5198@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Neues Jahr\, neue Fnords :-)
       +SUMMARY:Fnord-Jahresrückblick - Diesmal mit noch mehr Eurozonen-Spaltung!
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5226.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T214500
       +UID:5226@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:The calypso baseband and its companion chips are used on the Mo
       + torola C123 among other and are now well known for being supported by the O
       + smocom-BB open source GSM baseband implementation. A couple years ago\, it 
       + was hacked a little further by using it as a raw bits capture device allowi
       + ng the interception of GSM traffic very cheaply.
       +SUMMARY:Further hacks on the Calypso platform - or how to turn a phone into
       +  a BTS
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT2H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5250.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T001500
       +UID:5250@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Beim Googlequiz treten Teams gegeneinander an\, die *ohne Inter
       + net* Aufgaben zu Googlesuchen und Suchergebnissen raten.
       +SUMMARY:Googlequiz - Wie man (spaßorientiert) mehr als 5% seines Googleverm
       + ögens trainiert
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT2H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5309.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T230000
       +UID:5309@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:
       +SUMMARY:Hacker Jeopardy - Zahlenraten für Geeks
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5024.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T203000
       +UID:5024@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Hackers are a high-risk population. This talk will provide hack
       + ers with tools to reduce the risk to themselves and their communities using
       +  harm reduction methodology.
       +SUMMARY:Hackers As A High-Risk Population - Harm Reduction Methodology
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5400.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T230000
       +UID:5400@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:We discuss a set of 0-day kernel vulnerabilities in CNU (Cisco 
       + NativeUnix)\, the operating system that powers all Cisco TNP IP phones. Wed
       + emonstrate the reliable exploitation of all Cisco TNP phones viamultiple vu
       + lnerabilities found in the CNU kernel. We demonstratepractical covert surve
       + illance using constant\, stealthy exfiltration ofmicrophone data via a numb
       + er of covert channels. We also demonstrate theworm-like propagation of our 
       + CNU malware\, which can quickly compromiseall vulnerable Cisco phones on th
       + e network. We discuss the feasibilityof our attacks given physical access\,
       +  internal network access and remoteaccess across the internet. Lastly\, we 
       + built on last year's presentationby discussing the feasibility of exploitin
       + g Cisco phones fromcompromised HP printers and vice versa.
       +SUMMARY:Hacking Cisco Phones - Just because you are paranoid doesn't mean y
       + our phone isn't listening to everything you say
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5179.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T183000
       +UID:5179@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Wir sehen in der digitalen Technik großes Potential zur Demokra
       + tisierung und Befreiung der Menschen. Doch machen wir uns nichts vor. Techn
       + ik kann genausogut der Entmündigung von Menschen dienen. Je komplexer sie w
       + ird\, desto mehr sind wir von Vereinfachung abhängig und desto weniger Einf
       + luss können wir selber auf die Technik nehmen.
       +SUMMARY:Hacking Philosophy - Digitale Mündigkeit\, Technikpaternalismus und
       +  warum wir Netzphilosophie brauchen
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5270.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T001500
       +UID:5270@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:This is fun stuff for the late night program\, not a serious ta
       + lk.Is it possible to read sb. others mind? In the late 1920ies/early 1930ie
       + s Berlin was excited by the famous mindreader and fortune teller Erik Jan H
       + anussen who performed his strange abilities on stage. His act was so convin
       + cing that leading nazis beleaved in his powers and wanted him for advice - 
       + until they decided to murder him. 
       +SUMMARY:Hanussen's mindreading - Experiment's of the historical psychic
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5152.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T214500
       +UID:5152@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:At 28C3\, Klink and Waelde showed that a number of technologies
       +  (PHP\, ASP.NET\,Ruby\, Java\, Python\, etc.) were vulnerable to the decade
       + -old hash-flooding DoSattacks. The vulnerability was then often fixed by ad
       + opting stronger hashfunctions and "randomizing" them.
       +SUMMARY:Hash-flooding DoS reloaded: attacks and defenses
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5287.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T183000
       +UID:5287@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:NSU-Untersuchungsausschuss in Thüringen und NSU-Untersuchungsau
       + sschuss des Bundestages\, über die Mordserie des NSU\, das System der V-Leu
       + te und die Rolle des Verfassungsschutzes.Zwölf Jahre lang konnte der „Natio
       + nalsozialistische Untergrund“ (NSU) unerkannt in Deutschland eine rassistis
       + che Mordserie an neun migrantischen Gewerbetreibenden\, zwei Bombenanschläg
       + e mit mehr als zwanzig Verletzten\, den Mord an einer jungen Polizistin sow
       + ie ein Dutzend Banküberfälle verüben.
       +SUMMARY:Hinter den Kulissen: Der NSU und das V-Leute-System
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5219.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T203000
       +UID:5219@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:An approach to the problem of fuzzing proprietary protocols wil
       + l be shown\, focusing on network protocols and native software. In the cour
       + se of this talk I will combine several methods in order to force the client
       +  software to work as a “double agent” against the server.
       +SUMMARY:"How I met your pointer" - Hijacking client software for fuzz and p
       + rofit
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5395.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T140000
       +UID:5395@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Legal systems have a huge impact on what we do as hackers\, but
       +  also on internet users in general. Laws can restrict our freedom to use th
       + e internet in ways we deem to be natural and it can impede the tools which 
       + we hackers use on a daily basis. Which is not to say that laws cannot also 
       + protect our freedom and ensure that all bits are treated equally. Most impo
       + rtantly\, these laws can be hacked and tweaked to fit our needs - like most
       +  things in this world.
       +SUMMARY:HOWTO Hack the law
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5368.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T113000
       +UID:5368@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Sechs Jahre nach seinem Inkrafttreten wurde das Informationsfre
       + iheitsgesetz (IFG) des Bundes für den Deutschen Bundestag evaluiert. Auch a
       + us einzelnen Bundesländern liegen zwischenzeitlich wissenschaftlich unterma
       + uerte Erkenntnisse zum Stand oder Nichtstand der Informationsfreiheit in De
       + utschland vor.
       +SUMMARY:IFG: Chance oder Bürgerbluff? - Informationsfreiheit in Deutschland
       + . Ein Sachstand.
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5397.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T183000
       +UID:5397@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:INFECT: "Bei der Forschung an unserem neuen Killervirus hat uns
       + ere Ethikkommission penibelst darauf geachtet\, dass niemand der Forscher s
       + ich ansteckt."
       +SUMMARY:INDECT\, Verhaltenserkennung & Co - automatisierte staatliche Verdä
       + chtigung
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5112.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T124500
       +UID:5112@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:This talk is aimed to give an insight into CPE WAN Management P
       + rotocol (CWMP) and its GPLv2 implementations that were developed in the pas
       + t year.
       +SUMMARY:ISP's black box - provisioning behind the scenes
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5216.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T214500
       +UID:5216@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:In the last years\, mobile security and specifically GSM has be
       + en attacked in many different ways. It was demonstrated how to sniff and cr
       + ack traffic\, how to impersonate a subscriber by placing a fake call and th
       + e general security characteristics of this mobile protocol stack have been 
       + evaluated.In this presentation\, we will check out a part of the protocol p
       + rocedures that hasn't been looked at yet\, specifically Mobile Terminated s
       + ervices.
       +SUMMARY:Let Me Answer That for You - adventures in mobile paging
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT2H15M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5316.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T124500
       +UID:5316@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:
       +SUMMARY:Lightning Talks 1 - 5 Minutes of Fame
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT2H15M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5383.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T124500
       +UID:5383@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:
       +SUMMARY:Lightning Talks 2 - 5 Minutes of Fame
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT2H15M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5384.en.html
       +DTSTART;TZID=Europe/Berlin:20121230T124500
       +UID:5384@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:
       +SUMMARY:Lightning Talks 3 - 5 Minutes of Fame
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5305.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T171500
       +UID:5305@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:We're winning!  The future looks like network politics!Wait\, w
       + hat the hell are network politics and how do they work?  Is that like the P
       + irate Party\, or the IETF\, or Anonymous?
       +SUMMARY:Long live the protocoletariat!
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5124.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T183000
       +UID:5124@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Security is moving deeper into hardware and so should security 
       + research. This talks introduces microprobing\, an old technique for snoopin
       + g on data inside chips\, and details a low-cost probing setup.
       +SUMMARY:Low-Cost Chip Microprobing
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5088.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T171500
       +UID:5088@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:You might remember Tamagotchi virtual pets from the 1990's. The
       + se toys are still around and just as demanding as ever! This talk covers my
       +  attempts to hack the latest Tamagotchis. Starting with the IR interface\, 
       + and moving down into the hardware\, this presentation will discuss techniqu
       + es for reverse engineering a device with limited inputs\, computing power a
       + nd debugging capabilities. 
       +SUMMARY:Many Tamagotchis Were Harmed in the Making of this Presentation
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5180.en.html
       +DTSTART;TZID=Europe/Berlin:20121230T160000
       +UID:5180@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Autonomer Drumroboter\, robotisches Glockenspiel oder klingende
       +  Installation: Musikinstrumente zu modifizieren und selbstzubauen bietet mu
       + sik- und technikaffinen Geeks die Möglichkeit\, vorgefertigten Klang-Setups
       +  etwas eigenständiges entgegenzusetzen. Drumroboter und Klanginstallationen
       +  üben dabei sowohl physisch als auch optisch einen besonderen Reiz aus: die
       +  Quelle des Klangs wird entdeckt.
       +SUMMARY:Marvin und der Blues - Wie Roboterinstrumente zum Musik machen benu
       + tzt werden können
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5282.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T214500
       +UID:5282@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Mit RFID-Lesegeräten Menschen tracken - keine Zukunftsvision.
       +SUMMARY:Meine Kleidung funkt - Tracking von Menschen durch in Kleidung inte
       + grierte RFID-Chips
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5289.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T113000
       +UID:5289@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Meldegesetz und der erfolgreiche Protest dagegen.
       +SUMMARY:Meldegesetz - Was aus dem 57-Sekunden-Gesetz wurde
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5285.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T214500
       +UID:5285@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Unsichere Studierenden- und Mensakarten. Eine wissenschaftliche
       +  Auswertung.
       +SUMMARY:Men who stare at bits - RFID-Studierendenkarten mit Fehlern
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5393.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T203000
       +UID:5393@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Contactless smartcards have become widespread for applications 
       + such as ticketing\, access control\, identification and payments. Side-chan
       + nel analysis (SCA) is a powerful type of passive implementation attack that
       +  enables to extract the secret keys of cryptographic devices. At the exampl
       + e of NXP's Mifare DESfire MF3ICD40 smartcards we demonstrate that SCA attac
       + ks can be applied to cryptographic RFID devices: By exploiting the electro-
       + magnetic information leakage of the cards\, its cryptographic keys are reve
       + aled.We introduce our open-source tools for analyzing contactless smartcard
       + s\, i.e.\, an ISO 14443 RFID reader (http://sourceforge.net/projects/reader
       + 14443) and the card emulator Chameleon (http://sourceforge.net/projects/cha
       + meleon14443). We then present the probably worst realization of a commercia
       + l contactless payment system ever and detail on various real-world attacks 
       + on this widespread (in Germany) system\, e.g.\, how to 'milk the digital ca
       + sh cow' by modifying the credit balance and convert zeros and ones into rea
       + l money. The content of the talk is joint work with Ingo von Maurich\, Davi
       + d Oswald and Christof Paar.
       +SUMMARY:Milking the Digital Cash Cow - Extracting Secret Keys of Contactles
       + s Smartcards
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5280.en.html
       +DTSTART;TZID=Europe/Berlin:20121230T113000
       +UID:5280@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Massive open online courses are the vogue of the season when it
       +  comes to discussing the future of university-level education. But we’re on
       + ly starting to see what education at this scope means and how it can be sup
       + ported best\, in terms of both didactics and technology. This talk is an in
       + side report by two instructors who have delved into the experience of teach
       + ing large audiences online. We share the lessons that we have learned: how 
       + to spark student interest\, how to put intuition before formal theories\, h
       + ow to streamline production and much more. And we point out what needs to b
       + e done to truly democratize education from the viewpoint of both the studen
       + ts and the instructors.
       +SUMMARY:Millions of Lessons Learned on Electronic Napkins - On the way to f
       + ree(ing) education
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5102.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T171500
       +UID:5102@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:In den letzten Jahren haben sich netzpolitische Kräfteverhältni
       + sse auf interessante Weise verschoben. Neue Allianzen bilden sich sowohl ge
       + gen\, als auch für das freie Internet – und dennoch bleibt der Aktivismus w
       + eit hinter seinem Potential zurück.
       +SUMMARY:Netzaktivsten! Ist das alles\, was wir drauf haben? - Eine subjekti
       + ve Bestandsaufnahme
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5134.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T214500
       +UID:5134@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Human interface design for musical instruments presents unique 
       + challenges and vast new possibilities.  The proliferation of low cost rapid
       + -prototyping tools has put the means of fabricating instruments within reac
       + h of the performing musician.  In this talk\, I'll go through the design pr
       + ocess for my main performance controller (The Mojo)\, my multiplayer instru
       + ments (aka Jamboxes) and my new RoboCaster guitar-controller.
       +SUMMARY:New Human Interfaces for Music - DIY MIDI Controllers
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT0H30M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5404.en.html
       +DTSTART;TZID=Europe/Berlin:20121230T160000
       +UID:5404@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:
       +SUMMARY:NOC Review - NOC Review about the 29C3
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5385.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T113000
       +UID:5385@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:On the topic of resistance.
       +SUMMARY:Not my department
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5037.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T001500
       +UID:5037@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Gut gereift und mit verbesserter Rezeptur.Aber immer noch:Zwei 
       + sich auf Couchen fläzende Teams gehirnwinden\, spitzfinden und assoziieren 
       + gegeneinander an\, um Bilderrätsel aus den Gefilden IT\, Netzgesellschaft u
       + nd Informatik zu entwirren.(Hashtag: #Nougatbytes)
       +SUMMARY:Nougatbytes 10 - Gebilde(r)ter Hirnsalat – die rhekkcüЯ der Bilderr
       + ätsel
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT0H30M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5203.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T143000
       +UID:5203@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Polish government decided in favour of open-licensed e-textbook
       + s. This is not to liking of big textbook publishers\, reaping in profits ha
       + nd over fist. While their black PR campaign focuses on technicalities\, it 
       + seems obvious that their real beef is with the liberal licensing.
       +SUMMARY:OMG! OER! - How big business fights open education in Poland\, and 
       + how open education fights back!
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT0H30M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5210.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T140000
       +UID:5210@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:The Security Assertion Markup Language (SAML) is a widely adopt
       + ed language for making security statements about subjects. It is a critical
       +  component for the development of federated identity deployments and Single
       +  Sign-On scenarios. In order to protect integrity and authenticity of the e
       + xchanged SAML assertions\, the XML Signature standard is applied. However\,
       +  the signature verification algorithm is much more complex than in traditio
       + nal signature formats like PKCS#7. The integrity protection can thus be suc
       + cessfully circumvented by application of different XML Signature specific a
       + ttacks\, under a weak adversarial model.
       +SUMMARY:On Breaking SAML - Be Whoever You Want to Be
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT0H15M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5399.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T110000
       +UID:5399@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:
       +SUMMARY:Opening Event
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5308.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T160000
       +UID:5308@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Was bedeutet das Zeitalter offener Designs für die Sicherheit v
       + on Schlössern? Zum Beispiel solchen\, die auf eine geringe Verbreitung eine
       + s Schlüssels setzen? Ein Beispiel sind die sogenannten Hochsicherheitsversi
       + onen von Polizeihandschellen. Der Talk zeigt was (und wie) sich in diesem B
       + ereich mit Lasercuttern und 3D Druckern erreichen lässt - sowie welche komp
       + lexeren Angriffsziele noch warten. Als Ausweg aus der Problematik kopierbar
       + er Schlüssel gelten digitale Schlösser\, aber sie kranken anders an offenen
       +  Quellen: sie haben keine! Im Rahmen eines Open Source Lock Projektes haben
       +  wir uns daher ein reflashbares Vorhängeschloss angesehen\, doch noch ehe w
       + ir den Programmieradapter angeschlossen hatten fanden wir eine Schwachstell
       + e der Hardware... Leider kein Einzelfall!
       +SUMMARY:Open Source Schlüssel und Schlösser - Offene Quellen zum Bösen und 
       + Guten: von downloadbaren Handschellenschlüsseln zu sicheren elektronischen 
       + Schlössern
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5265.en.html
       +DTSTART;TZID=Europe/Berlin:20121230T171500
       +UID:5265@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:x86 processors contain a surprising amount of built-in memory t
       + ranslation logic\, which is driven by various data tables with intricate en
       + try formats\, and can produce various kinds of traps and other interesting 
       + computational effects. These features are mostly relics of earlier\, more c
       + ivilized times\, when Jedi Knights tried to protect the Old Republic OSes w
       + ith segmentation\, supervisor bits\, and hardware task support\, but were d
       + efeated by processor de-optimizations and performance concerns and left unu
       + sed by both Windows and UNIX systems – and explored only by hackers. For th
       + e rest of the world\, an x86 PC was a "von Neumann architecture" with most 
       + of its strangeness unused.
       +SUMMARY:Page Fault Liberation Army or Gained in Translation - a history of 
       + creative x86 virtual memory uses
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5323.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T230000
       +UID:5323@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Der Vortrag handelt über Getreidezüchtung. Am Beispiel von Weiz
       + en soll der langjährige Prozess beschrieben werden\, den es benötigt\, um  
       + eine neue Sorte auf den Markt zu bringen. Es sollen die biologischen Grundl
       + agen sowie die benötigte Technik vorgestellt werden. Außerdem wird auf die 
       + Problematik eingegangen\, die die Konzentration des Marktes auf wenige groß
       + e Konzerne mit sich bringt.
       +SUMMARY:Pflanzenhacken richtig - Einblicke in die Weizenzüchtung
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5095.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T183000
       +UID:5095@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:To date\, remote vehicle communications have provided little in
       +  the way of privacy. Much information and misinformation has been spread on
       +  what the system is and can do\, especially within the information security
       +  community. The recent field trial in the US of a connected vehicle infrast
       + ructure raises the level of concern amongst all who are aware of existing p
       + rivacy issues.
       +SUMMARY:Privacy and the Car of the Future - Considerations for the Connecte
       + d Vehicle
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5101.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T160000
       +UID:5101@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:ACTA war das beherrschende Thema des zweiten Halbjahres. Mit AC
       + TA sollte der Weg einer Privatisierung der Rechtsdurchsetzung weiter gegang
       + en werden. Was das konkret bedeutet\, können wir bereits im Ausland sehen: 
       + Netzsperren\, 3-Strikes-Systeme und eine Echtzeit-Überwachung des Datenverk
       + ehrs zur Bekämpfung von Urheberrechtsverletzungen. Existierende Modelle in 
       + anderen europäischen Staaten zeigen\, dass diese Maßnahmen erhebliche grund
       + - und datenschutzrechtliche Probleme aufwerfen. 
       +SUMMARY:Privatisierung der Rechtsdurchsetzung - Von ACTA\, IPRED und Freund
       + en
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5266.en.html
       +DTSTART;TZID=Europe/Berlin:20121230T140000
       +UID:5266@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Zensur im Internet betrifft immer mehr Nutzer. Wir kennen Tools
       +  wie Proxies\, VPNs oder Tor Bridges. Doch welche weiteren Werkzeuge unters
       + tützen die Nutzer vor Ort? Wo sind die Stärken und Schwächen? Der Vortrag s
       + tellt einige von diesen vor und zeigt die Stärken und Schwächen.
       +SUMMARY:Proximax\, Telex\, Flashproxy oder Tor Bridges - Übersicht über akt
       + uelle Zensurumgehungssoftware
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5374.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T171500
       +UID:5374@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION: This talk will give an overview of the ongoing work by the W3C
       +  on a controversial general purpose Javascript cryptography API in context 
       + of the larger desire to create trusted and encrypted cloud services with ri
       + ch web applications. Today\, cryptography is difficult to use and the Web i
       + s an insecure environment at best\, but can this situation be improved and 
       + cryptography be put in the hands of ordinary developers and users? The W3C 
       + specification\, currently under development\, will be described\, as well a
       + s its interaction with other parts of the emerging Web Security Model at th
       + e W3C and IETF such as Content Security Policy\, HTTP Strict Transport Secu
       + rity\, and Certificate Transparency. A number of use-cases\, ranging from d
       + ecentralized identity systems to secure cloud services for activists\, will
       +  be detailed. As the specification will be under active development until a
       + utumn 2013\, feedback from the hacker community is needed! 
       +SUMMARY:Re-igniting the Crypto Wars on the Web
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT0H30M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5138.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T131500
       +UID:5138@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:In 1791\, the political reformer Jeremy Bentham theorized the P
       + anopticon\, whose design promised to allow a single Inspector to surveil (e
       + xercise "inspective force" over) large numbers of criminals or workers. In 
       + recent years\, the advent of a suitable technical apparatus – CCTV\, ISP ta
       + ps (network traffic interception)\, data banks\, and so on – has extended t
       + he proposed 30m circumference of Bentham’s structure to\, and beyond\, the 
       + physical boundaries of entire countries. While total surveillance is often 
       + perceived as a feature of modernity\, its conceptual and epistemological fr
       + amework is rooted in the Romantic period\, moreover at a key juncture in th
       + e history of ideas concerning individual subjectivity\, rights and freedoms
       + . David Barnard-Wills refers to inspective culture as a "nexus of surveilla
       + nce\, identity and language" (2012). In this talk\, we examine this nexus i
       + n the historical period that first\, and so powerfully\, imagined the fully
       +  surveilled world.
       +SUMMARY:Romantic Hackers - Keats\, Wordsworth and Total Surveillance
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5402.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T183000
       +UID:5402@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Privacy International\, Agentura.Ru\, the Russian secret servic
       + es watchdog\, and Citizen Lab have joined forces to launch a new project en
       + titled 'Russia’s Surveillance State'. The aims of the project are to undert
       + ake research and investigation into surveillance practices in Russia\, incl
       + uding the trade in and use of surveillance technologies\, and to publicise 
       + research and investigative findings to improve national and international a
       + wareness of surveillance and secrecy practices in Russia.  The project is m
       + ade possible with support from the Canada Centre for Global Security Studie
       + s\, Munk School of Global Affairs\, at the University of Toronto.
       +SUMMARY:Russia’s Surveillance State
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5140.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T214500
       +UID:5140@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:The triple meltdown of the Fukushima Dai-Ichi nuclear power pla
       + nt in March last year and the release of radioactive material that has ensu
       + ed have left a good part of Northern Japan contaminated with unknown amount
       +  of radioactivity. An outstanding lack of transparency from both the govern
       + ment and the power utility then resulted in a near total lack of informatio
       + n concerning the levels of radiation in the\, yet unknown\, contaminated ar
       + eas. As a response\, concerned citizen have started to take upon themselves
       +  this challenging task. However it quickly became clear that handheld measu
       + rements wouldn't scale up to the full magnitude of the area to cover. New m
       + eans of measuring radiation accurately\, quickly and cheaply were needed.
       +SUMMARY:Safecast: DIY and citizen-sensing of radiation - Empowering citizen
       +  in the wake of Fukushima triple-meltdown disaster
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5059.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T230000
       +UID:5059@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Modern civilization unconditionally depends on information syst
       + ems. It is paradoxical but true that ICS/SCADA systems are the most insecur
       + e systems in the world. From network to application\, SCADA is full of conf
       + iguration issues and vulnerabilities.
       +SUMMARY:SCADA Strangelove - or: How I Learned to Start Worrying and Love Nu
       + clear Plants
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5177.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T113000
       +UID:5177@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:This talk will go into some of challenges\, solutions\, and sto
       + ries from securing a campaign for the 2012 US presidential election.
       +SUMMARY:Securing the Campaign - Security and the 2012 US Presidential Elect
       + ion
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5225.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T203000
       +UID:5225@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:In this talk we will survey some 30 recent attacks on the Russi
       + an GOST block cipher.Background: GOST cipher is the official encryption sta
       + ndard of the Russian federation\, and also has special versions for the mos
       + t important Russian banks. Until 2012 there was no attack on GOST when it i
       + s used in encryption with random keys. I have developed more than 30 differ
       + ent academic attacks on GOST the fastest has complexity of 2^118 to recover
       +  some but not all 256-bit keys generated at random\, which will be presente
       + d for the first time at CCC conference. It happens only once per decade tha
       + t a government standard is broken while it is still an official government 
       + standard (happened for DES and AES\, no other cases known). All these are b
       + roken only in academic sense\, for GOST most recent attacks are sliding int
       + o maybe arguably practical in 30 years from now instead of 200 years... Our
       +  earlier results were instrumental at ISO for rejecting GOST as an internat
       + ional encryption standard last year. Not more than 5+ block cihers have eve
       + r achieved this level of ISO standardisation in 25 years and it NEVER happe
       + nded in history of ISO that a cipher got broken during the standardization 
       + process. Two main papers with 70+30 pages respectively which are http://epr
       + int.iacr.org/2011/626 and http://eprint.iacr.org/2012/138. Two other papers
       +  have been already published in Cryptologia journal which specializes in se
       + rious military and government crypto. The talk will cover three main famili
       + es of attacks on GOST: high-level transformations\, low- level inversion/MI
       + TM/guess-then-software/algebraic attacks and advanced truncated differentia
       + l cryptanalysis of GOST.
       +SUMMARY:Security Evaluation of Russian GOST Cipher - Survey of All Known At
       + tacks on Russian Government Encryption Standard
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5244.en.html
       +DTSTART;TZID=Europe/Berlin:20121230T171500
       +UID:5244@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Was hat sich im letzten Jahr im Bereich IT-Sicherheit getan? We
       + lche neuen Entwicklungen haben sich ergeben? Welche neuen Buzzwords und Tre
       + nds waren zu sehen?
       +SUMMARY:Security Nightmares - Damit Sie auch morgen schlecht von Ihrem Comp
       + uter träumen.
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5167.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T160000
       +UID:5167@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:In The Netherlands\, this year the community-driven mobile telc
       + o Limesco has started operations. We're providing voice\, SMS and data serv
       + ices to dozens of hackers in our country.One of the founders of Limesco wil
       + l give a lecture about mobile telephony in The Netherlands\, encompassing t
       + opics like what companies are involved in the system\, how tariffs are cons
       + tructed and the role of government regulations.
       +SUMMARY:Setting mobile phones free - An overview of a mobile telephony mark
       + et and how a community-driven operator is born
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5164.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T160000
       +UID:5164@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Der Betrieb von WLAN-Funk-Netzen und auch von offenen oder frei
       + en Netzen ist heute weit verbreitet und Teil der Diskussion um die "Culture
       + s of Sharing". Der Vortrag soll die Grundlagen der Haftung für offene Netze
       +  und die Entwicklung der Rechtsprechung vom Landgericht Hamburg ("gestern")
       +  zum BGH-Urteil "Sommer unseres Lebens" und den Einfluss aktueller Rechtspr
       + echung des Europäischen Gerichtshofs\, des Bundesgerichtshofs und der Insta
       + nzgerichte darstellen ("heute"). Ein Ausblick auf die Folgen dieser neuen\,
       +  teilweise abweichenden Rechtsprechung und auf die Gesetzesinitiativen der 
       + SPD und der Linken ("morgen") soll den Vortrag abrunden.
       +SUMMARY:Sharing Access – Risiken beim Betrieb offener (WLAN-)Netze - Stand 
       + gestern\, heute und morgen  
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5127.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T124500
       +UID:5127@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Der Eid des Hippokrates\, der das Handeln von Ärzten ethisch le
       + iten soll\, ist zwischen 2.500 und 2.000 Jahre alt und tatsächlich wohl die
       +  erste 'Datenschutz-Vorschrift' überhaupt. So heißt es: "Was ich bei der Be
       + handlung oder auch außerhalb meiner Praxis im Umgange  mit Menschen sehe un
       + d höre\, das man nicht weiterreden darf\, werde ich verschweigen und als Ge
       + heimnis bewahren." [1]
       +SUMMARY:Siechtum und Sterben der ärztlichen Schweigepflicht
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5121.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T171500
       +UID:5121@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Green-IT kennen wir inzwischen zur Genüge. Computer können aber
       +  nicht nur nicht "green" sein\, sondern auch unfair und unsozial\, von der 
       + Rohstoffgewinnung bis zur Verschrottung. Unfair spart nämlich Geld. Der Ged
       + anke\, faire Produkte anzubieten und zu kaufen\, ist inzwischen weit verbre
       + itet\, allerdings eher bei Kaffee oder Kleidung. Ein Angebot an fairer IT f
       + ehlt. Die Industrie hat sich noch nicht auf den Weg gemacht\, faire Compute
       + r herzustellen. Wir Nutzer haben kaum die Wahl – verändern können wir aber 
       + durchaus etwas. Der Vortrag erklärt\, was und wie.
       +SUMMARY:Sind faire Computer möglich?
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT0H30M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5123.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T143000
       +UID:5123@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:The lecture would address topics related to reverse engineering
       +  for mobile platforms\, especially from the Android point of view. The main
       +  aspects of the presentation is a new approach to reverse engineering side 
       + effects problem: some low footprint inspection techniques that grant analys
       + ts with the ability to access the program memory without altering its behav
       + ior. One technique is presented in particular - Android service injection -
       +  and is demonstrated.
       +SUMMARY:Small footprint inspection techniques for Android - Reverse enginee
       + ring on Android platforms
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5239.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T183000
       +UID:5239@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:This talk will give an overview on the technology\, the laws an
       + d the technical guidelines of the smartMeter roll-out in Germany.
       +SUMMARY:SmartMeter - A technological overview of the German roll-out 
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5336.en.html
       +DTSTART;TZID=Europe/Berlin:20121230T113000
       +UID:5336@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Forderungen nach einer gerechten Sprache (also einer Sprache fr
       + ei von Rassismus\, Sexismus und anderen menschenfeindlichen Ideologien) sto
       + ßen häufig auf Unverständnis und Ablehnung. Unverständnis\, weil statt der 
       + sozialen Wirklichkeit die Sprache kritisiert wird\, mit der sie beschrieben
       +  wird. Ablehnung\, weil Sprachkritik häufig als Sprechverbot empfunden wird
       + .
       +SUMMARY:Sprache\, Ungleichheit und Unfreiheit
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT0H30M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5378.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T124500
       +UID:5378@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Stabilitätsanker & Wachstumslokomotive geben als politische Met
       + aphern ungewollt Auskunft über das Ausmaß der europäischen Wirtschafts- und
       +  Finanzkrise. Wie kommt so ein Begriff in Verkehr? Wer gebraucht ihn? Zu we
       + lchem Zweck? Was fördert die Analyse der Metaphern zutage?
       +SUMMARY:Stabilitätsanker & Wachstumslokomotive
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5230.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T230000
       +UID:5230@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Stylometry uses linguistic information found in a document to p
       + erform authorship recognition. In this talk\, we will present how stylometr
       + y can be used to deanonymize users in multilingual underground forums. Our 
       + initial result shows that in spite of differences in languages and text len
       + gths\, regular stylometric methods perform well in identifying users in thi
       + s context. We will also present the improved version of Anonymouth\, a tool
       +  to anonymize written document\, with user studies. 
       +SUMMARY:Stylometry and Online Underground Markets
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT0H30M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5390.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T140000
       +UID:5390@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Don't call us if your campaign does not work! And worse\, every
       + one's been harassed or arrested.
       +SUMMARY:Tactical Tech - Bridging the Gap
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT0H30M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5228.en.html
       +DTSTART;TZID=Europe/Berlin:20121230T124500
       +UID:5228@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:The Role of Technology in Post-Revolution Tunisia & Egypt: Inte
       + rnet activists have embarked on many online projects to empower citizens wi
       + th necessary information about their elected officials.
       +SUMMARY:Technology in Post-Revolution Tunisia and Egypt
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5195.en.html
       +DTSTART;TZID=Europe/Berlin:20121230T160000
       +UID:5195@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:The Executable and Linkable Format (ELF) is omnipresent\; relat
       + ed OS and library code is run whenever processes are set up and serviced (e
       + .g.\, dynamically linked). The loader is the stage manager for every execut
       + able. Hardly anyone appreciates the work that the ELF backstage crew (inclu
       + ding the linker and the loader) puts in to make an executable run smoothly.
       +SUMMARY:The Care and Feeding of Weird Machines Found in Executable Metadata
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5206.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T214500
       +UID:5206@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:In the world of digital activism\, distributed denial of servic
       + e attacks present relatively low barriers to popular participation\, have a
       +  high potential for attracting large numbers of first-time and repeat parti
       + cipants\, and can attract large amounts of media attention.  But though suc
       + h actions popular\, are they ethical? In this talk I will be presenting an 
       + ethical framework for the analysis of activist DDOS actions. The framework 
       + is grounded in a historical analysis of various activist DDOS actions\, suc
       + h as the IGC attacks in Spain in the late 90s\, Electronic Disturbance Thea
       + ter actions in the early 2000s\, and the Anonymous-led Operation Payback at
       + tacks in 2010.  Each historical case study presents a unique confluence of 
       + technological\, political\, legal and operational factors allowing for a fu
       + ll spectrum of ethical analysis.
       +SUMMARY:The Ethics of Activist DDOS Actions - A Historical Analysis
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5256.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T230000
       +UID:5256@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Have you ever been staring for nights at binary or hexadecimal 
       + data flows extracted from an USB channel? Don't you remember yourself searc
       + hing for some patterns and similarities in this fuc***g mess of zeros and o
       + nes grabbed from a binary configuration file? How long did it take you to f
       + ind an 16 bits decimal size field last time you reversed an IPC communicati
       + on protocol?Did you know you were not alone and that among them\, Rob Savoy
       + e (@ FOSDEM-08) and Drew Fisher (@ 28C3) have already reported the main dif
       + ficulties of the RE operations. Both of them called for the creation of a t
       + ool which would help experts in their work.
       +SUMMARY:The future of protocol reversing and simulation applied on ZeroAcce
       + ss botnet - Mapping your enemy Botnet with Netzob
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5274.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T171500
       +UID:5274@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:The current European data protection directive is from 1995\, w
       + hich was when the internet had not hit Brussels' decision-makers yet. Now\,
       +  17 years later\, it is being completely re-writen. Will it meet the challe
       + nges of the age of big data? Will it have any effect on non-EU data hoarder
       + s? How will it deal with user-generated consent? What is this strange new "
       + right to be forgotten"? And what about privacy by design?
       +SUMMARY:The Grand EU Data Protection Reform  - A latest battle report by so
       + me key actors from Brussels
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5306.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T171500
       +UID:5306@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:At the very beginning\, Tor was just a socks proxy that protect
       + ed the origin and/or destination of your TCP flows. Now the broader Tor eco
       + system includes a diverse set of projects -- browser extensions to patch Fi
       + refox and Thunderbird's privacy issues\, Tor controller libraries to let yo
       + u interface with the Tor client in your favorite language\, network scanner
       + s to measure relay performance and look for misbehaving exit relays\, LiveC
       + Ds\, support for the way Android applications expect Tor to behave\, full-n
       + etwork simulators and testing frameworks\, plugins to make Tor's traffic lo
       + ok like Skype or other protocols\, and metrics and measurement tools to kee
       + p track of how well everything's working. Many of these tools aim to be use
       + ful beyond Tor: making them modular means they're reusable for other anonym
       + ity and security projects as well. In this talk\, Roger and Jake will walk 
       + you through all the tools that make up the Tor software world\, and give yo
       + u a better understanding of which ones need love and how you can help.
       +SUMMARY:The Tor software ecosystem
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5178.en.html
       +DTSTART;TZID=Europe/Berlin:20121230T140000
       +UID:5178@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Galaksija was to be in Yugoslavia what Commodore and Sinclair w
       + ere in the west. Whether it succeeded or not\, its deceptively simple desig
       + n can still teach us a lot of interesting tricks on how to make a usable co
       + mputer and operating system with as few transistors and bits as possible.
       +SUMMARY:The ultimate Galaksija talk - Everything about a Yugoslavian microc
       + omputer halfway between a TRS-80 and a ZX 80
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5044.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T230000
       +UID:5044@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:In this year’s talk\, I tie on my 28c3 talk and present timing 
       + side channels from a defending viewpoint: How can one mitigate timing side 
       + channels? Aren’t random delays sufficient to prevent timing side channels i
       + n practice? What is the minimum size of random delays to be effective? Are 
       + there other delay strategies besides random delays that are more effective 
       + and efficient?
       +SUMMARY:Time is NOT on your Side - Mitigating Timing Side Channels on the W
       + eb
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5380.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T140000
       +UID:5380@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Wir wissen seit ein paar Jahren\, dass der Staat technisch in d
       + er Lage ist\, die Computer einiger seiner Bürger zu infiltrieren. Aber soll
       +  er das auch dürfen? Was hat sich in den letzten Monaten beim Staatstrojane
       + r getan?
       +SUMMARY:Trojaner-Blindflug - Spionage-Software von Staats wegen
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT0H30M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5091.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T124500
       +UID:5091@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Hardware-basierte Festplattenvollverschlüsselungen in Form soge
       + nannter SEDs (Self-Encrypting Drives) werden gemeinhin als sichere und perf
       + ormante Alternative zu Software-basierter Verschlüsselung wie BitLocker und
       +  TrueCrypt gesehen. Während der Performance-Gewinn und die Benutzerfreundli
       + chkeit von SEDs\, bspw. Intel's SSD 320 bzw. SSD 520\, außer Frage stehen\,
       +  ist der Sicherheits-Gewinn deutlich geringer als bisher angenommen. Teilwe
       + ise sind Systeme die auf SEDs basieren gar schwächer als vergleichbare Syst
       + eme die auf Software-Verschlüsselung basieren.
       +SUMMARY:(Un)Sicherheit Hardware-basierter Festplattenverschlüsselung
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5396.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T160000
       +UID:5396@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Weltbilder der Informatik sind in mancher Hinsicht denen in der
       +  Hacker- und Hackerinnen-Community nicht unähnlich.
       +SUMMARY:Was ist\, was kann\, was soll Gender Studies Informatik?
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5160.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T113000
       +UID:5160@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:In the Free City of Hamburg\, which is one of 16 German states\
       + , a coalition of hackers\, activists and other players of civil society hav
       + e drafted the most revolutionary Freedom of information law in the world. T
       + he law obliges the state to proactively publish all important public inform
       + ation (such as contracts\, studies\, construction permits) in an OpenData f
       + ormat on the Internet. After the start of a referendum campaign\, the law w
       + as passed unanimously by the state parliament in June 2012 to avoid a publi
       + c vote on it.
       +SUMMARY:We are all lawmakers! - How to further transparency by law – the Ha
       + mburg example and beyond
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5208.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T160000
       +UID:5208@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Accessibility of digital content is a hugely misunderstood issu
       + e. Programmers and content developers tend to view it as a distraction or a
       +  special interest concern. Accessibility advocates fail to describe it in t
       + erms that would put it in the proper place for other technologists\, in par
       + ticular security practitioners.                                            
       +                                 We argue that if a format or a document has
       +  systemic accessibility problems\, then accessibility is likely to be the l
       + east of its problems\; that accessibility only collapses first\, like a can
       + ary in a mine\, and security is next to follow. We argue that many accessib
       + ility problems\, just like many security problems\, stem from documents bei
       + ng hard to parse or containing executable content\, and that the accessibil
       + ity community is only the first to suffer\, due to not having the manpower 
       + to make extremely complicated formats to almost work almost always. It's an
       +  arms race tougher than the security patching cycle\, made worse by there b
       + eing no common model for what accessibility properties should look like.
       +SUMMARY:What accessibility has to do with security
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5283.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T203000
       +UID:5283@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:After the political and legislative failure of the blocking and
       +  filtering proposals in Germany (#Zensursula) and the EU (Child Protection 
       + Directive) several players stepped up to implement the measures that previo
       + usly have been envisioned as compulsory but now on a "self-regulatory" basi
       + s. 
       +SUMMARY:White IT\, Clean IT & CEO Coalition - How the government tries to e
       + ncourage privatized policy inforcement and thereby bypasses and circumvents
       +  democratic processes
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5327.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T171500
       +UID:5327@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:This action-packed lecture presents the inner workings of the a
       + uthor's from-scratch implementation of a USB Mass Storage disk in user-land
       +  Python\, along with some embarrassing bugs in operating systems that suppo
       + rt such disks.  The lecture concludes with an introduction to Active Antifo
       + rensics\, in which a thumbdrive's own firmware can recognize and defend its
       + elf against disk imaging and other forensic tools.
       +SUMMARY:Writing a Thumbdrive from Scratch - Prototyping Active Disk Antifor
       + ensics
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5262.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T140000
       +UID:5262@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Seit anderthalb Jahren begleitet FragDenStaat.de die deutsche I
       + nformationsfreiheit in der Praxis und dokumentiert die Korrespondenz zwisch
       + en Anfragestellenden und Behörden. Welche Informationen gibt der Staat prei
       + s\, und gegen welche Veröffentlichungen kämpft er sogar bis vor Gericht? Di
       + e interessantesten Fälle werden genauer beleuchtet und eine Bewertung zur L
       + age der staatlichen Information in Deutschland abgegeben.
       +SUMMARY:Zur Lage der Information - 1.5 Jahre FragDenStaat.de
       +STATUS:CONFIRMED
       +END:VEVENT
       +END:VCALENDAR
 (DIR) diff --git a/examples/schedule.en.produced.ics b/examples/schedule.en.produced.ics
       @@ -0,0 +1,1828 @@
       +BEGIN:VCALENDAR
       +VERSION:2.0
       +CALSCALE:GREGORIAN
       +PRODID:-//Pentabarf//Schedule//EN
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5333.en.html
       +DTSTART;TZID=Europe/Berlin:20121230T124500
       +UID:5333@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Did you notice 262 42 in your mobile phone network search lis
       + t at the last CCC events? Did you and your friends buy SIM cards at the 
       + PoC and help test the network by calling each other\, or by calling thro
       + ugh the bridge to the DECT network services? Did you ever wonder about t
       + he details of this open source test network\, set up by a team of volunt
       + eers in the middle of the city? We would like to tell you all the detail
       + s of the cell phone network we operate at 29C3\, and show you some fancy
       +  graphs based on the network activity!
       +SUMMARY:29C3 GSM: Cell phone network review - 262 42 - The full spectrum
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5205.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T140000
       +UID:5205@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:There are hundreds\, if not thousands\, of news articles and 
       + blog posts about the BlackHole Exploit Kit. Usually\, each story covers 
       + only a very narrow part of the subject matter. This talk will summarize 
       + the history of the BlackHole Exploit Kit into one easy to follow story. 
       + There will be diagrams and flow-charts for explaining code\, rather than
       +  a giant blob of illegible Javascript\, PHP\, or x86 Assembly.
       +SUMMARY:Analytical Summary of the BlackHole Exploit Kit - Almost Everythi
       + ng You Ever Wanted To Know About The BlackHole Exploit Kit stor!
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5146.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T160000
       +UID:5146@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:There's about 100 top-level domains signed with DNSSEC and .n
       + l recently hit 1M second-level domains. At this occasion\, we take a loo
       + k at the goods and the bads of DNSSEC deployment\, including amplificati
       + on attacks\, Zensursula-like DNS redirects\, China DNS injection and NAS
       + A key rollover mistakes. We will find out what DNSCurve and Namecoin pro
       + mise to make better and what Zooko's triangle has all to do with this.
       +SUMMARY:An Overview of Secure Name Resolution - DNSSEC\, DNSCurve and Nam
       + ecoin
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5237.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T203000
       +UID:5237@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:With Visa and Mastercard pushing for EMV (http://www.emvco.co
       + m\, aka “chip and pin”) rollout in the United States\, the uptake of
       +  contactless payment and the use of mobile NFC wallets\, the chipcard se
       + curity community will soon be getting more eyes to analyze the protocols
       +  in use with chip and contactless credit card transactions.
       +SUMMARY:A Rambling Walk Through an EMV Transaction
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5299.en.html
       +DTSTART;TZID=Europe/Berlin:20121230T113000
       +UID:5299@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Verfassungsschutzskandale gibt es nicht erst seit der Entdeck
       + ung des NSU vor einem Jahr. Vorgestellt werden: sie Affaire Traube\, der
       +  Schmücker-Prozess\, das Celler Loch\, die Vulkan-Affaire\, der Anschla
       + gsversuch auf das Jüdische Gemeindehaus West-Berlin\, vier Jahrzehnte B
       + eobachtung von Rolf Gössner. Vielleicht sind aber gar nicht die Pannen 
       + der Skandal\, sondern vielmehr der ganz gewöhnliche Alltag des Verfassu
       + ngsschutzes.
       +SUMMARY:Best of ... Verfassungsschutz - Der Verfassungsschutz schützt di
       + e Verfassung so wie Zitronenfalter Zitronen falten. Affaire Tra!
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT2H15M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5379.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T113000
       +UID:5379@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Wir schauen nicht zurück im Zorn\, aber jetzt auch nicht gra
       + de mit Euphorie. Im CCC-Jahresrückblick präsentieren wir Euch einige d
       + er hacktivistischen Themen des vergangenen Jahres\, an denen der CCC gea
       + rbeitet oder sich abgearbeitet hat. Diesmal mit schönen neuen Gesetzen\
       + , Hacker-Humor\, versäumten Gerichtsterminen\, bunten Blinkenlichtern u
       + nd Iggy Pop. Wir haben uns wirklich das ganze Jahr bemüht\, nur in begr
       + enztem Umfange zu prokrastinieren.
       +SUMMARY:CCC-Jahresrückblick
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5319.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T124500
       +UID:5319@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Hypertext Transfer Protocol Secure (HTTPS) has evolved into t
       + he de facto standard for secure web browsing. But in the security commun
       + ity\, it has long been known that HTTPS is fundamentally broken\, and th
       + is has been confirmed by alarming hacks and security breaches at several
       +  Certificate Authorities (CAs). To tackle the global collapse of trust i
       + n these central mediators of HTTPS communications and to augment HTTPS s
       + ecurity\, the EU has launched a proposal for strict regulation. Will the
       + se efforts succeed?
       +SUMMARY:Certificate Authority Collapse - Will the EU Succeed in Regulatin
       + g HTTPS? 
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5263.en.html
       +DTSTART;TZID=Europe/Berlin:20121230T171500
       +UID:5263@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Wir brauchen ein maschinenlesbares und -schreibbares Gesetzge
       + bungsverfahren\, in dem jede Änderung transparent diskutiert und beschl
       + ossen wird. Der Bundestag öffnet und digitalisiert sich eher langsam un
       + d widerwillig\, dennoch kann man schon heute anfangen\, die Werkzeuge de
       + r parlamentarischen Zukunft in Deutschland zu gestalten und auszuprobier
       + en. Dazu stellen wir die Projekte OffenesParlament.de und das Bundes-Git
       +  vor und zeigen\, wie es in Zukunft weitergehen könnte.
       +SUMMARY:chmod o+rw bundestag - Mehr Transparenz und Teilhabe im Gesetzgeb
       + ungsprozess
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5398.en.html
       +DTSTART;TZID=Europe/Berlin:20121230T183000
       +UID:5398@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Some facts and stats about Congress\, plus stories and legend
       + s.
       +SUMMARY:Closing Event
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5221.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T140000
       +UID:5221@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Wir sind Zeugen eines seit einigen Jahren stattfindenden Wett
       + rüstens im Cyberspace. Immer mehr Staaten bauen militärische Cyberware
       +  Einheiten auf\, die aus IT Spezialisten bestehen und dem Zweck dienen
       + \, bestenfalls  IT Systeme abzusichern oder schlechterdings Systeme von 
       + „Feinden“ anzugreifen. 
       +SUMMARY:Cyberpeace statt Cyberwar
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5301.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T203000
       +UID:5301@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Aside from further development of traditional forensic techni
       + ques which involve post-mortem hard disk analysis\, in the last couple o
       + f years the field of computer forensics has been marked by significant d
       + evelopment of live forensic techniques and tools.Memory forensics is com
       + posed of two main activities: memory aquisition/capture and analysis. Th
       + is presentation will give an overview of the memory acquisition and anal
       + ysis techniques and tools on the Windows operating systems. The main par
       + t of the presentation will cover current exploitation techniques and met
       + hods for defeating bothq acquisition and analysis phase of the memory f
       + orensics\, as well as present a new approach for hiding specific artifac
       + ts from forensic tools. Based on the covered exploitation techniques\, s
       + ome suggestions and improvements of the current tools will be given.
       +SUMMARY:Defeating Windows memory forensics
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5159.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T203000
       +UID:5159@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Over the years we learned impressively how to oppose bad legi
       + slation hurting our freedoms online. We are now facing an even bigger ch
       + allenge: how to guarantee that a Free\, open\, decentralized Internet wi
       + ll be protected in the long run? In 2012 The Internetz won major battles
       +  against SOPA/PIPA in the US\, and against ACTA in the EU. Yet\, we know
       +  that the powerful industries and governments behind these projects will
       +  never stop. They have an incentive to gain control of the Internet\, at
       + tacking fundamental rights and promoting technologies like "Deep Packet 
       + Inspection"\, now being deployed in each and every corner of the Net\,
       +  and used indifferently to break Net neutrality\, to filter\, block and 
       + censor communications or to inspect citizens traffic.How to push for pro
       + posals that will ensure that the sharing of knowledge and culture\, citi
       + zens freedoms\, and access to an open infrastructure will be guaranteed 
       + in the future public policies? How to become as successful in propositio
       + n as we are now in opposition?(Hint: it's political\, stupid!)
       +SUMMARY:Defend your Freedoms Online: It's Political\, Stupid! - A Positiv
       + e agenda against the next ACTA\, SOPA\, and suchfacing an even !
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5401.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T171500
       +UID:5401@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Die Debatte um die Tarifreform der GEMA war eines der großen
       +  Themen des Jahres 2012: Die Verwertungsgesellschaft geriet quer durch a
       + lle politischen Lager und gesellschaftlichen Schichten in die Kritik\, d
       + ie Warnungen vor einem großen Clubsterben wurden von Tausenden auf die 
       + Straße getragen. Dies steigerte auch das Interesse an der »Cultural Co
       + mmons Collecting Society« (C3S)\, einem Graswurzelprojekt zur Gründung
       +  einer neuen\, modernen1 und internetverstehenden Verwertungsgesellscha
       + ft\, die u. a. auch vollen Support für Creative-Commons-Lizenzen bieten
       +  soll. 2012 war daher auch ein ereignisreiches Jahr für dieses Projekt\
       + , und 2013 sollen nach Plan die Gründung als Europäische Genossenschaf
       + t und die Antragsstellung beim Deutschen Patent- und Markenamt folgen.
       +SUMMARY:Der Mord fällt aus - Ein Werkstattbericht der GEMA-Alternative C
       + 3S
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5382.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T160000
       +UID:5382@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Am 6. November 2012 war der CCC vor dem Bundesverfassungsgeri
       + cht zur Anhörung über die Antiterrordatei und die Grenzen polizeiliche
       + r Datenverarbeitung geladen. Wir berichten über die Anhörung\, die d
       + ort vorgebrachten Argumente und die technische Konzeption der ATD. Und w
       + ir orakeln über ein mögliches Urteil im nächsten Jahr.
       +SUMMARY:Die Antiterrordatei
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5181.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T124500
       +UID:5181@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:In den vergangenen Jahren wurde vor allem die Sprache von Pol
       + itikern auf dem Congress beleuchtet. Aber die schwurbelnde Politiker sin
       + d noch nicht die ganze Wahrheit. Wir möchten das Ganze daher um den zwe
       + iten wichtigen Mitspieler bei der Konstruktion von Realität ergänzen\,
       +  um die Presse bzw. die Medien. Die Äußerungen von Politikern (zum Bei
       + spiel auf Pressekonferenzen) sollen dabei der Mediendarstellung gegenüb
       + ergestellt werden. Dabe}i wird deutlich werden\, dass es zwischen Polit
       + ikern und Medien Rückkopplungseffekte gibt.
       +SUMMARY:Die Wahrheit\, was wirklich passierte und was in der Zeitung stan
       + d - Wie Medien unsere Wahrnehmung beeinflussens!
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT2H15M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5338.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T203000
       +UID:5338@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:With the post 9/11 rise of the leviathan national security st
       + ate\, the rule of law in the United States under the Constitution is inc
       + reasingly rule by secrecy\, surveillance and executive fiat.
       +SUMMARY:Enemies of the State: What Happens When Telling the Truth about S
       + ecret US Government Power Becomes a Crime - Blowing the Whistle on Spyin
       + g\, LngAying & Illegalities in the Digital Eraxecutive fiat.
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5104.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T230000
       +UID:5104@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:This presentation will cover a demonstration of the new versi
       + on of the Canape protocol analysis tool being released for Ruxcon. Durin
       + g the course of the presentation various attack scenarios against the VM
       + Ware ESXi binary protocol will be demonstrated using Canape.
       +SUMMARY:ESXi Beast - Exploiting VMWARE ESXi Binary Protocols Using CANAPE
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT0H30M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5077.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T131500
       +UID:5077@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Recently\, several research papers in the area of computer se
       + curity were published that may or may not be considered unethical. Looki
       + ng at these borderline cases is relevant as today’s research papers wi
       + ll influence how young researchers conduct their research. In our talk w
       + e address various cases and papers and highlight emerging issues for eth
       + ic committees\, internal review boards (IRBs) and senior researchers to 
       + evaluate research proposals and to finally decide where they see a line 
       + that should not be crossed.
       +SUMMARY:Ethics in Security Research
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5085.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T113000
       +UID:5085@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:We know\, that cooking is an art. Selecting the ingredients\,
       +  carefully washing\, pealingand cutting them before you put them into th
       + e right dish at the right time with the right heat.Watching the food cha
       + nge his color\, form and consistency\, seasoning it to develop it'sflavo
       + rs and serving it on beautiful plates  is a pleasure.For some\, but not 
       + for all.Those who love cooking can spend hours at the stove andrelax whi
       + le preparing delicious meals. For others cooking is pure stress. What is
       +  the difference between orange and yellowcarrots? Did I forget something
       + ? Is the pan hot enoughq_? Or too hot? How long after thepasta do I star
       + t cooking the steak? Will it be healthy? Is it sustainable?So many quest
       + ionsappear if one starts to think about food. The answers are complicate
       + dand ambiguous. They require research and analyzing. Many have stopped t
       + hinkingabout food. They just believe what is written on thepackage.I can
       + 't cookis such an easy answer. And it is accepted in our society. Nobody
       +  isashamed of it. This gives more and more control tomultinational corpo
       + rations. Through precookedfood and shiny commercials they calm our consc
       + ience and stimulate our laziness.The consequences are dramatic!The profi
       + t-focused approach of multinationalcorporations have led to things like:
       + • Patented genetically modified seeds. Lawyers suing farmers for copyr
       + ights.• Destruction of South-American jungle to make soya to feed Euro
       + pean cows so theymake more milk. Although a cow as never born to eat pro
       + teins.• Chickens that can't stand on their own feet due to the weight 
       + of their breasts. Theywill never see soil\, worms or even sunlight.• O
       + ran-Utangs losing their homes for palm oil• Vegetables getting grown i
       + n the desert\, wasting huge amounts of drinking water.Conclusions:• We
       +  must know more about our food• We have to cook more ourselves• So w
       + e will recover some control over what we eat
       +SUMMARY:EveryCook - Cooking gets digital 
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5275.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T183000
       +UID:5275@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:RSA is the dominant public-key cryptosystem on the Internet. 
       + This talk will explain the state of the art in techniques for the attack
       + er toh- figure out your secret RSA keys.d European co1
       +SUMMARY:FactHacks - RSA factorization in the real world
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5198.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T230000
       +UID:5198@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Neues Jahr\, neue Fnords :-)
       +SUMMARY:Fnord-Jahresrückblick - Diesmal mit noch mehr Eurozonen-Spaltung
       + !
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5226.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T214500
       +UID:5226@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:The calypso baseband and its companion chips are used on the 
       + Motorola C123 among other and are now well known for being supported by 
       + the Osmocom-BB open source GSM baseband implementation. A couple years a
       + go\, it was hacked a little further by using it as a raw bits capture de
       + vice allowing the interception of GSM traffic very cheaply.
       +SUMMARY:Further hacks on the Calypso platform - or how to turn a phone in
       + to a BTSience a1
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT2H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5250.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T001500
       +UID:5250@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Beim Googlequiz treten Teams gegeneinander an\, die *ohne Int
       + ernet* Aufgaben zu Googlesuchen und Suchergebnissen raten.
       +SUMMARY:Googlequiz - Wie man (spaßorientiert) mehr als 5% seines Googlev
       + ermögens trainiertGooglesuchen!
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT2H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5309.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T230000
       +UID:5309@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:
       +SUMMARY:Hacker Jeopardy - Zahlenraten für Geeks
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5024.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T203000
       +UID:5024@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Hackers are a high-risk population. This talk will provide ha
       + ckers with tools to reduce the risk to themselves and their communities 
       + using harm reduction methodology.
       +SUMMARY:Hackers As A High-Risk Population - Harm Reduction Methodology
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5400.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T230000
       +UID:5400@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:We discuss a set of 0-day kernel vulnerabilities in CNU (Cisc
       + o NativeUnix)\, the operating system that powers all Cisco TNP IP phones
       + . Wedemonstrate the reliable exploitation of all Cisco TNP phones viamul
       + tiple vulnerabilities found in the CNU kernel. We demonstratepractical c
       + overt surveillance using constant\, stealthy exfiltration ofmicrophone d
       + ata via a number of covert channels. We also demonstrate theworm-like pr
       + opagation of our CNU malware\, which can quickly compromiseall vulnerabl
       + e Cisco phones on the network. We discuss the feasibilityof our attacks 
       + given physical access\,A- internal network access and remoteaccess acros
       + s the internet. Lastly\, we built on last year's presentationby discussi
       + ng the feasibility of exploiting Cisco phones fromcompromised HP printer
       + s and vice versa.
       +SUMMARY:Hacking Cisco Phones - Just because you are paranoid doesn't mean
       +  your phone isn't listening to everything you sayall Cisco TNP !
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5179.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T183000
       +UID:5179@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Wir sehen in der digitalen Technik großes Potential zur Demo
       + kratisierung und Befreiung der Menschen. Doch machen wir uns nichts vor.
       +  Technik kann genausogut der Entmündigung von Menschen dienen. Je kompl
       + exer sie wird\, desto mehr sind wir von Vereinfachung abhängig und dest
       + o weniger Einfluss können wir selber auf die Technik nehmen.
       +SUMMARY:Hacking Philosophy - Digitale Mündigkeit\, Technikpaternalismus 
       + und warum wir Netzphilosophie brauchenn. Doch m!
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5270.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T001500
       +UID:5270@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:This is fun stuff for the late night program\, not a serious 
       + talk.Is it possible to read sb. others mind? In the late 1920ies/early 1
       + 930ies Berlin was excited by the famous mindreader and fortune teller Er
       + ik Jan Hanussen who performed his strange abilities on stage. His act wa
       + s so convincing that leading nazis beleaved in his powers and wanted him
       +  for advice - until they decided to murder him. 
       +SUMMARY:Hanussen's mindreading - Experiment's of the historical psychic
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5152.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T214500
       +UID:5152@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:At 28C3\, Klink and Waelde showed that a number of technologi
       + es (PHP\, ASP.NET\,Ruby\, Java\, Python\, etc.) were vulnerable to the d
       + ecade-old hash-flooding DoSattacks. The vulnerability was then often fix
       + ed by adopting stronger hashfunctions and "randomizing" them.
       +SUMMARY:Hash-flooding DoS reloaded: attacks and defenses
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5287.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T183000
       +UID:5287@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:NSU-Untersuchungsausschuss in Thüringen und NSU-Untersuchung
       + sausschuss des Bundestages\, über die Mordserie des NSU\, das System de
       + r V-Leute und die Rolle des Verfassungsschutzes.Zwölf Jahre lang konn
       + te der „Natio1nalsozialistische Untergrund“ (NSU) unerkannt in Deut
       + schland eine rassistische Mordserie an neun migrantischen Gewerbetreiben
       + den\, zwei Bombenanschläge mit mehr als zwanzig Verletzten\, den Mord a
       + n einer jungen Polizistin sowie ein Dutzend Banküberfälle verüben.
       +SUMMARY:Hinter den Kulissen: Der NSU und das V-Leute-System
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5219.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T203000
       +UID:5219@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:An approach to the problem of fuzzing proprietary protocols w
       + ill be shown\, focusing on network protocols and native software. In the
       +  course of this talk I will combine several methods in order to force th
       + e client software to work as a “double agent” against the server.
       +SUMMARY:"How I met your pointer" - Hijacking client software for fuzz and
       +  profitSience a1
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5395.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T140000
       +UID:5395@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Legal systems have a huge impact on what we do as hackers\, b
       + ut also on internet users in general. Laws can restrict our freedom to u
       + se the internet in ways we deem to be natural and it can impede the tool
       + s which we hackers use on a daily basis. Which is not to say that laws c
       + annot also protect our freedom and ensure that all bits are treated equa
       + lly. Most importantly\, these laws can be hacked and tweaked to fit our 
       + needs - like most things in this world.1
       +SUMMARY:HOWTO Hack the law
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5368.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T113000
       +UID:5368@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Sechs Jahre nach seinem Inkrafttreten wurde das Informationsf
       + reiheitsgesetz (IFG) des Bundes für den Deutschen Bundestag evaluiert. 
       + Auch aus einzelnen Bundesländern liegen zwischenzeitlich wissenschaftli
       + ch untermauerte Erkenntnisse zum Stand oder Nichtstand der Informationsf
       + reiheit in Deutschland vor.
       +SUMMARY:IFG: Chance oder Bürgerbluff? - Informationsfreiheit in Deutschl
       + and. Ein Sachstand.) des Bundes!
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5397.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T183000
       +UID:5397@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:INFECT: "Bei der Forschung an unserem neuen Killervirus hat u
       + nsere Ethikkommission penibelst darauf geachtet\, dass niemand der Forsc
       + her sich ansteckt."
       +SUMMARY:INDECT\, Verhaltenserkennung & Co - automatisierte staatliche Ver
       + dächtigung
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5112.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T124500
       +UID:5112@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:This talk is aimed to give an insight into CPE WAN Management
       +  Protocol (CWMP) and its GPLv2 implementations that were developed in th
       + e past year.
       +SUMMARY:ISP's black box - provisioning behind the scenes
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5216.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T214500
       +UID:5216@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:In the last years\, mobile security and specifically GSM has 
       + been attacked in many different ways. It was demonstrated how to sniff a
       + nd crack traffic\, how to impersonate a subscriber by placing a fake cal
       + l and the general security characteristics of this mobile protocol stack
       +  have been evaluated.In this presentation\, we will check out a part of 
       + the protocol procedures that hasn't been looked at yet\, specifically Mo
       + bile Terminated services.
       +SUMMARY:Let Me Answer That for You - adventures in mobile paging
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT2H15M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5316.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T124500
       +UID:5316@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:
       +SUMMARY:Lightning Talks 1 - 5 Minutes of Fame
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT2H15M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5383.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T124500
       +UID:5383@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:
       +SUMMARY:Lightning Talks 2 - 5 Minutes of Fame
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT2H15M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5384.en.html
       +DTSTART;TZID=Europe/Berlin:20121230T124500
       +UID:5384@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:
       +SUMMARY:Lightning Talks 3 - 5 Minutes of Fame
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5305.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T171500
       +UID:5305@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:We're winning!  The future looks like network politics!Wait\,
       +  what the hell are network politics and how do they work?  Is that like 
       + the Pirate Party\, or the IETF\, or Anonymous?
       +SUMMARY:Long live the protocoletariat!
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5124.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T183000
       +UID:5124@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Security is moving deeper into hardware and so should securit
       + y research. This talks introduces microprobing\, an old technique for sn
       + ooping on data inside chips\, and details a low-cost probing setup.
       +SUMMARY:Low-Cost Chip Microprobing
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5088.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T171500
       +UID:5088@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:You might remember Tamagotchi virtual pets from the 1990's. T
       + hese toys are still around and just as demanding as ever! This talk cove
       + rs my attempts to hack the latest Tamagotchis. Starting with the IR inte
       + rface\, and moving down into the hardware\, this presentation will discu
       + ss techniques for reverse engineering a device with limited inputs\, com
       + puting power and debugging capabilities. 
       +SUMMARY:Many Tamagotchis Were Harmed in the Making of this Presentation
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5180.en.html
       +DTSTART;TZID=Europe/Berlin:20121230T160000
       +UID:5180@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Autonomer Drumroboter\, robotisches Glockenspiel oder klingen
       + de Installation: Musikinstrumente zu modifizieren und selbstzubauen biet
       + et musik- und technikaffinen Geeks die Möglichkeit\, vorgefertigten Kla
       + ng-Setups etwas eigenständiges entgegenzusetzen. Drumroboter und Klangi
       + nstallationen üben dabei sowohl physisch als auch optisch einen besonde
       + ren Reiz aus: die Quelle des Klangs wird entdeckt.
       +SUMMARY:Marvin und der Blues - Wie Roboterinstrumente zum Musik machen be
       + nutzt werden können des Bundes!
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5282.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T214500
       +UID:5282@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Mit RFID-Lesegeräten Menschen tracken - keine Zukunftsvision
       + .
       +SUMMARY:Meine Kleidung funkt - Tracking von Menschen durch in Kleidung in
       + tegrierte RFID-Chips des Bundes!
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5289.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T113000
       +UID:5289@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Meldegesetz und der erfolgreiche Protest dagegen.
       +SUMMARY:Meldegesetz - Was aus dem 57-Sekunden-Gesetz wurde
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5285.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T214500
       +UID:5285@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Unsichere Studierenden- und Mensakarten. Eine wissenschaftlic
       + he Auswertung.
       +SUMMARY:Men who stare at bits - RFID-Studierendenkarten mit Fehlern
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5393.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T203000
       +UID:5393@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Contactless smartcards have become widespread for application
       + s such as ticketing\, access control\, identification and payments. Side
       + -channel analysis (SCA) is a powerful type of passive implementation att
       + ack that enables to extract the secret keys of cryptographic devices. At
       +  the example of NXP's Mifare DESfire MF3ICD40 smartcards we demonstrate 
       + that SCA attacks can be applied to cryptographic RFID devices: By exploi
       + ting the electro-magnetic information leakage of the cards\, its cryptog
       + raphic keys are revealed.We introduce our open-source tools for analyzin
       + g contactless smartcardqs\, i.e.\, an ISO 14443 RFID reader (http://so
       + urceforge.net/projects/reader14443) and the card emulator Chameleon (htt
       + p://sourceforge.net/projects/chameleon14443). We then present the probab
       + ly worst realization of a commercial contactless payment system ever and
       +  detail on various real-world attacks on this widespread (in Germany) sy
       + stem\, e.g.\, how to 'milk the digital cash cow' by modifying the credit
       +  balance and convert zeros and ones into real money. The content of the 
       + talk is joint work with Ingo von Maurich\, Daviad Oswald and Christof 
       + Paar.
       +SUMMARY:Milking the Digital Cash Cow - Extracting Secret Keys of Contactl
       + ess Smartcards
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5280.en.html
       +DTSTART;TZID=Europe/Berlin:20121230T113000
       +UID:5280@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Massive open online courses are the vogue of the season when 
       + it comes to discussing the future of university-level education. But we
       + re onQly starting to see what education at this scope means and how 
       + it can be supported best\, in terms of both didactics and technology. Th
       + is talk is an inside report by two instructors who have delved into the 
       + experience of teaching large audiences online. We share the lessons that
       +  we have learned: how to spark student interest\, how to put intuition b
       + efore formal theories\, how to streamline production and much more. And 
       + we point out what needs to be done to truly democratize education from t
       + he viewpoint of both the studenAts and the instructors.
       +SUMMARY:Millions of Lessons Learned on Electronic Napkins - On the way to
       +  free(ing) educationng the futu!
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5102.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T171500
       +UID:5102@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:In den letzten Jahren haben sich netzpolitische Kräfteverhä
       + ltnisse auf interessante Weise verschoben. Neue Allianzen bilden sich so
       + wohl geqgen\, als auch für das freie Internet – und dennoch bleibt 
       + der Aktivismus weit hinter seinem Potential zurück.
       +SUMMARY:Netzaktivsten! Ist das alles\, was wir drauf haben? - Eine subjek
       + tive Bestandsaufnahmeg the futu!
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5134.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T214500
       +UID:5134@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Human interface design for musical instruments presents uniqu
       + e challenges and vast new possibilities.  The proliferation of low cost 
       + rapid-prototyping tools has put the means of fabricating instruments wit
       + hin reach of the performing musician.  In this talk\, I'll go through th
       + e design process for my main performance controller (The Mojo)\, my mult
       + iplayer instruments (aka Jamboxes) and my new RoboCaster guitar-controll
       + er.
       +SUMMARY:New Human Interfaces for Music - DIY MIDI Controllers
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT0H30M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5404.en.html
       +DTSTART;TZID=Europe/Berlin:20121230T160000
       +UID:5404@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:
       +SUMMARY:NOC Review - NOC Review about the 29C3
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5385.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T113000
       +UID:5385@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:On the topic of resistance.
       +SUMMARY:Not my department
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5037.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T001500
       +UID:5037@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Gut gereift und mit verbesserter Rezeptur.Aber immer noch:Zwe
       + i sich auf Couchen fläzende Teams gehirnwinden\, spitzfinden und assozi
       + ieren gegeneinander an\, um Bilderrätsel aus den Gefilden IT\, Netzgese
       + llschaft und Informatik zu entwirren.(Hashtag: #Nougatbytes)
       +SUMMARY:Nougatbytes 10 - Gebilde(r)ter Hirnsalat – die rhekkcüЯ der B
       + ilderrätselds
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT0H30M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5203.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T143000
       +UID:5203@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Polish government decided in favour of open-licensed e-textbo
       + oks. This is not to liking of big textbook publishers\, reaping in profi
       + ts hand over fist. While their black PR campaign focuses on technicaliti
       + es\, it seems obvious that their real beef is with the liberal licensing
       + .
       +SUMMARY:OMG! OER! - How big business fights open education in Poland\, an
       + d how open education fights back! textbook publ!
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT0H30M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5210.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T140000
       +UID:5210@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:The Security Assertion Markup Language (SAML) is a widely ado
       + pted language for making security statements about subjects. It is a cri
       + tical component for the development of federated identity deployments an
       + d Single Sign-On scenarios. In order to protect integrity and authentici
       + ty of the exchanged SAML assertions\, the XML Signature standard is appl
       + ied. However\, the signature verification algorithm is much more complex
       +  than in traditional signature formats like PKCS#7. The integrity protec
       + tion can thus be successfully circumvented by application of different X
       + ML Signature specific aawttacks\, under a weak adversarial model.
       +SUMMARY:On Breaking SAML - Be Whoever You Want to Be
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT0H15M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5399.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T110000
       +UID:5399@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:
       +SUMMARY:Opening Event
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5308.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T160000
       +UID:5308@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Was bedeutet das Zeitalter offener Designs für die Sicherhei
       + t von Schlössern? Zum Beispiel solchen\, die auf eine geringe Verbreitu
       + ng eineks Schlüssels setzen? Ein Beispiel sind die sogenannten Hochsi
       + cherheitsversionen von Polizeihandschellen. Der Talk zeigt was (und wie)
       +  sich in diesem Bereich mit Lasercuttern und 3D Druckern erreichen läss
       + t - sowie welche komplexeren Angriffsziele noch warten. Als Ausweg aus d
       + er Problematik kopierbarer Schlüssel gelten digitale Schlösser\, aber 
       + sie kranken anders an offenen Quellen: sie haben keine! Im Rahmen eines 
       + Open Source Lock Projektes haben wir uns daher ein reflashbares Vorhäng
       + eschloss angesehen\, doch noch ehe wir den Programmieradapter angeschlos
       + sen hatten fanden wir eine SchwachstellAie der Hardware... Leider kein 
       + Einzelfall!
       +SUMMARY:Open Source Schlüssel und Schlösser - Offene Quellen zum Bösen
       +  und Guten: von downloadbaren Handschellenschlüsseln zu sicheren elektr
       + onischen s SchlüsselsSchlössern
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5265.en.html
       +DTSTART;TZID=Europe/Berlin:20121230T171500
       +UID:5265@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:x86 processors contain a surprising amount of built-in memory
       +  translation logic\, which is driven by various data tables with intrica
       + te entry formats\, and can produce various kinds of traps and other inte
       + resting computational effects. These features are mostly relics of earli
       + er\, more civilized times\, when Jedi Knights tried to protect the Old R
       + epublic OSes with segmentation\, supervisor bits\, and hardware task sup
       + port\, but were defeated by processor de-optimizations and performance c
       + oncerns and left unused by both Windows and UNIX systems – and explore
       + d only by hackers. For the rest of the world\, an x86 PC was a "von Neum
       + ann architecture" with most of its strangeness unused.
       +SUMMARY:Page Fault Liberation Army or Gained in Translation - a history o
       + f creative x86 virtual memory usestextbook publ!
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5323.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T230000
       +UID:5323@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Der Vortrag handelt über Getreidezüchtung. Am Beispiel von 
       + Weizen soll der langjährige Prozess beschrieben werden\, den es benöti
       + gt\, um  eine neue Sorte auf den Markt zu bringen. Es sollen die biologi
       + schen Grundlagen sowie die benötigte Technik vorgestellt werden. Außer
       + dem wird auf die Problematik eingegangen\, die die Konzentration des Mar
       + ktes auf wenige große Konzerne mit sich bringt.
       +SUMMARY:Pflanzenhacken richtig - Einblicke in die Weizenzüchtung
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5095.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T183000
       +UID:5095@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:To date\, remote vehicle communications have provided little 
       + in the way of privacy. Much information and misinformation has been spre
       + ad on what the system is and can do\, especially within the information 
       + security community. The recent field trial in the US of a connected vehi
       + cle infrastructure raises the level of concern amongst all who are aware
       +  of existing privacy issues.
       +SUMMARY:Privacy and the Car of the Future - Considerations for the Connec
       + ted Vehiclelds
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5101.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T160000
       +UID:5101@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:ACTA war das beherrschende Thema des zweiten Halbjahres. Mit 
       + ACTA sollte der Weg einer Privatisierung der Rechtsdurchsetzung weiter g
       + egangen werden. Was das konkret bedeutet\, können wir bereits im Auslan
       + d sehen: Netzsperren\, 3-Strikes-Systeme und eine Echtzeit-Überwachung 
       + des Datenverkehrs zur Bekämpfung von Urheberrechtsverletzungen. Existie
       + rende Modelle in anderen europäischen Staaten zeigen\, dass diese Maßn
       + ahmen erhebliche grund- und datenschutzrechtliche Probleme aufwerfen. 
       +SUMMARY:Privatisierung der Rechtsdurchsetzung - Von ACTA\, IPRED und Freu
       + ndenVehiclelds
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5266.en.html
       +DTSTART;TZID=Europe/Berlin:20121230T140000
       +UID:5266@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Zensur im Internet betrifft immer mehr Nutzer. Wir kennen Too
       + ls wie Proxies\, VPNs oder Tor Bridges. Doch welche weiteren Werkzeuge u
       + nterstützen die Nutzer vor Ort? Wo sind die Stärken und Schwächen? De
       + r Vortrag stellt einige von diesen vor und zeigt die Stärken und Schwä
       + chen.
       +SUMMARY:Proximax\, Telex\, Flashproxy oder Tor Bridges - Übersicht über
       +  aktuelle Zensurumgehungssoftwarestextbook publ!
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5374.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T171500
       +UID:5374@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION: This talk will give an overview of the ongoing work by the W
       + 3C on a controversial general purpose Javascript cryptography API in con
       + text of the larger desire to create trusted and encrypted cloud services
       +  with rich web applications. Today\, cryptography is difficult to use an
       + d the Web is an insecure environment at best\, but can this situation be
       +  improved and cryptography be put in the hands of ordinary developers an
       + d users? The W3C specification\, currently under development\, will be d
       + escribed\, as well as its interaction with other parts of the emerging W
       + eb Security Model at th:e W3C and IETF such as Content Security Policy
       + \, HTTP Strict Transport Security\, and Certificate Transparency. A numb
       + er of use-cases\, ranging from decentralized identity systems to secure 
       + cloud services for activists\, will be detailed. As the specification wi
       + ll be under active development until autumn 2013\, feedback from the hac
       + ker community is needed! 
       +SUMMARY:Re-igniting the Crypto Wars on the Web
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT0H30M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5138.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T131500
       +UID:5138@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:In 1791\, the political reformer Jeremy Bentham theorized the
       +  Panopticon\, whose design promised to allow a single Inspector to surve
       + il (exercise "inspective force" over) large numbers of criminals or work
       + ers. In recent years\, the advent of a suitable technical apparatus – 
       + CCTV\, ISP taps (network traffic interception)\, data banks\, and so on 
       + – has extended the proposed 30m circumference of Bentham’s structure
       +  to\, and beyond\, the A2physical boundaries of entire countries. While
       +  total surveillance is often perceived as a feature of modernity\, its c
       + onceptual and epistemological framework is rooted in the Romantic period
       + \, moreover at a key juncture in the history of ideas concerning individ
       + ual subjectivity\, rights and freedoms. David Barnard-Wills refers to in
       + spective culture as a "nexus of surveillance\, identity and language" (2
       + 012). In this talk\, we examine this nexus in the historical period that
       +  first\, and so powerfully\, imagined the fully10 surveilled world.
       +SUMMARY:Romantic Hackers - Keats\, Wordsworth and Total Surveillance
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5402.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T183000
       +UID:5402@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Privacy International\, Agentura.Ru\, the Russian secret serv
       + ices watchdog\, and Citizen Lab have joined forces to launch a new proje
       + ct entitled 'Russia’s Surveillance State'. The aims of the project are
       +  to undertake research and investigation into surveillance practices in 
       + Russia\, including the trade in and use of surveillance technologies\, a
       + nd to publicise research and investigative findings to improve national 
       + and international awareness of surveillance and secrecy practices in Rus
       + sia.  The project is made possible with support from the Canada Centre f
       + or Global Security Studies\, Munk School of Global Affairs\, at the Univ
       + ersity of Toronto.
       +SUMMARY:Russia’s Surveillance State
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5140.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T214500
       +UID:5140@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:The triple meltdown of the Fukushima Dai-Ichi nuclear power p
       + lant in March last year and the release of radioactive material that has
       +  ensued have left a good part of Northern Japan contaminated with unknow
       + n amount of radioactivity. An outstanding lack of transparency from both
       +  the government and the power utility then resulted in a near total lack
       +  of information concerning the levels of radiation in the\, yet unknown\
       + , contaminated areas. As a response\, concerned citizen have started to 
       + take upon themselves this challenging task. However it quickly became cl
       + ear that handheld measu! rements wouldn't scale up to the full magnitud
       + e of the area to cover. New means of measuring radiation accurately\, qu
       + ickly and cheaply were needed.
       +SUMMARY:Safecast: DIY and citizen-sensing of radiation - Empowering citiz
       + en in the wake of Fukushima triple-meltdown disasterve material!
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5059.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T230000
       +UID:5059@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Modern civilization unconditionally depends on information sy
       + stems. It is paradoxical but true that ICS/SCADA systems are the most in
       + secure systems in the world. From network to application\, SCADA is full
       +  of configuration issues and vulnerabilities.
       +SUMMARY:SCADA Strangelove - or: How I Learned to Start Worrying and Love 
       + Nuclear Plants
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5177.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T113000
       +UID:5177@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:This talk will go into some of challenges\, solutions\, and s
       + tories from securing a campaign for the 2012 US presidential election.
       +SUMMARY:Securing the Campaign - Security and the 2012 US Presidential Ele
       + ctionar Plants
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5225.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T203000
       +UID:5225@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:In this talk we will survey some 30 recent attacks on the Rus
       + sian GOST block cipher.Background: GOST cipher is the official encryptio
       + n standard of the Russian federation\, and also has special versions for
       +  the most important Russian banks. Until 2012 there was no attack on GOS
       + T when it is used in encryption with random keys. I have developed more 
       + than 30 different academic attacks on GOST the fastest has complexity of
       +  2^118 to recover some but not all 256-bit keys generated at random\, wh
       + ich will be presented for the first time at CCC conference. It happens o
       + nly once per decade tha
       +t a government standard is broken while it is 
       + still an official government standard (happened for DES and AES\, no oth
       + er cases known). All these are broken only in academic sense\, for GOST 
       + most recent attacks are sliding into maybe arguably practical in 30 year
       + s from now instead of 200 years... Our earlier results were instrumental
       +  at ISO for rejecting GOST as an international encryption standard last 
       + year. Not more than 5+ block cihers have ever achieved this level of ISO
       +  standardisation in 25 years and it NEVER happeqnded in history of ISO
       +  that a cipher got broken during the standardization process. Two main p
       + apers with 70+30 pages respectively which are http://eprint.iacr.org/201
       + 1/626 and http://eprint.iacr.org/2012/138. Two other papers have been al
       + ready published in Cryptologia journal which specializes in serious mili
       + tary and government crypto. The talk will cover three main families of a
       + ttacks on GOST: high-level transformations\, low- level inversion/MITM/g
       + uess-then-software/algebraic attacks and advanced truncated differentiaa
       + l cryptanalysis of GOST.
       +SUMMARY:Security Evaluation of Russian GOST Cipher - Survey of All Known 
       + Attacks on Russian Government Encryption Standard the official !
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5244.en.html
       +DTSTART;TZID=Europe/Berlin:20121230T171500
       +UID:5244@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Was hat sich im letzten Jahr im Bereich IT-Sicherheit getan? 
       + Welche neuen Entwicklungen haben sich ergeben? Welche neuen Buzzwords un
       + d Treed1nds waren zu sehen?
       +SUMMARY:Security Nightmares - Damit Sie auch morgen schlecht von Ihrem Co
       + mputer träumen.wicklungen habe!
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5167.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T160000
       +UID:5167@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:In The Netherlands\, this year the community-driven mobile te
       + lco Limesco has started operations. We're providing voice\, SMS and data
       +  services to dozens of hackers in our country.One of the founders of Lim
       + esco will give a lecture about mobile telephony in The Netherlands\, enc
       + ompassing topics like what companies are involved in the system\, how ta
       + riffs are constructed and the role of government regulations.
       +SUMMARY:Setting mobile phones free - An overview of a mobile telephony ma
       + rket and how a community-driven operator is borning voice\, SMS!
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5164.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T160000
       +UID:5164@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Der Betrieb von WLAN-Funk-Netzen und auch von offenen oder fr
       + eien Netzen ist heute weit verbreitet und Teil der Diskussion um die "Cu
       + ltures of Sharing". Der Vortrag soll die Grundlagen der Haftung für off
       + ene Netze und die Entwicklung der Rechtsprechung vom Landgericht Hamburg
       +  ("gestern") zum BGH-Urteil "Sommer unseres Lebens" und den Einfluss akt
       + ueller Rechtsprqechung des Europäischen Gerichtshofs\, des Bundesgeric
       + htshofs und der Instanzgerichte darstellen ("heute"). Ein Ausblick auf d
       + ie Folgen dieser neuen\, teilweise abweichenden Rechtsprechung und auf d
       + ie Gesetzesinitiativen der SPD und der Linken ("morgen") soll den Vortra
       + g abrunden.
       +SUMMARY:Sharing Access – Risiken beim Betrieb offener (WLAN-)Netze - St
       + and gestern\, heute und morgen  eitet und Teil !
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5127.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T124500
       +UID:5127@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Der Eid des Hippokrates\, der das Handeln von Ärzten ethisch
       +  leiten soll\, ist zwischen 2.500 und 2.000 Jahre alt und tatsächlich w
       + ohl diea erste 'Datenschutz-Vorschrift' überhaupt. So heißt es: "Was 
       + ich bei der Behandlung oder auch außerhalb meiner Praxis im Umgange  mi
       + t Menschen sehe und höre\, das man nicht weiterreden darf\, werde ich v
       + erschweigen und als Geheimnis bewahren." [1]
       +SUMMARY:Siechtum und Sterben der ärztlichen Schweigepflicht
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5121.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T171500
       +UID:5121@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Green-IT kennen wir inzwischen zur Genüge. Computer können 
       + aber nicht nur nicht "green" sein\, sondern auch unfair und unsozial\, v
       + on der 1Rohstoffgewinnung bis zur Verschrottung. Unfair spart nämlich 
       + Geld. Der Gedanke\, faire Produkte anzubieten und zu kaufen\, ist inzwis
       + chen weit verbreitet\, allerdings eher bei Kaffee oder Kleidung. Ein Ang
       + ebot an fairer IT fehlt. Die Industrie hat sich noch nicht auf den Weg g
       + emacht\, faire Computer herzustellen. Wir Nutzer haben kaum die Wahl –
       +  verändern können wir aber durchaus etwas. Der Vortrag erklärt\, was 
       + und wie.
       +SUMMARY:Sind faire Computer möglich?
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT0H30M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5123.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T143000
       +UID:5123@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:The lecture would address topics related to reverse engineeri
       + ng for mobile platforms\, especially from the Android point of view. The
       +  main aspects of the presentation is a new approach to reverse engineeri
       + ng side effects problem: some low footprint inspection techniques that g
       + rant analysts with the ability to access the program memory without alte
       + ring its behavior. One technique is presented in particular - Android se
       + rvice injection - and is demonstrated.
       +SUMMARY:Small footprint inspection techniques for Android - Reverse engin
       + eering on Android platformshabe!
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5239.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T183000
       +UID:5239@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:This talk will give an overview on the technology\, the laws 
       + and the technical guidelines of the smartMeter roll-out in Germany.
       +SUMMARY:SmartMeter - A technological overview of the German roll-out 
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5336.en.html
       +DTSTART;TZID=Europe/Berlin:20121230T113000
       +UID:5336@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Forderungen nach einer gerechten Sprache (also einer Sprache 
       + frei von Rassismus\, Sexismus und anderen menschenfeindlichen Ideologien
       + ) stoßen häufig auf Unverständnis und Ablehnung. Unverständnis\, wei
       + l statt der sozialen Wirklichkeit die Sprache kritisiert wird\, mit der 
       + sie beschrieben wird. Ablehnung\, weil Sprachkritik häufig als Sprechve
       + rbot empfunden wird.
       +SUMMARY:Sprache\, Ungleichheit und Unfreiheit
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT0H30M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5378.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T124500
       +UID:5378@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Stabilitätsanker & Wachstumslokomotive geben als politische 
       + Metaphern ungewollt Auskunft über das Ausmaß der europäischen Wirtsch
       + afts- und Finanzkrise. Wie kommt so ein Begriff in Verkehr? Wer gebrauch
       + t ihn? Zu welchem Zweck? Was fördert die Analyse der Metaphern zutage?
       +SUMMARY:Stabilitätsanker & Wachstumslokomotive
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5230.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T230000
       +UID:5230@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Stylometry uses linguistic information found in a document to
       +  perform authorship recognition. In this talk\, we will present how styl
       + ometry can be used to deanonymize users in multilingual underground foru
       + ms. Our initial result shows that in spite of differences in languages a
       + nd text lengths\, regular stylometric methods perform well in identifyin
       + g users in this context. We will also present the improved version of An
       + onymouth\, a tool to anonymize written document\, with user studies. 
       +SUMMARY:Stylometry and Online Underground Markets
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT0H30M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5390.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T140000
       +UID:5390@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Don't call us if your campaign does not work! And worse\, eve
       + ryone's been harassed or arrested.tet und Teil !
       +SUMMARY:Tactical Tech - Bridging the Gap
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT0H30M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5228.en.html
       +DTSTART;TZID=Europe/Berlin:20121230T124500
       +UID:5228@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:The Role of Technology in Post-Revolution Tunisia & Egypt: In
       + ternet activists have embarked on many online projects to empower citize
       + ns with necessary information about their elected officials.
       +SUMMARY:Technology in Post-Revolution Tunisia and Egypt
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5195.en.html
       +DTSTART;TZID=Europe/Berlin:20121230T160000
       +UID:5195@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:The Executable and Linkable Format (ELF) is omnipresent\; rel
       + ated OS and library code is run whenever processes are set up and servic
       + ed (e.g.\, dynamically linked). The loader is the stage manager for ever
       + y executable. Hardly anyone appreciates the work that the ELF backstage 
       + crew (including the linker and the loader) puts in to make an executable
       +  run smoothly.
       +SUMMARY:The Care and Feeding of Weird Machines Found in Executable Metada
       + ta
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5206.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T214500
       +UID:5206@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:In the world of digital activism\, distributed denial of serv
       + ice attacks present relatively low barriers to popular participation\, h
       + ave a high potential for attracting large numbers of first-time and repe
       + at participants\, and can attract large amounts of media attention.  But
       +  though such actions popular\, are they ethical? In this talk I will be 
       + presenting an ethical framework for the analysis of activist DDOS action
       + s. The framework is grounded in a historical analysis of various activis
       + t DDOS actions\, such as the IGC attacks in Spain in the late 90s\, Elec
       + tronic Disturbance Theater actions in the early 2000s\, and the Anonym
       + ous-led Operation Payback attacks in 2010.  Each historical case study p
       + resents a unique confluence of technological\, political\, legal and ope
       + rational factors allowing for a full spectrum of ethical analysis.
       +SUMMARY:The Ethics of Activist DDOS Actions - A Historical Analysis
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5256.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T230000
       +UID:5256@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Have you ever been staring for nights at binary or hexadecima
       + l data flows extracted from an USB channel? Don't you remember yourself 
       + searching for some patterns and similarities in this fuc***g mess of zer
       + os and ones grabbed from a binary configuration file? How long did it ta
       + ke you to find an 16 bits decimal size field last time you reversed an I
       + PC communication protocol?Did you know you were not alone and that among
       +  them\, Rob Savoye (@ FOSDEM-08) and Drew Fisher (@ 28C3) have already r
       + eported the main difficulties of the RE operations. Both of them called 
       + for the creation of a tool which would help experts in their work.
       +SUMMARY:The future of protocol reversing and simulation applied on ZeroAc
       + cess botnet - Mapping your enemy Botnet with Netzobou remember !
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5274.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T171500
       +UID:5274@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:The current European data protection directive is from 1995\,
       +  which was when the internet had not hit Brussels' decision-makers yet. 
       + Now\, 17 years later\, it is being completely re-writen. Will it meet th
       + e challenges of the age of big data? Will it have any effect on non-EU d
       + ata hoarders? How will it deal with user-generated consent? What is this
       +  strange new "right to be forgotten"? And what about privacy by design?
       +SUMMARY:The Grand EU Data Protection Reform  - A latest battle report by 
       + some key actors from Brusselsbe!
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5306.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T171500
       +UID:5306@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:At the very beginning\, Tor was just a socks proxy that prote
       + cted the origin and/or destination of your TCP flows. Now the broader To
       + r ecosystem includes a diverse set of projects -- browser extensions to 
       + patch Firefox and Thunderbird's privacy issues\, Tor controller librarie
       + s to let you interface with the Tor client in your favorite language\, n
       + etwork scanners to measure relay performance and look for misbehaving ex
       + it relays\, LiveCDs\, support for the way Android applications expect To
       + r to behave\, full-network simulators and testing frameworks\, plugins t
       + o make Tor's traffic look like Skype or other protocols\, and metrics 
       + and measurement tools to keep track of how well everything's working. Ma
       + ny of these tools aim to be useful beyond Tor: making them modular means
       +  they're reusable for other anonymity and security projects as well. In 
       + this talk\, Roger and Jake will walk you through all the tools that make
       +  up the Tor software world\, and give you a better understanding of whic
       + h ones need love and how you can help.
       +SUMMARY:The Tor software ecosystem
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5178.en.html
       +DTSTART;TZID=Europe/Berlin:20121230T140000
       +UID:5178@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Galaksija was to be in Yugoslavia what Commodore and Sinclair
       +  were in the west. Whether it succeeded or not\, its deceptively simple 
       + design can still teach us a lot of interesting tricks on how to make a u
       + sable computer and operating system with as few transistors and bits as 
       + possible.
       +SUMMARY:The ultimate Galaksija talk - Everything about a Yugoslavian micr
       + ocomputer halfway between a TRS-80 and a ZX 80\!
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 4
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5044.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T230000
       +UID:5044@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:In this year’s talk\, I tie on my 28c3 talk and present tim
       + ing side channels from a defending viewpoint: How can one mitigate timin
       + g side A{channels? Aren’t random delays sufficient to prevent timing s
       + ide channels in practice? What is the minimum size of random delays to b
       + e effective? Are there other delay strategies besides random delays that
       +  are more effective and efficient?
       +SUMMARY:Time is NOT on your Side - Mitigating Timing Side Channels on the
       +  Web
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5380.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T140000
       +UID:5380@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Wir wissen seit ein paar Jahren\, dass der Staat technisch in
       +  der Lage ist\, die Computer einiger seiner Bürger zu infiltrieren. Abe
       + r soll er das auch dürfen? Was hat sich in den letzten Monaten beim Sta
       + atstrojaner getan?
       +SUMMARY:Trojaner-Blindflug - Spionage-Software von Staats wegen
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT0H30M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5091.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T124500
       +UID:5091@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Hardware-basierte Festplattenvollverschlüsselungen in Form s
       + ogenannter SEDs (Self-Encrypting Drives) werden gemeinhin als sichere un
       + d performante Alternative zu Software-basierter Verschlüsselung wie Bit
       + Locker und TrueCrypt gesehen. Während der Performance-Gewinn und die Be
       + nutzerfreundlichkeit von SEDs\, bspw. Intel's SSD 320 bzw. SSD 520\, au
       + er Frage stehen\, ist der Sicherheits-Gewinn deutlich geringer als bish
       + er angenommen. Teilweise sind Systeme die auf SEDs basieren gar schwäch
       + er als vergleichbare Systeme die auf Software-Verschlüsselung basieren.
       +SUMMARY:(Un)Sicherheit Hardware-basierter Festplattenverschlüsselung
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5396.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T160000
       +UID:5396@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Weltbilder der Informatik sind in mancher Hinsicht denen in d
       + er Hacker- und Hackerinnen-Community nicht unähnlich.
       +SUMMARY:Was ist\, was kann\, was soll Gender Studies Informatik?
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5160.en.html
       +DTSTART;TZID=Europe/Berlin:20121228T113000
       +UID:5160@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:In the Free City of Hamburg\, which is one of 16 German state
       + s\, a coalition of hackers\, activists and other players of civil societ
       + y have drafted the most revolutionary Freedom of information law in the 
       + world. The law obliges the state to proactively publish all important pu
       + blic information (such as contracts\, studies\, construction permits) in
       +  an OpenData format on the Internet. After the start of a referendum cam
       + paign\, the law was passed unanimously by the state parliament in June 2
       + 012 to avoid a public vote on it.
       +SUMMARY:We are all lawmakers! - How to further transparency by law – th
       + e Hamburg example and beyond ac!
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5208.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T160000
       +UID:5208@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Accessibility of digital content is a hugely misunderstood is
       + sue. Programmers and content developers tend to view it as a distraction
       +  or a special interest concern. Accessibility advocates fail to describe
       +  it in terms that would put it in the proper place for other technologis
       + ts\, in particular security practitioners.                              
       +                                               We argue that if a format 
       + or a document has systemic accessibility problems\, then accessibility i
       + s likely to be the least of its problems\; that accessibility only colla
       + pses first\, like a canAVary in a mine\, and security is next to follow.
       +  We argue that many accessibility problems\, just like many security pro
       + blems\, stem from documents being hard to parse or containing executable
       +  content\, and that the accessibility community is only the first to suf
       + fer\, due to not having the manpower to make extremely complicated forma
       + ts to almost work almost always. It's an arms race tougher than the secu
       + rity patching cycle\, made worse by there being no common model for what
       +  accessibility properties should look like.
       +SUMMARY:What accessibility has to do with security
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 6
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5283.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T203000
       +UID:5283@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:After the political and legislative failure of the blocking a
       + nd filtering proposals in Germany (#Zensursula) and the EU (Child Protec
       + tion Directive) several players stepped up to implement the measures tha
       + t previously have been envisioned as compulsory but now on a "self-regul
       + atory" basis. 
       +SUMMARY:White IT\, Clean IT & CEO Coalition - How the government tries to
       +  encourage privatized policy inforcement and thereby bypasses and circum
       + ventsDi democratic processes
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5327.en.html
       +DTSTART;TZID=Europe/Berlin:20121229T171500
       +UID:5327@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:This action-packed lecture presents the inner workings of the
       +  author's from-scratch implementation of a USB Mass Storage disk in user
       + -land Python\, along with some embarrassing bugs in operating systems th
       + at support such disks.  The lecture concludes with an introduction to Ac
       + tive Antiforensics\, in which a thumbdrive's own firmware can recognize 
       + and defend itself against disk imaging and other forensic tools.
       +SUMMARY:Writing a Thumbdrive from Scratch - Prototyping Active Disk Antif
       + orensics
       +STATUS:CONFIRMED
       +END:VEVENT
       +BEGIN:VEVENT
       +DURATION:PT1H00M
       +LOCATION:Saal 1
       +SEQUENCE:0
       +URL:http://events.ccc.de/congress/2012/Fahrplan/events/5262.en.html
       +DTSTART;TZID=Europe/Berlin:20121227T140000
       +UID:5262@29C3@pentabarf.org
       +DTSTAMP:20121226T143018
       +CATEGORIES:Lecture
       +DESCRIPTION:Seit anderthalb Jahren begleitet FragDenStaat.de die deutsche
       +  Informationsfreiheit in der Praxis und dokumentiert die Korrespondenz z
       + wischen Anfragestellenden und Behörden. Welche Informationen gibt der S
       + taat preis\, und gegen welche Veröffentlichungen kämpft er sogar bis v
       + or Gericht? Die interessantesten Fälle werden genauer beleuchtet und ei
       + ne Bewertung zur Lage der staatlichen Information in Deutschland abgegeb
       + en.
       +SUMMARY:Zur Lage der Information - 1.5 Jahre FragDenStaat.de
       +STATUS:CONFIRMED
       +END:VEVENT
       +END:VCALENDAR
 (DIR) diff --git a/ical.c b/ical.c
       @@ -0,0 +1,327 @@
       +/*
       + * Copy me if you can.
       + * by 20h
       + */
       +
       +#include <unistd.h>
       +#include <stdio.h>
       +#include <stdlib.h>
       +#include <strings.h>
       +#include <string.h>
       +
       +#include "ind.h"
       +#include "ical.h"
       +
       +vitemprop_t *
       +vitemprop_new(void)
       +{
       +        vitemprop_t *ret;
       +
       +        ret = mallocz(sizeof(vitemprop_t), 2);
       +
       +        return ret;
       +}
       +
       +void
       +vitemprop_free(vitemprop_t *prop)
       +{
       +        if (prop->name != NULL)
       +                free(prop->name);
       +        if (prop->params != NULL)
       +                free(prop->params);
       +        if (prop->value != NULL)
       +                free(prop->value);
       +
       +        free(prop);
       +}
       +
       +void
       +vitemprop_print(vitemprop_t *prop)
       +{
       +        char *line, *lp, *cp;
       +        int llen;
       +
       +        line = smprintf("%s%s%s:%s", prop->name,
       +                        (prop->params)? ";" : "",
       +                        (prop->params)? prop->params : "",
       +                        prop->value);
       +        llen = strlen(line);
       +        if (llen <= 73) {
       +                printf("%s\r\n", line);
       +                free(line);
       +                return;
       +        }
       +
       +        cp = memdupz(line, 73);
       +        printf("%s\r\n", cp);
       +        free(cp);
       +        lp = line + 73;
       +        llen -= 73;
       +
       +        for (; llen > 0;) {
       +                cp = memdupz(lp, 72);
       +                printf(" %s\r\n", cp);
       +                free(cp);
       +                lp += 72;
       +                llen -= 72;
       +        }
       +        free(line);
       +}
       +
       +vitem_t *
       +vitem_new(void)
       +{
       +        vitem_t *ret;
       +
       +        ret = mallocz(sizeof(vitem_t), 2);
       +
       +        return ret;
       +}
       +
       +void
       +vitem_free(vitem_t *item)
       +{
       +        vitemprop_t *cur, *next;
       +
       +        for (cur = item->props; cur; cur = next) {
       +                next = cur->next;
       +
       +                vitemprop_free(cur);
       +        }
       +
       +        if (item->type != NULL)
       +                free(item->type);
       +
       +        free(item);
       +}
       +
       +void
       +vitem_addprop(vitem_t *item, vitemprop_t *prop)
       +{
       +        if (item->props == NULL) {
       +                item->props = prop;
       +                item->lastp = prop;
       +        } else {
       +                item->lastp->next = prop;
       +                prop->prev = item->lastp;
       +                item->lastp = prop;
       +        }
       +        item->nprops++;
       +}
       +
       +void
       +vitem_print(vitem_t *item)
       +{
       +        vitemprop_t *elem;
       +
       +        printf("BEGIN:%s\n", item->type);
       +        forlist(item->props, elem)
       +                vitemprop_print(elem);
       +        printf("END:%s\n", item->type);
       +}
       +
       +vitems_t *
       +vitems_new(void)
       +{
       +        vitems_t *ret;
       +
       +        ret = mallocz(sizeof(vitems_t), 2);
       +
       +        return ret;
       +}
       +
       +void
       +vitems_free(vitems_t *items)
       +{
       +        vitem_t *cur, *next;
       +        vitemprop_t *pcur, *pnext;
       +
       +        for (cur = items->first; cur; cur = next) {
       +                next = cur->next;
       +                vitem_free(cur);
       +        }
       +
       +        for (pcur = items->headers; pcur; pcur = pnext) {
       +                pnext = pcur->next;
       +                vitemprop_free(pcur);
       +        }
       +
       +        free(items);
       +}
       +
       +void
       +vitems_addhdr(vitems_t *items, vitemprop_t *hdr)
       +{
       +        if (items->headers == NULL) {
       +                items->headers = hdr;
       +                items->lasth = hdr;
       +        } else {
       +                items->lasth->next = hdr;
       +                hdr->prev = items->lasth;
       +                items->lasth = hdr;
       +        }
       +        items->nheaders++;
       +}
       +
       +void
       +vitems_additem(vitems_t *items, vitem_t *item)
       +{
       +        if (items->first == NULL) {
       +                items->first = item;
       +                items->last = item;
       +        } else {
       +                items->last->next = item;
       +                item->prev = items->last;
       +                items->last = item;
       +        }
       +        items->nitems++;
       +}
       +
       +void
       +vitems_print(vitems_t *items)
       +{
       +        vitemprop_t *pelem;
       +        vitem_t *ielem;
       +
       +        printf("BEGIN:VCALENDAR\r\n");
       +        forlist(items->headers, pelem)
       +                vitemprop_print(pelem);
       +
       +        forlist(items->first, ielem)
       +                vitem_print(ielem);
       +        printf("END:VCALENDAR\r\n");
       +}
       +
       +enum {
       +        STATE_INIT = 0x00,
       +        STATE_VCALBEGIN,
       +        STATE_VITEMBEGIN,
       +        STATE_VCALEND
       +};
       +
       +vitems_t *
       +vitems_read(int fd)
       +{
       +        vitems_t *items;
       +        vitem_t *item;
       +        vitemprop_t *itemprop;
       +        char *filebuf, *rp, *p, *sepp, *paramsp, buf[1024], *pbuf, *line,
       +             *oline;
       +        int len, state, blen;
       +
       +        filebuf = readtoeoffd(fd, &len);
       +        if (filebuf == NULL)
       +                return NULL;
       +
       +        state = STATE_INIT;
       +        items = vitems_new();
       +        item = NULL;
       +
       +        rp = filebuf;
       +        p = filebuf;
       +        line = NULL;
       +        for (;;) {
       +                if (line != NULL)
       +                        free(line);
       +                line = NULL;
       +                if (oline != NULL)
       +                        line = oline;
       +
       +                if (rp == NULL || state == STATE_VCALEND)
       +                        break;
       +
       +                for (; (rp = sgets(buf, sizeof(buf)-1, &p));) {
       +                        blen = strlen(buf);
       +                        if (buf[blen-1] == '\r') {
       +                                buf[blen-1] = '\0';
       +                                blen--;
       +                        }
       +
       +                        pbuf = NULL;
       +                        switch (buf[0]) {
       +                        case '\t':
       +                        case ' ':
       +                                line = memdupcat(line, strlen(line),
       +                                                &buf[1], blen-1);
       +                                pbuf = line;
       +                                break;
       +                        default:
       +                                break;
       +                        }
       +
       +                        if (pbuf == NULL) {
       +                                if (line != NULL) {
       +                                        oline = memdupz(buf, blen);
       +                                        break;
       +                                } else {
       +                                        line = memdupz(buf, blen);
       +                                }
       +                        }
       +
       +                }
       +                if (line == NULL)
       +                        break;
       +
       +                sepp = strchr(line, ':');
       +                if (sepp == NULL)
       +                        die("Syntax error.\n");
       +
       +                sepp[0] = '\0';
       +                sepp++;
       +
       +                if (!strcasecmp(line, "BEGIN")) {
       +                        if (!strcasecmp(sepp, "VCALENDAR")) {
       +                                state = STATE_VCALBEGIN;
       +                                continue;
       +                        } else {
       +                                state = STATE_VITEMBEGIN;
       +
       +                                item = vitem_new();
       +                                item->type = memdupz(sepp,
       +                                                strlen(sepp));
       +                                continue;
       +                        }
       +                } else if (!strcasecmp(line, "END")) {
       +                        if (!strcasecmp(sepp, "VCALENDAR")) {
       +                                state = STATE_VCALEND;
       +                        } else {
       +                                if (item == NULL)
       +                                        die("item == NULL\n");
       +                                vitems_additem(items, item);
       +                                item = NULL;
       +                        }
       +                        continue;
       +                }
       +
       +                paramsp = strchr(line, ';');
       +                if (paramsp != NULL) {
       +                        paramsp[0] = '\0';
       +                        paramsp++;
       +                }
       +
       +                itemprop = vitemprop_new();
       +                itemprop->name = memdupz(line, strlen(line));
       +                if (paramsp != NULL) {
       +                        itemprop->params = memdupz(paramsp,
       +                                        strlen(paramsp));
       +                }
       +                itemprop->value = memdupz(sepp,
       +                                strlen(sepp));
       +
       +                if (state == STATE_VCALBEGIN) {
       +                        vitems_addhdr(items, itemprop);
       +                } else if (state == STATE_VITEMBEGIN) {
       +                        vitem_addprop(item, itemprop);
       +                }
       +        }
       +
       +        free(filebuf);
       +
       +        if (items->nitems < 1) {
       +                vitems_free(items);
       +                return NULL;
       +        }
       +
       +        return items;
       +}
       +
 (DIR) diff --git a/ical.h b/ical.h
       @@ -0,0 +1,63 @@
       +/*
       + * Copy me if you can.
       + * by 20h
       + */
       +
       +#ifndef __ICAL_H__
       +#define __ICAL_H__
       +
       +ttypedef struct vitemprop_t vitemprop_t;
       +struct vitemprop_t {
       +        vitemprop_t *next;
       +        vitemprop_t *prev;
       +
       +        char *name;
       +        char *params;
       +        char *value;
       +};
       +
       +ttypedef struct vitem_t vitem_t;
       +struct vitem_t {
       +        vitem_t *next;
       +        vitem_t *prev;
       +
       +        char *type;
       +
       +        vitemprop_t *props;
       +        vitemprop_t *lastp;
       +        int nprops;
       +};
       +
       +ttypedef struct vitems_t vitems_t;
       +struct vitems_t {
       +        vitem_t *first;
       +        vitem_t *last;
       +        int nitems;
       +
       +        vitemprop_t *headers;
       +        vitemprop_t *lasth;
       +        int nheaders;
       +};
       +
       +vitemprop_t *vitemprop_new(void);
       +void vitemprop_free(vitemprop_t *prop);
       +void vitemprop_print(vitemprop_t *prop);
       +
       +vitem_t *vitem_new(void);
       +void vitem_free(vitem_t *item);
       +void vitem_addprop(vitem_t *item, vitemprop_t *prop);
       +void vitem_print(vitem_t *item);
       +
       +vitems_t *vitems_new(void);
       +void vitems_free(vitems_t *vitems);
       +void vitems_addhdr(vitems_t *items, vitemprop_t *hdr);
       +void vitems_additem(vitems_t *items, vitem_t *item);
       +void vitems_print(vitems_t *items);
       +
       +vitems_t *vitems_read(int fd);
       +
       +#define forlist(first, elem) for (elem = first;\
       +                elem; elem = elem->next)
       +
       +#endif
       +
 (DIR) diff --git a/icaltest.c b/icaltest.c
       @@ -0,0 +1,38 @@
       +/*
       + * Copy me if you can.
       + * by 20h
       + */
       +
       +#include <unistd.h>
       +#include <stdio.h>
       +#include <stdlib.h>
       +#include <sys/types.h>
       +#include <sys/stat.h>
       +#include <fcntl.h>
       +
       +#include "ind.h"
       +#include "ical.h"
       +
       +int
       +main(int argc, char *argv[])
       +{
       +        int fd;
       +        vitems_t *items;
       +
       +        if (argc < 2) {
       +                fprintf(stderr, "usage: %s file.ics\n", argv[0]);
       +                return 1;
       +        }
       +
       +        fd = open(argv[1], O_RDONLY);
       +        items = vitems_read(fd);
       +        if (items == NULL)
       +                die("vitems_read failed\n");
       +
       +        vitems_print(items);
       +
       +        vitems_free(items);
       +
       +        return 0;
       +}
       +
 (DIR) diff --git a/ind.c b/ind.c
       @@ -0,0 +1,182 @@
       +/*
       + * Copy me if you can.
       + * by 20h
       + */
       +
       +#include <unistd.h>
       +#include <stdio.h>
       +#include <stdlib.h>
       +#include <stdarg.h>
       +#include <fcntl.h>
       +#include <string.h>
       +#include <strings.h>
       +#include <errno.h>
       +#include <ctype.h>
       +#include <sys/types.h>
       +#include <sys/stat.h>
       +#include <time.h>
       +
       +#include "ind.h"
       +
       +void
       +edie(char *fmt, ...)
       +{
       +        va_list fmtargs;
       +
       +        va_start(fmtargs, fmt);
       +        vfprintf(stderr, fmt, fmtargs);
       +        va_end(fmtargs);
       +        fprintf(stderr, ": ");
       +
       +        perror(NULL);
       +
       +        exit(1);
       +}
       +
       +void
       +die(char *fmt, ...)
       +{
       +        va_list fmtargs;
       +
       +        va_start(fmtargs, fmt);
       +        vfprintf(stderr, fmt, fmtargs);
       +        va_end(fmtargs);
       +
       +        exit(1);
       +}
       +
       +void *
       +reallocz(void *p, int l, int z)
       +{
       +        p = realloc(p, l);
       +        if(p == NULL)
       +                edie("realloc");
       +        if(z)
       +                memset(p, 0, l);
       +
       +        return p;
       +}
       +
       +void *
       +mallocz(int l, int z)
       +{
       +        return reallocz(NULL, l, z);
       +}
       +
       +void *
       +memdup(void *p, int l)
       +{
       +        char *ret;
       +
       +        ret = reallocz(NULL, l, 2);
       +        memmove(ret, p, l);
       +
       +        return (void *)ret;
       +}
       +
       +void *
       +memdupz(void *p, int l)
       +{
       +        char *ret;
       +
       +        ret = reallocz(NULL, l+1, 2);
       +        memmove(ret, p, l);
       +
       +        return (void *)ret;
       +}
       +
       +void *
       +memdupcat(void *p, int lp, void *c, int lc)
       +{
       +        p = reallocz(p, lp+lc, 0);
       +        memset(&((char *)p)[lp], 0, lc);
       +
       +        memmove(&((char *)p)[lp], c, lc);
       +
       +        return p;
       +}
       +
       +char *
       +vsmprintf(char *fmt, va_list fmtargs, int size)
       +{
       +        char *ret;
       +
       +        ret = reallocz(NULL, ++size, 2);
       +        vsnprintf(ret, size, fmt, fmtargs);
       +
       +        return ret;
       +}
       +
       +char *
       +smprintf(char *fmt, ...)
       +{
       +        va_list fmtargs;
       +        char *ret;
       +        int len;
       +
       +        va_start(fmtargs, fmt);
       +        len = vsnprintf(NULL, 0, fmt, fmtargs);
       +        va_end(fmtargs);
       +
       +        va_start(fmtargs, fmt);
       +        ret = vsmprintf(fmt, fmtargs, len);
       +        va_end(fmtargs);
       +
       +        return ret;
       +}
       +
       +char *
       +readtoeoffd(int fd, int *len)
       +{
       +        char *ret, buf[4096];
       +        int olen, nlen, rl;
       +
       +        for (nlen = 0, olen = 0, ret = NULL;
       +                        (rl = read(fd, buf, sizeof(buf))); olen = nlen) {
       +                if (rl > 0) {
       +                        nlen += rl;
       +                        ret = reallocz(ret, nlen+1, 0);
       +                        ret[nlen] = '\0';
       +
       +                        memmove(&ret[olen], buf, rl);
       +                }
       +        }
       +
       +        *len = nlen;
       +        return ret;
       +}
       +
       +char *
       +sgets(char *s, int size, char **p)
       +{
       +        char *np;
       +        int cl;
       +
       +        if (*p == NULL)
       +                return NULL;
       +
       +        np = strchr(*p, '\n');
       +        if (np == NULL) {
       +                cl = strlen(*p);
       +                if (cl < 1) {
       +                        *p = NULL;
       +                        return NULL;
       +                }
       +        } else {
       +                cl = np - *p;
       +        }
       +
       +        if (cl >= size)
       +                cl = size - 1;
       +        memmove(s, *p, cl);
       +        s[cl] = '\0';
       +
       +        if (np == NULL) {
       +                *p = NULL;
       +        } else {
       +                *p = np+1;
       +        }
       +
       +        return s;
       +}
       +
 (DIR) diff --git a/ind.h b/ind.h
       @@ -0,0 +1,28 @@
       +/*
       + * Copy me if you can.
       + * by 20h
       + */
       +
       +#ifndef __IND_H__
       +#define __IND_H__
       +
       +#include <stdio.h>
       +#include <stdarg.h>
       +#include <time.h>
       +
       +void die(char *fmt, ...);
       +void edie(char *fmt, ...);
       +void *reallocz(void *p, int l, int z);
       +void *mallocz(int l, int z);
       +void *memdup(void *p, int l);
       +void *memdupz(void *p, int l);
       +void *memdupcat(void *p, int lp, void *c, int lc);
       +char *vsmprintf(char *fmt, va_list fmtargs, int size);
       +char *smprintf(char *fmt, ...);
       +
       +char *readtoeoffd(int fd, int *len);
       +
       +char *sgets(char *s, int size, char **p);
       +
       +#endif
       +
 (DIR) diff --git a/rfc/rfc2445.txt b/rfc/rfc2445.txt
       @@ -0,0 +1,8291 @@
       +
       +
       +
       +
       +
       +
       +Network Working Group                                         F. Dawson
       +Request for Comments: 2445                                        Lotus
       +Category: Standards Track                                  D. Stenerson
       +                                                              Microsoft
       +                                                          November 1998
       +
       +
       +     Internet Calendaring and Scheduling Core Object Specification
       +                              (iCalendar)
       +
       +Status of this Memo
       +
       +   This document specifies an Internet standards track protocol for the
       +   Internet community, and requests discussion and suggestions for
       +   improvements.  Please refer to the current edition of the "Internet
       +   Official Protocol Standards" (STD 1) for the standardization state
       +   and status of this protocol.  Distribution of this memo is unlimited.
       +
       +Copyright Notice
       +
       +   Copyright (C) The Internet Society (1998).  All Rights Reserved.
       +
       +Abstract
       +
       +   There is a clear need to provide and deploy interoperable calendaring
       +   and scheduling services for the Internet. Current group scheduling
       +   and Personal Information Management (PIM) products are being extended
       +   for use across the Internet, today, in proprietary ways. This memo
       +   has been defined to provide the definition of a common format for
       +   openly exchanging calendaring and scheduling information across the
       +   Internet.
       +
       +   This memo is formatted as a registration for a MIME media type per
       +   [RFC 2048]. However, the format in this memo is equally applicable
       +   for use outside of a MIME message content type.
       +
       +   The proposed media type value is 'text/calendar'. This string would
       +   label a media type containing calendaring and scheduling information
       +   encoded as text characters formatted in a manner outlined below.
       +
       +   This MIME media type provides a standard content type for capturing
       +   calendar event, to-do and journal entry information. It also can be
       +   used to convey free/busy time information. The content type is
       +   suitable as a MIME message entity that can be transferred over MIME
       +   based email systems, using HTTP or some other Internet transport. In
       +
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                     [Page 1]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   addition, the content type is useful as an object for interactions
       +   between desktop applications using the operating system clipboard,
       +   drag/drop or file systems capabilities.
       +
       +   This memo is based on the earlier work of the vCalendar specification
       +   for the exchange of personal calendaring and scheduling information.
       +   In order to avoid confusion with this referenced work, this memo is
       +   to be known as the iCalendar specification.
       +
       +   This memo defines the format for specifying iCalendar object methods.
       +   An iCalendar object method is a set of usage constraints for the
       +   iCalendar object. For example, these methods might define scheduling
       +   messages that request an event be scheduled, reply to an event
       +   request, send a cancellation notice for an event, modify or replace
       +   the definition of an event, provide a counter proposal for an
       +   original event request, delegate an event request to another
       +   individual, request free or busy time, reply to a free or busy time
       +   request, or provide similar scheduling messages for a to-do or
       +   journal entry calendar component. The iCalendar Transport-indendent
       +   Interoperability Protocol (iTIP) defined in [ITIP] is one such
       +   scheduling protocol.
       +
       +Table of Contents
       +
       +   1 Introduction.....................................................5
       +   2 Basic Grammar and Conventions....................................6
       +    2.1 Formatting Conventions .......................................7
       +    2.2 Related Memos ................................................8
       +    2.3 International Considerations .................................8
       +   3 Registration Information.........................................8
       +    3.1 Content Type .................................................8
       +    3.2 Parameters ...................................................9
       +    3.3 Content Header Fields .......................................10
       +    3.4 Encoding Considerations .....................................10
       +    3.5 Security Considerations .....................................10
       +    3.6 Interoperability Considerations .............................11
       +    3.7 Applications Which Use This Media Type ......................11
       +    3.8 Additional Information ......................................11
       +    3.9 Magic Numbers ...............................................11
       +    3.10 File Extensions ............................................11
       +    3.11 Contact for Further Information: ...........................12
       +    3.12 Intended Usage .............................................12
       +    3.13 Authors/Change Controllers .................................12
       +   4 iCalendar Object Specification..................................13
       +    4.1 Content Lines ...............................................13
       +     4.1.1 List and Field Separators ................................16
       +     4.1.2 Multiple Values ..........................................16
       +     4.1.3 Binary Content ...........................................16
       +
       +
       +
       +Dawson & Stenerson          Standards Track                     [Page 2]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +     4.1.4 Character Set ............................................17
       +    4.2 Property Parameters .........................................17
       +     4.2.1 Alternate Text Representation ............................18
       +     4.2.2 Common Name ..............................................19
       +     4.2.3 Calendar User Type .......................................20
       +     4.2.4 Delegators ...............................................20
       +     4.2.5 Delegatees ...............................................21
       +     4.2.6 Directory Entry Reference ................................21
       +     4.2.7 Inline Encoding ..........................................22
       +     4.2.8 Format Type ..............................................23
       +     4.2.9 Free/Busy Time Type ......................................23
       +     4.2.10 Language ................................................24
       +     4.2.11 Group or List Membership ................................25
       +     4.2.12 Participation Status ....................................25
       +     4.2.13 Recurrence Identifier Range .............................27
       +     4.2.14 Alarm Trigger Relationship ..............................27
       +     4.2.15 Relationship Type .......................................28
       +     4.2.16 Participation Role ......................................29
       +     4.2.17 RSVP Expectation ........................................29
       +     4.2.18 Sent By .................................................30
       +     4.2.19 Time Zone Identifier ....................................30
       +     4.2.20 Value Data Types ........................................32
       +    4.3 Property Value Data Types ...................................32
       +     4.3.1 Binary ...................................................33
       +     4.3.2 Boolean ..................................................33
       +     4.3.3 Calendar User Address ....................................34
       +     4.3.4 Date .....................................................34
       +     4.3.5 Date-Time ................................................35
       +     4.3.6 Duration .................................................37
       +     4.3.7 Float ....................................................38
       +     4.3.8 Integer ..................................................38
       +     4.3.9 Period of Time ...........................................39
       +     4.3.10 Recurrence Rule .........................................40
       +     4.3.11 Text ....................................................45
       +     4.3.12 Time ....................................................47
       +     4.3.13 URI .....................................................49
       +     4.3.14 UTC Offset ..............................................49
       +    4.4 iCalendar Object ............................................50
       +    4.5 Property ....................................................51
       +    4.6 Calendar Components .........................................51
       +     4.6.1 Event Component ..........................................52
       +     4.6.2 To-do Component ..........................................55
       +     4.6.3 Journal Component ........................................56
       +     4.6.4 Free/Busy Component ......................................58
       +     4.6.5 Time Zone Component ......................................60
       +     4.6.6 Alarm Component ..........................................67
       +    4.7 Calendar Properties .........................................73
       +     4.7.1 Calendar Scale ...........................................73
       +
       +
       +
       +Dawson & Stenerson          Standards Track                     [Page 3]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +     4.7.2 Method ...................................................74
       +     4.7.3 Product Identifier .......................................75
       +     4.7.4 Version ..................................................76
       +    4.8 Component Properties ........................................77
       +     4.8.1 Descriptive Component Properties .........................77
       +       4.8.1.1 Attachment ...........................................77
       +       4.8.1.2 Categories ...........................................78
       +       4.8.1.3 Classification .......................................79
       +       4.8.1.4 Comment ..............................................80
       +       4.8.1.5 Description ..........................................81
       +       4.8.1.6 Geographic Position ..................................82
       +       4.8.1.7 Location .............................................84
       +       4.8.1.8 Percent Complete .....................................85
       +       4.8.1.9 Priority .............................................85
       +       4.8.1.10 Resources ...........................................87
       +       4.8.1.11 Status ..............................................88
       +       4.8.1.12 Summary .............................................89
       +     4.8.2 Date and Time Component Properties .......................90
       +       4.8.2.1 Date/Time Completed ..................................90
       +       4.8.2.2 Date/Time End ........................................91
       +       4.8.2.3 Date/Time Due ........................................92
       +       4.8.2.4 Date/Time Start ......................................93
       +       4.8.2.5 Duration .............................................94
       +       4.8.2.6 Free/Busy Time .......................................95
       +       4.8.2.7 Time Transparency ....................................96
       +     4.8.3 Time Zone Component Properties ...........................97
       +       4.8.3.1 Time Zone Identifier .................................97
       +       4.8.3.2 Time Zone Name .......................................98
       +       4.8.3.3 Time Zone Offset From ................................99
       +       4.8.3.4 Time Zone Offset To .................................100
       +       4.8.3.5 Time Zone URL .......................................101
       +     4.8.4 Relationship Component Properties .......................102
       +       4.8.4.1 Attendee ............................................102
       +       4.8.4.2 Contact .............................................104
       +       4.8.4.3 Organizer ...........................................106
       +       4.8.4.4 Recurrence ID .......................................107
       +       4.8.4.5 Related To ..........................................109
       +       4.8.4.6 Uniform Resource Locator ............................110
       +       4.8.4.7 Unique Identifier ...................................111
       +     4.8.5 Recurrence Component Properties .........................112
       +       4.8.5.1 Exception Date/Times ................................112
       +       4.8.5.2 Exception Rule ......................................114
       +       4.8.5.3 Recurrence Date/Times ...............................115
       +       4.8.5.4 Recurrence Rule .....................................117
       +     4.8.6 Alarm Component Properties ..............................126
       +       4.8.6.1 Action ..............................................126
       +       4.8.6.2 Repeat Count ........................................126
       +       4.8.6.3 Trigger .............................................127
       +
       +
       +
       +Dawson & Stenerson          Standards Track                     [Page 4]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +     4.8.7 Change Management Component Properties ..................129
       +       4.8.7.1 Date/Time Created ...................................129
       +       4.8.7.2 Date/Time Stamp .....................................130
       +       4.8.7.3 Last Modified .......................................131
       +       4.8.7.4 Sequence Number .....................................131
       +     4.8.8 Miscellaneous Component Properties ......................133
       +       4.8.8.1 Non-standard Properties .............................133
       +       4.8.8.2 Request Status ......................................134
       +   5 iCalendar Object Examples......................................136
       +   6 Recommended Practices..........................................140
       +   7 Registration of Content Type Elements..........................141
       +    7.1 Registration of New and Modified iCalendar Object Methods ..141
       +    7.2 Registration of New Properties .............................141
       +     7.2.1 Define the property .....................................142
       +     7.2.2 Post the Property definition ............................143
       +     7.2.3 Allow a comment period ..................................143
       +     7.2.4 Submit the property for approval ........................143
       +    7.3 Property Change Control ....................................143
       +   8 References.....................................................144
       +   9 Acknowledgments................................................145
       +   10 Authors' and Chairs' Addresses................................146
       +   11 Full Copyright Statement......................................148
       +
       +1 Introduction
       +
       +   The use of calendaring and scheduling has grown considerably in the
       +   last decade. Enterprise and inter-enterprise business has become
       +   dependent on rapid scheduling of events and actions using this
       +   information technology. However, the longer term growth of
       +   calendaring and scheduling, is currently limited by the lack of
       +   Internet standards for the message content types that are central to
       +   these knowledgeware applications. This memo is intended to progress
       +   the level of interoperability possible between dissimilar calendaring
       +   and scheduling applications. This memo defines a MIME content type
       +   for exchanging electronic calendaring and scheduling information. The
       +   Internet Calendaring and Scheduling Core Object Specification, or
       +   iCalendar, allows for the capture and exchange of information
       +   normally stored within a calendaring and scheduling application; such
       +   as a Personal Information Manager (PIM) or a Group Scheduling
       +   product.
       +
       +   The iCalendar format is suitable as an exchange format between
       +   applications or systems. The format is defined in terms of a MIME
       +   content type. This will enable the object to be exchanged using
       +   several transports, including but not limited to SMTP, HTTP, a file
       +   system, desktop interactive protocols such as the use of a memory-
       +   based clipboard or drag/drop interactions, point-to-point
       +   asynchronous communication, wired-network transport, or some form of
       +
       +
       +
       +Dawson & Stenerson          Standards Track                     [Page 5]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   unwired transport such as infrared might also be used.
       +
       +   The memo also provides for the definition of iCalendar object methods
       +   that will map this content type to a set of messages for supporting
       +   calendaring and scheduling operations such as requesting, replying
       +   to, modifying, and canceling meetings or appointments, to-dos and
       +   journal entries. The iCalendar object methods can be used to define
       +   other calendaring and scheduling operations such a requesting for and
       +   replying with free/busy time data. Such a scheduling protocol is
       +   defined in the iCalendar Transport-independent Interoperability
       +   Protocol (iTIP) defined in [ITIP].
       +
       +   The memo also includes a formal grammar for the content type based on
       +   the Internet ABNF defined in [RFC 2234]. This ABNF is required for
       +   the implementation of parsers and to serve as the definitive
       +   reference when ambiguities or questions arise in interpreting the
       +   descriptive prose definition of the memo.
       +
       +2 Basic Grammar and Conventions
       +
       +   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
       +   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY" and
       +   "OPTIONAL" in this document are to be interoperated as described in
       +   [RFC 2119].
       +
       +   This memo makes use of both a descriptive prose and a more formal
       +   notation for defining the calendaring and scheduling format.
       +
       +   The notation used in this memo is the ABNF notation of [RFC 2234].
       +   Readers intending on implementing this format defined in this memo
       +   should be familiar with this notation in order to properly interpret
       +   the specifications of this memo.
       +
       +   All numeric and hexadecimal values used in this memo are given in
       +   decimal notation.
       +
       +   All names of properties, property parameters, enumerated property
       +   values and property parameter values are case-insensitive. However,
       +   all other property values are case-sensitive, unless otherwise
       +   stated.
       +
       +        Note: All indented editorial notes, such as this one, are
       +        intended to provide the reader with additional information. The
       +        information is not essential to the building of an
       +        implementation conformant with this memo. The information is
       +        provided to highlight a particular feature or characteristic of
       +        the memo.
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                     [Page 6]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   The format for the iCalendar object is based on the syntax of the
       +   [RFC 2425] content type. While the iCalendar object is not a profile
       +   of the [RFC 2425] content type, it does reuse a number of the
       +   elements from the [RFC 2425] specification.
       +
       +2.1 Formatting Conventions
       +
       +   The mechanisms defined in this memo are defined in prose. Many of the
       +   terms used to describe these have common usage that is different than
       +   the standards usage of this memo. In order to reference within this
       +   memo elements of the calendaring and scheduling model, core object
       +   (this memo) or interoperability protocol [ITIP] some formatting
       +   conventions have been used. Calendaring and scheduling roles are
       +   referred to in quoted-strings of text with the first character of
       +   each word in upper case. For example, "Organizer" refers to a role of
       +   a "Calendar User" within the scheduling protocol defined by [ITIP].
       +   Calendar components defined by this memo are referred to with
       +   capitalized, quoted-strings of text. All calendar components start
       +   with the letter "V". For example, "VEVENT" refers to the event
       +   calendar component, "VTODO" refers to the to-do calendar component
       +   and "VJOURNAL" refers to the daily journal calendar component.
       +   Scheduling methods defined by [ITIP] are referred to with
       +   capitalized, quoted-strings of text. For example, "REQUEST" refers to
       +   the method for requesting a scheduling calendar component be created
       +   or modified, "REPLY" refers to the method a recipient of a request
       +   uses to update their status with the "Organizer" of the calendar
       +   component.
       +
       +   The properties defined by this memo are referred to with capitalized,
       +   quoted-strings of text, followed by the word "property". For example,
       +   "ATTENDEE" property refers to the iCalendar property used to convey
       +   the calendar address of a calendar user. Property parameters defined
       +   by this memo are referred to with lowercase, quoted-strings of text,
       +   followed by the word "parameter". For example, "value" parameter
       +   refers to the iCalendar property parameter used to override the
       +   default data type for a property value. Enumerated values defined by
       +   this memo are referred to with capitalized text, either alone or
       +   followed by the word "value". For example, the "MINUTELY" value can
       +   be used with the "FREQ" component of the "RECUR" data type to specify
       +   repeating components based on an interval of one minute or more.
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                     [Page 7]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +2.2 Related Memos
       +
       +   Implementers will need to be familiar with several other memos that,
       +   along with this memo, form a framework for Internet calendaring and
       +   scheduling standards. This memo, [ICAL], specifies a core
       +   specification of objects, data types, properties and property
       +   parameters.
       +
       +   [ITIP] - specifies an interoperability protocol for scheduling
       +   between different implementations;
       +
       +   [IMIP] specifies an Internet email binding for [ITIP].
       +
       +   This memo does not attempt to repeat the specification of concepts or
       +   definitions from these other memos. Where possible, references are
       +   made to the memo that provides for the specification of these
       +   concepts or definitions.
       +
       +2.3 International Considerations
       +
       +   In the rest of this document, descriptions of characters are of the
       +   form "character name (codepoint)", where "codepoint" is from the US-
       +   ASCII character set. The "character name" is the authoritative
       +   description; (codepoint) is a reference to that character in US-ASCII
       +   or US-ASCII compatible sets (for example the ISO-8859-x family, UTF-
       +   8, ISO-2022-xx, KOI8-R). If a non-US-ASCII compatible character set
       +   is used, appropriate code-point from that character set MUST be
       +   chosen instead. Use of non-US-ASCII-compatible character sets is NOT
       +   recommended.
       +
       +3  Registration Information
       +
       +   The Calendaring and Scheduling Core Object Specification is intended
       +   for use as a MIME content type. However, the implementation of the
       +   memo is in no way limited solely as a MIME content type.
       +
       +3.1 Content Type
       +
       +   The following text is intended to register this memo as the MIME
       +   content type "text/calendar".
       +
       +     To: ietf-types@uninett.no
       +
       +     Subject: Registration of MIME content type text/calendar.
       +
       +     MIME media type name: text
       +
       +     MIME subtype name: calendar
       +
       +
       +
       +Dawson & Stenerson          Standards Track                     [Page 8]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +3.2 Parameters
       +
       +   Required parameters: none
       +
       +   Optional parameters: charset, method, component and optinfo
       +
       +   The "charset" parameter is defined in [RFC 2046] for other body
       +   parts. It is used to identify the default character set used within
       +   the body part.
       +
       +   The "method" parameter is used to convey the iCalendar object method
       +   or transaction semantics for the calendaring and scheduling
       +   information. It also is an identifier for the restricted set of
       +   properties and values that the iCalendar object consists of. The
       +   parameter is to be used as a guide for applications interpreting the
       +   information contained within the body part. It SHOULD NOT be used to
       +   exclude or require particular pieces of information unless the
       +   identified method definition specifically calls for this behavior.
       +   Unless specifically forbidden by a particular method definition, a
       +   text/calendar content type can contain any set of properties
       +   permitted by the Calendaring and Scheduling Core Object
       +   Specification. The "method" parameter MUST be the same value as that
       +   specified in the "METHOD" component property in the iCalendar object.
       +   If one is present, the other MUST also be present.
       +
       +   The value for the "method" parameter is defined as follows:
       +
       +        method  = 1*(ALPHA / DIGIT / "-")
       +        ; IANA registered iCalendar object method
       +
       +   The "component" parameter conveys the type of iCalendar calendar
       +   component within the body part. If the iCalendar object contains more
       +   than one calendar component type, then multiple component parameters
       +   MUST be specified.
       +
       +   The value for the "component" parameter is defined as follows:
       +
       +        component       = ("VEVENT" / "VTODO" / "VJOURNAL" / "VFREEBUSY"
       +                        / "VTIMEZONE" / x-name / iana-token)
       +
       +   The "optinfo" parameter conveys optional information about the
       +   iCalendar object within the body part. This parameter can only
       +   specify semantics already specified by the iCalendar object and that
       +   can be otherwise determined by parsing the body part. In addition,
       +   the optional information specified by this parameter MUST be
       +   consistent with that information specified by the iCalendar object.
       +   For example, it can be used to convey the "Attendee" response status
       +   to a meeting request. The parameter value consists of a string value.
       +
       +
       +
       +Dawson & Stenerson          Standards Track                     [Page 9]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   The parameter can be specified multiple times.
       +
       +   This parameter MAY only specify semantics already specified by the
       +   iCalendar object and that can be otherwise determined by parsing the
       +   body part.
       +
       +   The value for the "optinfo" parameter is defined as follows:
       +
       +        optinfo = infovalue / qinfovalue
       +
       +        infovalue       = iana-token / x-name
       +
       +        qinfovalue      = DQUOTE (infovalue) DQUOTE
       +
       +3.3 Content Header Fields
       +
       +   Optional content header fields: Any header fields defined by [RFC
       +   2045].
       +
       +3.4 Encoding Considerations
       +
       +   This MIME content type can contain 8bit characters, so the use of
       +   quoted-printable or BASE64 MIME content-transfer-encodings might be
       +   necessary when iCalendar objects are transferred across protocols
       +   restricted to the 7bit repertoire. Note that a text valued property
       +   in the content entity can also have content encoding of special
       +   characters using a BACKSLASH character (US-ASCII decimal 92)
       +   escapement technique. This means that content values can end up
       +   encoded twice.
       +
       +3.5 Security Considerations
       +
       +   SPOOFING - - In this memo, the "Organizer" is the only person
       +   authorized to make changes to an existing "VEVENT", "VTODO",
       +   "VJOURNAL" calendar component and redistribute the updates to the
       +   "Attendees". An iCalendar object that maliciously changes or cancels
       +   an existing "VEVENT", "VTODO" or "VJOURNAL" or "VFREEBUSY" calendar
       +   component might be constructed by someone other than the "Organizer"
       +   and sent to the "Attendees". In addition in this memo, other than the
       +   "Organizer", an "Attendee" of a "VEVENT", "VTODO", "VJOURNAL"
       +   calendar component is the only other person authorized to update any
       +   parameter associated with their "ATTENDEE" property and send it to
       +   the "Organizer". An iCalendar object that maliciously changes the
       +   "ATTENDEE" parameters can be constructed by someone other than the
       +   real "Attendee" and sent to the "Organizer".
       +
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 10]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   PROCEDURAL ALARMS - - An iCalendar object can be created that
       +   contains a "VEVENT" and "VTODO" calendar component with "VALARM"
       +   calendar components. The "VALARM" calendar component can be of type
       +   PROCEDURE and can have an attachment containing some sort of
       +   executable program. Implementations that incorporate these types of
       +   alarms are subject to any virus or malicious attack that might occur
       +   as a result of executing the attachment.
       +
       +   ATTACHMENTS - - An iCalendar object can include references to Uniform
       +   Resource Locators that can be programmed resources.
       +
       +   Implementers and users of this memo should be aware of the network
       +   security implications of accepting and parsing such information. In
       +   addition, the security considerations observed by implementations of
       +   electronic mail systems should be followed for this memo.
       +
       +3.6 Interoperability Considerations
       +
       +   This MIME content type is intended to define a common format for
       +   conveying calendaring and scheduling information between different
       +   systems. It is heavily based on the earlier [VCAL] industry
       +   specification.
       +
       +3.7 Applications Which Use This Media Type
       +
       +   This content-type is designed for widespread use by Internet
       +   calendaring and scheduling applications. In addition, applications in
       +   the workflow and document management area might find this content-
       +   type applicable. The [ITIP] and [IMIP] Internet protocols directly
       +   use this content-type also. Future work on an Internet calendar
       +   access protocol will utilize this content-type too.
       +
       +3.8 Additional Information
       +
       +   This memo defines this content-type.
       +
       +3.9 Magic Numbers
       +
       +   None.
       +
       +3.10 File Extensions
       +
       +   The file extension of "ics" is to be used to designate a file
       +   containing (an arbitrary set of) calendaring and scheduling
       +   information consistent with this MIME content type.
       +
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 11]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   The file extension of "ifb" is to be used to designate a file
       +   containing free or busy time information consistent with this MIME
       +   content type.
       +
       +   Macintosh file type codes: The file type code of "iCal" is to be used
       +   in Apple MacIntosh operating system environments to designate a file
       +   containing calendaring and scheduling information consistent with
       +   this MIME media type.
       +
       +   The file type code of "iFBf" is to be used in Apple MacIntosh
       +   operating system environments to designate a file containing free or
       +   busy time information consistent with this MIME media type.
       +
       +3.11 Contact for Further Information:
       +
       +   Frank Dawson
       +   6544 Battleford Drive
       +   Raleigh, NC 27613-3502
       +   919-676-9515 (Telephone)
       +   919-676-9564 (Data/Facsimile)
       +   Frank_Dawson@Lotus.com (Internet Mail)
       +
       +   Derik Stenerson
       +   One Microsoft Way
       +   Redmond, WA  98052-6399
       +   425-936-5522 (Telephone)
       +   425-936-7329 (Facsimile)
       +   deriks@microsoft.com (Internet Mail)
       +
       +3.12 Intended Usage
       +
       +   COMMON
       +
       +3.13 Authors/Change Controllers
       +
       +   Frank Dawson
       +   6544 Battleford Drive
       +   Raleigh, NC 27613-3502
       +   919-676-9515 (Telephone)
       +   919-676-9564 (Data/Facsimile)
       +   Frank_Dawson@Lotus.com (Internet Mail)
       +
       +   Derik Stenerson
       +   One Microsoft Way
       +   Redmond, WA  98052-6399
       +   425-936-5522 (Telephone)
       +   425-936-7329 (Facsimile)
       +   deriks@microsoft.com (Internet Mail)
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 12]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +4 iCalendar Object Specification
       +
       +   The following sections define the details of a Calendaring and
       +   Scheduling Core Object Specification. This information is intended to
       +   be an integral part of the MIME content type registration. In
       +   addition, this information can be used independent of such content
       +   registration. In particular, this memo has direct applicability for
       +   use as a calendaring and scheduling exchange format in file-, memory-
       +   or network-based transport mechanisms.
       +
       +4.1 Content Lines
       +
       +   The iCalendar object is organized into individual lines of text,
       +   called content lines. Content lines are delimited by a line break,
       +   which is a CRLF sequence (US-ASCII decimal 13, followed by US-ASCII
       +   decimal 10).
       +
       +   Lines of text SHOULD NOT be longer than 75 octets, excluding the line
       +   break. Long content lines SHOULD be split into a multiple line
       +   representations using a line "folding" technique. That is, a long
       +   line can be split between any two characters by inserting a CRLF
       +   immediately followed by a single linear white space character (i.e.,
       +   SPACE, US-ASCII decimal 32 or HTAB, US-ASCII decimal 9). Any sequence
       +   of CRLF followed immediately by a single linear white space character
       +   is ignored (i.e., removed) when processing the content type.
       +
       +   For example the line:
       +
       +     DESCRIPTION:This is a long description that exists on a long line.
       +
       +   Can be represented as:
       +
       +     DESCRIPTION:This is a lo
       +      ng description
       +       that exists on a long line.
       +
       +   The process of moving from this folded multiple line representation
       +   to its single line representation is called "unfolding". Unfolding is
       +   accomplished by removing the CRLF character and the linear white
       +   space character that immediately follows.
       +
       +   When parsing a content line, folded lines MUST first be unfolded
       +   according to the unfolding procedure described above. When generating
       +   a content line, lines longer than 75 octets SHOULD be folded
       +   according to the folding procedure described above.
       +
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 13]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   The content information associated with an iCalendar object is
       +   formatted using a syntax similar to that defined by [RFC 2425]. That
       +   is, the content information consists of CRLF-separated content lines.
       +
       +   The following notation defines the lines of content in an iCalendar
       +   object:
       +
       +     contentline        = name *(";" param ) ":" value CRLF
       +        ; This ABNF is just a general definition for an initial parsing
       +        ; of the content line into its property name, parameter list,
       +        ; and value string
       +
       +     ; When parsing a content line, folded lines MUST first
       +        ; be unfolded according to the unfolding procedure
       +        ; described above. When generating a content line, lines
       +        ; longer than 75 octets SHOULD be folded according to
       +        ; the folding procedure described above.
       +
       +     name               = x-name / iana-token
       +
       +     iana-token = 1*(ALPHA / DIGIT / "-")
       +     ; iCalendar identifier registered with IANA
       +
       +     x-name             = "X-" [vendorid "-"] 1*(ALPHA / DIGIT / "-")
       +     ; Reservered for experimental use. Not intended for use in
       +     ; released products.
       +
       +     vendorid   = 3*(ALPHA / DIGIT)     ;Vendor identification
       +
       +     param              = param-name "=" param-value
       +                          *("," param-value)
       +        ; Each property defines the specific ABNF for the parameters
       +        ; allowed on the property. Refer to specific properties for
       +        ; precise parameter ABNF.
       +
       +     param-name = iana-token / x-token
       +
       +     param-value        = paramtext / quoted-string
       +
       +     paramtext  = *SAFE-CHAR
       +
       +     value      = *VALUE-CHAR
       +
       +     quoted-string      = DQUOTE *QSAFE-CHAR DQUOTE
       +
       +     NON-US-ASCII       = %x80-F8
       +     ; Use restricted by charset parameter
       +     ; on outer MIME object (UTF-8 preferred)
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 14]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +     QSAFE-CHAR = WSP / %x21 / %x23-7E / NON-US-ASCII
       +     ; Any character except CTLs and DQUOTE
       +
       +     SAFE-CHAR  = WSP / %x21 / %x23-2B / %x2D-39 / %x3C-7E
       +                / NON-US-ASCII
       +     ; Any character except CTLs, DQUOTE, ";", ":", ","
       +
       +     VALUE-CHAR = WSP / %x21-7E / NON-US-ASCII
       +     ; Any textual character
       +
       +     CR = %x0D
       +     ; carriage return
       +
       +     LF = %x0A
       +     ; line feed
       +
       +     CRLF       = CR LF
       +     ; Internet standard newline
       +
       +     CTL        = %x00-08 / %x0A-1F / %x7F
       +        ; Controls
       +
       +     ALPHA      = %x41-5A / %x61-7A   ; A-Z / a-z
       +
       +     DIGIT      = %x30-39
       +        ; 0-9
       +
       +     DQUOTE     = %x22
       +        ; Quotation Mark
       +
       +     WSP        = SPACE / HTAB
       +
       +     SPACE      = %x20
       +
       +     HTAB       = %x09
       +
       +   The property value component of a content line has a format that is
       +   property specific. Refer to the section describing each property for
       +   a definition of this format.
       +
       +   All names of properties, property parameters, enumerated property
       +   values and property parameter values are case-insensitive. However,
       +   all other property values are case-sensitive, unless otherwise
       +   stated.
       +
       +
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 15]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +4.1.1 List and Field Separators
       +
       +   Some properties and parameters allow a list of values. Values in a
       +   list of values MUST be separated by a COMMA character (US-ASCII
       +   decimal 44). There is no significance to the order of values in a
       +   list. For those parameter values (such as those that specify URI
       +   values) that are specified in quoted-strings, the individual quoted-
       +   strings are separated by a COMMA character (US-ASCII decimal 44).
       +
       +   Some property values are defined in terms of multiple parts. These
       +   structured property values MUST have their value parts separated by a
       +   SEMICOLON character (US-ASCII decimal 59).
       +
       +   Some properties allow a list of parameters. Each property parameter
       +   in a list of property parameters MUST be separated by a SEMICOLON
       +   character (US-ASCII decimal 59).
       +
       +   Property parameters with values containing a COLON, a SEMICOLON or a
       +   COMMA character MUST be placed in quoted text.
       +
       +   For example, in the following properties a SEMICOLON is used to
       +   separate property parameters from each other, and a COMMA is used to
       +   separate property values in a value list.
       +
       +     ATTENDEE;RSVP=TRUE;ROLE=REQ-PARTICIPANT:MAILTO:
       +      jsmith@host.com
       +
       +     RDATE;VALUE=DATE:19970304,19970504,19970704,19970904
       +
       +4.1.2 Multiple Values
       +
       +   Some properties defined in the iCalendar object can have multiple
       +   values. The general rule for encoding multi-valued items is to simply
       +   create a new content line for each value, including the property
       +   name. However, it should be noted that some properties support
       +   encoding multiple values in a single property by separating the
       +   values with a COMMA character (US-ASCII decimal 44). Individual
       +   property definitions should be consulted for determining whether a
       +   specific property allows multiple values and in which of these two
       +   forms.
       +
       +4.1.3 Binary Content
       +
       +   Binary content information in an iCalendar object SHOULD be
       +   referenced using a URI within a property value. That is the binary
       +   content information SHOULD be placed in an external MIME entity that
       +   can be referenced by a URI from within the iCalendar object. In
       +   applications where this is not feasible, binary content information
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 16]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   can be included within an iCalendar object, but only after first
       +   encoding it into text using the "BASE64" encoding method defined in
       +   [RFC 2045]. Inline binary contact SHOULD only be used in applications
       +   whose special circumstances demand that an iCalendar object be
       +   expressed as a single entity. A property containing inline binary
       +   content information MUST specify the "ENCODING" property parameter.
       +   Binary content information placed external to the iCalendar object
       +   MUST be referenced by a uniform resource identifier (URI).
       +
       +   The following example specifies an "ATTACH" property that references
       +   an attachment external to the iCalendar object with a URI reference:
       +
       +     ATTACH:http://xyz.com/public/quarterly-report.doc
       +
       +   The following example specifies an "ATTACH" property with inline
       +   binary encoded content information:
       +
       +     ATTACH;FMTTYPE=image/basic;ENCODING=BASE64;VALUE=BINARY:
       +      MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcNAQEEBQAwdzELMAkGA1U
       +      EBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bmljYXRpb25zIE
       +        <...remainder of "BASE64" encoded binary data...>
       +
       +4.1.4 Character Set
       +
       +   There is not a property parameter to declare the character set used
       +   in a property value. The default character set for an iCalendar
       +   object is UTF-8 as defined in [RFC 2279].
       +
       +   The "charset" Content-Type parameter can be used in MIME transports
       +   to specify any other IANA registered character set.
       +
       +4.2 Property Parameters
       +
       +   A property can have attributes associated with it. These "property
       +   parameters" contain meta-information about the property or the
       +   property value. Property parameters are provided to specify such
       +   information as the location of an alternate text representation for a
       +   property value, the language of a text property value, the data type
       +   of the property value and other attributes.
       +
       +   Property parameter values that contain the COLON (US-ASCII decimal
       +   58), SEMICOLON (US-ASCII decimal 59) or COMMA (US-ASCII decimal 44)
       +   character separators MUST be specified as quoted-string text values.
       +   Property parameter values MUST NOT contain the DOUBLE-QUOTE (US-ASCII
       +   decimal 22) character. The DOUBLE-QUOTE (US-ASCII decimal 22)
       +   character is used as a delimiter for parameter values that contain
       +   restricted characters or URI text. For example:
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 17]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +     DESCRIPTION;ALTREP="http://www.wiz.org":The Fall'98 Wild Wizards
       +       Conference - - Las Vegas, NV, USA
       +
       +   Property parameter values that are not in quoted strings are case
       +   insensitive.
       +
       +   The general property parameters defined by this memo are defined by
       +   the following notation:
       +
       +     parameter  = altrepparam           ; Alternate text representation
       +                / cnparam               ; Common name
       +                / cutypeparam           ; Calendar user type
       +                / delfromparam          ; Delegator
       +                / deltoparam            ; Delegatee
       +                / dirparam              ; Directory entry
       +                / encodingparam         ; Inline encoding
       +                / fmttypeparam          ; Format type
       +                / fbtypeparam           ; Free/busy time type
       +                / languageparam         ; Language for text
       +                / memberparam           ; Group or list membership
       +                / partstatparam         ; Participation status
       +                / rangeparam            ; Recurrence identifier range
       +                / trigrelparam          ; Alarm trigger relationship
       +                / reltypeparam          ; Relationship type
       +                / roleparam             ; Participation role
       +                / rsvpparam             ; RSVP expectation
       +                / sentbyparam           ; Sent by
       +                / tzidparam             ; Reference to time zone object
       +                / valuetypeparam        ; Property value data type
       +                / ianaparam
       +        ; Some other IANA registered iCalendar parameter.
       +                / xparam
       +        ; A non-standard, experimental parameter.
       +
       +     ianaparam  = iana-token "=" param-value *("," param-value)
       +
       +     xparam     =x-name "=" param-value *("," param-value)
       +
       +4.2.1 Alternate Text Representation
       +
       +   Parameter Name: ALTREP
       +
       +   Purpose: To specify an alternate text representation for the property
       +   value.
       +
       +   Format Definition: The property parameter is defined by the following
       +   notation:
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 18]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +     altrepparam        = "ALTREP" "=" DQUOTE uri DQUOTE
       +
       +   Description: The parameter specifies a URI that points to an
       +   alternate representation for a textual property value. A property
       +   specifying this parameter MUST also include a value that reflects the
       +   default representation of the text value. The individual URI
       +   parameter values MUST each be specified in a quoted-string.
       +
       +   Example:
       +
       +     DESCRIPTION;ALTREP="CID:<part3.msg.970415T083000@host.com>":Project
       +       XYZ Review Meeting will include the following agenda items: (a)
       +       Market Overview, (b) Finances, (c) Project Management
       +
       +   The "ALTREP" property parameter value might point to a "text/html"
       +   content portion.
       +
       +     Content-Type:text/html
       +     Content-Id:<part3.msg.970415T083000@host.com>
       +
       +     <html><body>
       +     <p><b>Project XYZ Review Meeting</b> will include the following
       +     agenda items:<ol><li>Market
       +     Overview</li><li>Finances</li><li>Project Management</li></ol></p>
       +     </body></html>
       +
       +4.2.2 Common Name
       +
       +   Parameter Name: CN
       +
       +   Purpose: To specify the common name to be associated with the
       +   calendar user specified by the property.
       +
       +   Format Definition: The property parameter is defined by the following
       +   notation:
       +
       +     cnparam    = "CN" "=" param-value
       +
       +   Description: This parameter can be specified on properties with a
       +   CAL-ADDRESS value type. The parameter specifies the common name to be
       +   associated with the calendar user specified by the property. The
       +   parameter value is text. The parameter value can be used for display
       +   text to be associated with the calendar address specified by the
       +   property.
       +
       +
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 19]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   Example:
       +
       +     ORGANIZER;CN="John Smith":MAILTO:jsmith@host.com
       +
       +4.2.3 Calendar User Type
       +
       +   Parameter Name: CUTYPE
       +
       +   Purpose: To specify the type of calendar user specified by the
       +   property.
       +
       +   Format Definition: The property parameter is defined by the following
       +   notation:
       +
       +     cutypeparam        = "CUTYPE" "="
       +                         ("INDIVIDUAL"          ; An individual
       +                        / "GROUP"               ; A group of individuals
       +                        / "RESOURCE"            ; A physical resource
       +                        / "ROOM"                ; A room resource
       +                        / "UNKNOWN"             ; Otherwise not known
       +                        / x-name                ; Experimental type
       +                        / iana-token)           ; Other IANA registered
       +                                                ; type
       +     ; Default is INDIVIDUAL
       +
       +   Description: This parameter can be specified on properties with a
       +   CAL-ADDRESS value type. The parameter identifies the type of calendar
       +   user specified by the property. If not specified on a property that
       +   allows this parameter, the default is INDIVIDUAL.
       +
       +   Example:
       +
       +     ATTENDEE;CUTYPE=GROUP:MAILTO:ietf-calsch@imc.org
       +
       +4.2.4 Delegators
       +
       +   Parameter Name: DELEGATED-FROM
       +
       +   Purpose: To specify the calendar users that have delegated their
       +   participation to the calendar user specified by the property.
       +
       +   Format Definition: The property parameter is defined by the following
       +   notation:
       +
       +     delfromparam       = "DELEGATED-FROM" "=" DQUOTE cal-address DQUOTE
       +                          *("," DQUOTE cal-address DQUOTE)
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 20]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   Description: This parameter can be specified on properties with a
       +   CAL-ADDRESS value type. This parameter can be specified on a property
       +   that has a value type of calendar address. This parameter specifies
       +   those calendar uses that have delegated their participation in a
       +   group scheduled event or to-do to the calendar user specified by the
       +   property. The value MUST be a MAILTO URI as defined in [RFC 1738].
       +   The individual calendar address parameter values MUST each be
       +   specified in a quoted-string.
       +
       +   Example:
       +
       +     ATTENDEE;DELEGATED-FROM="MAILTO:jsmith@host.com":MAILTO:
       +      jdoe@host.com
       +
       +4.2.5 Delegatees
       +
       +   Parameter Name: DELEGATED-TO
       +
       +   Purpose: To specify the calendar users to whom the calendar user
       +   specified by the property has delegated participation.
       +
       +   Format Definition: The property parameter is defined by the following
       +   notation:
       +
       +     deltoparam = "DELEGATED-TO" "=" DQUOTE cal-address DQUOTE
       +                  *("," DQUOTE cal-address DQUOTE)
       +
       +   Description: This parameter can be specified on properties with a
       +   CAL-ADDRESS value type. This parameter specifies those calendar users
       +   whom have been delegated participation in a group scheduled event or
       +   to-do by the calendar user specified by the property. The value MUST
       +   be a MAILTO URI as defined in [RFC 1738]. The individual calendar
       +   address parameter values MUST each be specified in a quoted-string.
       +
       +   Example:
       +
       +     ATTENDEE;DELEGATED-TO="MAILTO:jdoe@host.com","MAILTO:jqpublic@
       +      host.com":MAILTO:jsmith@host.com
       +
       +4.2.6 Directory Entry Reference
       +
       +   Parameter Name: DIR
       +
       +   Purpose: To specify reference to a directory entry associated with
       +   the calendar user specified by the property.
       +
       +   Format Definition: The property parameter is defined by the following
       +   notation:
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 21]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +     dirparam   = "DIR" "=" DQUOTE uri DQUOTE
       +
       +   Description: This parameter can be specified on properties with a
       +   CAL-ADDRESS value type. The parameter specifies a reference to the
       +   directory entry associated with the calendar user specified by the
       +   property. The parameter value is a URI. The individual URI parameter
       +   values MUST each be specified in a quoted-string.
       +
       +   Example:
       +
       +     ORGANIZER;DIR="ldap://host.com:6666/o=eDABC%20Industries,c=3DUS??
       +      (cn=3DBJim%20Dolittle)":MAILTO:jimdo@host1.com
       +
       +4.2.7 Inline Encoding
       +
       +   Parameter Name: ENCODING
       +
       +   Purpose: To specify an alternate inline encoding for the property
       +   value.
       +
       +   Format Definition: The property parameter is defined by the following
       +   notation:
       +
       +     encodingparam      = "ENCODING" "="
       +                          ("8BIT"
       +        ; "8bit" text encoding is defined in [RFC 2045]
       +                        / "BASE64"
       +        ; "BASE64" binary encoding format is defined in [RFC 2045]
       +                        / iana-token
       +        ; Some other IANA registered iCalendar encoding type
       +                        / x-name)
       +        ; A non-standard, experimental encoding type
       +
       +   Description: The property parameter identifies the inline encoding
       +   used in a property value. The default encoding is "8BIT",
       +   corresponding to a property value consisting of text. The "BASE64"
       +   encoding type corresponds to a property value encoded using the
       +   "BASE64" encoding defined in [RFC 2045].
       +
       +   If the value type parameter is ";VALUE=BINARY", then the inline
       +   encoding parameter MUST be specified with the value
       +   ";ENCODING=BASE64".
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 22]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   Example:
       +
       +     ATTACH;FMTYPE=IMAGE/JPEG;ENCODING=BASE64;VALUE=BINARY:MIICajC
       +      CAdOgAwIBAgICBEUwDQYJKoZIhvcNAQEEBQAwdzELMAkGA1UEBhMCVVMxLDA
       +      qBgNVBAoTI05ldHNjYXBlIENvbW11bmljYXRpb25zIENvcnBvcmF0aW9uMRw
       +      <...remainder of "BASE64" encoded binary data...>
       +
       +4.2.8 Format Type
       +
       +   Parameter Name: FMTTYPE
       +
       +   Purpose: To specify the content type of a referenced object.
       +
       +   Format Definition: The property parameter is defined by the following
       +   notation:
       +
       +     fmttypeparam       = "FMTTYPE" "=" iana-token
       +                                        ; A IANA registered content type
       +                                     / x-name
       +                                        ; A non-standard content type
       +
       +   Description: This parameter can be specified on properties that are
       +   used to reference an object. The parameter specifies the content type
       +   of the referenced object. For example, on the "ATTACH" property, a
       +   FTP type URI value does not, by itself, necessarily convey the type
       +   of content associated with the resource. The parameter value MUST be
       +   the TEXT for either an IANA registered content type or a non-standard
       +   content type.
       +
       +     Example:
       +
       +      ATTACH;FMTTYPE=application/binary:ftp://domain.com/pub/docs/
       +       agenda.doc
       +
       +4.2.9 Free/Busy Time Type
       +
       +   Parameter Name: FBTYPE
       +
       +   Purpose: To specify the free or busy time type.
       +
       +   Format Definition: The property parameter is defined by the following
       +   notation:
       +
       +     fbtypeparam        = "FBTYPE" "=" ("FREE" / "BUSY"
       +                        / "BUSY-UNAVAILABLE" / "BUSY-TENTATIVE"
       +                        / x-name
       +        ; Some experimental iCalendar data type.
       +                        / iana-token)
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 23]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +        ; Some other IANA registered iCalendar data type.
       +
       +   Description: The parameter specifies the free or busy time type. The
       +   value FREE indicates that the time interval is free for scheduling.
       +   The value BUSY indicates that the time interval is busy because one
       +   or more events have been scheduled for that interval. The value
       +   BUSY-UNAVAILABLE indicates that the time interval is busy and that
       +   the interval can not be scheduled. The value BUSY-TENTATIVE indicates
       +   that the time interval is busy because one or more events have been
       +   tentatively scheduled for that interval. If not specified on a
       +   property that allows this parameter, the default is BUSY.
       +
       +   Example: The following is an example of this parameter on a FREEBUSY
       +   property.
       +
       +     FREEBUSY;FBTYPE=BUSY:19980415T133000Z/19980415T170000Z
       +
       +4.2.10 Language
       +
       +   Parameter Name: LANGUAGE
       +
       +   Purpose: To specify the language for text values in a property or
       +   property parameter.
       +
       +   Format Definition: The property parameter is defined by the following
       +   notation:
       +
       +     languageparam =    "LANGUAGE" "=" language
       +
       +     language = <Text identifying a language, as defined in [RFC 1766]>
       +
       +   Description: This parameter can be specified on properties with a
       +   text value type. The parameter identifies the language of the text in
       +   the property or property parameter value. The value of the "language"
       +   property parameter is that defined in [RFC 1766].
       +
       +   For transport in a MIME entity, the Content-Language header field can
       +   be used to set the default language for the entire body part.
       +   Otherwise, no default language is assumed.
       +
       +   Example:
       +
       +     SUMMARY;LANGUAGE=us-EN:Company Holiday Party
       +
       +     LOCATION;LANGUAGE=en:Germany
       +     LOCATION;LANGUAGE=no:Tyskland
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 24]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   The following example makes use of the Quoted-Printable encoding in
       +   order to represent non-ASCII characters.
       +
       +     LOCATION;LANGUAGE=da:K=F8benhavn
       +     LOCATION;LANGUAGE=en:Copenhagen
       +
       +4.2.11  Group or List Membership
       +
       +   Parameter Name: MEMBER
       +
       +   Purpose: To specify the group or list membership of the calendar user
       +   specified by the property.
       +
       +   Format Definition: The property parameter is defined by the following
       +   notation:
       +
       +     memberparam        = "MEMBER" "=" DQUOTE cal-address DQUOTE
       +                          *("," DQUOTE cal-address DQUOTE)
       +
       +   Description: This parameter can be specified on properties with a
       +   CAL-ADDRESS value type. The parameter identifies the groups or list
       +   membership for the calendar user specified by the property. The
       +   parameter value either a single calendar address in a quoted-string
       +   or a COMMA character (US-ASCII decimal 44) list of calendar
       +   addresses, each in a quoted-string. The individual calendar address
       +   parameter values MUST each be specified in a quoted-string.
       +
       +   Example:
       +
       +     ATTENDEE;MEMBER="MAILTO:ietf-calsch@imc.org":MAILTO:jsmith@host.com
       +
       +     ATTENDEE;MEMBER="MAILTO:projectA@host.com","MAILTO:projectB@host.
       +      com":MAILTO:janedoe@host.com
       +
       +4.2.12 Participation Status
       +
       +   Parameter Name: PARTSTAT
       +
       +   Purpose: To specify the participation status for the calendar user
       +   specified by the property.
       +
       +   Format Definition: The property parameter is defined by the following
       +   notation:
       +
       +     partstatparam      = "PARTSTAT" "="
       +                         ("NEEDS-ACTION"        ; Event needs action
       +                        / "ACCEPTED"            ; Event accepted
       +                        / "DECLINED"            ; Event declined
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 25]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +                        / "TENTATIVE"           ; Event tentatively
       +                                                ; accepted
       +                        / "DELEGATED"           ; Event delegated
       +                        / x-name                ; Experimental status
       +                        / iana-token)           ; Other IANA registered
       +                                                ; status
       +     ; These are the participation statuses for a "VEVENT". Default is
       +     ; NEEDS-ACTION
       +     partstatparam      /= "PARTSTAT" "="
       +                         ("NEEDS-ACTION"        ; To-do needs action
       +                        / "ACCEPTED"            ; To-do accepted
       +                        / "DECLINED"            ; To-do declined
       +                        / "TENTATIVE"           ; To-do tentatively
       +                                                ; accepted
       +                        / "DELEGATED"           ; To-do delegated
       +                        / "COMPLETED"           ; To-do completed.
       +                                                ; COMPLETED property has
       +                                                ;date/time completed.
       +                        / "IN-PROCESS"          ; To-do in process of
       +                                                ; being completed
       +                        / x-name                ; Experimental status
       +                        / iana-token)           ; Other IANA registered
       +                                                ; status
       +     ; These are the participation statuses for a "VTODO". Default is
       +     ; NEEDS-ACTION
       +
       +     partstatparam      /= "PARTSTAT" "="
       +                         ("NEEDS-ACTION"        ; Journal needs action
       +                        / "ACCEPTED"            ; Journal accepted
       +                        / "DECLINED"            ; Journal declined
       +                        / x-name                ; Experimental status
       +                        / iana-token)           ; Other IANA registered
       +                                                ; status
       +     ; These are the participation statuses for a "VJOURNAL". Default is
       +     ; NEEDS-ACTION
       +
       +   Description: This parameter can be specified on properties with a
       +   CAL-ADDRESS value type. The parameter identifies the participation
       +   status for the calendar user specified by the property value. The
       +   parameter values differ depending on whether they are associated with
       +   a group scheduled "VEVENT", "VTODO" or "VJOURNAL". The values MUST
       +   match one of the values allowed for the given calendar component. If
       +   not specified on a property that allows this parameter, the default
       +   value is NEEDS-ACTION.
       +
       +   Example:
       +
       +     ATTENDEE;PARTSTAT=DECLINED:MAILTO:jsmith@host.com
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 26]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +4.2.13  Recurrence Identifier Range
       +
       +   Parameter Name: RANGE
       +
       +   Purpose: To specify the effective range of recurrence instances from
       +   the instance specified by the recurrence identifier specified by the
       +   property.
       +
       +   Format Definition: The property parameter is defined by the following
       +   notation:
       +
       +     rangeparam = "RANGE" "=" ("THISANDPRIOR"
       +        ; To specify all instances prior to the recurrence identifier
       +                / "THISANDFUTURE")
       +        ; To specify the instance specified by the recurrence identifier
       +        ; and all subsequent recurrence instances
       +
       +   Description: The parameter can be specified on a property that
       +   specifies a recurrence identifier. The parameter specifies the
       +   effective range of recurrence instances that is specified by the
       +   property. The effective range is from the recurrence identified
       +   specified by the property. If this parameter is not specified an
       +   allowed property, then the default range is the single instance
       +   specified by the recurrence identifier value of the property. The
       +   parameter value can be "THISANDPRIOR" to indicate a range defined by
       +   the recurrence identified value of the property and all prior
       +   instances. The parameter value can also be "THISANDFUTURE" to
       +   indicate a range defined by the recurrence identifier and all
       +   subsequent instances.
       +
       +   Example:
       +
       +     RECURRENCE-ID;RANGE=THISANDPRIOR:19980401T133000Z
       +
       +4.2.14 Alarm Trigger Relationship
       +
       +   Parameter Name: RELATED
       +
       +   Purpose: To specify the relationship of the alarm trigger with
       +   respect to the start or end of the calendar component.
       +
       +   Format Definition: The property parameter is defined by the following
       +   notation:
       +
       +     trigrelparam       = "RELATED" "="
       +                         ("START"       ; Trigger off of start
       +                        / "END")        ; Trigger off of end
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 27]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   Description: The parameter can be specified on properties that
       +   specify an alarm trigger with a DURATION value type. The parameter
       +   specifies whether the alarm will trigger relative to the start or end
       +   of the calendar component. The parameter value START will set the
       +   alarm to trigger off the start of the calendar component; the
       +   parameter value END will set the alarm to trigger off the end of the
       +   calendar component. If the parameter is not specified on an allowable
       +   property, then the default is START.
       +
       +   Example:
       +
       +     TRIGGER;RELATED=END:PT5M
       +
       +4.2.15 Relationship Type
       +
       +   Parameter Name: RELTYPE
       +
       +   Purpose: To specify the type of hierarchical relationship associated
       +   with the calendar component specified by the property.
       +
       +   Format Definition: The property parameter is defined by the following
       +   notation:
       +
       +     reltypeparam       = "RELTYPE" "="
       +                         ("PARENT"      ; Parent relationship. Default.
       +                        / "CHILD"       ; Child relationship
       +                        / "SIBLING      ; Sibling relationship
       +                        / iana-token    ; Some other IANA registered
       +                                        ; iCalendar relationship type
       +                        / x-name)       ; A non-standard, experimental
       +                                        ; relationship type
       +
       +   Description: This parameter can be specified on a property that
       +   references another related calendar. The parameter specifies the
       +   hierarchical relationship type of the calendar component referenced
       +   by the property. The parameter value can be PARENT, to indicate that
       +   the referenced calendar component is a superior of calendar
       +   component; CHILD to indicate that the referenced calendar component
       +   is a subordinate of the calendar component; SIBLING to indicate that
       +   the referenced calendar component is a peer of the calendar
       +   component. If this parameter is not specified on an allowable
       +   property, the default relationship type is PARENT.
       +
       +   Example:
       +
       +     RELATED-TO;RELTYPE=SIBLING:<19960401-080045-4000F192713@host.com>
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 28]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +4.2.16 Participation Role
       +
       +   Parameter Name: ROLE
       +
       +   Purpose: To specify the participation role for the calendar user
       +   specified by the property.
       +
       +   Format Definition: The property parameter is defined by the following
       +   notation:
       +
       +     roleparam  = "ROLE" "="
       +                 ("CHAIR"               ; Indicates chair of the
       +                                        ; calendar entity
       +                / "REQ-PARTICIPANT"     ; Indicates a participant whose
       +                                        ; participation is required
       +                / "OPT-PARTICIPANT"     ; Indicates a participant whose
       +                                        ; participation is optional
       +                / "NON-PARTICIPANT"     ; Indicates a participant who is
       +                                        ; copied for information
       +                                        ; purposes only
       +                / x-name                ; Experimental role
       +                / iana-token)           ; Other IANA role
       +     ; Default is REQ-PARTICIPANT
       +
       +   Description: This parameter can be specified on properties with a
       +   CAL-ADDRESS value type. The parameter specifies the participation
       +   role for the calendar user specified by the property in the group
       +   schedule calendar component. If not specified on a property that
       +   allows this parameter, the default value is REQ-PARTICIPANT.
       +
       +   Example:
       +
       +     ATTENDEE;ROLE=CHAIR:MAILTO:mrbig@host.com
       +
       +4.2.17  RSVP Expectation
       +
       +   Parameter Name: RSVP
       +
       +   Purpose: To specify whether there is an expectation of a favor of a
       +   reply from the calendar user specified by the property value.
       +
       +   Format Definition: The property parameter is defined by the following
       +   notation:
       +
       +     rsvpparam = "RSVP" "=" ("TRUE" / "FALSE")
       +     ; Default is FALSE
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 29]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   Description: This parameter can be specified on properties with a
       +   CAL-ADDRESS value type. The parameter identifies the expectation of a
       +   reply from the calendar user specified by the property value. This
       +   parameter is used by the "Organizer" to request a participation
       +   status reply from an "Attendee" of a group scheduled event or to-do.
       +   If not specified on a property that allows this parameter, the
       +   default value is FALSE.
       +
       +   Example:
       +
       +     ATTENDEE;RSVP=TRUE:MAILTO:jsmith@host.com
       +
       +4.2.18  Sent By
       +
       +   Parameter Name: SENT-BY
       +
       +   Purpose: To specify the calendar user that is acting on behalf of the
       +   calendar user specified by the property.
       +
       +   Format Definition: The property parameter is defined by the following
       +   notation:
       +
       +     sentbyparam        = "SENT-BY" "=" DQUOTE cal-address DQUOTE
       +
       +   Description: This parameter can be specified on properties with a
       +   CAL-ADDRESS value type. The parameter specifies the calendar user
       +   that is acting on behalf of the calendar user specified by the
       +   property. The parameter value MUST be a MAILTO URI as defined in [RFC
       +   1738]. The individual calendar address parameter values MUST each be
       +   specified in a quoted-string.
       +
       +   Example:
       +
       +     ORGANIZER;SENT-BY:"MAILTO:sray@host.com":MAILTO:jsmith@host.com
       +
       +4.2.19 Time Zone Identifier
       +
       +   Parameter Name: TZID
       +
       +   Purpose: To specify the identifier for the time zone definition for a
       +   time component in the property value.
       +
       +   Format Definition: This property parameter is defined by the
       +   following notation:
       +
       +     tzidparam  = "TZID" "=" [tzidprefix] paramtext CRLF
       +
       +     tzidprefix = "/"
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 30]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   Description: The parameter MUST be specified on the "DTSTART",
       +   "DTEND", "DUE", "EXDATE" and "RDATE" properties when either a DATE-
       +   TIME or TIME value type is specified and when the value is not either
       +   a UTC or a "floating" time. Refer to the DATE-TIME or TIME value type
       +   definition for a description of UTC and "floating time" formats. This
       +   property parameter specifies a text value which uniquely identifies
       +   the "VTIMEZONE" calendar component to be used when evaluating the
       +   time portion of the property. The value of the TZID property
       +   parameter will be equal to the value of the TZID property for the
       +   matching time zone definition. An individual "VTIMEZONE" calendar
       +   component MUST be specified for each unique "TZID" parameter value
       +   specified in the iCalendar object.
       +
       +   The parameter MUST be specified on properties with a DATE-TIME value
       +   if the DATE-TIME is not either a UTC or a "floating" time.
       +
       +   The presence of the SOLIDUS character (US-ASCII decimal 47) as a
       +   prefix, indicates that this TZID represents a unique ID in a globally
       +   defined time zone registry (when such registry is defined).
       +
       +        Note: This document does not define a naming convention for time
       +        zone identifiers. Implementers may want to use the naming
       +        conventions defined in existing time zone specifications such as
       +        the public-domain Olson database [TZ]. The specification of
       +        globally unique time zone identifiers is not addressed by this
       +        document and is left for future study.
       +
       +   The following are examples of this property parameter:
       +
       +     DTSTART;TZID=US-Eastern:19980119T020000
       +
       +     DTEND;TZID=US-Eastern:19980119T030000
       +
       +   The TZID property parameter MUST NOT be applied to DATE-TIME or TIME
       +   properties whose time values are specified in UTC.
       +
       +   The use of local time in a DATE-TIME or TIME value without the TZID
       +   property parameter is to be interpreted as a local time value,
       +   regardless of the existence of "VTIMEZONE" calendar components in the
       +   iCalendar object.
       +
       +   For more information see the sections on the data types DATE-TIME and
       +   TIME.
       +
       +
       +
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 31]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +4.2.20 Value Data Types
       +
       +   Parameter Name: VALUE
       +
       +   Purpose: To explicitly specify the data type format for a property
       +   value.
       +
       +   Format Definition: The "VALUE" property parameter is defined by the
       +   following notation:
       +
       +     valuetypeparam = "VALUE" "=" valuetype
       +
       +     valuetype  = ("BINARY"
       +                / "BOOLEAN"
       +                / "CAL-ADDRESS"
       +                / "DATE"
       +                / "DATE-TIME"
       +                / "DURATION"
       +                / "FLOAT"
       +                / "INTEGER"
       +                / "PERIOD"
       +                / "RECUR"
       +                / "TEXT"
       +                / "TIME"
       +                / "URI"
       +                / "UTC-OFFSET"
       +                / x-name
       +                ; Some experimental iCalendar data type.
       +                / iana-token)
       +                ; Some other IANA registered iCalendar data type.
       +
       +   Description: The parameter specifies the data type and format of the
       +   property value. The property values MUST be of a single value type.
       +   For example, a "RDATE" property cannot have a combination of DATE-
       +   TIME and TIME value types.
       +
       +   If the property's value is the default value type, then this
       +   parameter need not be specified. However, if the property's default
       +   value type is overridden by some other allowable value type, then
       +   this parameter MUST be specified.
       +
       +4.3 Property Value Data Types
       +
       +   The properties in an iCalendar object are strongly typed. The
       +   definition of each property restricts the value to be one of the
       +   value data types, or simply value types, defined in this section. The
       +   value type for a property will either be specified implicitly as the
       +   default value type or will be explicitly specified with the "VALUE"
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 32]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   parameter. If the value type of a property is one of the alternate
       +   valid types, then it MUST be explicitly specified with the "VALUE"
       +   parameter.
       +
       +4.3.1   Binary
       +
       +   Value Name: BINARY
       +
       +   Purpose: This value type is used to identify properties that contain
       +   a character encoding of inline binary data. For example, an inline
       +   attachment of an object code might be included in an iCalendar
       +   object.
       +
       +   Formal Definition: The value type is defined by the following
       +   notation:
       +
       +     binary     = *(4b-char) [b-end]
       +     ; A "BASE64" encoded character string, as defined by [RFC 2045].
       +
       +     b-end      = (2b-char "==") / (3b-char "=")
       +
       +     b-char = ALPHA / DIGIT / "+" / "/"
       +
       +   Description: Property values with this value type MUST also include
       +   the inline encoding parameter sequence of ";ENCODING=BASE64". That
       +   is, all inline binary data MUST first be character encoded using the
       +   "BASE64" encoding method defined in [RFC 2045]. No additional content
       +   value encoding (i.e., BACKSLASH character encoding) is defined for
       +   this value type.
       +
       +   Example: The following is an abridged example of a "BASE64" encoded
       +   binary value data.
       +
       +     ATTACH;VALUE=BINARY;ENCODING=BASE64:MIICajCCAdOgAwIBAgICBEUwDQY
       +      JKoZIhvcNAQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlI
       +      ENvbW11bmljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZv
       +        <...remainder of "BASE64" encoded binary data...>
       +
       +4.3.2   Boolean
       +
       +   Value Name: BOOLEAN
       +
       +   Purpose: This value type is used to identify properties that contain
       +   either a "TRUE" or "FALSE" Boolean value.
       +
       +   Formal Definition: The value type is defined by the following
       +   notation:
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 33]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +     boolean    = "TRUE" / "FALSE"
       +
       +   Description: These values are case insensitive text. No additional
       +   content value encoding (i.e., BACKSLASH character encoding) is
       +   defined for this value type.
       +
       +   Example: The following is an example of a hypothetical property that
       +   has a BOOLEAN value type:
       +
       +   GIBBERISH:TRUE
       +
       +4.3.3   Calendar User Address
       +
       +   Value Name: CAL-ADDRESS
       +
       +   Purpose: This value type is used to identify properties that contain
       +   a calendar user address.
       +
       +   Formal Definition: The value type is as defined by the following
       +   notation:
       +
       +     cal-address        = uri
       +
       +   Description: The value is a URI as defined by [RFC 1738] or any other
       +   IANA registered form for a URI. When used to address an Internet
       +   email transport address for a calendar user, the value MUST be a
       +   MAILTO URI, as defined by [RFC 1738]. No additional content value
       +   encoding (i.e., BACKSLASH character encoding) is defined for this
       +   value type.
       +
       +   Example:
       +
       +     ATTENDEE:MAILTO:jane_doe@host.com
       +
       +4.3.4 Date
       +
       +   Value Name: DATE
       +
       +   Purpose: This value type is used to identify values that contain a
       +   calendar date.
       +
       +   Formal Definition: The value type is defined by the following
       +   notation:
       +
       +     date               = date-value
       +
       +     date-value         = date-fullyear date-month date-mday
       +     date-fullyear      = 4DIGIT
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 34]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +     date-month         = 2DIGIT        ;01-12
       +     date-mday          = 2DIGIT        ;01-28, 01-29, 01-30, 01-31
       +                                        ;based on month/year
       +
       +   Description: If the property permits, multiple "date" values are
       +   specified as a COMMA character (US-ASCII decimal 44) separated list
       +   of values. The format for the value type is expressed as the [ISO
       +   8601] complete representation, basic format for a calendar date. The
       +   textual format specifies a four-digit year, two-digit month, and
       +   two-digit day of the month. There are no separator characters between
       +   the year, month and day component text.
       +
       +   No additional content value encoding (i.e., BACKSLASH character
       +   encoding) is defined for this value type.
       +
       +   Example: The following represents July 14, 1997:
       +
       +     19970714
       +
       +4.3.5   Date-Time
       +
       +   Value Name: DATE-TIME
       +
       +   Purpose: This value type is used to identify values that specify a
       +   precise calendar date and time of day.
       +
       +   Formal Definition: The value type is defined by the following
       +   notation:
       +
       +     date-time  = date "T" time ;As specified in the date and time
       +                                ;value definitions
       +
       +   Description: If the property permits, multiple "date-time" values are
       +   specified as a COMMA character (US-ASCII decimal 44) separated list
       +   of values. No additional content value encoding (i.e., BACKSLASH
       +   character encoding) is defined for this value type.
       +
       +   The "DATE-TIME" data type is used to identify values that contain a
       +   precise calendar date and time of day. The format is based on the
       +   [ISO 8601] complete representation, basic format for a calendar date
       +   and time of day. The text format is a concatenation of the "date",
       +   followed by the LATIN CAPITAL LETTER T character (US-ASCII decimal
       +   84) time designator, followed by the "time" format.
       +
       +   The "DATE-TIME" data type expresses time values in three forms:
       +
       +   The form of date and time with UTC offset MUST NOT be used. For
       +   example, the following is not valid for a date-time value:
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 35]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +     DTSTART:19980119T230000-0800       ;Invalid time format
       +
       +   FORM #1: DATE WITH LOCAL TIME
       +
       +   The date with local time form is simply a date-time value that does
       +   not contain the UTC designator nor does it reference a time zone. For
       +   example, the following represents Janurary 18, 1998, at 11 PM:
       +
       +     DTSTART:19980118T230000
       +
       +   Date-time values of this type are said to be "floating" and are not
       +   bound to any time zone in particular. They are used to represent the
       +   same hour, minute, and second value regardless of which time zone is
       +   currently being observed. For example, an event can be defined that
       +   indicates that an individual will be busy from 11:00 AM to 1:00 PM
       +   every day, no matter which time zone the person is in. In these
       +   cases, a local time can be specified. The recipient of an iCalendar
       +   object with a property value consisting of a local time, without any
       +   relative time zone information, SHOULD interpret the value as being
       +   fixed to whatever time zone the ATTENDEE is in at any given moment.
       +   This means that two ATTENDEEs, in different time zones, receiving the
       +   same event definition as a floating time, may be participating in the
       +   event at different actual times. Floating time SHOULD only be used
       +   where that is the reasonable behavior.
       +
       +   In most cases, a fixed time is desired. To properly communicate a
       +   fixed time in a property value, either UTC time or local time with
       +   time zone reference MUST be specified.
       +
       +   The use of local time in a DATE-TIME value without the TZID property
       +   parameter is to be interpreted as floating time, regardless of the
       +   existence of "VTIMEZONE" calendar components in the iCalendar object.
       +
       +   FORM #2: DATE WITH UTC TIME
       +
       +   The date with UTC time, or absolute time, is identified by a LATIN
       +   CAPITAL LETTER Z suffix character (US-ASCII decimal 90), the UTC
       +   designator, appended to the time value. For example, the following
       +   represents January 19, 1998, at 0700 UTC:
       +
       +     DTSTART:19980119T070000Z
       +
       +   The TZID property parameter MUST NOT be applied to DATE-TIME
       +   properties whose time values are specified in UTC.
       +
       +   FORM #3: DATE WITH LOCAL TIME AND TIME ZONE REFERENCE
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 36]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   The date and local time with reference to time zone information is
       +   identified by the use the TZID property parameter to reference the
       +   appropriate time zone definition. TZID is discussed in detail in the
       +   section on Time Zone. For example, the following represents 2 AM in
       +   New York on Janurary 19, 1998:
       +
       +          DTSTART;TZID=US-Eastern:19980119T020000
       +
       +   Example: The following represents July 14, 1997, at 1:30 PM in New
       +   York City in each of the three time formats, using the "DTSTART"
       +   property.
       +
       +     DTSTART:19970714T133000            ;Local time
       +     DTSTART:19970714T173000Z           ;UTC time
       +     DTSTART;TZID=US-Eastern:19970714T133000    ;Local time and time
       +                        ; zone reference
       +
       +   A time value MUST ONLY specify 60 seconds when specifying the
       +   periodic "leap second" in the time value. For example:
       +
       +     COMPLETED:19970630T235960Z
       +
       +4.3.6   Duration
       +
       +   Value Name: DURATION
       +
       +   Purpose: This value type is used to identify properties that contain
       +   a duration of time.
       +
       +   Formal Definition: The value type is defined by the following
       +   notation:
       +
       +     dur-value  = (["+"] / "-") "P" (dur-date / dur-time / dur-week)
       +
       +     dur-date   = dur-day [dur-time]
       +     dur-time   = "T" (dur-hour / dur-minute / dur-second)
       +     dur-week   = 1*DIGIT "W"
       +     dur-hour   = 1*DIGIT "H" [dur-minute]
       +     dur-minute = 1*DIGIT "M" [dur-second]
       +     dur-second = 1*DIGIT "S"
       +     dur-day    = 1*DIGIT "D"
       +
       +   Description: If the property permits, multiple "duration" values are
       +   specified by a COMMA character (US-ASCII decimal 44) separated list
       +   of values. The format is expressed as the [ISO 8601] basic format for
       +   the duration of time. The format can represent durations in terms of
       +   weeks, days, hours, minutes, and seconds.
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 37]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   No additional content value encoding (i.e., BACKSLASH character
       +   encoding) are defined for this value type.
       +
       +   Example: A duration of 15 days, 5 hours and 20 seconds would be:
       +
       +     P15DT5H0M20S
       +
       +   A duration of 7 weeks would be:
       +
       +     P7W
       +
       +4.3.7   Float
       +
       +   Value Name: FLOAT
       +
       +   Purpose: This value type is used to identify properties that contain
       +   a real number value.
       +
       +   Formal Definition: The value type is defined by the following
       +   notation:
       +
       +     float      = (["+"] / "-") 1*DIGIT ["." 1*DIGIT]
       +
       +   Description: If the property permits, multiple "float" values are
       +   specified by a COMMA character (US-ASCII decimal 44) separated list
       +   of values.
       +
       +   No additional content value encoding (i.e., BACKSLASH character
       +   encoding) is defined for this value type.
       +
       +   Example:
       +
       +     1000000.0000001
       +     1.333
       +     -3.14
       +
       +4.3.8 Integer
       +
       +     Value Name:INTEGER
       +
       +     Purpose: This value type is used to identify properties that contain
       +     a signed integer value.
       +
       +     Formal Definition: The value type is defined by the following
       +     notation:
       +
       +     integer    = (["+"] / "-") 1*DIGIT
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 38]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +     Description: If the property permits, multiple "integer" values are
       +     specified by a COMMA character (US-ASCII decimal 44) separated list
       +     of values. The valid range for "integer" is -2147483648 to
       +     2147483647. If the sign is not specified, then the value is assumed
       +     to be positive.
       +
       +     No additional content value encoding (i.e., BACKSLASH character
       +     encoding) is defined for this value type.
       +
       +     Example:
       +
       +     1234567890
       +     -1234567890
       +     +1234567890
       +     432109876
       +
       +4.3.9 Period of Time
       +
       +   Value Name: PERIOD
       +
       +   Purpose: This value type is used to identify values that contain a
       +   precise period of time.
       +
       +   Formal Definition: The data type is defined by the following
       +   notation:
       +
       +     period     = period-explicit / period-start
       +
       +     period-explicit = date-time "/" date-time
       +     ; [ISO 8601] complete representation basic format for a period of
       +     ; time consisting of a start and end. The start MUST be before the
       +     ; end.
       +
       +     period-start = date-time "/" dur-value
       +     ; [ISO 8601] complete representation basic format for a period of
       +     ; time consisting of a start and positive duration of time.
       +
       +   Description: If the property permits, multiple "period" values are
       +   specified by a COMMA character (US-ASCII decimal 44) separated list
       +   of values. There are two forms of a period of time. First, a period
       +   of time is identified by its start and its end. This format is
       +   expressed as the [ISO 8601] complete representation, basic format for
       +   "DATE-TIME" start of the period, followed by a SOLIDUS character
       +   (US-ASCII decimal 47), followed by the "DATE-TIME" of the end of the
       +   period. The start of the period MUST be before the end of the period.
       +   Second, a period of time can also be defined by a start and a
       +   positive duration of time. The format is expressed as the [ISO 8601]
       +   complete representation, basic format for the "DATE-TIME" start of
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 39]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   the period, followed by a SOLIDUS character (US-ASCII decimal 47),
       +   followed by the [ISO 8601] basic format for "DURATION" of the period.
       +
       +   Example: The period starting at 18:00:00 UTC, on January 1, 1997 and
       +   ending at 07:00:00 UTC on January 2, 1997 would be:
       +
       +     19970101T180000Z/19970102T070000Z
       +
       +   The period start at 18:00:00 on January 1, 1997 and lasting 5 hours
       +   and 30 minutes would be:
       +
       +     19970101T180000Z/PT5H30M
       +
       +   No additional content value encoding (i.e., BACKSLASH character
       +   encoding) is defined for this value type.
       +
       +4.3.10 Recurrence Rule
       +
       +   Value Name: RECUR
       +
       +   Purpose: This value type is used to identify properties that contain
       +   a recurrence rule specification.
       +
       +   Formal Definition: The value type is defined by the following
       +   notation:
       +
       +     recur      = "FREQ"=freq *(
       +
       +                ; either UNTIL or COUNT may appear in a 'recur',
       +                ; but UNTIL and COUNT MUST NOT occur in the same 'recur'
       +
       +                ( ";" "UNTIL" "=" enddate ) /
       +                ( ";" "COUNT" "=" 1*DIGIT ) /
       +
       +                ; the rest of these keywords are optional,
       +                ; but MUST NOT occur more than once
       +
       +                ( ";" "INTERVAL" "=" 1*DIGIT )          /
       +                ( ";" "BYSECOND" "=" byseclist )        /
       +                ( ";" "BYMINUTE" "=" byminlist )        /
       +                ( ";" "BYHOUR" "=" byhrlist )           /
       +                ( ";" "BYDAY" "=" bywdaylist )          /
       +                ( ";" "BYMONTHDAY" "=" bymodaylist )    /
       +                ( ";" "BYYEARDAY" "=" byyrdaylist )     /
       +                ( ";" "BYWEEKNO" "=" bywknolist )       /
       +                ( ";" "BYMONTH" "=" bymolist )          /
       +                ( ";" "BYSETPOS" "=" bysplist )         /
       +                ( ";" "WKST" "=" weekday )              /
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 40]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +                ( ";" x-name "=" text )
       +                )
       +
       +     freq       = "SECONDLY" / "MINUTELY" / "HOURLY" / "DAILY"
       +                / "WEEKLY" / "MONTHLY" / "YEARLY"
       +
       +     enddate    = date
       +     enddate    =/ date-time            ;An UTC value
       +
       +     byseclist  = seconds / ( seconds *("," seconds) )
       +
       +     seconds    = 1DIGIT / 2DIGIT       ;0 to 59
       +
       +     byminlist  = minutes / ( minutes *("," minutes) )
       +
       +     minutes    = 1DIGIT / 2DIGIT       ;0 to 59
       +
       +     byhrlist   = hour / ( hour *("," hour) )
       +
       +     hour       = 1DIGIT / 2DIGIT       ;0 to 23
       +
       +     bywdaylist = weekdaynum / ( weekdaynum *("," weekdaynum) )
       +
       +     weekdaynum = [([plus] ordwk / minus ordwk)] weekday
       +
       +     plus       = "+"
       +
       +     minus      = "-"
       +
       +     ordwk      = 1DIGIT / 2DIGIT       ;1 to 53
       +
       +     weekday    = "SU" / "MO" / "TU" / "WE" / "TH" / "FR" / "SA"
       +     ;Corresponding to SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY,
       +     ;FRIDAY, SATURDAY and SUNDAY days of the week.
       +
       +     bymodaylist = monthdaynum / ( monthdaynum *("," monthdaynum) )
       +
       +     monthdaynum = ([plus] ordmoday) / (minus ordmoday)
       +
       +     ordmoday   = 1DIGIT / 2DIGIT       ;1 to 31
       +
       +     byyrdaylist = yeardaynum / ( yeardaynum *("," yeardaynum) )
       +
       +     yeardaynum = ([plus] ordyrday) / (minus ordyrday)
       +
       +     ordyrday   = 1DIGIT / 2DIGIT / 3DIGIT      ;1 to 366
       +
       +     bywknolist = weeknum / ( weeknum *("," weeknum) )
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 41]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +     weeknum    = ([plus] ordwk) / (minus ordwk)
       +
       +     bymolist   = monthnum / ( monthnum *("," monthnum) )
       +
       +     monthnum   = 1DIGIT / 2DIGIT       ;1 to 12
       +
       +     bysplist   = setposday / ( setposday *("," setposday) )
       +
       +     setposday  = yeardaynum
       +
       +   Description: If the property permits, multiple "recur" values are
       +   specified by a COMMA character (US-ASCII decimal 44) separated list
       +   of values. The value type is a structured value consisting of a list
       +   of one or more recurrence grammar parts. Each rule part is defined by
       +   a NAME=VALUE pair. The rule parts are separated from each other by
       +   the SEMICOLON character (US-ASCII decimal 59). The rule parts are not
       +   ordered in any particular sequence. Individual rule parts MUST only
       +   be specified once.
       +
       +   The FREQ rule part identifies the type of recurrence rule. This rule
       +   part MUST be specified in the recurrence rule. Valid values include
       +   SECONDLY, to specify repeating events based on an interval of a
       +   second or more; MINUTELY, to specify repeating events based on an
       +   interval of a minute or more; HOURLY, to specify repeating events
       +   based on an interval of an hour or more; DAILY, to specify repeating
       +   events based on an interval of a day or more; WEEKLY, to specify
       +   repeating events based on an interval of a week or more; MONTHLY, to
       +   specify repeating events based on an interval of a month or more; and
       +   YEARLY, to specify repeating events based on an interval of a year or
       +   more.
       +
       +   The INTERVAL rule part contains a positive integer representing how
       +   often the recurrence rule repeats. The default value is "1", meaning
       +   every second for a SECONDLY rule, or every minute for a MINUTELY
       +   rule, every hour for an HOURLY rule, every day for a DAILY rule,
       +   every week for a WEEKLY rule, every month for a MONTHLY rule and
       +   every year for a YEARLY rule.
       +
       +   The UNTIL rule part defines a date-time value which bounds the
       +   recurrence rule in an inclusive manner. If the value specified by
       +   UNTIL is synchronized with the specified recurrence, this date or
       +   date-time becomes the last instance of the recurrence. If specified
       +   as a date-time value, then it MUST be specified in an UTC time
       +   format. If not present, and the COUNT rule part is also not present,
       +   the RRULE is considered to repeat forever.
       +
       +   The COUNT rule part defines the number of occurrences at which to
       +   range-bound the recurrence. The "DTSTART" property value, if
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 42]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   specified, counts as the first occurrence.
       +
       +   The BYSECOND rule part specifies a COMMA character (US-ASCII decimal
       +   44) separated list of seconds within a minute. Valid values are 0 to
       +   59. The BYMINUTE rule part specifies a COMMA character (US-ASCII
       +   decimal 44) separated list of minutes within an hour. Valid values
       +   are 0 to 59. The BYHOUR rule part specifies a COMMA character (US-
       +   ASCII decimal 44) separated list of hours of the day. Valid values
       +   are 0 to 23.
       +
       +   The BYDAY rule part specifies a COMMA character (US-ASCII decimal 44)
       +   separated list of days of the week; MO indicates Monday; TU indicates
       +   Tuesday; WE indicates Wednesday; TH indicates Thursday; FR indicates
       +   Friday; SA indicates Saturday; SU indicates Sunday.
       +
       +   Each BYDAY value can also be preceded by a positive (+n) or negative
       +   (-n) integer. If present, this indicates the nth occurrence of the
       +   specific day within the MONTHLY or YEARLY RRULE. For example, within
       +   a MONTHLY rule, +1MO (or simply 1MO) represents the first Monday
       +   within the month, whereas -1MO represents the last Monday of the
       +   month. If an integer modifier is not present, it means all days of
       +   this type within the specified frequency. For example, within a
       +   MONTHLY rule, MO represents all Mondays within the month.
       +
       +   The BYMONTHDAY rule part specifies a COMMA character (ASCII decimal
       +   44) separated list of days of the month. Valid values are 1 to 31 or
       +   -31 to -1. For example, -10 represents the tenth to the last day of
       +   the month.
       +
       +   The BYYEARDAY rule part specifies a COMMA character (US-ASCII decimal
       +   44) separated list of days of the year. Valid values are 1 to 366 or
       +   -366 to -1. For example, -1 represents the last day of the year
       +   (December 31st) and -306 represents the 306th to the last day of the
       +   year (March 1st).
       +
       +   The BYWEEKNO rule part specifies a COMMA character (US-ASCII decimal
       +   44) separated list of ordinals specifying weeks of the year. Valid
       +   values are 1 to 53 or -53 to -1. This corresponds to weeks according
       +   to week numbering as defined in [ISO 8601]. A week is defined as a
       +   seven day period, starting on the day of the week defined to be the
       +   week start (see WKST). Week number one of the calendar year is the
       +   first week which contains at least four (4) days in that calendar
       +   year. This rule part is only valid for YEARLY rules. For example, 3
       +   represents the third week of the year.
       +
       +        Note: Assuming a Monday week start, week 53 can only occur when
       +        Thursday is January 1 or if it is a leap year and Wednesday is
       +        January 1.
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 43]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   The BYMONTH rule part specifies a COMMA character (US-ASCII decimal
       +   44) separated list of months of the year. Valid values are 1 to 12.
       +
       +   The WKST rule part specifies the day on which the workweek starts.
       +   Valid values are MO, TU, WE, TH, FR, SA and SU. This is significant
       +   when a WEEKLY RRULE has an interval greater than 1, and a BYDAY rule
       +   part is specified. This is also significant when in a YEARLY RRULE
       +   when a BYWEEKNO rule part is specified. The default value is MO.
       +
       +   The BYSETPOS rule part specifies a COMMA character (US-ASCII decimal
       +   44) separated list of values which corresponds to the nth occurrence
       +   within the set of events specified by the rule. Valid values are 1 to
       +   366 or -366 to -1. It MUST only be used in conjunction with another
       +   BYxxx rule part. For example "the last work day of the month" could
       +   be represented as:
       +
       +     RRULE:FREQ=MONTHLY;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=-1
       +
       +   Each BYSETPOS value can include a positive (+n) or negative (-n)
       +   integer. If present, this indicates the nth occurrence of the
       +   specific occurrence within the set of events specified by the rule.
       +
       +   If BYxxx rule part values are found which are beyond the available
       +   scope (ie, BYMONTHDAY=30 in February), they are simply ignored.
       +
       +   Information, not contained in the rule, necessary to determine the
       +   various recurrence instance start time and dates are derived from the
       +   Start Time (DTSTART) entry attribute. For example,
       +   "FREQ=YEARLY;BYMONTH=1" doesn't specify a specific day within the
       +   month or a time. This information would be the same as what is
       +   specified for DTSTART.
       +
       +   BYxxx rule parts modify the recurrence in some manner. BYxxx rule
       +   parts for a period of time which is the same or greater than the
       +   frequency generally reduce or limit the number of occurrences of the
       +   recurrence generated. For example, "FREQ=DAILY;BYMONTH=1" reduces the
       +   number of recurrence instances from all days (if BYMONTH tag is not
       +   present) to all days in January. BYxxx rule parts for a period of
       +   time less than the frequency generally increase or expand the number
       +   of occurrences of the recurrence. For example,
       +   "FREQ=YEARLY;BYMONTH=1,2" increases the number of days within the
       +   yearly recurrence set from 1 (if BYMONTH tag is not present) to 2.
       +
       +   If multiple BYxxx rule parts are specified, then after evaluating the
       +   specified FREQ and INTERVAL rule parts, the BYxxx rule parts are
       +   applied to the current set of evaluated occurrences in the following
       +   order: BYMONTH, BYWEEKNO, BYYEARDAY, BYMONTHDAY, BYDAY, BYHOUR,
       +   BYMINUTE, BYSECOND and BYSETPOS; then COUNT and UNTIL are evaluated.
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 44]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   Here is an example of evaluating multiple BYxxx rule parts.
       +
       +     DTSTART;TZID=US-Eastern:19970105T083000
       +     RRULE:FREQ=YEARLY;INTERVAL=2;BYMONTH=1;BYDAY=SU;BYHOUR=8,9;
       +      BYMINUTE=30
       +
       +   First, the "INTERVAL=2" would be applied to "FREQ=YEARLY" to arrive
       +   at "every other year". Then, "BYMONTH=1" would be applied to arrive
       +   at "every January, every other year". Then, "BYDAY=SU" would be
       +   applied to arrive at "every Sunday in January, every other year".
       +   Then, "BYHOUR=8,9" would be applied to arrive at "every Sunday in
       +   January at 8 AM and 9 AM, every other year". Then, "BYMINUTE=30"
       +   would be applied to arrive at "every Sunday in January at 8:30 AM and
       +   9:30 AM, every other year". Then, lacking information from RRULE, the
       +   second is derived from DTSTART, to end up in "every Sunday in January
       +   at 8:30:00 AM and 9:30:00 AM, every other year". Similarly, if the
       +   BYMINUTE, BYHOUR, BYDAY, BYMONTHDAY or BYMONTH rule part were
       +   missing, the appropriate minute, hour, day or month would have been
       +   retrieved from the "DTSTART" property.
       +
       +   No additional content value encoding (i.e., BACKSLASH character
       +   encoding) is defined for this value type.
       +
       +   Example: The following is a rule which specifies 10 meetings which
       +   occur every other day:
       +
       +     FREQ=DAILY;COUNT=10;INTERVAL=2
       +
       +   There are other examples specified in the "RRULE" specification.
       +
       +4.3.11 Text
       +
       +   Value Name: TEXT
       +
       +   Purpose This value type is used to identify values that contain human
       +   readable text.
       +
       +   Formal Definition: The character sets supported by this revision of
       +   iCalendar are UTF-8 and US ASCII thereof. The applicability to other
       +   character sets is for future work. The value type is defined by the
       +   following notation.
       +
       +     text       = *(TSAFE-CHAR / ":" / DQUOTE / ESCAPED-CHAR)
       +     ; Folded according to description above
       +
       +     ESCAPED-CHAR = "\\" / "\;" / "\," / "\N" / "\n")
       +        ; \\ encodes \, \N or \n encodes newline
       +        ; \; encodes ;, \, encodes ,
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 45]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +     TSAFE-CHAR = %x20-21 / %x23-2B / %x2D-39 / %x3C-5B
       +                  %x5D-7E / NON-US-ASCII
       +        ; Any character except CTLs not needed by the current
       +        ; character set, DQUOTE, ";", ":", "\", ","
       +
       +     Note: Certain other character sets may require modification of the
       +     above definitions, but this is beyond the scope of this document.
       +
       +   Description: If the property permits, multiple "text" values are
       +   specified by a COMMA character (US-ASCII decimal 44) separated list
       +   of values.
       +
       +   The language in which the text is represented can be controlled by
       +   the "LANGUAGE" property parameter.
       +
       +   An intentional formatted text line break MUST only be included in a
       +   "TEXT" property value by representing the line break with the
       +   character sequence of BACKSLASH (US-ASCII decimal 92), followed by a
       +   LATIN SMALL LETTER N (US-ASCII decimal 110) or a LATIN CAPITAL LETTER
       +   N (US-ASCII decimal 78), that is "\n" or "\N".
       +
       +   The "TEXT" property values may also contain special characters that
       +   are used to signify delimiters, such as a COMMA character for lists
       +   of values or a SEMICOLON character for structured values. In order to
       +   support the inclusion of these special characters in "TEXT" property
       +   values, they MUST be escaped with a BACKSLASH character. A BACKSLASH
       +   character (US-ASCII decimal 92) in a "TEXT" property value MUST be
       +   escaped with another BACKSLASH character. A COMMA character in a
       +   "TEXT" property value MUST be escaped with a BACKSLASH character
       +   (US-ASCII decimal 92). A SEMICOLON character in a "TEXT" property
       +   value MUST be escaped with a BACKSLASH character (US-ASCII decimal
       +   92).  However, a COLON character in a "TEXT" property value SHALL NOT
       +   be escaped with a BACKSLASH character.Example: A multiple line value
       +   of:
       +
       +     Project XYZ Final Review
       +     Conference Room - 3B
       +     Come Prepared.
       +
       +   would be represented as:
       +
       +     Project XYZ Final Review\nConference Room - 3B\nCome Prepared.
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 46]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +4.3.12 Time
       +
       +   Value Name: TIME
       +
       +   Purpose: This value type is used to identify values that contain a
       +   time of day.
       +
       +   Formal Definition: The data type is defined by the following
       +   notation:
       +
       +     time               = time-hour time-minute time-second [time-utc]
       +
       +     time-hour          = 2DIGIT        ;00-23
       +     time-minute        = 2DIGIT        ;00-59
       +     time-second        = 2DIGIT        ;00-60
       +     ;The "60" value is used to account for "leap" seconds.
       +
       +     time-utc   = "Z"
       +
       +   Description: If the property permits, multiple "time" values are
       +   specified by a COMMA character (US-ASCII decimal 44) separated list
       +   of values. No additional content value encoding (i.e., BACKSLASH
       +   character encoding) is defined for this value type.
       +
       +   The "TIME" data type is used to identify values that contain a time
       +   of day. The format is based on the [ISO 8601] complete
       +   representation, basic format for a time of day. The text format
       +   consists of a two-digit 24-hour of the day (i.e., values 0-23), two-
       +   digit minute in the hour (i.e., values 0-59), and two-digit seconds
       +   in the minute (i.e., values 0-60). The seconds value of 60 MUST only
       +   to be used to account for "leap" seconds. Fractions of a second are
       +   not supported by this format.
       +
       +   In parallel to the "DATE-TIME" definition above, the "TIME" data type
       +   expresses time values in three forms:
       +
       +   The form of time with UTC offset MUST NOT be used. For example, the
       +   following is NOT VALID for a time value:
       +
       +     230000-0800        ;Invalid time format
       +
       +   FORM #1 LOCAL TIME
       +
       +   The local time form is simply a time value that does not contain the
       +   UTC designator nor does it reference a time zone. For example, 11:00
       +   PM:
       +
       +     230000
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 47]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   Time values of this type are said to be "floating" and are not bound
       +   to any time zone in particular. They are used to represent the same
       +   hour, minute, and second value regardless of which time zone is
       +   currently being observed. For example, an event can be defined that
       +   indicates that an individual will be busy from 11:00 AM to 1:00 PM
       +   every day, no matter which time zone the person is in. In these
       +   cases, a local time can be specified. The recipient of an iCalendar
       +   object with a property value consisting of a local time, without any
       +   relative time zone information, SHOULD interpret the value as being
       +   fixed to whatever time zone the ATTENDEE is in at any given moment.
       +   This means that two ATTENDEEs may participate in the same event at
       +   different UTC times; floating time SHOULD only be used where that is
       +   reasonable behavior.
       +
       +   In most cases, a fixed time is desired. To properly communicate a
       +   fixed time in a property value, either UTC time or local time with
       +   time zone reference MUST be specified.
       +
       +   The use of local time in a TIME value without the TZID property
       +   parameter is to be interpreted as a local time value, regardless of
       +   the existence of "VTIMEZONE" calendar components in the iCalendar
       +   object.
       +
       +   FORM #2: UTC TIME
       +
       +   UTC time, or absolute time, is identified by a LATIN CAPITAL LETTER Z
       +   suffix character (US-ASCII decimal 90), the UTC designator, appended
       +   to the time value. For example, the following represents 07:00 AM
       +   UTC:
       +
       +     070000Z
       +
       +   The TZID property parameter MUST NOT be applied to TIME properties
       +   whose time values are specified in UTC.
       +
       +   FORM #3: LOCAL TIME AND TIME ZONE REFERENCE
       +
       +   The local time with reference to time zone information form is
       +   identified by the use the TZID property parameter to reference the
       +   appropriate time zone definition. TZID is discussed in detail in the
       +   section on Time Zone.
       +
       +   Example: The following represents 8:30 AM in New York in Winter, five
       +   hours behind UTC, in each of the three formats using the "X-
       +   TIMEOFDAY" non-standard property:
       +
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 48]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +     X-TIMEOFDAY:083000
       +
       +     X-TIMEOFDAY:133000Z
       +
       +     X-TIMEOFDAY;TZID=US-Eastern:083000
       +
       +4.3.13 URI
       +
       +   Value Name: URI
       +
       +   Purpose: This value type is used to identify values that contain a
       +   uniform resource identifier (URI) type of reference to the property
       +   value.
       +
       +   Formal Definition: The data type is defined by the following
       +   notation:
       +
       +     uri        = <As defined by any IETF RFC>
       +
       +   Description: This data type might be used to reference binary
       +   information, for values that are large, or otherwise undesirable to
       +   include directly in the iCalendar object.
       +
       +   The URI value formats in RFC 1738, RFC 2111 and any other IETF
       +   registered value format can be specified.
       +
       +   Any IANA registered URI format can be used. These include, but are
       +   not limited to, those defined in RFC 1738 and RFC 2111.
       +
       +   When a property parameter value is a URI value type, the URI MUST be
       +   specified as a quoted-string value.
       +
       +   No additional content value encoding (i.e., BACKSLASH character
       +   encoding) is defined for this value type.
       +
       +   Example: The following is a URI for a network file:
       +
       +     http://host1.com/my-report.txt
       +
       +4.3.14 UTC Offset
       +
       +   Value Name: UTC-OFFSET
       +
       +   Purpose: This value type is used to identify properties that contain
       +   an offset from UTC to local time.
       +
       +   Formal Definition: The data type is defined by the following
       +   notation:
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 49]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +     utc-offset = time-numzone  ;As defined above in time data type
       +
       +     time-numzone       = ("+" / "-") time-hour time-minute [time-
       +     second]
       +
       +   Description: The PLUS SIGN character MUST be specified for positive
       +   UTC offsets (i.e., ahead of UTC). The value of "-0000" and "-000000"
       +   are not allowed. The time-second, if present, may not be 60; if
       +   absent, it defaults to zero.
       +
       +   No additional content value encoding (i.e., BACKSLASH character
       +   encoding) is defined for this value type.
       +
       +   Example: The following UTC offsets are given for standard time for
       +   New York (five hours behind UTC) and Geneva (one hour ahead of UTC):
       +
       +     -0500
       +
       +     +0100
       +
       +4.4 iCalendar Object
       +
       +   The Calendaring and Scheduling Core Object is a collection of
       +   calendaring and scheduling information. Typically, this information
       +   will consist of a single iCalendar object. However, multiple
       +   iCalendar objects can be sequentially grouped together. The first
       +   line and last line of the iCalendar object MUST contain a pair of
       +   iCalendar object delimiter strings. The syntax for an iCalendar
       +   object is as follows:
       +
       +     icalobject = 1*("BEGIN" ":" "VCALENDAR" CRLF
       +                  icalbody
       +                  "END" ":" "VCALENDAR" CRLF)
       +
       +   The following is a simple example of an iCalendar object:
       +
       +     BEGIN:VCALENDAR
       +     VERSION:2.0
       +     PRODID:-//hacksw/handcal//NONSGML v1.0//EN
       +     BEGIN:VEVENT
       +     DTSTART:19970714T170000Z
       +     DTEND:19970715T035959Z
       +     SUMMARY:Bastille Day Party
       +     END:VEVENT
       +     END:VCALENDAR
       +
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 50]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +4.5 Property
       +
       +   A property is the definition of an individual attribute describing a
       +   calendar or a calendar component. A property takes the form defined
       +   by the "contentline" notation defined in section 4.1.1.
       +
       +   The following is an example of a property:
       +
       +     DTSTART:19960415T133000Z
       +
       +   This memo imposes no ordering of properties within an iCalendar
       +   object.
       +
       +   Property names, parameter names and enumerated parameter values are
       +   case insensitive. For example, the property name "DUE" is the same as
       +   "due" and "Due", DTSTART;TZID=US-Eastern:19980714T120000 is the same
       +   as DtStart;TzID=US-Eastern:19980714T120000.
       +
       +4.6 Calendar Components
       +
       +   The body of the iCalendar object consists of a sequence of calendar
       +   properties and one or more calendar components. The calendar
       +   properties are attributes that apply to the calendar as a whole. The
       +   calendar components are collections of properties that express a
       +   particular calendar semantic. For example, the calendar component can
       +   specify an event, a to-do, a journal entry, time zone information, or
       +   free/busy time information, or an alarm.
       +
       +   The body of the iCalendar object is defined by the following
       +   notation:
       +
       +     icalbody   = calprops component
       +
       +     calprops   = 2*(
       +
       +                ; 'prodid' and 'version' are both REQUIRED,
       +                ; but MUST NOT occur more than once
       +
       +                prodid /version /
       +
       +                ; 'calscale' and 'method' are optional,
       +                ; but MUST NOT occur more than once
       +
       +                calscale        /
       +                method          /
       +
       +                x-prop
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 51]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +                )
       +
       +     component  = 1*(eventc / todoc / journalc / freebusyc /
       +                / timezonec / iana-comp / x-comp)
       +
       +     iana-comp  = "BEGIN" ":" iana-token CRLF
       +
       +                  1*contentline
       +
       +                  "END" ":" iana-token CRLF
       +
       +     x-comp     = "BEGIN" ":" x-name CRLF
       +
       +                  1*contentline
       +
       +                  "END" ":" x-name CRLF
       +
       +   An iCalendar object MUST include the "PRODID" and "VERSION" calendar
       +   properties. In addition, it MUST include at least one calendar
       +   component. Special forms of iCalendar objects are possible to publish
       +   just busy time (i.e., only a "VFREEBUSY" calendar component) or time
       +   zone (i.e., only a "VTIMEZONE" calendar component) information. In
       +   addition, a complex iCalendar object is possible that is used to
       +   capture a complete snapshot of the contents of a calendar (e.g.,
       +   composite of many different calendar components). More commonly, an
       +   iCalendar object will consist of just a single "VEVENT", "VTODO" or
       +   "VJOURNAL" calendar component.
       +
       +4.6.1 Event Component
       +
       +   Component Name: "VEVENT"
       +
       +   Purpose: Provide a grouping of component properties that describe an
       +   event.
       +
       +   Format Definition: A "VEVENT" calendar component is defined by the
       +   following notation:
       +
       +     eventc     = "BEGIN" ":" "VEVENT" CRLF
       +                  eventprop *alarmc
       +                  "END" ":" "VEVENT" CRLF
       +
       +     eventprop  = *(
       +
       +                ; the following are optional,
       +                ; but MUST NOT occur more than once
       +
       +                class / created / description / dtstart / geo /
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 52]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +                last-mod / location / organizer / priority /
       +                dtstamp / seq / status / summary / transp /
       +                uid / url / recurid /
       +
       +                ; either 'dtend' or 'duration' may appear in
       +                ; a 'eventprop', but 'dtend' and 'duration'
       +                ; MUST NOT occur in the same 'eventprop'
       +
       +                dtend / duration /
       +
       +                ; the following are optional,
       +                ; and MAY occur more than once
       +
       +                attach / attendee / categories / comment /
       +                contact / exdate / exrule / rstatus / related /
       +                resources / rdate / rrule / x-prop
       +
       +                )
       +
       +   Description: A "VEVENT" calendar component is a grouping of component
       +   properties, and possibly including "VALARM" calendar components, that
       +   represents a scheduled amount of time on a calendar. For example, it
       +   can be an activity; such as a one-hour long, department meeting from
       +   8:00 AM to 9:00 AM, tomorrow. Generally, an event will take up time
       +   on an individual calendar. Hence, the event will appear as an opaque
       +   interval in a search for busy time. Alternately, the event can have
       +   its Time Transparency set to "TRANSPARENT" in order to prevent
       +   blocking of the event in searches for busy time.
       +
       +   The "VEVENT" is also the calendar component used to specify an
       +   anniversary or daily reminder within a calendar. These events have a
       +   DATE value type for the "DTSTART" property instead of the default
       +   data type of DATE-TIME. If such a "VEVENT" has a "DTEND" property, it
       +   MUST be specified as a DATE value also. The anniversary type of
       +   "VEVENT" can span more than one date (i.e, "DTEND" property value is
       +   set to a calendar date after the "DTSTART" property value).
       +
       +   The "DTSTART" property for a "VEVENT" specifies the inclusive start
       +   of the event. For recurring events, it also specifies the very first
       +   instance in the recurrence set. The "DTEND" property for a "VEVENT"
       +   calendar component specifies the non-inclusive end of the event. For
       +   cases where a "VEVENT" calendar component specifies a "DTSTART"
       +   property with a DATE data type but no "DTEND" property, the events
       +   non-inclusive end is the end of the calendar date specified by the
       +   "DTSTART" property. For cases where a "VEVENT" calendar component
       +   specifies a "DTSTART" property with a DATE-TIME data type but no
       +   "DTEND" property, the event ends on the same calendar date and time
       +   of day specified by the "DTSTART" property.
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 53]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   The "VEVENT" calendar component cannot be nested within another
       +   calendar component. However, "VEVENT" calendar components can be
       +   related to each other or to a "VTODO" or to a "VJOURNAL" calendar
       +   component with the "RELATED-TO" property.
       +
       +   Example: The following is an example of the "VEVENT" calendar
       +   component used to represent a meeting that will also be opaque to
       +   searches for busy time:
       +
       +     BEGIN:VEVENT
       +     UID:19970901T130000Z-123401@host.com
       +     DTSTAMP:19970901T1300Z
       +     DTSTART:19970903T163000Z
       +     DTEND:19970903T190000Z
       +     SUMMARY:Annual Employee Review
       +     CLASS:PRIVATE
       +     CATEGORIES:BUSINESS,HUMAN RESOURCES
       +     END:VEVENT
       +
       +   The following is an example of the "VEVENT" calendar component used
       +   to represent a reminder that will not be opaque, but rather
       +   transparent, to searches for busy time:
       +
       +     BEGIN:VEVENT
       +     UID:19970901T130000Z-123402@host.com
       +     DTSTAMP:19970901T1300Z
       +     DTSTART:19970401T163000Z
       +     DTEND:19970402T010000Z
       +     SUMMARY:Laurel is in sensitivity awareness class.
       +     CLASS:PUBLIC
       +     CATEGORIES:BUSINESS,HUMAN RESOURCES
       +     TRANSP:TRANSPARENT
       +     END:VEVENT
       +
       +   The following is an example of the "VEVENT" calendar component used
       +   to represent an anniversary that will occur annually. Since it takes
       +   up no time, it will not appear as opaque in a search for busy time;
       +   no matter what the value of the "TRANSP" property indicates:
       +
       +     BEGIN:VEVENT
       +     UID:19970901T130000Z-123403@host.com
       +     DTSTAMP:19970901T1300Z
       +     DTSTART:19971102
       +     SUMMARY:Our Blissful Anniversary
       +     CLASS:CONFIDENTIAL
       +     CATEGORIES:ANNIVERSARY,PERSONAL,SPECIAL OCCASION
       +     RRULE:FREQ=YEARLY
       +     END:VEVENT
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 54]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +4.6.2 To-do Component
       +
       +   Component Name: VTODO
       +
       +   Purpose: Provide a grouping of calendar properties that describe a
       +   to-do.
       +
       +   Formal Definition: A "VTODO" calendar component is defined by the
       +   following notation:
       +
       +     todoc      = "BEGIN" ":" "VTODO" CRLF
       +                  todoprop *alarmc
       +                  "END" ":" "VTODO" CRLF
       +
       +     todoprop   = *(
       +
       +                ; the following are optional,
       +                ; but MUST NOT occur more than once
       +
       +                class / completed / created / description / dtstamp /
       +                dtstart / geo / last-mod / location / organizer /
       +                percent / priority / recurid / seq / status /
       +                summary / uid / url /
       +
       +                ; either 'due' or 'duration' may appear in
       +                ; a 'todoprop', but 'due' and 'duration'
       +                ; MUST NOT occur in the same 'todoprop'
       +
       +                due / duration /
       +
       +                ; the following are optional,
       +                ; and MAY occur more than once
       +                attach / attendee / categories / comment / contact /
       +                exdate / exrule / rstatus / related / resources /
       +                rdate / rrule / x-prop
       +
       +                )
       +
       +   Description: A "VTODO" calendar component is a grouping of component
       +   properties and possibly "VALARM" calendar components that represent
       +   an action-item or assignment. For example, it can be used to
       +   represent an item of work assigned to an individual; such as "turn in
       +   travel expense today".
       +
       +   The "VTODO" calendar component cannot be nested within another
       +   calendar component. However, "VTODO" calendar components can be
       +   related to each other or to a "VTODO" or to a "VJOURNAL" calendar
       +   component with the "RELATED-TO" property.
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 55]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   A "VTODO" calendar component without the "DTSTART" and "DUE" (or
       +   "DURATION") properties specifies a to-do that will be associated with
       +   each successive calendar date, until it is completed.
       +
       +   Example: The following is an example of a "VTODO" calendar component:
       +
       +     BEGIN:VTODO
       +     UID:19970901T130000Z-123404@host.com
       +     DTSTAMP:19970901T1300Z
       +     DTSTART:19970415T133000Z
       +     DUE:19970416T045959Z
       +     SUMMARY:1996 Income Tax Preparation
       +     CLASS:CONFIDENTIAL
       +     CATEGORIES:FAMILY,FINANCE
       +     PRIORITY:1
       +     STATUS:NEEDS-ACTION
       +     END:VTODO
       +
       +4.6.3 Journal Component
       +
       +   Component Name: VJOURNAL
       +
       +   Purpose: Provide a grouping of component properties that describe a
       +   journal entry.
       +
       +   Formal Definition: A "VJOURNAL" calendar component is defined by the
       +   following notation:
       +
       +     journalc   = "BEGIN" ":" "VJOURNAL" CRLF
       +                  jourprop
       +                  "END" ":" "VJOURNAL" CRLF
       +
       +     jourprop   = *(
       +
       +                ; the following are optional,
       +                ; but MUST NOT occur more than once
       +
       +                class / created / description / dtstart / dtstamp /
       +                last-mod / organizer / recurid / seq / status /
       +                summary / uid / url /
       +
       +                ; the following are optional,
       +                ; and MAY occur more than once
       +
       +                attach / attendee / categories / comment /
       +                contact / exdate / exrule / related / rdate /
       +                rrule / rstatus / x-prop
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 56]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +                )
       +
       +   Description: A "VJOURNAL" calendar component is a grouping of
       +   component properties that represent one or more descriptive text
       +   notes associated with a particular calendar date. The "DTSTART"
       +   property is used to specify the calendar date that the journal entry
       +   is associated with. Generally, it will have a DATE value data type,
       +   but it can also be used to specify a DATE-TIME value data type.
       +   Examples of a journal entry include a daily record of a legislative
       +   body or a journal entry of individual telephone contacts for the day
       +   or an ordered list of accomplishments for the day. The "VJOURNAL"
       +   calendar component can also be used to associate a document with a
       +   calendar date.
       +
       +   The "VJOURNAL" calendar component does not take up time on a
       +   calendar. Hence, it does not play a role in free or busy time
       +   searches - - it is as though it has a time transparency value of
       +   TRANSPARENT. It is transparent to any such searches.
       +
       +   The "VJOURNAL" calendar component cannot be nested within another
       +   calendar component. However, "VJOURNAL" calendar components can be
       +   related to each other or to a "VEVENT" or to a "VTODO" calendar
       +   component, with the "RELATED-TO" property.
       +
       +   Example: The following is an example of the "VJOURNAL" calendar
       +   component:
       +
       +     BEGIN:VJOURNAL
       +     UID:19970901T130000Z-123405@host.com
       +     DTSTAMP:19970901T1300Z
       +     DTSTART;VALUE=DATE:19970317
       +     SUMMARY:Staff meeting minutes
       +     DESCRIPTION:1. Staff meeting: Participants include Joe\, Lisa
       +       and Bob. Aurora project plans were reviewed. There is currently
       +       no budget reserves for this project. Lisa will escalate to
       +       management. Next meeting on Tuesday.\n
       +       2. Telephone Conference: ABC Corp. sales representative called
       +       to discuss new printer. Promised to get us a demo by Friday.\n
       +       3. Henry Miller (Handsoff Insurance): Car was totaled by tree.
       +       Is looking into a loaner car. 654-2323 (tel).
       +     END:VJOURNAL
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 57]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +4.6.4 Free/Busy Component
       +
       +   Component Name: VFREEBUSY
       +
       +   Purpose: Provide a grouping of component properties that describe
       +   either a request for free/busy time, describe a response to a request
       +   for free/busy time or describe a published set of busy time.
       +
       +   Formal Definition: A "VFREEBUSY" calendar component is defined by the
       +   following notation:
       +
       +     freebusyc  = "BEGIN" ":" "VFREEBUSY" CRLF
       +                  fbprop
       +                  "END" ":" "VFREEBUSY" CRLF
       +
       +     fbprop     = *(
       +
       +                ; the following are optional,
       +                ; but MUST NOT occur more than once
       +
       +                contact / dtstart / dtend / duration / dtstamp /
       +                organizer / uid / url /
       +
       +                ; the following are optional,
       +                ; and MAY occur more than once
       +
       +                attendee / comment / freebusy / rstatus / x-prop
       +
       +                )
       +
       +   Description: A "VFREEBUSY" calendar component is a grouping of
       +   component properties that represents either a request for, a reply to
       +   a request for free or busy time information or a published set of
       +   busy time information.
       +
       +   When used to request free/busy time information, the "ATTENDEE"
       +   property specifies the calendar users whose free/busy time is being
       +   requested; the "ORGANIZER" property specifies the calendar user who
       +   is requesting the free/busy time; the "DTSTART" and "DTEND"
       +   properties specify the window of time for which the free/busy time is
       +   being requested; the "UID" and "DTSTAMP" properties are specified to
       +   assist in proper sequencing of multiple free/busy time requests.
       +
       +   When used to reply to a request for free/busy time, the "ATTENDEE"
       +   property specifies the calendar user responding to the free/busy time
       +   request; the "ORGANIZER" property specifies the calendar user that
       +   originally requested the free/busy time; the "FREEBUSY" property
       +   specifies the free/busy time information (if it exists); and the
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 58]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   "UID" and "DTSTAMP" properties are specified to assist in proper
       +   sequencing of multiple free/busy time replies.
       +
       +   When used to publish busy time, the "ORGANIZER" property specifies
       +   the calendar user associated with the published busy time; the
       +   "DTSTART" and "DTEND" properties specify an inclusive time window
       +   that surrounds the busy time information; the "FREEBUSY" property
       +   specifies the published busy time information; and the "DTSTAMP"
       +   property specifies the date/time that iCalendar object was created.
       +
       +   The "VFREEBUSY" calendar component cannot be nested within another
       +   calendar component. Multiple "VFREEBUSY" calendar components can be
       +   specified within an iCalendar object. This permits the grouping of
       +   Free/Busy information into logical collections, such as monthly
       +   groups of busy time information.
       +
       +   The "VFREEBUSY" calendar component is intended for use in iCalendar
       +   object methods involving requests for free time, requests for busy
       +   time, requests for both free and busy, and the associated replies.
       +
       +   Free/Busy information is represented with the "FREEBUSY" property.
       +   This property provides a terse representation of time periods. One or
       +   more "FREEBUSY" properties can be specified in the "VFREEBUSY"
       +   calendar component.
       +
       +   When present in a "VFREEBUSY" calendar component, the "DTSTART" and
       +   "DTEND" properties SHOULD be specified prior to any "FREEBUSY"
       +   properties. In a free time request, these properties can be used in
       +   combination with the "DURATION" property to represent a request for a
       +   duration of free time within a specified window of time.
       +
       +   The recurrence properties ("RRULE", "EXRULE", "RDATE", "EXDATE") are
       +   not permitted within a "VFREEBUSY" calendar component. Any recurring
       +   events are resolved into their individual busy time periods using the
       +   "FREEBUSY" property.
       +
       +   Example: The following is an example of a "VFREEBUSY" calendar
       +   component used to request free or busy time information:
       +
       +     BEGIN:VFREEBUSY
       +     ORGANIZER:MAILTO:jane_doe@host1.com
       +     ATTENDEE:MAILTO:john_public@host2.com
       +     DTSTART:19971015T050000Z
       +     DTEND:19971016T050000Z
       +     DTSTAMP:19970901T083000Z
       +     END:VFREEBUSY
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 59]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   The following is an example of a "VFREEBUSY" calendar component used
       +   to reply to the request with busy time information:
       +
       +     BEGIN:VFREEBUSY
       +     ORGANIZER:MAILTO:jane_doe@host1.com
       +     ATTENDEE:MAILTO:john_public@host2.com
       +     DTSTAMP:19970901T100000Z
       +     FREEBUSY;VALUE=PERIOD:19971015T050000Z/PT8H30M,
       +      19971015T160000Z/PT5H30M,19971015T223000Z/PT6H30M
       +     URL:http://host2.com/pub/busy/jpublic-01.ifb
       +     COMMENT:This iCalendar file contains busy time information for
       +       the next three months.
       +     END:VFREEBUSY
       +
       +   The following is an example of a "VFREEBUSY" calendar component used
       +   to publish busy time information.
       +
       +     BEGIN:VFREEBUSY
       +     ORGANIZER:jsmith@host.com
       +     DTSTART:19980313T141711Z
       +     DTEND:19980410T141711Z
       +     FREEBUSY:19980314T233000Z/19980315T003000Z
       +     FREEBUSY:19980316T153000Z/19980316T163000Z
       +     FREEBUSY:19980318T030000Z/19980318T040000Z
       +     URL:http://www.host.com/calendar/busytime/jsmith.ifb
       +     END:VFREEBUSY
       +
       +4.6.5 Time Zone Component
       +
       +   Component Name: VTIMEZONE
       +
       +   Purpose: Provide a grouping of component properties that defines a
       +   time zone.
       +
       +   Formal Definition: A "VTIMEZONE" calendar component is defined by the
       +   following notation:
       +
       +     timezonec  = "BEGIN" ":" "VTIMEZONE" CRLF
       +
       +                  2*(
       +
       +                  ; 'tzid' is required, but MUST NOT occur more
       +                  ; than once
       +
       +                tzid /
       +
       +                  ; 'last-mod' and 'tzurl' are optional,
       +                but MUST NOT occur more than once
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 60]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +                last-mod / tzurl /
       +
       +                  ; one of 'standardc' or 'daylightc' MUST occur
       +                ..; and each MAY occur more than once.
       +
       +                standardc / daylightc /
       +
       +                ; the following is optional,
       +                ; and MAY occur more than once
       +
       +                  x-prop
       +
       +                  )
       +
       +                  "END" ":" "VTIMEZONE" CRLF
       +
       +     standardc  = "BEGIN" ":" "STANDARD" CRLF
       +
       +                  tzprop
       +
       +                  "END" ":" "STANDARD" CRLF
       +
       +     daylightc  = "BEGIN" ":" "DAYLIGHT" CRLF
       +
       +                  tzprop
       +
       +                  "END" ":" "DAYLIGHT" CRLF
       +
       +     tzprop     = 3*(
       +
       +                ; the following are each REQUIRED,
       +                ; but MUST NOT occur more than once
       +
       +                dtstart / tzoffsetto / tzoffsetfrom /
       +
       +                ; the following are optional,
       +                ; and MAY occur more than once
       +
       +                comment / rdate / rrule / tzname / x-prop
       +
       +                )
       +
       +   Description: A time zone is unambiguously defined by the set of time
       +   measurement rules determined by the governing body for a given
       +   geographic area. These rules describe at a minimum the base  offset
       +   from UTC for the time zone, often referred to as the Standard Time
       +   offset. Many locations adjust their Standard Time forward or backward
       +   by one hour, in order to accommodate seasonal changes in number of
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 61]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   daylight hours, often referred to as Daylight  Saving Time. Some
       +   locations adjust their time by a fraction of an hour. Standard Time
       +   is also known as Winter Time. Daylight Saving Time is also known as
       +   Advanced Time, Summer Time, or Legal Time in certain countries. The
       +   following table shows the changes in time zone rules in effect for
       +   New York City starting from 1967. Each line represents a description
       +   or rule for a particular observance.
       +
       +     Effective Observance Rule
       +
       +     Date       (Date/Time)             Offset  Abbreviation
       +
       +     1967-*     last Sun in Oct, 02:00  -0500   EST
       +
       +     1967-1973  last Sun in Apr, 02:00  -0400   EDT
       +
       +     1974-1974  Jan 6,  02:00           -0400   EDT
       +
       +     1975-1975  Feb 23, 02:00           -0400   EDT
       +
       +     1976-1986  last Sun in Apr, 02:00  -0400   EDT
       +
       +     1987-*     first Sun in Apr, 02:00 -0400   EDT
       +
       +        Note: The specification of a global time zone registry is not
       +        addressed by this document and is left for future study.
       +        However, implementers may find the Olson time zone database [TZ]
       +        a useful reference. It is an informal, public-domain collection
       +        of time zone information, which is currently being maintained by
       +        volunteer Internet participants, and is used in several
       +        operating systems. This database contains current and historical
       +        time zone information for a wide variety of locations around the
       +        globe; it provides a time zone identifier for every unique time
       +        zone rule set in actual use since 1970, with historical data
       +        going back to the introduction of standard time.
       +
       +   Interoperability between two calendaring and scheduling applications,
       +   especially for recurring events, to-dos or journal entries, is
       +   dependent on the ability to capture and convey date and time
       +   information in an unambiguous format. The specification of current
       +   time zone information is integral to this behavior.
       +
       +   If present, the "VTIMEZONE" calendar component defines the set of
       +   Standard Time and Daylight Saving Time observances (or rules) for a
       +   particular time zone for a given interval of time. The "VTIMEZONE"
       +   calendar component cannot be nested within other calendar components.
       +   Multiple "VTIMEZONE" calendar components can exist in an iCalendar
       +   object. In this situation, each "VTIMEZONE" MUST represent a unique
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 62]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   time zone definition. This is necessary for some classes of events,
       +   such as airline flights, that start in one time zone and end in
       +   another.
       +
       +   The "VTIMEZONE" calendar component MUST be present if the iCalendar
       +   object contains an RRULE that generates dates on both sides of a time
       +   zone shift (e.g. both in Standard Time and Daylight Saving Time)
       +   unless the iCalendar object intends to convey a floating time (See
       +   the section "4.1.10.11 Time" for proper interpretation of floating
       +   time). It can be present if the iCalendar object does not contain
       +   such a RRULE. In addition, if a RRULE is present, there MUST be valid
       +   time zone information for all recurrence instances.
       +
       +   The "VTIMEZONE" calendar component MUST include the "TZID" property
       +   and at least one definition of a standard or daylight component. The
       +   standard or daylight component MUST include the "DTSTART",
       +   "TZOFFSETFROM" and "TZOFFSETTO" properties.
       +
       +   An individual "VTIMEZONE" calendar component MUST be specified for
       +   each unique "TZID" parameter value specified in the iCalendar object.
       +
       +   Each "VTIMEZONE" calendar component consists of a collection of one
       +   or more sub-components that describe the rule for a particular
       +   observance (either a Standard Time or a Daylight Saving Time
       +   observance). The "STANDARD" sub-component consists of a collection of
       +   properties that describe Standard Time. The "DAYLIGHT" sub-component
       +   consists of a collection of properties that describe Daylight Saving
       +   Time. In general this collection of properties consists of:
       +
       +        - the first onset date-time for the observance
       +
       +        - the last onset date-time for the observance, if a last onset
       +          is known.
       +
       +        - the offset to be applied for the observance
       +
       +        - a rule that describes the day and time when the observance
       +          takes effect
       +
       +        - an optional name for the observance
       +
       +   For a given time zone, there may be multiple unique definitions of
       +   the observances over a period of time. Each observance is described
       +   using either a "STANDARD" or "DAYLIGHT" sub-component. The collection
       +   of these sub-components is used to describe the time zone for a given
       +   period of time. The offset to apply at any given time is found by
       +   locating the observance that has the last onset date and time before
       +   the time in question, and using the offset value from that
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 63]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   observance.
       +
       +   The top-level properties in a "VTIMEZONE" calendar component are:
       +
       +   The mandatory "TZID" property is a text value that uniquely
       +   identifies the VTIMZONE calendar component within the scope of an
       +   iCalendar object.
       +
       +   The optional "LAST-MODIFIED" property is a UTC value that specifies
       +   the date and time that this time zone definition was last updated.
       +
       +   The optional "TZURL" property is url value that points to a published
       +   VTIMEZONE definition. TZURL SHOULD refer to a resource that is
       +   accessible by anyone who might need to interpret the object. This
       +   SHOULD NOT normally be a file: URL or other URL that is not widely-
       +   accessible.
       +
       +   The collection of properties that are used to define the STANDARD and
       +   DAYLIGHT sub-components include:
       +
       +   The mandatory "DTSTART" property gives the effective onset date and
       +   local time for the time zone sub-component definition. "DTSTART" in
       +   this usage MUST be specified as a local DATE-TIME value.
       +
       +   The mandatory "TZOFFSETFROM" property gives the UTC offset which is
       +   in use when the onset of this time zone observance begins.
       +   "TZOFFSETFROM" is combined with "DTSTART" to define the effective
       +   onset for the time zone sub-component definition. For example, the
       +   following represents the time at which the observance of Standard
       +   Time took effect in Fall 1967 for New York City:
       +
       +     DTSTART:19671029T020000
       +
       +     TZOFFSETFROM:-0400
       +
       +   The mandatory "TZOFFSETTO " property gives the UTC offset for the
       +   time zone sub-component (Standard Time or Daylight Saving Time) when
       +   this observance is in use.
       +
       +   The optional "TZNAME" property is the customary name for the time
       +   zone. It may be specified multiple times, to allow for specifying
       +   multiple language variants of the time zone names. This could be used
       +   for displaying dates.
       +
       +   If specified, the onset for the observance defined by the time zone
       +   sub-component is defined by either the "RRULE" or "RDATE" property.
       +   If neither is specified, only one sub-component can be specified in
       +   the "VTIMEZONE" calendar component and it is assumed that the single
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 64]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   observance specified is always in effect.
       +
       +   The "RRULE" property defines the recurrence rule for the onset of the
       +   observance defined by this time zone sub-component. Some specific
       +   requirements for the usage of RRULE for this purpose include:
       +
       +        - If observance is known to have an effective end date, the
       +        "UNTIL" recurrence rule parameter MUST be used to specify the
       +        last valid onset of this observance (i.e., the UNTIL date-time
       +        will be equal to the last instance generated by the recurrence
       +        pattern). It MUST be specified in UTC time.
       +
       +        - The "DTSTART" and the "TZOFFSETTO" properties MUST be used
       +        when generating the onset date-time values (instances) from the
       +        RRULE.
       +
       +   Alternatively, the "RDATE" property can be used to define the onset
       +   of the observance by giving the individual onset date and times.
       +   "RDATE" in this usage MUST be specified as a local DATE-TIME value in
       +   UTC time.
       +
       +   The optional "COMMENT" property is also allowed for descriptive
       +   explanatory text.
       +
       +   Example: The following are examples of the "VTIMEZONE" calendar
       +   component:
       +
       +   This is an example showing time zone information for the Eastern
       +   United States using "RDATE" property. Note that this is only suitable
       +   for a recurring event that starts on or later than April 6, 1997 at
       +   03:00:00 EDT (i.e., the earliest effective transition date and time)
       +   and ends no later than April 7, 1998 02:00:00 EST (i.e., latest valid
       +   date and time for EST in this scenario). For example, this can be
       +   used for a recurring event that occurs every Friday, 8am-9:00 AM,
       +   starting June 1, 1997, ending December 31, 1997.
       +
       +     BEGIN:VTIMEZONE
       +     TZID:US-Eastern
       +     LAST-MODIFIED:19870101T000000Z
       +     BEGIN:STANDARD
       +     DTSTART:19971026T020000
       +     RDATE:19971026T020000
       +     TZOFFSETFROM:-0400
       +     TZOFFSETTO:-0500
       +     TZNAME:EST
       +     END:STANDARD
       +     BEGIN:DAYLIGHT
       +     DTSTART:19971026T020000
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 65]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +     RDATE:19970406T020000
       +     TZOFFSETFROM:-0500
       +     TZOFFSETTO:-0400
       +     TZNAME:EDT
       +     END:DAYLIGHT
       +     END:VTIMEZONE
       +
       +   This is a simple example showing the current time zone rules for the
       +   Eastern United States using a RRULE recurrence pattern. Note that
       +   there is no effective end date to either of the Standard Time or
       +   Daylight Time rules. This information would be valid for a recurring
       +   event starting today and continuing indefinitely.
       +
       +     BEGIN:VTIMEZONE
       +     TZID:US-Eastern
       +     LAST-MODIFIED:19870101T000000Z
       +     TZURL:http://zones.stds_r_us.net/tz/US-Eastern
       +     BEGIN:STANDARD
       +     DTSTART:19671029T020000
       +     RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
       +     TZOFFSETFROM:-0400
       +     TZOFFSETTO:-0500
       +     TZNAME:EST
       +     END:STANDARD
       +     BEGIN:DAYLIGHT
       +     DTSTART:19870405T020000
       +     RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
       +     TZOFFSETFROM:-0500
       +     TZOFFSETTO:-0400
       +     TZNAME:EDT
       +     END:DAYLIGHT
       +     END:VTIMEZONE
       +
       +   This is an example showing a fictitious set of rules for the Eastern
       +   United States, where the Daylight Time rule has an effective end date
       +   (i.e., after that date, Daylight Time is no longer observed).
       +
       +     BEGIN:VTIMEZONE
       +     TZID:US--Fictitious-Eastern
       +     LAST-MODIFIED:19870101T000000Z
       +     BEGIN:STANDARD
       +     DTSTART:19671029T020000
       +     RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
       +     TZOFFSETFROM:-0400
       +     TZOFFSETTO:-0500
       +     TZNAME:EST
       +     END:STANDARD
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 66]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +     BEGIN:DAYLIGHT
       +     DTSTART:19870405T020000
       +     RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4;UNTIL=19980404T070000Z
       +     TZOFFSETFROM:-0500
       +     TZOFFSETTO:-0400
       +     TZNAME:EDT
       +     END:DAYLIGHT
       +     END:VTIMEZONE
       +
       +   This is an example showing a fictitious set of rules for the Eastern
       +   United States, where the first Daylight Time rule has an effective
       +   end date. There is a second Daylight Time rule that picks up where
       +   the other left off.
       +
       +     BEGIN:VTIMEZONE
       +     TZID:US--Fictitious-Eastern
       +     LAST-MODIFIED:19870101T000000Z
       +     BEGIN:STANDARD
       +     DTSTART:19671029T020000
       +     RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
       +     TZOFFSETFROM:-0400
       +     TZOFFSETTO:-0500
       +     TZNAME:EST
       +     END:STANDARD
       +     BEGIN:DAYLIGHT
       +     DTSTART:19870405T020000
       +     RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4;UNTIL=19980404T070000Z
       +     TZOFFSETFROM:-0500
       +     TZOFFSETTO:-0400
       +     TZNAME:EDT
       +     END:DAYLIGHT
       +     BEGIN:DAYLIGHT
       +     DTSTART:19990424T020000
       +     RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=4
       +     TZOFFSETFROM:-0500
       +     TZOFFSETTO:-0400
       +     TZNAME:EDT
       +     END:DAYLIGHT
       +     END:VTIMEZONE
       +
       +4.6.6 Alarm Component
       +
       +   Component Name: VALARM
       +
       +   Purpose: Provide a grouping of component properties that define an
       +   alarm.
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 67]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   Formal Definition: A "VALARM" calendar component is defined by the
       +   following notation:
       +
       +          alarmc     = "BEGIN" ":" "VALARM" CRLF
       +                       (audioprop / dispprop / emailprop / procprop)
       +                       "END" ":" "VALARM" CRLF
       +
       +     audioprop  = 2*(
       +
       +                ; 'action' and 'trigger' are both REQUIRED,
       +                ; but MUST NOT occur more than once
       +
       +                action / trigger /
       +
       +                ; 'duration' and 'repeat' are both optional,
       +                ; and MUST NOT occur more than once each,
       +                ; but if one occurs, so MUST the other
       +
       +                duration / repeat /
       +
       +                ; the following is optional,
       +                ; but MUST NOT occur more than once
       +
       +                attach /
       +
       +                ; the following is optional,
       +                ; and MAY occur more than once
       +
       +                x-prop
       +
       +                )
       +
       +
       +
       +     dispprop   = 3*(
       +
       +                ; the following are all REQUIRED,
       +                ; but MUST NOT occur more than once
       +
       +                action / description / trigger /
       +
       +                ; 'duration' and 'repeat' are both optional,
       +                ; and MUST NOT occur more than once each,
       +                ; but if one occurs, so MUST the other
       +
       +                duration / repeat /
       +
       +                ; the following is optional,
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 68]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +                ; and MAY occur more than once
       +
       +                *x-prop
       +
       +                )
       +
       +
       +
       +     emailprop  = 5*(
       +
       +                ; the following are all REQUIRED,
       +                ; but MUST NOT occur more than once
       +
       +                action / description / trigger / summary
       +
       +                ; the following is REQUIRED,
       +                ; and MAY occur more than once
       +
       +                attendee /
       +
       +                ; 'duration' and 'repeat' are both optional,
       +                ; and MUST NOT occur more than once each,
       +                ; but if one occurs, so MUST the other
       +
       +                duration / repeat /
       +
       +                ; the following are optional,
       +                ; and MAY occur more than once
       +
       +                attach / x-prop
       +
       +                )
       +
       +
       +
       +     procprop   = 3*(
       +
       +                ; the following are all REQUIRED,
       +                ; but MUST NOT occur more than once
       +
       +                action / attach / trigger /
       +
       +                ; 'duration' and 'repeat' are both optional,
       +                ; and MUST NOT occur more than once each,
       +                ; but if one occurs, so MUST the other
       +
       +                duration / repeat /
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 69]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +                ; 'description' is optional,
       +                ; and MUST NOT occur more than once
       +
       +                description /
       +
       +                ; the following is optional,
       +                ; and MAY occur more than once
       +
       +                x-prop
       +
       +                )
       +
       +   Description: A "VALARM" calendar component is a grouping of component
       +   properties that is a reminder or alarm for an event or a to-do. For
       +   example, it may be used to define a reminder for a pending event or
       +   an overdue to-do.
       +
       +   The "VALARM" calendar component MUST include the "ACTION" and
       +   "TRIGGER" properties. The "ACTION" property further constrains the
       +   "VALARM" calendar component in the following ways:
       +
       +   When the action is "AUDIO", the alarm can also include one and only
       +   one "ATTACH" property, which MUST point to a sound resource, which is
       +   rendered when the alarm is triggered.
       +
       +   When the action is "DISPLAY", the alarm MUST also include a
       +   "DESCRIPTION" property, which contains the text to be displayed when
       +   the alarm is triggered.
       +
       +   When the action is "EMAIL", the alarm MUST include a "DESCRIPTION"
       +   property, which contains the text to be used as the message body, a
       +   "SUMMARY" property, which contains the text to be used as the message
       +   subject, and one or more "ATTENDEE" properties, which contain the
       +   email address of attendees to receive the message. It can also
       +   include one or more "ATTACH" properties, which are intended to be
       +   sent as message attachments. When the alarm is triggered, the email
       +   message is sent.
       +
       +   When the action is "PROCEDURE", the alarm MUST include one and only
       +   one "ATTACH" property, which MUST point to a procedure resource,
       +   which is invoked when the alarm is triggered.
       +
       +   The "VALARM" calendar component MUST only appear within either a
       +   "VEVENT" or "VTODO" calendar component. "VALARM" calendar components
       +   cannot be nested. Multiple mutually independent "VALARM" calendar
       +   components can be specified for a single "VEVENT" or "VTODO" calendar
       +   component.
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 70]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   The "TRIGGER" property specifies when the alarm will be triggered.
       +   The "TRIGGER" property specifies a duration prior to the start of an
       +   event or a to-do. The "TRIGGER" edge may be explicitly set to be
       +   relative to the "START" or "END" of the event or to-do with the
       +   "RELATED" parameter of the "TRIGGER" property. The "TRIGGER" property
       +   value type can alternatively be set to an absolute calendar date and
       +   time of day value.
       +
       +   In an alarm set to trigger on the "START" of an event or to-do, the
       +   "DTSTART" property MUST be present in the associated event or to-do.
       +   In an alarm in a "VEVENT" calendar component set to trigger on the
       +   "END" of the event, either the "DTEND" property MUST be present, or
       +   the "DTSTART" and "DURATION" properties MUST both be present. In an
       +   alarm in a "VTODO" calendar component set to trigger on the "END" of
       +   the to-do, either the "DUE" property MUST be present, or the
       +   "DTSTART" and "DURATION" properties MUST both be present.
       +
       +   The alarm can be defined such that it triggers repeatedly. A
       +   definition of an alarm with a repeating trigger MUST include both the
       +   "DURATION" and "REPEAT" properties. The "DURATION" property specifies
       +   the delay period, after which the alarm will repeat. The "REPEAT"
       +   property specifies the number of additional repetitions that the
       +   alarm will triggered. This repitition count is in addition to the
       +   initial triggering of the alarm. Both of these properties MUST be
       +   present in order to specify a repeating alarm. If one of these two
       +   properties is absent, then the alarm will not repeat beyond the
       +   initial trigger.
       +
       +   The "ACTION" property is used within the "VALARM" calendar component
       +   to specify the type of action invoked when the alarm is triggered.
       +   The "VALARM" properties provide enough information for a specific
       +   action to be invoked. It is typically the responsibility of a
       +   "Calendar User Agent" (CUA) to deliver the alarm in the specified
       +   fashion. An "ACTION" property value of AUDIO specifies an alarm that
       +   causes a sound to be played to alert the user; DISPLAY specifies an
       +   alarm that causes a text message to be displayed to the user; EMAIL
       +   specifies an alarm that causes an electronic email message to be
       +   delivered to one or more email addresses; and PROCEDURE specifies an
       +   alarm that causes a procedure to be executed. The "ACTION" property
       +   MUST specify one and only one of these values.
       +
       +   In an AUDIO alarm, if the optional "ATTACH" property is included, it
       +   MUST specify an audio sound resource. The intention is that the sound
       +   will be played as the alarm effect. If an "ATTACH" property is
       +   specified that does not refer to a sound resource, or if the
       +   specified sound resource cannot be rendered (because its format is
       +   unsupported, or because it cannot be retrieved), then the CUA or
       +   other entity responsible for playing the sound may choose a fallback
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 71]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   action, such as playing a built-in default sound, or playing no sound
       +   at all.
       +
       +   In a DISPLAY alarm, the intended alarm effect is for the text value
       +   of the "DESCRIPTION" property to be displayed to the user.
       +
       +   In an EMAIL alarm, the intended alarm effect is for an email message
       +   to be composed and delivered to all the addresses specified by the
       +   "ATTENDEE" properties in the "VALARM" calendar component. The
       +   "DESCRIPTION" property of the "VALARM" calendar component MUST be
       +   used as the body text of the message, and the "SUMMARY" property MUST
       +   be used as the subject text. Any "ATTACH" properties in the "VALARM"
       +   calendar component SHOULD be sent as attachments to the message.
       +
       +   In a PROCEDURE alarm, the "ATTACH" property in the "VALARM" calendar
       +   component MUST specify a procedure or program that is intended to be
       +   invoked as the alarm effect. If the procedure or program is in a
       +   format that cannot be rendered, then no procedure alarm will be
       +   invoked. If the "DESCRIPTION" property is present, its value
       +   specifies the argument string to be passed to the procedure or
       +   program. "Calendar User Agents" that receive an iCalendar object with
       +   this category of alarm, can disable or allow the "Calendar User" to
       +   disable, or otherwise ignore this type of alarm. While a very useful
       +   alarm capability, the PROCEDURE type of alarm SHOULD be treated by
       +   the "Calendar User Agent" as a potential security risk.
       +
       +   Example: The following example is for a "VALARM" calendar component
       +   that specifies an audio alarm that will sound at a precise time and
       +   repeat 4 more times at 15 minute intervals:
       +
       +     BEGIN:VALARM
       +     TRIGGER;VALUE=DATE-TIME:19970317T133000Z
       +     REPEAT:4
       +     DURATION:PT15M
       +     ACTION:AUDIO
       +     ATTACH;FMTTYPE=audio/basic:ftp://host.com/pub/sounds/bell-01.aud
       +     END:VALARM
       +
       +   The following example is for a "VALARM" calendar component that
       +   specifies a display alarm that will trigger 30 minutes before the
       +   scheduled start of the event or the due date/time of the to-do it is
       +   associated with and will repeat 2 more times at 15 minute intervals:
       +
       +     BEGIN:VALARM
       +     TRIGGER:-PT30M
       +     REPEAT:2
       +     DURATION:PT15M
       +     ACTION:DISPLAY
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 72]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +     DESCRIPTION:Breakfast meeting with executive\n
       +      team at 8:30 AM EST.
       +     END:VALARM
       +
       +   The following example is for a "VALARM" calendar component that
       +   specifies an email alarm that will trigger 2 days before the
       +   scheduled due date/time of a to-do it is associated with. It does not
       +   repeat. The email has a subject, body and attachment link.
       +
       +     BEGIN:VALARM
       +     TRIGGER:-P2D
       +     ACTION:EMAIL
       +     ATTENDEE:MAILTO:john_doe@host.com
       +     SUMMARY:*** REMINDER: SEND AGENDA FOR WEEKLY STAFF MEETING ***
       +     DESCRIPTION:A draft agenda needs to be sent out to the attendees
       +       to the weekly managers meeting (MGR-LIST). Attached is a
       +       pointer the document template for the agenda file.
       +     ATTACH;FMTTYPE=application/binary:http://host.com/templates/agen
       +      da.doc
       +     END:VALARM
       +
       +   The following example is for a "VALARM" calendar component that
       +   specifies a procedural alarm that will trigger at a precise date/time
       +   and will repeat 23 more times at one hour intervals. The alarm will
       +   invoke a procedure file.
       +
       +     BEGIN:VALARM
       +     TRIGGER;VALUE=DATE-TIME:19980101T050000Z
       +     REPEAT:23
       +     DURATION:PT1H
       +     ACTION:PROCEDURE
       +     ATTACH;FMTTYPE=application/binary:ftp://host.com/novo-
       +      procs/felizano.exe
       +     END:VALARM
       +
       +4.7 Calendar Properties
       +
       +   The Calendar Properties are attributes that apply to the iCalendar
       +   object, as a whole. These properties do not appear within a calendar
       +   component. They SHOULD be specified after the "BEGIN:VCALENDAR"
       +   property and prior to any calendar component.
       +
       +4.7.1 Calendar Scale
       +
       +   Property Name: CALSCALE
       +
       +   Purpose: This property defines the calendar scale used for the
       +   calendar information specified in the iCalendar object.
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 73]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   Value Type: TEXT
       +
       +   Property Parameters: Non-standard property parameters can be
       +   specified on this property.
       +
       +   Conformance: Property can be specified in an iCalendar object. The
       +   default value is "GREGORIAN".
       +
       +   Description: This memo is based on the Gregorian calendar scale. The
       +   Gregorian calendar scale is assumed if this property is not specified
       +   in the iCalendar object. It is expected that other calendar scales
       +   will be defined in other specifications or by future versions of this
       +   memo.
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     calscale   = "CALSCALE" calparam ":" calvalue CRLF
       +
       +     calparam   = *(";" xparam)
       +
       +     calvalue   = "GREGORIAN" / iana-token
       +
       +   Example: The following is an example of this property:
       +
       +     CALSCALE:GREGORIAN
       +
       +4.7.2 Method
       +
       +   Property Name: METHOD
       +
       +   Purpose: This property defines the iCalendar object method associated
       +   with the calendar object.
       +
       +   Value Type: TEXT
       +
       +   Property Parameters: Non-standard property parameters can be
       +   specified on this property.
       +
       +   Conformance: The property can be specified in an iCalendar object.
       +
       +   Description: When used in a MIME message entity, the value of this
       +   property MUST be the same as the Content-Type "method" parameter
       +   value. This property can only appear once within the iCalendar
       +   object. If either the "METHOD" property or the Content-Type "method"
       +   parameter is specified, then the other MUST also be specified.
       +
       +   No methods are defined by this specification. This is the subject of
       +   other specifications, such as the iCalendar Transport-independent
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 74]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   Interoperability Protocol (iTIP) defined by [ITIP].
       +
       +   If this property is not present in the iCalendar object, then a
       +   scheduling transaction MUST NOT be assumed. In such cases, the
       +   iCalendar object is merely being used to transport a snapshot of some
       +   calendar information; without the intention of conveying a scheduling
       +   semantic.
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     method     = "METHOD" metparam ":" metvalue CRLF
       +
       +     metparam   = *(";" xparam)
       +
       +     metvalue   = iana-token
       +
       +   Example: The following is a hypothetical example of this property to
       +   convey that the iCalendar object is a request for a meeting:
       +
       +     METHOD:REQUEST
       +
       +4.7.3 Product Identifier
       +
       +   Property Name: PRODID
       +
       +   Purpose: This property specifies the identifier for the product that
       +   created the iCalendar object.
       +
       +   Value Type: TEXT
       +
       +   Property Parameters: Non-standard property parameters can be
       +   specified on this property.
       +
       +   Conformance: The property MUST be specified once in an iCalendar
       +   object.
       +
       +   Description: The vendor of the implementation SHOULD assure that this
       +   is a globally unique identifier; using some technique such as an FPI
       +   value, as defined in [ISO 9070].
       +
       +   This property SHOULD not be used to alter the interpretation of an
       +   iCalendar object beyond the semantics specified in this memo. For
       +   example, it is not to be used to further the understanding of non-
       +   standard properties.
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     prodid     = "PRODID" pidparam ":" pidvalue CRLF
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 75]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +     pidparam   = *(";" xparam)
       +
       +     pidvalue   = text
       +     ;Any text that describes the product and version
       +     ;and that is generally assured of being unique.
       +
       +   Example: The following is an example of this property. It does not
       +   imply that English is the default language.
       +
       +     PRODID:-//ABC Corporation//NONSGML My Product//EN
       +
       +4.7.4 Version
       +
       +   Property Name: VERSION
       +
       +   Purpose: This property specifies the identifier corresponding to the
       +   highest version number or the minimum and maximum range of the
       +   iCalendar specification that is required in order to interpret the
       +   iCalendar object.
       +
       +   Value Type: TEXT
       +
       +   Property Parameters: Non-standard property parameters can be
       +   specified on this property.
       +
       +   Conformance: This property MUST be specified by an iCalendar object,
       +   but MUST only be specified once.
       +
       +   Description: A value of "2.0" corresponds to this memo.
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     version    = "VERSION" verparam ":" vervalue CRLF
       +
       +     verparam   = *(";" xparam)
       +
       +     vervalue   = "2.0"         ;This memo
       +                / maxver
       +                / (minver ";" maxver)
       +
       +     minver     = <A IANA registered iCalendar version identifier>
       +     ;Minimum iCalendar version needed to parse the iCalendar object
       +
       +     maxver     = <A IANA registered iCalendar version identifier>
       +     ;Maximum iCalendar version needed to parse the iCalendar object
       +
       +   Example: The following is an example of this property:
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 76]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +     VERSION:2.0
       +
       +4.8 Component Properties
       +
       +   The following properties can appear within calendar components, as
       +   specified by each component property definition.
       +
       +4.8.1 Descriptive Component Properties
       +
       +   The following properties specify descriptive information about
       +   calendar components.
       +
       +4.8.1.1 Attachment
       +
       +   Property Name: ATTACH
       +
       +   Purpose: The property provides the capability to associate a document
       +   object with a calendar component.
       +
       +   Value Type: The default value type for this property is URI. The
       +   value type can also be set to BINARY to indicate inline binary
       +   encoded content information.
       +
       +   Property Parameters: Non-standard, inline encoding, format type and
       +   value data type property parameters can be specified on this
       +   property.
       +
       +   Conformance: The property can be specified in a "VEVENT", "VTODO",
       +   "VJOURNAL" or "VALARM" calendar components.
       +
       +   Description: The property can be specified within "VEVENT", "VTODO",
       +   "VJOURNAL", or "VALARM" calendar components. This property can be
       +   specified multiple times within an iCalendar object.
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     attach     = "ATTACH" attparam ":" uri  CRLF
       +
       +     attach     =/ "ATTACH" attparam ";" "ENCODING" "=" "BASE64"
       +                   ";" "VALUE" "=" "BINARY" ":" binary
       +
       +     attparam   = *(
       +
       +                ; the following is optional,
       +                ; but MUST NOT occur more than once
       +
       +                (";" fmttypeparam) /
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 77]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +                ; the following is optional,
       +                ; and MAY occur more than once
       +
       +                (";" xparam)
       +
       +                )
       +
       +   Example: The following are examples of this property:
       +
       +     ATTACH:CID:jsmith.part3.960817T083000.xyzMail@host1.com
       +
       +     ATTACH;FMTTYPE=application/postscript:ftp://xyzCorp.com/pub/
       +      reports/r-960812.ps
       +
       +4.8.1.2 Categories
       +
       +   Property Name: CATEGORIES
       +
       +   Purpose: This property defines the categories for a calendar
       +   component.
       +
       +   Value Type: TEXT
       +
       +   Property Parameters: Non-standard and language property parameters
       +   can be specified on this property.
       +
       +   Conformance: The property can be specified within "VEVENT", "VTODO"
       +   or "VJOURNAL" calendar components.
       +
       +   Description: This property is used to specify categories or subtypes
       +   of the calendar component. The categories are useful in searching for
       +   a calendar component of a particular type and category. Within the
       +   "VEVENT", "VTODO" or "VJOURNAL" calendar components, more than one
       +   category can be specified as a list of categories separated by the
       +   COMMA character (US-ASCII decimal 44).
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     categories = "CATEGORIES" catparam ":" text *("," text)
       +                  CRLF
       +
       +     catparam   = *(
       +
       +                ; the following is optional,
       +                ; but MUST NOT occur more than once
       +
       +                (";" languageparam ) /
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 78]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +                ; the following is optional,
       +                ; and MAY occur more than once
       +
       +                (";" xparam)
       +
       +                )
       +
       +   Example: The following are examples of this property:
       +
       +     CATEGORIES:APPOINTMENT,EDUCATION
       +
       +     CATEGORIES:MEETING
       +
       +4.8.1.3 Classification
       +
       +   Property Name: CLASS
       +
       +   Purpose: This property defines the access classification for a
       +   calendar component.
       +
       +   Value Type: TEXT
       +
       +   Property Parameters: Non-standard property parameters can be
       +   specified on this property.
       +
       +   Conformance: The property can be specified once in a "VEVENT",
       +   "VTODO" or "VJOURNAL" calendar components.
       +
       +   Description: An access classification is only one component of the
       +   general security system within a calendar application. It provides a
       +   method of capturing the scope of the access the calendar owner
       +   intends for information within an individual calendar entry. The
       +   access classification of an individual iCalendar component is useful
       +   when measured along with the other security components of a calendar
       +   system (e.g., calendar user authentication, authorization, access
       +   rights, access role, etc.). Hence, the semantics of the individual
       +   access classifications cannot be completely defined by this memo
       +   alone. Additionally, due to the "blind" nature of most exchange
       +   processes using this memo, these access classifications cannot serve
       +   as an enforcement statement for a system receiving an iCalendar
       +   object. Rather, they provide a method for capturing the intention of
       +   the calendar owner for the access to the calendar component.
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     class      = "CLASS" classparam ":" classvalue CRLF
       +
       +     classparam = *(";" xparam)
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 79]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +     classvalue = "PUBLIC" / "PRIVATE" / "CONFIDENTIAL" / iana-token
       +                / x-name
       +     ;Default is PUBLIC
       +
       +   Example: The following is an example of this property:
       +
       +     CLASS:PUBLIC
       +
       +4.8.1.4 Comment
       +
       +   Property Name: COMMENT
       +
       +   Purpose: This property specifies non-processing information intended
       +   to provide a comment to the calendar user.
       +
       +   Value Type: TEXT
       +
       +   Property Parameters: Non-standard, alternate text representation and
       +   language property parameters can be specified on this property.
       +
       +   Conformance: This property can be specified in "VEVENT", "VTODO",
       +   "VJOURNAL", "VTIMEZONE" or "VFREEBUSY" calendar components.
       +
       +   Description: The property can be specified multiple times.
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     comment    = "COMMENT" commparam ":" text CRLF
       +
       +     commparam  = *(
       +
       +                ; the following are optional,
       +                ; but MUST NOT occur more than once
       +
       +                (";" altrepparam) / (";" languageparam) /
       +
       +                ; the following is optional,
       +                ; and MAY occur more than once
       +
       +                (";" xparam)
       +
       +                )
       +
       +   Example: The following is an example of this property:
       +
       +     COMMENT:The meeting really needs to include both ourselves
       +       and the customer. We can't hold this  meeting without them.
       +       As a matter of fact\, the venue for the meeting ought to be at
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 80]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +       their site. - - John
       +
       +   The data type for this property is TEXT.
       +
       +4.8.1.5 Description
       +
       +   Property Name: DESCRIPTION
       +
       +   Purpose: This property provides a more complete description of the
       +   calendar component, than that provided by the "SUMMARY" property.
       +
       +   Value Type: TEXT
       +
       +   Property Parameters: Non-standard, alternate text representation and
       +   language property parameters can be specified on this property.
       +
       +   Conformance: The property can be specified in the "VEVENT", "VTODO",
       +   "VJOURNAL" or "VALARM" calendar components. The property can be
       +   specified multiple times only within a "VJOURNAL" calendar component.
       +
       +   Description: This property is used in the "VEVENT" and "VTODO" to
       +   capture lengthy textual decriptions associated with the activity.
       +
       +   This property is used in the "VJOURNAL" calendar component to capture
       +   one more textual journal entries.
       +
       +   This property is used in the "VALARM" calendar component to capture
       +   the display text for a DISPLAY category of alarm, to capture the body
       +   text for an EMAIL category of alarm and to capture the argument
       +   string for a PROCEDURE category of alarm.
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     description        = "DESCRIPTION" descparam ":" text CRLF
       +
       +     descparam  = *(
       +
       +                ; the following are optional,
       +                ; but MUST NOT occur more than once
       +
       +                (";" altrepparam) / (";" languageparam) /
       +
       +                ; the following is optional,
       +                ; and MAY occur more than once
       +
       +                (";" xparam)
       +
       +                )
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 81]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   Example: The following is an example of the property with formatted
       +   line breaks in the property value:
       +
       +     DESCRIPTION:Meeting to provide technical review for "Phoenix"
       +       design.\n Happy Face Conference Room. Phoenix design team
       +       MUST attend this meeting.\n RSVP to team leader.
       +
       +   The following is an example of the property with folding of long
       +   lines:
       +
       +     DESCRIPTION:Last draft of the new novel is to be completed
       +       for the editor's proof today.
       +
       +4.8.1.6 Geographic Position
       +
       +   Property Name: GEO
       +
       +   Purpose: This property specifies information related to the global
       +   position for the activity specified by a calendar component.
       +
       +   Value Type: FLOAT. The value MUST be two SEMICOLON separated FLOAT
       +   values.
       +
       +   Property Parameters: Non-standard property parameters can be
       +   specified on this property.
       +
       +   Conformance: This property can be specified in  "VEVENT" or "VTODO"
       +   calendar components.
       +
       +   Description: The property value specifies latitude and longitude, in
       +   that order (i.e., "LAT LON" ordering). The longitude represents the
       +   location east or west of the prime meridian as a positive or negative
       +   real number, respectively. The longitude and latitude values MAY be
       +   specified up to six decimal places, which will allow for accuracy to
       +   within one meter of geographical position. Receiving applications
       +   MUST accept values of this precision and MAY truncate values of
       +   greater precision.
       +
       +   Values for latitude and longitude shall be expressed as decimal
       +   fractions of degrees. Whole degrees of latitude shall be represented
       +   by a two-digit decimal number ranging from 0 through 90. Whole
       +   degrees of longitude shall be represented by a decimal number ranging
       +   from 0 through 180. When a decimal fraction of a degree is specified,
       +   it shall be separated from the whole number of degrees by a decimal
       +   point.
       +
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 82]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   Latitudes north of the equator shall be specified by a plus sign (+),
       +   or by the absence of a minus sign (-), preceding the digits
       +   designating degrees. Latitudes south of the Equator shall be
       +   designated by a minus sign (-) preceding the digits designating
       +   degrees. A point on the Equator shall be assigned to the Northern
       +   Hemisphere.
       +
       +   Longitudes east of the prime meridian shall be specified by a plus
       +   sign (+), or by the absence of a minus sign (-), preceding the digits
       +   designating degrees. Longitudes west of the meridian shall be
       +   designated by minus sign (-) preceding the digits designating
       +   degrees. A point on the prime meridian shall be assigned to the
       +   Eastern Hemisphere. A point on the 180th meridian shall be assigned
       +   to the Western Hemisphere. One exception to this last convention is
       +   permitted. For the special condition of describing a band of latitude
       +   around the earth, the East Bounding Coordinate data element shall be
       +   assigned the value +180 (180) degrees.
       +
       +   Any spatial address with a latitude of +90 (90) or -90 degrees will
       +   specify the position at the North or South Pole, respectively. The
       +   component for longitude may have any legal value.
       +
       +   With the exception of the special condition described above, this
       +   form is specified in Department of Commerce, 1986, Representation of
       +   geographic point locations for information interchange (Federal
       +   Information Processing Standard 70-1):  Washington,  Department of
       +   Commerce, National Institute of Standards and Technology.
       +
       +   The simple formula for converting degrees-minutes-seconds into
       +   decimal degrees is:
       +
       +     decimal = degrees + minutes/60 + seconds/3600.
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     geo        = "GEO" geoparam ":" geovalue CRLF
       +
       +     geoparam   = *(";" xparam)
       +
       +     geovalue   = float ";" float
       +     ;Latitude and Longitude components
       +
       +   Example: The following is an example of this property:
       +
       +     GEO:37.386013;-122.082932
       +
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 83]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +4.8.1.7 Location
       +
       +   Property Name: LOCATION
       +
       +   Purpose: The property defines the intended venue for the activity
       +   defined by a calendar component.
       +
       +   Value Type: TEXT
       +
       +   Property Parameters: Non-standard, alternate text representation and
       +   language property parameters can be specified on this property.
       +
       +   Conformance: This property can be specified in "VEVENT" or "VTODO"
       +   calendar component.
       +
       +   Description: Specific venues such as conference or meeting rooms may
       +   be explicitly specified using this property. An alternate
       +   representation may be specified that is a URI that points to
       +   directory information with more structured specification of the
       +   location. For example, the alternate representation may specify
       +   either an LDAP URI pointing to an LDAP server entry or a CID URI
       +   pointing to a MIME body part containing a vCard [RFC 2426] for the
       +   location.
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     location   = "LOCATION locparam ":" text CRLF
       +
       +     locparam   = *(
       +
       +                ; the following are optional,
       +                ; but MUST NOT occur more than once
       +
       +                (";" altrepparam) / (";" languageparam) /
       +
       +                ; the following is optional,
       +                ; and MAY occur more than once
       +
       +                (";" xparam)
       +
       +                )
       +
       +   Example: The following are some examples of this property:
       +
       +     LOCATION:Conference Room - F123, Bldg. 002
       +
       +     LOCATION;ALTREP="http://xyzcorp.com/conf-rooms/f123.vcf":
       +      Conference Room - F123, Bldg. 002
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 84]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +4.8.1.8 Percent Complete
       +
       +   Property Name: PERCENT-COMPLETE
       +
       +   Purpose: This property is used by an assignee or delegatee of a to-do
       +   to convey the percent completion of a to-do to the Organizer.
       +
       +   Value Type: INTEGER
       +
       +   Property Parameters: Non-standard property parameters can be
       +   specified on this property.
       +
       +   Conformance: This property can be specified in a "VTODO" calendar
       +   component.
       +
       +   Description: The property value is a positive integer between zero
       +   and one hundred. A value of "0" indicates the to-do has not yet been
       +   started. A value of "100" indicates that the to-do has been
       +   completed. Integer values in between indicate the percent partially
       +   complete.
       +
       +   When a to-do is assigned to multiple individuals, the property value
       +   indicates the percent complete for that portion of the to-do assigned
       +   to the assignee or delegatee. For example, if a to-do is assigned to
       +   both individuals "A" and "B". A reply from "A" with a percent
       +   complete of "70" indicates that "A" has completed 70% of the to-do
       +   assigned to them. A reply from "B" with a percent complete of "50"
       +   indicates "B" has completed 50% of the to-do assigned to them.
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     percent = "PERCENT-COMPLETE" pctparam ":" integer CRLF
       +
       +     pctparam   = *(";" xparam)
       +
       +   Example: The following is an example of this property to show 39%
       +   completion:
       +
       +     PERCENT-COMPLETE:39
       +
       +4.8.1.9 Priority
       +
       +   Property Name: PRIORITY
       +
       +   Purpose: The property defines the relative priority for a calendar
       +   component.
       +
       +   Value Type: INTEGER
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 85]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   Property Parameters: Non-standard property parameters can be
       +   specified on this property.
       +
       +   Conformance: The property can be specified in a "VEVENT" or "VTODO"
       +   calendar component.
       +
       +   Description: The priority is specified as an integer in the range
       +   zero to nine. A value of zero (US-ASCII decimal 48) specifies an
       +   undefined priority. A value of one (US-ASCII decimal 49) is the
       +   highest priority. A value of two (US-ASCII decimal 50) is the second
       +   highest priority. Subsequent numbers specify a decreasing ordinal
       +   priority. A value of nine (US-ASCII decimal 58) is the lowest
       +   priority.
       +
       +   A CUA with a three-level priority scheme of "HIGH", "MEDIUM" and
       +   "LOW" is mapped into this property such that a property value in the
       +   range of one (US-ASCII decimal 49) to four (US-ASCII decimal 52)
       +   specifies "HIGH" priority. A value of five (US-ASCII decimal 53) is
       +   the normal or "MEDIUM" priority. A value in the range of six (US-
       +   ASCII decimal 54) to nine (US-ASCII decimal 58) is "LOW" priority.
       +
       +   A CUA with a priority schema of "A1", "A2", "A3", "B1", "B2", ...,
       +   "C3" is mapped into this property such that a property value of one
       +   (US-ASCII decimal 49) specifies "A1", a property value of two (US-
       +   ASCII decimal 50) specifies "A2", a property value of three (US-ASCII
       +   decimal 51) specifies "A3", and so forth up to a property value of 9
       +   (US-ASCII decimal 58) specifies "C3".
       +
       +   Other integer values are reserved for future use.
       +
       +   Within a "VEVENT" calendar component, this property specifies a
       +   priority for the event. This property may be useful when more than
       +   one event is scheduled for a given time period.
       +
       +   Within a "VTODO" calendar component, this property specified a
       +   priority for the to-do. This property is useful in prioritizing
       +   multiple action items for a given time period.
       +
       +   Format Definition: The property is specified by the following
       +   notation:
       +
       +     priority   = "PRIORITY" prioparam ":" privalue CRLF
       +     ;Default is zero
       +
       +     prioparam  = *(";" xparam)
       +
       +     privalue   = integer       ;Must be in the range [0..9]
       +        ; All other values are reserved for future use
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 86]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   The following is an example of a property with the highest priority:
       +
       +     PRIORITY:1
       +
       +   The following is an example of a property with a next highest
       +   priority:
       +
       +     PRIORITY:2
       +
       +   Example: The following is an example of a property with no priority.
       +   This is equivalent to not specifying the "PRIORITY" property:
       +
       +     PRIORITY:0
       +
       +4.8.1.10 Resources
       +
       +   Property Name: RESOURCES
       +
       +   Purpose: This property defines the equipment or resources anticipated
       +   for an activity specified by a calendar entity..
       +
       +   Value Type: TEXT
       +
       +   Property Parameters: Non-standard, alternate text representation and
       +   language property parameters can be specified on this property.
       +
       +   Conformance: This property can be specified in "VEVENT" or "VTODO"
       +   calendar component.
       +
       +   Description: The property value is an arbitrary text. More than one
       +   resource can be specified as a list of resources separated by the
       +   COMMA character (US-ASCII decimal 44).
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     resources  = "RESOURCES" resrcparam ":" text *("," text) CRLF
       +
       +     resrcparam = *(
       +
       +                ; the following are optional,
       +                ; but MUST NOT occur more than once
       +
       +                (";" altrepparam) / (";" languageparam) /
       +
       +                ; the following is optional,
       +                ; and MAY occur more than once
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 87]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +                (";" xparam)
       +
       +                )
       +
       +   Example: The following is an example of this property:
       +
       +     RESOURCES:EASEL,PROJECTOR,VCR
       +
       +     RESOURCES;LANGUAGE=fr:1 raton-laveur
       +
       +4.8.1.11 Status
       +
       +   Property Name: STATUS
       +
       +   Purpose: This property defines the overall status or confirmation for
       +   the calendar component.
       +
       +   Value Type: TEXT
       +
       +   Property Parameters: Non-standard property parameters can be
       +   specified on this property.
       +
       +   Conformance: This property can be specified in "VEVENT", "VTODO" or
       +   "VJOURNAL" calendar components.
       +
       +   Description: In a group scheduled calendar component, the property is
       +   used by the "Organizer" to provide a confirmation of the event to the
       +   "Attendees". For example in a "VEVENT" calendar component, the
       +   "Organizer" can indicate that a meeting is tentative, confirmed or
       +   cancelled. In a "VTODO" calendar component, the "Organizer" can
       +   indicate that an action item needs action, is completed, is in
       +   process or being worked on, or has been cancelled. In a "VJOURNAL"
       +   calendar component, the "Organizer" can indicate that a journal entry
       +   is draft, final or has been cancelled or removed.
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     status     = "STATUS" statparam] ":" statvalue CRLF
       +
       +     statparam  = *(";" xparam)
       +
       +     statvalue  = "TENTATIVE"           ;Indicates event is
       +                                        ;tentative.
       +                / "CONFIRMED"           ;Indicates event is
       +                                        ;definite.
       +                / "CANCELLED"           ;Indicates event was
       +                                        ;cancelled.
       +        ;Status values for a "VEVENT"
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 88]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +     statvalue  =/ "NEEDS-ACTION"       ;Indicates to-do needs action.
       +                / "COMPLETED"           ;Indicates to-do completed.
       +                / "IN-PROCESS"          ;Indicates to-do in process of
       +                / "CANCELLED"           ;Indicates to-do was cancelled.
       +        ;Status values for "VTODO".
       +
       +     statvalue  =/ "DRAFT"              ;Indicates journal is draft.
       +                / "FINAL"               ;Indicates journal is final.
       +                / "CANCELLED"           ;Indicates journal is removed.
       +        ;Status values for "VJOURNAL".
       +
       +   Example: The following is an example of this property for a "VEVENT"
       +   calendar component:
       +
       +     STATUS:TENTATIVE
       +
       +   The following is an example of this property for a "VTODO" calendar
       +   component:
       +
       +     STATUS:NEEDS-ACTION
       +
       +   The following is an example of this property for a "VJOURNAL"
       +   calendar component:
       +
       +     STATUS:DRAFT
       +
       +4.8.1.12 Summary
       +
       +   Property Name: SUMMARY
       +
       +   Purpose: This property defines a short summary or subject for the
       +   calendar component.
       +
       +   Value Type: TEXT
       +
       +   Property Parameters: Non-standard, alternate text representation and
       +   language property parameters can be specified on this property.
       +
       +   Conformance: The property can be specified in "VEVENT", "VTODO",
       +   "VJOURNAL" or "VALARM" calendar components.
       +
       +   Description: This property is used in the "VEVENT", "VTODO" and
       +   "VJOURNAL" calendar components to capture a short, one line summary
       +   about the activity or journal entry.
       +
       +   This property is used in the "VALARM" calendar component to capture
       +   the subject of an EMAIL category of alarm.
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 89]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     summary    = "SUMMARY" summparam ":" text CRLF
       +
       +     summparam  = *(
       +
       +                ; the following are optional,
       +                ; but MUST NOT occur more than once
       +
       +                (";" altrepparam) / (";" languageparam) /
       +
       +                ; the following is optional,
       +                ; and MAY occur more than once
       +
       +                (";" xparam)
       +
       +                )
       +
       +   Example: The following is an example of this property:
       +
       +     SUMMARY:Department Party
       +
       +4.8.2 Date and Time Component Properties
       +
       +   The following properties specify date and time related information in
       +   calendar components.
       +
       +4.8.2.1 Date/Time Completed
       +
       +   Property Name: COMPLETED
       +
       +   Purpose: This property defines the date and time that a to-do was
       +   actually completed.
       +
       +   Value Type: DATE-TIME
       +
       +   Property Parameters: Non-standard property parameters can be
       +   specified on this property.
       +
       +   Conformance: The property can be specified in a "VTODO" calendar
       +   component.
       +
       +   Description: The date and time MUST be in a UTC format.
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     completed  = "COMPLETED" compparam ":" date-time CRLF
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 90]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +     compparam  = *(";" xparam)
       +
       +   Example: The following is an example of this property:
       +
       +     COMPLETED:19960401T235959Z
       +
       +4.8.2.2 Date/Time End
       +
       +   Property Name: DTEND
       +
       +   Purpose: This property specifies the date and time that a calendar
       +   component ends.
       +
       +   Value Type: The default value type is DATE-TIME. The value type can
       +   be set to a DATE value type.
       +
       +   Property Parameters: Non-standard, value data type, time zone
       +   identifier property parameters can be specified on this property.
       +
       +   Conformance: This property can be specified in "VEVENT" or
       +   "VFREEBUSY" calendar components.
       +
       +   Description: Within the "VEVENT" calendar component, this property
       +   defines the date and time by which the event ends. The value MUST be
       +   later in time than the value of the "DTSTART" property.
       +
       +   Within the "VFREEBUSY" calendar component, this property defines the
       +   end date and time for the free or busy time information. The time
       +   MUST be specified in the UTC time format. The value MUST be later in
       +   time than the value of the "DTSTART" property.
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     dtend      = "DTEND" dtendparam":" dtendval CRLF
       +
       +     dtendparam = *(
       +
       +                ; the following are optional,
       +                ; but MUST NOT occur more than once
       +
       +                (";" "VALUE" "=" ("DATE-TIME" / "DATE")) /
       +                (";" tzidparam) /
       +
       +                ; the following is optional,
       +                ; and MAY occur more than once
       +
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 91]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +                (";" xparam)
       +
       +                )
       +
       +
       +
       +     dtendval   = date-time / date
       +     ;Value MUST match value type
       +
       +   Example: The following is an example of this property:
       +
       +     DTEND:19960401T235959Z
       +
       +     DTEND;VALUE=DATE:19980704
       +
       +4.8.2.3 Date/Time Due
       +
       +   Property Name: DUE
       +
       +   Purpose: This property defines the date and time that a to-do is
       +   expected to be completed.
       +
       +   Value Type: The default value type is DATE-TIME. The value type can
       +   be set to a DATE value type.
       +
       +   Property Parameters: Non-standard, value data type, time zone
       +   identifier property parameters can be specified on this property.
       +
       +   Conformance: The property can be specified once in a "VTODO" calendar
       +   component.
       +
       +   Description: The value MUST be a date/time equal to or after the
       +   DTSTART value, if specified.
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     due        = "DUE" dueparam":" dueval CRLF
       +
       +     dueparam   = *(
       +                ; the following are optional,
       +                ; but MUST NOT occur more than once
       +
       +                (";" "VALUE" "=" ("DATE-TIME" / "DATE")) /
       +                (";" tzidparam) /
       +
       +                ; the following is optional,
       +                ; and MAY occur more than once
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 92]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +                  *(";" xparam)
       +
       +                )
       +
       +
       +
       +     dueval     = date-time / date
       +     ;Value MUST match value type
       +
       +   Example: The following is an example of this property:
       +
       +     DUE:19980430T235959Z
       +
       +4.8.2.4 Date/Time Start
       +
       +   Property Name: DTSTART
       +
       +   Purpose: This property specifies when the calendar component begins.
       +
       +   Value Type: The default value type is DATE-TIME. The time value MUST
       +   be one of the forms defined for the DATE-TIME value type. The value
       +   type can be set to a DATE value type.
       +
       +   Property Parameters: Non-standard, value data type, time zone
       +   identifier property parameters can be specified on this property.
       +
       +   Conformance: This property can be specified in the "VEVENT", "VTODO",
       +   "VFREEBUSY", or "VTIMEZONE" calendar components.
       +
       +   Description: Within the "VEVENT" calendar component, this property
       +   defines the start date and time for the event. The property is
       +   REQUIRED in "VEVENT" calendar components. Events can have a start
       +   date/time but no end date/time. In that case, the event does not take
       +   up any time.
       +
       +   Within the "VFREEBUSY" calendar component, this property defines the
       +   start date and time for the free or busy time information. The time
       +   MUST be specified in UTC time.
       +
       +   Within the "VTIMEZONE" calendar component, this property defines the
       +   effective start date and time for a time zone specification. This
       +   property is REQUIRED within each STANDARD and DAYLIGHT part included
       +   in "VTIMEZONE" calendar components and MUST be specified as a local
       +   DATE-TIME without the "TZID" property parameter.
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     dtstart    = "DTSTART" dtstparam ":" dtstval CRLF
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 93]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +     dtstparam  = *(
       +
       +                ; the following are optional,
       +                ; but MUST NOT occur more than once
       +
       +                (";" "VALUE" "=" ("DATE-TIME" / "DATE")) /
       +                (";" tzidparam) /
       +
       +                ; the following is optional,
       +                ; and MAY occur more than once
       +
       +                  *(";" xparam)
       +
       +                )
       +
       +
       +
       +     dtstval    = date-time / date
       +     ;Value MUST match value type
       +
       +   Example: The following is an example of this property:
       +
       +     DTSTART:19980118T073000Z
       +
       +4.8.2.5 Duration
       +
       +   Property Name: DURATION
       +
       +   Purpose: The property specifies a positive duration of time.
       +
       +   Value Type: DURATION
       +
       +   Property Parameters: Non-standard property parameters can be
       +   specified on this property.
       +
       +   Conformance: The property can be specified in "VEVENT", "VTODO",
       +   "VFREEBUSY" or "VALARM" calendar components.
       +
       +   Description: In a "VEVENT" calendar component the property may be
       +   used to specify a duration of the event, instead of an explicit end
       +   date/time. In a "VTODO" calendar component the property may be used
       +   to specify a duration for the to-do, instead of an explicit due
       +   date/time. In a "VFREEBUSY" calendar component the property may be
       +   used to specify the interval of free time being requested. In a
       +   "VALARM" calendar component the property may be used to specify the
       +   delay period prior to repeating an alarm.
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 94]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +     duration   = "DURATION" durparam ":" dur-value CRLF
       +                  ;consisting of a positive duration of time.
       +
       +     durparam   = *(";" xparam)
       +
       +   Example: The following is an example of this property that specifies
       +   an interval of time of 1 hour and zero minutes and zero seconds:
       +
       +     DURATION:PT1H0M0S
       +
       +   The following is an example of this property that specifies an
       +   interval of time of 15 minutes.
       +
       +     DURATION:PT15M
       +
       +4.8.2.6 Free/Busy Time
       +
       +   Property Name: FREEBUSY
       +
       +   Purpose: The property defines one or more free or busy time
       +   intervals.
       +
       +   Value Type: PERIOD. The date and time values MUST be in an UTC time
       +   format.
       +
       +   Property Parameters: Non-standard or free/busy time type property
       +   parameters can be specified on this property.
       +
       +   Conformance: The property can be specified in a "VFREEBUSY" calendar
       +   component.
       +
       +   Property Parameter: "FBTYPE" and non-standard parameters can be
       +   specified on this property.
       +
       +   Description: These time periods can be specified as either a start
       +   and end date-time or a start date-time and duration. The date and
       +   time MUST be a UTC time format.
       +
       +   "FREEBUSY" properties within the "VFREEBUSY" calendar component
       +   SHOULD be sorted in ascending order, based on start time and then end
       +   time, with the earliest periods first.
       +
       +   The "FREEBUSY" property can specify more than one value, separated by
       +   the COMMA character (US-ASCII decimal 44). In such cases, the
       +   "FREEBUSY" property values SHOULD all be of the same "FBTYPE"
       +   property parameter type (e.g., all values of a particular "FBTYPE"
       +   listed together in a single property).
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 95]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     freebusy   = "FREEBUSY" fbparam ":" fbvalue
       +                  CRLF
       +
       +     fbparam    = *(
       +                ; the following is optional,
       +                ; but MUST NOT occur more than once
       +
       +                (";" fbtypeparam) /
       +
       +                ; the following is optional,
       +                ; and MAY occur more than once
       +
       +                (";" xparam)
       +
       +                )
       +
       +     fbvalue    = period *["," period]
       +     ;Time value MUST be in the UTC time format.
       +
       +   Example: The following are some examples of this property:
       +
       +     FREEBUSY;FBTYPE=BUSY-UNAVAILABLE:19970308T160000Z/PT8H30M
       +
       +     FREEBUSY;FBTYPE=FREE:19970308T160000Z/PT3H,19970308T200000Z/PT1H
       +
       +     FREEBUSY;FBTYPE=FREE:19970308T160000Z/PT3H,19970308T200000Z/PT1H,
       +      19970308T230000Z/19970309T000000Z
       +
       +4.8.2.7 Time Transparency
       +
       +   Property Name: TRANSP
       +
       +   Purpose: This property defines whether an event is transparent or not
       +   to busy time searches.
       +
       +   Value Type: TEXT
       +
       +   Property Parameters: Non-standard property parameters can be
       +   specified on this property.
       +
       +   Conformance: This property can be specified once in a "VEVENT"
       +   calendar component.
       +
       +   Description: Time Transparency is the characteristic of an event that
       +   determines whether it appears to consume time on a calendar. Events
       +   that consume actual time for the individual or resource associated
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 96]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   with the calendar SHOULD be recorded as OPAQUE, allowing them to be
       +   detected by free-busy time searches. Other events, which do not take
       +   up the individual's (or resource's) time SHOULD be recorded as
       +   TRANSPARENT, making them invisible to free-busy time searches.
       +
       +   Format Definition: The property is specified by the following
       +   notation:
       +
       +     transp     = "TRANSP" tranparam ":" transvalue CRLF
       +
       +     tranparam  = *(";" xparam)
       +
       +     transvalue = "OPAQUE"      ;Blocks or opaque on busy time searches.
       +                / "TRANSPARENT" ;Transparent on busy time searches.
       +        ;Default value is OPAQUE
       +
       +   Example: The following is an example of this property for an event
       +   that is transparent or does not block on free/busy time searches:
       +
       +     TRANSP:TRANSPARENT
       +
       +   The following is an example of this property for an event that is
       +   opaque or blocks on free/busy time searches:
       +
       +     TRANSP:OPAQUE
       +
       +4.8.3 Time Zone Component Properties
       +
       +   The following properties specify time zone information in calendar
       +   components.
       +
       +4.8.3.1 Time Zone Identifier
       +
       +   Property Name: TZID
       +
       +   Purpose: This property specifies the text value that uniquely
       +   identifies the "VTIMEZONE" calendar component.
       +
       +   Value Type: TEXT
       +
       +   Property Parameters: Non-standard property parameters can be
       +   specified on this property.
       +
       +   Conformance: This property MUST be specified in a "VTIMEZONE"
       +   calendar component.
       +
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 97]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   Description: This is the label by which a time zone calendar
       +   component is referenced by any iCalendar properties whose data type
       +   is either DATE-TIME or TIME and not intended to specify a UTC or a
       +   "floating" time. The presence of the SOLIDUS character (US-ASCII
       +   decimal 47) as a prefix, indicates that this TZID represents an
       +   unique ID in a globally defined time zone registry (when such
       +   registry is defined).
       +
       +        Note: This document does not define a naming convention for time
       +        zone identifiers. Implementers may want to use the naming
       +        conventions defined in existing time zone specifications such as
       +        the public-domain Olson database [TZ]. The specification of
       +        globally unique time zone identifiers is not addressed by this
       +        document and is left for future study.
       +
       +   Format Definition: This property is defined by the following
       +   notation:
       +
       +     tzid       = "TZID" tzidpropparam ":" [tzidprefix] text CRLF
       +
       +     tzidpropparam      = *(";" xparam)
       +
       +     ;tzidprefix        = "/"
       +     ; Defined previously. Just listed here for reader convenience.
       +
       +   Example: The following are examples of non-globally unique time zone
       +   identifiers:
       +
       +     TZID:US-Eastern
       +
       +     TZID:California-Los_Angeles
       +
       +   The following is an example of a fictitious globally unique time zone
       +   identifier:
       +
       +     TZID:/US-New_York-New_York
       +
       +4.8.3.2 Time Zone Name
       +
       +   Property Name: TZNAME
       +
       +   Purpose: This property specifies the customary designation for a time
       +   zone description.
       +
       +   Value Type: TEXT
       +
       +   Property Parameters: Non-standard and language property parameters
       +   can be specified on this property.
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 98]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   Conformance: This property can be specified in a "VTIMEZONE" calendar
       +   component.
       +
       +   Description: This property may be specified in multiple languages; in
       +   order to provide for different language requirements.
       +
       +   Format Definition: This property is defined by the following
       +   notation:
       +
       +     tzname     = "TZNAME" tznparam ":" text CRLF
       +
       +     tznparam   = *(
       +
       +                ; the following is optional,
       +                ; but MUST NOT occur more than once
       +
       +                (";" languageparam) /
       +
       +                ; the following is optional,
       +                ; and MAY occur more than once
       +
       +                (";" xparam)
       +
       +                )
       +
       +   Example: The following are example of this property:
       +
       +     TZNAME:EST
       +
       +   The following is an example of this property when two different
       +   languages for the time zone name are specified:
       +
       +     TZNAME;LANGUAGE=en:EST
       +     TZNAME;LANGUAGE=fr-CA:HNE
       +
       +4.8.3.3 Time Zone Offset From
       +
       +   Property Name: TZOFFSETFROM
       +
       +   Purpose: This property specifies the offset which is in use prior to
       +   this time zone observance.
       +
       +   Value Type: UTC-OFFSET
       +
       +   Property Parameters: Non-standard property parameters can be
       +   specified on this property.
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                    [Page 99]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   Conformance: This property MUST be specified in a "VTIMEZONE"
       +   calendar component.
       +
       +   Description: This property specifies the offset which is in use prior
       +   to this time observance. It is used to calculate the absolute time at
       +   which the transition to a given observance takes place. This property
       +   MUST only be specified in a "VTIMEZONE" calendar component. A
       +   "VTIMEZONE" calendar component MUST include this property. The
       +   property value is a signed numeric indicating the number of hours and
       +   possibly minutes from UTC. Positive numbers represent time zones east
       +   of the prime meridian, or ahead of UTC. Negative numbers represent
       +   time zones west of the prime meridian, or behind UTC.
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     tzoffsetfrom       = "TZOFFSETFROM" frmparam ":" utc-offset
       +                          CRLF
       +
       +     frmparam   = *(";" xparam)
       +
       +   Example: The following are examples of this property:
       +
       +     TZOFFSETFROM:-0500
       +
       +     TZOFFSETFROM:+1345
       +
       +4.8.3.4 Time Zone Offset To
       +
       +   Property Name: TZOFFSETTO
       +
       +   Purpose: This property specifies the offset which is in use in this
       +   time zone observance.
       +
       +   Value Type: UTC-OFFSET
       +
       +   Property Parameters: Non-standard property parameters can be
       +   specified on this property.
       +
       +   Conformance: This property MUST be specified in a "VTIMEZONE"
       +   calendar component.
       +
       +   Description: This property specifies the offset which is in use in
       +   this time zone observance. It is used to calculate the absolute time
       +   for the new observance. The property value is a signed numeric
       +   indicating the number of hours and possibly minutes from UTC.
       +   Positive numbers represent time zones east of the prime meridian, or
       +   ahead of UTC. Negative numbers represent time zones west of the prime
       +   meridian, or behind UTC.
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 100]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     tzoffsetto = "TZOFFSETTO" toparam ":" utc-offset CRLF
       +
       +     toparam    = *(";" xparam)
       +
       +   Example: The following are examples of this property:
       +
       +     TZOFFSETTO:-0400
       +
       +     TZOFFSETTO:+1245
       +
       +4.8.3.5 Time Zone URL
       +
       +   Property Name: TZURL
       +
       +   Purpose: The TZURL provides a means for a VTIMEZONE component to
       +   point to a network location that can be used to retrieve an up-to-
       +   date version of itself.
       +
       +   Value Type: URI
       +
       +   Property Parameters: Non-standard property parameters can be
       +   specified on this property.
       +
       +   Conformance: This property can be specified in a "VTIMEZONE" calendar
       +   component.
       +
       +   Description: The TZURL provides a means for a VTIMEZONE component to
       +   point to a network location that can be used to retrieve an up-to-
       +   date version of itself. This provides a hook to handle changes
       +   government bodies impose upon time zone definitions. Retrieval of
       +   this resource results in an iCalendar object containing a single
       +   VTIMEZONE component and a METHOD property set to PUBLISH.
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     tzurl      = "TZURL" tzurlparam ":" uri CRLF
       +
       +     tzurlparam = *(";" xparam)
       +
       +   Example: The following is an example of this property:
       +
       +     TZURL:http://timezones.r.us.net/tz/US-California-Los_Angeles
       +
       +
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 101]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +4.8.4 Relationship Component Properties
       +
       +   The following properties specify relationship information in calendar
       +   components.
       +
       +4.8.4.1 Attendee
       +
       +   Property Name: ATTENDEE
       +
       +   Purpose: The property defines an "Attendee" within a calendar
       +   component.
       +
       +   Value Type: CAL-ADDRESS
       +
       +   Property Parameters: Non-standard, language, calendar user type,
       +   group or list membership, participation role, participation status,
       +   RSVP expectation, delegatee, delegator, sent by, common name or
       +   directory entry reference property parameters can be specified on
       +   this property.
       +
       +   Conformance: This property MUST be specified in an iCalendar object
       +   that specifies a group scheduled calendar entity. This property MUST
       +   NOT be specified in an iCalendar object when publishing the calendar
       +   information (e.g., NOT in an iCalendar object that specifies the
       +   publication of a calendar user's busy time, event, to-do or journal).
       +   This property is not specified in an iCalendar object that specifies
       +   only a time zone definition or that defines calendar entities that
       +   are not group scheduled entities, but are entities only on a single
       +   user's calendar.
       +
       +   Description: The property MUST only be specified within calendar
       +   components to specify participants, non-participants and the chair of
       +   a group scheduled calendar entity. The property is specified within
       +   an "EMAIL" category of the "VALARM" calendar component to specify an
       +   email address that is to receive the email type of iCalendar alarm.
       +
       +   The property parameter CN is for the common or displayable name
       +   associated with the calendar address; ROLE, for the intended role
       +   that the attendee will have in the calendar component; PARTSTAT, for
       +   the status of the attendee's participation; RSVP, for indicating
       +   whether the favor of a reply is requested; CUTYPE, to indicate the
       +   type of calendar user; MEMBER, to indicate the groups that the
       +   attendee belongs to; DELEGATED-TO, to indicate the calendar users
       +   that the original request was delegated to; and DELEGATED-FROM, to
       +   indicate whom the request was delegated from; SENT-BY, to indicate
       +   whom is acting on behalf of the ATTENDEE; and DIR, to indicate the
       +   URI that points to the directory information corresponding to the
       +   attendee. These property parameters can be specified on an "ATTENDEE"
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 102]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   property in either a "VEVENT", "VTODO" or "VJOURNAL" calendar
       +   component. They MUST not be specified in an "ATTENDEE" property in a
       +   "VFREEBUSY" or "VALARM" calendar component. If the LANGUAGE property
       +   parameter is specified, the identified language applies to the CN
       +   parameter.
       +
       +   A recipient delegated a request MUST inherit the RSVP and ROLE values
       +   from the attendee that delegated the request to them.
       +
       +   Multiple attendees can be specified by including multiple "ATTENDEE"
       +   properties within the calendar component.
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     attendee   = "ATTENDEE" attparam ":" cal-address CRLF
       +
       +     attparam   = *(
       +
       +                ; the following are optional,
       +                ; but MUST NOT occur more than once
       +
       +                (";" cutypeparam) / (";"memberparam) /
       +                (";" roleparam) / (";" partstatparam) /
       +                (";" rsvpparam) / (";" deltoparam) /
       +                (";" delfromparam) / (";" sentbyparam) /
       +                (";"cnparam) / (";" dirparam) /
       +                (";" languageparam) /
       +
       +                ; the following is optional,
       +                ; and MAY occur more than once
       +
       +                (";" xparam)
       +
       +                )
       +
       +   Example: The following are examples of this property's use for a to-
       +   do:
       +
       +     ORGANIZER:MAILTO:jsmith@host1.com
       +     ATTENDEE;MEMBER="MAILTO:DEV-GROUP@host2.com":
       +      MAILTO:joecool@host2.com
       +     ATTENDEE;DELEGATED-FROM="MAILTO:immud@host3.com":
       +      MAILTO:ildoit@host1.com
       +
       +   The following is an example of this property used for specifying
       +   multiple attendees to an event:
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 103]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +     ORGANIZER:MAILTO:jsmith@host1.com
       +     ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=TENTATIVE;CN=Henry Cabot
       +      :MAILTO:hcabot@host2.com
       +     ATTENDEE;ROLE=REQ-PARTICIPANT;DELEGATED-FROM="MAILTO:bob@host.com"
       +      ;PARTSTAT=ACCEPTED;CN=Jane Doe:MAILTO:jdoe@host1.com
       +
       +   The following is an example of this property with a URI to the
       +   directory information associated with the attendee:
       +
       +     ATTENDEE;CN=John Smith;DIR="ldap://host.com:6666/o=eDABC%
       +      20Industries,c=3DUS??(cn=3DBJim%20Dolittle)":MAILTO:jimdo@
       +      host1.com
       +
       +   The following is an example of this property with "delegatee" and
       +   "delegator" information for an event:
       +
       +     ORGANIZER;CN=John Smith:MAILTO:jsmith@host.com
       +     ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=TENTATIVE;DELEGATED-FROM=
       +      "MAILTO:iamboss@host2.com";CN=Henry Cabot:MAILTO:hcabot@
       +      host2.com
       +     ATTENDEE;ROLE=NON-PARTICIPANT;PARTSTAT=DELEGATED;DELEGATED-TO=
       +      "MAILTO:hcabot@host2.com";CN=The Big Cheese:MAILTO:iamboss
       +      @host2.com
       +     ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;CN=Jane Doe
       +      :MAILTO:jdoe@host1.com
       +
       +   Example: The following is an example of this property's use when
       +   another calendar user is acting on behalf of the "Attendee":
       +
       +     ATTENDEE;SENT-BY=MAILTO:jan_doe@host1.com;CN=John Smith:MAILTO:
       +      jsmith@host1.com
       +
       +4.8.4.2 Contact
       +
       +   Property Name: CONTACT
       +
       +   Purpose: The property is used to represent contact information or
       +   alternately a reference to contact information associated with the
       +   calendar component.
       +
       +   Value Type: TEXT
       +
       +   Property Parameters: Non-standard, alternate text representation and
       +   language property parameters can be specified on this property.
       +
       +   Conformance: The property can be specified in a "VEVENT", "VTODO",
       +   "VJOURNAL" or "VFREEBUSY" calendar component.
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 104]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   Description: The property value consists of textual contact
       +   information. An alternative representation for the property value can
       +   also be specified that refers to a URI pointing to an alternate form,
       +   such as a vCard [RFC 2426], for the contact information.
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     contact    = "CONTACT" contparam ":" text CRLF
       +
       +     contparam  = *(
       +                ; the following are optional,
       +                ; but MUST NOT occur more than once
       +
       +                (";" altrepparam) / (";" languageparam) /
       +
       +                ; the following is optional,
       +                ; and MAY occur more than once
       +
       +                (";" xparam)
       +
       +                )
       +
       +   Example: The following is an example of this property referencing
       +   textual contact information:
       +
       +     CONTACT:Jim Dolittle\, ABC Industries\, +1-919-555-1234
       +
       +   The following is an example of this property with an alternate
       +   representation of a LDAP URI to a directory entry containing the
       +   contact information:
       +
       +     CONTACT;ALTREP="ldap://host.com:6666/o=3DABC%20Industries\,
       +      c=3DUS??(cn=3DBJim%20Dolittle)":Jim Dolittle\, ABC Industries\,
       +      +1-919-555-1234
       +
       +   The following is an example of this property with an alternate
       +   representation of a MIME body part containing the contact
       +   information, such as a vCard [RFC 2426] embedded in a [MIME-DIR]
       +   content-type:
       +
       +     CONTACT;ALTREP="CID=<part3.msg970930T083000SILVER@host.com>":Jim
       +       Dolittle\, ABC Industries\, +1-919-555-1234
       +
       +   The following is an example of this property referencing a network
       +   resource, such as a vCard [RFC 2426] object containing the contact
       +   information:
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 105]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +     CONTACT;ALTREP="http://host.com/pdi/jdoe.vcf":Jim
       +       Dolittle\, ABC Industries\, +1-919-555-1234
       +
       +4.8.4.3 Organizer
       +
       +   Property Name: ORGANIZER
       +
       +   Purpose: The property defines the organizer for a calendar component.
       +
       +   Value Type: CAL-ADDRESS
       +
       +   Property Parameters: Non-standard, language, common name, directory
       +   entry reference, sent by property parameters can be specified on this
       +   property.
       +
       +   Conformance: This property MUST be specified in an iCalendar object
       +   that specifies a group scheduled calendar entity. This property MUST
       +   be specified in an iCalendar object that specifies the publication of
       +   a calendar user's busy time. This property MUST NOT be specified in
       +   an iCalendar object that specifies only a time zone definition or
       +   that defines calendar entities that are not group scheduled entities,
       +   but are entities only on a single user's calendar.
       +
       +   Description: The property is specified within the "VEVENT", "VTODO",
       +   "VJOURNAL calendar components to specify the organizer of a group
       +   scheduled calendar entity. The property is specified within the
       +   "VFREEBUSY" calendar component to specify the calendar user
       +   requesting the free or busy time. When publishing a "VFREEBUSY"
       +   calendar component, the property is used to specify the calendar that
       +   the published busy time came from.
       +
       +   The property has the property parameters CN, for specifying the
       +   common or display name associated with the "Organizer", DIR, for
       +   specifying a pointer to the directory information associated with the
       +   "Organizer", SENT-BY, for specifying another calendar user that is
       +   acting on behalf of the "Organizer". The non-standard parameters may
       +   also be specified on this property. If the LANGUAGE property
       +   parameter is specified, the identified language applies to the CN
       +   parameter value.
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     organizer  = "ORGANIZER" orgparam ":"
       +                  cal-address CRLF
       +
       +     orgparam   = *(
       +
       +                ; the following are optional,
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 106]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +                ; but MUST NOT occur more than once
       +
       +                (";" cnparam) / (";" dirparam) / (";" sentbyparam) /
       +                (";" languageparam) /
       +
       +                ; the following is optional,
       +                ; and MAY occur more than once
       +
       +                (";" xparam)
       +
       +                )
       +
       +   Example: The following is an example of this property:
       +
       +     ORGANIZER;CN=John Smith:MAILTO:jsmith@host1.com
       +
       +   The following is an example of this property with a pointer to the
       +   directory information associated with the organizer:
       +
       +     ORGANIZER;CN=JohnSmith;DIR="ldap://host.com:6666/o=3DDC%20Associ
       +      ates,c=3DUS??(cn=3DJohn%20Smith)":MAILTO:jsmith@host1.com
       +
       +   The following is an example of this property used by another calendar
       +   user who is acting on behalf of the organizer, with responses
       +   intended to be sent back to the organizer, not the other calendar
       +   user:
       +
       +     ORGANIZER;SENT-BY="MAILTO:jane_doe@host.com":
       +      MAILTO:jsmith@host1.com
       +
       +4.8.4.4 Recurrence ID
       +
       +   Property Name: RECURRENCE-ID
       +
       +   Purpose: This property is used in conjunction with the "UID" and
       +   "SEQUENCE" property to identify a specific instance of a recurring
       +   "VEVENT", "VTODO" or "VJOURNAL" calendar component. The property
       +   value is the effective value of the "DTSTART" property of the
       +   recurrence instance.
       +
       +   Value Type: The default value type for this property is DATE-TIME.
       +   The time format can be any of the valid forms defined for a DATE-TIME
       +   value type. See DATE-TIME value type definition for specific
       +   interpretations of the various forms. The value type can be set to
       +   DATE.
       +
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 107]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   Property Parameters: Non-standard property, value data type, time
       +   zone identifier and recurrence identifier range parameters can be
       +   specified on this property.
       +
       +   Conformance: This property can be specified in an iCalendar object
       +   containing a recurring calendar component.
       +
       +   Description: The full range of calendar components specified by a
       +   recurrence set is referenced by referring to just the "UID" property
       +   value corresponding to the calendar component. The "RECURRENCE-ID"
       +   property allows the reference to an individual instance within the
       +   recurrence set.
       +
       +   If the value of the "DTSTART" property is a DATE type value, then the
       +   value MUST be the calendar date for the recurrence instance.
       +
       +   The date/time value is set to the time when the original recurrence
       +   instance would occur; meaning that if the intent is to change a
       +   Friday meeting to Thursday, the date/time is still set to the
       +   original Friday meeting.
       +
       +   The "RECURRENCE-ID" property is used in conjunction with the "UID"
       +   and "SEQUENCE" property to identify a particular instance of a
       +   recurring event, to-do or journal. For a given pair of "UID" and
       +   "SEQUENCE" property values, the "RECURRENCE-ID" value for a
       +   recurrence instance is fixed. When the definition of the recurrence
       +   set for a calendar component changes, and hence the "SEQUENCE"
       +   property value changes, the "RECURRENCE-ID" for a given recurrence
       +   instance might also change.The "RANGE" parameter is used to specify
       +   the effective range of recurrence instances from the instance
       +   specified by the "RECURRENCE-ID" property value. The default value
       +   for the range parameter is the single recurrence instance only. The
       +   value can also be "THISANDPRIOR" to indicate a range defined by the
       +   given recurrence instance and all prior instances or the value can be
       +   "THISANDFUTURE" to indicate a range defined by the given recurrence
       +   instance and all subsequent instances.
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     recurid    = "RECURRENCE-ID" ridparam ":" ridval CRLF
       +
       +     ridparam   = *(
       +
       +                ; the following are optional,
       +                ; but MUST NOT occur more than once
       +
       +                (";" "VALUE" "=" ("DATE-TIME" / "DATE)) /
       +                (";" tzidparam) / (";" rangeparam) /
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 108]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +                ; the following is optional,
       +                ; and MAY occur more than once
       +
       +                (";" xparam)
       +
       +                )
       +
       +     ridval     = date-time / date
       +     ;Value MUST match value type
       +
       +   Example: The following are examples of this property:
       +
       +     RECURRENCE-ID;VALUE=DATE:19960401
       +
       +     RECURRENCE-ID;RANGE=THISANDFUTURE:19960120T120000Z
       +
       +4.8.4.5 Related To
       +
       +   Property Name: RELATED-TO
       +
       +   Purpose: The property is used to represent a relationship or
       +   reference between one calendar component and another.
       +
       +   Value Type: TEXT
       +
       +   Property Parameters: Non-standard and relationship type property
       +   parameters can be specified on this property.
       +
       +   Conformance: The property can be specified one or more times in the
       +   "VEVENT", "VTODO" or "VJOURNAL" calendar components.
       +
       +   Description: The property value consists of the persistent, globally
       +   unique identifier of another calendar component. This value would be
       +   represented in a calendar component by the "UID" property.
       +
       +   By default, the property value points to another calendar component
       +   that has a PARENT relationship to the referencing object. The
       +   "RELTYPE" property parameter is used to either explicitly state the
       +   default PARENT relationship type to the referenced calendar component
       +   or to override the default PARENT relationship type and specify
       +   either a CHILD or SIBLING relationship. The PARENT relationship
       +   indicates that the calendar component is a subordinate of the
       +   referenced calendar component. The CHILD relationship indicates that
       +   the calendar component is a superior of the referenced calendar
       +   component. The SIBLING relationship indicates that the calendar
       +   component is a peer of the referenced calendar component.
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 109]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   Changes to a calendar component referenced by this property can have
       +   an implicit impact on the related calendar component. For example, if
       +   a group event changes its start or end date or time, then the
       +   related, dependent events will need to have their start and end dates
       +   changed in a corresponding way. Similarly, if a PARENT calendar
       +   component is canceled or deleted, then there is an implied impact to
       +   the related CHILD calendar components. This property is intended only
       +   to provide information on the relationship of calendar components. It
       +   is up to the target calendar system to maintain any property
       +   implications of this relationship.
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     related    = "RELATED-TO" [relparam] ":" text CRLF
       +
       +     relparam   = *(
       +
       +                ; the following is optional,
       +                ; but MUST NOT occur more than once
       +
       +                (";" reltypeparam) /
       +
       +                ; the following is optional,
       +                ; and MAY occur more than once
       +
       +                (";" xparm)
       +
       +                )
       +
       +   The following is an example of this property:
       +
       +     RELATED-TO:<jsmith.part7.19960817T083000.xyzMail@host3.com>
       +
       +     RELATED-TO:<19960401-080045-4000F192713-0052@host1.com>
       +
       +4.8.4.6 Uniform Resource Locator
       +
       +   Property Name: URL
       +
       +   Purpose: This property defines a Uniform Resource Locator (URL)
       +   associated with the iCalendar object.
       +
       +   Value Type: URI
       +
       +   Property Parameters: Non-standard property parameters can be
       +   specified on this property.
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 110]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   Conformance: This property can be specified once in the "VEVENT",
       +   "VTODO", "VJOURNAL" or "VFREEBUSY" calendar components.
       +
       +   Description: This property may be used in a calendar component to
       +   convey a location where a more dynamic rendition of the calendar
       +   information associated with the calendar component can be found. This
       +   memo does not attempt to standardize the form of the URI, nor the
       +   format of the resource pointed to by the property value. If the URL
       +   property and Content-Location MIME header are both specified, they
       +   MUST point to the same resource.
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     url        = "URL" urlparam ":" uri CRLF
       +
       +     urlparam   = *(";" xparam)
       +
       +   Example: The following is an example of this property:
       +
       +     URL:http://abc.com/pub/calendars/jsmith/mytime.ics
       +
       +4.8.4.7 Unique Identifier
       +
       +   Property Name: UID
       +
       +   Purpose: This property defines the persistent, globally unique
       +   identifier for the calendar component.
       +
       +   Value Type: TEXT
       +
       +   Property Parameters: Non-standard property parameters can be
       +   specified on this property.
       +
       +   Conformance: The property MUST be specified in the "VEVENT", "VTODO",
       +   "VJOURNAL" or "VFREEBUSY" calendar components.
       +
       +   Description: The UID itself MUST be a globally unique identifier. The
       +   generator of the identifier MUST guarantee that the identifier is
       +   unique. There are several algorithms that can be used to accomplish
       +   this. The identifier is RECOMMENDED to be the identical syntax to the
       +   [RFC 822] addr-spec. A good method to assure uniqueness is to put the
       +   domain name or a domain literal IP address of the host on which the
       +   identifier was created on the right hand side of the "@", and on the
       +   left hand side, put a combination of the current calendar date and
       +   time of day (i.e., formatted in as a DATE-TIME value) along with some
       +   other currently unique (perhaps sequential) identifier available on
       +   the system (for example, a process id number). Using a date/time
       +   value on the left hand side and a domain name or domain literal on
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 111]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   the right hand side makes it possible to guarantee uniqueness since
       +   no two hosts should be using the same domain name or IP address at
       +   the same time. Though other algorithms will work, it is RECOMMENDED
       +   that the right hand side contain some domain identifier (either of
       +   the host itself or otherwise) such that the generator of the message
       +   identifier can guarantee the uniqueness of the left hand side within
       +   the scope of that domain.
       +
       +   This is the method for correlating scheduling messages with the
       +   referenced "VEVENT", "VTODO", or "VJOURNAL" calendar component.
       +
       +   The full range of calendar components specified by a recurrence set
       +   is referenced by referring to just the "UID" property value
       +   corresponding to the calendar component. The "RECURRENCE-ID" property
       +   allows the reference to an individual instance within the recurrence
       +   set.
       +
       +   This property is an important method for group scheduling
       +   applications to match requests with later replies, modifications or
       +   deletion requests. Calendaring and scheduling applications MUST
       +   generate this property in "VEVENT", "VTODO" and "VJOURNAL" calendar
       +   components to assure interoperability with other group scheduling
       +   applications. This identifier is created by the calendar system that
       +   generates an iCalendar object.
       +
       +   Implementations MUST be able to receive and persist values of at
       +   least 255 characters for this property.
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     uid        = "UID" uidparam ":" text CRLF
       +
       +     uidparam   = *(";" xparam)
       +
       +   Example: The following is an example of this property:
       +
       +     UID:19960401T080045Z-4000F192713-0052@host1.com
       +
       +4.8.5 Recurrence Component Properties
       +
       +   The following properties specify recurrence information in calendar
       +   components.
       +
       +4.8.5.1 Exception Date/Times
       +
       +   Property Name: EXDATE
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 112]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   Purpose: This property defines the list of date/time exceptions for a
       +   recurring calendar component.
       +
       +   Value Type: The default value type for this property is DATE-TIME.
       +   The value type can be set to DATE.
       +
       +   Property Parameters: Non-standard, value data type and time zone
       +   identifier property parameters can be specified on this property.
       +
       +   Conformance: This property can be specified in an iCalendar object
       +   that includes a recurring calendar component.
       +
       +   Description: The exception dates, if specified, are used in computing
       +   the recurrence set. The recurrence set is the complete set of
       +   recurrence instances for a calendar component. The recurrence set is
       +   generated by considering the initial "DTSTART" property along with
       +   the "RRULE", "RDATE", "EXDATE" and "EXRULE" properties contained
       +   within the iCalendar object. The "DTSTART" property defines the first
       +   instance in the recurrence set. Multiple instances of the "RRULE" and
       +   "EXRULE" properties can also be specified to define more
       +   sophisticated recurrence sets. The final recurrence set is generated
       +   by gathering all of the start date-times generated by any of the
       +   specified "RRULE" and "RDATE" properties, and then excluding any
       +   start date and times which fall within the union of start date and
       +   times generated by any specified "EXRULE" and "EXDATE" properties.
       +   This implies that start date and times within exclusion related
       +   properties (i.e., "EXDATE" and "EXRULE") take precedence over those
       +   specified by inclusion properties (i.e., "RDATE" and "RRULE"). Where
       +   duplicate instances are generated by the "RRULE" and "RDATE"
       +   properties, only one recurrence is considered. Duplicate instances
       +   are ignored.
       +
       +   The "EXDATE" property can be used to exclude the value specified in
       +   "DTSTART". However, in such cases the original "DTSTART" date MUST
       +   still be maintained by the calendaring and scheduling system because
       +   the original "DTSTART" value has inherent usage dependencies by other
       +   properties such as the "RECURRENCE-ID".
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     exdate     = "EXDATE" exdtparam ":" exdtval *("," exdtval) CRLF
       +
       +     exdtparam  = *(
       +
       +                ; the following are optional,
       +                ; but MUST NOT occur more than once
       +
       +                (";" "VALUE" "=" ("DATE-TIME" / "DATE")) /
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 113]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +                (";" tzidparam) /
       +
       +                ; the following is optional,
       +                ; and MAY occur more than once
       +
       +                (";" xparam)
       +
       +                )
       +
       +     exdtval    = date-time / date
       +     ;Value MUST match value type
       +
       +   Example: The following is an example of this property:
       +
       +     EXDATE:19960402T010000Z,19960403T010000Z,19960404T010000Z
       +
       +4.8.5.2 Exception Rule
       +
       +   Property Name: EXRULE
       +
       +   Purpose: This property defines a rule or repeating pattern for an
       +   exception to a recurrence set.
       +
       +   Value Type: RECUR
       +
       +   Property Parameters: Non-standard property parameters can be
       +   specified on this property.
       +
       +   Conformance: This property can be specified in "VEVENT", "VTODO" or
       +   "VJOURNAL" calendar components.
       +
       +   Description: The exception rule, if specified, is used in computing
       +   the recurrence set. The recurrence set is the complete set of
       +   recurrence instances for a calendar component. The recurrence set is
       +   generated by considering the initial "DTSTART" property along with
       +   the "RRULE", "RDATE", "EXDATE" and "EXRULE" properties contained
       +   within the iCalendar object. The "DTSTART" defines the first instance
       +   in the recurrence set. Multiple instances of the "RRULE" and "EXRULE"
       +   properties can also be specified to define more sophisticated
       +   recurrence sets. The final recurrence set is generated by gathering
       +   all of the start date-times generated by any of the specified "RRULE"
       +   and "RDATE" properties, and excluding any start date and times which
       +   fall within the union of start date and times generated by any
       +   specified "EXRULE" and "EXDATE" properties. This implies that start
       +   date and times within exclusion related properties (i.e., "EXDATE"
       +   and "EXRULE") take precedence over those specified by inclusion
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 114]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   properties (i.e., "RDATE" and "RRULE"). Where duplicate instances are
       +   generated by the "RRULE" and "RDATE" properties, only one recurrence
       +   is considered. Duplicate instances are ignored.
       +
       +   The "EXRULE" property can be used to exclude the value specified in
       +   "DTSTART". However, in such cases the original "DTSTART" date MUST
       +   still be maintained by the calendaring and scheduling system because
       +   the original "DTSTART" value has inherent usage dependencies by other
       +   properties such as the "RECURRENCE-ID".
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     exrule     = "EXRULE" exrparam ":" recur CRLF
       +
       +     exrparam   = *(";" xparam)
       +
       +   Example: The following are examples of this property. Except every
       +   other week, on Tuesday and Thursday for 4 occurrences:
       +
       +     EXRULE:FREQ=WEEKLY;COUNT=4;INTERVAL=2;BYDAY=TU,TH
       +
       +   Except daily for 10 occurrences:
       +
       +     EXRULE:FREQ=DAILY;COUNT=10
       +
       +   Except yearly in June and July for 8 occurrences:
       +
       +     EXRULE:FREQ=YEARLY;COUNT=8;BYMONTH=6,7
       +
       +4.8.5.3 Recurrence Date/Times
       +
       +   Property Name: RDATE
       +
       +   Purpose: This property defines the list of date/times for a
       +   recurrence set.
       +
       +   Value Type: The default value type for this property is DATE-TIME.
       +   The value type can be set to DATE or PERIOD.
       +
       +   Property Parameters: Non-standard, value data type and time zone
       +   identifier property parameters can be specified on this property.
       +
       +   Conformance: The property can be specified in "VEVENT", "VTODO",
       +   "VJOURNAL" or "VTIMEZONE" calendar components.
       +
       +
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 115]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   Description: This property can appear along with the "RRULE" property
       +   to define an aggregate set of repeating occurrences. When they both
       +   appear in an iCalendar object, the recurring events are defined by
       +   the union of occurrences defined by both the "RDATE" and "RRULE".
       +
       +   The recurrence dates, if specified, are used in computing the
       +   recurrence set. The recurrence set is the complete set of recurrence
       +   instances for a calendar component. The recurrence set is generated
       +   by considering the initial "DTSTART" property along with the "RRULE",
       +   "RDATE", "EXDATE" and "EXRULE" properties contained within the
       +   iCalendar object. The "DTSTART" property defines the first instance
       +   in the recurrence set. Multiple instances of the "RRULE" and "EXRULE"
       +   properties can also be specified to define more sophisticated
       +   recurrence sets. The final recurrence set is generated by gathering
       +   all of the start date/times generated by any of the specified "RRULE"
       +   and "RDATE" properties, and excluding any start date/times which fall
       +   within the union of start date/times generated by any specified
       +   "EXRULE" and "EXDATE" properties. This implies that start date/times
       +   within exclusion related properties (i.e., "EXDATE" and "EXRULE")
       +   take precedence over those specified by inclusion properties (i.e.,
       +   "RDATE" and "RRULE"). Where duplicate instances are generated by the
       +   "RRULE" and "RDATE" properties, only one recurrence is considered.
       +   Duplicate instances are ignored.
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     rdate      = "RDATE" rdtparam ":" rdtval *("," rdtval) CRLF
       +
       +     rdtparam   = *(
       +
       +                ; the following are optional,
       +                ; but MUST NOT occur more than once
       +
       +                (";" "VALUE" "=" ("DATE-TIME" / "DATE" / "PERIOD")) /
       +                (";" tzidparam) /
       +
       +                ; the following is optional,
       +                ; and MAY occur more than once
       +
       +                (";" xparam)
       +
       +                )
       +
       +     rdtval     = date-time / date / period
       +     ;Value MUST match value type
       +
       +   Example: The following are examples of this property:
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 116]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +     RDATE:19970714T123000Z
       +
       +     RDATE;TZID=US-EASTERN:19970714T083000
       +
       +     RDATE;VALUE=PERIOD:19960403T020000Z/19960403T040000Z,
       +      19960404T010000Z/PT3H
       +
       +     RDATE;VALUE=DATE:19970101,19970120,19970217,19970421
       +      19970526,19970704,19970901,19971014,19971128,19971129,19971225
       +
       +4.8.5.4 Recurrence Rule
       +
       +   Property Name: RRULE
       +
       +   Purpose: This property defines a rule or repeating pattern for
       +   recurring events, to-dos, or time zone definitions.
       +
       +   Value Type: RECUR
       +
       +   Property Parameters: Non-standard property parameters can be
       +   specified on this property.
       +
       +   Conformance: This property can be specified one or more times in
       +   recurring "VEVENT", "VTODO" and "VJOURNAL" calendar components. It
       +   can also be specified once in each STANDARD or DAYLIGHT sub-component
       +   of the "VTIMEZONE" calendar component.
       +
       +   Description: The recurrence rule, if specified, is used in computing
       +   the recurrence set. The recurrence set is the complete set of
       +   recurrence instances for a calendar component. The recurrence set is
       +   generated by considering the initial "DTSTART" property along with
       +   the "RRULE", "RDATE", "EXDATE" and "EXRULE" properties contained
       +   within the iCalendar object. The "DTSTART" property defines the first
       +   instance in the recurrence set. Multiple instances of the "RRULE" and
       +   "EXRULE" properties can also be specified to define more
       +   sophisticated recurrence sets. The final recurrence set is generated
       +   by gathering all of the start date/times generated by any of the
       +   specified "RRULE" and "RDATE" properties, and excluding any start
       +   date/times which fall within the union of start date/times generated
       +   by any specified "EXRULE" and "EXDATE" properties. This implies that
       +   start date/times within exclusion related properties (i.e., "EXDATE"
       +   and "EXRULE") take precedence over those specified by inclusion
       +   properties (i.e., "RDATE" and "RRULE"). Where duplicate instances are
       +   generated by the "RRULE" and "RDATE" properties, only one recurrence
       +   is considered. Duplicate instances are ignored.
       +
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 117]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   The "DTSTART" and "DTEND" property pair or "DTSTART" and "DURATION"
       +   property pair, specified within the iCalendar object defines the
       +   first instance of the recurrence. When used with a recurrence rule,
       +   the "DTSTART" and "DTEND" properties MUST be specified in local time
       +   and the appropriate set of "VTIMEZONE" calendar components MUST be
       +   included. For detail on the usage of the "VTIMEZONE" calendar
       +   component, see the "VTIMEZONE" calendar component definition.
       +
       +   Any duration associated with the iCalendar object applies to all
       +   members of the generated recurrence set. Any modified duration for
       +   specific recurrences MUST be explicitly specified using the "RDATE"
       +   property.
       +
       +   Format Definition: This property is defined by the following
       +   notation:
       +
       +     rrule      = "RRULE" rrulparam ":" recur CRLF
       +
       +     rrulparam  = *(";" xparam)
       +
       +   Example: All examples assume the Eastern United States time zone.
       +
       +   Daily for 10 occurrences:
       +
       +     DTSTART;TZID=US-Eastern:19970902T090000
       +     RRULE:FREQ=DAILY;COUNT=10
       +
       +     ==> (1997 9:00 AM EDT)September 2-11
       +
       +   Daily until December 24, 1997:
       +
       +     DTSTART;TZID=US-Eastern:19970902T090000
       +     RRULE:FREQ=DAILY;UNTIL=19971224T000000Z
       +
       +     ==> (1997 9:00 AM EDT)September 2-30;October 1-25
       +         (1997 9:00 AM EST)October 26-31;November 1-30;December 1-23
       +
       +   Every other day - forever:
       +
       +     DTSTART;TZID=US-Eastern:19970902T090000
       +     RRULE:FREQ=DAILY;INTERVAL=2
       +     ==> (1997 9:00 AM EDT)September2,4,6,8...24,26,28,30;
       +          October 2,4,6...20,22,24
       +         (1997 9:00 AM EST)October 26,28,30;November 1,3,5,7...25,27,29;
       +          Dec 1,3,...
       +
       +   Every 10 days, 5 occurrences:
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 118]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +     DTSTART;TZID=US-Eastern:19970902T090000
       +     RRULE:FREQ=DAILY;INTERVAL=10;COUNT=5
       +
       +     ==> (1997 9:00 AM EDT)September 2,12,22;October 2,12
       +
       +   Everyday in January, for 3 years:
       +
       +     DTSTART;TZID=US-Eastern:19980101T090000
       +     RRULE:FREQ=YEARLY;UNTIL=20000131T090000Z;
       +      BYMONTH=1;BYDAY=SU,MO,TU,WE,TH,FR,SA
       +     or
       +     RRULE:FREQ=DAILY;UNTIL=20000131T090000Z;BYMONTH=1
       +
       +     ==> (1998 9:00 AM EDT)January 1-31
       +         (1999 9:00 AM EDT)January 1-31
       +         (2000 9:00 AM EDT)January 1-31
       +
       +   Weekly for 10 occurrences
       +
       +     DTSTART;TZID=US-Eastern:19970902T090000
       +     RRULE:FREQ=WEEKLY;COUNT=10
       +
       +     ==> (1997 9:00 AM EDT)September 2,9,16,23,30;October 7,14,21
       +         (1997 9:00 AM EST)October 28;November 4
       +
       +   Weekly until December 24, 1997
       +
       +     DTSTART;TZID=US-Eastern:19970902T090000
       +     RRULE:FREQ=WEEKLY;UNTIL=19971224T000000Z
       +
       +     ==> (1997 9:00 AM EDT)September 2,9,16,23,30;October 7,14,21
       +         (1997 9:00 AM EST)October 28;November 4,11,18,25;
       +                           December 2,9,16,23
       +   Every other week - forever:
       +
       +     DTSTART;TZID=US-Eastern:19970902T090000
       +     RRULE:FREQ=WEEKLY;INTERVAL=2;WKST=SU
       +
       +     ==> (1997 9:00 AM EDT)September 2,16,30;October 14
       +         (1997 9:00 AM EST)October 28;November 11,25;December 9,23
       +         (1998 9:00 AM EST)January 6,20;February
       +     ...
       +
       +   Weekly on Tuesday and Thursday for 5 weeks:
       +
       +    DTSTART;TZID=US-Eastern:19970902T090000
       +    RRULE:FREQ=WEEKLY;UNTIL=19971007T000000Z;WKST=SU;BYDAY=TU,TH
       +    or
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 119]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +    RRULE:FREQ=WEEKLY;COUNT=10;WKST=SU;BYDAY=TU,TH
       +
       +    ==> (1997 9:00 AM EDT)September 2,4,9,11,16,18,23,25,30;October 2
       +
       +   Every other week on Monday, Wednesday and Friday until December 24,
       +   1997, but starting on Tuesday, September 2, 1997:
       +
       +     DTSTART;TZID=US-Eastern:19970902T090000
       +     RRULE:FREQ=WEEKLY;INTERVAL=2;UNTIL=19971224T000000Z;WKST=SU;
       +      BYDAY=MO,WE,FR
       +     ==> (1997 9:00 AM EDT)September 2,3,5,15,17,19,29;October
       +     1,3,13,15,17
       +         (1997 9:00 AM EST)October 27,29,31;November 10,12,14,24,26,28;
       +                           December 8,10,12,22
       +
       +   Every other week on Tuesday and Thursday, for 8 occurrences:
       +
       +     DTSTART;TZID=US-Eastern:19970902T090000
       +     RRULE:FREQ=WEEKLY;INTERVAL=2;COUNT=8;WKST=SU;BYDAY=TU,TH
       +
       +     ==> (1997 9:00 AM EDT)September 2,4,16,18,30;October 2,14,16
       +
       +   Monthly on the 1st Friday for ten occurrences:
       +
       +     DTSTART;TZID=US-Eastern:19970905T090000
       +     RRULE:FREQ=MONTHLY;COUNT=10;BYDAY=1FR
       +
       +     ==> (1997 9:00 AM EDT)September 5;October 3
       +         (1997 9:00 AM EST)November 7;Dec 5
       +         (1998 9:00 AM EST)January 2;February 6;March 6;April 3
       +         (1998 9:00 AM EDT)May 1;June 5
       +
       +   Monthly on the 1st Friday until December 24, 1997:
       +
       +     DTSTART;TZID=US-Eastern:19970905T090000
       +     RRULE:FREQ=MONTHLY;UNTIL=19971224T000000Z;BYDAY=1FR
       +
       +     ==> (1997 9:00 AM EDT)September 5;October 3
       +         (1997 9:00 AM EST)November 7;December 5
       +
       +   Every other month on the 1st and last Sunday of the month for 10
       +   occurrences:
       +
       +     DTSTART;TZID=US-Eastern:19970907T090000
       +     RRULE:FREQ=MONTHLY;INTERVAL=2;COUNT=10;BYDAY=1SU,-1SU
       +
       +     ==> (1997 9:00 AM EDT)September 7,28
       +         (1997 9:00 AM EST)November 2,30
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 120]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +         (1998 9:00 AM EST)January 4,25;March 1,29
       +         (1998 9:00 AM EDT)May 3,31
       +
       +   Monthly on the second to last Monday of the month for 6 months:
       +
       +     DTSTART;TZID=US-Eastern:19970922T090000
       +     RRULE:FREQ=MONTHLY;COUNT=6;BYDAY=-2MO
       +
       +     ==> (1997 9:00 AM EDT)September 22;October 20
       +         (1997 9:00 AM EST)November 17;December 22
       +         (1998 9:00 AM EST)January 19;February 16
       +
       +   Monthly on the third to the last day of the month, forever:
       +
       +     DTSTART;TZID=US-Eastern:19970928T090000
       +     RRULE:FREQ=MONTHLY;BYMONTHDAY=-3
       +
       +     ==> (1997 9:00 AM EDT)September 28
       +         (1997 9:00 AM EST)October 29;November 28;December 29
       +         (1998 9:00 AM EST)January 29;February 26
       +     ...
       +
       +   Monthly on the 2nd and 15th of the month for 10 occurrences:
       +
       +     DTSTART;TZID=US-Eastern:19970902T090000
       +     RRULE:FREQ=MONTHLY;COUNT=10;BYMONTHDAY=2,15
       +
       +     ==> (1997 9:00 AM EDT)September 2,15;October 2,15
       +         (1997 9:00 AM EST)November 2,15;December 2,15
       +         (1998 9:00 AM EST)January 2,15
       +
       +   Monthly on the first and last day of the month for 10 occurrences:
       +
       +     DTSTART;TZID=US-Eastern:19970930T090000
       +     RRULE:FREQ=MONTHLY;COUNT=10;BYMONTHDAY=1,-1
       +
       +     ==> (1997 9:00 AM EDT)September 30;October 1
       +         (1997 9:00 AM EST)October 31;November 1,30;December 1,31
       +         (1998 9:00 AM EST)January 1,31;February 1
       +
       +   Every 18 months on the 10th thru 15th of the month for 10
       +   occurrences:
       +
       +     DTSTART;TZID=US-Eastern:19970910T090000
       +     RRULE:FREQ=MONTHLY;INTERVAL=18;COUNT=10;BYMONTHDAY=10,11,12,13,14,
       +      15
       +
       +     ==> (1997 9:00 AM EDT)September 10,11,12,13,14,15
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 121]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +         (1999 9:00 AM EST)March 10,11,12,13
       +
       +   Every Tuesday, every other month:
       +
       +     DTSTART;TZID=US-Eastern:19970902T090000
       +     RRULE:FREQ=MONTHLY;INTERVAL=2;BYDAY=TU
       +
       +     ==> (1997 9:00 AM EDT)September 2,9,16,23,30
       +         (1997 9:00 AM EST)November 4,11,18,25
       +         (1998 9:00 AM EST)January 6,13,20,27;March 3,10,17,24,31
       +     ...
       +
       +   Yearly in June and July for 10 occurrences:
       +
       +     DTSTART;TZID=US-Eastern:19970610T090000
       +     RRULE:FREQ=YEARLY;COUNT=10;BYMONTH=6,7
       +     ==> (1997 9:00 AM EDT)June 10;July 10
       +         (1998 9:00 AM EDT)June 10;July 10
       +         (1999 9:00 AM EDT)June 10;July 10
       +         (2000 9:00 AM EDT)June 10;July 10
       +         (2001 9:00 AM EDT)June 10;July 10
       +     Note: Since none of the BYDAY, BYMONTHDAY or BYYEARDAY components
       +     are specified, the day is gotten from DTSTART
       +
       +   Every other year on January, February, and March for 10 occurrences:
       +
       +     DTSTART;TZID=US-Eastern:19970310T090000
       +     RRULE:FREQ=YEARLY;INTERVAL=2;COUNT=10;BYMONTH=1,2,3
       +
       +     ==> (1997 9:00 AM EST)March 10
       +         (1999 9:00 AM EST)January 10;February 10;March 10
       +         (2001 9:00 AM EST)January 10;February 10;March 10
       +         (2003 9:00 AM EST)January 10;February 10;March 10
       +
       +   Every 3rd year on the 1st, 100th and 200th day for 10 occurrences:
       +
       +     DTSTART;TZID=US-Eastern:19970101T090000
       +     RRULE:FREQ=YEARLY;INTERVAL=3;COUNT=10;BYYEARDAY=1,100,200
       +
       +     ==> (1997 9:00 AM EST)January 1
       +         (1997 9:00 AM EDT)April 10;July 19
       +         (2000 9:00 AM EST)January 1
       +         (2000 9:00 AM EDT)April 9;July 18
       +         (2003 9:00 AM EST)January 1
       +         (2003 9:00 AM EDT)April 10;July 19
       +         (2006 9:00 AM EST)January 1
       +
       +   Every 20th Monday of the year, forever:
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 122]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +     DTSTART;TZID=US-Eastern:19970519T090000
       +     RRULE:FREQ=YEARLY;BYDAY=20MO
       +
       +     ==> (1997 9:00 AM EDT)May 19
       +         (1998 9:00 AM EDT)May 18
       +         (1999 9:00 AM EDT)May 17
       +     ...
       +
       +   Monday of week number 20 (where the default start of the week is
       +   Monday), forever:
       +
       +     DTSTART;TZID=US-Eastern:19970512T090000
       +     RRULE:FREQ=YEARLY;BYWEEKNO=20;BYDAY=MO
       +
       +     ==> (1997 9:00 AM EDT)May 12
       +         (1998 9:00 AM EDT)May 11
       +         (1999 9:00 AM EDT)May 17
       +     ...
       +
       +   Every Thursday in March, forever:
       +
       +     DTSTART;TZID=US-Eastern:19970313T090000
       +     RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=TH
       +
       +     ==> (1997 9:00 AM EST)March 13,20,27
       +         (1998 9:00 AM EST)March 5,12,19,26
       +         (1999 9:00 AM EST)March 4,11,18,25
       +     ...
       +
       +   Every Thursday, but only during June, July, and August, forever:
       +
       +     DTSTART;TZID=US-Eastern:19970605T090000
       +     RRULE:FREQ=YEARLY;BYDAY=TH;BYMONTH=6,7,8
       +
       +     ==> (1997 9:00 AM EDT)June 5,12,19,26;July 3,10,17,24,31;
       +                       August 7,14,21,28
       +         (1998 9:00 AM EDT)June 4,11,18,25;July 2,9,16,23,30;
       +                       August 6,13,20,27
       +         (1999 9:00 AM EDT)June 3,10,17,24;July 1,8,15,22,29;
       +                       August 5,12,19,26
       +     ...
       +
       +   Every Friday the 13th, forever:
       +
       +     DTSTART;TZID=US-Eastern:19970902T090000
       +     EXDATE;TZID=US-Eastern:19970902T090000
       +     RRULE:FREQ=MONTHLY;BYDAY=FR;BYMONTHDAY=13
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 123]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +     ==> (1998 9:00 AM EST)February 13;March 13;November 13
       +         (1999 9:00 AM EDT)August 13
       +         (2000 9:00 AM EDT)October 13
       +     ...
       +
       +   The first Saturday that follows the first Sunday of the month,
       +    forever:
       +
       +     DTSTART;TZID=US-Eastern:19970913T090000
       +     RRULE:FREQ=MONTHLY;BYDAY=SA;BYMONTHDAY=7,8,9,10,11,12,13
       +
       +     ==> (1997 9:00 AM EDT)September 13;October 11
       +         (1997 9:00 AM EST)November 8;December 13
       +         (1998 9:00 AM EST)January 10;February 7;March 7
       +         (1998 9:00 AM EDT)April 11;May 9;June 13...
       +     ...
       +
       +   Every four years, the first Tuesday after a Monday in November,
       +   forever (U.S. Presidential Election day):
       +
       +     DTSTART;TZID=US-Eastern:19961105T090000
       +     RRULE:FREQ=YEARLY;INTERVAL=4;BYMONTH=11;BYDAY=TU;BYMONTHDAY=2,3,4,
       +      5,6,7,8
       +
       +     ==> (1996 9:00 AM EST)November 5
       +         (2000 9:00 AM EST)November 7
       +         (2004 9:00 AM EST)November 2
       +     ...
       +
       +   The 3rd instance into the month of one of Tuesday, Wednesday or
       +   Thursday, for the next 3 months:
       +
       +     DTSTART;TZID=US-Eastern:19970904T090000
       +     RRULE:FREQ=MONTHLY;COUNT=3;BYDAY=TU,WE,TH;BYSETPOS=3
       +
       +     ==> (1997 9:00 AM EDT)September 4;October 7
       +         (1997 9:00 AM EST)November 6
       +
       +   The 2nd to last weekday of the month:
       +
       +     DTSTART;TZID=US-Eastern:19970929T090000
       +     RRULE:FREQ=MONTHLY;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=-2
       +
       +     ==> (1997 9:00 AM EDT)September 29
       +         (1997 9:00 AM EST)October 30;November 27;December 30
       +         (1998 9:00 AM EST)January 29;February 26;March 30
       +     ...
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 124]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   Every 3 hours from 9:00 AM to 5:00 PM on a specific day:
       +
       +     DTSTART;TZID=US-Eastern:19970902T090000
       +     RRULE:FREQ=HOURLY;INTERVAL=3;UNTIL=19970902T170000Z
       +
       +     ==> (September 2, 1997 EDT)09:00,12:00,15:00
       +
       +   Every 15 minutes for 6 occurrences:
       +
       +     DTSTART;TZID=US-Eastern:19970902T090000
       +     RRULE:FREQ=MINUTELY;INTERVAL=15;COUNT=6
       +
       +     ==> (September 2, 1997 EDT)09:00,09:15,09:30,09:45,10:00,10:15
       +
       +   Every hour and a half for 4 occurrences:
       +
       +     DTSTART;TZID=US-Eastern:19970902T090000
       +     RRULE:FREQ=MINUTELY;INTERVAL=90;COUNT=4
       +
       +     ==> (September 2, 1997 EDT)09:00,10:30;12:00;13:30
       +
       +   Every 20 minutes from 9:00 AM to 4:40 PM every day:
       +
       +     DTSTART;TZID=US-Eastern:19970902T090000
       +     RRULE:FREQ=DAILY;BYHOUR=9,10,11,12,13,14,15,16;BYMINUTE=0,20,40
       +     or
       +     RRULE:FREQ=MINUTELY;INTERVAL=20;BYHOUR=9,10,11,12,13,14,15,16
       +
       +     ==> (September 2, 1997 EDT)9:00,9:20,9:40,10:00,10:20,
       +                                ... 16:00,16:20,16:40
       +         (September 3, 1997 EDT)9:00,9:20,9:40,10:00,10:20,
       +                               ...16:00,16:20,16:40
       +     ...
       +
       +   An example where the days generated makes a difference because of
       +   WKST:
       +
       +     DTSTART;TZID=US-Eastern:19970805T090000
       +     RRULE:FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=MO
       +
       +     ==> (1997 EDT)Aug 5,10,19,24
       +
       +     changing only WKST from MO to SU, yields different results...
       +
       +     DTSTART;TZID=US-Eastern:19970805T090000
       +     RRULE:FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU
       +     ==> (1997 EDT)August 5,17,19,31
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 125]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +4.8.6 Alarm Component Properties
       +
       +   The following properties specify alarm information in calendar
       +   components.
       +
       +4.8.6.1 Action
       +
       +   Property Name: ACTION
       +
       +   Purpose: This property defines the action to be invoked when an alarm
       +   is triggered.
       +
       +   Value Type: TEXT
       +
       +   Property Parameters: Non-standard property parameters can be
       +   specified on this property.
       +
       +   Conformance: This property MUST be specified once in a "VALARM"
       +   calendar component.
       +
       +   Description: Each "VALARM" calendar component has a particular type
       +   of action associated with it. This property specifies the type of
       +   action
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     action     = "ACTION" actionparam ":" actionvalue CRLF
       +
       +     actionparam        = *(";" xparam)
       +
       +     actionvalue        = "AUDIO" / "DISPLAY" / "EMAIL" / "PROCEDURE"
       +                        / iana-token / x-name
       +
       +   Example: The following are examples of this property in a "VALARM"
       +   calendar component:
       +
       +     ACTION:AUDIO
       +
       +     ACTION:DISPLAY
       +
       +     ACTION:PROCEDURE
       +
       +4.8.6.2 Repeat Count
       +
       +   Property Name: REPEAT
       +
       +   Purpose: This property defines the number of time the alarm should be
       +   repeated, after the initial trigger.
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 126]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   Value Type: INTEGER
       +
       +   Property Parameters: Non-standard property parameters can be
       +   specified on this property.
       +
       +   Conformance: This property can be specified in a "VALARM" calendar
       +   component.
       +
       +   Description: If the alarm triggers more than once, then this property
       +   MUST be specified along with the "DURATION" property.
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     repeatcnt  = "REPEAT" repparam ":" integer CRLF
       +     ;Default is "0", zero.
       +
       +     repparam   = *(";" xparam)
       +
       +   Example: The following is an example of this property for an alarm
       +   that repeats 4 additional times with a 5 minute delay after the
       +   initial triggering of the alarm:
       +
       +     REPEAT:4
       +     DURATION:PT5M
       +
       +4.8.6.3 Trigger
       +
       +   Property Name: TRIGGER
       +
       +   Purpose: This property specifies when an alarm will trigger.
       +
       +   Value Type: The default value type is DURATION. The value type can be
       +   set to a DATE-TIME value type, in which case the value MUST specify a
       +   UTC formatted DATE-TIME value.
       +
       +   Property Parameters: Non-standard, value data type, time zone
       +   identifier or trigger relationship property parameters can be
       +   specified on this property. The trigger relationship property
       +   parameter MUST only be specified when the value type is DURATION.
       +
       +   Conformance: This property MUST be specified in the "VALARM" calendar
       +   component.
       +
       +   Description: Within the "VALARM" calendar component, this property
       +   defines when the alarm will trigger. The default value type is
       +   DURATION, specifying a relative time for the trigger of the alarm.
       +   The default duration is relative to the start of an event or to-do
       +   that the alarm is associated with. The duration can be explicitly set
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 127]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   to trigger from either the end or the start of the associated event
       +   or to-do with the "RELATED" parameter. A value of START will set the
       +   alarm to trigger off the start of the associated event or to-do. A
       +   value of END will set the alarm to trigger off the end of the
       +   associated event or to-do.
       +
       +   Either a positive or negative duration may be specified for the
       +   "TRIGGER" property. An alarm with a positive duration is triggered
       +   after the associated start or end of the event or to-do. An alarm
       +   with a negative duration is triggered before the associated start or
       +   end of the event or to-do.
       +
       +   The "RELATED" property parameter is not valid if the value type of
       +   the property is set to DATE-TIME (i.e., for an absolute date and time
       +   alarm trigger). If a value type of DATE-TIME is specified, then the
       +   property value MUST be specified in the UTC time format. If an
       +   absolute trigger is specified on an alarm for a recurring event or
       +   to-do, then the alarm will only trigger for the specified absolute
       +   date/time, along with any specified repeating instances.
       +
       +   If the trigger is set relative to START, then the "DTSTART" property
       +   MUST be present in the associated "VEVENT" or "VTODO" calendar
       +   component. If an alarm is specified for an event with the trigger set
       +   relative to the END, then the "DTEND" property or the "DSTART" and
       +   "DURATION' properties MUST be present in the associated "VEVENT"
       +   calendar component. If the alarm is specified for a to-do with a
       +   trigger set relative to the END, then either the "DUE" property or
       +   the "DSTART" and "DURATION' properties MUST be present in the
       +   associated "VTODO" calendar component.
       +
       +   Alarms specified in an event or to-do which is defined in terms of a
       +   DATE value type will be triggered relative to 00:00:00 UTC on the
       +   specified date. For example, if "DTSTART:19980205, then the duration
       +   trigger will be relative to19980205T000000Z.
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     trigger    = "TRIGGER" (trigrel / trigabs)
       +
       +     trigrel    = *(
       +
       +                ; the following are optional,
       +                ; but MUST NOT occur more than once
       +
       +                  (";" "VALUE" "=" "DURATION") /
       +                  (";" trigrelparam) /
       +
       +                ; the following is optional,
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 128]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +                ; and MAY occur more than once
       +
       +                  (";" xparam)
       +                  ) ":"  dur-value
       +
       +     trigabs    = 1*(
       +
       +                ; the following is REQUIRED,
       +                ; but MUST NOT occur more than once
       +
       +                  (";" "VALUE" "=" "DATE-TIME") /
       +
       +                ; the following is optional,
       +                ; and MAY occur more than once
       +
       +                  (";" xparam)
       +
       +                  ) ":" date-time
       +
       +   Example: A trigger set 15 minutes prior to the start of the event or
       +   to-do.
       +
       +     TRIGGER:-P15M
       +
       +   A trigger set 5 minutes after the end of the event or to-do.
       +
       +     TRIGGER;RELATED=END:P5M
       +
       +   A trigger set to an absolute date/time.
       +
       +     TRIGGER;VALUE=DATE-TIME:19980101T050000Z
       +
       +4.8.7 Change Management Component Properties
       +
       +   The following properties specify change management information in
       +   calendar components.
       +
       +4.8.7.1 Date/Time Created
       +
       +   Property Name: CREATED
       +
       +   Purpose: This property specifies the date and time that the calendar
       +   information was created by the calendar user agent in the calendar
       +   store.
       +
       +        Note: This is analogous to the creation date and time for a file
       +        in the file system.
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 129]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   Value Type: DATE-TIME
       +
       +   Property Parameters: Non-standard property parameters can be
       +   specified on this property.
       +
       +   Conformance: The property can be specified once in "VEVENT", "VTODO"
       +   or "VJOURNAL" calendar components.
       +
       +   Description: The date and time is a UTC value.
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     created    = "CREATED" creaparam ":" date-time CRLF
       +
       +     creaparam  = *(";" xparam)
       +
       +   Example: The following is an example of this property:
       +
       +     CREATED:19960329T133000Z
       +
       +4.8.7.2 Date/Time Stamp
       +
       +   Property Name: DTSTAMP
       +
       +   Purpose: The property indicates the date/time that the instance of
       +   the iCalendar object was created.
       +
       +   Value Type: DATE-TIME
       +
       +   Property Parameters: Non-standard property parameters can be
       +   specified on this property.
       +
       +   Conformance: This property MUST be included in the "VEVENT", "VTODO",
       +   "VJOURNAL" or "VFREEBUSY" calendar components.
       +
       +   Description: The value MUST be specified in the UTC time format.
       +
       +   This property is also useful to protocols such as [IMIP] that have
       +   inherent latency issues with the delivery of content. This property
       +   will assist in the proper sequencing of messages containing iCalendar
       +   objects.
       +
       +   This property is different than the "CREATED" and "LAST-MODIFIED"
       +   properties. These two properties are used to specify when the
       +   particular calendar data in the calendar store was created and last
       +   modified. This is different than when the iCalendar object
       +   representation of the calendar service information was created or
       +   last modified.
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 130]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     dtstamp    = "DTSTAMP" stmparam ":" date-time CRLF
       +
       +     stmparam   = *(";" xparam)
       +
       +   Example:
       +
       +     DTSTAMP:19971210T080000Z
       +
       +4.8.7.3 Last Modified
       +
       +   Property Name: LAST-MODIFIED
       +
       +   Purpose: The property specifies the date and time that the
       +   information associated with the calendar component was last revised
       +   in the calendar store.
       +
       +        Note: This is analogous to the modification date and time for a
       +        file in the file system.
       +
       +   Value Type: DATE-TIME
       +
       +   Property Parameters: Non-standard property parameters can be
       +   specified on this property.
       +
       +   Conformance: This property can be specified in the "EVENT", "VTODO",
       +   "VJOURNAL" or "VTIMEZONE" calendar components.
       +
       +   Description: The property value MUST be specified in the UTC time
       +   format.
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     last-mod   = "LAST-MODIFIED" lstparam ":" date-time CRLF
       +
       +     lstparam   = *(";" xparam)
       +
       +   Example: The following is are examples of this property:
       +
       +     LAST-MODIFIED:19960817T133000Z
       +
       +4.8.7.4 Sequence Number
       +
       +   Property Name: SEQUENCE
       +
       +   Purpose: This property defines the revision sequence number of the
       +   calendar component within a sequence of revisions.
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 131]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   Value Type: integer
       +
       +   Property Parameters: Non-standard property parameters can be
       +   specified on this property.
       +
       +   Conformance: The property can be specified in "VEVENT", "VTODO" or
       +   "VJOURNAL" calendar component.
       +
       +   Description: When a calendar component is created, its sequence
       +   number is zero (US-ASCII decimal 48). It is monotonically incremented
       +   by the "Organizer's" CUA each time the "Organizer" makes a
       +   significant revision to the calendar component. When the "Organizer"
       +   makes changes to one of the following properties, the sequence number
       +   MUST be incremented:
       +
       +     .  "DTSTART"
       +
       +     .  "DTEND"
       +
       +     .  "DUE"
       +
       +     .  "RDATE"
       +
       +     .  "RRULE"
       +
       +     .  "EXDATE"
       +
       +     .  "EXRULE"
       +
       +     .  "STATUS"
       +
       +   In addition, changes made by the "Organizer" to other properties can
       +   also force the sequence number to be incremented. The "Organizer" CUA
       +   MUST increment the sequence number when ever it makes changes to
       +   properties in the calendar component that the "Organizer" deems will
       +   jeopardize the validity of the participation status of the
       +   "Attendees". For example, changing the location of a meeting from one
       +   locale to another distant locale could effectively impact the
       +   participation status of the "Attendees".
       +
       +   The "Organizer" includes this property in an iCalendar object that it
       +   sends to an "Attendee" to specify the current version of the calendar
       +   component.
       +
       +   The "Attendee" includes this property in an iCalendar object that it
       +   sends to the "Organizer" to specify the version of the calendar
       +   component that the "Attendee" is referring to.
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 132]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   A change to the sequence number is not the mechanism that an
       +   "Organizer" uses to request a response from the "Attendees". The
       +   "RSVP" parameter on the "ATTENDEE" property is used by the
       +   "Organizer" to indicate that a response from the "Attendees" is
       +   requested.
       +
       +   Format Definition: This property is defined by the following
       +   notation:
       +
       +     seq = "SEQUENCE" seqparam ":" integer CRLF
       +     ; Default is "0"
       +
       +     seqparam   = *(";" xparam)
       +
       +   Example: The following is an example of this property for a calendar
       +   component that was just created by the "Organizer".
       +
       +     SEQUENCE:0
       +
       +   The following is an example of this property for a calendar component
       +   that has been revised two different times by the "Organizer".
       +
       +     SEQUENCE:2
       +
       +4.8.8 Miscellaneous Component Properties
       +
       +   The following properties specify information about a number of
       +   miscellaneous features of calendar components.
       +
       +4.8.8.1 Non-standard Properties
       +
       +   Property Name: Any property name with a "X-" prefix
       +
       +   Purpose: This class of property provides a framework for defining
       +   non-standard properties.
       +
       +   Value Type: TEXT
       +
       +   Property Parameters: Non-standard and language property parameters
       +   can be specified on this property.
       +
       +   Conformance: This property can be specified in any calendar
       +   component.
       +
       +   Description: The MIME Calendaring and Scheduling Content Type
       +   provides a "standard mechanism for doing non-standard things". This
       +   extension support is provided for implementers to "push the envelope"
       +   on the existing version of the memo. Extension properties are
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 133]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   specified by property and/or property parameter names that have the
       +   prefix text of "X-" (the two character sequence: LATIN CAPITAL LETTER
       +   X character followed by the HYPEN-MINUS character). It is recommended
       +   that vendors concatenate onto this sentinel another short prefix text
       +   to identify the vendor. This will facilitate readability of the
       +   extensions and minimize possible collision of names between different
       +   vendors. User agents that support this content type are expected to
       +   be able to parse the extension properties and property parameters but
       +   can ignore them.
       +
       +   At present, there is no registration authority for names of extension
       +   properties and property parameters. The data type for this property
       +   is TEXT. Optionally, the data type can be any of the other valid data
       +   types.
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     x-prop     = x-name *(";" xparam) [";" languageparam] ":" text CRLF
       +        ; Lines longer than 75 octets should be folded
       +
       +   Example: The following might be the ABC vendor's extension for an
       +   audio-clip form of subject property:
       +
       +     X-ABC-MMSUBJ;X-ABC-MMSUBJTYPE=wave:http://load.noise.org/mysubj.wav
       +
       +4.8.8.2 Request Status
       +
       +   Property Name: REQUEST-STATUS
       +
       +   Purpose: This property defines the status code returned for a
       +   scheduling request.
       +
       +   Value Type: TEXT
       +
       +   Property Parameters: Non-standard and language property parameters
       +   can be specified on this property.
       +
       +   Conformance: The property can be specified in "VEVENT", "VTODO",
       +   "VJOURNAL" or "VFREEBUSY" calendar component.
       +
       +   Description: This property is used to return status code information
       +   related to the processing of an associated iCalendar object. The data
       +   type for this property is TEXT.
       +
       +   The value consists of a short return status component, a longer
       +   return status description component, and optionally a status-specific
       +   data component. The components of the value are separated by the
       +   SEMICOLON character (US-ASCII decimal 59).
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 134]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   The short return status is a PERIOD character (US-ASCII decimal 46)
       +   separated 3-tuple of integers. For example, "3.1.1". The successive
       +   levels of integers provide for a successive level of status code
       +   granularity.
       +
       +   The following are initial classes for the return status code.
       +   Individual iCalendar object methods will define specific return
       +   status codes for these classes. In addition, other classes for the
       +   return status code may be defined using the registration process
       +   defined later in this memo.
       +
       +     |==============+===============================================|
       +     | Short Return | Longer Return Status Description              |
       +     | Status Code  |                                               |
       +     |==============+===============================================|
       +     |    1.xx      | Preliminary success. This class of status     |
       +     |              | of status code indicates that the request has |
       +     |              | request has been initially processed but that |
       +     |              | completion is pending.                        |
       +     |==============+===============================================|
       +     |    2.xx      | Successful. This class of status code         |
       +     |              | indicates that the request was completed      |
       +     |              | successfuly. However, the exact status code   |
       +     |              | can indicate that a fallback has been taken.  |
       +     |==============+===============================================|
       +     |    3.xx      | Client Error. This class of status code       |
       +     |              | indicates that the request was not successful.|
       +     |              | The error is the result of either a syntax or |
       +     |              | a semantic error in the client formatted      |
       +     |              | request. Request should not be retried until  |
       +     |              | the condition in the request is corrected.    |
       +     |==============+===============================================|
       +     |    4.xx      | Scheduling Error. This class of status code   |
       +     |              | indicates that the request was not successful.|
       +     |              | Some sort of error occurred within the        |
       +     |              | calendaring and scheduling service, not       |
       +     |              | directly related to the request itself.       |
       +     |==============+===============================================|
       +
       +   Format Definition: The property is defined by the following notation:
       +
       +     rstatus    = "REQUEST-STATUS" rstatparam ":"
       +                  statcode ";" statdesc [";" extdata]
       +
       +     rstatparam = *(
       +
       +                ; the following is optional,
       +                ; but MUST NOT occur more than once
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 135]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +                (";" languageparm) /
       +
       +                ; the following is optional,
       +                ; and MAY occur more than once
       +
       +                (";" xparam)
       +
       +                )
       +
       +     statcode   = 1*DIGIT *("." 1*DIGIT)
       +     ;Hierarchical, numeric return status code
       +
       +     statdesc   = text
       +     ;Textual status description
       +
       +     extdata    = text
       +     ;Textual exception data. For example, the offending property
       +     ;name and value or complete property line.
       +
       +   Example: The following are some possible examples of this property.
       +   The COMMA and SEMICOLON separator characters in the property value
       +   are BACKSLASH character escaped because they appear in a  text value.
       +
       +     REQUEST-STATUS:2.0;Success
       +
       +     REQUEST-STATUS:3.1;Invalid property value;DTSTART:96-Apr-01
       +
       +     REQUEST-STATUS:2.8; Success\, repeating event ignored. Scheduled
       +      as a single event.;RRULE:FREQ=WEEKLY\;INTERVAL=2
       +
       +     REQUEST-STATUS:4.1;Event conflict. Date/time is busy.
       +
       +     REQUEST-STATUS:3.7;Invalid calendar user;ATTENDEE:
       +      MAILTO:jsmith@host.com
       +
       +5 iCalendar Object Examples
       +
       +   The following examples are provided as an informational source of
       +   illustrative iCalendar objects consistent with this content type.
       +
       +   The following example specifies a three-day conference that begins at
       +   8:00 AM EDT, September 18, 1996 and end at 6:00 PM EDT, September 20,
       +   1996.
       +
       +     BEGIN:VCALENDAR PRODID:-//xyz Corp//NONSGML PDA Calendar Verson
       +     1.0//EN VERSION:2.0 BEGIN:VEVENT DTSTAMP:19960704T120000Z
       +     UID:uid1@host.com ORGANIZER:MAILTO:jsmith@host.com
       +     DTSTART:19960918T143000Z DTEND:19960920T220000Z STATUS:CONFIRMED
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 136]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +     CATEGORIES:CONFERENCE SUMMARY:Networld+Interop Conference
       +     DESCRIPTION:Networld+Interop Conference
       +       and Exhibit\nAtlanta World Congress Center\n
       +      Atlanta, Georgia END:VEVENT END:VCALENDAR
       +
       +   The following example specifies a group scheduled meeting that begin
       +   at 8:30 AM EST on March 12, 1998 and end at 9:30 AM EST on March 12,
       +   1998. The "Organizer" has scheduled the meeting with one or more
       +   calendar users in a group. A time zone specification for Eastern
       +   United States has been specified.
       +
       +     BEGIN:VCALENDAR
       +     PRODID:-//RDU Software//NONSGML HandCal//EN
       +     VERSION:2.0
       +     BEGIN:VTIMEZONE
       +     TZID:US-Eastern
       +     BEGIN:STANDARD
       +     DTSTART:19981025T020000
       +     RDATE:19981025T020000
       +     TZOFFSETFROM:-0400
       +     TZOFFSETTO:-0500
       +     TZNAME:EST
       +     END:STANDARD
       +     BEGIN:DAYLIGHT
       +     DTSTART:19990404T020000
       +     RDATE:19990404T020000
       +     TZOFFSETFROM:-0500
       +     TZOFFSETTO:-0400
       +     TZNAME:EDT
       +     END:DAYLIGHT
       +     END:VTIMEZONE
       +     BEGIN:VEVENT
       +     DTSTAMP:19980309T231000Z
       +     UID:guid-1.host1.com
       +     ORGANIZER;ROLE=CHAIR:MAILTO:mrbig@host.com
       +     ATTENDEE;RSVP=TRUE;ROLE=REQ-PARTICIPANT;CUTYPE=GROUP:
       +      MAILTO:employee-A@host.com
       +     DESCRIPTION:Project XYZ Review Meeting
       +     CATEGORIES:MEETING
       +     CLASS:PUBLIC
       +     CREATED:19980309T130000Z
       +     SUMMARY:XYZ Project Review
       +     DTSTART;TZID=US-Eastern:19980312T083000
       +     DTEND;TZID=US-Eastern:19980312T093000
       +     LOCATION:1CP Conference Room 4350
       +     END:VEVENT
       +     END:VCALENDAR
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 137]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   The following is an example of an iCalendar object passed in a MIME
       +   message with a single body part consisting of a "text/calendar"
       +   Content Type.
       +
       +     TO:jsmith@host1.com
       +     FROM:jdoe@host1.com
       +     MIME-VERSION:1.0
       +     MESSAGE-ID:<id3@host1.com>
       +     CONTENT-TYPE:text/calendar
       +
       +     BEGIN:VCALENDAR
       +     METHOD:xyz
       +     VERSION:2.0
       +     PRODID:-//ABC Corporation//NONSGML My Product//EN
       +     BEGIN:VEVENT
       +     DTSTAMP:19970324T1200Z
       +     SEQUENCE:0
       +     UID:uid3@host1.com
       +     ORGANIZER:MAILTO:jdoe@host1.com
       +     ATTENDEE;RSVP=TRUE:MAILTO:jsmith@host1.com
       +     DTSTART:19970324T123000Z
       +     DTEND:19970324T210000Z
       +     CATEGORIES:MEETING,PROJECT
       +     CLASS:PUBLIC
       +     SUMMARY:Calendaring Interoperability Planning Meeting
       +     DESCRIPTION:Discuss how we can test c&s interoperability\n
       +      using iCalendar and other IETF standards.
       +     LOCATION:LDB Lobby
       +     ATTACH;FMTTYPE=application/postscript:ftp://xyzCorp.com/pub/
       +      conf/bkgrnd.ps
       +     END:VEVENT
       +     END:VCALENDAR
       +
       +   The following is an example of a to-do due on April 15, 1998. An
       +   audio alarm has been specified to remind the calendar user at noon,
       +   the day before the to-do is expected to be completed and repeat
       +   hourly, four additional times. The to-do definition has been modified
       +   twice since it was initially created.
       +
       +     BEGIN:VCALENDAR
       +     VERSION:2.0
       +     PRODID:-//ABC Corporation//NONSGML My Product//EN
       +     BEGIN:VTODO
       +     DTSTAMP:19980130T134500Z
       +     SEQUENCE:2
       +     UID:uid4@host1.com
       +     ORGANIZER:MAILTO:unclesam@us.gov
       +     ATTENDEE;PARTSTAT=ACCEPTED:MAILTO:jqpublic@host.com
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 138]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +     DUE:19980415T235959
       +     STATUS:NEEDS-ACTION
       +     SUMMARY:Submit Income Taxes
       +     BEGIN:VALARM
       +     ACTION:AUDIO
       +     TRIGGER:19980403T120000
       +     ATTACH;FMTTYPE=audio/basic:http://host.com/pub/audio-
       +      files/ssbanner.aud
       +     REPEAT:4
       +     DURATION:PT1H
       +     END:VALARM
       +     END:VTODO
       +     END:VCALENDAR
       +
       +   The following is an example of a journal entry.
       +
       +     BEGIN:VCALENDAR
       +     VERSION:2.0
       +     PRODID:-//ABC Corporation//NONSGML My Product//EN
       +     BEGIN:VJOURNAL
       +     DTSTAMP:19970324T120000Z
       +     UID:uid5@host1.com
       +     ORGANIZER:MAILTO:jsmith@host.com
       +     STATUS:DRAFT
       +     CLASS:PUBLIC
       +     CATEGORY:Project Report, XYZ, Weekly Meeting
       +     DESCRIPTION:Project xyz Review Meeting Minutes\n
       +      Agenda\n1. Review of project version 1.0 requirements.\n2.
       +     Definition
       +      of project processes.\n3. Review of project schedule.\n
       +      Participants: John Smith, Jane Doe, Jim Dandy\n-It was
       +       decided that the requirements need to be signed off by
       +       product marketing.\n-Project processes were accepted.\n
       +      -Project schedule needs to account for scheduled holidays
       +       and employee vacation time. Check with HR for specific
       +       dates.\n-New schedule will be distributed by Friday.\n-
       +      Next weeks meeting is cancelled. No meeting until 3/23.
       +     END:VJOURNAL
       +     END:VCALENDAR
       +
       +   The following is an example of published busy time information. The
       +   iCalendar object might be placed in the network resource
       +   www.host.com/calendar/busytime/jsmith.ifb.
       +
       +     BEGIN:VCALENDAR
       +     VERSION:2.0
       +     PRODID:-//RDU Software//NONSGML HandCal//EN
       +     BEGIN:VFREEBUSY
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 139]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +     ORGANIZER:MAILTO:jsmith@host.com
       +     DTSTART:19980313T141711Z
       +     DTEND:19980410T141711Z
       +     FREEBUSY:19980314T233000Z/19980315T003000Z
       +     FREEBUSY:19980316T153000Z/19980316T163000Z
       +     FREEBUSY:19980318T030000Z/19980318T040000Z
       +     URL:http://www.host.com/calendar/busytime/jsmith.ifb
       +     END:VFREEBUSY
       +     END:VCALENDAR
       +
       +6 Recommended Practices
       +
       +   These recommended practices should be followed in order to assure
       +   consistent handling of the following cases for an iCalendar object.
       +
       +   1.  Content lines longer than 75 octets SHOULD be folded.
       +
       +   2.  A calendar entry with a "DTSTART" property but no "DTEND"
       +       property does not take up any time. It is intended to represent
       +       an event that is associated with a given calendar date and time
       +       of day, such as an anniversary. Since the event does not take up
       +       any time, it MUST NOT be used to record busy time no matter what
       +       the value for the "TRANSP" property.
       +
       +   3.  When the "DTSTART" and "DTEND", for "VEVENT", "VJOURNAL" and
       +       "VFREEBUSY" calendar components, and "DTSTART" and "DUE", for
       +       "VTODO" calendar components, have the same value data type (e.g.,
       +       DATE-TIME), they SHOULD specify values in the same time format
       +       (e.g., UTC time format).
       +
       +   4.  When the combination of the "RRULE" and "RDATE" properties on an
       +       iCalendar object produces multiple instances having the same
       +       start date/time, they should be collapsed to, and considered as,
       +       a single instance.
       +
       +   5.  When a calendar user receives multiple requests for the same
       +       calendar component (e.g., REQUEST for a "VEVENT" calendar
       +       component) as a result of being on multiple mailing lists
       +       specified by "ATTENDEE" properties in the request, they SHOULD
       +       respond to only one of the requests. The calendar user SHOULD
       +       also specify (using the "MEMBER" parameter of the "ATTENDEE"
       +       property) which mailing list they are a member of.
       +
       +   6.  An implementation can truncate a "SUMMARY" property value to 255
       +       characters.
       +
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 140]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   7.  If seconds of the minute are not supported by an implementation,
       +       then a value of "00" SHOULD be specified for the seconds
       +       component in a time value.
       +
       +   8.  If the value type parameter (VALUE=) contains an unknown value
       +       type, it SHOULD be treated as TEXT.
       +
       +   9.  TZURL values SHOULD NOT be specified as a FILE URI type. This URI
       +       form can be useful within an organization, but is problematic in
       +       the Internet.
       +
       +   10.  Some possible English values for CATEGORIES property include
       +        "ANNIVERSARY", "APPOINTMENT", "BUSINESS", "EDUCATION",
       +        "HOLIDAY", "MEETING", "MISCELLANEOUS", "NON-WORKING HOURS", "NOT
       +        IN OFFICE", "PERSONAL", "PHONE CALL", "SICK DAY", "SPECIAL
       +        OCCASION", "TRAVEL", "VACATION". Categories can be specified in
       +        any registered language.
       +
       +   11.  Some possible English values for RESOURCES property include
       +        "CATERING", "CHAIRS", "COMPUTER PROJECTOR", "EASEL", "OVERHEAD
       +        PROJECTOR", "SPEAKER PHONE", "TABLE", "TV", "VCR", "VIDEO
       +        PHONE", "VEHICLE". Resources can be specified in any registered
       +        language.
       +
       +7 Registration of Content Type Elements
       +
       +   This section provides the process for registration of MIME
       +   Calendaring and Scheduling Content Type iCalendar object methods and
       +   new or modified properties.
       +
       +7.1 Registration of New and Modified iCalendar Object Methods
       +
       +   New MIME Calendaring and Scheduling Content Type iCalendar object
       +   methods are registered by the publication of an IETF Request for
       +   Comments (RFC). Changes to an iCalendar object method are registered
       +   by the publication of a revision of the RFC defining the method.
       +
       +7.2 Registration of New Properties
       +
       +   This section defines procedures by which new properties or enumerated
       +   property values for the MIME Calendaring and Scheduling Content Type
       +   can be registered with the IANA. Non-IANA properties can be used by
       +   bilateral agreement, provided the associated properties names follow
       +   the "X-" convention.
       +
       +   The procedures defined here are designed to allow public comment and
       +   review of new properties, while posing only a small impediment to the
       +   definition of new properties.
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 141]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   Registration of a new property is accomplished by the following
       +   steps.
       +
       +7.2.1 Define the property
       +
       +   A property is defined by completing the following template.
       +
       +     To: ietf-calendar@imc.org
       +
       +     Subject: Registration of text/calendar MIME property XXX
       +
       +     Property name:
       +
       +     Property purpose:
       +
       +     Property value type(s):
       +
       +     Property parameter (s):
       +
       +     Conformance:
       +
       +     Description:
       +
       +     Format definition:
       +
       +     Examples:
       +
       +   The meaning of each field in the template is as follows.
       +
       +   Property name: The name of the property, as it will appear in the
       +   body of an text/calendar MIME Content-Type "property: value" line to
       +   the left of the colon ":".
       +
       +   Property purpose: The purpose of the property (e.g., to indicate a
       +   delegate for the event or to-do, etc.). Give a short but clear
       +   description.
       +
       +   Property value type (s): Any of the valid value types for the
       +   property value needs to be specified. The default value type also
       +   needs to be specified. If a new value type is specified, it needs to
       +   be declared in this section.
       +
       +   Property parameter (s): Any of the valid property parameters for the
       +   property needs to be specified.
       +
       +   Conformance: The calendar components that the property can appear in
       +   needs to be specified.
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 142]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   Description: Any special notes about the property, how it is to be
       +   used, etc.
       +
       +   Format definition: The ABNF for the property definition needs to be
       +   specified.
       +
       +   Examples: One or more examples of instances of the property needs to
       +   be specified.
       +
       +7.2.2 Post the Property definition
       +
       +   The property description MUST be posted to the new property
       +   discussion list, ietf-calendar@imc.org.
       +
       +7.2.3   Allow a comment period
       +
       +   Discussion on the new property MUST be allowed to take place on the
       +   list for a minimum of two weeks. Consensus MUST be reached on the
       +   property before proceeding to the next step.
       +
       +7.2.4 Submit the property for approval
       +
       +   Once the two-week comment period has elapsed, and the proposer is
       +   convinced consensus has been reached on the property, the
       +   registration application should be submitted to the Method Reviewer
       +   for approval. The Method Reviewer is appointed to the Application
       +   Area Directors and can either accept or reject the property
       +   registration. An accepted registration should be passed on by the
       +   Method Reviewer to the IANA for inclusion in the official IANA method
       +   registry. The registration can be rejected for any of the following
       +   reasons. 1) Insufficient comment period; 2) Consensus not reached; 3)
       +   Technical deficiencies raised on the list or elsewhere have not been
       +   addressed. The Method Reviewer's decision to reject a property can be
       +   appealed by the proposer to the IESG, or the objections raised can be
       +   addressed by the proposer and the property resubmitted.
       +
       +7.3 Property Change Control
       +
       +   Existing properties can be changed using the same process by which
       +   they were registered.
       +
       +        1.           Define the change
       +
       +        2.           Post the change
       +
       +        3.           Allow a comment period
       +
       +        4.           Submit the property for approval
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 143]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   Note that the original author or any other interested party can
       +   propose a change to an existing property, but that such changes
       +   should only be proposed when there are serious omissions or errors in
       +   the published memo. The Method Reviewer can object to a change if it
       +   is not backward compatible, but is not required to do so.
       +
       +   Property definitions can never be deleted from the IANA registry, but
       +   properties which are no longer believed to be useful can be declared
       +   OBSOLETE by a change to their "intended use" field.
       +
       +8 References
       +
       +   [IMIP]     Dawson, F., Mansour, S. and S. Silverberg, "iCalendar
       +              Message-based Interoperability Protocol (IMIP)", RFC 2447,
       +              November 1998.
       +
       +   [ITIP]     Silverberg, S., Mansour, S., Dawson, F. and R. Hopson,
       +              "iCalendar Transport-Independent Interoperability Protocol
       +              (iTIP) : Scheduling Events, Busy Time, To-dos and Journal
       +              Entries", RFC 2446, November 1998.
       +
       +   [ISO 8601] ISO 8601, "Data elements and interchange formats-
       +              Information interchange--Representation of dates and
       +              times", International Organization for Standardization,
       +              June, 1988.
       +
       +   [ISO 9070] ISO/IEC 9070, "Information Technology_SGML Support
       +              Facilities--Registration Procedures for Public Text Owner
       +              Identifiers", Second Edition, International Organization
       +              for Standardization, April 1991.
       +
       +   [RFC 822]  Crocker, D., "Standard for the Format of ARPA Internet
       +              Text Messages", STD 11, RFC 822, August 1982.
       +
       +   [RFC 1738] Berners-Lee, T., Masinter, L. and M. McCahill, "Uniform
       +              Resource Locators (URL)", RFC 1738, December 1994.
       +
       +   [RFC 1766] Alvestrand, H., "Tags for the Identification of
       +              Languages", RFC 1766, March 1995.
       +
       +   [RFC 2045] Freed, N. and N. Borenstein, " Multipurpose Internet Mail
       +              Extensions (MIME) - Part One: Format of Internet Message
       +              Bodies", RFC 2045, November 1996.
       +
       +   [RFC 2046] Freed, N. and N. Borenstein, " Multipurpose Internet Mail
       +              Extensions (MIME) - Part Two: Media Types", RFC 2046,
       +              November 1996.
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 144]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   [RFC 2048] Freed, N., Klensin, J. and J. Postel, "Multipurpose
       +              Internet Mail Extensions (MIME) - Part Four: Registration
       +              Procedures", RFC 2048, January 1997.
       +
       +   [RFC 2119] Bradner, S., "Key words for use in RFCs to Indicate
       +              Requirement Levels", BCP 14, RFC 2119, March 1997.
       +
       +   [RFC 2234] Crocker, D. and P. Overell, "Augmented BNF for Syntax
       +              Specifications: ABNF", RFC 2234, November 1997.
       +
       +   [RFC 2279] Yergeau, F., "UTF-8, a transformation format of ISO
       +              10646", RFC 2279, January 1998.
       +
       +   [RFC 2425] Howes, T., Smith, M. and F. Dawson, "A MIME Content-Type
       +              for Directory Information", RFC 2425, September 1998.
       +
       +   [RFC 2426] Dawson, F. and T. Howes, "vCard MIME Directory Profile",
       +              RFC 2426, September 1998.
       +
       +   [TZ]       Olson, A.D., et al, Time zone code and data,
       +              ftp://elsie.nci.nih.gov/pub/, updated periodically.
       +
       +   [VCAL]     Internet Mail Consortium, "vCalendar - The Electronic
       +              Calendaring and Scheduling Exchange Format",
       +              http://www.imc.org/pdi/vcal-10.txt, September 18, 1996.
       +
       +9 Acknowledgments
       +
       +   A hearty thanks to the IETF Calendaring and Scheduling Working Group
       +   and also the following individuals who have participated in the
       +   drafting, review and discussion of this memo:
       +
       +   Roland Alden, Harald T. Alvestrand, Eric Berman, Denis Bigorgne, John
       +   Binici, Bill Bliss, Philippe Boucher, Steve Carter, Andre
       +   Courtemanche, Dave Crocker, David Curley, Alec Dun, John Evans, Ross
       +   Finlayson, Randell Flint, Ned Freed, Patrik Faltstrom, Chuck
       +   Grandgent, Mark Handley, Steve Hanna, Paul B. Hill, Paul Hoffman,
       +   Ross Hopson, Mark Horton, Daryl Huff, Bruce Kahn, C. Harald Koch,
       +   Ryan Jansen, Don Lavange, Antoine Leca, Theodore Lorek, Steve
       +   Mansour, Skip Montanaro, Keith Moore, Cecil Murray, Chris Newman,
       +   John Noerenberg, Ralph Patterson, Pete Resnick, Keith Rhodes, Robert
       +   Ripberger, John Rose, Doug Royer, Andras Salamar, Ted Schuh, Vinod
       +   Seraphin, Derrick Shadel, Ken Shan, Andrew Shuman, Steve Silverberg,
       +   William P. Spencer, John Sun, Mark Towfiq, Yvonne Tso, Robert Visnov,
       +   James L. Weiner, Mike Weston, William Wyatt.
       +
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 145]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +10 Authors' and Chairs' Addresses
       +
       +   The following address information is provided in a MIME-VCARD,
       +   Electronic Business Card, format.
       +
       +   The authors of this memo are:
       +
       +   BEGIN:VCARD
       +   VERSION:3.0
       +   N:Dawson;Frank
       +   FN:Frank Dawson
       +   ORG:Lotus Development Corporation
       +   ADR;TYPE=WORK,POSTAL,PARCEL:;;6544 Battleford Drive;
       +    Raleigh;NC;27613-3502;USA
       +   TEL;TYPE=WORK,MSG:+1-919-676-9515
       +   TEL;TYPE=WORK,FAX:+1-919-676-9564
       +   EMAIL;TYPE=PREF,INTERNET:Frank_Dawson@Lotus.com
       +   EMAIL;TYPE=INTERNET:fdawson@earthlink.net
       +   URL:http://home.earthlink.net/~fdawson
       +   END:VCARD
       +
       +   BEGIN:VCARD
       +   VERSION:3.0
       +   N:Stenerson;Derik
       +   FN:Derik Stenerson
       +   ORG:Microsoft Corporation
       +   ADR;TYPE=WORK,POSTAL,PARCEL:;;One Microsoft Way;
       +    Redmond;WA;98052-6399;USA
       +   TEL;TYPE=WORK,MSG:+1-425-936-5522
       +   TEL;TYPE=WORK,FAX:+1-425-936-7329
       +   EMAIL;TYPE=INTERNET:deriks@Microsoft.com
       +   END:VCARD
       +
       +   The iCalendar object is a result of the work of the Internet
       +   Engineering Task Force Calendaring and Scheduling Working Group. The
       +   chairmen of that working group are:
       +
       +   BEGIN:VCARD
       +   VERSION:3.0
       +   N:Ganguly;Anik
       +   FN:Anik Ganguly
       +   ORG: Open Text Inc.
       +   ADR;TYPE=WORK,POSTAL,PARCEL:;Suite 101;38777 West Six Mile Road;
       +    Livonia;MI;48152;USA
       +   TEL;TYPE=WORK,MSG:+1-734-542-5955
       +   EMAIL;TYPE=INTERNET:ganguly@acm.org
       +   END:VCARD
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 146]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +   The co-chairman of that working group is:
       +
       +   BEGIN:VCARD
       +   VERSION:3.0
       +   N:Moskowitz;Robert
       +   FN:Robert Moskowitz
       +   EMAIL;TYPE=INTERNET:rgm-ietf@htt-consult.com
       +   END:VCARD
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 147]
       +
       +RFC 2445                       iCalendar                   November 1998
       +
       +
       +11.  Full Copyright Statement
       +
       +   Copyright (C) The Internet Society (1998).  All Rights Reserved.
       +
       +   This document and translations of it may be copied and furnished to
       +   others, and derivative works that comment on or otherwise explain it
       +   or assist in its implementation may be prepared, copied, published
       +   and distributed, in whole or in part, without restriction of any
       +   kind, provided that the above copyright notice and this paragraph are
       +   included on all such copies and derivative works.  However, this
       +   document itself may not be modified in any way, such as by removing
       +   the copyright notice or references to the Internet Society or other
       +   Internet organizations, except as needed for the purpose of
       +   developing Internet standards in which case the procedures for
       +   copyrights defined in the Internet Standards process must be
       +   followed, or as required to translate it into languages other than
       +   English.
       +
       +   The limited permissions granted above are perpetual and will not be
       +   revoked by the Internet Society or its successors or assigns.
       +
       +   This document and the information contained herein is provided on an
       +   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
       +   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
       +   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
       +   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
       +   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +
       +Dawson & Stenerson          Standards Track                   [Page 148]
       +