diff options
author | flo <flo@FreeBSD.org> | 2010-12-28 21:50:51 +0800 |
---|---|---|
committer | flo <flo@FreeBSD.org> | 2010-12-28 21:50:51 +0800 |
commit | 7ca6eb7b6cc393c97bc0e759027a34537d88d278 (patch) | |
tree | 56c75a3f54a4885a78149dd17f19aa66a31efa5a /net/asterisk10 | |
parent | a0a1fcba52fffd68261e584d3820ad81fc4c5b0d (diff) | |
download | freebsd-ports-gnome-7ca6eb7b6cc393c97bc0e759027a34537d88d278.tar.gz freebsd-ports-gnome-7ca6eb7b6cc393c97bc0e759027a34537d88d278.tar.zst freebsd-ports-gnome-7ca6eb7b6cc393c97bc0e759027a34537d88d278.zip |
- update to 1.8.1.1
- remove patch now included upstream
- pkg-plist changes, Digium decided to strip a lot of documentation from the release tar ball
Diffstat (limited to 'net/asterisk10')
-rw-r--r-- | net/asterisk10/Makefile | 3 | ||||
-rw-r--r-- | net/asterisk10/distinfo | 4 | ||||
-rw-r--r-- | net/asterisk10/files/patch-Makefile | 17 | ||||
-rw-r--r-- | net/asterisk10/files/patch-pbx__pbx_spool.c | 240 | ||||
-rw-r--r-- | net/asterisk10/pkg-plist | 411 |
5 files changed, 13 insertions, 662 deletions
diff --git a/net/asterisk10/Makefile b/net/asterisk10/Makefile index 30bff4d56633..3b4a0542701e 100644 --- a/net/asterisk10/Makefile +++ b/net/asterisk10/Makefile @@ -6,8 +6,7 @@ # PORTNAME= asterisk -PORTVERSION= 1.8.0 -PORTREVISION= 1 +PORTVERSION= 1.8.1.1 CATEGORIES= net MASTER_SITES= http://downloads.asterisk.org/pub/telephony/asterisk/ \ http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/ diff --git a/net/asterisk10/distinfo b/net/asterisk10/distinfo index 2a2c2e11b045..fcaa48a51b0f 100644 --- a/net/asterisk10/distinfo +++ b/net/asterisk10/distinfo @@ -1,2 +1,2 @@ -SHA256 (asterisk-1.8.0.tar.gz) = 8f1edbc8fab23596a6f6ee2881d67c22b4a6cb20bfad84125fcdcb3ff2e1de1b -SIZE (asterisk-1.8.0.tar.gz) = 26035124 +SHA256 (asterisk-1.8.1.1.tar.gz) = 71016372d81dd6c0b2977b8994aa626afa8aa71a2379005fc8fe30625ceedafa +SIZE (asterisk-1.8.1.1.tar.gz) = 26198619 diff --git a/net/asterisk10/files/patch-Makefile b/net/asterisk10/files/patch-Makefile index 0fccb52e346a..9d703bcc2ea5 100644 --- a/net/asterisk10/files/patch-Makefile +++ b/net/asterisk10/files/patch-Makefile @@ -1,5 +1,5 @@ ---- Makefile.orig 2010-10-14 00:24:44.000000000 +0200 -+++ Makefile 2010-11-17 12:24:32.000000000 +0100 +--- Makefile.orig 2010-12-28 10:32:35.000000000 +0100 ++++ Makefile 2010-12-28 10:33:10.000000000 +0100 @@ -122,7 +122,7 @@ OVERWRITE=y @@ -32,7 +32,7 @@ _ASTCFLAGS+=$(shell if test $(BSDVERSION) -lt 500016 ; then echo "-D_THREAD_SAFE"; fi) endif -@@ -460,13 +462,14 @@ +@@ -460,13 +462,17 @@ done $(INSTALL) -m 644 doc/core-en_US.xml $(DESTDIR)$(ASTDATADIR)/static-http; if [ -d doc/tex/asterisk ] ; then \ @@ -44,13 +44,16 @@ + $(INSTALL) -m 644 $$n $(DESTDIR)$(DOCSDIR) ; \ done \ fi ++ if [ ! -d $(DESTDIR)$(DOCSDIR)/images ]; then \ ++ $(MKDIR) $(DESTDIR)$(DOCSDIR)/images; \ ++ fi for x in images/*.jpg; do \ - $(INSTALL) -m 644 $$x $(DESTDIR)$(ASTDATADIR)/images ; \ + $(INSTALL) -m 644 $$x $(DESTDIR)$(DOCSDIR)/images ; \ done $(MAKE) -C sounds install -@@ -526,6 +529,7 @@ +@@ -526,6 +532,7 @@ $(INSTALL) -d "$(DESTDIR)$(ASTSPOOLDIR)/dictate" $(INSTALL) -d "$(DESTDIR)$(ASTSPOOLDIR)/meetme" $(INSTALL) -d "$(DESTDIR)$(ASTSPOOLDIR)/monitor" @@ -58,7 +61,7 @@ $(INSTALL) -d "$(DESTDIR)$(ASTSPOOLDIR)/system" $(INSTALL) -d "$(DESTDIR)$(ASTSPOOLDIR)/tmp" $(INSTALL) -d "$(DESTDIR)$(ASTSPOOLDIR)/voicemail" -@@ -547,6 +551,7 @@ +@@ -547,6 +554,7 @@ $(INSTALL) -d "$(DESTDIR)$(ASTDATADIR)/static-http" $(INSTALL) -d "$(DESTDIR)$(ASTMANDIR)/man8" $(INSTALL) -d "$(DESTDIR)$(AGI_DIR)" @@ -66,7 +69,7 @@ bininstall: _all installdirs $(SUBDIRS_INSTALL) $(INSTALL) -m 755 main/asterisk $(DESTDIR)$(ASTSBINDIR)/ -@@ -606,7 +611,7 @@ +@@ -606,7 +614,7 @@ @exit 1 endif @@ -75,7 +78,7 @@ @if [ -x /usr/sbin/asterisk-post-install ]; then \ /usr/sbin/asterisk-post-install $(DESTDIR) . ; \ fi -@@ -648,29 +653,18 @@ +@@ -648,29 +656,18 @@ else \ echo "Installing $$x" ; \ fi ; \ diff --git a/net/asterisk10/files/patch-pbx__pbx_spool.c b/net/asterisk10/files/patch-pbx__pbx_spool.c deleted file mode 100644 index ea2d1a4b1a05..000000000000 --- a/net/asterisk10/files/patch-pbx__pbx_spool.c +++ /dev/null @@ -1,240 +0,0 @@ ---- ./pbx/pbx_spool.c.orig 2010-10-18 17:32:40.000000000 +0200 -+++ ./pbx/pbx_spool.c 2010-11-30 11:14:19.000000000 +0100 -@@ -26,11 +26,6 @@ - - ASTERISK_FILE_VERSION(__FILE__, "$Revision: 292083 $") - --/* Handling of call files using inotify is not functioning correctly currently: -- * Issue 18089 - https://issues.asterisk.org/view.php?id=18089 -- */ --#undef HAVE_INOTIFY -- - #include <sys/stat.h> - #include <time.h> - #include <utime.h> -@@ -67,7 +62,7 @@ - */ - SPOOL_FLAG_ALWAYS_DELETE = (1 << 0), - /* Don't unlink the call file after processing, move in qdonedir */ -- SPOOL_FLAG_ARCHIVE = (1 << 1) -+ SPOOL_FLAG_ARCHIVE = (1 << 1), - }; - - static char qdir[255]; -@@ -260,24 +255,18 @@ - - static void safe_append(struct outgoing *o, time_t now, char *s) - { -- int fd; - FILE *f; -- struct utimbuf tbuf; -- -- if ((fd = open(o->fn, O_WRONLY | O_APPEND)) < 0) -- return; -+ struct utimbuf tbuf = { .actime = now, .modtime = now + o->retrytime }; - -- if ((f = fdopen(fd, "a"))) { -+ if ((f = fopen(o->fn, "a"))) { - fprintf(f, "\n%s: %ld %d (%ld)\n", s, (long)ast_mainpid, o->retries, (long) now); - fclose(f); -- } else -- close(fd); -+ } - - /* Update the file time */ -- tbuf.actime = now; -- tbuf.modtime = now + o->retrytime; -- if (utime(o->fn, &tbuf)) -+ if (utime(o->fn, &tbuf)) { - ast_log(LOG_WARNING, "Unable to set utime on %s: %s\n", o->fn, strerror(errno)); -+ } - } - - /*! -@@ -288,7 +277,6 @@ - */ - static int remove_from_queue(struct outgoing *o, const char *status) - { -- int fd; - FILE *f; - char newfn[256]; - const char *bname; -@@ -297,8 +285,9 @@ - struct stat current_file_status; - - if (!stat(o->fn, ¤t_file_status)) { -- if (time(NULL) < current_file_status.st_mtime) -+ if (time(NULL) < current_file_status.st_mtime) { - return 0; -+ } - } - } - -@@ -313,26 +302,28 @@ - return -1; - } - -- if ((fd = open(o->fn, O_WRONLY | O_APPEND))) { -- if ((f = fdopen(fd, "a"))) { -- fprintf(f, "Status: %s\n", status); -- fclose(f); -- } else -- close(fd); -+ if (!(bname = strrchr(o->fn, '/'))) { -+ bname = o->fn; -+ } else { -+ bname++; - } - -- if (!(bname = strrchr(o->fn, '/'))) -- bname = o->fn; -- else -- bname++; - snprintf(newfn, sizeof(newfn), "%s/%s", qdonedir, bname); - /* a existing call file the archive dir is overwritten */ - unlink(newfn); - if (rename(o->fn, newfn) != 0) { - unlink(o->fn); - return -1; -- } else -- return 0; -+ } -+ -+ /* Only append to the file AFTER we move it out of the watched directory, -+ * otherwise the fclose() causes another event for inotify(7) */ -+ if ((f = fopen(newfn, "a"))) { -+ fprintf(f, "Status: %s\n", status); -+ fclose(f); -+ } -+ -+ return 0; - } - - static void *attempt_thread(void *data) -@@ -399,7 +390,7 @@ - } - - /* Attempt to open the file */ -- if (!(f = fopen(fn, "r+"))) { -+ if (!(f = fopen(fn, "r"))) { - remove_from_queue(o, "Failed"); - free_outgoing(o); - ast_log(LOG_WARNING, "Unable to open %s: %s, deleting\n", fn, strerror(errno)); -@@ -414,7 +405,7 @@ - fclose(f); - return -1; - } -- -+ - #if 0 - printf("Filename: %s, Retries: %d, max: %d\n", fn, o->retries, o->maxretries); - #endif -@@ -432,7 +423,7 @@ - so abort their retry and continue as we were... */ - if (o->callingpid) - safe_append(o, time(NULL), "AbortRetry"); -- -+ - safe_append(o, now, "StartRetry"); - launch_service(o); - } -@@ -455,6 +446,7 @@ - - /* Only one thread is accessing this list, so no lock is necessary */ - static AST_LIST_HEAD_NOLOCK_STATIC(dirlist, direntry); -+static AST_LIST_HEAD_NOLOCK_STATIC(createlist, direntry); - - static void queue_file(const char *filename, time_t when) - { -@@ -482,14 +474,12 @@ - when = st.st_mtime; - } - --#ifndef HAVE_INOTIFY -- /* Need to check the existing list for kqueue(2), in order to avoid duplicates. */ -+ /* Need to check the existing list in order to avoid duplicates. */ - AST_LIST_TRAVERSE(&dirlist, cur, list) { - if (cur->mtime == when && !strcmp(filename, cur->name)) { - return; - } - } --#endif - - if ((res = when) > now || (res = scan_service(filename, now)) > 0) { - if (!(new = ast_calloc(1, sizeof(*new) + strlen(filename) + 1))) { -@@ -517,6 +507,40 @@ - } - } - -+#ifdef HAVE_INOTIFY -+static void queue_file_create(const char *filename) -+{ -+ struct direntry *cur; -+ -+ AST_LIST_TRAVERSE(&createlist, cur, list) { -+ if (!strcmp(cur->name, filename)) { -+ return; -+ } -+ } -+ -+ if (!(cur = ast_calloc(1, sizeof(*cur) + strlen(filename) + 1))) { -+ return; -+ } -+ strcpy(cur->name, filename); -+ AST_LIST_INSERT_TAIL(&createlist, cur, list); -+} -+ -+static void queue_file_write(const char *filename) -+{ -+ struct direntry *cur; -+ /* Only queue entries where an IN_CREATE preceded the IN_CLOSE_WRITE */ -+ AST_LIST_TRAVERSE_SAFE_BEGIN(&createlist, cur, list) { -+ if (!strcmp(cur->name, filename)) { -+ AST_LIST_REMOVE_CURRENT(list); -+ ast_free(cur); -+ queue_file(filename, 0); -+ break; -+ } -+ } -+ AST_LIST_TRAVERSE_SAFE_END -+} -+#endif -+ - static void *scan_thread(void *unused) - { - DIR *dir; -@@ -557,7 +581,7 @@ - } - - #ifdef HAVE_INOTIFY -- inotify_add_watch(inotify_fd, qdir, IN_CLOSE_WRITE | IN_MOVED_TO); -+ inotify_add_watch(inotify_fd, qdir, IN_CREATE | IN_CLOSE_WRITE | IN_MOVED_TO); - #endif - - /* First, run through the directory and clear existing entries */ -@@ -567,7 +591,7 @@ - } - - #ifndef HAVE_INOTIFY -- EV_SET(&kev, dirfd(dir), EVFILT_VNODE, EV_ADD | EV_ENABLE, NOTE_WRITE | NOTE_EXTEND | NOTE_DELETE | NOTE_REVOKE | NOTE_ATTRIB, 0, NULL); -+ EV_SET(&kev, dirfd(dir), EVFILT_VNODE, EV_ADD | EV_ENABLE | EV_CLEAR, NOTE_WRITE, 0, NULL); - if (kevent(inotify_fd, &kev, 1, NULL, 0, &nowait) < 0 && errno != 0) { - ast_log(LOG_ERROR, "Unable to watch directory %s: %s\n", qdir, strerror(errno)); - } -@@ -598,7 +622,15 @@ - (res = read(inotify_fd, &buf, sizeof(buf))) >= sizeof(buf.iev)) { - /* File(s) added to directory, add them to my list */ - do { -- queue_file(buf.iev.name, 0); -+ if (buf.iev.mask & IN_CREATE) { -+ queue_file_create(buf.iev.name); -+ } else if (buf.iev.mask & IN_CLOSE_WRITE) { -+ queue_file_write(buf.iev.name); -+ } else if (buf.iev.mask & IN_MOVED_TO) { -+ queue_file(buf.iev.name, 0); -+ } else { -+ ast_log(LOG_ERROR, "Unexpected event %d for file '%s'\n", (int) buf.iev.mask, buf.iev.name); -+ } - res -= sizeof(buf.iev) + buf.iev.len; - if (res >= sizeof(buf.iev)) { - memmove(&buf.iev, &buf.iev.name[buf.iev.len], res); diff --git a/net/asterisk10/pkg-plist b/net/asterisk10/pkg-plist index 2ce3f7839b90..834c304b91bc 100644 --- a/net/asterisk10/pkg-plist +++ b/net/asterisk10/pkg-plist @@ -1129,417 +1129,6 @@ share/asterisk/static-http/mantest.html %%WITH_DAHDI%%lib/asterisk/modules/codec_dahdi.so %%WITH_ODBC%%lib/asterisk/modules/res_config_odbc.so %%WITH_ODBC%%lib/asterisk/modules/res_odbc.so -%%DOCSDIR%%/WARNINGS -%%DOCSDIR%%/asterisk.css -%%DOCSDIR%%/asterisk.html -%%DOCSDIR%%/images.aux -%%DOCSDIR%%/images.log -%%DOCSDIR%%/images.out -%%DOCSDIR%%/images.pl -%%DOCSDIR%%/images.tex -%%DOCSDIR%%/img1.png -%%DOCSDIR%%/img2.png -%%DOCSDIR%%/img3.png -%%DOCSDIR%%/img4.png -%%DOCSDIR%%/img5.png -%%DOCSDIR%%/img6.png -%%DOCSDIR%%/img7.png -%%DOCSDIR%%/img8.png -%%DOCSDIR%%/img9.png -%%DOCSDIR%%/index.html -%%DOCSDIR%%/internals.pl -%%DOCSDIR%%/labels.pl -%%DOCSDIR%%/node1.html -%%DOCSDIR%%/node10.html -%%DOCSDIR%%/node100.html -%%DOCSDIR%%/node101.html -%%DOCSDIR%%/node102.html -%%DOCSDIR%%/node103.html -%%DOCSDIR%%/node104.html -%%DOCSDIR%%/node105.html -%%DOCSDIR%%/node106.html -%%DOCSDIR%%/node107.html -%%DOCSDIR%%/node108.html -%%DOCSDIR%%/node109.html -%%DOCSDIR%%/node11.html -%%DOCSDIR%%/node110.html -%%DOCSDIR%%/node111.html -%%DOCSDIR%%/node112.html -%%DOCSDIR%%/node113.html -%%DOCSDIR%%/node114.html -%%DOCSDIR%%/node115.html -%%DOCSDIR%%/node116.html -%%DOCSDIR%%/node117.html -%%DOCSDIR%%/node118.html -%%DOCSDIR%%/node119.html -%%DOCSDIR%%/node12.html -%%DOCSDIR%%/node120.html -%%DOCSDIR%%/node121.html -%%DOCSDIR%%/node122.html -%%DOCSDIR%%/node123.html -%%DOCSDIR%%/node124.html -%%DOCSDIR%%/node125.html -%%DOCSDIR%%/node126.html -%%DOCSDIR%%/node127.html -%%DOCSDIR%%/node128.html -%%DOCSDIR%%/node129.html -%%DOCSDIR%%/node13.html -%%DOCSDIR%%/node130.html -%%DOCSDIR%%/node131.html -%%DOCSDIR%%/node132.html -%%DOCSDIR%%/node133.html -%%DOCSDIR%%/node134.html -%%DOCSDIR%%/node135.html -%%DOCSDIR%%/node136.html -%%DOCSDIR%%/node137.html -%%DOCSDIR%%/node138.html -%%DOCSDIR%%/node139.html -%%DOCSDIR%%/node14.html -%%DOCSDIR%%/node140.html -%%DOCSDIR%%/node141.html -%%DOCSDIR%%/node142.html -%%DOCSDIR%%/node143.html -%%DOCSDIR%%/node144.html -%%DOCSDIR%%/node145.html -%%DOCSDIR%%/node146.html -%%DOCSDIR%%/node147.html -%%DOCSDIR%%/node148.html -%%DOCSDIR%%/node149.html -%%DOCSDIR%%/node15.html -%%DOCSDIR%%/node150.html -%%DOCSDIR%%/node151.html -%%DOCSDIR%%/node152.html -%%DOCSDIR%%/node153.html -%%DOCSDIR%%/node154.html -%%DOCSDIR%%/node155.html -%%DOCSDIR%%/node156.html -%%DOCSDIR%%/node157.html -%%DOCSDIR%%/node158.html -%%DOCSDIR%%/node159.html -%%DOCSDIR%%/node16.html -%%DOCSDIR%%/node160.html -%%DOCSDIR%%/node161.html -%%DOCSDIR%%/node162.html -%%DOCSDIR%%/node163.html -%%DOCSDIR%%/node164.html -%%DOCSDIR%%/node165.html -%%DOCSDIR%%/node166.html -%%DOCSDIR%%/node167.html -%%DOCSDIR%%/node168.html -%%DOCSDIR%%/node169.html -%%DOCSDIR%%/node17.html -%%DOCSDIR%%/node170.html -%%DOCSDIR%%/node171.html -%%DOCSDIR%%/node172.html -%%DOCSDIR%%/node173.html -%%DOCSDIR%%/node174.html -%%DOCSDIR%%/node175.html -%%DOCSDIR%%/node176.html -%%DOCSDIR%%/node177.html -%%DOCSDIR%%/node178.html -%%DOCSDIR%%/node179.html -%%DOCSDIR%%/node18.html -%%DOCSDIR%%/node180.html -%%DOCSDIR%%/node181.html -%%DOCSDIR%%/node182.html -%%DOCSDIR%%/node183.html -%%DOCSDIR%%/node184.html -%%DOCSDIR%%/node185.html -%%DOCSDIR%%/node186.html -%%DOCSDIR%%/node187.html -%%DOCSDIR%%/node188.html -%%DOCSDIR%%/node189.html -%%DOCSDIR%%/node19.html -%%DOCSDIR%%/node190.html -%%DOCSDIR%%/node191.html -%%DOCSDIR%%/node192.html -%%DOCSDIR%%/node193.html -%%DOCSDIR%%/node194.html -%%DOCSDIR%%/node195.html -%%DOCSDIR%%/node196.html -%%DOCSDIR%%/node197.html -%%DOCSDIR%%/node198.html -%%DOCSDIR%%/node199.html -%%DOCSDIR%%/node2.html -%%DOCSDIR%%/node20.html -%%DOCSDIR%%/node200.html -%%DOCSDIR%%/node201.html -%%DOCSDIR%%/node202.html -%%DOCSDIR%%/node203.html -%%DOCSDIR%%/node204.html -%%DOCSDIR%%/node205.html -%%DOCSDIR%%/node206.html -%%DOCSDIR%%/node207.html -%%DOCSDIR%%/node208.html -%%DOCSDIR%%/node209.html -%%DOCSDIR%%/node21.html -%%DOCSDIR%%/node210.html -%%DOCSDIR%%/node211.html -%%DOCSDIR%%/node212.html -%%DOCSDIR%%/node213.html -%%DOCSDIR%%/node214.html -%%DOCSDIR%%/node215.html -%%DOCSDIR%%/node216.html -%%DOCSDIR%%/node217.html -%%DOCSDIR%%/node218.html -%%DOCSDIR%%/node219.html -%%DOCSDIR%%/node22.html -%%DOCSDIR%%/node220.html -%%DOCSDIR%%/node221.html -%%DOCSDIR%%/node222.html -%%DOCSDIR%%/node223.html -%%DOCSDIR%%/node224.html -%%DOCSDIR%%/node225.html -%%DOCSDIR%%/node226.html -%%DOCSDIR%%/node227.html -%%DOCSDIR%%/node228.html -%%DOCSDIR%%/node229.html -%%DOCSDIR%%/node23.html -%%DOCSDIR%%/node230.html -%%DOCSDIR%%/node231.html -%%DOCSDIR%%/node232.html -%%DOCSDIR%%/node233.html -%%DOCSDIR%%/node234.html -%%DOCSDIR%%/node235.html -%%DOCSDIR%%/node236.html -%%DOCSDIR%%/node237.html -%%DOCSDIR%%/node238.html -%%DOCSDIR%%/node239.html -%%DOCSDIR%%/node24.html -%%DOCSDIR%%/node240.html -%%DOCSDIR%%/node241.html -%%DOCSDIR%%/node242.html -%%DOCSDIR%%/node243.html -%%DOCSDIR%%/node244.html -%%DOCSDIR%%/node245.html -%%DOCSDIR%%/node246.html -%%DOCSDIR%%/node247.html -%%DOCSDIR%%/node248.html -%%DOCSDIR%%/node249.html -%%DOCSDIR%%/node25.html -%%DOCSDIR%%/node250.html -%%DOCSDIR%%/node251.html -%%DOCSDIR%%/node252.html -%%DOCSDIR%%/node253.html -%%DOCSDIR%%/node254.html -%%DOCSDIR%%/node255.html -%%DOCSDIR%%/node256.html -%%DOCSDIR%%/node257.html -%%DOCSDIR%%/node258.html -%%DOCSDIR%%/node259.html -%%DOCSDIR%%/node26.html -%%DOCSDIR%%/node260.html -%%DOCSDIR%%/node261.html -%%DOCSDIR%%/node262.html -%%DOCSDIR%%/node263.html -%%DOCSDIR%%/node264.html -%%DOCSDIR%%/node265.html -%%DOCSDIR%%/node266.html -%%DOCSDIR%%/node267.html -%%DOCSDIR%%/node268.html -%%DOCSDIR%%/node269.html -%%DOCSDIR%%/node27.html -%%DOCSDIR%%/node270.html -%%DOCSDIR%%/node271.html -%%DOCSDIR%%/node272.html -%%DOCSDIR%%/node273.html -%%DOCSDIR%%/node274.html -%%DOCSDIR%%/node275.html -%%DOCSDIR%%/node276.html -%%DOCSDIR%%/node277.html -%%DOCSDIR%%/node278.html -%%DOCSDIR%%/node279.html -%%DOCSDIR%%/node28.html -%%DOCSDIR%%/node280.html -%%DOCSDIR%%/node281.html -%%DOCSDIR%%/node282.html -%%DOCSDIR%%/node283.html -%%DOCSDIR%%/node284.html -%%DOCSDIR%%/node285.html -%%DOCSDIR%%/node286.html -%%DOCSDIR%%/node287.html -%%DOCSDIR%%/node288.html -%%DOCSDIR%%/node289.html -%%DOCSDIR%%/node290.html -%%DOCSDIR%%/node291.html -%%DOCSDIR%%/node292.html -%%DOCSDIR%%/node293.html -%%DOCSDIR%%/node294.html -%%DOCSDIR%%/node295.html -%%DOCSDIR%%/node296.html -%%DOCSDIR%%/node297.html -%%DOCSDIR%%/node298.html -%%DOCSDIR%%/node299.html -%%DOCSDIR%%/node29.html -%%DOCSDIR%%/node3.html -%%DOCSDIR%%/node300.html -%%DOCSDIR%%/node301.html -%%DOCSDIR%%/node302.html -%%DOCSDIR%%/node303.html -%%DOCSDIR%%/node304.html -%%DOCSDIR%%/node305.html -%%DOCSDIR%%/node306.html -%%DOCSDIR%%/node307.html -%%DOCSDIR%%/node308.html -%%DOCSDIR%%/node309.html -%%DOCSDIR%%/node30.html -%%DOCSDIR%%/node310.html -%%DOCSDIR%%/node311.html -%%DOCSDIR%%/node312.html -%%DOCSDIR%%/node313.html -%%DOCSDIR%%/node314.html -%%DOCSDIR%%/node315.html -%%DOCSDIR%%/node316.html -%%DOCSDIR%%/node317.html -%%DOCSDIR%%/node318.html -%%DOCSDIR%%/node319.html -%%DOCSDIR%%/node31.html -%%DOCSDIR%%/node320.html -%%DOCSDIR%%/node321.html -%%DOCSDIR%%/node322.html -%%DOCSDIR%%/node323.html -%%DOCSDIR%%/node324.html -%%DOCSDIR%%/node325.html -%%DOCSDIR%%/node326.html -%%DOCSDIR%%/node327.html -%%DOCSDIR%%/node328.html -%%DOCSDIR%%/node329.html -%%DOCSDIR%%/node32.html -%%DOCSDIR%%/node330.html -%%DOCSDIR%%/node331.html -%%DOCSDIR%%/node332.html -%%DOCSDIR%%/node333.html -%%DOCSDIR%%/node334.html -%%DOCSDIR%%/node335.html -%%DOCSDIR%%/node336.html -%%DOCSDIR%%/node337.html -%%DOCSDIR%%/node338.html -%%DOCSDIR%%/node339.html -%%DOCSDIR%%/node33.html -%%DOCSDIR%%/node340.html -%%DOCSDIR%%/node341.html -%%DOCSDIR%%/node342.html -%%DOCSDIR%%/node343.html -%%DOCSDIR%%/node344.html -%%DOCSDIR%%/node345.html -%%DOCSDIR%%/node346.html -%%DOCSDIR%%/node347.html -%%DOCSDIR%%/node348.html -%%DOCSDIR%%/node349.html -%%DOCSDIR%%/node34.html -%%DOCSDIR%%/node350.html -%%DOCSDIR%%/node351.html -%%DOCSDIR%%/node352.html -%%DOCSDIR%%/node353.html -%%DOCSDIR%%/node354.html -%%DOCSDIR%%/node355.html -%%DOCSDIR%%/node356.html -%%DOCSDIR%%/node357.html -%%DOCSDIR%%/node358.html -%%DOCSDIR%%/node359.html -%%DOCSDIR%%/node35.html -%%DOCSDIR%%/node360.html -%%DOCSDIR%%/node361.html -%%DOCSDIR%%/node362.html -%%DOCSDIR%%/node363.html -%%DOCSDIR%%/node364.html -%%DOCSDIR%%/node365.html -%%DOCSDIR%%/node366.html -%%DOCSDIR%%/node367.html -%%DOCSDIR%%/node368.html -%%DOCSDIR%%/node369.html -%%DOCSDIR%%/node36.html -%%DOCSDIR%%/node370.html -%%DOCSDIR%%/node371.html -%%DOCSDIR%%/node372.html -%%DOCSDIR%%/node373.html -%%DOCSDIR%%/node374.html -%%DOCSDIR%%/node375.html -%%DOCSDIR%%/node376.html -%%DOCSDIR%%/node377.html -%%DOCSDIR%%/node378.html -%%DOCSDIR%%/node379.html -%%DOCSDIR%%/node37.html -%%DOCSDIR%%/node380.html -%%DOCSDIR%%/node381.html -%%DOCSDIR%%/node382.html -%%DOCSDIR%%/node383.html -%%DOCSDIR%%/node384.html -%%DOCSDIR%%/node385.html -%%DOCSDIR%%/node386.html -%%DOCSDIR%%/node387.html -%%DOCSDIR%%/node388.html -%%DOCSDIR%%/node389.html -%%DOCSDIR%%/node38.html -%%DOCSDIR%%/node390.html -%%DOCSDIR%%/node391.html -%%DOCSDIR%%/node39.html -%%DOCSDIR%%/node4.html -%%DOCSDIR%%/node40.html -%%DOCSDIR%%/node41.html -%%DOCSDIR%%/node42.html -%%DOCSDIR%%/node43.html -%%DOCSDIR%%/node44.html -%%DOCSDIR%%/node45.html -%%DOCSDIR%%/node46.html -%%DOCSDIR%%/node47.html -%%DOCSDIR%%/node48.html -%%DOCSDIR%%/node49.html -%%DOCSDIR%%/node5.html -%%DOCSDIR%%/node50.html -%%DOCSDIR%%/node51.html -%%DOCSDIR%%/node52.html -%%DOCSDIR%%/node53.html -%%DOCSDIR%%/node54.html -%%DOCSDIR%%/node55.html -%%DOCSDIR%%/node56.html -%%DOCSDIR%%/node57.html -%%DOCSDIR%%/node58.html -%%DOCSDIR%%/node59.html -%%DOCSDIR%%/node6.html -%%DOCSDIR%%/node60.html -%%DOCSDIR%%/node61.html -%%DOCSDIR%%/node62.html -%%DOCSDIR%%/node63.html -%%DOCSDIR%%/node64.html -%%DOCSDIR%%/node65.html -%%DOCSDIR%%/node66.html -%%DOCSDIR%%/node67.html -%%DOCSDIR%%/node68.html -%%DOCSDIR%%/node69.html -%%DOCSDIR%%/node7.html -%%DOCSDIR%%/node70.html -%%DOCSDIR%%/node71.html -%%DOCSDIR%%/node72.html -%%DOCSDIR%%/node73.html -%%DOCSDIR%%/node74.html -%%DOCSDIR%%/node75.html -%%DOCSDIR%%/node76.html -%%DOCSDIR%%/node77.html -%%DOCSDIR%%/node78.html -%%DOCSDIR%%/node79.html -%%DOCSDIR%%/node8.html -%%DOCSDIR%%/node80.html -%%DOCSDIR%%/node81.html -%%DOCSDIR%%/node82.html -%%DOCSDIR%%/node83.html -%%DOCSDIR%%/node84.html -%%DOCSDIR%%/node85.html -%%DOCSDIR%%/node86.html -%%DOCSDIR%%/node87.html -%%DOCSDIR%%/node88.html -%%DOCSDIR%%/node89.html -%%DOCSDIR%%/node9.html -%%DOCSDIR%%/node90.html -%%DOCSDIR%%/node91.html -%%DOCSDIR%%/node92.html -%%DOCSDIR%%/node93.html -%%DOCSDIR%%/node94.html -%%DOCSDIR%%/node95.html -%%DOCSDIR%%/node96.html -%%DOCSDIR%%/node97.html -%%DOCSDIR%%/node98.html -%%DOCSDIR%%/node99.html %%DOCSDIR%%/images/asterisk-intro.jpg %%DOCSDIR%%/images/kpad2.jpg @dirrm %%DOCSDIR%%/images |