<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="index" title="Text File" newcontext="true">
<p>
Received: with ECARTIS (v1.0.0; list gopher);
 Mon, 21 Oct 2002 19:37:07 -0500 (EST)
Return-Path: &lt;hardburn@runbox.com&gt;
Delivered-To: gopher@complete.org
Received: from aibo.runbox.com (aibo.runbox.com [193.71.199.94])
	(using TLSv1 with cipher EDH-RSA-DES-CBC3-SHA (168/168 bits))
	(Client did not present a certificate)
	by gesundheit.complete.org (Postfix) with ESMTP id 5913561BA5
	for &lt;gopher@complete.org&gt;; Mon, 21 Oct 2002 19:37:06 -0500 (EST)
Received: from [10.9.9.1] (helo=pluto.runbox.com)
	by tramp.runbox.com with esmtp (Exim 4.05-VA-mm1)
	id 183n2e-0004H7-00
	for gopher@complete.org; Tue, 22 Oct 2002 02:37:04 +0200
Received: from [204.71.148.90] (helo=enterprise)
	(Authenticated Sender=hardburn)
	by pluto.runbox.com with asmtp (Exim 3.35 #1)
	id 183n2M-0004Lq-00
	for gopher@complete.org; Tue, 22 Oct 2002 02:36:46 +0200
Content-type: text/plain; charset=us-ascii
From: Timm Murray &lt;hardburn@runbox.com&gt;
To: gopher@complete.org
Subject: [gopher] Gopher+ Uploading
Date: Mon, 21 Oct 2002 18:56:25 -0500
X-Mailer: KMail [version 1.4]
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Message-Id: &lt;200210211856.29450.hardburn@runbox.com&gt;
X-archive-position: 707
X-ecartis-version: Ecartis v1.0.0
Sender: gopher-bounce@complete.org
Errors-to: gopher-bounce@complete.org
X-original-sender: hardburn@runbox.com
Precedence: bulk
Reply-to: gopher@complete.org
List-help: &lt;mailto:ecartis@complete.org?Subject=help&gt;
List-unsubscribe: &lt;mailto:gopher-request@complete.org?Subject=unsubscribe&gt;
List-software: Ecartis version 1.0.0
List-ID: Gopher &lt;gopher.complete.org&gt;
X-List-ID: Gopher &lt;gopher.complete.org&gt;
List-subscribe: &lt;mailto:gopher-request@complete.org?Subject=subscribe&gt;
List-owner: &lt;mailto:jgoerzen@complete.org&gt;
List-post: &lt;mailto:gopher@complete.org&gt;
List-archive: &lt;http://www.complete.org/mailinglists/archives/&gt;
X-list: gopher
</p>
<p></p>
<p>-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
</p>
<p>Here&#x27;s the start of a standard on uploading using Gopher+.  Unlike the
authentication proposal, this one actually uses +ASK in a compatible way.
</p>
<p></p>
<p>Gopher+ Uploading
</p>
<p>By Timm Murray
</p>
<p>This document describes a means of uploading files to a Gopher server using
Gopher+
attributes.
</p>
<p>In breaking with Gopher tradition, this document uses &#x27;\t&#x27; to denote a
tab, &#x27;\r&#x27; to denote a cariage return, and &#x27;\n&#x27; to denote a newline.
&#x27;C:&#x27; is a line of text sent by the client, and &#x27;S: is a line sent by the
server.
</p>
<p></p>
<p>MENU SELECTOR
</p>
<p>&#x27;u&#x27; is defined as being the item type indicating an upload selector.  It is
recommended
that any upload fields use Gopher+ Authentication before allowing an upload.
</p>
<p>Example:
</p>
<p>uUpload a file\t/incoming\thost\tport\t*\r\n
</p>
<p>Clients should expect to go through the +ASK exchange for the upload even if
a &#x27;?&#x27; is not present in the Gopher+ section.
</p>
<p></p>
<p>PREFORMING THE UPLOAD
</p>
<p>After the optional authentication exchange, the client sends meta information
about
the file being uploaded.  The following exchange takes place:
</p>
<p>C: [selector string] \r\n
S: +ASK \r\n
S: Ask: Size of file (bytes)? \r\n
S: Ask: Selector string to put under? \r\n
S: AskF: File to send \r\n
S: AskL: Additional information \r\n
C: &lt;size of file, in bytes&gt; \r\n
C: &lt;description&gt; \r\n
C: &lt;selector string&gt; \r\n
C: &lt;filename&gt; \r\n
C: &lt;additional info&gt; \r\n
C: &lt;the file itself&gt;
</p>
<p>In keeping with Gopher+, a size of -1 means &quot;read data until a period on a
line
by itself&quot;.  A size of -2 means &quot;read data until I close the connection&quot; (this
meathod is strongly discouraged).  Any size of &gt;= 0 means &quot;read this many
bytes,
then close the connection&quot;.
</p>
<p>The &quot;description&quot; sent MAY be used by servers for the &#x27;user&#x27; field in menu
entries.
Clients SHOULD keep this under 70 characters, in keeping with Gopher tradition
for
&#x27;user&#x27; fields.  It MUST NOT contain any tab characters.
</p>
<p>The &quot;selector string&quot; sent for the file MAY be ignored by servers.  It is used
only as a
guide for servers that choose to use it.
</p>
<p>The filename sent MUST be ignored by servers.  The &quot;AskF&quot; statement mearly
provides the
client with a chance to open a file dialog box so the user can choose the file
to send
(or however else the client wishes to handle it).  Clients MAY send an empty
string
for the filename.
</p>
<p>[&quot;Additional info&quot; section]
</p>
<p></p>
<p>-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.4 (GNU/Linux)
Comment: For info see http://www.gnupg.org
</p>
<p>iEYEARECAAYFAj20lCsACgkQqpueKcacfLTdagCguRtsvcY2WK1oN9qPuZP1peWe
8K4AoImav/1PR8igsulTeTPiy/g/cV7A
=LgIu
-----END PGP SIGNATURE-----
</p>
<p></p>
</card>
</wml>
