[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash/doc/C/usermanual bugreport.xml installati...
From: |
Rob Savoye |
Subject: |
[Gnash-commit] gnash/doc/C/usermanual bugreport.xml installati... |
Date: |
Tue, 19 Feb 2008 02:06:31 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Rob Savoye <rsavoye> 08/02/19 02:06:31
Modified files:
doc/C/usermanual: bugreport.xml installation.xml
introduction.xml specification.xml
Log message:
Update for 0.8,.2 release, as these were all seriously out of date.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/doc/C/usermanual/bugreport.xml?cvsroot=gnash&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/gnash/doc/C/usermanual/installation.xml?cvsroot=gnash&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/gnash/doc/C/usermanual/introduction.xml?cvsroot=gnash&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/gnash/doc/C/usermanual/specification.xml?cvsroot=gnash&r1=1.3&r2=1.4
Patches:
Index: bugreport.xml
===================================================================
RCS file: /sources/gnash/gnash/doc/C/usermanual/bugreport.xml,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- bugreport.xml 16 Aug 2007 14:17:40 -0000 1.4
+++ bugreport.xml 19 Feb 2008 02:06:30 -0000 1.5
@@ -2,12 +2,17 @@
<title>Reporting Bugs</title>
<para>
-The &app; project relies on the community to use and test the player; feedback
is critical to any successful project. Not only does it let us know that
people use &app;, but it helps us understand the community's needs. &app; uses
a bug tracker on <ulink url="http://savannah.gnu.org" /> to manage these
reports.
+ The &app; project relies on the community to use and test the
+ player; feedback is critical to any successful project. Not only
+ does it let us know that people use &app;, but it helps us
+ understand the community's needs. &app; uses a bug tracker on
+ <ulink url="http://savannah.gnu.org" /> to manage these reports.
</para>
- <para>
-When filing a report, please follow the guidelines below. The better your bug
report is, the easier it will be for the
- developers to address the issue.
+<para>
+ When filing a report, please follow the guidelines below. The better
+ your bug report is, the easier it will be for the developers to
+ address the issue.
</para>
<orderedlist>
<listitem><para>
@@ -37,15 +42,25 @@
<para>
If you are able to replicate the bug in the latest version,
- <link linkend="bugstep_search">proceed to the next step</link>. If you
cannot replicate the bug with the newer version, the problem may have been
solved, or the issue may involve your environment
+ <link linkend="bugstep_search">proceed to the next step</link>.
+ If you cannot replicate the bug with the newer version, the
+ problem may have been solved, or the issue may involve your
+ environment
</para>
<para>
-To check this, create a fresh build of the version in which you encountered
the bug. If you can reproduce the bug with the fresh copy of the original
version, but cannot with the latest version, this is most likely a resolved bug.
+ To check this, create a fresh build of the version in which you
+ encountered the bug. If you can reproduce the bug with the
+ fresh copy of the original version, but cannot with the latest
+ version, this is most likely a resolved bug.
</para>
<para>
-If you cannot reproduce the bug, it may still be unclear whether the bug is
related to your environment or a &app; bug. Try to determine the source of the
problem. &app; offers several helpful debugging options in the configure
stage, and many verbosity options at the command line to help.
+ If you cannot reproduce the bug, it may still be unclear whether the
+ bug is related to your environment or a &app; bug. Try to determine
+ the source of the problem. &app; offers several helpful debugging
+ options in the configure stage, and many verbosity options at the
+ command line to help.
</para>
</sect1>
@@ -73,50 +88,50 @@
A good bug report should be precise, explicit, and discrete.
This means that there should be just one bug per ticket, and
that a ticket should contain the following information:
-</para>
+ </para>
<itemizedlist mark="opencircle">
<listitem>
-<para>
+ <para>
An overview of the problem;
-</para>
+ </para>
</listitem>
<listitem>
-<para>
+ <para>
Instructions on how to replicate the bug;
-</para>
+ </para>
</listitem>
<listitem>
-<para>
+ <para>
A description of what happened when you performed the steps
to replicate the bug, and what you expected to happen;
-</para>
+ </para>
</listitem>
<listitem>
-<para>
+ <para>
Your system information: operating system name and version, as
well as the versions of major <link
linkend="codedepend">dependencies</link>;
-</para>
+ </para>
</listitem>
<listitem>
-<para>
+ <para>
The release number or checkout timestamp for the version of &app;
where you observe the problem;
-</para>
+ </para>
</listitem>
<listitem>
-<para>
+ <para>
The file <filename>config.log</filename>, which should be
attached as a file; and
-</para>
+ </para>
</listitem>
<listitem>
-<para>
+ <para>
A descriptive title.
-</para>
+ </para>
</listitem>
</itemizedlist>
-<para>
+ <para>
Include any additional information that you feel might be useful
to the developers.
</para>
Index: installation.xml
===================================================================
RCS file: /sources/gnash/gnash/doc/C/usermanual/installation.xml,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- installation.xml 16 Aug 2007 14:19:19 -0000 1.5
+++ installation.xml 19 Feb 2008 02:06:30 -0000 1.6
@@ -7,179 +7,190 @@
or <link linkend="gettingsource">installing from source</link>.
</para>
-<sect1 id="requirements">
-<title>Requirements</title>
+ <sect1 id="requirements">
+ <title>Requirements</title>
-<para>
-Before downloading and installing &app;, check that your hardware and software
meet the following requirements.
-</para>
-
-<sect2 id="hardware">
-<title>Hardware Requirements</title>
-
-<para>
-One of the goals of &app; is to make it portable enough to install on small
devices. As a result, the hardware requirements are minimal. &app; has even
run on an ARM9 at 200 MHz with 64 MB of RAM! (It ran without video support in
this case.) While firm minimums have not been established, &app; has been
shown to run successfully with the following:
-</para>
-
-<itemizedlist>
-<listitem>
-<para>
-336 MHz processor
-</para>
-</listitem>
-<listitem>
-<para>
-256 MB RAM
-</para>
-</listitem>
-<listitem>
-<para>
-Video — &app; will run on anything from a raw frame buffer up to an
OpenGL-supporting graphics card.
-</para>
-</listitem>
-</itemizedlist>
-
-<para>
-The following table provides a list of the Operating System/CPU combinations
on which &app; has been shown to run.
-</para>
-
-<table id="tb-os-cpu">
-<title>Build Matrix</title>
-<tgroup cols='2' align='left' colsep='1' rowsep='1'>
-<colspec colname='Operating System' />
-<colspec colname='CPU' />
-<thead>
-<row>
+ <para>
+ Before downloading and installing &app;, check that your
+ hardware and software meet the following requirements.
+ </para>
+
+ <sect2 id="hardware">
+ <title>Hardware Requirements</title>
+
+ <para>
+ One of the goals of &app; is to make it portable enough to install on
+ small devices. As a result, the hardware requirements are
+ minimal. &app; has even run on an ARM9 at 200 MHz with 64 MB of RAM!
+ (It ran without video support in this case.) While firm minimums
+ have not been established, &app; has been shown to run successfully
+ with the following:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ 336 MHz processor
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ 256 MB RAM
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Video — &app; will run on anything from a raw frame buffer up
to
+ an OpenGL-supporting graphics card.
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ The following table provides a list of the Operating System/CPU
+ combinations on which &app; has been shown to run.
+ </para>
+
+ <table id="tb-os-cpu">
+ <title>Build Matrix</title>
+ <tgroup cols='2' align='left' colsep='1' rowsep='1'>
+ <colspec colname='Operating System' />
+ <colspec colname='CPU' />
+ <thead>
+ <row>
<entry>Render GUI</entry>
<entry>Virtual Memory</entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry>FreeBSD</entry>
-<entry>Alpha AXP, AMD64, i386, Itanium, PC-98, PowerPC, SPARC64
-</entry>
-</row>
-<row>
-<entry>GNU/Linux
-</entry>
-<entry>CRIS</entry>
-</row>
-<row>
-<entry>GNU/Linux [OLPC]
-</entry>
-<entry>Geode GX
-</entry>
-</row>
-<row>
-<entry>GNU/Linux ALTLinux
-</entry>
-<entry>i586</entry>
-</row>
-<row>
-<entry>GNU/Linux Arklinux
-</entry>
-<entry>i586</entry>
-</row>
-<row>
-<entry>GNU/Linux Debian
-</entry>
-<entry>Alpha AXP, AMD64, ARM, hppa, i386, Itanium, MIPS, PowerPC, IBM zSeries
(s390), SPARC
-</entry>
-</row>
-<row>
-<entry>GNU/Linux Fedora core
-</entry>
-<entry>x86-32, x86-64
-</entry>
-</row>
-<row>
-<entry>GNU/Linux Gentoo
-</entry>
-<entry>AMD64, PowerPC, SPARC, x86
-</entry>
-</row>
-<row>
-<entry>GNU/Linux Gentoo
-</entry>
-<entry>AMD64, PowerPC, SPARC, x86
-</entry>
-</row>
-<row>
-<entry>GNU/Linux Maemo 2.1
-</entry>
-<entry>ARMv5t</entry>
-</row>
-<row>
-<entry>GNU/Linux Mandriva 2007
-</entry>
-<entry></entry>
-</row>
-<row>
-<entry>GNU/Linux Open Zaurus
-</entry>
-<entry>ARM
-</entry>
-</row>
-<row>
-<entry>GNU/Linux OpenSuSE 10
-</entry>
-<entry>i586, x86-64
-</entry>
-</row>
-<row>
-<entry>GNU/Linux Red Hat
-</entry>
-<entry>x86-32, x86-64
-</entry>
-</row>
-<row>
-<entry>GNU/Linux Ubuntu
-</entry>
-<entry>x86-64 reported working, also x86-32 and UltraSPARC
-</entry>
-</row>
-<row>
-<entry>Haiku</entry>
-<entry></entry>
-</row>
-<row>
-<entry>Irix 6.5
-</entry>
-<entry>MIPS R10K
-</entry>
-</row>
-<row>
-<entry>MacOS X
-</entry>
-<entry>PowerPC and x86-32
-</entry>
-</row>
-<row>
-<entry>NetBSD</entry>
-<entry>many, including VAX
-</entry>
-</row>
-<row>
-<entry>OpenBSD</entry>
-<entry>many, including VAX, OS/2 and eComstation</entry>
-</row>
-<row>
-<entry>Windows</entry>
-<entry>x86-32</entry>
-</row>
-</tbody>
-</tgroup>
-</table>
-
-</sect2>
-
-<sect2 id="software">
-<title>Software Requirements</title>
-
-<para>
-The &appversion; release of &app; has been designed to run on UNIX/Linux
variants, and has been run on most of the free ones. However, &app; has
successfully run on Windows, Darwin (Mac OS X), Irix, Solaris, BeOs, OS/2, and
Haiku. &app; has also run on the following 64-bit systems: PowerPC, Itanium,
UltraSparc, and AMD64. For now, it is important to be sure that the following
code, testing, and documentation dependencies are met before installing &app;.
If you will be downloading &app; with a package manager, these dependencies may
be solved by the package manager. Otherwise, you must first verify that each
of these dependencies are installed on the target system.
-</para>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>OpenBSD, FreeBSD, NetBSD</entry>
+ <entry>Alpha AXP, AMD64, i386, Itanium, PC-98, PowerPC, SPARC64
+ </entry>
+ </row>
+ <row>
+ <entry>ALTLinux</entry>
+ <entry>i586</entry>
+ </row>
+ <row>
+ <entry>Arklinux</entry>
+ <entry>i586</entry>
+ </row>
+ <row>
+ <entry>Debian</entry>
+ <entry>Alpha AXP, AMD64, ARM, hppa, i386, Itanium, MIPS,
+ PowerPC, IBM zSeries (s390), SPARC
+ </entry>
+ </row>
+ <row>
+ <entry>Fedora</entry>
+ <entry>x86-32, x86-64, Geode GX, Geode LX
+ </entry>
+ </row>
+ <row>
+ <entry>Gentoo</entry>
+ <entry>AMD64, PowerPC, SPARC, x86
+ </entry>
+ </row>
+ <row>
+ <entry>Maemo 2.1</entry>
+ <entry>i385, ARMv5t</entry>
+ </row>
+ <row>
+ <entry>Scratchbox</entry>
+ <entry>i386, ARMv5t</entry>
+ </row>
+ <row>
+ <entry>Access Linux Platform
+ </entry>
+ <entry>i386, ARMv5t</entry>
+ </row>
+ <row>
+ <entry>Mandriva
+ </entry>
+ <entry>i386</entry>
+ </row>
+ <row>
+ <entry>Open Embedded
+ </entry>
+ <entry>ARM
+ </entry>
+ </row>
+ <row>
+ <entry>YellowDog Linux 6
+ </entry>
+ <entry>PowerPC, PS3
+ </entry>
+ </row>
+ <row>
+ <entry>OpenSuSE 10
+ </entry>
+ <entry>i586, x86-64
+ </entry>
+ </row>
+ <row>
+ <entry>Red Hat Enterprise and CentOS
+ </entry>
+ <entry>x86-32, x86-64
+ </entry>
+ </row>
+ <row>
+ <entry>Ubuntu
+ </entry>
+ <entry>x86-64, x86-32, PowerPC, UltraSPARC
+ </entry>
+ </row>
+ <row>
+ <entry>Haiku</entry>
+ <entry>i386</entry>
+ </row>
+ <row>
+ <entry>Irix 6.5
+ </entry>
+ <entry>MIPS R10K
+ </entry>
+ </row>
+ <row>
+ <entry>Darwin (MacOS X)
+ </entry>
+ <entry>PowerPC and x86-32
+ </entry>
+ </row>
+ <row>
+ <entry>NetBSD</entry>
+ <entry>many, including VAX
+ </entry>
+ </row>
+ <row>
+ <entry>OpenBSD</entry>
+ <entry>many, including VAX, OS/2 and eComstation</entry>
+ </row>
+ <row>
+ <entry>Windows</entry>
+ <entry>x86-32</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ </sect2>
+
+ <sect2 id="software">
+ <title>Software Requirements</title>
+
+ <para>
+ The &appversion; release of &app; has been designed to run on
+ UNIX/Linux variants, and has been run on most of the free ones.
+ However, &app; has successfully run on Windows, Darwin (Mac OS X),
+ Irix, Solaris, BeOs, OS/2, and Haiku. &app; has also run on the
+ following 64-bit systems: PowerPC, Itanium, UltraSparc, and AMD64.
+ For now, it is important to be sure that the following code, testing,
+ and documentation dependencies are met before installing &app;. If
+ you will be downloading &app; with a package manager, these
+ dependencies may be solved by the package manager. Otherwise, you
+ must first verify that each of these dependencies are installed on the
+ target system.
+ </para>
<sect3 id="codedepend">
&codedependencies;
@@ -189,19 +200,26 @@
&testdependencies;
</sect3>
-<sect3 id="docdepend">
+ <sect3 id="docdepend">
&docdependencies;
</sect3>
-</sect2>
-</sect1>
+ </sect2>
-<sect1 id="downloading">
-<title>Downloading &app;</title>
+ </sect1>
-<para>
-There are two ways to download &app;: using a package manager or by
downloading the source code and building it on your system. If possible, it is
advisable to use a package manager to download &app;, as it will resolve
dependencies for you. However, if you want the very latest features, or a
&app; package is not available for your operating system, it is better to
download the source code and build &app; locally.
-</para>
+ <sect1 id="downloading">
+ <title>Downloading &app;</title>
+
+ <para>
+ There are two ways to download &app;: using a package manager or by
+ downloading the source code and building it on your system. If
+ possible, it is advisable to use a package manager to download &app;,
+ as it will resolve dependencies for you. However, if you want the
+ very latest features, or a &app; package is not available for your
+ operating system, it is better to download the source code and build
+ &app; locally.
+ </para>
<sect2 id="packagemanager">
&pkgmanager;
@@ -249,16 +267,18 @@
experience difficulty accessing the repository.
</para>
<para>
-To download via anonymous CVS, first set the
- environment variable <command>CVS_RSH</command> to
<command>ssh</command>, then check out the source code. The example below uses
the GNU Bourne-Again shell (bash):
-</para>
-
-<screen>
-export CVS_RSH="ssh"
-cvs -z3 -d:pserver:address@hidden:/sources/gnash co gnash
-</screen>
+ To download via anonymous CVS, first set the
+ environment variable <command>CVS_RSH</command> to
+ <command>ssh</command>, then check out the source code.
+ The example below uses the GNU Bourne-Again shell (bash):
+ </para>
+
+ <screen>
+ export CVS_RSH="ssh"
+ cvs -z3 -d:pserver:address@hidden:/sources/gnash co gnash
+ </screen>
-<para>
+ <para>
It is also possible to browse the repository
<ulink url="http://cvs.savannah.gnu.org/viewcvs/gnash/?root=gnash"
type="http" /> on the web.
@@ -279,16 +299,16 @@
</para>
</sect3>
-</sect2>
+ </sect2>
-</sect1>
+ </sect1>
-<sect1 id="pre-configuration">
-<title>Pre-Compile Configuration</title>
+ <sect1 id="pre-configuration">
+ <title>Pre-Compile Configuration</title>
-&configuration;
+ &configuration;
-</sect1>
+ </sect1>
<sect1 id="compiling">
&building;
Index: introduction.xml
===================================================================
RCS file: /sources/gnash/gnash/doc/C/usermanual/introduction.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- introduction.xml 16 Aug 2007 14:21:09 -0000 1.3
+++ introduction.xml 19 Feb 2008 02:06:30 -0000 1.4
@@ -2,202 +2,253 @@
<title>Introduction</title>
<para>
- &app; is a free Flash movie player. It is available as a stand-alone
application or as a plugin for several popular browsers.
-</para>
+ &app; is a free SWF movie player. It is available as a
+ stand-alone application or as a plugin for several popular
+ browsers.
+ </para>
-<para>
-&app; is based on the excellent work done on the public domain program
<application>GameSWF</application>, which is a graphics library for games that
contains the heart of a Flash interpreter. In December 2005, &app; was forked
from <application>GameSWF</application> and repackaged in the GNU project
style. The objective of &app; is to create an enterprise-quality Flash movie
player that can be widely deployed.
-</para>
-
-<sect1 id="runs-on">
-<title>What does &app; run on?</title>
-
-<para>
-The list of successful &app; deployments grows every day. At this time, &app;
has been found to run on several different UNIX and Linux distributions. The
plugin currently works with any browser that uses the NSAPI. This includes:
-</para>
-
-<itemizedlist>
-<listitem>
-<para>Mozilla <ulink url="http://www.mozilla.org" />
-</para>
-</listitem>
-<listitem>
-<para>Firefox <ulink url="http://www.mozilla.com/en-US/firefox" />
-</para>
-</listitem>
-<listitem>
-<para>Galeon <ulink url="galeon.sourceforge.net" />
-</para>
-</listitem>
-<listitem>
-<para>Epiphany <ulink url="gnome.org/projects/epiphany" />
-</para>
-</listitem>
-<listitem>
-<para>Konqueror <ulink url="http://www.konqueror.org" />
-</para>
-</listitem>
-<listitem>
-<para>Opera <ulink url="http://www.opera.com" />
-</para>
-</listitem>
-<listitem>
-<para>OLPC Web Activity <ulink url="http://www.laptop.org" />
-</para>
-</listitem>
-</itemizedlist>
+ <para>
+ &app; is based on the excellent work done on the public domain program
+ <application>GameSWF</application>, which is a graphics library for
+ games that contains the heart of a SWF interpreter. In December
+ 2005, &app; was forked from <application>GameSWF</application> and
+ repackaged in the GNU project style. The objective of &app; is to
+ create an enterprise-quality SWF movie player that can be widely
+ deployed.
+ </para>
-</sect1>
+ <sect1 id="runs-on">
+ <title>What does &app; run on?</title>
+
+ <para>
+ The list of successful &app; deployments grows every day. At this
+ time, &app; has been found to run on several different UNIX and Linux
+ distributions. The plugin currently works with any browser that uses
+ the NSAPI. This includes:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Mozilla <ulink url="http://www.mozilla.org" />
+ </para>
+ </listitem>
+ <listitem>
+ <para>Firefox <ulink url="http://www.mozilla.com/en-US/firefox" />
+ </para>
+ </listitem>
+ <listitem>
+ <para>Galeon <ulink url="galeon.sourceforge.net" />
+ </para>
+ </listitem>
+ <listitem>
+ <para>Epiphany <ulink url="gnome.org/projects/epiphany" />
+ </para>
+ </listitem>
+ <listitem>
+ <para>Konqueror <ulink url="http://www.konqueror.org" />
+ </para>
+ </listitem>
+ <listitem>
+ <para>Opera <ulink url="http://www.opera.com" />
+ </para>
+ </listitem>
+ <listitem>
+ <para>OLPC Web Activity <ulink url="http://www.laptop.org" />
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ </sect1>
<sect1 id="flashsupport">
<title>What Versions of Flash are Supported?</title>
<para>
&app; supports the majority of Flash opcodes up to SWF version
- 7, and a wide sampling of ActionScript classes for SWF version
- 7. There are plans to work towards greater support for SWF
- 8 and beyond. AMF support is minimal.
+ 7, and a wide sampling of ActionScript 2. Support for SWF v8 and
+ v9 is under development, some sites already work. Support for
+ ActionScript 3 is under development.
+ </para>
+ </sect1>
+ <sect1 id="audience">
+ <title>Audience</title>
+
+ <para>
+ This manual is primarily focused on developers interested in
+ contributing to or building from the &app; project. It serves as a
+ detailed reference guide, including a catalog and explanation of all
+ options and features. This level of detail may make this guide
+ cumbersome for the average user, although advanced users may find it
+ helpful.
+ </para>
+
+ <para>
+ Those who are new to &app; will find the <citetitle>&app; User's
+ Guide</citetitle>, currently under development, to be more useful when
+ learning to use &app;.
</para>
</sect1>
-<sect1 id="audience">
-<title>Audience</title>
-<para>
-This manual is primarily focused on developers interested in contributing to
or building from the &app; project. It serves as a detailed reference guide,
including a catalog and explanation of all options and features. This level of
detail may make this guide cumbersome for the average user, although advanced
users may find it helpful.
-</para>
-
-<para>
-Those who are new to &app; will find the <citetitle>&app; User's
Guide</citetitle>, currently under development, to be more useful when learning
to use &app;.
-</para>
-</sect1>
-
-<sect1 id="guide-conventions">
-<title>Guide Conventions</title>
-
-<para>
-This guide makes use of the following fairly standard typefaces, highlighting,
and language usage:
-</para>
-
-<variablelist>
-<varlistentry>
-<term><application>application</application></term>
-<listitem>
-<para>
-The typeface above will be used whenever an application, such as
<application>Firefox</application> or
<application>OpenOffice.org</application>, is mentioned.
-</para>
-</listitem>
-</varlistentry>
-<varlistentry>
-<term><command>command</command></term>
-<listitem>
-<para>
-The typeface above will be used whenever the text instructs a user to enter a
command at a shell prompt in UNIX/Linux, such as <command>ls</command>.
-</para>
-</listitem>
-</varlistentry>
-<varlistentry>
-<term><computeroutput>computeroutput</computeroutput></term>
-<listitem>
-<para>
-This is the typeface used to indicate information produced on
<computeroutput>stdout</computeroutput> by the computer. This include error
messages and prompts.
-</para>
-</listitem>
-</varlistentry>
-<varlistentry>
-<term><filename>filename</filename></term>
-<listitem>
-<para>
-This typeface indicates that the text is the name (and possibly the path) of a
specific file on the system in question. For example,
<filename>/etc/hosts</filename> would appear in this typeface.
-</para>
-</listitem>
-</varlistentry>
-<varlistentry>
-<term><guibutton>guibutton</guibutton></term>
-<listitem>
-<para>
-This formatting indicates a button on a Graphical User Interface (GUI). If
this formatting appears, look for a button with the same text on the GUI of the
&app; player; the button itself may look slightly different.
-</para>
-</listitem>
-</varlistentry>
-<varlistentry>
-<term><guimenu>guimenu</guimenu></term>
-<listitem>
-<para>
-This typeface indicates the topmost menu item in a GUI. For example, in many
applications the <guimenu>File</guimenu> menu item is a top=level menu item.
-</para>
-</listitem>
-</varlistentry>
-<varlistentry>
-<term><guimenuitem>guimenuitem</guimenuitem></term>
-<listitem>
-<para>
-This typeface indicates a sub-menu item in a GUI. For example, in many
applications the <guimenuitem>Save As</guimenuitem> menu item is a sub-menu
item.
-</para>
-</listitem>
-</varlistentry>
-<varlistentry>
-<term><guilabel>guitext</guilabel></term>
-<listitem>
-<para>
-This typeface indicates a text string on the GUI. This is generally a text
string that appears on the GUI that is not a button or menuitem.
-</para>
-</listitem>
-</varlistentry>
-<varlistentry>
-<term><keycap>key</keycap></term>
-<listitem>
-<para>
-This typeface indicates a specific key on the keyboard. For example, the
<keycap>Ctrl</keycap> key appears in this typeface.
-</para>
-</listitem>
-</varlistentry>
-<varlistentry>
-<term><keycombo><keycap>key</keycap><keycap>combination</keycap></keycombo></term>
-<listitem>
-<para>
-This formatting indicates a set of keys to be pressed at the same time. A
familiar key combination is
<keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>Delete</keycap></keycombo>.
-</para>
-</listitem>
-</varlistentry>
-<varlistentry>
-<term><replaceable><replaceable></replaceable></term>
-<listitem>
-<para>
-Whenever a general term is included in an example as a placeholder, it will be
signaled by this formatting. This formatting will usually appear inside other
formatting. For example,
<filename>/home/<replaceable><username></replaceable></filename>
indicates the home directory of a user, whose actual username would be
substituted in for <replaceable><username></replaceable>.
-</para>
-</listitem>
-</varlistentry>
-<varlistentry>
-<term><userinput>User input</userinput></term>
-<listitem>
-<para>
-This typeface indicates anything that the user must enter, whether that is at
a shell prompt or in response to a GUI prompt.
-</para>
-</listitem>
-</varlistentry>
-</variablelist>
-
-</sect1>
-
-<sect1 id="Acknowledgments">
-<title>Acknowledgments</title>
-
-<para>
-The first version of this guide was written by Rob Savoye. If not for his
tireless efforts, this book - and this project - would never have come this far.
-</para>
-
-<para>
-John Steinhart has also been dedicated to the project from the beginning. I
have shamelessly plagiarized one of his early announcement emails in the early
part of this chapter.
-</para>
-
-<para>
-Ann Barcomb was instrumental in taking this guide from the 0.3.0 to the 0.4.0
version, incorporating the many changes that came with &app; version 0.8.0.
-</para>
-
-<para>
-Finally, thanks to all of the &app; developers I haven't mentioned for all
their hard work, and for answering my unending questions.
-</para>
-</sect1>
+ <sect1 id="guide-conventions">
+ <title>Guide Conventions</title>
+
+ <para>
+ This guide makes use of the following fairly standard typefaces,
+ highlighting, and language usage:
+ </para>
+
+ <variablelist>
+ <varlistentry>
+ <term><application>application</application></term>
+ <listitem>
+ <para>
+ The typeface above will be used whenever an application, such as
+ <application>Firefox</application> or
+ <application>OpenOffice.org</application>, is mentioned.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>command</command></term>
+ <listitem>
+ <para>
+ The typeface above will be used whenever the text instructs a user
to
+ enter a command at a shell prompt in UNIX/Linux, such as
+ <command>ls</command>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><computeroutput>computeroutput</computeroutput></term>
+ <listitem>
+ <para>
+ This is the typeface used to indicate information produced on
+ <computeroutput>stdout</computeroutput> by the computer. This
include
+ error messages and prompts.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><filename>filename</filename></term>
+ <listitem>
+ <para>
+ This typeface indicates that the text is the name (and possibly the
+ path) of a specific file on the system in question. For example,
+ <filename>/etc/hosts</filename> would appear in this typeface.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><guibutton>guibutton</guibutton></term>
+ <listitem>
+ <para>
+ This formatting indicates a button on a Graphical User Interface
+ (GUI). If this formatting appears, look for a button with the same
+ text on the GUI of the &app; player; the button itself may look
+ slightly different.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><guimenu>guimenu</guimenu></term>
+ <listitem>
+ <para>
+ This typeface indicates the topmost menu item in a GUI. For
example,
+ in many applications the <guimenu>File</guimenu> menu item is a
+ top=level menu item.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><guimenuitem>guimenuitem</guimenuitem></term>
+ <listitem>
+ <para>
+ This typeface indicates a sub-menu item in a GUI. For example, in
+ many applications the <guimenuitem>Save As</guimenuitem> menu item
is
+ a sub-menu item.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><guilabel>guitext</guilabel></term>
+ <listitem>
+ <para>
+ This typeface indicates a text string on the GUI. This is
generally a
+ text string that appears on the GUI that is not a button or
menuitem.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><keycap>key</keycap></term>
+ <listitem>
+ <para>
+ This typeface indicates a specific key on the keyboard. For
example,
+ the <keycap>Ctrl</keycap> key appears in this typeface.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+
<term><keycombo><keycap>key</keycap><keycap>combination</keycap></keycombo></term>
+ <listitem>
+ <para>
+ This formatting indicates a set of keys to be pressed at the same
+ time. A familiar key combination is
+
<keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>Delete</keycap></keycombo>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><replaceable><replaceable></replaceable></term>
+ <listitem>
+ <para>
+ Whenever a general term is included in an example as a placeholder,
it
+ will be signaled by this formatting. This formatting will usually
+ appear inside other formatting. For example,
+
<filename>/home/<replaceable><username></replaceable></filename>
+ indicates the home directory of a user, whose actual username would
be
+ substituted in for <replaceable><username></replaceable>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><userinput>User input</userinput></term>
+ <listitem>
+ <para>
+ This typeface indicates anything that the user must enter, whether
+ that is at a shell prompt or in response to a GUI prompt.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ </sect1>
+
+ <sect1 id="Acknowledgments">
+ <title>Acknowledgments</title>
+
+ <para>
+ The first version of this guide was written by Rob Savoye. If not for
+ his tireless efforts, this book - and this project - would never have
+ come this far.
+ </para>
+
+ <para>
+ John Steinhart has also been supportive of the project from the
+ beginning. I have shamelessly plagiarized one of his early
+ announcement emails in the early part of this chapter.
+ </para>
+
+ <para>
+ Ann Barcomb was instrumental in taking this guide from the 0.3.0 to
+ the 0.4.0 version, incorporating the many changes that came with &app;
+ version 0.8.0.
+ </para>
+
+ <para>
+ Finally, thanks to all of the &app; developers I haven't mentioned for
+ all their hard work, and for answering my unending questions.
+ </para>
+ </sect1>
</chapter>
Index: specification.xml
===================================================================
RCS file: /sources/gnash/gnash/doc/C/usermanual/specification.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- specification.xml 16 Aug 2007 16:58:50 -0000 1.3
+++ specification.xml 19 Feb 2008 02:06:31 -0000 1.4
@@ -1,318 +1,443 @@
<chapter id="specification">
-<title>Technical Specifications</title>
+ <title>Technical Specifications</title>
-<para>
-The information in this chapter may change quickly. For the most current
information about the following subjects, be sure the check the Developer's
Wiki at <ulink url="http://www.gnashdev.org/wiki/index.php/Main_Page" />.
-</para>
-
-<sect1 id="spec-actionscript">
-<title>&AS;</title>
-
-<para>
-As stated in the section <xref linkend="flashsupport" />, &app; has
implemented about 80% of &AS; v. 2.0, and has begun implementing &AS; v. 3.0.
&app; supports the majority of Flash opcodes up to SWF version 7, and a wide
sampling of &AS; classes for SWF version 7.
-</para>
-
-<para>
-The following table indicates how fully various &AS; classes have been
implemented:
-</para>
-
-<table frame='all'>
-<title>&AS; Classes</title>
-<tgroup cols='2' align='left' colsep='1' rowsep='1'>
-<colspec colname='Class'/>
-<colspec colname='Status'/>
-<thead>
-<row>
+ <para>
+ The information in this chapter may change quickly. For the most
+ current information about the following subjects, be sure the check
+ the Developer's Wiki at <ulink
+ url="http://www.gnashdev.org/wiki/index.php/Main_Page" />.
+ </para>
+
+ <sect1 id="spec-actionscript">
+ <title>&AS;</title>
+
+ <para>
+ As stated in the section <xref linkend="flashsupport" />, &app; has
+ implemented about 80% of &AS; v. 2.0, and has begun implementing &AS;
+ v. 3.0. &app; supports the majority of Flash opcodes up to SWF
+ version 9, and a wide sampling of &AS; classes for SWF version 8.
+ </para>
+
+ <para>
+ The following table indicates how fully various &AS; classes have been
+ implemented:
+ </para>
+
+ <table frame='all'>
+ <title>&AS; Classes</title>
+ <tgroup cols='2' align='left' colsep='1' rowsep='1'>
+ <colspec colname='Class'/>
+ <colspec colname='Status'/>
+ <thead>
+ <row>
<entry>Class</entry>
<entry>Status</entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry>Actionscript/Date</entry>
-<entry>Implemented</entry>
-</row>
-<row>
-<entry>Actionscript/Function</entry>
-<entry>Implemented</entry>
-</row>
-<row>
-<entry>Actionscript/MovieClip</entry>
-<entry>Implemented</entry>
-</row>
-<row>
-<entry>Actionscript/MovieClipLoader</entry>
-<entry>Implemented</entry>
-</row>
-<row>
-<entry>Actionscript/Object</entry>
-<entry>Implemented</entry>
-</row>
-<row>
-<entry>Actionscript/Sound</entry>
-<entry>Implemented</entry>
-</row>
-<row>
-<entry>Actionscript/String</entry>
-<entry>Implemented</entry>
-</row>
-<row>
-<entry>Actionscript/XMLNode</entry>
-<entry>Implemented</entry>
-</row>
-<row>
-<entry>Actionscript/XMLSocket</entry>
-<entry>Implemented</entry>
-</row>
-<row>
-<entry>Actionscript/_global</entry>
-<entry>Partially Implemented</entry>
-</row>
-<row>
-<entry>Actionscript/Array</entry>
-<entry>Partially Implemented</entry>
-</row>
-<row>
-<entry>Actionscript/LocalConnection</entry>
-<entry>Partially Implemented</entry>
-</row>
-<row>
-<entry>Actionscript/NetConnection</entry>
-<entry>Partially Implemented</entry>
-</row>
-<row>
-<entry>Actionscript/NetStream</entry>
-<entry>Partially Implemented</entry>
-</row>
-<row>
-<entry>Actionscript/TextField</entry>
-<entry>Partially Implemented</entry>
-</row>
-<row>
-<entry>Actionscript/XML</entry>
-<entry>Partially Implemented</entry>
-</row>
-<row>
-<entry>Actionscript/Boolean</entry>
-<entry>Unimplemented</entry>
-</row>
-<row>
-<entry>Actionscript/Error</entry>
-<entry>Unimplemented</entry>
-</row>
-<row>
-<entry>Actionscript/LoadVars</entry>
-<entry>Unimplemented</entry>
-</row>
-<row>
-<entry>Actionscript/Number</entry>
-<entry>Unimplemented</entry>
-</row>
-<row>
-<entry>Actionscript/Selection</entry>
-<entry>Unimplemented</entry>
-</row>
-<row>
-<entry>Actionscript/TextFormat</entry>
-<entry>Unimplemented</entry>
-</row>
-<row>
-<entry>Actionscript/Unknown</entry>
-<entry>Unimplemented</entry>
-</row>
-</tbody>
-</tgroup>
-</table>
-
-<para>
-The next table indicates which opcodes have been implemented:
-</para>
-
-<table frame='all'>
-<title>Opcodes</title>
-<tgroup cols='2' align='left' colsep='1' rowsep='1'>
-<colspec colname='Opcode'/>
-<colspec colname='Status'/>
-<thead>
-<row>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>Actionscript/Date</entry>
+ <entry>Implemented</entry>
+ </row>
+ <row>
+ <entry>Actionscript/Function</entry>
+ <entry>Implemented</entry>
+ </row>
+ <row>
+ <entry>Actionscript/MovieClip</entry>
+ <entry>Implemented</entry>
+ </row>
+ <row>
+ <entry>Actionscript/MovieClipLoader</entry>
+ <entry>Implemented</entry>
+ </row>
+ <row>
+ <entry>Actionscript/Object</entry>
+ <entry>Implemented</entry>
+ </row>
+ <row>
+ <entry>Actionscript/Sound</entry>
+ <entry>Implemented</entry>
+ </row>
+ <row>
+ <entry>Actionscript/String</entry>
+ <entry>Implemented</entry>
+ </row>
+ <row>
+ <entry>Actionscript/XMLNode</entry>
+ <entry>Implemented</entry>
+ </row>
+ <row>
+ <entry>Actionscript/XMLSocket</entry>
+ <entry>Implemented</entry>
+ </row>
+ <row>
+ <entry>Actionscript/_global</entry>
+ <entry>Partially Implemented</entry>
+ </row>
+ <row>
+ <entry>Actionscript/Array</entry>
+ <entry>Partially Implemented</entry>
+ </row>
+ <row>
+ <entry>Actionscript/LocalConnection</entry>
+ <entry>Partially Implemented</entry>
+ </row>
+ <row>
+ <entry>Actionscript/NetConnection</entry>
+ <entry>Partially Implemented</entry>
+ </row>
+ <row>
+ <entry>Actionscript/NetStream</entry>
+ <entry>Partially Implemented</entry>
+ </row>
+ <row>
+ <entry>Actionscript/TextField</entry>
+ <entry>Partially Implemented</entry>
+ </row>
+ <row>
+ <entry>Actionscript/XML</entry>
+ <entry>Partially Implemented</entry>
+ </row>
+ <row>
+ <entry>Actionscript/Boolean</entry>
+ <entry>Unimplemented</entry>
+ </row>
+ <row>
+ <entry>Actionscript/Error</entry>
+ <entry>Unimplemented</entry>
+ </row>
+ <row>
+ <entry>Actionscript/LoadVars</entry>
+ <entry>Unimplemented</entry>
+ </row>
+ <row>
+ <entry>Actionscript/Number</entry>
+ <entry>Unimplemented</entry>
+ </row>
+ <row>
+ <entry>Actionscript/Selection</entry>
+ <entry>Unimplemented</entry>
+ </row>
+ <row>
+ <entry>Actionscript/TextFormat</entry>
+ <entry>Unimplemented</entry>
+ </row>
+ <row>
+ <entry>Actionscript/Unknown</entry>
+ <entry>Unimplemented</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <para>
+ The next table indicates which opcodes have been implemented:
+ </para>
+
+ <table frame='all'>
+ <title>Opcodes</title>
+ <tgroup cols='2' align='left' colsep='1' rowsep='1'>
+ <colspec colname='Opcode'/>
+ <colspec colname='Status'/>
+ <thead>
+ <row>
<entry>Opcode</entry>
<entry>Status</entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry>0x43 declare_obj</entry>
-<entry>Implemented</entry>
-</row>
-<row>
-<entry>0x2B cast</entry>
-<entry>Implemented</entry>
-</row>
-<row>
-<entry>0x3B delete2 - SWF::ACTION_DELETE</entry>
-<entry>Implemented</entry>
-</row>
-<row>
-<entry>0x53 new_method</entry>
-<entry>Implemented</entry>
-</row>
-<row>
-<entry>0x55 enum_object</entry>
-<entry>Implemented</entry>
-</row>
-<row>
-<entry>0x3A delete - SWF::ACTION_DELETEVAR</entry>
-<entry>Implemented</entry>
-</row>
-<row>
-<entry>0x69 Extends - SWF::ACTION_EXTENDS</entry>
-<entry>Implemented</entry>
-</row>
-<row>
-<entry>0x54 instance_of</entry>
-<entry>Partially Implemented</entry>
-</row>
-<row>
-<entry>0x2A Throw</entry>
-<entry>Unimplemented</entry>
-</row>
-<row>
-<entry>0x2C Implements</entry>
-<entry>Unimplemented</entry>
-</row>
-<row>
-<entry>0x8F Try</entry>
-<entry>Unimplemented</entry>
-</row>
-<row>
-<entry>0x31 md length</entry>
-<entry>Unimplemented</entry>
-</row>
-<row>
-<entry>0x35 md substring</entry>
-<entry>Unimplemented</entry>
-</row>
-<row>
-<entry>0x37 md chr</entry>
-<entry>Unimplemented</entry>
-</row>
-<row>
-<entry>0x45 get target</entry>
-<entry>Unimplemented</entry>
-</row>
-</tbody>
-</tgroup>
-</table>
-
-</sect1>
-
-<sect1 id="spec-memory">
-<title>Memory Management</title>
-
-<para>
-One of the new features of &app; &appversion; is the garbage collector. The
garbage collector manages complex &AS; variables, which are the only ones that
are shared by references. In &app;, these are <command>as_object</command>
class instances created by &AS; (i.e. not those created by playhead control:
<command>placeobject</command>/<command>removeobject</command>).
-</para>
-
-<para>
-Collected objects are those allocated due to &AS; explicit or implicit calls.
Explicit all are any user-defined statements that allocate new objects, such as
arrays, Objects, or script-created movieclips. Implicit calls are the built-in
functions that can be deleted by arbitrary user calls.
-</para>
-
-<para>
-Any object that is a candidate for garbage collecting is stored in a list
owned by the collector. This list is filled by an executing action context
whenever a collectible object is allocated on the heap.
-</para>
-
-<para>
-The garbage collector starts at the very end of an execution context, rather
than using a threshold to trigger it. At this point, the virtual machine is in
a "stable" state; any still-reachable object has its roots in one of the
currently live character instances (stage characters).
-</para>
-
-<para>
-The collector is a conservative collector. Any object on the collectibles
list is marked as <guilabel>UNREACHABLE</guilabel>, an iterative scan starting
from the roots marks any still-reachable object, and a final purge releases all
still-<guilabel>UNREACHABLE</guilabel> resources.
-</para>
-
-<para>
-This garbage collector has reduced the memory footprint of &app;. However,
the most current, available test data indicated the following runtime memory
footprint:
-</para>
-
-<table frame='all'>
-<title>Memory Footprint</title>
-<tgroup cols='4' align='left' colsep='1' rowsep='1'>
-<colspec colname='Render GUI' />
-<colspec colname='Virtual Memory' />
-<colspec colname='Resident Set Size (physical RAM' />
-<colspec colname='Shared Memory (code size)' />
-<thead>
-<row>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>0x43 declare_obj</entry>
+ <entry>Implemented</entry>
+ </row>
+ <row>
+ <entry>0x2B cast</entry>
+ <entry>Implemented</entry>
+ </row>
+ <row>
+ <entry>0x3B delete2 - SWF::ACTION_DELETE</entry>
+ <entry>Implemented</entry>
+ </row>
+ <row>
+ <entry>0x53 new_method</entry>
+ <entry>Implemented</entry>
+ </row>
+ <row>
+ <entry>0x55 enum_object</entry>
+ <entry>Implemented</entry>
+ </row>
+ <row>
+ <entry>0x3A delete - SWF::ACTION_DELETEVAR</entry>
+ <entry>Implemented</entry>
+ </row>
+ <row>
+ <entry>0x69 Extends - SWF::ACTION_EXTENDS</entry>
+ <entry>Implemented</entry>
+ </row>
+ <row>
+ <entry>0x54 instance_of</entry>
+ <entry>Partially Implemented</entry>
+ </row>
+ <row>
+ <entry>0x2A Throw</entry>
+ <entry>Unimplemented</entry>
+ </row>
+ <row>
+ <entry>0x2C Implements</entry>
+ <entry>Unimplemented</entry>
+ </row>
+ <row>
+ <entry>0x8F Try</entry>
+ <entry>Unimplemented</entry>
+ </row>
+ <row>
+ <entry>0x31 md length</entry>
+ <entry>Unimplemented</entry>
+ </row>
+ <row>
+ <entry>0x35 md substring</entry>
+ <entry>Unimplemented</entry>
+ </row>
+ <row>
+ <entry>0x37 md chr</entry>
+ <entry>Unimplemented</entry>
+ </row>
+ <row>
+ <entry>0x45 get target</entry>
+ <entry>Unimplemented</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ </sect1>
+
+ <sect1 id="spec-memory">
+ <title>Memory Management</title>
+
+ <para>
+ One of the new features of &app; &appversion; is the garbage
+ collector. The garbage collector manages complex &AS; variables,
+ which are the only ones that are shared by references. In &app;,
+ these are <command>as_object</command> class instances created by &AS;
+ (i.e. not those created by playhead control:
+ <command>placeobject</command>/<command>removeobject</command>).
+ </para>
+
+ <para>
+ Collected objects are those allocated due to &AS; explicit or implicit
+ calls. Explicit all are any user-defined statements that allocate new
+ objects, such as arrays, Objects, or script-created movieclips.
+ Implicit calls are the built-in functions that can be deleted by
+ arbitrary user calls.
+ </para>
+
+ <para>
+ Any object that is a candidate for garbage collecting is stored in a
+ list owned by the collector. This list is filled by an executing
+ action context whenever a collectible object is allocated on the
+ heap.
+ </para>
+
+ <para>
+ The garbage collector starts at the very end of an execution context,
+ rather than using a threshold to trigger it. At this point, the
+ virtual machine is in a "stable" state; any still-reachable object has
+ its roots in one of the currently live character instances (stage
+ characters).
+ </para>
+
+ <para>
+ The collector is a conservative collector. Any object on the
+ collectibles list is marked as <guilabel>UNREACHABLE</guilabel>, an
+ iterative scan starting from the roots marks any still-reachable
+ object, and a final purge releases all
+ still-<guilabel>UNREACHABLE</guilabel> resources.
+ </para>
+
+ <para>
+ This garbage collector has reduced the memory footprint of &app;.
+ However, the most current, available test data indicated the following
+ runtime memory footprint:
+ </para>
+
+ <!--
+ <table frame='all'>
+ <title>Memory Footprint</title>
+ <tgroup cols='4' align='left' colsep='1' rowsep='1'>
+ <colspec colname='Render GUI' />
+ <colspec colname='Virtual Memory' />
+ <colspec colname='Resident Set Size (physical RAM' />
+ <colspec colname='Shared Memory (code size)' />
+ <thead>
+ <row>
<entry>Render GUI</entry>
<entry>Virtual Memory</entry>
<entry>Resident Set Size (physical RAM</entry>
<entry>Shared Memory (code size)</entry>
-</row>
-</thead>
-<tbody>
-<row>
+ </row>
+ </thead>
+ <tbody>
+ <row>
<entry>agg-gtk</entry>
<entry>33372 KB</entry>
<entry>14 MB</entry>
<entry>8948 KB</entry>
-</row>
-<row>
+ </row>
+ <row>
<entry>agg-sdl</entry>
<entry>26564 KB</entry>
<entry>9396 KB</entry>
<entry>5124 KB</entry>
-</row>
-<row>
+ </row>
+ <row>
<entry>agg-fltk</entry>
<entry>24556 KB</entry>
<entry>8992 KB</entry>
<entry>4220 KB</entry>
-</row>
-<row>
+ </row>
+ <row>
<entry>cairo-fltk</entry>
<entry>184 MB</entry>
<entry>128 MB</entry>
<entry>4284 KB</entry>
-</row>
-<row>
+ </row>
+ <row>
<entry>cairo-gtk</entry>
<entry>192 MB</entry>
<entry>133 MB</entry>
<entry>8000 KB</entry>
-</row>
-<row>
+ </row>
+ <row>
<entry>cairo-sdl</entry>
<entry>187 MB</entry>
<entry>129 MB </entry>
<entry>5256 KB</entry>
-</row>
-<row>
+ </row>
+ <row>
<entry>opengl-gtk </entry>
<entry>62620 KB</entry>
<entry>15 MB</entry>
<entry>9336 KB</entry>
-</row>
-<row>
+ </row>
+ <row>
<entry>opengl-sdl </entry>
<entry>54932 KB</entry>
<entry>10 MB</entry>
<entry>5324 KB</entry>
-</row>
-</tbody>
-</tgroup>
-</table>
-
-</sect1>
-
-<sect1 id="spec-security">
-<title>Security</title>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ -->
+
+ </sect1>
+
+ <sect1 id="spec-security">
+ <title>Security</title>
+
+ <para>
+ Many Flash implementations contain potential security exploits that
+ could compromise a viewer's system. With &app;, an end-user has the
+ ability to see "what's going on" — what types of data the
+ application accesses, where it is found, and how it is used. Many
+ known Flash exploits are included in the &app; test suite that is
+ used to check whether a release is ready for the public. The &app;
+ developers are also in the process of a security review, developing a
+ security layer that will protect an end-user, no matter what operating
+ system they use.
+ </para>
+
+ <para>
+ One early security feature is the blacklist/whitelist. Flash movies
+ running in a browser can make outgoing network connections. This can
+ be used, for example, to compromise a network device inside a
+ company firewall via a Flash movie running on an employee's
+ browser. &app; allows you to blacklist hosts that you know are
+ insecure, or to whitelist hosts you know are secure, by editing a
+ configuration file.
+ </para>
+
+ <sect2 id="lso">
+ <title>Local Shared Objects</title>
+
+ <para>
+ SWF movies support a form of persistant storage called Local
+ Shared Objects. These are stored in the subdirectories of one's
+ <emphasis>~/.macromedia</emphasis> configuration. These files
+ are comonly called "Flash Cookies", as they don't get
+ deleted when the SWF movie that created or writes data to them
+ stops executing. These files often store things like game
+ scores.
+ </para>
+
+ <para>
+ Till recently, what was contained in these files wasn't widely
+ known. There are several LSO file utilities floating around on
+ the Web. Gnash has it's own <emphasis>soldumper</emphasis>
+ program that lets one find and dump the contents of these
+ files. As of yet, I haven't discovered any nasty privacy issues
+ yet, but as Gnash's SharedObject support is new, I may have just
+ been lucky.
+ </para>
+
+ <para>
+ An LSO file uses a <emphasis>.sol</emphasis>suffix, and is
+ stored in binary, big endian format. While one can look at the
+ data in any binary editor or hex dumper, it's easier to use
+ soldumper, which knows how to decode all the objects. The data
+ is stored in AMF format, a simple data interhange formats used
+ in several other places in SWF.
+ </para>
+
+ <para>
+ The one security setting Gnash supports is the
+ <emphasis>SOLReadOnly</emphasis> setting for your $HOME/.gnashrc
+ file. This makes Gnash never write to a .sol file, it only reads
+ them. You can also set <emphasis>SOLSafeDir</emphasis> to a safe
+ subdirectory,or even remove it later, although most people
+ willwant to set this path to the default one created bythe other
+ SWF player.
+ </para>
+
+ </sect2>
+
+ <sect2 id="lc">
+ <title>Local Connections</title>
+
+ <para>
+ SWF movies support a form of data interchange between running
+ SWF movies called LocalConnection. This uses a shared memory
+ segment to exchange AMF objects. While the specification claim
+ an application has to register as a Listener, it turns out in
+ reality this isn't required. Even YouTube violates this
+ requirement. While one would think that data written to this
+ memory segment would go away when the SWF movies are done
+ playing, but they are persistant, and on some systems, the data
+ even survives a reboot. Thank you Solaris...
+ </para>
+
+ <para>
+ The Gnash utility <emphasis>dumpshm</emphasis> can be used to do
+ several things with these shared memory segments. This utility
+ can find the shared memory segment left by using other SWF
+ players to see what has been left. it can then dump the contents
+ of the shared mempory segment either by decoding the AMF objects
+ and printing the values, or by dumping the raw file to disk
+ where you can analysze it with any other program you wish. If
+ you run dumpshm repeatedly, you can even do a crude packet
+ sniffing between two SWF movies playing.
+ </para>
+
+ <para>
+ The only current security related option for this is
+ <emphasis>LocalConnection</emphasis>. This just disables all
+ communication with other SWF movies. Work is in progress on
+ adding a tracing ability to Gnash.
+ </para>
-<para>
-Many Flash implementations contain potential security exploits that could
compromise a viewer's system. With &app;, an end-user has the ability to see
"what's going on" — what types of data the application accesses, where it
is found, and how it is used. Many known Flash exploits are included in the
&app; test suite that is used to check whether a release is ready for the
public. The &app; developers are also in the process of a security review,
developing a security layer that will protect an end-user, no matter what
operating system they use.
-</para>
-
-<para>
-One early security feature is the blacklist/whitelist. Flash movies running
in a browser can make outgoing network connections. This can be used, for
example, to compromise a network device inside a company firewall via a Flash
movie running on an employee's browser. &app; allows you to blacklist hosts
that you know are insecure, or to whitelist hosts you know are secure, by
editing a configuration file.
-</para>
+ </sect2>
</sect1>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash/doc/C/usermanual bugreport.xml installati...,
Rob Savoye <=