aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ssh
diff options
context:
space:
mode:
authorNiclas Eklund <[email protected]>2011-06-10 13:35:47 +0200
committerIngela Anderton Andin <[email protected]>2012-12-13 12:08:43 +0100
commitc6d03c10d7cd9a4d2d56a6acd471ba623b5a73a4 (patch)
treee12f304bf9e208c75c4a04e576458b8e037f3b83 /lib/ssh
parent6bc9c65ae207ebc2fba03521c2ca3b84264a1dcf (diff)
downloadotp-c6d03c10d7cd9a4d2d56a6acd471ba623b5a73a4.tar.gz
otp-c6d03c10d7cd9a4d2d56a6acd471ba623b5a73a4.tar.bz2
otp-c6d03c10d7cd9a4d2d56a6acd471ba623b5a73a4.zip
ssh: Added User's Guide framework and minor enhancements
Diffstat (limited to 'lib/ssh')
-rw-r--r--lib/ssh/doc/html/SSH_protocols.pngbin0 -> 15381 bytes
-rw-r--r--lib/ssh/doc/src/Makefile15
-rw-r--r--lib/ssh/doc/src/SSH_protocols.pngbin0 -> 15381 bytes
-rw-r--r--lib/ssh/doc/src/book.xml3
-rw-r--r--lib/ssh/doc/src/make.dep19
-rw-r--r--lib/ssh/doc/src/part.xml35
-rw-r--r--lib/ssh/doc/src/ssh.xml2
-rw-r--r--lib/ssh/doc/src/ssh_ug.xml95
-rw-r--r--lib/ssh/src/ssh.erl2
9 files changed, 165 insertions, 6 deletions
diff --git a/lib/ssh/doc/html/SSH_protocols.png b/lib/ssh/doc/html/SSH_protocols.png
new file mode 100644
index 0000000000..145c96c4cd
--- /dev/null
+++ b/lib/ssh/doc/html/SSH_protocols.png
Binary files differ
diff --git a/lib/ssh/doc/src/Makefile b/lib/ssh/doc/src/Makefile
index da99c4ea0f..bf65a2a60c 100644
--- a/lib/ssh/doc/src/Makefile
+++ b/lib/ssh/doc/src/Makefile
@@ -44,14 +44,18 @@ XML_REF3_FILES = \
ssh_sftp.xml \
ssh_sftpd.xml \
-XML_PART_FILES = part_notes.xml
-XML_CHAPTER_FILES = notes.xml
+XML_PART_FILES = part_notes.xml \
+ part.xml
+XML_CHAPTER_FILES = notes.xml \
+ ssh_ug.xml
BOOK_FILES = book.xml
XML_FILES = $(BOOK_FILES) $(XML_APPLICATION_FILES) $(XML_REF3_FILES) \
$(XML_PART_FILES) $(XML_CHAPTER_FILES)
+IMAGE_FILES = SSH_protocols.png
+
# ----------------------------------------------------
HTML_FILES = $(XML_APPLICATION_FILES:%.xml=$(HTMLDIR)/%.html) \
@@ -80,16 +84,19 @@ DVIPS_FLAGS +=
# ----------------------------------------------------
# Targets
# ----------------------------------------------------
-$(HTMLDIR)/%.gif: %.gif
+$(HTMLDIR)/%.png: %.png
$(INSTALL_DATA) $< $@
docs: pdf html man
$(TOP_PDF_FILE): $(XML_FILES)
+images: $(IMAGE_FILES:%=$(HTMLDIR)/%)
+
pdf: $(TOP_PDF_FILE)
-html: $(HTML_REF_MAN_FILE)
+html: images $(HTML_REF_MAN_FILE)
+
clean clean_docs:
rm -rf $(HTMLDIR)/*
diff --git a/lib/ssh/doc/src/SSH_protocols.png b/lib/ssh/doc/src/SSH_protocols.png
new file mode 100644
index 0000000000..145c96c4cd
--- /dev/null
+++ b/lib/ssh/doc/src/SSH_protocols.png
Binary files differ
diff --git a/lib/ssh/doc/src/book.xml b/lib/ssh/doc/src/book.xml
index fcec1d6f70..d33d9faf15 100644
--- a/lib/ssh/doc/src/book.xml
+++ b/lib/ssh/doc/src/book.xml
@@ -34,6 +34,9 @@
<preamble>
<contents level="2"></contents>
</preamble>
+ <parts>
+ <xi:include href="part.xml"/>
+ </parts>
<applications>
<xi:include href="ref_man.xml"/>
</applications>
diff --git a/lib/ssh/doc/src/make.dep b/lib/ssh/doc/src/make.dep
new file mode 100644
index 0000000000..9be373481a
--- /dev/null
+++ b/lib/ssh/doc/src/make.dep
@@ -0,0 +1,19 @@
+# ----------------------------------------------------
+# >>>> Do not edit this file <<<<
+# This file was automaticly generated by
+# /home/otp/bin/docdepend
+# ----------------------------------------------------
+
+
+# ----------------------------------------------------
+# TeX files that the DVI file depend on
+# ----------------------------------------------------
+
+book.dvi: book.tex ref_man.tex ssh_ug.tex ssh.tex ssh_channel.tex \
+ ssh_connection.tex ssh_sftp.tex ssh_sftpd.tex
+
+# ----------------------------------------------------
+# Source inlined when transforming from source to LaTeX
+# ----------------------------------------------------
+
+book.tex: ref_man.xml
diff --git a/lib/ssh/doc/src/part.xml b/lib/ssh/doc/src/part.xml
new file mode 100644
index 0000000000..cca30182a1
--- /dev/null
+++ b/lib/ssh/doc/src/part.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="latin1" ?>
+<!DOCTYPE part SYSTEM "part.dtd">
+
+<part xmlns:xi="http://www.w3.org/2001/XInclude">
+ <header>
+ <copyright>
+ <year>2011</year>
+ <holder>Ericsson AB. All Rights Reserved.</holder>
+ </copyright>
+ <legalnotice>
+ The contents of this file are subject to the Erlang Public License,
+ Version 1.1, (the "License"); you may not use this file except in
+ compliance with the License. You should have received a copy of the
+ Erlang Public License along with this software. If not, it can be
+ retrieved online at http://www.erlang.org/.
+
+ Software distributed under the License is distributed on an "AS IS"
+ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ the License for the specific language governing rights and limitations
+ under the License.
+
+ </legalnotice>
+
+ <title>SSH User's Guide</title>
+ <prepared></prepared>
+ <docno></docno>
+ <date></date>
+ <rev></rev>
+ </header>
+ <description>
+ <p>The <em>SSH</em> application is an Erlang implementation of the
+ SSH protocol.</p>
+ </description>
+ <xi:include href="ssh_ug.xml"/>
+</part>
diff --git a/lib/ssh/doc/src/ssh.xml b/lib/ssh/doc/src/ssh.xml
index 04b7a2ae56..9f8efebbf5 100644
--- a/lib/ssh/doc/src/ssh.xml
+++ b/lib/ssh/doc/src/ssh.xml
@@ -217,7 +217,7 @@
<func>
<name>daemon(Port) -> </name>
<name>daemon(Port, Options) -> </name>
- <name>daemon(HostAddress, Port, Options) -> ssh_daemon_ref()</name>
+ <name>daemon(HostAddress, Port, Options) -> {ok, ssh_daemon_ref()} | {error, atom()}</name>
<fsummary>Starts a server listening for SSH connections
on the given port.</fsummary>
<type>
diff --git a/lib/ssh/doc/src/ssh_ug.xml b/lib/ssh/doc/src/ssh_ug.xml
new file mode 100644
index 0000000000..0b040a59fd
--- /dev/null
+++ b/lib/ssh/doc/src/ssh_ug.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="latin1" ?>
+<!DOCTYPE chapter SYSTEM "chapter.dtd">
+<!-- %EricssonCopyright% -->
+<chapter>
+ <header>
+ <copyright>
+ <year>2011</year>
+ <holder>Ericsson AB. All Rights Reserved.</holder>
+ </copyright>
+ <legalnotice>
+ The program may be used and/or copied only with the written permission from
+ Ericsson AB, or in accordance with the terms and conditions stipulated in
+ the agreement/contract under which the program has been supplied.
+ </legalnotice>
+ <title>SSH</title>
+ <prepared>OTP</prepared>
+ <docno></docno>
+ <date></date>
+ <rev>A</rev>
+ <file>ssh_ug.xml</file>
+ </header>
+
+ <section>
+ <title>Introduction</title>
+ <p>The Secure Shell (SSH) is a transport protocol. For more detailed information,
+ see the following RFCs:
+ </p>
+ <list type="bulleted">
+ <item><url href="http://www.ietf.org/rfc/rfc4250.txt">RFC 4250</url> -
+ Protocol Assigned Numbers.</item>
+ <item><url href="http://www.ietf.org/rfc/rfc4251.txt">RFC 4251</url> -
+ Protocol Architecture.</item>
+ <item><url href="http://www.ietf.org/rfc/rfc4252.txt">RFC 4252</url> -
+ Authentication Protocol.</item>
+ <item><url href="http://www.ietf.org/rfc/rfc4253.txt">RFC 4253</url> -
+ Transport Layer Protocol.</item>
+ <item><url href="http://www.ietf.org/rfc/rfc4254.txt">RFC 4254</url> -
+ Connection Protocol.</item>
+ <item><url href="http://www.ietf.org/rfc/rfc4255.txt">RFC 4255</url> -
+ Key Fingerprints.</item>
+ <item><url href="http://www.ietf.org/rfc/rfc4344.txt">RFC 4344</url> -
+ Transport Layer Encryption Modes.</item>
+ <item><url href="http://www.ietf.org/rfc/rfc4716.txt">RFC 4716</url> -
+ Public Key File Format.</item>
+ </list>
+
+ <p>The SSH application is an implementation of the SSH protocol
+ in Erlang. Conceptually it can be partitioned into four layers:</p>
+
+ <image file="SSH_protocols.png">
+ <icaption>SSH Protocol Dependencies</icaption>
+ </image>
+
+ </section>
+
+ <section>
+ <title>Overview</title>
+ <p>The SSH application supports:</p>
+
+ <list type="bulleted">
+ <item><em>Subsystem</em> - user-named services such as <seealso marker="ssh_sftp">ssh_sftp</seealso>.
+ The user can also add other subsystems (e.g. NETCONF).</item>
+ <item><em>Shell</em> - interactive shell.</item>
+ <item><em>Exec</em> - one-time remote execution (i.e. SCP). See <seealso marker="ssh_connection#exec-4">ssh_connection:exec/4</seealso></item>
+ </list>
+
+
+ </section>
+
+ <section>
+ <title>Configuration and Start</title>
+
+ <p>Before the SSH application can be used, there are two things that must be fulfilled:</p>
+ <list type="bulleted">
+ <item>The <seealso marker="crypto:crypto">Crypto</seealso> application is started before SSH is.</item>
+ <item>The <seealso marker="public_key:public_key">Public_key</seealso> application is loaded when
+ running an embedded system.</item>
+ </list>
+
+ <section>
+ <title>Server Side</title>
+ <marker id="daemon"></marker>
+ <p>When SSH is supposed to run as server, the function <seealso marker="ssh#daemon-3">ssh:daemon/[1, 2, 3]</seealso> needs to
+ be used to start the daemon. </p>
+
+ </section>
+ <section>
+ <title>Client Side</title>
+ <marker id="client"></marker>
+ <p>The client.</p>
+
+ </section>
+ </section>
+
+</chapter>
diff --git a/lib/ssh/src/ssh.erl b/lib/ssh/src/ssh.erl
index 719c97e940..9ed6fdbcf8 100644
--- a/lib/ssh/src/ssh.erl
+++ b/lib/ssh/src/ssh.erl
@@ -264,7 +264,7 @@ start_daemon(Host, Port, Options, Inet) ->
do_start_daemon(Host, Port, Options, SocketOptions) ->
case ssh_system_sup:system_supervisor(Host, Port) of
undefined ->
- %% TODO: It would proably make more sense to call the
+ %% It would proably make more sense to call the
%% address option host but that is a too big change at the
%% monent. The name is a legacy name!
try sshd_sup:start_child([{address, Host},