<feed xmlns='http://www.w3.org/2005/Atom'>
<title>scrott/app/df.php, branch v0.2</title>
<subtitle>The Secure Centralized Robust Online Ticketing Tool</subtitle>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/scrott/'/>
<entry>
<title>df:  Address class cyclic require loop</title>
<updated>2018-09-26T20:16:32+00:00</updated>
<author>
<name>Malf Furious</name>
<email>m@lfurio.us</email>
</author>
<published>2018-09-26T20:16:32+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/scrott/commit/?id=1f36f47e968f2249502f7649594f88500209c6e3'/>
<id>1f36f47e968f2249502f7649594f88500209c6e3</id>
<content type='text'>
A dependency loop exists between class/agent.class.php and
class/group.class.php.  Due to specific `require_once` ordering within
the app, this problem was not surfaced until now.

These two classes depend on eachother, but strictly speaking, the
interpreter needs to read the agent class first.  This is because group
directly inherits from agent.  It is only one of agent's functions which
references group.  Group has a `require_once "class/agent.class.php"` at
its top, so requiring group first will read both classes, in the correct
order, and provide their definition's for the remainder of the runtime.

The main entry-point, index.php, did not have this problem since it was
explicitly requiring group itself (it actually needs group, though).
The df.php entry-point wasn't and was relying on requires in the class/
directory to resolve this issue.  In a more-sane language, I could patch
this more easily directly in the affected file; rather, this patch
updates the df entry-point to explicitly require group, solving the
issue up front.

Hopefully this can be fleshed out in the future as it should not consern
the entry-points that this specific evaluation order needs to take
place.

The third and final entry-point, cron.php, is already fine at the time
of this commit.  Its require tree is much simplier, and does not even
include either of the affected classes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A dependency loop exists between class/agent.class.php and
class/group.class.php.  Due to specific `require_once` ordering within
the app, this problem was not surfaced until now.

These two classes depend on eachother, but strictly speaking, the
interpreter needs to read the agent class first.  This is because group
directly inherits from agent.  It is only one of agent's functions which
references group.  Group has a `require_once "class/agent.class.php"` at
its top, so requiring group first will read both classes, in the correct
order, and provide their definition's for the remainder of the runtime.

The main entry-point, index.php, did not have this problem since it was
explicitly requiring group itself (it actually needs group, though).
The df.php entry-point wasn't and was relying on requires in the class/
directory to resolve this issue.  In a more-sane language, I could patch
this more easily directly in the affected file; rather, this patch
updates the df entry-point to explicitly require group, solving the
issue up front.

Hopefully this can be fleshed out in the future as it should not consern
the entry-points that this specific evaluation order needs to take
place.

The third and final entry-point, cron.php, is already fine at the time
of this commit.  Its require tree is much simplier, and does not even
include either of the affected classes.
</pre>
</div>
</content>
</entry>
<entry>
<title>Update df script to use renamed obj class</title>
<updated>2018-02-08T03:37:26+00:00</updated>
<author>
<name>Malf Furious</name>
<email>m@lfurio.us</email>
</author>
<published>2018-02-08T03:37:26+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/scrott/commit/?id=0bae6d4063c82c6522e3a5887bc25a2162504b69'/>
<id>0bae6d4063c82c6522e3a5887bc25a2162504b69</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix bug in function serveResource()</title>
<updated>2017-06-04T22:03:16+00:00</updated>
<author>
<name>Malf Furious</name>
<email>m@lfurio.us</email>
</author>
<published>2017-06-04T22:03:16+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/scrott/commit/?id=d52b67bbc212f85cc6e80e107029bda4d4445b94'/>
<id>d52b67bbc212f85cc6e80e107029bda4d4445b94</id>
<content type='text'>
It is necessary to use double-quotes in the Content-Disposition header.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It is necessary to use double-quotes in the Content-Disposition header.
</pre>
</div>
</content>
</entry>
<entry>
<title>Update df script to support message attachments</title>
<updated>2017-06-04T18:59:25+00:00</updated>
<author>
<name>Malf Furious</name>
<email>m@lfurio.us</email>
</author>
<published>2017-06-04T18:59:25+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/scrott/commit/?id=f43bd09b8287e3876b5a7396e6bb263c35e3972a'/>
<id>f43bd09b8287e3876b5a7396e6bb263c35e3972a</id>
<content type='text'>
Now, if a mesg guid is requested under attach/, the attachment file is
served and offers the browser the content-disposition for that file.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now, if a mesg guid is requested under attach/, the attachment file is
served and offers the browser the content-disposition for that file.
</pre>
</div>
</content>
</entry>
<entry>
<title>Update df function serveResource()</title>
<updated>2017-06-04T18:45:23+00:00</updated>
<author>
<name>Malf Furious</name>
<email>m@lfurio.us</email>
</author>
<published>2017-06-04T18:45:23+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/scrott/commit/?id=138348bbd1318a3bc2ee5112eee44d385b21751e'/>
<id>138348bbd1318a3bc2ee5112eee44d385b21751e</id>
<content type='text'>
Added optional parameter for resource's filename.  If given, a
Content-Disposition header will be delivered to the client.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Added optional parameter for resource's filename.  If given, a
Content-Disposition header will be delivered to the client.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add dynamic file proxy script</title>
<updated>2017-04-20T05:45:06+00:00</updated>
<author>
<name>Malf Furious</name>
<email>m@lfurio.us</email>
</author>
<published>2017-04-20T05:45:06+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/scrott/commit/?id=d7442e00b8ee277938adaca3b83f814e0d67b432'/>
<id>d7442e00b8ee277938adaca3b83f814e0d67b432</id>
<content type='text'>
Entry point df.php, meaning dynamic file or direct file, added as a
means of serving user-supplied content while enforcing access-controls
in PHP.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Entry point df.php, meaning dynamic file or direct file, added as a
means of serving user-supplied content while enforcing access-controls
in PHP.
</pre>
</div>
</content>
</entry>
</feed>
