0
|
1 <reference>
|
|
2 <title>@PACKAGE@ - Version @VERSION@</title>
|
|
3 <partintro>
|
|
4 <title>Packages</title>
|
|
5
|
|
6 <para>
|
|
7 The various source and binary packages are available at <ulink
|
|
8 url="http://www.five-ten-sg.com/@PACKAGE@/packages/">http://www.five-ten-sg.com/@PACKAGE@/packages/</ulink>.
|
|
9 The most recent documentation is available at <ulink
|
|
10 url="http://www.five-ten-sg.com/@PACKAGE@/">http://www.five-ten-sg.com/@PACKAGE@/</ulink>.
|
|
11 </para>
|
|
12
|
|
13 <para>
|
|
14 A <ulink url="http://www.selenic.com/mercurial/wiki/">Mercurial</ulink> source
|
|
15 code repository for this project is available at <ulink
|
|
16 url="http://hg.five-ten-sg.com/@PACKAGE@/">http://hg.five-ten-sg.com/@PACKAGE@/</ulink>.
|
|
17 </para>
|
|
18
|
|
19 <para>
|
|
20 A companion terminal monitor project is available at <ulink
|
|
21 url="http://www.five-ten-sg.com/510ConnectbotMonitor">http://www.five-ten-sg.com/510ConnectbotMonitor</ulink>
|
|
22 </para>
|
|
23 </partintro>
|
|
24
|
|
25 <refentry id="x@PACKAGE@.1">
|
|
26 <refentryinfo>
|
225
|
27 <date>2014-07-08</date>
|
0
|
28 <author>
|
|
29 <firstname>Carl</firstname>
|
|
30 <surname>Byington</surname>
|
|
31 <affiliation><orgname>510 Software Group</orgname></affiliation>
|
|
32 </author>
|
|
33 </refentryinfo>
|
|
34
|
|
35 <refmeta>
|
|
36 <refentrytitle>@PACKAGE@</refentrytitle>
|
|
37 <manvolnum>1</manvolnum>
|
|
38 <refmiscinfo>@PACKAGE@ @VERSION@</refmiscinfo>
|
|
39 </refmeta>
|
|
40
|
|
41 <refnamediv id='name.1'>
|
|
42 <refname>@PACKAGE@</refname>
|
73
accf93be8c12
update documentation; use xterm-256color as default terminal type
Carl Byington <carl@five-ten-sg.com>
diff
changeset
|
43 <refpurpose>an android vt320/tn5250 terminal emulator for telnet/ssh connections</refpurpose>
|
0
|
44 </refnamediv>
|
|
45
|
|
46 <refsect1 id='build.1'>
|
|
47 <title>Build method</title>
|
|
48 <para>
|
|
49 This is an android project with native code, so
|
|
50 "ndk-build clean; ndk-build; android update project -p . -t android-16; ant debug"
|
|
51 should build cleanly.
|
|
52 </para>
|
|
53 </refsect1>
|
|
54
|
|
55 <refsect1 id='introduction.1'>
|
|
56 <title>Introduction</title>
|
|
57 <para>
|
|
58 I belive that the previous connectbot projects are improperly licensed.
|
|
59 They contain a mix of Apache 2.0 and GPLv2+ code, and those two licenses
|
|
60 are incompatible. I have relicensed this as GPLv3+, since that is
|
|
61 compatible with the licenses of all the sub-parts.
|
|
62 </para>
|
|
63 <para>
|
73
accf93be8c12
update documentation; use xterm-256color as default terminal type
Carl Byington <carl@five-ten-sg.com>
diff
changeset
|
64 This fork extends previous connectbot projects in two ways. It includes
|
accf93be8c12
update documentation; use xterm-256color as default terminal type
Carl Byington <carl@five-ten-sg.com>
diff
changeset
|
65 tn5250 terminal emulation, in addition to the previous vt320 terminal
|
accf93be8c12
update documentation; use xterm-256color as default terminal type
Carl Byington <carl@five-ten-sg.com>
diff
changeset
|
66 emulation. It also contains hooks for a separate monitoring process
|
accf93be8c12
update documentation; use xterm-256color as default terminal type
Carl Byington <carl@five-ten-sg.com>
diff
changeset
|
67 that has access to some of the internal operations in this emulator.
|
0
|
68 </para>
|
|
69 </refsect1>
|
|
70
|
220
|
71 <refsect1 id='changes.1'>
|
|
72 <title>Changes from previous Connectbots</title>
|
|
73 <itemizedlist>
|
221
|
74 <listitem><para>
|
225
|
75 The soft function keypad now has better labels, and can generate
|
|
76 all 24 function keys for 5250 emulation. A hardware button can
|
|
77 be configured to display that function keypad.
|
221
|
78 </para></listitem>
|
220
|
79
|
221
|
80 <listitem><para>
|
220
|
81 A deployment.connections text file is read (and deleted) on
|
|
82 startup. This may be used to preconfigure the global options
|
|
83 and to create an initial set of host connections.
|
221
|
84 </para></listitem>
|
220
|
85
|
221
|
86 <listitem><para>
|
220
|
87 The font sizes are now kept with one decimal point, and font
|
|
88 size changes are done by scaling by a constant factor of 1.1,
|
|
89 rather than the linear additive 2 point factor.
|
221
|
90 </para></listitem>
|
220
|
91 </itemizedlist>
|
|
92 </refsect1>
|
|
93
|
0
|
94 <refsect1 id='monitor.1'>
|
|
95 <title>Terminal Monitor</title>
|
|
96 <para>
|
73
accf93be8c12
update documentation; use xterm-256color as default terminal type
Carl Byington <carl@five-ten-sg.com>
diff
changeset
|
97 For every terminal session (local, telnet, ssh or tn5250), this
|
0
|
98 terminal emulator also makes a connection to a terminal monitor
|
150
|
99 process, which can see cursor movement and screen contents, and can
|
0
|
100 inject characters to send to the host.
|
|
101 </para>
|
|
102
|
|
103 <para>
|
|
104 The terminal monitor is invoked by calling an android Intent
|
|
105 named "com.five_ten_sg.connectbot.monitor.MonitorService". That
|
|
106 ensures that the monitor process is running, and should then
|
|
107 be listening on TCP port 6000 for incoming connections. The terminal
|
|
108 emulator then connects to the terminal monitor on port 6000.
|
|
109 The native android Intent and Service communication mechanisms
|
|
110 are not used.
|
|
111 </para>
|
|
112
|
|
113 <para>
|
|
114 The messages exchanged between the terminal emulator and the
|
|
115 terminal monitor are arrays of uint16 values in network byte
|
|
116 order. Each message starts with a uint16 message byte length,
|
|
117 followed by that many bytes of data. Note that the message length
|
|
118 will always be even. The next uint16 contains the message
|
|
119 command value, and the remaining uint16 values are the arguments
|
|
120 if any for that command.
|
|
121 </para>
|
|
122
|
|
123 <para>
|
|
124 Any arguments that are keystrokes or characters are represented
|
|
125 as 16 bit unicode. Note that the first 256 such characters are
|
|
126 identical to the ISO-8859-1 latin character set.
|
|
127 </para>
|
|
128
|
|
129 <para>
|
|
130 INIT = 0 (TE -> Monitor). The argument is a string of uint16
|
|
131 characters. The meaning of these characters is defined by the
|
|
132 monitor. It might be a fully qualified path name, or some other
|
|
133 data used by the monitor to drive the monitoring of this
|
|
134 connection.
|
|
135 </para>
|
|
136
|
|
137 <para>
|
|
138 ACTIVATE = 1 (TE -> Monitor). The first argument is the
|
|
139 number of lines. The second argument is the number of columns.
|
|
140 That is followed by lines*columns uint16 character codes.
|
|
141 This connection is now the active connection. It is the
|
|
142 topmost (or only) window visible to the user - typed keystrokes
|
|
143 will be sent to the host on the other end of this connection.
|
|
144 </para>
|
|
145
|
|
146 <para>
|
147
|
147 KEYSTATE = 2 (TE -> Monitor). The argument is a single uint16
|
|
148 value, 1 for key down, 0 for key up. The TE tracks a single special
|
|
149 key for the monitor, and reports key up/down state when it changes.
|
|
150 The actual key is configurable.
|
0
|
151 </para>
|
|
152
|
|
153 <para>
|
|
154 CURSORMOVE = 3 (TE -> Monitor).
|
229
|
155 The first argument is the line number (0..23),
|
|
156 the second argument is the column number (0..79), and the third
|
|
157 argument is the reason for sending this cursor update. REASON=0 is
|
|
158 from a previous CURSORREQUEST command. REASON=1 is a cursor update
|
|
159 related to the previous SCREENCHANGE buffer update. REASON=2 is
|
|
160 a cursor update caused by user keystrokes.
|
0
|
161 </para>
|
|
162
|
|
163 <para>
|
|
164 SCREENCHANGE = 4 (TE -> Monitor). The first argument is the
|
|
165 number of lines. The second argument is the number of columns.
|
|
166 That is followed by lines*columns uint16 character codes.
|
|
167 </para>
|
|
168
|
|
169 <para>
|
|
170 FIELDVALUE = 5 (TE -> Monitor).
|
|
171 SETFIELD = 5 (Monitor -> TE).
|
|
172 The first argument is the line number (0..23)
|
|
173 and the second argument is the column number (0..79).
|
|
174 That is followed by the field value, a sequence of uint16
|
|
175 character codes from the screen buffer. The field
|
|
176 covers N columns, where N = (message length - 4) / 2.
|
|
177 When sent from the monitor to the emulator, this causes
|
|
178 the emulator to send the field codes to the host. This is
|
|
179 also used as the reply message from the emulator to the
|
|
180 monitor for a previous GETFIELD from the monitor.
|
|
181 </para>
|
|
182
|
|
183 <para>
|
|
184 GETFIELD = 6 (Monitor -> TE).
|
|
185 The first argument is the line number (0..23)
|
|
186 and the second argument is the starting column number (0..79),
|
|
187 and the third argument is the field length in columns.
|
|
188 This command causes the emulator to send a FIELDVALUE message
|
|
189 back to the monitor.
|
|
190 </para>
|
|
191
|
|
192 <para>
|
|
193 SCREENWATCH = 7 (Monitor -> TE).
|
|
194 The first argument is the line number (0..23)
|
|
195 and the second argument is the starting column number (0..79),
|
|
196 and the third argument is the field length in columns.
|
|
197 This command causes the emulator to watch the specified
|
|
198 part of the screen for changes. When that part of the screen
|
|
199 changes, the emulator will send a SCREENCHANGE message back
|
|
200 to the monitor.
|
|
201 </para>
|
|
202
|
|
203 <para>
|
|
204 DEPRESS = 8 (Monitor -> TE). The argument is a single uint16
|
|
205 value containing the vk_key value. This command causes the emulator
|
|
206 to simulate a keypress for that key. The codes are defined
|
160
|
207 <ulink url="http://msdn.microsoft.com/en-us/library/windows/desktop/dd375731">here</ulink>.
|
|
208 </para>
|
|
209
|
|
210 <para>
|
|
211 SHOWURL = 9 (Monitor -> TE). The single argument is a sequence
|
|
212 of uint16 character codes forming a URL to be displayed.
|
0
|
213 </para>
|
206
|
214
|
|
215 <para>
|
|
216 SWITCHSESSION = 10 (Monitor -> TE). There are no arguments. The TE
|
|
217 should display this session.
|
|
218 </para>
|
|
219
|
|
220 <para>
|
|
221 CURSORREQUEST = 11 (Monitor -> TE). There are no arguments. The TE
|
|
222 should send a CURSORMOVE update to the monitor. Cursor movement caused
|
|
223 by SETFIELD or DEPRESS commands does not trigger CURSORMOVE updates
|
|
224 in block mode (tn5250) sessions. Those commands do trigger CURSORMOVE
|
|
225 updates in async mode (telnet, ssh) sessions.
|
|
226 </para>
|
0
|
227 </refsect1>
|
|
228
|
|
229 <refsect1 id='todo.1'>
|
|
230 <title>TODO</title>
|
|
231 <para>
|
73
accf93be8c12
update documentation; use xterm-256color as default terminal type
Carl Byington <carl@five-ten-sg.com>
diff
changeset
|
232 The tn5250 ssl/tls key storage should use the same storage mechanism
|
accf93be8c12
update documentation; use xterm-256color as default terminal type
Carl Byington <carl@five-ten-sg.com>
diff
changeset
|
233 as the base ssh key storage.
|
0
|
234 </para>
|
|
235 </refsect1>
|
|
236
|
|
237 <refsect1 id='copyright.1'>
|
|
238 <title>Copyright</title>
|
|
239 <para>
|
|
240 Copyright (C) 2014 by 510 Software Group <carl@five-ten-sg.com>
|
|
241 </para>
|
|
242 <para>
|
|
243 This program is free software; you can redistribute it and/or modify it
|
|
244 under the terms of the GNU General Public License as published by the
|
|
245 Free Software Foundation; either version 3, or (at your option) any
|
|
246 later version.
|
|
247 </para>
|
|
248 <para>
|
|
249 You should have received a copy of the GNU General Public License along
|
|
250 with this program; see the file COPYING. If not, please write to the
|
|
251 Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
252 </para>
|
|
253 </refsect1>
|
|
254
|
|
255 <refsect1 id='credits.1'>
|
|
256 <title>Credits</title>
|
|
257 <para>
|
|
258 Based on VX Connectbot provided under the Apache
|
|
259 License, Version 2.0. Copyright (C) 2012 Martin
|
|
260 Matuska http://connectbot.vx.sk
|
|
261 </para>
|
|
262 <para>
|
|
263 Based on Irssiconnectbot provided under the Apache
|
|
264 License, Version 2.0. Copyright (C) 2013
|
|
265 Iiro Uusitalo and Ville Kerminen
|
|
266 https://github.com/irssiconnectbot/irssiconnectbot
|
|
267 </para>
|
|
268 <para>
|
|
269 Based on ConnectBot provided under the Apache License,
|
|
270 Version 2.0. Copyright (C) 2007-2008 Kenny Root
|
|
271 http://the-b.org and Jeffrey Sharkey http://jsharkey.org
|
|
272 </para>
|
|
273 <para>
|
|
274 Based on the Trilead SSH2 client provided
|
|
275 under a BSD-style license. Copyright (C) 2007 Trilead
|
|
276 AG. http://www.trilead.com
|
|
277 </para>
|
|
278 <para>
|
|
279 Based on JTA Telnet/SSH client provided under the
|
|
280 GPLv2 license. Copyright (C) 1996-2005 Matthias L. Jugel and
|
|
281 Marcus Meiner. http://www.javassh.org
|
|
282 </para>
|
|
283 <para>
|
73
accf93be8c12
update documentation; use xterm-256color as default terminal type
Carl Byington <carl@five-ten-sg.com>
diff
changeset
|
284 Based on TN5250J terminal emulator provided under the GPLv2
|
accf93be8c12
update documentation; use xterm-256color as default terminal type
Carl Byington <carl@five-ten-sg.com>
diff
changeset
|
285 license. Copyright (C) 2001 Kenneth J. Pouncey.
|
accf93be8c12
update documentation; use xterm-256color as default terminal type
Carl Byington <carl@five-ten-sg.com>
diff
changeset
|
286 http://tn5250j.sourceforge.net/
|
accf93be8c12
update documentation; use xterm-256color as default terminal type
Carl Byington <carl@five-ten-sg.com>
diff
changeset
|
287 </para>
|
accf93be8c12
update documentation; use xterm-256color as default terminal type
Carl Byington <carl@five-ten-sg.com>
diff
changeset
|
288 <para>
|
0
|
289 Includes the JSOCKS library, provided
|
|
290 under the GNU LGPL license. http://jsocks.sourceforge.net
|
|
291 </para>
|
|
292 <para>
|
|
293 Includes JZlib provided under a BSD-style
|
|
294 license. Copyright (C) 2000-2004 JCraft, Inc.
|
|
295 http://www.jcraft.com
|
|
296 </para>
|
|
297 <para>
|
|
298 Includes the ssh-agent service developed by Roberto
|
|
299 Tyley https://github.com/rtyley
|
|
300 </para>
|
|
301 <para>
|
|
302 SCP file transfer support is based on
|
|
303 https://github.com/staktrace/connectbot/commits/filetransfer
|
|
304 modifications by Kartikaya Gupta.
|
|
305 </para>
|
73
accf93be8c12
update documentation; use xterm-256color as default terminal type
Carl Byington <carl@five-ten-sg.com>
diff
changeset
|
306 <para>
|
accf93be8c12
update documentation; use xterm-256color as default terminal type
Carl Byington <carl@five-ten-sg.com>
diff
changeset
|
307 Internal file selection dialog is based on Android File
|
accf93be8c12
update documentation; use xterm-256color as default terminal type
Carl Byington <carl@five-ten-sg.com>
diff
changeset
|
308 Dialog by Alexander Ponomarev, provided under a BSD-style
|
accf93be8c12
update documentation; use xterm-256color as default terminal type
Carl Byington <carl@five-ten-sg.com>
diff
changeset
|
309 license.
|
accf93be8c12
update documentation; use xterm-256color as default terminal type
Carl Byington <carl@five-ten-sg.com>
diff
changeset
|
310 http://code.google.com/p/android-file-dialog
|
accf93be8c12
update documentation; use xterm-256color as default terminal type
Carl Byington <carl@five-ten-sg.com>
diff
changeset
|
311 </para>
|
0
|
312 </refsect1>
|
|
313
|
|
314 <refsect1 id='version.1'>
|
|
315 <title>Version</title>
|
|
316 <para>
|
|
317 @VERSION@
|
|
318 </para>
|
|
319 </refsect1>
|
|
320 </refentry>
|
|
321
|
|
322 </reference>
|