Compare commits
356 Commits
libssh2-1.
...
libssh2-1.
Author | SHA1 | Date | |
---|---|---|---|
![]() |
cbd5f72339 | ||
![]() |
858930cae5 | ||
![]() |
08fa27b628 | ||
![]() |
4383a39d83 | ||
![]() |
09c5e59933 | ||
![]() |
5a88a86fef | ||
![]() |
0340d4586e | ||
![]() |
2d2744efdd | ||
![]() |
e113202098 | ||
![]() |
983ceafe58 | ||
![]() |
e160ba448e | ||
![]() |
b8289b625e | ||
![]() |
5f4c249e42 | ||
![]() |
6f95c2efd3 | ||
![]() |
31a5986c6d | ||
![]() |
22bd8d81d8 | ||
![]() |
3d3347c062 | ||
![]() |
2d59b41daa | ||
![]() |
1e7988cb0d | ||
![]() |
b99204f289 | ||
![]() |
7ca44fbd94 | ||
![]() |
41b1cb6751 | ||
![]() |
84590bc78f | ||
![]() |
864950cf16 | ||
![]() |
09a559433e | ||
![]() |
57dea4df6d | ||
![]() |
77020c7961 | ||
![]() |
e52f35d9f4 | ||
![]() |
a8d14c5dcf | ||
![]() |
0c90b8bd9b | ||
![]() |
3fc17cd69f | ||
![]() |
aa4e649d94 | ||
![]() |
49ea2be885 | ||
![]() |
247dfce5fb | ||
![]() |
71d45d3df1 | ||
![]() |
daa2dfa2db | ||
![]() |
1429ad749d | ||
![]() |
4078da8d81 | ||
![]() |
0930928810 | ||
![]() |
55d030089b | ||
![]() |
260410edf3 | ||
![]() |
1de36eb5b4 | ||
![]() |
aa7f9a85f7 | ||
![]() |
41d22ccf26 | ||
![]() |
56f7c0e2a4 | ||
![]() |
1329dc5155 | ||
![]() |
a1e744bb5e | ||
![]() |
14d9ee01bc | ||
![]() |
fed47c34e4 | ||
![]() |
18cfec8336 | ||
![]() |
74624c8ddf | ||
![]() |
bbbdf946a7 | ||
![]() |
042993b8eb | ||
![]() |
41ed2b71a2 | ||
![]() |
6bf8983368 | ||
![]() |
523a552258 | ||
![]() |
d73e0ec260 | ||
![]() |
1fa5fe6059 | ||
![]() |
8f00a7471d | ||
![]() |
fe3e23022b | ||
![]() |
33e1013d7b | ||
![]() |
20eb836f4e | ||
![]() |
6ada234c62 | ||
![]() |
e16f638dca | ||
![]() |
7d94b69b80 | ||
![]() |
8bb6cf7f95 | ||
![]() |
5fcbb168b8 | ||
![]() |
d811750645 | ||
![]() |
cfe94c715e | ||
![]() |
a8473c819b | ||
![]() |
c71889017f | ||
![]() |
253d5922f2 | ||
![]() |
79d63df12d | ||
![]() |
86552bf2bb | ||
![]() |
477e609a84 | ||
![]() |
3e47ca8a32 | ||
![]() |
6af0ee567b | ||
![]() |
c6d99bd3a4 | ||
![]() |
d1eccb487a | ||
![]() |
22204c4e2e | ||
![]() |
8670f5da24 | ||
![]() |
3835655f09 | ||
![]() |
dc199ed03a | ||
![]() |
8f799f98d9 | ||
![]() |
637c90959b | ||
![]() |
8a731d6217 | ||
![]() |
d85f9a689f | ||
![]() |
031566f9cc | ||
![]() |
977a3b6a76 | ||
![]() |
34dc1d61b4 | ||
![]() |
be95032e29 | ||
![]() |
c0bface8a7 | ||
![]() |
f31c9fb221 | ||
![]() |
f89bed9571 | ||
![]() |
bc9d735664 | ||
![]() |
06ff22f1a6 | ||
![]() |
e57f29f8f6 | ||
![]() |
1c1699545b | ||
![]() |
abcc0d370f | ||
![]() |
977dbb7511 | ||
![]() |
aedfba25b8 | ||
![]() |
19f1402f1d | ||
![]() |
df5c61dbca | ||
![]() |
1689315fce | ||
![]() |
7f7e65c54b | ||
![]() |
751e0087a8 | ||
![]() |
600f26ce6e | ||
![]() |
3260beb07a | ||
![]() |
01a6210ab7 | ||
![]() |
6a3b5487cb | ||
![]() |
e4ba5fabec | ||
![]() |
46f017e751 | ||
![]() |
12adbc28b8 | ||
![]() |
424a27e007 | ||
![]() |
1e4fb7ee9f | ||
![]() |
7b80a188dd | ||
![]() |
9d50d43a83 | ||
![]() |
c355d31ff9 | ||
![]() |
18fe507324 | ||
![]() |
d63e32dd30 | ||
![]() |
c32e82e97b | ||
![]() |
7d4b5a8e07 | ||
![]() |
200784c4e7 | ||
![]() |
b22b23703c | ||
![]() |
0e4e14109a | ||
![]() |
5bcc2d4629 | ||
![]() |
33df559967 | ||
![]() |
26f6d71885 | ||
![]() |
62c91e2cd4 | ||
![]() |
b9dc6112d7 | ||
![]() |
106bacdebc | ||
![]() |
23dec383f7 | ||
![]() |
fc94046e6e | ||
![]() |
ee547fe90d | ||
![]() |
a58b0dacb4 | ||
![]() |
6e710d7fb6 | ||
![]() |
b20bfeb3e5 | ||
![]() |
aba11380a1 | ||
![]() |
2c46c4bf95 | ||
![]() |
160776d218 | ||
![]() |
ee2d61a48b | ||
![]() |
fcb601da7b | ||
![]() |
55bae8dd07 | ||
![]() |
4440e05d48 | ||
![]() |
378d0a6676 | ||
![]() |
21cb7bfb36 | ||
![]() |
e1a5d1bc77 | ||
![]() |
189cf86df0 | ||
![]() |
30e376773a | ||
![]() |
38e210af0e | ||
![]() |
d145e04443 | ||
![]() |
feab568a7a | ||
![]() |
08973a00a1 | ||
![]() |
c00efa5f93 | ||
![]() |
adc5db29e3 | ||
![]() |
92d686fe19 | ||
![]() |
5559ad8fe1 | ||
![]() |
88366b5ec2 | ||
![]() |
61df22c460 | ||
![]() |
d808080daf | ||
![]() |
f5c1a0d98b | ||
![]() |
85a827d1bc | ||
![]() |
1b3307dda0 | ||
![]() |
85c6627c86 | ||
![]() |
c49cc8411f | ||
![]() |
fa15fded72 | ||
![]() |
c2329aa09e | ||
![]() |
94077f7a58 | ||
![]() |
55a8b10ad9 | ||
![]() |
27f9ac2549 | ||
![]() |
cdeef54967 | ||
![]() |
42aefdba79 | ||
![]() |
d41f5e40aa | ||
![]() |
2df6cd6606 | ||
![]() |
d512b25f69 | ||
![]() |
b4f71fd25a | ||
![]() |
a5bf809b80 | ||
![]() |
2157e178a3 | ||
![]() |
d385230e15 | ||
![]() |
61e40a32ff | ||
![]() |
e6c46cc249 | ||
![]() |
9f1b89e99b | ||
![]() |
8da30ea4d4 | ||
![]() |
ff6c01e959 | ||
![]() |
c910cd382d | ||
![]() |
edd42304a2 | ||
![]() |
1ad20ac7d3 | ||
![]() |
d7f9cd57c5 | ||
![]() |
16ef83dd81 | ||
![]() |
951904418b | ||
![]() |
80e5e20b00 | ||
![]() |
6e0d757f24 | ||
![]() |
a12f3ffab5 | ||
![]() |
486bb37621 | ||
![]() |
fe347a702f | ||
![]() |
07615610ba | ||
![]() |
5aa7b29758 | ||
![]() |
a67ff056e6 | ||
![]() |
f1cfa55b60 | ||
![]() |
437a3b75ec | ||
![]() |
a3ad635db4 | ||
![]() |
e5c5408564 | ||
![]() |
fe8f3deb48 | ||
![]() |
d49b8f303a | ||
![]() |
6f8777505f | ||
![]() |
52b8da7dfa | ||
![]() |
de7b5d3bc0 | ||
![]() |
b31e35aba6 | ||
![]() |
e2bb780d77 | ||
![]() |
a8cfc708c5 | ||
![]() |
9f6fd5af82 | ||
![]() |
5d567faecc | ||
![]() |
bfbb5a4dc7 | ||
![]() |
43b730ce56 | ||
![]() |
6af85b6053 | ||
![]() |
05641218bc | ||
![]() |
42fec44c8a | ||
![]() |
e470738a0c | ||
![]() |
62cc59cd06 | ||
![]() |
1abf2057de | ||
![]() |
6c27922ac1 | ||
![]() |
112845df0b | ||
![]() |
499b22ca36 | ||
![]() |
6403519fcf | ||
![]() |
6f8dd9baff | ||
![]() |
a1c0d97ff9 | ||
![]() |
5c065bf1ff | ||
![]() |
5237177daf | ||
![]() |
bd627d38a1 | ||
![]() |
c55b0b0425 | ||
![]() |
38efbe8243 | ||
![]() |
34ecc09a3c | ||
![]() |
d6cf1c7df0 | ||
![]() |
a40c160cff | ||
![]() |
29e256e817 | ||
![]() |
137342a41d | ||
![]() |
79a7ca3085 | ||
![]() |
50e37bdadc | ||
![]() |
04e79e0c79 | ||
![]() |
9a36065b52 | ||
![]() |
1ac7bd09cc | ||
![]() |
9a7311ba57 | ||
![]() |
e07b11b7df | ||
![]() |
e885300b18 | ||
![]() |
92a9f95279 | ||
![]() |
e91d4c9790 | ||
![]() |
69a3354467 | ||
![]() |
3ede6e280e | ||
![]() |
b583311a93 | ||
![]() |
27ac5aa40d | ||
![]() |
a123051200 | ||
![]() |
62901253a4 | ||
![]() |
7c5ee0fa66 | ||
![]() |
1e15075a8e | ||
![]() |
ad63fc2df6 | ||
![]() |
d46185eaa5 | ||
![]() |
9c4b380dd6 | ||
![]() |
e887a8bd0f | ||
![]() |
04692445d4 | ||
![]() |
a955f8428b | ||
![]() |
ededdfa9c2 | ||
![]() |
11f9dce3d7 | ||
![]() |
6bbebcf36c | ||
![]() |
7a87bba02a | ||
![]() |
c8374cdc10 | ||
![]() |
9b2bed22fc | ||
![]() |
c8cc30c996 | ||
![]() |
acd9bd6104 | ||
![]() |
2ea40e63e8 | ||
![]() |
f4f2298ef3 | ||
![]() |
cc4f9d5679 | ||
![]() |
fed0759720 | ||
![]() |
a46ef85a56 | ||
![]() |
626f91da07 | ||
![]() |
bf097e37b0 | ||
![]() |
a1c996cef1 | ||
![]() |
8fc16beda9 | ||
![]() |
9a42fac055 | ||
![]() |
7194a9bd7b | ||
![]() |
7e53949e66 | ||
![]() |
5672e8f4cf | ||
![]() |
4449905ea5 | ||
![]() |
8e0cddd01f | ||
![]() |
796a5195d3 | ||
![]() |
15aadb930d | ||
![]() |
f28264c6a3 | ||
![]() |
179d2197dd | ||
![]() |
aa8f2cbf33 | ||
![]() |
e07342443f | ||
![]() |
4774d500e7 | ||
![]() |
1403847429 | ||
![]() |
0d824e5702 | ||
![]() |
9836b0889f | ||
![]() |
e394987911 | ||
![]() |
e95c7de453 | ||
![]() |
effbb72192 | ||
![]() |
0ebe6f44bd | ||
![]() |
b3ade9a63e | ||
![]() |
388920cf3c | ||
![]() |
6bd584d293 | ||
![]() |
e68c895fc4 | ||
![]() |
511a972a95 | ||
![]() |
3401b374c9 | ||
![]() |
209de22299 | ||
![]() |
b8dd697796 | ||
![]() |
09139ef065 | ||
![]() |
d903b81c64 | ||
![]() |
4f61824908 | ||
![]() |
fed94fa85d | ||
![]() |
378311fe5b | ||
![]() |
139278b79f | ||
![]() |
a0e13cc828 | ||
![]() |
f4e5ca2f14 | ||
![]() |
c0974e5ca3 | ||
![]() |
c292378327 | ||
![]() |
ee07785a1e | ||
![]() |
24afd0fc72 | ||
![]() |
abd00727ef | ||
![]() |
4b77724b3b | ||
![]() |
33865b8936 | ||
![]() |
16dd675f4d | ||
![]() |
30e28817f2 | ||
![]() |
03ca902075 | ||
![]() |
7d58994571 | ||
![]() |
6d9d44a550 | ||
![]() |
d343e3405a | ||
![]() |
8d3709f57a | ||
![]() |
d2dc600be7 | ||
![]() |
0f9e81c6f3 | ||
![]() |
46792a9fca | ||
![]() |
b5cd8fe120 | ||
![]() |
8faefc0a8a | ||
![]() |
f9afe854d3 | ||
![]() |
26a9aca598 | ||
![]() |
bff91fe2a0 | ||
![]() |
e0e8d3b0b7 | ||
![]() |
52d24bc9d2 | ||
![]() |
e399a852b9 | ||
![]() |
3fb3ba571b | ||
![]() |
1f2c1f9e09 | ||
![]() |
c75ae587c0 | ||
![]() |
2e12cfaa23 | ||
![]() |
7ed53e21fd | ||
![]() |
7229d989e7 | ||
![]() |
f2c21f6f84 | ||
![]() |
a6ebc6f9fd | ||
![]() |
87f79f177f | ||
![]() |
30ac056cb0 | ||
![]() |
c45de9176b | ||
![]() |
ff40c58743 | ||
![]() |
10b66cef08 | ||
![]() |
81bdcf61f3 | ||
![]() |
50d451e307 | ||
![]() |
3f2b1dea5e | ||
![]() |
7c9b84d1d1 | ||
![]() |
1ba42ea847 |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -24,7 +24,6 @@ ltmain.sh
|
|||||||
missing
|
missing
|
||||||
ssh2_sample
|
ssh2_sample
|
||||||
libssh2-*.tar.gz
|
libssh2-*.tar.gz
|
||||||
INSTALL
|
|
||||||
install-sh
|
install-sh
|
||||||
*.o
|
*.o
|
||||||
*.lo
|
*.lo
|
||||||
@@ -33,3 +32,4 @@ mkinstalldirs
|
|||||||
tags
|
tags
|
||||||
libssh2.pc
|
libssh2.pc
|
||||||
TAGS
|
TAGS
|
||||||
|
*~
|
||||||
|
75
.travis.yml
Normal file
75
.travis.yml
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
# Copyright (c) 2014 Alexander Lamaison <alexander.lamaison@gmail.com>
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms,
|
||||||
|
# with or without modification, are permitted provided
|
||||||
|
# that the following conditions are met:
|
||||||
|
#
|
||||||
|
# Redistributions of source code must retain the above
|
||||||
|
# copyright notice, this list of conditions and the
|
||||||
|
# following disclaimer.
|
||||||
|
#
|
||||||
|
# Redistributions in binary form must reproduce the above
|
||||||
|
# copyright notice, this list of conditions and the following
|
||||||
|
# disclaimer in the documentation and/or other materials
|
||||||
|
# provided with the distribution.
|
||||||
|
#
|
||||||
|
# Neither the name of the copyright holder nor the names
|
||||||
|
# of any other contributors may be used to endorse or
|
||||||
|
# promote products derived from this software without
|
||||||
|
# specific prior written permission.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
||||||
|
# CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||||
|
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||||
|
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||||
|
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||||
|
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||||
|
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||||
|
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
||||||
|
# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
|
||||||
|
# OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
language: c
|
||||||
|
|
||||||
|
compiler:
|
||||||
|
- gcc
|
||||||
|
- clang
|
||||||
|
|
||||||
|
env:
|
||||||
|
matrix:
|
||||||
|
- ADDRESS_SIZE=64 CRYPTO_BACKEND=OpenSSL BUILD_SHARED_LIBS=OFF ENABLE_ZLIB_COMPRESSION=OFF
|
||||||
|
- ADDRESS_SIZE=64 CRYPTO_BACKEND=OpenSSL BUILD_SHARED_LIBS=ON ENABLE_ZLIB_COMPRESSION=OFF
|
||||||
|
- ADDRESS_SIZE=64 CRYPTO_BACKEND=OpenSSL BUILD_SHARED_LIBS=OFF ENABLE_ZLIB_COMPRESSION=ON
|
||||||
|
- ADDRESS_SIZE=64 CRYPTO_BACKEND=OpenSSL BUILD_SHARED_LIBS=ON ENABLE_ZLIB_COMPRESSION=ON
|
||||||
|
- ADDRESS_SIZE=64 CRYPTO_BACKEND=Libgcrypt BUILD_SHARED_LIBS=OFF ENABLE_ZLIB_COMPRESSION=OFF
|
||||||
|
- ADDRESS_SIZE=64 CRYPTO_BACKEND=Libgcrypt BUILD_SHARED_LIBS=ON ENABLE_ZLIB_COMPRESSION=OFF
|
||||||
|
- ADDRESS_SIZE=64 CRYPTO_BACKEND=Libgcrypt BUILD_SHARED_LIBS=OFF ENABLE_ZLIB_COMPRESSION=ON
|
||||||
|
- ADDRESS_SIZE=64 CRYPTO_BACKEND=Libgcrypt BUILD_SHARED_LIBS=ON ENABLE_ZLIB_COMPRESSION=ON
|
||||||
|
- ADDRESS_SIZE=32 CRYPTO_BACKEND=OpenSSL BUILD_SHARED_LIBS=OFF ENABLE_ZLIB_COMPRESSION=OFF
|
||||||
|
- ADDRESS_SIZE=32 CRYPTO_BACKEND=OpenSSL BUILD_SHARED_LIBS=ON ENABLE_ZLIB_COMPRESSION=OFF
|
||||||
|
- ADDRESS_SIZE=32 CRYPTO_BACKEND=OpenSSL BUILD_SHARED_LIBS=OFF ENABLE_ZLIB_COMPRESSION=ON
|
||||||
|
- ADDRESS_SIZE=32 CRYPTO_BACKEND=OpenSSL BUILD_SHARED_LIBS=ON ENABLE_ZLIB_COMPRESSION=ON
|
||||||
|
- ADDRESS_SIZE=32 CRYPTO_BACKEND=Libgcrypt BUILD_SHARED_LIBS=OFF ENABLE_ZLIB_COMPRESSION=OFF
|
||||||
|
- ADDRESS_SIZE=32 CRYPTO_BACKEND=Libgcrypt BUILD_SHARED_LIBS=ON ENABLE_ZLIB_COMPRESSION=OFF
|
||||||
|
- ADDRESS_SIZE=32 CRYPTO_BACKEND=Libgcrypt BUILD_SHARED_LIBS=OFF ENABLE_ZLIB_COMPRESSION=ON
|
||||||
|
- ADDRESS_SIZE=32 CRYPTO_BACKEND=Libgcrypt BUILD_SHARED_LIBS=ON ENABLE_ZLIB_COMPRESSION=ON
|
||||||
|
|
||||||
|
before_install:
|
||||||
|
- sudo add-apt-repository --yes ppa:kalakris/cmake
|
||||||
|
- sudo apt-get update
|
||||||
|
- sudo apt-get -y install cmake
|
||||||
|
- if [ $ADDRESS_SIZE = '64' ]; then sudo apt-get install -y libgcrypt11-dev libssl-dev zlib1g-dev; fi
|
||||||
|
- if [ $ADDRESS_SIZE = '32' ]; then sudo apt-get install -y linux-libc-dev linux-libc-dev:i386; fi
|
||||||
|
- if [ $ADDRESS_SIZE = '32' ]; then sudo apt-get install -y gcc-multilib libgcrypt11-dev:i386 libssl-dev:i386 zlib1g-dev:i386; fi
|
||||||
|
- if [ $ADDRESS_SIZE = '32' ]; then export TOOLCHAIN_OPTION="-DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-Linux-32.cmake"; fi
|
||||||
|
|
||||||
|
install:
|
||||||
|
- mkdir bin
|
||||||
|
- cd bin
|
||||||
|
|
||||||
|
script:
|
||||||
|
- cmake $TOOLCHAIN_OPTION -DCRYPTO_BACKEND=$CRYPTO_BACKEND -DBUILD_SHARED_LIBS=$BUILD_SHARED_LIBS -DENABLE_ZLIB_COMPRESSION=$ENABLE_ZLIB_COMPRESSION .. && cmake --build . && CTEST_OUTPUT_ON_FAILURE=1 cmake --build . --target test && cmake --build . --target package
|
101
CMakeLists.txt
Normal file
101
CMakeLists.txt
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
# Copyright (c) 2014, 2015 Alexander Lamaison <alexander.lamaison@gmail.com>
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms,
|
||||||
|
# with or without modification, are permitted provided
|
||||||
|
# that the following conditions are met:
|
||||||
|
#
|
||||||
|
# Redistributions of source code must retain the above
|
||||||
|
# copyright notice, this list of conditions and the
|
||||||
|
# following disclaimer.
|
||||||
|
#
|
||||||
|
# Redistributions in binary form must reproduce the above
|
||||||
|
# copyright notice, this list of conditions and the following
|
||||||
|
# disclaimer in the documentation and/or other materials
|
||||||
|
# provided with the distribution.
|
||||||
|
#
|
||||||
|
# Neither the name of the copyright holder nor the names
|
||||||
|
# of any other contributors may be used to endorse or
|
||||||
|
# promote products derived from this software without
|
||||||
|
# specific prior written permission.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
||||||
|
# CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||||
|
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||||
|
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||||
|
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||||
|
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||||
|
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||||
|
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
||||||
|
# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
|
||||||
|
# OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
cmake_minimum_required(VERSION 2.8.11)
|
||||||
|
|
||||||
|
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
|
||||||
|
|
||||||
|
project(libssh2 C)
|
||||||
|
set(PROJECT_URL "http://www.libssh2.org/")
|
||||||
|
set(PROJECT_DESCRIPTION "The SSH library")
|
||||||
|
|
||||||
|
option(BUILD_SHARED_LIBS "Build Shared Libraries" OFF)
|
||||||
|
|
||||||
|
# Parse version
|
||||||
|
|
||||||
|
file(READ ${CMAKE_CURRENT_SOURCE_DIR}/include/libssh2.h _HEADER_CONTENTS)
|
||||||
|
string(
|
||||||
|
REGEX REPLACE ".*#define LIBSSH2_VERSION[ \t]+\"([^\"]+)\".*" "\\1"
|
||||||
|
LIBSSH2_VERSION "${_HEADER_CONTENTS}")
|
||||||
|
string(
|
||||||
|
REGEX REPLACE ".*#define LIBSSH2_VERSION_MAJOR[ \t]+([0-9]+).*" "\\1"
|
||||||
|
LIBSSH2_VERSION_MAJOR "${_HEADER_CONTENTS}")
|
||||||
|
string(
|
||||||
|
REGEX REPLACE ".*#define LIBSSH2_VERSION_MINOR[ \t]+([0-9]+).*" "\\1"
|
||||||
|
LIBSSH2_VERSION_MINOR "${_HEADER_CONTENTS}")
|
||||||
|
string(
|
||||||
|
REGEX REPLACE ".*#define LIBSSH2_VERSION_PATCH[ \t]+([0-9]+).*" "\\1"
|
||||||
|
LIBSSH2_VERSION_PATCH "${_HEADER_CONTENTS}")
|
||||||
|
|
||||||
|
if(NOT LIBSSH2_VERSION OR
|
||||||
|
NOT LIBSSH2_VERSION_MAJOR MATCHES "^[0-9]+$" OR
|
||||||
|
NOT LIBSSH2_VERSION_MINOR MATCHES "^[0-9]+$" OR
|
||||||
|
NOT LIBSSH2_VERSION_PATCH MATCHES "^[0-9]+$")
|
||||||
|
message(
|
||||||
|
FATAL_ERROR
|
||||||
|
"Unable to parse version from"
|
||||||
|
"${CMAKE_CURRENT_SOURCE_DIR}/include/libssh2.h")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
include(GNUInstallDirs)
|
||||||
|
install(
|
||||||
|
FILES docs/AUTHORS COPYING docs/HACKING README RELEASE-NOTES NEWS
|
||||||
|
DESTINATION ${CMAKE_INSTALL_DOCDIR})
|
||||||
|
|
||||||
|
include(max_warnings)
|
||||||
|
include(FeatureSummary)
|
||||||
|
|
||||||
|
add_subdirectory(src)
|
||||||
|
|
||||||
|
option(BUILD_EXAMPLES "Build libssh2 examples" ON)
|
||||||
|
if(BUILD_EXAMPLES)
|
||||||
|
add_subdirectory(example)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
option(BUILD_TESTING "Build libssh2 test suite" ON)
|
||||||
|
if(BUILD_TESTING)
|
||||||
|
enable_testing()
|
||||||
|
add_subdirectory(tests)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
add_subdirectory(docs)
|
||||||
|
|
||||||
|
feature_summary(WHAT ALL)
|
||||||
|
|
||||||
|
set(CPACK_PACKAGE_VERSION_MAJOR ${LIBSSH2_VERSION_MAJOR})
|
||||||
|
set(CPACK_PACKAGE_VERSION_MINOR ${LIBSSH2_VERSION_MINOR})
|
||||||
|
set(CPACK_PACKAGE_VERSION_PATCH ${LIBSSH2_VERSION_PATCH})
|
||||||
|
set(CPACK_PACKAGE_VERSION ${LIBSSH2_VERSION})
|
||||||
|
include(CPack)
|
2
COPYING
2
COPYING
@@ -2,7 +2,7 @@
|
|||||||
* Copyright (c) 2005,2006 Mikhail Gusarov <dottedmag@dottedmag.net>
|
* Copyright (c) 2005,2006 Mikhail Gusarov <dottedmag@dottedmag.net>
|
||||||
* Copyright (c) 2006-2007 The Written Word, Inc.
|
* Copyright (c) 2006-2007 The Written Word, Inc.
|
||||||
* Copyright (c) 2007 Eli Fant <elifantu@mail.ru>
|
* Copyright (c) 2007 Eli Fant <elifantu@mail.ru>
|
||||||
* Copyright (c) 2009 Daniel Stenberg
|
* Copyright (c) 2009-2014 Daniel Stenberg
|
||||||
* Copyright (C) 2008, 2009 Simon Josefsson
|
* Copyright (C) 2008, 2009 Simon Josefsson
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
|
2
Makefile.OpenSSL.inc
Normal file
2
Makefile.OpenSSL.inc
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
CRYPTO_CSOURCES = openssl.c
|
||||||
|
CRYPTO_HHEADERS = openssl.h
|
2
Makefile.WinCNG.inc
Normal file
2
Makefile.WinCNG.inc
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
CRYPTO_CSOURCES = wincng.c
|
||||||
|
CRYPTO_HHEADERS = wincng.h
|
26
Makefile.am
26
Makefile.am
@@ -1,6 +1,9 @@
|
|||||||
AUTOMAKE_OPTIONS = foreign nostdinc
|
AUTOMAKE_OPTIONS = foreign nostdinc
|
||||||
|
|
||||||
SUBDIRS = src example tests docs
|
SUBDIRS = src tests docs
|
||||||
|
if BUILD_EXAMPLES
|
||||||
|
SUBDIRS += example
|
||||||
|
endif
|
||||||
|
|
||||||
pkgconfigdir = $(libdir)/pkgconfig
|
pkgconfigdir = $(libdir)/pkgconfig
|
||||||
pkgconfig_DATA = libssh2.pc
|
pkgconfig_DATA = libssh2.pc
|
||||||
@@ -11,10 +14,9 @@ include_HEADERS = \
|
|||||||
include/libssh2_sftp.h
|
include/libssh2_sftp.h
|
||||||
|
|
||||||
NETWAREFILES = nw/keepscreen.c \
|
NETWAREFILES = nw/keepscreen.c \
|
||||||
nw/Makefile \
|
|
||||||
nw/Makefile.netware \
|
|
||||||
nw/nwlib.c \
|
nw/nwlib.c \
|
||||||
nw/test/Makefile.netware
|
nw/GNUmakefile \
|
||||||
|
nw/test/GNUmakefile
|
||||||
|
|
||||||
DSP = win32/libssh2.dsp
|
DSP = win32/libssh2.dsp
|
||||||
VCPROJ = win32/libssh2.vcproj
|
VCPROJ = win32/libssh2.vcproj
|
||||||
@@ -25,14 +27,13 @@ VMSFILES = vms/libssh2_make_example.dcl vms/libssh2_make_help.dcl \
|
|||||||
vms/libssh2_make_kit.dcl vms/libssh2_make_lib.dcl vms/man2help.c \
|
vms/libssh2_make_kit.dcl vms/libssh2_make_lib.dcl vms/man2help.c \
|
||||||
vms/readme.vms vms/libssh2_config.h
|
vms/readme.vms vms/libssh2_config.h
|
||||||
|
|
||||||
|
WIN32FILES = win32/GNUmakefile win32/test/GNUmakefile \
|
||||||
|
win32/libssh2_config.h win32/config.mk win32/rules.mk \
|
||||||
|
win32/Makefile.Watcom win32/libssh2.dsw win32/tests.dsp $(DSP) \
|
||||||
|
win32/msvcproj.head win32/msvcproj.foot win32/libssh2.rc
|
||||||
|
|
||||||
WIN32FILES = win32/libssh2.dsw win32/config.mk win32/Makefile \
|
EXTRA_DIST = $(WIN32FILES) buildconf $(NETWAREFILES) get_ver.awk \
|
||||||
win32/libssh2_config.h win32/tests.dsp win32/rules.mk $(DSP) \
|
maketgz NMakefile RELEASE-NOTES libssh2.pc.in $(VMSFILES) config.rpath
|
||||||
win32/msvcproj.head win32/msvcproj.foot win32/libssh2.rc \
|
|
||||||
win32/Makefile.Watcom
|
|
||||||
|
|
||||||
EXTRA_DIST = $(WIN32FILES) buildconf $(NETWAREFILES) get_ver.awk HACKING \
|
|
||||||
maketgz NMakefile TODO RELEASE-NOTES libssh2.pc.in $(VMSFILES)
|
|
||||||
|
|
||||||
ACLOCAL_AMFLAGS = -I m4
|
ACLOCAL_AMFLAGS = -I m4
|
||||||
|
|
||||||
@@ -74,6 +75,9 @@ gen-coverage:
|
|||||||
coverage: init-coverage build-coverage gen-coverage
|
coverage: init-coverage build-coverage gen-coverage
|
||||||
|
|
||||||
# DSP/VCPROJ generation adapted from libcurl
|
# DSP/VCPROJ generation adapted from libcurl
|
||||||
|
# only OpenSSL and WinCNG are supported with this build system
|
||||||
|
CRYPTO_CSOURCES = openssl.c wincng.c
|
||||||
|
CRYPTO_HHEADERS = openssl.h wincng.h
|
||||||
# Makefile.inc provides the CSOURCES and HHEADERS defines
|
# Makefile.inc provides the CSOURCES and HHEADERS defines
|
||||||
include Makefile.inc
|
include Makefile.inc
|
||||||
|
|
||||||
|
@@ -1,7 +1,6 @@
|
|||||||
CSOURCES = channel.c comp.c crypt.c hostkey.c kex.c mac.c misc.c \
|
CSOURCES = channel.c comp.c crypt.c hostkey.c kex.c mac.c misc.c \
|
||||||
packet.c publickey.c scp.c session.c sftp.c userauth.c transport.c \
|
packet.c publickey.c scp.c session.c sftp.c userauth.c transport.c \
|
||||||
version.c knownhost.c agent.c openssl.c libgcrypt.c pem.c keepalive.c \
|
version.c knownhost.c agent.c $(CRYPTO_CSOURCES) pem.c keepalive.c global.c
|
||||||
global.c
|
|
||||||
|
|
||||||
HHEADERS = libssh2_priv.h openssl.h libgcrypt.h transport.h channel.h \
|
HHEADERS = libssh2_priv.h $(CRYPTO_HHEADERS) transport.h channel.h comp.h \
|
||||||
comp.h mac.h misc.h packet.h userauth.h session.h sftp.h crypto.h
|
mac.h misc.h packet.h userauth.h session.h sftp.h crypto.h
|
||||||
|
2
Makefile.libgcrypt.inc
Normal file
2
Makefile.libgcrypt.inc
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
CRYPTO_CSOURCES = libgcrypt.c
|
||||||
|
CRYPTO_HHEADERS = libgcrypt.h
|
30
NMakefile
30
NMakefile
@@ -1,19 +1,33 @@
|
|||||||
!include "win32/config.mk"
|
!include "win32/config.mk"
|
||||||
|
|
||||||
|
!if "$(WITH_WINCNG)" == "1"
|
||||||
|
!include "Makefile.WinCNG.inc"
|
||||||
|
!else
|
||||||
|
!include "Makefile.OpenSSL.inc"
|
||||||
|
!endif
|
||||||
|
!include "Makefile.inc"
|
||||||
|
|
||||||
|
OBJECTS=$(CSOURCES:.c=.obj)
|
||||||
|
|
||||||
# SUBDIRS=src example
|
# SUBDIRS=src example
|
||||||
SUBDIRS=src
|
SUBDIRS=src
|
||||||
|
|
||||||
all-sub:
|
all-sub: win32\objects.mk
|
||||||
-for %D in ($(SUBDIRS)) do $(MAKE) /nologo /f %D/NMakefile BUILD=$(BUILD) SUBDIR=%D all-sub
|
-for %D in ($(SUBDIRS)) do $(MAKE) /nologo /f %D/NMakefile BUILD=$(BUILD) SUBDIR=%D all-sub
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
-rmdir /s/q $(TARGET)
|
-rmdir 2>NUL /s/q $(TARGET)
|
||||||
|
-del 2>NUL win32\objects.mk
|
||||||
|
|
||||||
real-clean: clean
|
real-clean vclean: clean
|
||||||
-del libssh2.dll
|
-del 2>NUL libssh2.dll
|
||||||
-del libssh2.exp
|
-del 2>NUL libssh2.exp
|
||||||
-del libssh2.ilk
|
-del 2>NUL libssh2.ilk
|
||||||
-del libssh2.lib
|
-del 2>NUL libssh2.lib
|
||||||
-del *.pdb
|
-del 2>NUL *.pdb
|
||||||
|
|
||||||
|
win32\objects.mk: Makefile.inc
|
||||||
|
@echo OBJECTS = \>$@
|
||||||
|
@for %O in ($(OBJECTS)) do @echo $$(INTDIR)\%O \>>$@
|
||||||
|
@echo $$(EOL)>>$@
|
||||||
|
|
||||||
|
90
README
90
README
@@ -8,90 +8,12 @@ Web site: http://www.libssh2.org/
|
|||||||
|
|
||||||
Mailing list: http://cool.haxx.se/mailman/listinfo/libssh2-devel
|
Mailing list: http://cool.haxx.se/mailman/listinfo/libssh2-devel
|
||||||
|
|
||||||
Generic installation instructions are in INSTALL. Some ./configure
|
License: see COPYING
|
||||||
options deserve additional comments:
|
|
||||||
|
|
||||||
* --enable-crypt-none
|
Source code: https://github.com/libssh2/libssh2
|
||||||
|
|
||||||
The SSH2 Transport allows for unencrypted data
|
Web site source code: https://github.com/libssh2/www
|
||||||
transmission using the "none" cipher. Because this is
|
|
||||||
such a huge security hole, it is typically disabled on
|
|
||||||
SSH2 implementations and is disabled in libssh2 by
|
|
||||||
default as well.
|
|
||||||
|
|
||||||
Enabling this option will allow for "none" as a
|
Installation instructions are in:
|
||||||
negotiable method, however it still requires that the
|
- docs/INSTALL_CMAKE for CMake
|
||||||
method be advertized by the remote end and that no
|
- docs/INSTALL_AUTOTOOLS for Autotools
|
||||||
more-preferable methods are available.
|
|
||||||
|
|
||||||
* --enable-mac-none
|
|
||||||
|
|
||||||
The SSH2 Transport also allows implementations to
|
|
||||||
forego a message authentication code. While this is
|
|
||||||
less of a security risk than using a "none" cipher, it
|
|
||||||
is still not recommended as disabling MAC hashes
|
|
||||||
removes a layer of security.
|
|
||||||
|
|
||||||
Enabling this option will allow for "none" as a
|
|
||||||
negotiable method, however it still requires that the
|
|
||||||
method be advertized by the remote end and that no
|
|
||||||
more-preferable methods are available.
|
|
||||||
|
|
||||||
* --disable-gex-new
|
|
||||||
|
|
||||||
The diffie-hellman-group-exchange-sha1 (dh-gex) key
|
|
||||||
exchange method originally defined an exchange
|
|
||||||
negotiation using packet type 30 to request a
|
|
||||||
generation pair based on a single target value. Later
|
|
||||||
refinement of dh-gex provided for range and target
|
|
||||||
values. By default libssh2 will use the newer range
|
|
||||||
method.
|
|
||||||
|
|
||||||
If you experience trouble connecting to an old SSH
|
|
||||||
server using dh-gex, try this option to fallback on
|
|
||||||
the older more reliable method.
|
|
||||||
|
|
||||||
* --with-libgcrypt
|
|
||||||
* --without-libgcrypt
|
|
||||||
* --with-libgcrypt-prefix=DIR
|
|
||||||
|
|
||||||
libssh2 can use the Libgcrypt library
|
|
||||||
(http://www.gnupg.org/) for cryptographic operations.
|
|
||||||
Either Libgcrypt or OpenSSL is required.
|
|
||||||
|
|
||||||
Configure will attempt to locate Libgcrypt
|
|
||||||
automatically.
|
|
||||||
|
|
||||||
If your installation of Libgcrypt is in another
|
|
||||||
location, specify it using --with-libgcrypt-prefix.
|
|
||||||
|
|
||||||
* --with-openssl
|
|
||||||
* --without-openssl
|
|
||||||
* --with-libssl-prefix=[DIR]
|
|
||||||
|
|
||||||
libssh2 can use the OpenSSL library
|
|
||||||
(http://www.openssl.org) for cryptographic operations.
|
|
||||||
Either Libgcrypt or OpenSSL is required.
|
|
||||||
|
|
||||||
Configure will attempt to locate OpenSSL in the
|
|
||||||
default location.
|
|
||||||
|
|
||||||
If your installation of OpenSSL is in another
|
|
||||||
location, specify it using --with-libssl-prefix.
|
|
||||||
|
|
||||||
* --with-libz
|
|
||||||
* --without-libz
|
|
||||||
* --with-libz-prefix=[DIR]
|
|
||||||
|
|
||||||
If present, libssh2 will attempt to use the zlib
|
|
||||||
(http://www.zlib.org) for payload compression, however
|
|
||||||
zlib is not required.
|
|
||||||
|
|
||||||
If your installation of Libz is in another location,
|
|
||||||
specify it using --with-libz-prefix.
|
|
||||||
|
|
||||||
* --enable-debug
|
|
||||||
|
|
||||||
Will make the build use more pedantic and strict compiler
|
|
||||||
options as well as enable the libssh2_trace() function (for
|
|
||||||
showing debug traces).
|
|
||||||
|
@@ -1,19 +1,45 @@
|
|||||||
libssh2 1.3.0
|
libssh2 1.6.0
|
||||||
|
|
||||||
This release includes the following changes:
|
This release includes the following changes:
|
||||||
|
|
||||||
o Added custom callbacks for performing low level socket I/O
|
o Added CMake build system
|
||||||
|
o Added libssh2_userauth_publickey_frommemory()
|
||||||
|
|
||||||
This release includes the following bugfixes:
|
This release includes the following bugfixes:
|
||||||
|
|
||||||
o sftp_read: advance offset correctly for buffered copies
|
o wait_socket: wrong use of difftime() [1]
|
||||||
o libssh2_sftp_seek64: flush packetlist and buffered data
|
o userauth: Fixed prompt text no longer being copied to the prompts struct
|
||||||
o _libssh2_packet_add: adjust window size when truncating
|
o mingw build: allow to pass custom CFLAGS
|
||||||
o sftp_read: a short read is not end of file
|
o Let mansyntax.sh work regardless of where it is called from
|
||||||
|
o Init HMAC_CTX before using it
|
||||||
|
o direct_tcpip: Fixed channel write
|
||||||
|
o WinCNG: fixed backend breakage
|
||||||
|
o OpenSSL: caused by introducing libssh2_hmac_ctx_init
|
||||||
|
o userauth.c: fix possible dereferences of a null pointer
|
||||||
|
o wincng: Added explicit clear memory feature to WinCNG backend
|
||||||
|
o openssl.c: fix possible segfault in case EVP_DigestInit fails
|
||||||
|
o wincng: fix return code of libssh2_md5_init()
|
||||||
|
o kex: do not ignore failure of libssh2_sha1_init()
|
||||||
|
o scp: fix that scp_send may transmit not initialised memory [3]
|
||||||
|
o scp.c: improved command length calculation
|
||||||
|
o nonblocking examples: fix warning about unused tvdiff on Mac OS X
|
||||||
|
o configure: make clear-memory default but WARN if backend unsupported
|
||||||
|
o OpenSSL: Enable use of OpenSSL that doesn't have DSA
|
||||||
|
o OpenSSL: Use correct no-blowfish #define
|
||||||
|
o kex: fix libgcrypt memory leaks of bignum [2]
|
||||||
|
o libssh2_channel_open: more detailed error message
|
||||||
|
o wincng: fixed memleak in (block) cipher destructor
|
||||||
|
|
||||||
|
|
||||||
This release would not have looked like this without help, code, reports and
|
This release would not have looked like this without help, code, reports and
|
||||||
advice from friends like these:
|
advice from friends like these:
|
||||||
|
|
||||||
Henrik Nordstrom, liuzl, Guenter Knauf
|
Alexander Lamaison, Daniel Stenberg, David Calavera, Hannes Domani,
|
||||||
|
Jakob Egger, Joe Turpin, Marc Hoersken, Viktor Szakáts, Will Cosgrove,
|
||||||
|
(9 contributors)
|
||||||
|
|
||||||
Thanks! (and sorry if I forgot to mention someone)
|
Thanks! (and sorry if I forgot to mention someone)
|
||||||
|
|
||||||
|
[1] = https://github.com/bagder/libssh2/issues/1
|
||||||
|
[2] = https://trac.libssh2.org/ticket/168
|
||||||
|
[3] = https://trac.libssh2.org/ticket/244
|
||||||
|
59
appveyor.yml
Normal file
59
appveyor.yml
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
# Copyright (c) 2014, Ruslan Baratov
|
||||||
|
# Copyright (c) 2014, Alexander Lamaison
|
||||||
|
# All rights reserved.
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms, with or without
|
||||||
|
# modification, are permitted provided that the following conditions are met:
|
||||||
|
#
|
||||||
|
# * Redistributions of source code must retain the above copyright notice, this
|
||||||
|
# list of conditions and the following disclaimer.
|
||||||
|
#
|
||||||
|
# * Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
# this list of conditions and the following disclaimer in the documentation
|
||||||
|
# and/or other materials provided with the distribution.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||||
|
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||||
|
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||||
|
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
environment:
|
||||||
|
matrix:
|
||||||
|
- GENERATOR: "Visual Studio 12"
|
||||||
|
BUILD_SHARED_LIBS: ON
|
||||||
|
|
||||||
|
- GENERATOR: "Visual Studio 12"
|
||||||
|
BUILD_SHARED_LIBS: OFF
|
||||||
|
|
||||||
|
- GENERATOR: "Visual Studio 11"
|
||||||
|
BUILD_SHARED_LIBS: ON
|
||||||
|
|
||||||
|
- GENERATOR: "Visual Studio 11"
|
||||||
|
BUILD_SHARED_LIBS: OFF
|
||||||
|
|
||||||
|
platform:
|
||||||
|
- x86
|
||||||
|
- x64
|
||||||
|
|
||||||
|
# configuration:
|
||||||
|
# - Debug
|
||||||
|
# - Release
|
||||||
|
|
||||||
|
build_script:
|
||||||
|
- ps: if($env:PLATFORM -eq "x64") { $env:CMAKE_GEN_SUFFIX=" Win64" }
|
||||||
|
- cmake "-G%GENERATOR%%CMAKE_GEN_SUFFIX%" -DBUILD_SHARED_LIBS=%BUILD_SHARED_LIBS% -H. -B_builds
|
||||||
|
- cmake --build _builds --config "%CONFIGURATION%"
|
||||||
|
|
||||||
|
test_script:
|
||||||
|
- ps: cd _builds
|
||||||
|
- ctest -VV -C "%CONFIGURATION%" --output-on-failure
|
||||||
|
|
||||||
|
on_failure:
|
||||||
|
- ps: cat _builds/CMakeFiles/CMakeOutput.log
|
||||||
|
- ps: cat _builds/CMakeFiles/CMakeError.log
|
81
cmake/CheckFunctionExistsMayNeedLibrary.cmake
Normal file
81
cmake/CheckFunctionExistsMayNeedLibrary.cmake
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
# Copyright (c) 2014 Alexander Lamaison <alexander.lamaison@gmail.com>
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms,
|
||||||
|
# with or without modification, are permitted provided
|
||||||
|
# that the following conditions are met:
|
||||||
|
#
|
||||||
|
# Redistributions of source code must retain the above
|
||||||
|
# copyright notice, this list of conditions and the
|
||||||
|
# following disclaimer.
|
||||||
|
#
|
||||||
|
# Redistributions in binary form must reproduce the above
|
||||||
|
# copyright notice, this list of conditions and the following
|
||||||
|
# disclaimer in the documentation and/or other materials
|
||||||
|
# provided with the distribution.
|
||||||
|
#
|
||||||
|
# Neither the name of the copyright holder nor the names
|
||||||
|
# of any other contributors may be used to endorse or
|
||||||
|
# promote products derived from this software without
|
||||||
|
# specific prior written permission.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
||||||
|
# CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||||
|
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||||
|
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||||
|
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||||
|
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||||
|
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||||
|
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
||||||
|
# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
|
||||||
|
# OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
|
||||||
|
# - check_function_exists_maybe_need_library(<function> <var> [lib1 ... libn])
|
||||||
|
#
|
||||||
|
# Check if function is available for linking, first without extra libraries, and
|
||||||
|
# then, if not found that way, linking in each optional library as well. This
|
||||||
|
# function is similar to autotools AC_SEARCH_LIBS.
|
||||||
|
#
|
||||||
|
# If the function if found, this will define <var>.
|
||||||
|
#
|
||||||
|
# If the function was only found by linking in an additional library, this
|
||||||
|
# will define NEED_LIB_LIBX, where LIBX is the one of lib1 to libn that
|
||||||
|
# makes the function available, in uppercase.
|
||||||
|
#
|
||||||
|
# The following variables may be set before calling this macro to
|
||||||
|
# modify the way the check is run:
|
||||||
|
#
|
||||||
|
# CMAKE_REQUIRED_FLAGS = string of compile command line flags
|
||||||
|
# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
|
||||||
|
# CMAKE_REQUIRED_INCLUDES = list of include directories
|
||||||
|
# CMAKE_REQUIRED_LIBRARIES = list of libraries to link
|
||||||
|
#
|
||||||
|
|
||||||
|
include(CheckFunctionExists)
|
||||||
|
include(CheckLibraryExists)
|
||||||
|
|
||||||
|
function(check_function_exists_may_need_library function variable)
|
||||||
|
|
||||||
|
check_function_exists(${function} ${variable})
|
||||||
|
|
||||||
|
if(NOT ${variable})
|
||||||
|
foreach(lib ${ARGN})
|
||||||
|
string(TOUPPER ${lib} UP_LIB)
|
||||||
|
# Use new variable to prevent cache from previous step shortcircuiting
|
||||||
|
# new test
|
||||||
|
check_library_exists(${lib} ${function} "" HAVE_${function}_IN_${lib})
|
||||||
|
if(HAVE_${function}_IN_${lib})
|
||||||
|
set(${variable} 1 CACHE INTERNAL
|
||||||
|
"Function ${function} found in library ${lib}")
|
||||||
|
set(NEED_LIB_${UP_LIB} 1 CACHE INTERNAL
|
||||||
|
"Need to link ${lib}")
|
||||||
|
break()
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
endfunction()
|
119
cmake/CheckNonblockingSocketSupport.cmake
Normal file
119
cmake/CheckNonblockingSocketSupport.cmake
Normal file
@@ -0,0 +1,119 @@
|
|||||||
|
include(CheckCSourceCompiles)
|
||||||
|
|
||||||
|
# - check_nonblocking_socket_support()
|
||||||
|
#
|
||||||
|
# Check for how to set a socket to non-blocking state. There seems to exist
|
||||||
|
# four known different ways, with the one used almost everywhere being POSIX
|
||||||
|
# and XPG3, while the other different ways for different systems (old BSD,
|
||||||
|
# Windows and Amiga).
|
||||||
|
#
|
||||||
|
# One of the following variables will be set indicating the supported
|
||||||
|
# method (if any):
|
||||||
|
# HAVE_O_NONBLOCK
|
||||||
|
# HAVE_FIONBIO
|
||||||
|
# HAVE_IOCTLSOCKET
|
||||||
|
# HAVE_IOCTLSOCKET_CASE
|
||||||
|
# HAVE_SO_NONBLOCK
|
||||||
|
# HAVE_DISABLED_NONBLOCKING
|
||||||
|
#
|
||||||
|
# The following variables may be set before calling this macro to
|
||||||
|
# modify the way the check is run:
|
||||||
|
#
|
||||||
|
# CMAKE_REQUIRED_FLAGS = string of compile command line flags
|
||||||
|
# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
|
||||||
|
# CMAKE_REQUIRED_INCLUDES = list of include directories
|
||||||
|
# CMAKE_REQUIRED_LIBRARIES = list of libraries to link
|
||||||
|
#
|
||||||
|
macro(check_nonblocking_socket_support)
|
||||||
|
# There are two known platforms (AIX 3.x and SunOS 4.1.x) where the
|
||||||
|
# O_NONBLOCK define is found but does not work.
|
||||||
|
check_c_source_compiles("
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
|
||||||
|
#if defined(sun) || defined(__sun__) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
|
||||||
|
# if defined(__SVR4) || defined(__srv4__)
|
||||||
|
# define PLATFORM_SOLARIS
|
||||||
|
# else
|
||||||
|
# define PLATFORM_SUNOS4
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
#if (defined(_AIX) || defined(__xlC__)) && !defined(_AIX41)
|
||||||
|
# define PLATFORM_AIX_V3
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(PLATFORM_SUNOS4) || defined(PLATFORM_AIX_V3) || defined(__BEOS__)
|
||||||
|
#error \"O_NONBLOCK does not work on this platform\"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
int socket;
|
||||||
|
int flags = fcntl(socket, F_SETFL, flags | O_NONBLOCK);
|
||||||
|
}"
|
||||||
|
HAVE_O_NONBLOCK)
|
||||||
|
|
||||||
|
if(NOT HAVE_O_NONBLOCK)
|
||||||
|
check_c_source_compiles("/* FIONBIO test (old-style unix) */
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <stropts.h>
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
int socket;
|
||||||
|
int flags = ioctl(socket, FIONBIO, &flags);
|
||||||
|
}"
|
||||||
|
HAVE_FIONBIO)
|
||||||
|
|
||||||
|
if(NOT HAVE_FIONBIO)
|
||||||
|
check_c_source_compiles("/* ioctlsocket test (Windows) */
|
||||||
|
#undef inline
|
||||||
|
#ifndef WIN32_LEAN_AND_MEAN
|
||||||
|
#define WIN32_LEAN_AND_MEAN
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <windows.h>
|
||||||
|
#include <winsock2.h>
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
SOCKET sd;
|
||||||
|
unsigned long flags = 0;
|
||||||
|
sd = socket(0, 0, 0);
|
||||||
|
ioctlsocket(sd, FIONBIO, &flags);
|
||||||
|
}"
|
||||||
|
HAVE_IOCTLSOCKET)
|
||||||
|
|
||||||
|
if(NOT HAVE_IOCTLSOCKET)
|
||||||
|
check_c_source_compiles("/* IoctlSocket test (Amiga?) */
|
||||||
|
#include <sys/ioctl.h>
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
int socket;
|
||||||
|
int flags = IoctlSocket(socket, FIONBIO, (long)1);
|
||||||
|
}"
|
||||||
|
HAVE_IOCTLSOCKET_CASE)
|
||||||
|
|
||||||
|
if(NOT HAVE_IOCTLSOCKET_CASE)
|
||||||
|
check_c_source_compiles("/* SO_NONBLOCK test (BeOS) */
|
||||||
|
#include <socket.h>
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
long b = 1;
|
||||||
|
int socket;
|
||||||
|
int flags = setsockopt(socket, SOL_SOCKET, SO_NONBLOCK, &b, sizeof(b));
|
||||||
|
}"
|
||||||
|
HAVE_SO_NONBLOCK)
|
||||||
|
|
||||||
|
if(NOT HAVE_SO_NONBLOCK)
|
||||||
|
# No non-blocking socket method found
|
||||||
|
set(HAVE_DISABLED_NONBLOCKING 1)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
endmacro()
|
72
cmake/CopyRuntimeDependencies.cmake
Normal file
72
cmake/CopyRuntimeDependencies.cmake
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
# Copyright (c) 2014 Alexander Lamaison <alexander.lamaison@gmail.com>
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms,
|
||||||
|
# with or without modification, are permitted provided
|
||||||
|
# that the following conditions are met:
|
||||||
|
#
|
||||||
|
# Redistributions of source code must retain the above
|
||||||
|
# copyright notice, this list of conditions and the
|
||||||
|
# following disclaimer.
|
||||||
|
#
|
||||||
|
# Redistributions in binary form must reproduce the above
|
||||||
|
# copyright notice, this list of conditions and the following
|
||||||
|
# disclaimer in the documentation and/or other materials
|
||||||
|
# provided with the distribution.
|
||||||
|
#
|
||||||
|
# Neither the name of the copyright holder nor the names
|
||||||
|
# of any other contributors may be used to endorse or
|
||||||
|
# promote products derived from this software without
|
||||||
|
# specific prior written permission.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
||||||
|
# CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||||
|
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||||
|
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||||
|
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||||
|
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||||
|
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||||
|
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
||||||
|
# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
|
||||||
|
# OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
include(CMakeParseArguments)
|
||||||
|
|
||||||
|
function(ADD_TARGET_TO_COPY_DEPENDENCIES)
|
||||||
|
set(options)
|
||||||
|
set(oneValueArgs TARGET)
|
||||||
|
set(multiValueArgs DEPENDENCIES BEFORE_TARGETS)
|
||||||
|
cmake_parse_arguments(COPY
|
||||||
|
"${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
||||||
|
|
||||||
|
if(NOT COPY_DEPENDENCIES)
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Using a custom target to drive custom commands stops multiple
|
||||||
|
# parallel builds trying to kick off the commands at the same time
|
||||||
|
add_custom_target(${COPY_TARGET})
|
||||||
|
|
||||||
|
foreach(target ${COPY_BEFORE_TARGETS})
|
||||||
|
add_dependencies(${target} ${COPY_TARGET})
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
foreach(dependency ${COPY_DEPENDENCIES})
|
||||||
|
|
||||||
|
add_custom_command(
|
||||||
|
TARGET ${COPY_TARGET}
|
||||||
|
DEPENDS ${dependency}
|
||||||
|
# Make directory first otherwise file is copied in place of
|
||||||
|
# directory instead of into it
|
||||||
|
COMMAND ${CMAKE_COMMAND}
|
||||||
|
ARGS -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}
|
||||||
|
COMMAND ${CMAKE_COMMAND}
|
||||||
|
ARGS -E copy ${dependency} ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}
|
||||||
|
VERBATIM)
|
||||||
|
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
endfunction()
|
53
cmake/FindLibgcrypt.cmake
Normal file
53
cmake/FindLibgcrypt.cmake
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
# Copyright (c) 2014 Alexander Lamaison <alexander.lamaison@gmail.com>
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms,
|
||||||
|
# with or without modification, are permitted provided
|
||||||
|
# that the following conditions are met:
|
||||||
|
#
|
||||||
|
# Redistributions of source code must retain the above
|
||||||
|
# copyright notice, this list of conditions and the
|
||||||
|
# following disclaimer.
|
||||||
|
#
|
||||||
|
# Redistributions in binary form must reproduce the above
|
||||||
|
# copyright notice, this list of conditions and the following
|
||||||
|
# disclaimer in the documentation and/or other materials
|
||||||
|
# provided with the distribution.
|
||||||
|
#
|
||||||
|
# Neither the name of the copyright holder nor the names
|
||||||
|
# of any other contributors may be used to endorse or
|
||||||
|
# promote products derived from this software without
|
||||||
|
# specific prior written permission.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
||||||
|
# CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||||
|
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||||
|
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||||
|
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||||
|
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||||
|
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||||
|
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
||||||
|
# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
|
||||||
|
# OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
# - Try to find Libgcrypt
|
||||||
|
# This will define all or none of:
|
||||||
|
# LIBGCRYPT_FOUND - if Libgcrypt headers and library was found
|
||||||
|
# LIBGCRYPT_INCLUDE_DIRS - The Libgcrypt include directories
|
||||||
|
# LIBGCRYPT_LIBRARIES - The libraries needed to use Libgcrypt
|
||||||
|
|
||||||
|
find_path(LIBGCRYPT_INCLUDE_DIR gcrypt.h)
|
||||||
|
|
||||||
|
find_library(LIBGCRYPT_LIBRARY NAMES gcrypt libgcrypt)
|
||||||
|
|
||||||
|
set(LIBGCRYPT_LIBRARIES ${LIBGCRYPT_LIBRARY})
|
||||||
|
set(LIBGCRYPT_INCLUDE_DIRS ${LIBGCRYPT_INCLUDE_DIR})
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
find_package_handle_standard_args(Libgcrypt DEFAULT_MSG
|
||||||
|
LIBGCRYPT_LIBRARY LIBGCRYPT_INCLUDE_DIR)
|
||||||
|
|
||||||
|
mark_as_advanced(LIBGCRYPT_INCLUDE_DIR LIBGCRYPT_LIBRARY)
|
64
cmake/SocketLibraries.cmake
Normal file
64
cmake/SocketLibraries.cmake
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
# Copyright (c) 2014 Alexander Lamaison <alexander.lamaison@gmail.com>
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms,
|
||||||
|
# with or without modification, are permitted provided
|
||||||
|
# that the following conditions are met:
|
||||||
|
#
|
||||||
|
# Redistributions of source code must retain the above
|
||||||
|
# copyright notice, this list of conditions and the
|
||||||
|
# following disclaimer.
|
||||||
|
#
|
||||||
|
# Redistributions in binary form must reproduce the above
|
||||||
|
# copyright notice, this list of conditions and the following
|
||||||
|
# disclaimer in the documentation and/or other materials
|
||||||
|
# provided with the distribution.
|
||||||
|
#
|
||||||
|
# Neither the name of the copyright holder nor the names
|
||||||
|
# of any other contributors may be used to endorse or
|
||||||
|
# promote products derived from this software without
|
||||||
|
# specific prior written permission.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
||||||
|
# CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||||
|
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||||
|
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||||
|
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||||
|
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||||
|
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||||
|
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
||||||
|
# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
|
||||||
|
# OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
# Some systems have their socket functions in a library.
|
||||||
|
# (Solaris -lsocket/-lnsl, Windows -lws2_32). This macro appends those
|
||||||
|
# libraries to the given list
|
||||||
|
macro(append_needed_socket_libraries LIBRARIES_LIST)
|
||||||
|
if(CMAKE_SYSTEM_NAME STREQUAL "Windows" AND CMAKE_SIZEOF_VOID_P EQUAL 4)
|
||||||
|
# x86 Windows uses STDCALL for these functions, so their names are mangled,
|
||||||
|
# meaning the platform checks don't work. Hardcoding these until we get
|
||||||
|
# a better solution.
|
||||||
|
set(HAVE_SOCKET 1)
|
||||||
|
set(HAVE_SELECT 1)
|
||||||
|
set(HAVE_INET_ADDR 1)
|
||||||
|
set(NEED_LIB_WS2_32 1)
|
||||||
|
else()
|
||||||
|
check_function_exists_may_need_library(socket HAVE_SOCKET socket ws2_32)
|
||||||
|
check_function_exists_may_need_library(select HAVE_SELECT ws2_32)
|
||||||
|
check_function_exists_may_need_library(inet_addr HAVE_INET_ADDR nsl ws2_32)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NEED_LIB_SOCKET)
|
||||||
|
list(APPEND ${LIBRARIES_LIST} socket)
|
||||||
|
endif()
|
||||||
|
if(NEED_LIB_NSL)
|
||||||
|
list(APPEND ${LIBRARIES_LIST} nsl)
|
||||||
|
endif()
|
||||||
|
if(NEED_LIB_WS2_32)
|
||||||
|
list(APPEND ${LIBRARIES_LIST} ws2_32)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
endmacro()
|
42
cmake/Toolchain-Linux-32.cmake
Normal file
42
cmake/Toolchain-Linux-32.cmake
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
# Copyright (c) 2014 Alexander Lamaison <alexander.lamaison@gmail.com>
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms,
|
||||||
|
# with or without modification, are permitted provided
|
||||||
|
# that the following conditions are met:
|
||||||
|
#
|
||||||
|
# Redistributions of source code must retain the above
|
||||||
|
# copyright notice, this list of conditions and the
|
||||||
|
# following disclaimer.
|
||||||
|
#
|
||||||
|
# Redistributions in binary form must reproduce the above
|
||||||
|
# copyright notice, this list of conditions and the following
|
||||||
|
# disclaimer in the documentation and/or other materials
|
||||||
|
# provided with the distribution.
|
||||||
|
#
|
||||||
|
# Neither the name of the copyright holder nor the names
|
||||||
|
# of any other contributors may be used to endorse or
|
||||||
|
# promote products derived from this software without
|
||||||
|
# specific prior written permission.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
||||||
|
# CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||||
|
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||||
|
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||||
|
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||||
|
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||||
|
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||||
|
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
||||||
|
# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
|
||||||
|
# OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
# Cross-compile 32-bit binary on 64-bit linux host
|
||||||
|
set(CMAKE_SYSTEM_NAME Linux)
|
||||||
|
set(CMAKE_SYSTEM_VERSION 1)
|
||||||
|
set(CMAKE_SYSTEM_PROCESSOR "i386")
|
||||||
|
|
||||||
|
set(CMAKE_CXX_COMPILER_ARG1 "-m32")
|
||||||
|
set(CMAKE_C_COMPILER_ARG1 "-m32")
|
23
cmake/max_warnings.cmake
Normal file
23
cmake/max_warnings.cmake
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
if(MSVC)
|
||||||
|
# Use the highest warning level for visual studio.
|
||||||
|
if(CMAKE_CXX_FLAGS MATCHES "/W[0-4]")
|
||||||
|
string(REGEX REPLACE "/W[0-4]" "/W4" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||||
|
else()
|
||||||
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4")
|
||||||
|
endif()
|
||||||
|
if(CMAKE_C_FLAGS MATCHES "/W[0-4]")
|
||||||
|
string(REGEX REPLACE "/W[0-4]" "/W4" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
|
||||||
|
else()
|
||||||
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W4")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Disable broken warnings
|
||||||
|
add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE)
|
||||||
|
elseif(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
|
||||||
|
if(NOT CMAKE_CXX_FLAGS MATCHES "-Wall")
|
||||||
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
|
||||||
|
endif()
|
||||||
|
if(NOT CMAKE_C_FLAGS MATCHES "-Wall")
|
||||||
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
|
||||||
|
endif()
|
||||||
|
endif()
|
147
configure.ac
147
configure.ac
@@ -2,7 +2,7 @@
|
|||||||
AC_INIT(libssh2, [-], libssh2-devel@cool.haxx.se)
|
AC_INIT(libssh2, [-], libssh2-devel@cool.haxx.se)
|
||||||
AC_CONFIG_MACRO_DIR([m4])
|
AC_CONFIG_MACRO_DIR([m4])
|
||||||
AC_CONFIG_SRCDIR([src])
|
AC_CONFIG_SRCDIR([src])
|
||||||
AM_CONFIG_HEADER([src/libssh2_config.h example/libssh2_config.h])
|
AC_CONFIG_HEADERS([src/libssh2_config.h example/libssh2_config.h])
|
||||||
AM_MAINTAINER_MODE
|
AM_MAINTAINER_MODE
|
||||||
|
|
||||||
dnl SED is needed by some of the tools
|
dnl SED is needed by some of the tools
|
||||||
@@ -32,7 +32,7 @@ AB_INIT
|
|||||||
AC_CANONICAL_HOST
|
AC_CANONICAL_HOST
|
||||||
case "$host" in
|
case "$host" in
|
||||||
*-mingw*)
|
*-mingw*)
|
||||||
CFLAGS="$CFLAGS -DLIBSSH2_WIN32 -DWINSOCK_VERSION=0x0200"
|
CFLAGS="$CFLAGS -DLIBSSH2_WIN32"
|
||||||
LIBS="$LIBS -lws2_32"
|
LIBS="$LIBS -lws2_32"
|
||||||
;;
|
;;
|
||||||
*-cygwin)
|
*-cygwin)
|
||||||
@@ -83,55 +83,109 @@ dnl check for how to do large files
|
|||||||
AC_SYS_LARGEFILE
|
AC_SYS_LARGEFILE
|
||||||
|
|
||||||
# Configure parameters
|
# Configure parameters
|
||||||
AC_ARG_WITH(libgcrypt,
|
|
||||||
AC_HELP_STRING([--with-libgcrypt],[Use Libgcrypt for crypto]),
|
|
||||||
use_libgcrypt=$withval,use_libgcrypt=auto)
|
|
||||||
AC_ARG_WITH(openssl,
|
AC_ARG_WITH(openssl,
|
||||||
AC_HELP_STRING([--with-openssl],[Use OpenSSL for crypto]),
|
AC_HELP_STRING([--with-openssl],[Use OpenSSL for crypto]),
|
||||||
use_openssl=$withval,use_openssl=auto)
|
use_openssl=$withval,use_openssl=auto)
|
||||||
|
AC_ARG_WITH(libgcrypt,
|
||||||
|
AC_HELP_STRING([--with-libgcrypt],[Use libgcrypt for crypto]),
|
||||||
|
use_libgcrypt=$withval,use_libgcrypt=auto)
|
||||||
|
AC_ARG_WITH(wincng,
|
||||||
|
AC_HELP_STRING([--with-wincng],[Use Windows CNG for crypto]),
|
||||||
|
use_wincng=$withval,use_wincng=auto)
|
||||||
AC_ARG_WITH(libz,
|
AC_ARG_WITH(libz,
|
||||||
AC_HELP_STRING([--with-libz],[Use Libz for compression]),
|
AC_HELP_STRING([--with-libz],[Use zlib for compression]),
|
||||||
use_libz=$withval,use_libz=auto)
|
use_libz=$withval,use_libz=auto)
|
||||||
|
|
||||||
# Look for OpenSSL (default)
|
found_crypto=none
|
||||||
if test "$use_openssl" != "no" && test "$use_libgcrypt" != "yes"; then
|
support_clear_memory=no
|
||||||
|
|
||||||
|
# Look for OpenSSL
|
||||||
|
if test "$found_crypto" = "none" && test "$use_openssl" != "no"; then
|
||||||
AC_LIB_HAVE_LINKFLAGS([ssl], [crypto], [#include <openssl/ssl.h>])
|
AC_LIB_HAVE_LINKFLAGS([ssl], [crypto], [#include <openssl/ssl.h>])
|
||||||
fi
|
fi
|
||||||
|
if test "$ac_cv_libssl" = "yes"; then
|
||||||
|
AC_DEFINE(LIBSSH2_OPENSSL, 1, [Use OpenSSL])
|
||||||
|
LIBSREQUIRED=libssl,libcrypto
|
||||||
|
|
||||||
|
# Not all OpenSSL have AES-CTR functions.
|
||||||
|
save_LIBS="$LIBS"
|
||||||
|
LIBS="$LIBS $LIBSSL"
|
||||||
|
AC_CHECK_FUNCS(EVP_aes_128_ctr)
|
||||||
|
LIBS="$save_LIBS"
|
||||||
|
|
||||||
|
found_crypto="OpenSSL (AES-CTR: ${ac_cv_func_EVP_aes_128_ctr:-N/A})"
|
||||||
|
fi
|
||||||
|
AM_CONDITIONAL(OPENSSL, test "$ac_cv_libssl" = "yes")
|
||||||
|
|
||||||
# Look for libgcrypt
|
# Look for libgcrypt
|
||||||
if test "$ac_cv_libssl" != "yes" && test "$use_libgcrypt" != "no"; then
|
if test "$found_crypto" = "none" && test "$use_libgcrypt" != "no"; then
|
||||||
AC_LIB_HAVE_LINKFLAGS([gcrypt], [], [#include <gcrypt.h>])
|
AC_LIB_HAVE_LINKFLAGS([gcrypt], [], [#include <gcrypt.h>])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "$ac_cv_libssl" != "yes" && test "$ac_cv_libgcrypt" != "yes"; then
|
|
||||||
AC_MSG_ERROR([cannot find OpenSSL or Libgcrypt,
|
|
||||||
try --with-libssl-prefix=PATH or --with-libgcrypt-prefix=PATH])
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "$ac_cv_libgcrypt" = "yes"; then
|
if test "$ac_cv_libgcrypt" = "yes"; then
|
||||||
AC_DEFINE(LIBSSH2_LIBGCRYPT, 1, [Use libgcrypt])
|
AC_DEFINE(LIBSSH2_LIBGCRYPT, 1, [Use libgcrypt])
|
||||||
|
LIBSREQUIRED= # libgcrypt doesn't provide a .pc file. sad face.
|
||||||
|
LIBS="$LIBS -lgcrypt"
|
||||||
|
found_crypto=libgcrypt
|
||||||
fi
|
fi
|
||||||
AM_CONDITIONAL(LIBGCRYPT, test "$ac_cv_libgcrypt" = "yes")
|
AM_CONDITIONAL(LIBGCRYPT, test "$ac_cv_libgcrypt" = "yes")
|
||||||
|
|
||||||
# Not all OpenSSL have AES-CTR functions.
|
# Look for Windows Cryptography API: Next Generation
|
||||||
if test "$ac_cv_libssl" = "yes"; then
|
if test "$found_crypto" = "none" && test "$use_wincng" != "no"; then
|
||||||
save_LDFLAGS="$LDFLAGS"
|
AC_LIB_HAVE_LINKFLAGS([bcrypt], [], [
|
||||||
LDFLAGS="$LDFLAGS $LIBSSL"
|
#include <windows.h>
|
||||||
AC_CHECK_FUNCS(EVP_aes_128_ctr)
|
#include <bcrypt.h>
|
||||||
LDFLAGS="$save_LDFLAGS"
|
])
|
||||||
|
AC_LIB_HAVE_LINKFLAGS([crypt32], [], [
|
||||||
|
#include <windows.h>
|
||||||
|
#include <wincrypt.h>
|
||||||
|
])
|
||||||
|
AC_CHECK_HEADERS([ntdef.h ntstatus.h], [], [], [
|
||||||
|
#include <windows.h>
|
||||||
|
])
|
||||||
|
AC_CHECK_DECLS([SecureZeroMemory], [], [], [
|
||||||
|
#include <windows.h>
|
||||||
|
])
|
||||||
|
fi
|
||||||
|
if test "$ac_cv_libbcrypt" = "yes"; then
|
||||||
|
AC_DEFINE(LIBSSH2_WINCNG, 1, [Use Windows CNG])
|
||||||
|
LIBSREQUIRED= # wincng doesn't provide a .pc file. sad face.
|
||||||
|
LIBS="$LIBS -lbcrypt"
|
||||||
|
if test "$ac_cv_libcrypt32" = "yes"; then
|
||||||
|
LIBS="$LIBS -lcrypt32"
|
||||||
|
fi
|
||||||
|
found_crypto="Windows Cryptography API: Next Generation"
|
||||||
|
if test "$ac_cv_have_decl_SecureZeroMemory" = "yes"; then
|
||||||
|
support_clear_memory=yes
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
AM_CONDITIONAL(WINCNG, test "$ac_cv_libbcrypt" = "yes")
|
||||||
|
|
||||||
|
# Check if crypto library was found
|
||||||
|
if test "$found_crypto" = "none"; then
|
||||||
|
AC_MSG_ERROR([No crypto library found!
|
||||||
|
Try --with-libssl-prefix=PATH
|
||||||
|
or --with-libgcrypt-prefix=PATH
|
||||||
|
or --with-wincng on Windows\
|
||||||
|
])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Look for Libz
|
# Look for Libz
|
||||||
if test "$use_libz" != "no"; then
|
if test "$use_libz" != "no"; then
|
||||||
AC_LIB_HAVE_LINKFLAGS([z], [], [#include <zlib.h>])
|
AC_LIB_HAVE_LINKFLAGS([z], [], [#include <zlib.h>])
|
||||||
if test "$ac_cv_libz" != yes; then
|
if test "$ac_cv_libz" != yes; then
|
||||||
AC_MSG_NOTICE([Cannot find libz, disabling compression])
|
AC_MSG_NOTICE([Cannot find zlib, disabling compression])
|
||||||
AC_MSG_NOTICE([Try --with-libz-prefix=PATH if you know you have it])
|
AC_MSG_NOTICE([Try --with-libz-prefix=PATH if you know you have it])
|
||||||
else
|
else
|
||||||
AC_DEFINE(LIBSSH2_HAVE_ZLIB, 1, [Compile in zlib support])
|
AC_DEFINE(LIBSSH2_HAVE_ZLIB, 1, [Compile in zlib support])
|
||||||
|
if test "${LIBSREQUIRED}" != ""; then
|
||||||
|
LIBSREQUIRED="${LIBSREQUIRED},"
|
||||||
|
fi
|
||||||
|
LIBSREQUIRED="${LIBSREQUIRED}zlib"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
AC_SUBST(LIBSREQUIRED)
|
||||||
|
|
||||||
#
|
#
|
||||||
# Optional Settings
|
# Optional Settings
|
||||||
#
|
#
|
||||||
@@ -150,6 +204,30 @@ if test "$GEX_NEW" != "no"; then
|
|||||||
AC_DEFINE(LIBSSH2_DH_GEX_NEW, 1, [Enable newer diffie-hellman-group-exchange-sha1 syntax])
|
AC_DEFINE(LIBSSH2_DH_GEX_NEW, 1, [Enable newer diffie-hellman-group-exchange-sha1 syntax])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
AC_ARG_ENABLE(clear-memory,
|
||||||
|
AC_HELP_STRING([--disable-clear-memory],[Disable clearing of memory before being freed]),
|
||||||
|
[CLEAR_MEMORY=$enableval])
|
||||||
|
if test "$CLEAR_MEMORY" != "no"; then
|
||||||
|
if test "$support_clear_memory" = "yes"; then
|
||||||
|
AC_DEFINE(LIBSSH2_CLEAR_MEMORY, 1, [Enable clearing of memory before being freed])
|
||||||
|
enable_clear_memory=yes
|
||||||
|
else
|
||||||
|
if test "$CLEAR_MEMORY" = "yes"; then
|
||||||
|
AC_MSG_ERROR([secure clearing/zeroing of memory is not supported by the selected crypto backend])
|
||||||
|
else
|
||||||
|
AC_MSG_WARN([secure clearing/zeroing of memory is not supported by the selected crypto backend])
|
||||||
|
fi
|
||||||
|
enable_clear_memory=unsupported
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if test "$support_clear_memory" = "yes"; then
|
||||||
|
enable_clear_memory=no
|
||||||
|
else
|
||||||
|
AC_MSG_WARN([secure clearing/zeroing of memory is not supported by the selected crypto backend])
|
||||||
|
enable_clear_memory=unsupported
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
dnl ************************************************************
|
dnl ************************************************************
|
||||||
dnl option to switch on compiler debug options
|
dnl option to switch on compiler debug options
|
||||||
dnl
|
dnl
|
||||||
@@ -215,12 +293,29 @@ AC_HELP_STRING([--disable-hidden-symbols],[Leave all symbols with default visibi
|
|||||||
AC_MSG_RESULT(no)
|
AC_MSG_RESULT(no)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Build example applications?
|
||||||
|
AC_MSG_CHECKING([whether to build example applications])
|
||||||
|
AC_ARG_ENABLE([examples-build],
|
||||||
|
AC_HELP_STRING([--enable-examples-build], [Build example applications (this is the default)])
|
||||||
|
AC_HELP_STRING([--disable-examples-build], [Do not build example applications]),
|
||||||
|
[case "$enableval" in
|
||||||
|
no | false)
|
||||||
|
build_examples='no'
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
build_examples='yes'
|
||||||
|
;;
|
||||||
|
esac], [build_examples='yes'])
|
||||||
|
AC_MSG_RESULT($build_examples)
|
||||||
|
AM_CONDITIONAL([BUILD_EXAMPLES], [test "x$build_examples" != "xno"])
|
||||||
|
|
||||||
# Checks for header files.
|
# Checks for header files.
|
||||||
# AC_HEADER_STDC
|
# AC_HEADER_STDC
|
||||||
AC_CHECK_HEADERS([errno.h fcntl.h stdio.h stdlib.h unistd.h sys/uio.h])
|
AC_CHECK_HEADERS([errno.h fcntl.h stdio.h stdlib.h unistd.h sys/uio.h])
|
||||||
AC_CHECK_HEADERS([sys/select.h sys/socket.h sys/ioctl.h sys/time.h])
|
AC_CHECK_HEADERS([sys/select.h sys/socket.h sys/ioctl.h sys/time.h])
|
||||||
AC_CHECK_HEADERS([arpa/inet.h netinet/in.h])
|
AC_CHECK_HEADERS([arpa/inet.h netinet/in.h])
|
||||||
AC_CHECK_HEADERS([sys/un.h])
|
AC_CHECK_HEADERS([sys/un.h], [have_sys_un_h=yes], [have_sys_un_h=no])
|
||||||
|
AM_CONDITIONAL([HAVE_SYS_UN_H], test "x$have_sys_un_h" = xyes)
|
||||||
|
|
||||||
case $host in
|
case $host in
|
||||||
*-*-cygwin* | *-*-cegcc*)
|
*-*-cygwin* | *-*-cegcc*)
|
||||||
@@ -297,8 +392,10 @@ AC_MSG_NOTICE([summary of build options:
|
|||||||
Compiler: ${CC}
|
Compiler: ${CC}
|
||||||
Compiler flags: ${CFLAGS}
|
Compiler flags: ${CFLAGS}
|
||||||
Library types: Shared=${enable_shared}, Static=${enable_static}
|
Library types: Shared=${enable_shared}, Static=${enable_static}
|
||||||
Crypto library: openssl: ${ac_cv_libssl:-no} (AES-CTR: ${ac_cv_func_EVP_aes_128_ctr:-N/A}) libgcrypt: ${ac_cv_libgcrypt:-no}
|
Crypto library: ${found_crypto}
|
||||||
|
Clear memory: $enable_clear_memory
|
||||||
Debug build: $enable_debug
|
Debug build: $enable_debug
|
||||||
|
Build examples: $build_examples
|
||||||
Path to sshd: $ac_cv_path_SSHD (only for self-tests)
|
Path to sshd: $ac_cv_path_SSHD (only for self-tests)
|
||||||
libz compression: $ac_cv_libz
|
zlib compression: $ac_cv_libz
|
||||||
])
|
])
|
||||||
|
@@ -6,31 +6,57 @@
|
|||||||
Adam Gobiowski
|
Adam Gobiowski
|
||||||
Alexander Holyapin
|
Alexander Holyapin
|
||||||
Alexander Lamaison
|
Alexander Lamaison
|
||||||
|
Alfred Gebert
|
||||||
Ben Kibbey
|
Ben Kibbey
|
||||||
Bjorn Stenborg
|
Bjorn Stenborg
|
||||||
Carlo Bramini
|
Carlo Bramini
|
||||||
|
Cristian Rodríguez
|
||||||
|
Daiki Ueno
|
||||||
Dan Casey
|
Dan Casey
|
||||||
Dan Fandrich
|
Dan Fandrich
|
||||||
Daniel Stenberg
|
Daniel Stenberg
|
||||||
|
Dave Hayden
|
||||||
|
Dave McCaldon
|
||||||
David J Sullivan
|
David J Sullivan
|
||||||
David Robins
|
David Robins
|
||||||
|
Dmitry Smirnov
|
||||||
|
Douglas Masterson
|
||||||
Edink Kadribasic
|
Edink Kadribasic
|
||||||
Erik Brossler
|
Erik Brossler
|
||||||
Francois Dupoux
|
Francois Dupoux
|
||||||
|
Gellule Xg
|
||||||
|
Grubsky Grigory
|
||||||
Guenter Knauf
|
Guenter Knauf
|
||||||
Heiner Steven
|
Heiner Steven
|
||||||
|
Henrik Nordstrom
|
||||||
James Housleys
|
James Housleys
|
||||||
|
Jasmeet Bagga
|
||||||
Jean-Louis Charton
|
Jean-Louis Charton
|
||||||
|
Jernej Kovacic
|
||||||
|
Joey Degges
|
||||||
|
John Little
|
||||||
|
Jose Baars
|
||||||
Jussi Mononen
|
Jussi Mononen
|
||||||
|
Kamil Dudka
|
||||||
|
Lars Nordin
|
||||||
Mark McPherson
|
Mark McPherson
|
||||||
|
Mark Smith
|
||||||
Markus Moeller
|
Markus Moeller
|
||||||
|
Matt Lilley
|
||||||
|
Matthew Booth
|
||||||
|
Maxime Larocque
|
||||||
Mike Protts
|
Mike Protts
|
||||||
Mikhail Gusarov
|
Mikhail Gusarov
|
||||||
Neil Gierman
|
Neil Gierman
|
||||||
Olivier Hervieu
|
Olivier Hervieu
|
||||||
|
Paul Howarth
|
||||||
|
Paul Querna
|
||||||
Paul Veldkamp
|
Paul Veldkamp
|
||||||
|
Peter Krempa
|
||||||
Peter O'Gorman
|
Peter O'Gorman
|
||||||
Peter Stuge
|
Peter Stuge
|
||||||
|
Pierre Joye
|
||||||
|
Rafael Kitover
|
||||||
Romain Bondue
|
Romain Bondue
|
||||||
Sara Golemon
|
Sara Golemon
|
||||||
Satish Mittal
|
Satish Mittal
|
||||||
@@ -38,10 +64,16 @@ Sean Peterson
|
|||||||
Selcuk Gueney
|
Selcuk Gueney
|
||||||
Simon Hart
|
Simon Hart
|
||||||
Simon Josefsson
|
Simon Josefsson
|
||||||
|
Sofian Brabez
|
||||||
Steven Ayre
|
Steven Ayre
|
||||||
|
Steven Dake
|
||||||
Steven Van Ingelgem
|
Steven Van Ingelgem
|
||||||
|
TJ Saunders
|
||||||
|
Tommy Lindgren
|
||||||
Tor Arntsen
|
Tor Arntsen
|
||||||
Vincent Jaulin
|
Vincent Jaulin
|
||||||
|
Vincent Torri
|
||||||
Vlad Grachov
|
Vlad Grachov
|
||||||
Wez Furlong
|
Wez Furlong
|
||||||
Yang Tse
|
Yang Tse
|
||||||
|
Zl Liu
|
29
docs/BINDINGS
Normal file
29
docs/BINDINGS
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
|
||||||
|
Creative people have written bindings or interfaces for various environments
|
||||||
|
and programming languages. Using one of these bindings allows you to take
|
||||||
|
advantage of libssh2 directly from within your favourite language.
|
||||||
|
|
||||||
|
The bindings listed below are not part of the libssh2 distribution archives,
|
||||||
|
but must be downloaded and installed separately.
|
||||||
|
|
||||||
|
Cocoa/Objective-C
|
||||||
|
https://github.com/karelia/libssh2_sftp-Cocoa-wrapper
|
||||||
|
|
||||||
|
Haskell
|
||||||
|
FFI bindings - http://hackage.haskell.org/package/libssh2
|
||||||
|
|
||||||
|
Perl
|
||||||
|
Net::SSH2 - http://search.cpan.org/~rkitover/Net-SSH2-0.45/lib/Net/SSH2.pm
|
||||||
|
|
||||||
|
PHP
|
||||||
|
ssh2 - http://pecl.php.net/package/ssh2
|
||||||
|
|
||||||
|
Python
|
||||||
|
pylibssh2 - http://www.wallix.org/pylibssh2-project/
|
||||||
|
|
||||||
|
Python-ctypes
|
||||||
|
|
||||||
|
PySsh2 - https://github.com/gellule/PySsh2
|
||||||
|
|
||||||
|
Ruby
|
||||||
|
libssh2-ruby - https://github.com/mitchellh/libssh2-ruby
|
204
docs/CMakeLists.txt
Normal file
204
docs/CMakeLists.txt
Normal file
@@ -0,0 +1,204 @@
|
|||||||
|
# Copyright (c) 2014 Alexander Lamaison <alexander.lamaison@gmail.com>
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms,
|
||||||
|
# with or without modification, are permitted provided
|
||||||
|
# that the following conditions are met:
|
||||||
|
#
|
||||||
|
# Redistributions of source code must retain the above
|
||||||
|
# copyright notice, this list of conditions and the
|
||||||
|
# following disclaimer.
|
||||||
|
#
|
||||||
|
# Redistributions in binary form must reproduce the above
|
||||||
|
# copyright notice, this list of conditions and the following
|
||||||
|
# disclaimer in the documentation and/or other materials
|
||||||
|
# provided with the distribution.
|
||||||
|
#
|
||||||
|
# Neither the name of the copyright holder nor the names
|
||||||
|
# of any other contributors may be used to endorse or
|
||||||
|
# promote products derived from this software without
|
||||||
|
# specific prior written permission.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
||||||
|
# CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||||
|
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||||
|
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||||
|
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||||
|
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||||
|
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||||
|
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
||||||
|
# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
|
||||||
|
# OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
set(MAN_PAGES
|
||||||
|
libssh2_agent_connect.3
|
||||||
|
libssh2_agent_disconnect.3
|
||||||
|
libssh2_agent_free.3
|
||||||
|
libssh2_agent_get_identity.3
|
||||||
|
libssh2_agent_init.3
|
||||||
|
libssh2_agent_list_identities.3
|
||||||
|
libssh2_agent_userauth.3
|
||||||
|
libssh2_banner_set.3
|
||||||
|
libssh2_base64_decode.3
|
||||||
|
libssh2_channel_close.3
|
||||||
|
libssh2_channel_direct_tcpip.3
|
||||||
|
libssh2_channel_direct_tcpip_ex.3
|
||||||
|
libssh2_channel_eof.3
|
||||||
|
libssh2_channel_exec.3
|
||||||
|
libssh2_channel_flush.3
|
||||||
|
libssh2_channel_flush_ex.3
|
||||||
|
libssh2_channel_flush_stderr.3
|
||||||
|
libssh2_channel_forward_accept.3
|
||||||
|
libssh2_channel_forward_cancel.3
|
||||||
|
libssh2_channel_forward_listen.3
|
||||||
|
libssh2_channel_forward_listen_ex.3
|
||||||
|
libssh2_channel_free.3
|
||||||
|
libssh2_channel_get_exit_signal.3
|
||||||
|
libssh2_channel_get_exit_status.3
|
||||||
|
libssh2_channel_handle_extended_data.3
|
||||||
|
libssh2_channel_handle_extended_data2.3
|
||||||
|
libssh2_channel_ignore_extended_data.3
|
||||||
|
libssh2_channel_open_ex.3
|
||||||
|
libssh2_channel_open_session.3
|
||||||
|
libssh2_channel_process_startup.3
|
||||||
|
libssh2_channel_read.3
|
||||||
|
libssh2_channel_read_ex.3
|
||||||
|
libssh2_channel_read_stderr.3
|
||||||
|
libssh2_channel_receive_window_adjust.3
|
||||||
|
libssh2_channel_receive_window_adjust2.3
|
||||||
|
libssh2_channel_request_pty.3
|
||||||
|
libssh2_channel_request_pty_ex.3
|
||||||
|
libssh2_channel_request_pty_size.3
|
||||||
|
libssh2_channel_request_pty_size_ex.3
|
||||||
|
libssh2_channel_send_eof.3
|
||||||
|
libssh2_channel_set_blocking.3
|
||||||
|
libssh2_channel_setenv.3
|
||||||
|
libssh2_channel_setenv_ex.3
|
||||||
|
libssh2_channel_shell.3
|
||||||
|
libssh2_channel_subsystem.3
|
||||||
|
libssh2_channel_wait_closed.3
|
||||||
|
libssh2_channel_wait_eof.3
|
||||||
|
libssh2_channel_window_read.3
|
||||||
|
libssh2_channel_window_read_ex.3
|
||||||
|
libssh2_channel_window_write.3
|
||||||
|
libssh2_channel_window_write_ex.3
|
||||||
|
libssh2_channel_write.3
|
||||||
|
libssh2_channel_write_ex.3
|
||||||
|
libssh2_channel_write_stderr.3
|
||||||
|
libssh2_channel_x11_req.3
|
||||||
|
libssh2_channel_x11_req_ex.3
|
||||||
|
libssh2_exit.3
|
||||||
|
libssh2_free.3
|
||||||
|
libssh2_hostkey_hash.3
|
||||||
|
libssh2_init.3
|
||||||
|
libssh2_keepalive_config.3
|
||||||
|
libssh2_keepalive_send.3
|
||||||
|
libssh2_knownhost_add.3
|
||||||
|
libssh2_knownhost_addc.3
|
||||||
|
libssh2_knownhost_check.3
|
||||||
|
libssh2_knownhost_checkp.3
|
||||||
|
libssh2_knownhost_del.3
|
||||||
|
libssh2_knownhost_free.3
|
||||||
|
libssh2_knownhost_get.3
|
||||||
|
libssh2_knownhost_init.3
|
||||||
|
libssh2_knownhost_readfile.3
|
||||||
|
libssh2_knownhost_readline.3
|
||||||
|
libssh2_knownhost_writefile.3
|
||||||
|
libssh2_knownhost_writeline.3
|
||||||
|
libssh2_poll.3
|
||||||
|
libssh2_poll_channel_read.3
|
||||||
|
libssh2_publickey_add.3
|
||||||
|
libssh2_publickey_add_ex.3
|
||||||
|
libssh2_publickey_init.3
|
||||||
|
libssh2_publickey_list_fetch.3
|
||||||
|
libssh2_publickey_list_free.3
|
||||||
|
libssh2_publickey_remove.3
|
||||||
|
libssh2_publickey_remove_ex.3
|
||||||
|
libssh2_publickey_shutdown.3
|
||||||
|
libssh2_scp_recv.3
|
||||||
|
libssh2_scp_send.3
|
||||||
|
libssh2_scp_send64.3
|
||||||
|
libssh2_scp_send_ex.3
|
||||||
|
libssh2_session_abstract.3
|
||||||
|
libssh2_session_banner_get.3
|
||||||
|
libssh2_session_banner_set.3
|
||||||
|
libssh2_session_block_directions.3
|
||||||
|
libssh2_session_callback_set.3
|
||||||
|
libssh2_session_disconnect.3
|
||||||
|
libssh2_session_disconnect_ex.3
|
||||||
|
libssh2_session_flag.3
|
||||||
|
libssh2_session_free.3
|
||||||
|
libssh2_session_get_blocking.3
|
||||||
|
libssh2_session_get_timeout.3
|
||||||
|
libssh2_session_hostkey.3
|
||||||
|
libssh2_session_init.3
|
||||||
|
libssh2_session_init_ex.3
|
||||||
|
libssh2_session_last_errno.3
|
||||||
|
libssh2_session_last_error.3
|
||||||
|
libssh2_session_method_pref.3
|
||||||
|
libssh2_session_methods.3
|
||||||
|
libssh2_session_set_blocking.3
|
||||||
|
libssh2_session_set_timeout.3
|
||||||
|
libssh2_session_startup.3
|
||||||
|
libssh2_session_supported_algs.3
|
||||||
|
libssh2_sftp_close.3
|
||||||
|
libssh2_sftp_close_handle.3
|
||||||
|
libssh2_sftp_closedir.3
|
||||||
|
libssh2_sftp_fsetstat.3
|
||||||
|
libssh2_sftp_fstat.3
|
||||||
|
libssh2_sftp_fstat_ex.3
|
||||||
|
libssh2_sftp_fstatvfs.3
|
||||||
|
libssh2_sftp_fsync.3
|
||||||
|
libssh2_sftp_get_channel.3
|
||||||
|
libssh2_sftp_init.3
|
||||||
|
libssh2_sftp_last_error.3
|
||||||
|
libssh2_sftp_lstat.3
|
||||||
|
libssh2_sftp_mkdir.3
|
||||||
|
libssh2_sftp_mkdir_ex.3
|
||||||
|
libssh2_sftp_open.3
|
||||||
|
libssh2_sftp_open_ex.3
|
||||||
|
libssh2_sftp_opendir.3
|
||||||
|
libssh2_sftp_read.3
|
||||||
|
libssh2_sftp_readdir.3
|
||||||
|
libssh2_sftp_readdir_ex.3
|
||||||
|
libssh2_sftp_readlink.3
|
||||||
|
libssh2_sftp_realpath.3
|
||||||
|
libssh2_sftp_rename.3
|
||||||
|
libssh2_sftp_rename_ex.3
|
||||||
|
libssh2_sftp_rewind.3
|
||||||
|
libssh2_sftp_rmdir.3
|
||||||
|
libssh2_sftp_rmdir_ex.3
|
||||||
|
libssh2_sftp_seek.3
|
||||||
|
libssh2_sftp_seek64.3
|
||||||
|
libssh2_sftp_setstat.3
|
||||||
|
libssh2_sftp_shutdown.3
|
||||||
|
libssh2_sftp_stat.3
|
||||||
|
libssh2_sftp_stat_ex.3
|
||||||
|
libssh2_sftp_statvfs.3
|
||||||
|
libssh2_sftp_symlink.3
|
||||||
|
libssh2_sftp_symlink_ex.3
|
||||||
|
libssh2_sftp_tell.3
|
||||||
|
libssh2_sftp_tell64.3
|
||||||
|
libssh2_sftp_unlink.3
|
||||||
|
libssh2_sftp_unlink_ex.3
|
||||||
|
libssh2_sftp_write.3
|
||||||
|
libssh2_trace.3
|
||||||
|
libssh2_trace_sethandler.3
|
||||||
|
libssh2_userauth_authenticated.3
|
||||||
|
libssh2_userauth_hostbased_fromfile.3
|
||||||
|
libssh2_userauth_hostbased_fromfile_ex.3
|
||||||
|
libssh2_userauth_keyboard_interactive.3
|
||||||
|
libssh2_userauth_keyboard_interactive_ex.3
|
||||||
|
libssh2_userauth_list.3
|
||||||
|
libssh2_userauth_password.3
|
||||||
|
libssh2_userauth_password_ex.3
|
||||||
|
libssh2_userauth_publickey.3
|
||||||
|
libssh2_userauth_publickey_fromfile.3
|
||||||
|
libssh2_userauth_publickey_fromfile_ex.3
|
||||||
|
libssh2_version.3)
|
||||||
|
|
||||||
|
include(GNUInstallDirs)
|
||||||
|
install(FILES ${MAN_PAGES} DESTINATION ${CMAKE_INSTALL_MANDIR}/man3)
|
325
docs/INSTALL_AUTOTOOLS
Normal file
325
docs/INSTALL_AUTOTOOLS
Normal file
@@ -0,0 +1,325 @@
|
|||||||
|
Installation Instructions
|
||||||
|
*************************
|
||||||
|
|
||||||
|
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free
|
||||||
|
Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is free documentation; the Free Software Foundation gives
|
||||||
|
unlimited permission to copy, distribute and modify it.
|
||||||
|
|
||||||
|
Basic Installation
|
||||||
|
==================
|
||||||
|
|
||||||
|
These are generic installation instructions.
|
||||||
|
|
||||||
|
The `configure' shell script attempts to guess correct values for
|
||||||
|
various system-dependent variables used during compilation. It uses
|
||||||
|
those values to create a `Makefile' in each directory of the package.
|
||||||
|
It may also create one or more `.h' files containing system-dependent
|
||||||
|
definitions. Finally, it creates a shell script `config.status' that
|
||||||
|
you can run in the future to recreate the current configuration, and a
|
||||||
|
file `config.log' containing compiler output (useful mainly for
|
||||||
|
debugging `configure').
|
||||||
|
|
||||||
|
It can also use an optional file (typically called `config.cache'
|
||||||
|
and enabled with `--cache-file=config.cache' or simply `-C') that saves
|
||||||
|
the results of its tests to speed up reconfiguring. (Caching is
|
||||||
|
disabled by default to prevent problems with accidental use of stale
|
||||||
|
cache files.)
|
||||||
|
|
||||||
|
If you need to do unusual things to compile the package, please try
|
||||||
|
to figure out how `configure' could check whether to do them, and mail
|
||||||
|
diffs or instructions to the address given in the `README' so they can
|
||||||
|
be considered for the next release. If you are using the cache, and at
|
||||||
|
some point `config.cache' contains results you don't want to keep, you
|
||||||
|
may remove or edit it.
|
||||||
|
|
||||||
|
The file `configure.ac' (or `configure.in') is used to create
|
||||||
|
`configure' by a program called `autoconf'. You only need
|
||||||
|
`configure.ac' if you want to change it or regenerate `configure' using
|
||||||
|
a newer version of `autoconf'.
|
||||||
|
|
||||||
|
The simplest way to compile this package is:
|
||||||
|
|
||||||
|
1. `cd' to the directory containing the package's source code and type
|
||||||
|
`./configure' to configure the package for your system. If you're
|
||||||
|
using `csh' on an old version of System V, you might need to type
|
||||||
|
`sh ./configure' instead to prevent `csh' from trying to execute
|
||||||
|
`configure' itself.
|
||||||
|
|
||||||
|
Running `configure' takes awhile. While running, it prints some
|
||||||
|
messages telling which features it is checking for.
|
||||||
|
|
||||||
|
2. Type `make' to compile the package.
|
||||||
|
|
||||||
|
3. Optionally, type `make check' to run any self-tests that come with
|
||||||
|
the package.
|
||||||
|
|
||||||
|
4. Type `make install' to install the programs and any data files and
|
||||||
|
documentation.
|
||||||
|
|
||||||
|
5. You can remove the program binaries and object files from the
|
||||||
|
source code directory by typing `make clean'. To also remove the
|
||||||
|
files that `configure' created (so you can compile the package for
|
||||||
|
a different kind of computer), type `make distclean'. There is
|
||||||
|
also a `make maintainer-clean' target, but that is intended mainly
|
||||||
|
for the package's developers. If you use it, you may have to get
|
||||||
|
all sorts of other programs in order to regenerate files that came
|
||||||
|
with the distribution.
|
||||||
|
|
||||||
|
Compilers and Options
|
||||||
|
=====================
|
||||||
|
|
||||||
|
Some systems require unusual options for compilation or linking that the
|
||||||
|
`configure' script does not know about. Run `./configure --help' for
|
||||||
|
details on some of the pertinent environment variables.
|
||||||
|
|
||||||
|
You can give `configure' initial values for configuration parameters
|
||||||
|
by setting variables in the command line or in the environment. Here
|
||||||
|
is an example:
|
||||||
|
|
||||||
|
./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
|
||||||
|
|
||||||
|
*Note Defining Variables::, for more details.
|
||||||
|
|
||||||
|
Compiling For Multiple Architectures
|
||||||
|
====================================
|
||||||
|
|
||||||
|
You can compile the package for more than one kind of computer at the
|
||||||
|
same time, by placing the object files for each architecture in their
|
||||||
|
own directory. To do this, you must use a version of `make' that
|
||||||
|
supports the `VPATH' variable, such as GNU `make'. `cd' to the
|
||||||
|
directory where you want the object files and executables to go and run
|
||||||
|
the `configure' script. `configure' automatically checks for the
|
||||||
|
source code in the directory that `configure' is in and in `..'.
|
||||||
|
|
||||||
|
If you have to use a `make' that does not support the `VPATH'
|
||||||
|
variable, you have to compile the package for one architecture at a
|
||||||
|
time in the source code directory. After you have installed the
|
||||||
|
package for one architecture, use `make distclean' before reconfiguring
|
||||||
|
for another architecture.
|
||||||
|
|
||||||
|
Installation Names
|
||||||
|
==================
|
||||||
|
|
||||||
|
By default, `make install' installs the package's commands under
|
||||||
|
`/usr/local/bin', include files under `/usr/local/include', etc. You
|
||||||
|
can specify an installation prefix other than `/usr/local' by giving
|
||||||
|
`configure' the option `--prefix=PREFIX'.
|
||||||
|
|
||||||
|
You can specify separate installation prefixes for
|
||||||
|
architecture-specific files and architecture-independent files. If you
|
||||||
|
pass the option `--exec-prefix=PREFIX' to `configure', the package uses
|
||||||
|
PREFIX as the prefix for installing programs and libraries.
|
||||||
|
Documentation and other data files still use the regular prefix.
|
||||||
|
|
||||||
|
In addition, if you use an unusual directory layout you can give
|
||||||
|
options like `--bindir=DIR' to specify different values for particular
|
||||||
|
kinds of files. Run `configure --help' for a list of the directories
|
||||||
|
you can set and what kinds of files go in them.
|
||||||
|
|
||||||
|
If the package supports it, you can cause programs to be installed
|
||||||
|
with an extra prefix or suffix on their names by giving `configure' the
|
||||||
|
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
|
||||||
|
|
||||||
|
Optional Features
|
||||||
|
=================
|
||||||
|
|
||||||
|
Some packages pay attention to `--enable-FEATURE' options to
|
||||||
|
`configure', where FEATURE indicates an optional part of the package.
|
||||||
|
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
|
||||||
|
is something like `gnu-as' or `x' (for the X Window System). The
|
||||||
|
`README' should mention any `--enable-' and `--with-' options that the
|
||||||
|
package recognizes.
|
||||||
|
|
||||||
|
For packages that use the X Window System, `configure' can usually
|
||||||
|
find the X include and library files automatically, but if it doesn't,
|
||||||
|
you can use the `configure' options `--x-includes=DIR' and
|
||||||
|
`--x-libraries=DIR' to specify their locations.
|
||||||
|
|
||||||
|
Specifying the System Type
|
||||||
|
==========================
|
||||||
|
|
||||||
|
There may be some features `configure' cannot figure out automatically,
|
||||||
|
but needs to determine by the type of machine the package will run on.
|
||||||
|
Usually, assuming the package is built to be run on the _same_
|
||||||
|
architectures, `configure' can figure that out, but if it prints a
|
||||||
|
message saying it cannot guess the machine type, give it the
|
||||||
|
`--build=TYPE' option. TYPE can either be a short name for the system
|
||||||
|
type, such as `sun4', or a canonical name which has the form:
|
||||||
|
|
||||||
|
CPU-COMPANY-SYSTEM
|
||||||
|
|
||||||
|
where SYSTEM can have one of these forms:
|
||||||
|
|
||||||
|
OS KERNEL-OS
|
||||||
|
|
||||||
|
See the file `config.sub' for the possible values of each field. If
|
||||||
|
`config.sub' isn't included in this package, then this package doesn't
|
||||||
|
need to know the machine type.
|
||||||
|
|
||||||
|
If you are _building_ compiler tools for cross-compiling, you should
|
||||||
|
use the option `--target=TYPE' to select the type of system they will
|
||||||
|
produce code for.
|
||||||
|
|
||||||
|
If you want to _use_ a cross compiler, that generates code for a
|
||||||
|
platform different from the build platform, you should specify the
|
||||||
|
"host" platform (i.e., that on which the generated programs will
|
||||||
|
eventually be run) with `--host=TYPE'.
|
||||||
|
|
||||||
|
Sharing Defaults
|
||||||
|
================
|
||||||
|
|
||||||
|
If you want to set default values for `configure' scripts to share, you
|
||||||
|
can create a site shell script called `config.site' that gives default
|
||||||
|
values for variables like `CC', `cache_file', and `prefix'.
|
||||||
|
`configure' looks for `PREFIX/share/config.site' if it exists, then
|
||||||
|
`PREFIX/etc/config.site' if it exists. Or, you can set the
|
||||||
|
`CONFIG_SITE' environment variable to the location of the site script.
|
||||||
|
A warning: not all `configure' scripts look for a site script.
|
||||||
|
|
||||||
|
Defining Variables
|
||||||
|
==================
|
||||||
|
|
||||||
|
Variables not defined in a site shell script can be set in the
|
||||||
|
environment passed to `configure'. However, some packages may run
|
||||||
|
configure again during the build, and the customized values of these
|
||||||
|
variables may be lost. In order to avoid this problem, you should set
|
||||||
|
them in the `configure' command line, using `VAR=value'. For example:
|
||||||
|
|
||||||
|
./configure CC=/usr/local2/bin/gcc
|
||||||
|
|
||||||
|
causes the specified `gcc' to be used as the C compiler (unless it is
|
||||||
|
overridden in the site shell script). Here is a another example:
|
||||||
|
|
||||||
|
/bin/bash ./configure CONFIG_SHELL=/bin/bash
|
||||||
|
|
||||||
|
Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent
|
||||||
|
configuration-related scripts to be executed by `/bin/bash'.
|
||||||
|
|
||||||
|
`configure' Invocation
|
||||||
|
======================
|
||||||
|
|
||||||
|
`configure' recognizes the following options to control how it operates.
|
||||||
|
|
||||||
|
`--help'
|
||||||
|
`-h'
|
||||||
|
Print a summary of the options to `configure', and exit.
|
||||||
|
|
||||||
|
`--version'
|
||||||
|
`-V'
|
||||||
|
Print the version of Autoconf used to generate the `configure'
|
||||||
|
script, and exit.
|
||||||
|
|
||||||
|
`--cache-file=FILE'
|
||||||
|
Enable the cache: use and save the results of the tests in FILE,
|
||||||
|
traditionally `config.cache'. FILE defaults to `/dev/null' to
|
||||||
|
disable caching.
|
||||||
|
|
||||||
|
`--config-cache'
|
||||||
|
`-C'
|
||||||
|
Alias for `--cache-file=config.cache'.
|
||||||
|
|
||||||
|
`--quiet'
|
||||||
|
`--silent'
|
||||||
|
`-q'
|
||||||
|
Do not print messages saying which checks are being made. To
|
||||||
|
suppress all normal output, redirect it to `/dev/null' (any error
|
||||||
|
messages will still be shown).
|
||||||
|
|
||||||
|
`--srcdir=DIR'
|
||||||
|
Look for the package's source code in directory DIR. Usually
|
||||||
|
`configure' can determine that directory automatically.
|
||||||
|
|
||||||
|
`configure' also accepts some other, not widely useful, options. Run
|
||||||
|
`configure --help' for more details.
|
||||||
|
|
||||||
|
More configure options
|
||||||
|
======================
|
||||||
|
|
||||||
|
Some ./configure options deserve additional comments:
|
||||||
|
|
||||||
|
* --enable-crypt-none
|
||||||
|
|
||||||
|
The SSH2 Transport allows for unencrypted data
|
||||||
|
transmission using the "none" cipher. Because this is
|
||||||
|
such a huge security hole, it is typically disabled on
|
||||||
|
SSH2 implementations and is disabled in libssh2 by
|
||||||
|
default as well.
|
||||||
|
|
||||||
|
Enabling this option will allow for "none" as a
|
||||||
|
negotiable method, however it still requires that the
|
||||||
|
method be advertized by the remote end and that no
|
||||||
|
more-preferable methods are available.
|
||||||
|
|
||||||
|
* --enable-mac-none
|
||||||
|
|
||||||
|
The SSH2 Transport also allows implementations to
|
||||||
|
forego a message authentication code. While this is
|
||||||
|
less of a security risk than using a "none" cipher, it
|
||||||
|
is still not recommended as disabling MAC hashes
|
||||||
|
removes a layer of security.
|
||||||
|
|
||||||
|
Enabling this option will allow for "none" as a
|
||||||
|
negotiable method, however it still requires that the
|
||||||
|
method be advertized by the remote end and that no
|
||||||
|
more-preferable methods are available.
|
||||||
|
|
||||||
|
* --disable-gex-new
|
||||||
|
|
||||||
|
The diffie-hellman-group-exchange-sha1 (dh-gex) key
|
||||||
|
exchange method originally defined an exchange
|
||||||
|
negotiation using packet type 30 to request a
|
||||||
|
generation pair based on a single target value. Later
|
||||||
|
refinement of dh-gex provided for range and target
|
||||||
|
values. By default libssh2 will use the newer range
|
||||||
|
method.
|
||||||
|
|
||||||
|
If you experience trouble connecting to an old SSH
|
||||||
|
server using dh-gex, try this option to fallback on
|
||||||
|
the older more reliable method.
|
||||||
|
|
||||||
|
* --with-libgcrypt
|
||||||
|
* --without-libgcrypt
|
||||||
|
* --with-libgcrypt-prefix=DIR
|
||||||
|
|
||||||
|
libssh2 can use the Libgcrypt library
|
||||||
|
(http://www.gnupg.org/) for cryptographic operations.
|
||||||
|
Either Libgcrypt or OpenSSL is required.
|
||||||
|
|
||||||
|
Configure will attempt to locate Libgcrypt
|
||||||
|
automatically.
|
||||||
|
|
||||||
|
If your installation of Libgcrypt is in another
|
||||||
|
location, specify it using --with-libgcrypt-prefix.
|
||||||
|
|
||||||
|
* --with-openssl
|
||||||
|
* --without-openssl
|
||||||
|
* --with-libssl-prefix=[DIR]
|
||||||
|
|
||||||
|
libssh2 can use the OpenSSL library
|
||||||
|
(http://www.openssl.org) for cryptographic operations.
|
||||||
|
Either Libgcrypt or OpenSSL is required.
|
||||||
|
|
||||||
|
Configure will attempt to locate OpenSSL in the
|
||||||
|
default location.
|
||||||
|
|
||||||
|
If your installation of OpenSSL is in another
|
||||||
|
location, specify it using --with-libssl-prefix.
|
||||||
|
|
||||||
|
* --with-libz
|
||||||
|
* --without-libz
|
||||||
|
* --with-libz-prefix=[DIR]
|
||||||
|
|
||||||
|
If present, libssh2 will attempt to use the zlib
|
||||||
|
(http://www.zlib.org) for payload compression, however
|
||||||
|
zlib is not required.
|
||||||
|
|
||||||
|
If your installation of Libz is in another location,
|
||||||
|
specify it using --with-libz-prefix.
|
||||||
|
|
||||||
|
* --enable-debug
|
||||||
|
|
||||||
|
Will make the build use more pedantic and strict compiler
|
||||||
|
options as well as enable the libssh2_trace() function (for
|
||||||
|
showing debug traces).
|
174
docs/INSTALL_CMAKE
Normal file
174
docs/INSTALL_CMAKE
Normal file
@@ -0,0 +1,174 @@
|
|||||||
|
License: see COPYING
|
||||||
|
|
||||||
|
Source code: https://github.com/libssh2/libssh2
|
||||||
|
|
||||||
|
Web site source code: https://github.com/libssh2/www
|
||||||
|
|
||||||
|
Installation instructions are in docs/INSTALL
|
||||||
|
=======
|
||||||
|
To build libssh2 you will need CMake v2.8 or later [1] and one of the
|
||||||
|
following cryptography libraries:
|
||||||
|
|
||||||
|
* OpenSSL
|
||||||
|
* Libgcrypt
|
||||||
|
* WinCNG
|
||||||
|
|
||||||
|
Getting started
|
||||||
|
---------------
|
||||||
|
|
||||||
|
If you are happy with the default options, make a new build directory,
|
||||||
|
change to it, configure the build environment and build the project:
|
||||||
|
|
||||||
|
mkdir bin
|
||||||
|
cd bin
|
||||||
|
cmake ..
|
||||||
|
cmake --build .
|
||||||
|
|
||||||
|
libssh2 will be built as a static library and will use any
|
||||||
|
cryptography library available. The library binary will be put in
|
||||||
|
`bin/src`, with the examples in `bin/example` and the tests in
|
||||||
|
`bin/tests`.
|
||||||
|
|
||||||
|
Customising the build
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
Of course, you might want to customise the build options. You can
|
||||||
|
pass the options to CMake on the command line:
|
||||||
|
|
||||||
|
cmake -D<option>=<value> ..
|
||||||
|
|
||||||
|
The following options are available:
|
||||||
|
|
||||||
|
* `BUILD_SHARED_LIBS=OFF`
|
||||||
|
|
||||||
|
Determines whether libssh2 is built as a static library or as a
|
||||||
|
shared library (.dll/.so). Can be `ON` or `OFF`.
|
||||||
|
|
||||||
|
* `CRYPTO_BACKEND=`
|
||||||
|
|
||||||
|
Chooses a specific cryptography library to use for cryptographic
|
||||||
|
operations. Can be `OpenSSL` (http://www.openssl.org),
|
||||||
|
`Libgcrypt` (http://www.gnupg.org/), `WinCNG` (Windows Vista+) or
|
||||||
|
blank to use any library available.
|
||||||
|
|
||||||
|
CMake will attempt to locate the libraries automatically. See [2]
|
||||||
|
for more information.
|
||||||
|
|
||||||
|
* `ENABLE_ZLIB_COMPRESSION=OFF`
|
||||||
|
|
||||||
|
Will use zlib (http://www.zlib.org) for payload compression. Can
|
||||||
|
be `ON` or `OFF`.
|
||||||
|
|
||||||
|
* `ENABLE_CRYPT_NONE=OFF`
|
||||||
|
|
||||||
|
The SSH2 Transport allows for unencrypted data transmission using
|
||||||
|
the "none" cipher. Because this is such a huge security hole, it
|
||||||
|
is typically disabled on SSH2 implementations and is disabled in
|
||||||
|
libssh2 by default as well.
|
||||||
|
|
||||||
|
Enabling this option will allow for "none" as a negotiable method,
|
||||||
|
however it still requires that the method be advertized by the
|
||||||
|
remote end and that no more-preferable methods are available.
|
||||||
|
|
||||||
|
* `ENABLE_MAC_NONE=OFF`
|
||||||
|
|
||||||
|
The SSH2 Transport also allows implementations to forego a message
|
||||||
|
authentication code. While this is less of a security risk than
|
||||||
|
using a "none" cipher, it is still not recommended as disabling
|
||||||
|
MAC hashes removes a layer of security.
|
||||||
|
|
||||||
|
Enabling this option will allow for "none" as a negotiable method,
|
||||||
|
however it still requires that the method be advertized by the
|
||||||
|
remote end and that no more-preferable methods are available.
|
||||||
|
|
||||||
|
* `ENABLE_GEX_NEW=ON`
|
||||||
|
|
||||||
|
The diffie-hellman-group-exchange-sha1 (dh-gex) key exchange
|
||||||
|
method originally defined an exchange negotiation using packet
|
||||||
|
type 30 to request a generation pair based on a single target
|
||||||
|
value. Later refinement of dh-gex provided for range and target
|
||||||
|
values. By default libssh2 will use the newer range method.
|
||||||
|
|
||||||
|
If you experience trouble connecting to an old SSH server using
|
||||||
|
dh-gex, try this option to fallback on the older more reliable
|
||||||
|
method.
|
||||||
|
|
||||||
|
* `ENABLE_DEBUG_LOGGING=ON` in Debug, `=OFF` in Release
|
||||||
|
|
||||||
|
Will enable the libssh2_trace() function for showing debug traces.
|
||||||
|
|
||||||
|
Build tools
|
||||||
|
-----------
|
||||||
|
|
||||||
|
The previous examples used CMake to start the build using:
|
||||||
|
|
||||||
|
cmake --build .
|
||||||
|
|
||||||
|
Alternatively, once CMake has configured your project, you can just
|
||||||
|
use your own build tool, e.g GNU make, Visual Studio, etc., from that
|
||||||
|
point onwards.
|
||||||
|
|
||||||
|
Tests
|
||||||
|
-----
|
||||||
|
|
||||||
|
To test the build, run the appropriate test target for your build
|
||||||
|
system. For example:
|
||||||
|
|
||||||
|
cmake --build . --target test
|
||||||
|
or
|
||||||
|
cmake --build . --target RUN_TESTS
|
||||||
|
|
||||||
|
How do I use libssh2 in my project if my project doesn't use CMake?
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
|
||||||
|
If you are not using CMake for your own project, install libssh2
|
||||||
|
|
||||||
|
cmake <libssh2 source location>
|
||||||
|
cmake --build .
|
||||||
|
cmake --build . --target install
|
||||||
|
or
|
||||||
|
cmake --build . --target INSTALL
|
||||||
|
|
||||||
|
and then specify the install location to your project in the normal
|
||||||
|
way for your build environment. If you don't like the default install
|
||||||
|
location, add `-DCMAKE_INSTALL_PREFIX=<chosen prefix>` when initially
|
||||||
|
configuring the project.
|
||||||
|
|
||||||
|
How can I use libssh2 in my project if it also uses CMake?
|
||||||
|
----------------------------------------------------------
|
||||||
|
|
||||||
|
If your own project also uses CMake, you don't need to worry about
|
||||||
|
setting it up with libssh2's location. Just add just the following
|
||||||
|
lines and CMake will find libssh2 on your system, set up the necessary
|
||||||
|
paths and link the library with your binary.
|
||||||
|
|
||||||
|
find_package(Libssh2 REQUIRED CONFIG)
|
||||||
|
target_link_libraries(my_project_target Libssh2::libssh2)
|
||||||
|
|
||||||
|
Of course, you still have to make libssh2 available on your system
|
||||||
|
first. You can install it in the traditional way shown above, but you
|
||||||
|
don't have to. Instead you can just build it, which will export its
|
||||||
|
location to the user package registry [3] where `find_package` will
|
||||||
|
find it.
|
||||||
|
|
||||||
|
You can even combine the two steps using a so-called 'superbuild'
|
||||||
|
project [4] that downloads, builds and exports libssh2, and then
|
||||||
|
builds your project:
|
||||||
|
|
||||||
|
include(ExternalProject)
|
||||||
|
|
||||||
|
ExternalProject_Add(
|
||||||
|
Libssh2
|
||||||
|
URL <libssh2 download location>
|
||||||
|
URL_HASH SHA1=<libssh2 archive SHA1>
|
||||||
|
INSTALL_COMMAND "")
|
||||||
|
|
||||||
|
ExternalProject_Add(
|
||||||
|
MyProject DEPENDS Libssh2
|
||||||
|
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src
|
||||||
|
INSTALL_COMMAND "")
|
||||||
|
|
||||||
|
[1] http://www.cmake.org/cmake/resources/software.html
|
||||||
|
[2] http://www.cmake.org/cmake/help/v3.0/manual/cmake-packages.7.html
|
||||||
|
[3] http://www.cmake.org/cmake/help/v3.0/manual/cmake-packages.7.html#package-registry
|
||||||
|
[4] http://www.kitware.com/media/html/BuildingExternalProjectsWithCMake2.8.html
|
@@ -1,6 +1,7 @@
|
|||||||
# $Id: Makefile.am,v 1.37 2009/03/26 15:41:15 bagder Exp $
|
# $Id: Makefile.am,v 1.37 2009/03/26 15:41:15 bagder Exp $
|
||||||
|
|
||||||
EXTRA_DIST = template.3
|
EXTRA_DIST = template.3 BINDINGS INSTALL_AUTOTOOLS INSTALL_CMAKE HACKING TODO \
|
||||||
|
AUTHORS
|
||||||
|
|
||||||
dist_man_MANS = \
|
dist_man_MANS = \
|
||||||
libssh2_agent_connect.3 \
|
libssh2_agent_connect.3 \
|
||||||
@@ -92,6 +93,8 @@ dist_man_MANS = \
|
|||||||
libssh2_scp_send64.3 \
|
libssh2_scp_send64.3 \
|
||||||
libssh2_scp_send_ex.3 \
|
libssh2_scp_send_ex.3 \
|
||||||
libssh2_session_abstract.3 \
|
libssh2_session_abstract.3 \
|
||||||
|
libssh2_session_banner_get.3 \
|
||||||
|
libssh2_session_banner_set.3 \
|
||||||
libssh2_session_block_directions.3 \
|
libssh2_session_block_directions.3 \
|
||||||
libssh2_session_callback_set.3 \
|
libssh2_session_callback_set.3 \
|
||||||
libssh2_session_disconnect.3 \
|
libssh2_session_disconnect.3 \
|
||||||
@@ -100,6 +103,7 @@ dist_man_MANS = \
|
|||||||
libssh2_session_free.3 \
|
libssh2_session_free.3 \
|
||||||
libssh2_session_get_blocking.3 \
|
libssh2_session_get_blocking.3 \
|
||||||
libssh2_session_get_timeout.3 \
|
libssh2_session_get_timeout.3 \
|
||||||
|
libssh2_session_handshake.3 \
|
||||||
libssh2_session_hostkey.3 \
|
libssh2_session_hostkey.3 \
|
||||||
libssh2_session_init.3 \
|
libssh2_session_init.3 \
|
||||||
libssh2_session_init_ex.3 \
|
libssh2_session_init_ex.3 \
|
||||||
@@ -110,6 +114,7 @@ dist_man_MANS = \
|
|||||||
libssh2_session_set_blocking.3 \
|
libssh2_session_set_blocking.3 \
|
||||||
libssh2_session_set_timeout.3 \
|
libssh2_session_set_timeout.3 \
|
||||||
libssh2_session_startup.3 \
|
libssh2_session_startup.3 \
|
||||||
|
libssh2_session_supported_algs.3 \
|
||||||
libssh2_sftp_close.3 \
|
libssh2_sftp_close.3 \
|
||||||
libssh2_sftp_close_handle.3 \
|
libssh2_sftp_close_handle.3 \
|
||||||
libssh2_sftp_closedir.3 \
|
libssh2_sftp_closedir.3 \
|
||||||
@@ -117,6 +122,8 @@ dist_man_MANS = \
|
|||||||
libssh2_sftp_fstat.3 \
|
libssh2_sftp_fstat.3 \
|
||||||
libssh2_sftp_fstat_ex.3 \
|
libssh2_sftp_fstat_ex.3 \
|
||||||
libssh2_sftp_fstatvfs.3 \
|
libssh2_sftp_fstatvfs.3 \
|
||||||
|
libssh2_sftp_fsync.3 \
|
||||||
|
libssh2_sftp_get_channel.3 \
|
||||||
libssh2_sftp_init.3 \
|
libssh2_sftp_init.3 \
|
||||||
libssh2_sftp_last_error.3 \
|
libssh2_sftp_last_error.3 \
|
||||||
libssh2_sftp_lstat.3 \
|
libssh2_sftp_lstat.3 \
|
||||||
@@ -162,4 +169,5 @@ dist_man_MANS = \
|
|||||||
libssh2_userauth_publickey.3 \
|
libssh2_userauth_publickey.3 \
|
||||||
libssh2_userauth_publickey_fromfile.3 \
|
libssh2_userauth_publickey_fromfile.3 \
|
||||||
libssh2_userauth_publickey_fromfile_ex.3 \
|
libssh2_userauth_publickey_fromfile_ex.3 \
|
||||||
|
libssh2_userauth_publickey_frommemory.3 \
|
||||||
libssh2_version.3
|
libssh2_version.3
|
||||||
|
@@ -8,12 +8,6 @@ Things TODO
|
|||||||
doesn't then use as much memory as today. Possibly by an app-controllable
|
doesn't then use as much memory as today. Possibly by an app-controllable
|
||||||
"Window mode"?
|
"Window mode"?
|
||||||
|
|
||||||
* Introduce a function that can free data that is returned allocated from the
|
|
||||||
lib, like when libssh2_session_last_error() is asked to return the string
|
|
||||||
with 'want_buf' set to non-zero.
|
|
||||||
|
|
||||||
* Add more info to the man pages.
|
|
||||||
|
|
||||||
* Decrease the number of mallocs. Everywhere. Will get easier once the
|
* Decrease the number of mallocs. Everywhere. Will get easier once the
|
||||||
buffering improvements have been done.
|
buffering improvements have been done.
|
||||||
|
|
||||||
@@ -26,10 +20,6 @@ Things TODO
|
|||||||
|
|
||||||
* Expose error messages sent by the server
|
* Expose error messages sent by the server
|
||||||
|
|
||||||
* Make SFTP transfers ask for and send several packages at once so that it
|
|
||||||
doesn't have to send-waitforack-send-waitforack as much. This will be
|
|
||||||
easier/smoother if we implement the "New SFTP API" described below.
|
|
||||||
|
|
||||||
* select() is troublesome with libssh2 when using multiple channels over
|
* select() is troublesome with libssh2 when using multiple channels over
|
||||||
the same session. See "New Transport API" below for more details.
|
the same session. See "New Transport API" below for more details.
|
||||||
|
|
||||||
@@ -51,6 +41,7 @@ At next SONAME bump
|
|||||||
libssh2_poll()
|
libssh2_poll()
|
||||||
libssh2_poll_channel_read()
|
libssh2_poll_channel_read()
|
||||||
libssh2_session_startup() (libssh2_session_handshake() is the replacement)
|
libssh2_session_startup() (libssh2_session_handshake() is the replacement)
|
||||||
|
libssh2_banner_set() (libssh2_session_banner_set() is the repacement)
|
||||||
|
|
||||||
* Rename a few function:
|
* Rename a few function:
|
||||||
|
|
@@ -1,8 +1,6 @@
|
|||||||
.\" $Id: libssh2_banner_set.3,v 1.3 2009/03/17 10:34:27 bagder Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_banner_set 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
.TH libssh2_banner_set 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_banner_set - set the SSH prococol banner for the local client
|
libssh2_banner_set - set the SSH protocol banner for the local client
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
#include <libssh2.h>
|
#include <libssh2.h>
|
||||||
|
|
||||||
@@ -10,6 +8,9 @@ int
|
|||||||
libssh2_banner_set(LIBSSH2_SESSION *session, const char *banner);
|
libssh2_banner_set(LIBSSH2_SESSION *session, const char *banner);
|
||||||
|
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
|
This function is \fBDEPRECATED\fP. Use \fIlibssh2_session_banner_set(3)\fP
|
||||||
|
instead!
|
||||||
|
|
||||||
\fIsession\fP - Session instance as returned by
|
\fIsession\fP - Session instance as returned by
|
||||||
.BR libssh2_session_init_ex(3)
|
.BR libssh2_session_init_ex(3)
|
||||||
|
|
||||||
@@ -17,16 +18,15 @@ libssh2_banner_set(LIBSSH2_SESSION *session, const char *banner);
|
|||||||
|
|
||||||
Set the banner that will be sent to the remote host when the SSH session is
|
Set the banner that will be sent to the remote host when the SSH session is
|
||||||
started with
|
started with
|
||||||
.BR libssh2_session_startup(3)
|
.BR libssh2_session_handshake(3)
|
||||||
This is optional; a banner corresponding to the protocol and libssh2 version will be sent by default.
|
This is optional; a banner corresponding to the protocol and libssh2 version will be sent by default.
|
||||||
|
|
||||||
.SH RETURN VALUE
|
.SH RETURN VALUE
|
||||||
Return 0 on success or negative on failure. It returns
|
Return 0 on success or negative on failure. It returns
|
||||||
LIBSSH2_ERROR_EAGAIN when it would otherwise block. While
|
LIBSSH2_ERROR_EAGAIN when it would otherwise block. While
|
||||||
LIBSSH2_ERROR_EAGAIN is a negative number, it isn't really a failure per se.
|
LIBSSH2_ERROR_EAGAIN is a negative number, it isn't really a failure per se.
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Marked as deprecated since 1.4.0
|
||||||
.SH ERRORS
|
.SH ERRORS
|
||||||
\fILIBSSH2_ERROR_ALLOC\fP - An internal memory allocation call failed.
|
\fILIBSSH2_ERROR_ALLOC\fP - An internal memory allocation call failed.
|
||||||
|
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
.BR libssh2_session_startup(3)
|
.BR libssh2_session_handshake(3)
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_base64_decode.3,v 1.3 2009/02/17 16:22:51 dottedmag Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_base64_decode 3 "23 Dec 2008" "libssh2 1.0" "libssh2 manual"
|
.TH libssh2_base64_decode 3 "23 Dec 2008" "libssh2 1.0" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_base64_decode - decode a base64 encoded string
|
libssh2_base64_decode - decode a base64 encoded string
|
||||||
@@ -21,7 +19,7 @@ The returned buffer is allocated by this function, but it is not clear how to
|
|||||||
free that memory!
|
free that memory!
|
||||||
.SH BUGS
|
.SH BUGS
|
||||||
The memory that *dest points to is allocated by the malloc function libssh2
|
The memory that *dest points to is allocated by the malloc function libssh2
|
||||||
uses, but there's no way for an appliction to free this data in a safe and
|
uses, but there's no way for an application to free this data in a safe and
|
||||||
reliable way!
|
reliable way!
|
||||||
.SH RETURN VALUE
|
.SH RETURN VALUE
|
||||||
0 if successful, \-1 if any error occurred.
|
0 if successful, \-1 if any error occurred.
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_channel_close.3,v 1.3 2009/03/16 23:25:14 bagder Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_close 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
.TH libssh2_channel_close 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_close - close a channel
|
libssh2_channel_close - close a channel
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: template.3,v 1.4 2007/06/13 16:41:33 jehousley Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_direct_tcpip 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
.TH libssh2_channel_direct_tcpip 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_direct_tcpip - convenience macro for \fIlibssh2_channel_direct_tcpip_ex(3)\fP calls
|
libssh2_channel_direct_tcpip - convenience macro for \fIlibssh2_channel_direct_tcpip_ex(3)\fP calls
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_channel_direct_tcpip_ex.3,v 1.2 2009/03/17 10:34:27 bagder Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_direct_tcpip_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
.TH libssh2_channel_direct_tcpip_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_direct_tcpip_ex - Tunnel a TCP connection through an SSH session
|
libssh2_channel_direct_tcpip_ex - Tunnel a TCP connection through an SSH session
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_channel_eof.3,v 1.2 2009/03/16 23:25:14 bagder Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_eof 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
.TH libssh2_channel_eof 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_eof - check a channel's EOF status
|
libssh2_channel_eof - check a channel's EOF status
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: template.3,v 1.4 2007/06/13 16:41:33 jehousley Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_exec 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
.TH libssh2_channel_exec 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_exec - convenience macro for \fIlibssh2_channel_process_startup(3)\fP calls
|
libssh2_channel_exec - convenience macro for \fIlibssh2_channel_process_startup(3)\fP calls
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: template.3,v 1.4 2007/06/13 16:41:33 jehousley Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_flush 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
.TH libssh2_channel_flush 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_flush - convenience macro for \fIlibssh2_channel_flush_ex(3)\fP calls
|
libssh2_channel_flush - convenience macro for \fIlibssh2_channel_flush_ex(3)\fP calls
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_channel_flush_ex.3,v 1.1 2007/06/13 19:53:09 jehousley Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_flush_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
.TH libssh2_channel_flush_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_flush_ex - flush a channel
|
libssh2_channel_flush_ex - flush a channel
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: template.3,v 1.4 2007/06/13 16:41:33 jehousley Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_flush_stderr 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
.TH libssh2_channel_flush_stderr 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_flush_stderr - convenience macro for \fIlibssh2_channel_flush_ex(3)\fP calls
|
libssh2_channel_flush_stderr - convenience macro for \fIlibssh2_channel_flush_ex(3)\fP calls
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_channel_forward_accept.3,v 1.6 2009/03/16 23:25:14 bagder Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_forward_accept 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
.TH libssh2_channel_forward_accept 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_forward_accept - accept a queued connection
|
libssh2_channel_forward_accept - accept a queued connection
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_channel_forward_cancel.3,v 1.2 2009/03/16 23:25:14 bagder Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_forward_cancel 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
.TH libssh2_channel_forward_cancel 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_forward_cancel - cancel a forwarded TCP port
|
libssh2_channel_forward_cancel - cancel a forwarded TCP port
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: template.3,v 1.4 2007/06/13 16:41:33 jehousley Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_forward_listen 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
.TH libssh2_channel_forward_listen 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_forward_listen - convenience macro for \fIlibssh2_channel_forward_listen_ex(3)\fP calls
|
libssh2_channel_forward_listen - convenience macro for \fIlibssh2_channel_forward_listen_ex(3)\fP calls
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_channel_forward_listen_ex.3,v 1.7 2007/06/13 16:41:33 jehousley Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_forward_listen_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
.TH libssh2_channel_forward_listen_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_forward_listen_ex - listen to inbound connections
|
libssh2_channel_forward_listen_ex - listen to inbound connections
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_channel_free.3,v 1.1 2007/06/13 20:09:15 jehousley Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_free 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
.TH libssh2_channel_free 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_free - free all resources associated with a channel
|
libssh2_channel_free - free all resources associated with a channel
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id$
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_get_exit_signal 3 "4 Oct 2010" "libssh2 1.2.8" "libssh2 manual"
|
.TH libssh2_channel_get_exit_signal 3 "4 Oct 2010" "libssh2 1.2.8" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_get_exit_signal - get the remote exit signal
|
libssh2_channel_get_exit_signal - get the remote exit signal
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_channel_get_exit_status.3,v 1.1 2007/06/15 10:53:04 jehousley Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_get_exit_status 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
.TH libssh2_channel_get_exit_status 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_get_exit_status - get the remote exit code
|
libssh2_channel_get_exit_status - get the remote exit code
|
||||||
@@ -10,7 +8,7 @@ int
|
|||||||
libssh2_channel_get_exit_status(LIBSSH2_CHANNEL* channel)
|
libssh2_channel_get_exit_status(LIBSSH2_CHANNEL* channel)
|
||||||
|
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
\fIchannel\fP - Closed channel stream to retreive exit status from.
|
\fIchannel\fP - Closed channel stream to retrieve exit status from.
|
||||||
|
|
||||||
Returns the exit code raised by the process running on the remote host at
|
Returns the exit code raised by the process running on the remote host at
|
||||||
the other end of the named channel. Note that the exit status may not be
|
the other end of the named channel. Note that the exit status may not be
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_channel_handle_extended_data.3,v 1.2 2009/03/26 15:41:16 bagder Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_handle_extended_data 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
.TH libssh2_channel_handle_extended_data 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_handle_extended_data - set extended data handling mode
|
libssh2_channel_handle_extended_data - set extended data handling mode
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_channel_handle_extended_data2.3,v 1.1 2007/06/13 20:09:15 jehousley Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_handle_extended_data2 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
.TH libssh2_channel_handle_extended_data2 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_handle_extended_data2 - set extended data handling mode
|
libssh2_channel_handle_extended_data2 - set extended data handling mode
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: template.3,v 1.4 2007/06/13 16:41:33 jehousley Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_ignore_extended_data 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
.TH libssh2_channel_ignore_extended_data 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_ignore_extended_data - convenience macro for \fIlibssh2_channel_handle_extended_data(3)\fP calls
|
libssh2_channel_ignore_extended_data - convenience macro for \fIlibssh2_channel_handle_extended_data(3)\fP calls
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_channel_open_ex.3,v 1.2 2009/03/17 10:34:27 bagder Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_open_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
.TH libssh2_channel_open_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_open_ex - establish a generic session channel
|
libssh2_channel_open_ex - establish a generic session channel
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: template.3,v 1.4 2007/06/13 16:41:33 jehousley Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_open_session 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
.TH libssh2_channel_open_session 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_open_session - convenience macro for \fIlibssh2_channel_open_ex(3)\fP calls
|
libssh2_channel_open_session - convenience macro for \fIlibssh2_channel_open_ex(3)\fP calls
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_channel_process_startup.3,v 1.2 2009/03/16 23:25:14 bagder Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_process_startup 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
.TH libssh2_channel_process_startup 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_process_startup - request a shell on a channel
|
libssh2_channel_process_startup - request a shell on a channel
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: template.3,v 1.4 2007/06/13 16:41:33 jehousley Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_read 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
.TH libssh2_channel_read 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_read - convenience macro for \fIlibssh2_channel_read_ex(3)\fP calls
|
libssh2_channel_read - convenience macro for \fIlibssh2_channel_read_ex(3)\fP calls
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_channel_read_ex.3,v 1.10 2007/06/13 16:41:33 jehousley Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_read_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
.TH libssh2_channel_read_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_read_ex - read data from a channel stream
|
libssh2_channel_read_ex - read data from a channel stream
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: template.3,v 1.4 2007/06/13 16:41:33 jehousley Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_read_stderr 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
.TH libssh2_channel_read_stderr 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_read_stderr - convenience macro for \fIlibssh2_channel_read_ex(3)\fP calls
|
libssh2_channel_read_stderr - convenience macro for \fIlibssh2_channel_read_ex(3)\fP calls
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_channel_receive_window_adjust.3,v 1.3 2009/03/26 15:41:16 bagder Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_receive_window_adjust 3 "15 Mar 2009" "libssh2 0.15" "libssh2 manual"
|
.TH libssh2_channel_receive_window_adjust 3 "15 Mar 2009" "libssh2 0.15" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_receive_window_adjust - adjust the channel window
|
libssh2_channel_receive_window_adjust - adjust the channel window
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_channel_receive_window_adjust2.3,v 1.1 2009/03/26 15:41:16 bagder Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_receive_window_adjust2 3 "26 Mar 2009" "libssh2 1.1" "libssh2 manual"
|
.TH libssh2_channel_receive_window_adjust2 3 "26 Mar 2009" "libssh2 1.1" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_receive_window_adjust2 - adjust the channel window
|
libssh2_channel_receive_window_adjust2 - adjust the channel window
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: template.3,v 1.4 2007/06/13 16:41:33 jehousley Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_request_pty 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
.TH libssh2_channel_request_pty 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_request_pty - convenience macro for \fIlibssh2_channel_request_pty_ex(3)\fP calls
|
libssh2_channel_request_pty - convenience macro for \fIlibssh2_channel_request_pty_ex(3)\fP calls
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_channel_request_pty_ex.3,v 1.2 2009/03/16 23:25:14 bagder Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_request_pty_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
.TH libssh2_channel_request_pty_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_request_pty_ex - short function description
|
libssh2_channel_request_pty_ex - short function description
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: template.3,v 1.4 2007/06/13 16:41:33 jehousley Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_request_pty_size 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
.TH libssh2_channel_request_pty_size 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_request_pty_size - convenience macro for \fIlibssh2_channel_request_pty_size_ex(3)\fP calls
|
libssh2_channel_request_pty_size - convenience macro for \fIlibssh2_channel_request_pty_size_ex(3)\fP calls
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_channel_request_pty_size_ex.3,v 1.1 2009/03/16 15:00:45 bagder Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_request_pty_size_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
.TH libssh2_channel_request_pty_size_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_request_pty_size_ex - TODO
|
libssh2_channel_request_pty_size_ex - TODO
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_channel_send_eof.3,v 1.1 2007/06/13 21:07:59 jehousley Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_send_eof 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
.TH libssh2_channel_send_eof 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_send_eof - send EOF to remote server
|
libssh2_channel_send_eof - send EOF to remote server
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_channel_set_blocking.3,v 1.6 2009/03/26 15:41:16 bagder Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_set_blocking 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
.TH libssh2_channel_set_blocking 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_set_blocking - set or clear blocking mode on channel
|
libssh2_channel_set_blocking - set or clear blocking mode on channel
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: template.3,v 1.4 2007/06/13 16:41:33 jehousley Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_setenv 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
.TH libssh2_channel_setenv 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_setenv - convenience macro for \fIlibssh2_channel_setenv_ex(3)\fP calls
|
libssh2_channel_setenv - convenience macro for \fIlibssh2_channel_setenv_ex(3)\fP calls
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_channel_setenv_ex.3,v 1.2 2009/03/16 23:25:14 bagder Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_setenv_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
.TH libssh2_channel_setenv_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_setenv_ex - set an environment variable on the channel
|
libssh2_channel_setenv_ex - set an environment variable on the channel
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: template.3,v 1.4 2007/06/13 16:41:33 jehousley Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_shell 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
.TH libssh2_channel_shell 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_shell - convenience macro for \fIlibssh2_channel_process_startup(3)\fP calls
|
libssh2_channel_shell - convenience macro for \fIlibssh2_channel_process_startup(3)\fP calls
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: template.3,v 1.4 2007/06/13 16:41:33 jehousley Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_subsystem 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
.TH libssh2_channel_subsystem 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_subsystem - convenience macro for \fIlibssh2_channel_process_startup(3)\fP calls
|
libssh2_channel_subsystem - convenience macro for \fIlibssh2_channel_process_startup(3)\fP calls
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_channel_wait_closed.3,v 1.2 2007/11/29 10:04:16 bagder Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_wait_closed 3 "29 Nov 2007" "libssh2 0.19" "libssh2 manual"
|
.TH libssh2_channel_wait_closed 3 "29 Nov 2007" "libssh2 0.19" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_wait_closed - wait for the remote to close the channel
|
libssh2_channel_wait_closed - wait for the remote to close the channel
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_channel_wait_eof.3,v 1.5 2007/06/13 16:41:33 jehousley Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_wait_eof 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
.TH libssh2_channel_wait_eof 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_wait_eof - wait for the remote to reply to an EOF request
|
libssh2_channel_wait_eof - wait for the remote to reply to an EOF request
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: template.3,v 1.4 2007/06/13 16:41:33 jehousley Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_window_read 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
.TH libssh2_channel_window_read 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_window_read - convenience macro for \fIlibssh2_channel_window_read_ex(3)\fP calls
|
libssh2_channel_window_read - convenience macro for \fIlibssh2_channel_window_read_ex(3)\fP calls
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_channel_window_read_ex.3,v 1.2 2009/03/16 23:25:14 bagder Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_window_read_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
.TH libssh2_channel_window_read_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_window_read_ex - Check the status of the read window
|
libssh2_channel_window_read_ex - Check the status of the read window
|
||||||
|
@@ -1,12 +1,10 @@
|
|||||||
.\" $Id: template.3,v 1.4 2007/06/13 16:41:33 jehousley Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_window_write 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
.TH libssh2_channel_window_write 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_window_write - convenience macro for \fIlibssh2_channel_window_write_ex(3)\fP calls
|
libssh2_channel_window_write - convenience macro for \fIlibssh2_channel_window_write_ex(3)\fP calls
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
#include <libssh2.h>
|
#include <libssh2.h>
|
||||||
|
|
||||||
unsigend long libssh2_channel_window_write(LIBSSH2_CHANNEL *channel);
|
unsigned long libssh2_channel_window_write(LIBSSH2_CHANNEL *channel);
|
||||||
|
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
This is a macro defined in a public libssh2 header file that is using the
|
This is a macro defined in a public libssh2 header file that is using the
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_channel_window_write_ex.3,v 1.2 2009/03/16 23:25:14 bagder Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_window_write_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
.TH libssh2_channel_window_write_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_window_write_ex - Check the status of the write window
|
libssh2_channel_window_write_ex - Check the status of the write window
|
||||||
@@ -11,11 +9,11 @@ libssh2_channel_window_write_ex(LIBSSH2_CHANNEL *channel,
|
|||||||
unsigned long *window_size_initial)
|
unsigned long *window_size_initial)
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
Check the status of the write window Returns the number of bytes which may be
|
Check the status of the write window Returns the number of bytes which may be
|
||||||
safely writen on the channel without blocking. 'window_size_initial' (if
|
safely written on the channel without blocking. 'window_size_initial' (if
|
||||||
passed) will be populated with the size of the initial window as defined by
|
passed) will be populated with the size of the initial window as defined by
|
||||||
the channel_open request
|
the channel_open request
|
||||||
.SH RETURN VALUE
|
.SH RETURN VALUE
|
||||||
Number of bytes which may be safely writen on the channel without blocking.
|
Number of bytes which may be safely written on the channel without blocking.
|
||||||
.SH ERRORS
|
.SH ERRORS
|
||||||
|
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: template.3,v 1.4 2007/06/13 16:41:33 jehousley Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_write 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
.TH libssh2_channel_write 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_write - convenience macro for \fIlibssh2_channel_write_ex(3)\fP
|
libssh2_channel_write - convenience macro for \fIlibssh2_channel_write_ex(3)\fP
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_channel_write_ex.3,v 1.6 2009/03/16 23:25:14 bagder Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_write_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
.TH libssh2_channel_write_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_write_ex - write data to a channel stream blocking
|
libssh2_channel_write_ex - write data to a channel stream blocking
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: template.3,v 1.4 2007/06/13 16:41:33 jehousley Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_write_stderr 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
.TH libssh2_channel_write_stderr 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_write_stderr - convenience macro for \fIlibssh2_channel_write_ex(3)\fP
|
libssh2_channel_write_stderr - convenience macro for \fIlibssh2_channel_write_ex(3)\fP
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: template.3,v 1.4 2007/06/13 16:41:33 jehousley Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_x11_req 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
.TH libssh2_channel_x11_req 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_x11_req - convenience macro for \fIlibssh2_channel_x11_req_ex(3)\fP calls
|
libssh2_channel_x11_req - convenience macro for \fIlibssh2_channel_x11_req_ex(3)\fP calls
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_channel_x11_req_ex.3,v 1.2 2009/03/16 23:25:14 bagder Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_channel_x11_req_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
.TH libssh2_channel_x11_req_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_channel_x11_req_ex - request an X11 forwarding channel
|
libssh2_channel_x11_req_ex - request an X11 forwarding channel
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_hostkey_hash.3,v 1.2 2009/03/17 10:34:27 bagder Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_hostkey_hash 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
.TH libssh2_hostkey_hash 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_hostkey_hash - return a hash of the remote host's key
|
libssh2_hostkey_hash - return a hash of the remote host's key
|
||||||
@@ -20,8 +18,9 @@ Returns the computed digest of the remote system's hostkey. The length of
|
|||||||
the returned string is hash_type specific (e.g. 16 bytes for MD5,
|
the returned string is hash_type specific (e.g. 16 bytes for MD5,
|
||||||
20 bytes for SHA1).
|
20 bytes for SHA1).
|
||||||
.SH RETURN VALUE
|
.SH RETURN VALUE
|
||||||
Computed hostkey hash value. or NULL if the session has not yet been started
|
Computed hostkey hash value, or NULL if the information is not available
|
||||||
up. (The hash consists of raw binary bytes, not hex digits, so is not
|
(either the session has not yet been started up, or the requested hash
|
||||||
directly printable.)
|
algorithm was not available). The hash consists of raw binary bytes, not hex
|
||||||
|
digits, so it is not directly printable.
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
.BR libssh2_session_init_ex(3)
|
.BR libssh2_session_init_ex(3)
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: keepalive_send.3,v 1.4 2007/06/13 16:41:33 jehousley Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_keepalive_send 3 "13 Apr 2011" "libssh2 1.2.5" "libssh2 manual"
|
.TH libssh2_keepalive_send 3 "13 Apr 2011" "libssh2 1.2.5" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_keepalive_send - short function description
|
libssh2_keepalive_send - short function description
|
||||||
|
@@ -36,7 +36,7 @@ The salt has to be provided base64 encoded with a trailing zero byte.
|
|||||||
argument
|
argument
|
||||||
|
|
||||||
\fItypemask\fP is a bitmask that specifies format and info about the data
|
\fItypemask\fP is a bitmask that specifies format and info about the data
|
||||||
passed to this function. Specificly, it details what format the host name is,
|
passed to this function. Specifically, it details what format the host name is,
|
||||||
what format the key is and what key type it is.
|
what format the key is and what key type it is.
|
||||||
|
|
||||||
The host name is given as one of the following types:
|
The host name is given as one of the following types:
|
||||||
|
@@ -40,7 +40,7 @@ argument
|
|||||||
\fIcommentlen\fP is the total size in bytes of the comment pointed to by the \fIcomment\fP argument
|
\fIcommentlen\fP is the total size in bytes of the comment pointed to by the \fIcomment\fP argument
|
||||||
|
|
||||||
\fItypemask\fP is a bitmask that specifies format and info about the data
|
\fItypemask\fP is a bitmask that specifies format and info about the data
|
||||||
passed to this function. Specificly, it details what format the host name is,
|
passed to this function. Specifically, it details what format the host name is,
|
||||||
what format the key is and what key type it is.
|
what format the key is and what key type it is.
|
||||||
|
|
||||||
The host name is given as one of the following types:
|
The host name is given as one of the following types:
|
||||||
|
@@ -25,7 +25,7 @@ IP numerical address of the host or the full name.
|
|||||||
argument
|
argument
|
||||||
|
|
||||||
\fItypemask\fP is a bitmask that specifies format and info about the data
|
\fItypemask\fP is a bitmask that specifies format and info about the data
|
||||||
passed to this function. Specificly, it details what format the host name is,
|
passed to this function. Specifically, it details what format the host name is,
|
||||||
what format the key is and what key type it is.
|
what format the key is and what key type it is.
|
||||||
|
|
||||||
The host name is given as one of the following types:
|
The host name is given as one of the following types:
|
||||||
|
@@ -30,7 +30,7 @@ addition to the plain host name only check.
|
|||||||
argument
|
argument
|
||||||
|
|
||||||
\fItypemask\fP is a bitmask that specifies format and info about the data
|
\fItypemask\fP is a bitmask that specifies format and info about the data
|
||||||
passed to this function. Specificly, it details what format the host name is,
|
passed to this function. Specifically, it details what format the host name is,
|
||||||
what format the key is and what key type it is.
|
what format the key is and what key type it is.
|
||||||
|
|
||||||
The host name is given as one of the following types:
|
The host name is given as one of the following types:
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_poll.3,v 1.4 2009/04/14 21:38:36 bagder Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_poll 3 "14 Dec 2006" "libssh2 0.15" "libssh2 manual"
|
.TH libssh2_poll 3 "14 Dec 2006" "libssh2 0.15" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_poll - poll for activity on a socket, channel or listener
|
libssh2_poll - poll for activity on a socket, channel or listener
|
||||||
@@ -10,7 +8,7 @@ int libssh2_poll(LIBSSH2_POLLFD *fds, unsigned int nfds, long timeout);
|
|||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
This function is deprecated. Do note use. We encourage users to instead use
|
This function is deprecated. Do note use. We encourage users to instead use
|
||||||
the \fIpoll(3)\fP or \fIselect(3)\fP functions to check for socket activity or
|
the \fIpoll(3)\fP or \fIselect(3)\fP functions to check for socket activity or
|
||||||
when specific sockets are ready to get recevied from or send to.
|
when specific sockets are ready to get received from or send to.
|
||||||
|
|
||||||
Poll for activity on a socket, channel, listener, or any combination of these
|
Poll for activity on a socket, channel, listener, or any combination of these
|
||||||
three types. The calling semantics for this function generally match
|
three types. The calling semantics for this function generally match
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_poll_channel_read.3,v 1.3 2009/04/14 21:38:36 bagder Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_poll_channel_read 3 "14 Dec 2006" "libssh2 0.15" "libssh2 manual"
|
.TH libssh2_poll_channel_read 3 "14 Dec 2006" "libssh2 0.15" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_poll_channel_read - check if data is available
|
libssh2_poll_channel_read - check if data is available
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: template.3,v 1.4 2007/06/13 16:41:33 jehousley Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_publickey_add 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
.TH libssh2_publickey_add 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_publickey_add - convenience macro for \fIlibssh2_publickey_add_ex(3)\fP calls
|
libssh2_publickey_add - convenience macro for \fIlibssh2_publickey_add_ex(3)\fP calls
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_publickey_add_ex.3,v 1.1 2009/03/16 15:00:45 bagder Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_publickey_add_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
.TH libssh2_publickey_add_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_publickey_add_ex - Add a public key entry
|
libssh2_publickey_add_ex - Add a public key entry
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_publickey_init.3,v 1.1 2009/03/16 15:00:45 bagder Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_publickey_init 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
.TH libssh2_publickey_init 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_publickey_init - TODO
|
libssh2_publickey_init - TODO
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_publickey_list_fetch.3,v 1.1 2009/03/16 15:00:45 bagder Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_publickey_list_fetch 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
.TH libssh2_publickey_list_fetch 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_publickey_list_fetch - TODO
|
libssh2_publickey_list_fetch - TODO
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_publickey_list_free.3,v 1.1 2009/03/16 15:00:45 bagder Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_publickey_list_free 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
.TH libssh2_publickey_list_free 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_publickey_list_free - TODO
|
libssh2_publickey_list_free - TODO
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: template.3,v 1.4 2007/06/13 16:41:33 jehousley Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_publickey_remove 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
.TH libssh2_publickey_remove 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_publickey_remove - convenience macro for \fIlibssh2_publickey_remove_ex(3)\fP calls
|
libssh2_publickey_remove - convenience macro for \fIlibssh2_publickey_remove_ex(3)\fP calls
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_publickey_remove_ex.3,v 1.1 2009/03/16 15:00:45 bagder Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_publickey_list_remove_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
.TH libssh2_publickey_list_remove_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_publickey_list_remove_ex - TODO
|
libssh2_publickey_list_remove_ex - TODO
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_publickey_shutdown.3,v 1.1 2009/03/16 15:00:45 bagder Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_publickey_shutdown 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
.TH libssh2_publickey_shutdown 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_publickey_shutdown - TODO
|
libssh2_publickey_shutdown - TODO
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_scp_recv.3,v 1.3 2009/03/17 10:34:27 bagder Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_scp_recv 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
.TH libssh2_scp_recv 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_scp_recv - request a remote file via SCP
|
libssh2_scp_recv - request a remote file via SCP
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: template.3,v 1.4 2007/06/13 16:41:33 jehousley Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_scp_send 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
.TH libssh2_scp_send 3 "20 Feb 2010" "libssh2 1.2.4" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_scp_send - convenience macro for \fIlibssh2_scp_send_ex(3)\fP calls
|
libssh2_scp_send - convenience macro for \fIlibssh2_scp_send_ex(3)\fP calls
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_scp_send_ex.3,v 1.3 2009/03/17 10:34:27 bagder Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_scp_send64 3 "17 Apr 2010" "libssh2 1.2.6" "libssh2 manual"
|
.TH libssh2_scp_send64 3 "17 Apr 2010" "libssh2 1.2.6" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_scp_send64 - Send a file via SCP
|
libssh2_scp_send64 - Send a file via SCP
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_scp_send_ex.3,v 1.3 2009/03/17 10:34:27 bagder Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_scp_send_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
.TH libssh2_scp_send_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_scp_send_ex - Send a file via SCP
|
libssh2_scp_send_ex - Send a file via SCP
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
.\" $Id: libssh2_session_abstract.3,v 1.2 2008/07/03 10:58:53 bagder Exp $
|
|
||||||
.\"
|
|
||||||
.TH libssh2_session_abstract 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
.TH libssh2_session_abstract 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
libssh2_session_abstract - return a pointer to a session's abstract pointer
|
libssh2_session_abstract - return a pointer to a session's abstract pointer
|
||||||
@@ -19,7 +17,7 @@ de-referenced pointer, the internal storage of the session instance may be
|
|||||||
modified in place.
|
modified in place.
|
||||||
|
|
||||||
.SH RETURN VALUE
|
.SH RETURN VALUE
|
||||||
A pointer to session internal storage whos contents point to previously
|
A pointer to session internal storage who's contents point to previously
|
||||||
provided abstract data.
|
provided abstract data.
|
||||||
|
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
|
21
docs/libssh2_session_banner_get.3
Normal file
21
docs/libssh2_session_banner_get.3
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
.TH libssh2_session_banner_get 3 "9 Sep 2011" "libssh2 1.4.0" "libssh2 manual"
|
||||||
|
.SH NAME
|
||||||
|
libssh2_session_banner_get - get the remote banner
|
||||||
|
.SH SYNOPSIS
|
||||||
|
#include <libssh2.h>
|
||||||
|
|
||||||
|
const char *libssh2_session_banner_get(oLIBSSH2_SESSION *session);
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Once the session has been setup and \fIlibssh2_session_handshake(3)\fP has
|
||||||
|
completed successfully, this function can be used to get the server id from
|
||||||
|
the banner each server presents.
|
||||||
|
.SH RETURN VALUE
|
||||||
|
A pointer to a string or NULL if something failed. The data pointed to will be
|
||||||
|
allocated and associated to the session handle and will be freed by libssh2
|
||||||
|
when \fIlibssh2_session_free(3)\fP is used.
|
||||||
|
.SH AVAILABILITY
|
||||||
|
Added in 1.4.0
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR libssh2_session_banner_set(3),
|
||||||
|
.BR libssh2_session_handshake(3),
|
||||||
|
.BR libssh2_session_free(3)
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user