libical

A simple ical library.
git clone git://r-36.net/libical
Log | Files | Refs | LICENSE

commit bccaa1ea3b33f47b4be6de3745635d5378ab4016
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(-)

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"), +to deal in the Software without restriction, including without limitation +the 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. 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} + +test: 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 diff --git a/README.md b/README.md @@ -0,0 +1,9 @@ +# A simple ical library + +## Usage + +see icaltest.c + + +Have fun! + 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 + 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 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 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; +} + 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__ + +typedef struct vitemprop_t vitemprop_t; +struct vitemprop_t { + vitemprop_t *next; + vitemprop_t *prev; + + char *name; + char *params; + char *value; +}; + +typedef struct vitem_t vitem_t; +struct vitem_t { + vitem_t *next; + vitem_t *prev; + + char *type; + + vitemprop_t *props; + vitemprop_t *lastp; + int nprops; +}; + +typedef 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 + 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; +} + 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; +} + 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 + 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