summaryrefslogtreecommitdiffstats
path: root/README
blob: 474e6471cdd4ed484efb46e8ec4a5d2bd5db7068 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
libssh: the SSH library
~~~~~~~~~~~~~~~~~~~~~~~

1* Why ?
-_-_-_-_-_

Why not ? :) I've began to work on my own implementation of the ssh protocol
because i didn't like the currently public ones.
Not any allowed you to import and use the functions as a powerful library, 
and so i worked on a library-based SSH implementation which was non-existing
in the free and open source software world.


2* How/Who ?
-_-_-_-_-_-_-_

If you downloaded this file, you must know what it is : a library for
accessing ssh client services through C libraries calls in a simple manner.
Everybody can use this software under the terms of the LGPL - see the COPYING
file

If you ask yourself how to compile libssh, please read INSTALL before anything.

3* Where ?
-_-_-_-_-_-_

http://www.libssh.org

4* API Changes !
-_-_-_-_-_-_-_-_-_

Changes between 0.4 and 0.5
---------------------------

We use the ssh_ prefix as namespace for every function now. There is a legacy.h
which could be used to get the old function names.

Changes between 0.3 and 0.4
---------------------------

We changed libssh to be typesafe now:

SSH_SESSION *session -> ssh_session session
SFTP_SESSION *sftp -> sftp_session sftp
CHANNEL *channel -> ssh_channel channel
STRING *string -> ssh_string string
...

The options structure has been removed and there is a new function. This
function can set all available options now. You can find the enum in the
header file and it is documented. Example:

ssh_options_set(session, SSH_OPTIONS_HOST, "localhost");

5* Copyright policy
-_-_-_-_-_-_-_-_-_-_

The developers of libssh have a policy of asking for contributions to be made
under the personal copyright of the contributor, instead of a corporate
copyright.

There are some reasons for the establishment of this policy:

    * Individual copyrights make copyright registration in the US a simpler
      process.
    * If libssh is copyrighted by individuals rather than corporations,
      decisions regarding enforcement and protection of copyright will, more
      likely, be made in the interests of the project, and not in the interests
      of any corporation’s shareholders.
    * If we ever need to relicense a portion of the code contacting individuals
      for permission to do so is much easier than contacting a company.