Merge lp:~ubuntu-branches/ubuntu/oneiric/libssh/oneiric-201109270411 into lp:ubuntu/oneiric/libssh

Proposed by Ubuntu Package Importer
Status: Needs review
Proposed branch: lp:~ubuntu-branches/ubuntu/oneiric/libssh/oneiric-201109270411
Merge into: lp:ubuntu/oneiric/libssh
Diff against target: 1916 lines (+1792/-0) (has conflicts)
17 files modified
.pc/0001-rename-threads-static.patch/src/CMakeLists.txt (+219/-0)
.pc/0001-rename-threads-static.patch/src/threads/CMakeLists.txt (+108/-0)
.pc/0002-Check-for-NULL-pointers-in-string-c.patch/src/string.c (+216/-0)
.pc/applied-patches (+5/-0)
CMakeLists.txt.OTHER (+119/-0)
CPackConfig.cmake.OTHER (+53/-0)
ChangeLog.OTHER (+320/-0)
ConfigureChecks.cmake.OTHER (+158/-0)
config.h.cmake.OTHER (+128/-0)
debian/changelog (+204/-0)
debian/control (+72/-0)
debian/libssh-doc.doc-base (+12/-0)
debian/patches/0001-rename-threads-static.patch (+90/-0)
debian/patches/0002-Check-for-NULL-pointers-in-string-c.patch (+58/-0)
debian/patches/series (+5/-0)
debian/rules (+20/-0)
debian/watch (+5/-0)
Text conflict in .pc/applied-patches
Contents conflict in CMakeLists.txt
Contents conflict in CPackConfig.cmake
Contents conflict in ChangeLog
Contents conflict in ConfigureChecks.cmake
Contents conflict in config.h.cmake
Text conflict in debian/changelog
Text conflict in debian/control
Text conflict in debian/libssh-doc.doc-base
Text conflict in debian/patches/series
Text conflict in debian/rules
Text conflict in debian/watch
To merge this branch: bzr merge lp:~ubuntu-branches/ubuntu/oneiric/libssh/oneiric-201109270411
Reviewer Review Type Date Requested Status
Ubuntu branches Pending
Review via email: mp+77089@code.launchpad.net

Description of the change

The package importer has detected a possible inconsistency between the package history in the archive and the history in bzr. As the archive is authoritative the importer has made lp:ubuntu/oneiric/libssh reflect what is in the archive and the old bzr branch has been pushed to lp:~ubuntu-branches/ubuntu/oneiric/libssh/oneiric-201109270411. This merge proposal was created so that an Ubuntu developer can review the situations and perform a merge/upload if necessary. There are three typical cases where this can happen.
  1. Where someone pushes a change to bzr and someone else uploads the package without that change. This is the reason that this check is done by the importer. If this appears to be the case then a merge/upload should be done if the changes that were in bzr are still desirable.
  2. The importer incorrectly detected the above situation when someone made a change in bzr and then uploaded it.
  3. The importer incorrectly detected the above situation when someone just uploaded a package and didn't touch bzr.

If this case doesn't appear to be the first situation then set the status of the merge proposal to "Rejected" and help avoid the problem in future by filing a bug at https://bugs.launchpad.net/udd linking to this merge proposal.

(this is an automatically generated message)

To post a comment you must log in.

Unmerged revisions

20. By Michael Vogt

Merging shared upstream rev into target branch.

19. By Michael Vogt

Merging shared upstream rev into target branch.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added directory '.pc/0001-rename-threads-static.patch'
2=== added directory '.pc/0001-rename-threads-static.patch/src'
3=== added file '.pc/0001-rename-threads-static.patch/src/CMakeLists.txt'
4--- .pc/0001-rename-threads-static.patch/src/CMakeLists.txt 1970-01-01 00:00:00 +0000
5+++ .pc/0001-rename-threads-static.patch/src/CMakeLists.txt 2011-09-27 04:16:24 +0000
6@@ -0,0 +1,219 @@
7+project(libssh-library C)
8+
9+set(LIBSSH_PUBLIC_INCLUDE_DIRS
10+ ${CMAKE_SOURCE_DIR}/include
11+ CACHE INTERNAL "libssh public include directories"
12+)
13+
14+set(LIBSSH_PRIVATE_INCLUDE_DIRS
15+ ${CMAKE_BINARY_DIR}
16+ ${OPENSSL_INCLUDE_DIRS}
17+ ${GCRYPT_INCLUDE_DIRS}
18+ ${ZLIB_INCLUDE_DIRS}
19+)
20+
21+set(LIBSSH_SHARED_LIBRARY
22+ ssh_shared
23+ CACHE INTERNAL "libssh shared library"
24+)
25+
26+if (WITH_STATIC_LIB)
27+ set(LIBSSH_STATIC_LIBRARY
28+ ssh_static
29+ CACHE INTERNAL "libssh static library"
30+ )
31+endif (WITH_STATIC_LIB)
32+
33+set(LIBSSH_LINK_LIBRARIES
34+ ${LIBSSH_REQUIRED_LIBRARIES}
35+ ${ZLIB_LIBRARIES}
36+)
37+
38+if (WIN32)
39+ set(LIBSSH_LINK_LIBRARIES
40+ ${LIBSSH_LINK_LIBRARIES}
41+ ws2_32
42+ )
43+endif (WIN32)
44+
45+if (HAVE_LIBSOCKET)
46+ set(LIBSSH_LINK_LIBRARIES
47+ ${LIBSSH_LINK_LIBRARIES}
48+ socket
49+ )
50+endif (HAVE_LIBSOCKET)
51+
52+if (OPENSSL_LIBRARIES)
53+ set(LIBSSH_PRIVATE_INCLUDE_DIRS
54+ ${LIBSSH_PRIVATE_INCLUDE_DIRS}
55+ ${OPENSSL_INCLUDE_DIRS}
56+ )
57+
58+ set(LIBSSH_LINK_LIBRARIES
59+ ${LIBSSH_LINK_LIBRARIES}
60+ ${OPENSSL_LIBRARIES}
61+ )
62+endif (OPENSSL_LIBRARIES)
63+
64+if (GCRYPT_LIBRARY)
65+ set(LIBSSH_PRIVATE_INCLUDE_DIRS
66+ ${LIBSSH_PRIVATE_INCLUDE_DIRS}
67+ ${GCRYPT_INCLUDE_DIRS}
68+ )
69+
70+ set(LIBSSH_LINK_LIBRARIES
71+ ${LIBSSH_LINK_LIBRARIES}
72+ ${GCRYPT_LIBRARY}
73+ )
74+endif (GCRYPT_LIBRARY)
75+
76+set(LIBSSH_LINK_LIBRARIES
77+ ${LIBSSH_LINK_LIBRARIES}
78+ CACHE INTERNAL "libssh link libraries"
79+)
80+
81+set(libssh_SRCS
82+ agent.c
83+ auth.c
84+ base64.c
85+ buffer.c
86+ callbacks.c
87+ channels.c
88+ client.c
89+ config.c
90+ connect.c
91+ crc32.c
92+ crypt.c
93+ dh.c
94+ error.c
95+ getpass.c
96+ gcrypt_missing.c
97+ gzip.c
98+ init.c
99+ kex.c
100+ keyfiles.c
101+ keys.c
102+ known_hosts.c
103+ legacy.c
104+ libcrypto.c
105+ libgcrypt.c
106+ log.c
107+ match.c
108+ messages.c
109+ misc.c
110+ options.c
111+ packet.c
112+ pcap.c
113+ pki.c
114+ poll.c
115+ session.c
116+ scp.c
117+ socket.c
118+ string.c
119+ threads.c
120+ wrapper.c
121+)
122+
123+if (WITH_SFTP)
124+ set(libssh_SRCS
125+ ${libssh_SRCS}
126+ sftp.c
127+ )
128+
129+ if (WITH_SERVER)
130+ set(libssh_SRCS
131+ ${libssh_SRCS}
132+ sftpserver.c
133+ )
134+ endif (WITH_SERVER)
135+endif (WITH_SFTP)
136+
137+if (WITH_SSH1)
138+ set(libssh_SRCS
139+ ${libssh_SRCS}
140+ auth1.c
141+ channels1.c
142+ packet1.c
143+ )
144+endif (WITH_SSH1)
145+
146+if (WITH_SERVER)
147+ set(libssh_SRCS
148+ ${libssh_SRCS}
149+ server.c
150+ bind.c
151+ )
152+endif (WITH_SERVER)
153+
154+include_directories(
155+ ${LIBSSH_PUBLIC_INCLUDE_DIRS}
156+ ${LIBSSH_PRIVATE_INCLUDE_DIRS}
157+)
158+
159+add_library(${LIBSSH_SHARED_LIBRARY} SHARED ${libssh_SRCS})
160+
161+target_link_libraries(${LIBSSH_SHARED_LIBRARY} ${LIBSSH_LINK_LIBRARIES})
162+
163+set_target_properties(
164+ ${LIBSSH_SHARED_LIBRARY}
165+ PROPERTIES
166+ VERSION
167+ ${LIBRARY_VERSION}
168+ SOVERSION
169+ ${LIBRARY_SOVERSION}
170+ OUTPUT_NAME
171+ ssh
172+ DEFINE_SYMBOL
173+ LIBSSH_EXPORTS
174+)
175+
176+if (WITH_VISIBILITY_HIDDEN)
177+ set_target_properties(${LIBSSH_SHARED_LIBRARY} PROPERTIES COMPILE_FLAGS "-fvisibility=hidden")
178+endif (WITH_VISIBILITY_HIDDEN)
179+
180+
181+install(
182+ TARGETS
183+ ${LIBSSH_SHARED_LIBRARY}
184+ RUNTIME DESTINATION ${BIN_INSTALL_DIR}
185+ LIBRARY DESTINATION ${LIB_INSTALL_DIR}
186+ ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
187+ COMPONENT libraries
188+)
189+
190+if (WITH_STATIC_LIB)
191+ add_library(${LIBSSH_STATIC_LIBRARY} STATIC ${libssh_SRCS})
192+
193+ set_target_properties(
194+ ${LIBSSH_STATIC_LIBRARY}
195+ PROPERTIES
196+ VERSION
197+ ${LIBRARY_VERSION}
198+ SOVERSION
199+ ${LIBRARY_SOVERSION}
200+ OUTPUT_NAME
201+ ssh
202+ )
203+
204+ if (WIN32)
205+ set_target_properties(
206+ ${LIBSSH_STATIC_LIBRARY}
207+ PROPERTIES
208+ COMPILE_FLAGS
209+ "-DLIBSSH_STATIC"
210+ )
211+ endif (WIN32)
212+
213+ install(
214+ TARGETS
215+ ${LIBSSH_STATIC_LIBRARY}
216+ DESTINATION
217+ ${LIB_INSTALL_DIR}
218+ COMPONENT
219+ libraries
220+ )
221+endif (WITH_STATIC_LIB)
222+
223+if (CMAKE_HAVE_THREADS_LIBRARY)
224+ add_subdirectory(threads)
225+endif (CMAKE_HAVE_THREADS_LIBRARY)
226
227=== added directory '.pc/0001-rename-threads-static.patch/src/threads'
228=== added file '.pc/0001-rename-threads-static.patch/src/threads/CMakeLists.txt'
229--- .pc/0001-rename-threads-static.patch/src/threads/CMakeLists.txt 1970-01-01 00:00:00 +0000
230+++ .pc/0001-rename-threads-static.patch/src/threads/CMakeLists.txt 2011-09-27 04:16:24 +0000
231@@ -0,0 +1,108 @@
232+project(libssh-threads C)
233+
234+set(LIBSSH_THREADS_PUBLIC_INCLUDE_DIRS
235+ ${CMAKE_SOURCE_DIR}/include
236+ ${CMAKE_CURRENT_SOURCE_DIR}
237+ ${CMAKE_SOURCE_DIR}
238+ CACHE INTERNAL "libssh public include directories"
239+)
240+
241+set(LIBSSH_THREADS_PRIVATE_INCLUDE_DIRS
242+ ${CMAKE_BINARY_DIR}
243+)
244+
245+set(LIBSSH_THREADS_SHARED_LIBRARY
246+ ssh_threads_shared
247+ CACHE INTERNAL "libssh threads shared library"
248+)
249+
250+if (WITH_STATIC_LIB)
251+ set(LIBSSH_THREADS_STATIC_LIBRARY
252+ ssh_threads_static
253+ CACHE INTERNAL "libssh threads static library"
254+ )
255+endif (WITH_STATIC_LIB)
256+
257+set(LIBSSH_THREADS_LINK_LIBRARIES
258+ ${LIBSSH_SHARED_LIBRARY}
259+)
260+
261+set(libssh_threads_SRCS
262+)
263+
264+# build and link pthread
265+if (CMAKE_USE_PTHREADS_INIT)
266+ set(libssh_threads_SRCS
267+ ${libssh_threads_SRCS}
268+ pthread.c
269+ )
270+
271+ set(LIBSSH_THREADS_LINK_LIBRARIES
272+ ${LIBSSH_THREADS_LINK_LIBRARIES}
273+ ${CMAKE_THREAD_LIBS_INIT}
274+ )
275+endif (CMAKE_USE_PTHREADS_INIT)
276+
277+set(LIBSSH_THREADS_LINK_LIBRARIES
278+ ${LIBSSH_THREADS_LINK_LIBRARIES}
279+ CACHE INTERNAL "libssh threads link libraries"
280+)
281+
282+include_directories(
283+ ${LIBSSH_THREADS_PUBLIC_INCLUDE_DIRS}
284+ ${LIBSSH_THREADS_PRIVATE_INCLUDE_DIRS}
285+)
286+
287+add_library(${LIBSSH_THREADS_SHARED_LIBRARY} SHARED ${libssh_threads_SRCS})
288+
289+target_link_libraries(${LIBSSH_THREADS_SHARED_LIBRARY} ${LIBSSH_THREADS_LINK_LIBRARIES})
290+
291+set_target_properties(
292+ ${LIBSSH_THREADS_SHARED_LIBRARY}
293+ PROPERTIES
294+ VERSION
295+ ${LIBRARY_VERSION}
296+ SOVERSION
297+ ${LIBRARY_SOVERSION}
298+ OUTPUT_NAME
299+ ssh_threads
300+ DEFINE_SYMBOL
301+ LIBSSH_EXPORTS
302+)
303+
304+if (WITH_VISIBILITY_HIDDEN)
305+ set_target_properties(${LIBSSH_THREADS_SHARED_LIBRARY} PROPERTIES COMPILE_FLAGS "-fvisibility=hidden")
306+endif (WITH_VISIBILITY_HIDDEN)
307+
308+install(
309+ TARGETS
310+ ${LIBSSH_THREADS_SHARED_LIBRARY}
311+ RUNTIME DESTINATION ${BIN_INSTALL_DIR}
312+ LIBRARY DESTINATION ${LIB_INSTALL_DIR}
313+ ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
314+ COMPONENT libraries
315+)
316+
317+if (WITH_STATIC_LIB)
318+ add_library(${LIBSSH_THREADS_STATIC_LIBRARY} STATIC ${libssh_threads_SRCS})
319+
320+ set_target_properties(
321+ ${LIBSSH_THREADS_STATIC_LIBRARY}
322+ PROPERTIES
323+ VERSION
324+ ${LIBRARY_VERSION}
325+ SOVERSION
326+ ${LIBRARY_SOVERSION}
327+ COMPILE_FLAGS
328+ "-DLIBSSH_STATIC"
329+ )
330+
331+ install(
332+ TARGETS
333+ ${LIBSSH_THREADS_STATIC_LIBRARY}
334+ DESTINATION
335+ ${LIB_INSTALL_DIR}
336+ COMPONENT
337+ libraries
338+ )
339+endif (WITH_STATIC_LIB)
340
341=== added directory '.pc/0002-Check-for-NULL-pointers-in-string-c.patch'
342=== added directory '.pc/0002-Check-for-NULL-pointers-in-string-c.patch/src'
343=== added file '.pc/0002-Check-for-NULL-pointers-in-string-c.patch/src/string.c'
344--- .pc/0002-Check-for-NULL-pointers-in-string-c.patch/src/string.c 1970-01-01 00:00:00 +0000
345+++ .pc/0002-Check-for-NULL-pointers-in-string-c.patch/src/string.c 2011-09-27 04:16:24 +0000
346@@ -0,0 +1,216 @@
347+/*
348+ * string.c - ssh string functions
349+ *
350+ * This file is part of the SSH Library
351+ *
352+ * Copyright (c) 2003-2008 by Aris Adamantiadis
353+ *
354+ * The SSH Library is free software; you can redistribute it and/or modify
355+ * it under the terms of the GNU Lesser General Public License as published by
356+ * the Free Software Foundation; either version 2.1 of the License, or (at your
357+ * option) any later version.
358+ *
359+ * The SSH Library is distributed in the hope that it will be useful, but
360+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
361+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
362+ * License for more details.
363+ *
364+ * You should have received a copy of the GNU Lesser General Public License
365+ * along with the SSH Library; see the file COPYING. If not, write to
366+ * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
367+ * MA 02111-1307, USA.
368+ */
369+
370+#include <stdlib.h>
371+#include <string.h>
372+
373+#ifndef _WIN32
374+#include <arpa/inet.h>
375+#endif
376+
377+#include "libssh/priv.h"
378+#include "libssh/string.h"
379+
380+/**
381+ * @defgroup libssh_string The SSH string functions
382+ * @ingroup libssh
383+ *
384+ * @brief String manipulations used in libssh.
385+ *
386+ * @{
387+ */
388+
389+/**
390+ * @brief Create a new SSH String object.
391+ *
392+ * @param[in] size The size of the string.
393+ *
394+ * @return The newly allocated string, NULL on error.
395+ */
396+struct ssh_string_struct *ssh_string_new(size_t size) {
397+ struct ssh_string_struct *str = NULL;
398+
399+ str = malloc(size + 4);
400+ if (str == NULL) {
401+ return NULL;
402+ }
403+
404+ str->size = htonl(size);
405+ return str;
406+}
407+
408+/**
409+ * @brief Fill a string with given data. The string should be big enough.
410+ *
411+ * @param s An allocated string to fill with data.
412+ *
413+ * @param data The data to fill the string with.
414+ *
415+ * @param len Size of data.
416+ *
417+ * @return 0 on success, < 0 on error.
418+ */
419+int ssh_string_fill(struct ssh_string_struct *s, const void *data, size_t len) {
420+ if ((s == NULL) || (data == NULL) ||
421+ (len == 0) || (len > s->size)) {
422+ return -1;
423+ }
424+
425+ memcpy(s->string, data, len);
426+ return 0;
427+}
428+
429+/**
430+ * @brief Create a ssh string using a C string
431+ *
432+ * @param[in] what The source 0-terminated C string.
433+ *
434+ * @return The newly allocated string, NULL on error with errno
435+ * set.
436+ *
437+ * @note The nul byte is not copied nor counted in the ouput string.
438+ */
439+struct ssh_string_struct *ssh_string_from_char(const char *what) {
440+ struct ssh_string_struct *ptr = NULL;
441+ size_t len = strlen(what);
442+
443+ ptr = malloc(4 + len);
444+ if (ptr == NULL) {
445+ return NULL;
446+ }
447+ ptr->size = htonl(len);
448+ memcpy(ptr->string, what, len);
449+
450+ return ptr;
451+}
452+
453+/**
454+ * @brief Return the size of a SSH string.
455+ *
456+ * @param[in] s The the input SSH string.
457+ *
458+ * @return The size of the content of the string, 0 on error.
459+ */
460+size_t ssh_string_len(struct ssh_string_struct *s) {
461+ if (s == NULL) {
462+ return ntohl(0);
463+ }
464+
465+ return ntohl(s->size);
466+}
467+
468+/**
469+ * @brief Convert a SSH string to a C nul-terminated string.
470+ *
471+ * @param[in] s The SSH input string.
472+ *
473+ * @return An allocated string pointer, NULL on error with errno
474+ * set.
475+ *
476+ * @note If the input SSH string contains zeroes, some parts of the output
477+ * string may not be readable with regular libc functions.
478+ */
479+char *ssh_string_to_char(struct ssh_string_struct *s) {
480+ size_t len;
481+ char *new;
482+ if(s==NULL)
483+ return NULL;
484+ len = ntohl(s->size) + 1;
485+ new = malloc(len);
486+
487+ if (new == NULL) {
488+ return NULL;
489+ }
490+ memcpy(new, s->string, len - 1);
491+ new[len - 1] = '\0';
492+ return new;
493+}
494+
495+/**
496+ * @brief Deallocate a char string object.
497+ *
498+ * @param[in] s The string to delete.
499+ */
500+void ssh_string_free_char(char *s) {
501+ SAFE_FREE(s);
502+}
503+
504+/**
505+ * @brief Copy a string, return a newly allocated string. The caller has to
506+ * free the string.
507+ *
508+ * @param[in] s String to copy.
509+ *
510+ * @return Newly allocated copy of the string, NULL on error.
511+ */
512+struct ssh_string_struct *ssh_string_copy(struct ssh_string_struct *s) {
513+ struct ssh_string_struct *new = malloc(ntohl(s->size) + 4);
514+
515+ if (new == NULL) {
516+ return NULL;
517+ }
518+ new->size = s->size;
519+ memcpy(new->string, s->string, ntohl(s->size));
520+
521+ return new;
522+}
523+
524+/**
525+ * @brief Destroy the data in a string so it couldn't appear in a core dump.
526+ *
527+ * @param[in] s The string to burn.
528+ */
529+void ssh_string_burn(struct ssh_string_struct *s) {
530+ if (s == NULL) {
531+ return;
532+ }
533+ memset(s->string, 'X', ssh_string_len(s));
534+}
535+
536+/**
537+ * @brief Get the payload of the string.
538+ *
539+ * @param s The string to get the data from.
540+ *
541+ * @return Return the data of the string or NULL on error.
542+ */
543+void *ssh_string_data(struct ssh_string_struct *s) {
544+ if (s == NULL) {
545+ return NULL;
546+ }
547+
548+ return s->string;
549+}
550+
551+/**
552+ * @brief Deallocate a SSH string object.
553+ *
554+ * \param[in] s The SSH string to delete.
555+ */
556+void ssh_string_free(struct ssh_string_struct *s) {
557+ SAFE_FREE(s);
558+}
559+
560+/** @} */
561+
562+/* vim: set ts=4 sw=4 et cindent: */
563
564=== modified file '.pc/applied-patches'
565--- .pc/applied-patches 2011-08-19 00:46:48 +0000
566+++ .pc/applied-patches 2011-09-27 04:16:24 +0000
567@@ -1,2 +1,7 @@
568+<<<<<<< TREE
569 0001-disable-latex-documentation.patch
570 0002-fix-html-doc-generation.patch
571+=======
572+0001-rename-threads-static.patch
573+0002-Check-for-NULL-pointers-in-string-c.patch
574+>>>>>>> MERGE-SOURCE
575
576=== added file 'CMakeLists.txt.OTHER'
577--- CMakeLists.txt.OTHER 1970-01-01 00:00:00 +0000
578+++ CMakeLists.txt.OTHER 2011-09-27 04:16:24 +0000
579@@ -0,0 +1,119 @@
580+project(libssh C)
581+
582+# Required cmake version
583+cmake_minimum_required(VERSION 2.6.0)
584+
585+# global needed variables
586+set(APPLICATION_NAME ${PROJECT_NAME})
587+
588+set(APPLICATION_VERSION_MAJOR "0")
589+set(APPLICATION_VERSION_MINOR "5")
590+set(APPLICATION_VERSION_PATCH "2")
591+
592+set(APPLICATION_VERSION "${APPLICATION_VERSION_MAJOR}.${APPLICATION_VERSION_MINOR}.${APPLICATION_VERSION_PATCH}")
593+
594+# SOVERSION scheme: CURRENT.AGE.REVISION
595+# If there was an incompatible interface change:
596+# Increment CURRENT. Set AGE and REVISION to 0
597+# If there was a compatible interface change:
598+# Increment AGE. Set REVISION to 0
599+# If the source code was changed, but there were no interface changes:
600+# Increment REVISION.
601+set(LIBRARY_VERSION "4.2.2")
602+set(LIBRARY_SOVERSION "4")
603+
604+# where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked
605+set(CMAKE_MODULE_PATH
606+ ${CMAKE_SOURCE_DIR}/cmake/Modules
607+)
608+
609+# add definitions
610+include(DefineCMakeDefaults)
611+include(DefinePlatformDefaults)
612+include(DefineCompilerFlags)
613+include(DefineInstallationPaths)
614+include(DefineOptions.cmake)
615+include(CPackConfig.cmake)
616+
617+# disallow in-source build
618+include(MacroEnsureOutOfSourceBuild)
619+macro_ensure_out_of_source_build("${PROJECT_NAME} requires an out of source build. Please create a separate build directory and run 'cmake /path/to/${PROJECT_NAME} [options]' there.")
620+
621+# add macros
622+include(MacroAddPlugin)
623+include(MacroCopyFile)
624+
625+# search for libraries
626+if (WITH_LIBZ)
627+ find_package(ZLIB REQUIRED)
628+endif (WITH_LIBZ)
629+
630+if (WITH_GCRYPT)
631+ find_package(GCrypt REQUIRED)
632+ if (NOT GCRYPT_FOUND)
633+ message(FATAL_ERROR "Could not find GCrypt")
634+ endif (NOT GCRYPT_FOUND)
635+else (WITH_GCRYPT)
636+ find_package(OpenSSL)
637+ if (NOT OPENSSL_FOUND)
638+ find_package(GCrypt)
639+ if (NOT GCRYPT_FOUND)
640+ message(FATAL_ERROR "Could not find OpenSSL or GCrypt")
641+ endif (NOT GCRYPT_FOUND)
642+ endif (NOT OPENSSL_FOUND)
643+endif(WITH_GCRYPT)
644+
645+# Find out if we have threading available
646+set(CMAKE_THREAD_PREFER_PTHREADS ON)
647+find_package(Threads)
648+
649+# config.h checks
650+include(ConfigureChecks.cmake)
651+configure_file(config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
652+
653+# check subdirectories
654+add_subdirectory(doc)
655+add_subdirectory(include)
656+add_subdirectory(src)
657+
658+# pkg-config file
659+configure_file(libssh.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc)
660+configure_file(libssh_threads.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/libssh_threads.pc)
661+install(
662+ FILES
663+ ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc
664+ ${CMAKE_CURRENT_BINARY_DIR}/libssh_threads.pc
665+ DESTINATION
666+ ${LIB_INSTALL_DIR}/pkgconfig
667+ COMPONENT
668+ pkgconfig
669+)
670+
671+add_subdirectory(examples)
672+
673+if (WITH_TESTING)
674+ find_package(CMockery REQUIRED)
675+ include(AddCMockeryTest)
676+ add_subdirectory(tests)
677+endif (WITH_TESTING)
678+
679+
680+message(STATUS "********************************************")
681+message(STATUS "********** ${PROJECT_NAME} build options : **********")
682+
683+message(STATUS "zlib support: ${WITH_LIBZ}")
684+message(STATUS "libgcrypt support: ${WITH_GCRYPT}")
685+message(STATUS "SSH-1 support: ${WITH_SSH1}")
686+message(STATUS "SFTP support: ${WITH_SFTP}")
687+message(STATUS "Server support : ${WITH_SERVER}")
688+message(STATUS "Pcap debugging support : ${WITH_PCAP}")
689+message(STATUS "Unit testing: ${WITH_TESTING}")
690+message(STATUS "Client code Unit testing: ${WITH_CLIENT_TESTING}")
691+if (WITH_INTERNAL_DOC)
692+ message(STATUS "Internal documentation generation")
693+else (WITH_INTERNAL_DOC)
694+ message(STATUS "Public API documentation generation")
695+endif (WITH_INTERNAL_DOC)
696+message(STATUS "Benchmarks: ${WITH_BENCHMARKS}")
697+message(STATUS "********************************************")
698+
699
700=== added file 'CPackConfig.cmake.OTHER'
701--- CPackConfig.cmake.OTHER 1970-01-01 00:00:00 +0000
702+++ CPackConfig.cmake.OTHER 2011-09-27 04:16:24 +0000
703@@ -0,0 +1,53 @@
704+# For help take a look at:
705+# http://www.cmake.org/Wiki/CMake:CPackConfiguration
706+
707+### general settings
708+set(CPACK_PACKAGE_NAME ${APPLICATION_NAME})
709+set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "The SSH library")
710+set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/README")
711+set(CPACK_PACKAGE_VENDOR "The SSH Library Development Team")
712+set(CPACK_PACKAGE_INSTALL_DIRECTORY ${CPACK_PACKAGE_NAME})
713+set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING")
714+
715+
716+### versions
717+set(CPACK_PACKAGE_VERSION_MAJOR "0")
718+set(CPACK_PACKAGE_VERSION_MINOR "5")
719+set(CPACK_PACKAGE_VERSION_PATCH "2")
720+set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
721+
722+
723+### source generator
724+set(CPACK_SOURCE_GENERATOR "TGZ")
725+set(CPACK_SOURCE_IGNORE_FILES "~$;[.]swp$;/[.]svn/;/[.]git/;.gitignore;/build/;tags;cscope.*")
726+set(CPACK_SOURCE_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}")
727+
728+if (WIN32)
729+ set(CPACK_GENERATOR "ZIP")
730+
731+ ### nsis generator
732+ find_package(NSIS)
733+ if (NSIS_MAKE)
734+ set(CPACK_GENERATOR "${CPACK_GENERATOR};NSIS")
735+ set(CPACK_NSIS_DISPLAY_NAME "The SSH Library")
736+ set(CPACK_NSIS_COMPRESSOR "/SOLID zlib")
737+ set(CPACK_NSIS_MENU_LINKS "http://www.libssh.org/" "libssh homepage")
738+ endif (NSIS_MAKE)
739+endif (WIN32)
740+
741+set(CPACK_PACKAGE_INSTALL_DIRECTORY "libssh")
742+
743+set(CPACK_PACKAGE_FILE_NAME ${APPLICATION_NAME}-${CPACK_PACKAGE_VERSION})
744+
745+set(CPACK_COMPONENT_LIBRARIES_DISPLAY_NAME "Libraries")
746+set(CPACK_COMPONENT_HEADERS_DISPLAY_NAME "C/C++ Headers")
747+set(CPACK_COMPONENT_LIBRARIES_DESCRIPTION
748+ "Libraries used to build programs which use libssh")
749+set(CPACK_COMPONENT_HEADERS_DESCRIPTION
750+ "C/C++ header files for use with libssh")
751+set(CPACK_COMPONENT_HEADERS_DEPENDS libraries)
752+#set(CPACK_COMPONENT_APPLICATIONS_GROUP "Runtime")
753+set(CPACK_COMPONENT_LIBRARIES_GROUP "Development")
754+set(CPACK_COMPONENT_HEADERS_GROUP "Development")
755+
756+include(CPack)
757
758=== added file 'ChangeLog.OTHER'
759--- ChangeLog.OTHER 1970-01-01 00:00:00 +0000
760+++ ChangeLog.OTHER 2011-09-27 04:16:24 +0000
761@@ -0,0 +1,320 @@
762+ChangeLog
763+==========
764+
765+version 0.5.2 (released 2011-09-17)
766+ * Increased window size x10.
767+ * Fixed SSHv1.
768+ * Fixed bugged lists.
769+ * Fixed use-after-free + inconsistent callbacks call in poll.
770+ * Fixed scp documentation.
771+ * Fixed possible infinite loop in channel_read().
772+ * Fixed handling of short reads of sftp_async_read().
773+ * Fixed handling request service timeout in blocking mode.
774+ * Fixed ssh_auth_list() documentation.
775+ * Fixed incorrect return values in ssh_channel_write().
776+ * Fixed an infinite loop in the termination callback.
777+ * Fixed handling of SSH_AGAIN in channel_open().
778+ * Fixed "status -5 inflating zlib packet"
779+
780+version 0.5.1 (released 2011-08-09)
781+ * Added checks for NULL pointers in string.c.
782+ * Set the channel max packet size to 32768.
783+ * Don't (de)compress empty buffers.
784+ * Fixed ssh_scp_write so it works when doing recursive copy.
785+ * Fixed another source of endless wait.
786+ * Fixed an endless loop in case of a channel_open error.
787+ * Fixed session timeout handling.
788+ * Fixed ssh_channel_from_local() loop.
789+ * Fixed permissions of scp example when we copy a file.
790+ * Workaround ssh_get_user_home_dir on LDAP users.
791+ * Added pkg-config support for libssh_threads.
792+ * Fixed compilation without server and sftp modes.
793+ * Fix static .lib overwriting on Windows.
794+
795+version 0.5.0 (released 2011-06-01)
796+ * Added ssh_ prefix to all functions.
797+ * Added complete Windows support.
798+ * Added improved server support.
799+ * Added unit tests for a lot of functions.
800+ * Added asynchronous service request.
801+ * Added a multiplatform ssh_getpass() function.
802+ * Added a tutorial.
803+ * Added a lot of documentation.
804+ * Fixed a lot of bugs.
805+ * Fixed several memory leaks.
806+
807+version 0.4.8 (released 2011-01-15)
808+ * Fixed memory leaks in session signing.
809+ * Fixed memory leak in ssh_print_hexa.
810+ * Fixed problem with ssh_connect w/ timeout and fd > 1024.
811+ * Fixed some warnings on OS/2.
812+ * Fixed installation path for OS/2.
813+
814+version 0.4.7 (released 2010-12-28)
815+ * Fixed a possible memory leak in ssh_get_user_home().
816+ * Fixed a memory leak in sftp_xstat.
817+ * Fixed uninitialized fd->revents member.
818+ * Fixed timout value in ssh_channel_accept().
819+ * Fixed length checks in ssh_analyze_banner().
820+ * Fixed a possible data overread and crash bug.
821+ * Fixed setting max_fd which breaks ssh_select().
822+ * Fixed some pedantic build warnings.
823+ * Fixed a memory leak with session->bindaddr.
824+
825+version 0.4.6 (released 2010-09-03)
826+ * Added a cleanup function to free the ws2_32 library.
827+ * Fixed build with gcc 3.4.
828+ * Fixed the Windows build on Vista and newer.
829+ * Fixed the usage of WSAPoll() on Windows.
830+ * Fixed "@deprecated" in doxygen
831+ * Fixed some mingw warnings.
832+ * Fixed handling of opened channels.
833+ * Fixed keepalive problem on older openssh servers.
834+ * Fixed testing for big endian on Windows.
835+ * Fixed the Windows preprocessor macros and defines.
836+
837+version 0.4.5 (released 2010-07-13)
838+ * Added option to bind a client to an ip address.
839+ * Fixed the ssh socket polling function.
840+ * Fixed Windows related bugs in bsd_poll().
841+ * Fixed serveral build warnings.
842+
843+version 0.4.4 (released 2010-06-01)
844+ * Fixed a bug in the expand function for escape sequences.
845+ * Fixed a bug in the tilde expand function.
846+ * Fixed a bug in setting the options.
847+
848+version 0.4.3 (released 2010-05-18)
849+ * Added global/keepalive responses.
850+ * Added runtime detection of WSAPoll().
851+ * Added a select(2) based poll-emulation if poll(2) is not available.
852+ * Added a function to expand an escaped string.
853+ * Added a function to expand the tilde from a path.
854+ * Added a proxycommand support.
855+ * Added ssh_privatekey_type public function
856+ * Added the possibility to define _OPENSSL_DIR and _ZLIB_DIR.
857+ * Fixed sftp_chown.
858+ * Fixed sftp_rename on protocol version 3.
859+ * Fixed a blocking bug in channel_poll.
860+ * Fixed config parsing wich has overwritten user specified values.
861+ * Fixed hashed [host]:port format in knownhosts
862+ * Fixed Windows build.
863+ * Fixed doublefree happening after a negociation error.
864+ * Fixed aes*-ctr with <= OpenSSL 0.9.7b.
865+ * Fixed some documentation.
866+ * Fixed exec example which has broken read usage.
867+ * Fixed broken algorithm choice for server.
868+ * Fixed a typo that we don't export all symbols.
869+ * Removed the unneeded dependency to doxygen.
870+ * Build examples only on the Linux plattform.
871+
872+version 0.4.2 (released 2010-03-15)
873+ * Added owner and group information in sftp attributes.
874+ * Added missing SSH_OPTIONS_FD option.
875+ * Added printout of owner and group in the sftp example.
876+ * Added a prepend function for ssh_list.
877+ * Added send back replies to openssh's keepalives.
878+ * Fixed documentation in scp code
879+ * Fixed longname parsing, this only workings with readdir.
880+ * Fixed and added support for several identity files.
881+ * Fixed sftp_parse_longname() on Windows.
882+ * Fixed a race condition bug in ssh_scp_close()
883+ * Remove config support for SSHv1 Cipher variable.
884+ * Rename ssh_list_add to ssh_list_append.
885+ * Rename ssh_list_get_head to ssh_list_pop_head
886+
887+version 0.4.1 (released 2010-02-13)
888+ * Added support for aes128-ctr, aes192-ctr and aes256-ctr encryption.
889+ * Added an example for exec.
890+ * Added private key type detection feature in privatekey_from_file().
891+ * Fixed zlib compression fallback.
892+ * Fixed kex bug that client preference should be prioritary
893+ * Fixed known_hosts file set by the user.
894+ * Fixed a memleak in channel_accept().
895+ * Fixed underflow when leave_function() are unbalanced
896+ * Fixed memory corruption in handle_channel_request_open().
897+ * Fixed closing of a file handle case of errors in privatekey_from_file().
898+ * Fixed ssh_get_user_home_dir() to be thread safe.
899+ * Fixed the doxygen documentation.
900+
901+version 0.4.0 (released 2009-12-10)
902+ * Added scp support.
903+ * Added support for sending signals (RFC 4254, section 6.9).
904+ * Added MSVC support.
905+ * Added support for ~/.ssh/config.
906+ * Added sftp extension support.
907+ * Added X11 forwarding support for client.
908+ * Added forward listening.
909+ * Added support for openssh extensions (statvfs, fstatvfs).
910+ * Added a cleaned up interface for setting options.
911+ * Added a generic way to handle sockets asynchronously.
912+ * Added logging of the sftp flags used to open a file.
913+ * Added full poll() support and poll-emulation for win32.
914+ * Added missing 64bit functions in sftp.
915+ * Added support for ~/ and SSH_DIR/ in filenames instead of %s/.
916+ * Fixed Fix channel_get_exit_status bug.
917+ * Fixed calltrace logging to make it optional.
918+ * Fixed compilation on Solaris.
919+ * Fixed resolving of ip addresses.
920+ * Fixed libssh compilation without server support.
921+ * Fixed possible memory corruptions (ticket #14).
922+
923+version 0.3.4 (released 2009-09-14)
924+ * Added ssh_basename and ssh_dirname.
925+ * Added a portable ssh_mkdir function.
926+ * Added a sftp_tell64() function.
927+ * Added missing NULL pointer checks to crypt_set_algorithms_server.
928+ * Fixed ssh_write_knownhost if ~/.ssh doesn't exist.
929+ * Fixed a possible integer overflow in buffer_get_data().
930+ * Fixed possible security bug in packet_decrypt().
931+ * Fixed a possible stack overflow in agent code.
932+
933+version 0.3.3 (released 2009-08-18)
934+ * Fixed double free pointer crash in dsa_public_to_string.
935+ * Fixed channel_get_exit_status bug.
936+ * Fixed ssh_finalize which didn't clear the flag.
937+ * Fixed memory leak introduced by previous bugfix.
938+ * Fixed channel_poll broken when delayed EOF recvd.
939+ * Fixed stupid "can't parse known host key" bug.
940+ * Fixed possible memory corruption (ticket #14).
941+
942+version 0.3.2 (released 2009-08-05)
943+ * Added ssh_init() function.
944+ * Added sftp_readlink() function.
945+ * Added sftp_symlink() function.
946+ * Fixed ssh_write_knownhost().
947+ * Fixed compilation on Solaris.
948+ * Fixed SSHv1 compilation.
949+
950+version 0.3.1 (released 2009-07-14)
951+ * Added return code SSH_SERVER_FILE_NOT_FOUND.
952+ * Fixed compilation of SSHv1.
953+ * Fixed several memory leaks.
954+ * Fixed possible infinite loops.
955+ * Fixed a possible crash bug.
956+ * Fixed build warnings.
957+ * Fixed cmake on BSD.
958+version 0.3.1 (released 2009-07-14)
959+ * Added return code SSH_SERVER_FILE_NOT_FOUND.
960+ * Fixed compilation of SSHv1.
961+ * Fixed several memory leaks.
962+ * Fixed possible infinite loops.
963+ * Fixed a possible crash bug.
964+ * Fixed build warnings.
965+ * Fixed cmake on BSD.
966+
967+version 0.3 (released 2009-05-21)
968+ * Added support for ssh-agent authentication.
969+ * Added POSIX like sftp implementation.
970+ * Added error checking to all functions.
971+ * Added const to arguments where it was needed.
972+ * Added a channel_get_exit_status() function.
973+ * Added a channel_read_buffer() function, channel_read() is now
974+ a POSIX like function.
975+ * Added a more generic auth callback function.
976+ * Added printf attribute checking for log and error functions.
977+ * Added runtime function tracer support.
978+ * Added NSIS build support with CPack.
979+ * Added openssh hashed host support.
980+ * Added API documentation for all public functions.
981+ * Added asynchronous SFTP read function.
982+ * Added a ssh_bind_set_fd() function.
983+ * Fixed known_hosts parsing.
984+ * Fixed a lot of build warnings.
985+ * Fixed the Windows build.
986+ * Fixed a lot of memory leaks.
987+ * Fixed a double free corruption in the server support.
988+ * Fixed the "ssh_accept:" bug in server support.
989+ * Fixed important channel bugs.
990+ * Refactored the socket handling.
991+ * Switched to CMake build system.
992+ * Improved performance.
993+
994+version 0.2 (released 2007-11-29)
995+ * General cleanup
996+ * More comprehensive API
997+ * Up-to-date Doxygen documentation of each public function
998+ * Basic server-based support
999+ * Libgcrypt support (alternative to openssl and its license)
1000+ * SSH1 support (disabled by default)
1001+ * Added 3des-cbc
1002+ * A lot of bugfixes
1003+
1004+version 0.11-dev
1005+ * Server implementation development.
1006+ * Small bug corrected when connecting to sun ssh servers.
1007+ * Channel wierdness corrected (writing huge data packets)
1008+ * Channel_read_nonblocking added
1009+ * Channel bug where stderr wasn't correctly read fixed.
1010+ * Added sftp_file_set_nonblocking(), which is nonblocking SFTP IO
1011+ * Connect_status callback.
1012+ * Priv.h contains the internal functions, libssh.h the public interface
1013+ * Options_set_timeout (thx marcelo) really working.
1014+ * Tcp tunneling through channel_open_forward.
1015+ * Channel_request_exec()
1016+ * Channel_request_env()
1017+ * Ssh_get_pubkey_hash()
1018+ * Ssh_is_server_known()
1019+ * Ssh_write_known_host()
1020+ * Options_set_ssh_dir
1021+ * How could this happen ! there weren't any channel_close !
1022+ * Nasty channel_free bug resolved.
1023+ * Removed the unsigned long all around the code. use only u8,u32 & u64.
1024+ * It now compiles and runs under amd64 !
1025+ * Channel_request_pty_size
1026+ * Channel_change_pty_size
1027+ * Options_copy()
1028+ * Ported the doc to an HTML file.
1029+ * Small bugfix in packet.c
1030+ * Prefixed error constants with SSH_
1031+ * Sftp_stat, sftp_lstat, sftp_fstat. thanks Michel Bardiaux for the patch.
1032+ * Again channel number mismatch fixed.
1033+ * Fixed a bug in ssh_select making the select fail when a signal has been
1034+ caught.
1035+ * Keyboard-interactive authentication working.
1036+
1037+version 0.1 (released 2004-03-05)
1038+ * Begining of sftp subsystem implementation.
1039+ * Some cleanup into channels implementation
1040+ * Now every channel functions is called by its CHANNEL handler.
1041+ * Added channel_poll() and channel_read().
1042+ * Changed the client so it uses the new channel_poll and channel_read interface
1043+ * Small use-after-free bug with channels resolved
1044+ * Changed stupidities in lot of function names.
1045+ * Removed a debug output file opened by default.
1046+ * Added API.txt, the libssh programmer handbook.
1047+ * Various bug fixes from Nick Zitzmann.
1048+ * Developed a cryptographic structure for handling protocols.
1049+ * An autoconf script which took me half of a day to set up.
1050+ * A ssh_select wrapper has been written.
1051+
1052+version 0.0.4 (released 2003-10-10)
1053+ * Some terminal code (eof handling) added
1054+ * Channels bugfix (it still needs some tweaking though)
1055+ * Zlib support
1056+ * Added a wrapper.c file. The goal is to provide a similar API to every
1057+ cryptographic functions. bignums and sha/md5 are wrapped now.
1058+ * More work than it first looks.
1059+ * Support for other crypto libs planed (lighter libs)
1060+ * Fixed stupid select() bug.
1061+ * Libssh now compiles and links with openssl 0.9.6
1062+ * RSA pubkey authentication code now works !
1063+
1064+version 0.0.3 (released 2003-09-15)
1065+ * Added install target in makefile
1066+ * Some cleanup in headers files and source code
1067+ * Change default banner and project name to libssh.
1068+ * New file auth.c to support more and more authentication ways
1069+ * Bugfix(read offbyone) in send_kex
1070+ * A base64 parser. don't read the source, it's awful. pure 0xbadc0de.
1071+ * Changed the client filename to "ssh". logic isn't it ?
1072+ * Dss publickey authentication ! still need to wait for the rsa one
1073+ * Bugfix in packet.c
1074+ * New misc.c contains misc functions
1075+
1076+version 0.0.2 (released 2003-09-03)
1077+ * Initial release.
1078+ * Client supports both ssh and dss hostkey verification, but doesn't compare them to openssh's files. (~/.ssh/known_hosts)
1079+ * The only supported authentication method is password.
1080+ * Compiles on linux and openbsd. freebsd and netbsd should work, too
1081+ * Lot of work which hasn't been discussed here.
1082
1083=== added file 'ConfigureChecks.cmake.OTHER'
1084--- ConfigureChecks.cmake.OTHER 1970-01-01 00:00:00 +0000
1085+++ ConfigureChecks.cmake.OTHER 2011-09-27 04:16:24 +0000
1086@@ -0,0 +1,158 @@
1087+include(CheckIncludeFile)
1088+include(CheckSymbolExists)
1089+include(CheckFunctionExists)
1090+include(CheckLibraryExists)
1091+include(CheckTypeSize)
1092+include(CheckCXXSourceCompiles)
1093+include(TestBigEndian)
1094+
1095+set(PACKAGE ${APPLICATION_NAME})
1096+set(VERSION ${APPLICATION_VERSION})
1097+set(DATADIR ${DATA_INSTALL_DIR})
1098+set(LIBDIR ${LIB_INSTALL_DIR})
1099+set(PLUGINDIR "${PLUGIN_INSTALL_DIR}-${LIBRARY_SOVERSION}")
1100+set(SYSCONFDIR ${SYSCONF_INSTALL_DIR})
1101+
1102+set(BINARYDIR ${CMAKE_BINARY_DIR})
1103+set(SOURCEDIR ${CMAKE_SOURCE_DIR})
1104+
1105+function(COMPILER_DUMPVERSION _OUTPUT_VERSION)
1106+ # Remove whitespaces from the argument.
1107+ # This is needed for CC="ccache gcc" cmake ..
1108+ string(REPLACE " " "" _C_COMPILER_ARG "${CMAKE_C_COMPILER_ARG1}")
1109+
1110+ execute_process(
1111+ COMMAND
1112+ ${CMAKE_C_COMPILER} ${_C_COMPILER_ARG} -dumpversion
1113+ OUTPUT_VARIABLE _COMPILER_VERSION
1114+ )
1115+
1116+ string(REGEX REPLACE "([0-9])\\.([0-9])(\\.[0-9])?" "\\1\\2"
1117+ _COMPILER_VERSION "${_COMPILER_VERSION}")
1118+
1119+ set(${_OUTPUT_VERSION} ${_COMPILER_VERSION} PARENT_SCOPE)
1120+endfunction()
1121+
1122+if(CMAKE_COMPILER_IS_GNUCC AND NOT MINGW AND NOT OS2)
1123+ compiler_dumpversion(GNUCC_VERSION)
1124+ if (NOT GNUCC_VERSION EQUAL 34)
1125+ check_c_compiler_flag("-fvisibility=hidden" WITH_VISIBILITY_HIDDEN)
1126+ endif (NOT GNUCC_VERSION EQUAL 34)
1127+endif(CMAKE_COMPILER_IS_GNUCC AND NOT MINGW AND NOT OS2)
1128+
1129+# HEADER FILES
1130+check_include_file(argp.h HAVE_ARGP_H)
1131+check_include_file(pty.h HAVE_PTY_H)
1132+check_include_file(termios.h HAVE_TERMIOS_H)
1133+
1134+if (WIN32)
1135+ check_include_file(wspiapi.h HAVE_WSPIAPI_H)
1136+ if (NOT HAVE_WSPIAPI_H)
1137+ message(STATUS "WARNING: Without wspiapi.h, this build will only work on Windows XP and newer versions")
1138+ endif (NOT HAVE_WSPIAPI_H)
1139+ check_include_file(ws2tcpip.h HAVE_WS2TCPIP_H)
1140+ if (HAVE_WSPIAPI_H OR HAVE_WS2TCPIP_H)
1141+ set(HAVE_GETADDRINFO TRUE)
1142+ set(HAVE_GETHOSTBYNAME TRUE)
1143+ endif (HAVE_WSPIAPI_H OR HAVE_WS2TCPIP_H)
1144+
1145+ set(HAVE_SELECT TRUE)
1146+endif (WIN32)
1147+
1148+set(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIRS})
1149+check_include_file(openssl/aes.h HAVE_OPENSSL_AES_H)
1150+
1151+set(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIRS})
1152+check_include_file(openssl/blowfish.h HAVE_OPENSSL_BLOWFISH_H)
1153+
1154+set(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIRS})
1155+check_include_file(openssl/des.h HAVE_OPENSSL_DES_H)
1156+
1157+if (CMAKE_HAVE_PTHREAD_H)
1158+ set(HAVE_PTHREAD_H 1)
1159+endif (CMAKE_HAVE_PTHREAD_H)
1160+
1161+# FUNCTIONS
1162+
1163+check_function_exists(strncpy HAVE_STRNCPY)
1164+check_function_exists(vsnprintf HAVE_VSNPRINTF)
1165+check_function_exists(snprintf HAVE_SNPRINTF)
1166+
1167+if (WIN32)
1168+ check_function_exists(_vsnprintf_s HAVE__VSNPRINTF_S)
1169+ check_function_exists(_vsnprintf HAVE__VSNPRINTF)
1170+ check_function_exists(_snprintf HAVE__SNPRINTF)
1171+ check_function_exists(_snprintf_s HAVE__SNPRINTF_S)
1172+endif (WIN32)
1173+
1174+if (UNIX)
1175+ if (NOT LINUX)
1176+ # libsocket (Solaris)
1177+ check_library_exists(socket getaddrinfo "" HAVE_LIBSOCKET)
1178+ if (HAVE_LIBSOCKET)
1179+ set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} socket)
1180+ endif (HAVE_LIBSOCKET)
1181+
1182+ # libresolv
1183+ check_library_exists(resolv hstrerror "" HAVE_LIBRESOLV)
1184+ if (HAVE_LIBRESOLV)
1185+ set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} resolv)
1186+ endif (HAVE_LIBRESOLV)
1187+
1188+ # libnsl/inet_pton (Solaris)
1189+ check_library_exists(nsl inet_pton "" HAVE_LIBNSL)
1190+ if (HAVE_LIBNSL)
1191+ set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} nsl)
1192+ endif (HAVE_LIBNSL)
1193+
1194+ # librt
1195+ check_library_exists(rt nanosleep "" HAVE_LIBRT)
1196+ endif (NOT LINUX)
1197+
1198+ check_library_exists(rt clock_gettime "" HAVE_CLOCK_GETTIME)
1199+ if (HAVE_LIBRT OR HAVE_CLOCK_GETTIME)
1200+ set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} rt)
1201+ endif (HAVE_LIBRT OR HAVE_CLOCK_GETTIME)
1202+
1203+ check_function_exists(getaddrinfo HAVE_GETADDRINFO)
1204+ check_function_exists(poll HAVE_POLL)
1205+ check_function_exists(select HAVE_SELECT)
1206+ check_function_exists(cfmakeraw HAVE_CFMAKERAW)
1207+ check_function_exists(regcomp HAVE_REGCOMP)
1208+ check_function_exists(ntohll HAVE_NTOHLL)
1209+endif (UNIX)
1210+
1211+set(LIBSSH_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} CACHE INTERNAL "libssh required system libraries")
1212+
1213+# LIBRARIES
1214+if (OPENSSL_FOUND)
1215+ set(HAVE_LIBCRYPTO 1)
1216+endif (OPENSSL_FOUND)
1217+
1218+if (GCRYPT_FOUND)
1219+ set(HAVE_LIBGCRYPT 1)
1220+endif (GCRYPT_FOUND)
1221+
1222+if (ZLIB_LIBRARY)
1223+ set(HAVE_LIBZ 1)
1224+endif (ZLIB_LIBRARY)
1225+
1226+if (CMAKE_HAVE_THREADS_LIBRARY)
1227+ if (CMAKE_USE_PTHREADS_INIT)
1228+ set(HAVE_PTHREAD 1)
1229+ endif (CMAKE_USE_PTHREADS_INIT)
1230+endif (CMAKE_HAVE_THREADS_LIBRARY)
1231+
1232+# OPTIONS
1233+if (WITH_DEBUG_CRYPTO)
1234+ set(DEBUG_CRYPTO 1)
1235+endif (WITH_DEBUG_CRYPTO)
1236+
1237+if (WITH_DEBUG_CALLTRACE)
1238+ set(DEBUG_CALLTRACE 1)
1239+endif (WITH_DEBUG_CALLTRACE)
1240+
1241+# ENDIAN
1242+if (NOT WIN32)
1243+ test_big_endian(WORDS_BIGENDIAN)
1244+endif (NOT WIN32)
1245
1246=== added file 'config.h.cmake.OTHER'
1247--- config.h.cmake.OTHER 1970-01-01 00:00:00 +0000
1248+++ config.h.cmake.OTHER 2011-09-27 04:16:24 +0000
1249@@ -0,0 +1,128 @@
1250+/* Name of package */
1251+#cmakedefine PACKAGE "${APPLICATION_NAME}"
1252+
1253+/* Version number of package */
1254+#cmakedefine VERSION "${APPLICATION_VERSION}"
1255+
1256+#cmakedefine LOCALEDIR "${LOCALE_INSTALL_DIR}"
1257+#cmakedefine DATADIR "${DATADIR}"
1258+#cmakedefine LIBDIR "${LIBDIR}"
1259+#cmakedefine PLUGINDIR "${PLUGINDIR}"
1260+#cmakedefine SYSCONFDIR "${SYSCONFDIR}"
1261+#cmakedefine BINARYDIR "${BINARYDIR}"
1262+#cmakedefine SOURCEDIR "${SOURCEDIR}"
1263+
1264+/************************** HEADER FILES *************************/
1265+
1266+/* Define to 1 if you have the <argp.h> header file. */
1267+#cmakedefine HAVE_ARGP_H 1
1268+
1269+/* Define to 1 if you have the <pty.h> header file. */
1270+#cmakedefine HAVE_PTY_H 1
1271+
1272+/* Define to 1 if you have the <termios.h> header file. */
1273+#cmakedefine HAVE_TERMIOS_H 1
1274+
1275+/* Define to 1 if you have the <openssl/aes.h> header file. */
1276+#cmakedefine HAVE_OPENSSL_AES_H 1
1277+
1278+/* Define to 1 if you have the <wspiapi.h> header file. */
1279+#cmakedefine HAVE_WSPIAPI_H 1
1280+
1281+/* Define to 1 if you have the <openssl/blowfish.h> header file. */
1282+#cmakedefine HAVE_OPENSSL_BLOWFISH_H 1
1283+
1284+/* Define to 1 if you have the <openssl/des.h> header file. */
1285+#cmakedefine HAVE_OPENSSL_DES_H 1
1286+
1287+/* Define to 1 if you have the <pthread.h> header file. */
1288+#cmakedefine HAVE_PTHREAD_H 1
1289+
1290+
1291+/*************************** FUNCTIONS ***************************/
1292+
1293+/* Define to 1 if you have the `snprintf' function. */
1294+#cmakedefine HAVE_SNPRINTF 1
1295+
1296+/* Define to 1 if you have the `_snprintf' function. */
1297+#cmakedefine HAVE__SNPRINTF 1
1298+
1299+/* Define to 1 if you have the `_snprintf_s' function. */
1300+#cmakedefine HAVE__SNPRINTF_S 1
1301+
1302+/* Define to 1 if you have the `vsnprintf' function. */
1303+#cmakedefine HAVE_VSNPRINTF 1
1304+
1305+/* Define to 1 if you have the `_vsnprintf' function. */
1306+#cmakedefine HAVE__VSNPRINTF 1
1307+
1308+/* Define to 1 if you have the `_vsnprintf_s' function. */
1309+#cmakedefine HAVE__VSNPRINTF_S 1
1310+
1311+/* Define to 1 if you have the `strncpy' function. */
1312+#cmakedefine HAVE_STRNCPY 1
1313+
1314+/* Define to 1 if you have the `cfmakeraw' function. */
1315+#cmakedefine HAVE_CFMAKERAW 1
1316+
1317+/* Define to 1 if you have the `getaddrinfo' function. */
1318+#cmakedefine HAVE_GETADDRINFO 1
1319+
1320+/* Define to 1 if you have the `poll' function. */
1321+#cmakedefine HAVE_POLL 1
1322+
1323+/* Define to 1 if you have the `select' function. */
1324+#cmakedefine HAVE_SELECT 1
1325+
1326+/* Define to 1 if you have the `regcomp' function. */
1327+#cmakedefine HAVE_REGCOMP 1
1328+
1329+/* Define to 1 if you have the `clock_gettime' function. */
1330+#cmakedefine HAVE_CLOCK_GETTIME 1
1331+
1332+/* Define to 1 if you have the `ntohll' function. */
1333+#cmakedefine HAVE_NTOHLL 1
1334+
1335+/*************************** LIBRARIES ***************************/
1336+
1337+/* Define to 1 if you have the `crypto' library (-lcrypto). */
1338+#cmakedefine HAVE_LIBCRYPTO 1
1339+
1340+/* Define to 1 if you have the `gcrypt' library (-lgcrypt). */
1341+#cmakedefine HAVE_LIBGCRYPT 1
1342+
1343+/* Define to 1 if you have the `z' library (-lz). */
1344+#cmakedefine HAVE_LIBZ 1
1345+
1346+/* Define to 1 if you have the `pthread' library (-lpthread). */
1347+#cmakedefine HAVE_PTHREAD 1
1348+
1349+
1350+/**************************** OPTIONS ****************************/
1351+
1352+/* Define to 1 if you want to enable ZLIB */
1353+#cmakedefine WITH_LIBZ 1
1354+
1355+/* Define to 1 if you want to enable SFTP */
1356+#cmakedefine WITH_SFTP 1
1357+
1358+/* Define to 1 if you want to enable SSH1 */
1359+#cmakedefine WITH_SSH1 1
1360+
1361+/* Define to 1 if you want to enable server support */
1362+#cmakedefine WITH_SERVER 1
1363+
1364+/* Define to 1 if you want to enable debug output for crypto functions */
1365+#cmakedefine DEBUG_CRYPTO 1
1366+
1367+/* Define to 1 if you want to enable pcap output support (experimental) */
1368+#cmakedefine WITH_PCAP 1
1369+
1370+/* Define to 1 if you want to enable calltrace debug output */
1371+#cmakedefine DEBUG_CALLTRACE 1
1372+
1373+/*************************** ENDIAN *****************************/
1374+
1375+/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
1376+ significant byte first (like Motorola and SPARC, unlike Intel). */
1377+#cmakedefine WORDS_BIGENDIAN 1
1378
1379=== modified file 'debian/changelog'
1380--- debian/changelog 2011-09-19 12:01:26 +0000
1381+++ debian/changelog 2011-09-27 04:16:24 +0000
1382@@ -1,3 +1,4 @@
1383+<<<<<<< TREE
1384 libssh (0.5.2-1) unstable; urgency=low
1385
1386 * New upstream release
1387@@ -223,3 +224,206 @@
1388 * Initial release (Closes: #316872)
1389
1390 -- Jean-Philippe Garcia Ballester <giga@le-pec.org> Wed, 20 Dec 2006 23:56:50 +0100
1391+=======
1392+libssh (0.5.0-2) unstable; urgency=low
1393+
1394+ * debian/patches/0002-Check-for-NULL-pointers-in-string-c.patch:
1395+ Consolidate patch (Should fix previous REJECT)
1396+ * Support multiarch spec
1397+
1398+ -- Laurent Bigonville <bigon@debian.org> Wed, 15 Jun 2011 15:48:07 +0200
1399+
1400+libssh (0.5.0-1) unstable; urgency=low
1401+
1402+ * New upstream release
1403+ * debian/control:
1404+ - Bump Standards-Version to 3.9.2 (no further changes)
1405+ - Fix short description to please lintian
1406+ * debian/libssh-dev.install:
1407+ - Remove "static" from the static library name
1408+ - Install pkg-config file
1409+ * debian/libssh-4.symbols: Add new symbols to .symbols file
1410+ * debian/patch/0001-rename-threads-static.patch:
1411+ Rename libssh_threads_static.so to libssh_threads.so
1412+ * debian/libssh-4.install, debian/libssh-dev.install, debian/libssh-4.symbols,
1413+ debian/libssh-4.lintian-overrides: Install libssh_threads library
1414+ * debian/patches/0002-Check-for-NULL-pointers-in-string-c.patch:
1415+ Check if string is NULL.
1416+
1417+ -- Laurent Bigonville <bigon@debian.org> Fri, 10 Jun 2011 22:47:54 +0200
1418+
1419+libssh (0.4.8-2) unstable; urgency=low
1420+
1421+ * Upload to unstable
1422+ * debian/control: Add texlive-fonts-recommended to Build-Depends-Indep
1423+ (Closes: #608319)
1424+
1425+ -- Laurent Bigonville <bigon@debian.org> Sun, 13 Mar 2011 22:06:00 +0100
1426+
1427+libssh (0.4.8-1) experimental; urgency=low
1428+
1429+ * New upstream release
1430+ * Bump debhelper compatibility to 8
1431+
1432+ -- Laurent Bigonville <bigon@debian.org> Mon, 17 Jan 2011 19:31:47 +0100
1433+
1434+libssh (0.4.7-1) experimental; urgency=low
1435+
1436+ * New upstream release
1437+ - Drop all patches, applied upstream
1438+ * debian/watch: Fix URL regex
1439+
1440+ -- Laurent Bigonville <bigon@debian.org> Tue, 04 Jan 2011 21:24:34 +0100
1441+
1442+libssh (0.4.6-1) experimental; urgency=low
1443+
1444+ * New upstream release
1445+
1446+ -- Laurent Bigonville <bigon@debian.org> Mon, 13 Dec 2010 23:30:03 +0100
1447+
1448+libssh (0.4.5-3) unstable; urgency=low
1449+
1450+ * d/p/0002-socket-Fixed-uninitialized-fd-revents-member.patch:
1451+ Fix uninitialized memory use (Closes: #606347)
1452+
1453+ -- Laurent Bigonville <bigon@debian.org> Sat, 11 Dec 2010 01:33:45 +0100
1454+
1455+libssh (0.4.5-2) unstable; urgency=low
1456+
1457+ * Add d/p/0001-socket.c-Fixed-setting-max_fd-which-breaks-ssh_selec.patch:
1458+ Fix slow response in Remmina SSH (Closes: #599687, LP: #663777)
1459+ * debian/control: Bump Standards-Version to 3.9.1 (no futher changes)
1460+ * debian/copyright: Update copyright file to please lintian
1461+
1462+ -- Laurent Bigonville <bigon@debian.org> Wed, 20 Oct 2010 20:45:48 +0200
1463+
1464+libssh (0.4.5-1) unstable; urgency=low
1465+
1466+ * New upstream release
1467+ * Bump Standards-Version to 3.9.0 (no further changes)
1468+ * Move doxygen to Build-Depends-Indep
1469+
1470+ -- Laurent Bigonville <bigon@debian.org> Sun, 18 Jul 2010 22:48:10 +0200
1471+
1472+libssh (0.4.4-1) unstable; urgency=low
1473+
1474+ * New upstream release
1475+ - Should fix ~/.ssh directory access (Closes: #582461)
1476+
1477+ -- Laurent Bigonville <bigon@debian.org> Mon, 31 May 2010 20:10:56 +0200
1478+
1479+libssh (0.4.3-1) unstable; urgency=low
1480+
1481+ * New upstream release
1482+ - Drop 0001-Fix-symbols-visibility.patch, applied upstream
1483+ - Update debian/libssh-4.symbols: Add new symbol
1484+
1485+ -- Laurent Bigonville <bigon@debian.org> Tue, 18 May 2010 21:06:33 +0200
1486+
1487+libssh (0.4.2-1) unstable; urgency=low
1488+
1489+ * New upstream release
1490+ - 0001-Fix-symbols-visibility.patch: Only export needed symbols
1491+ - debian/libssh-4.symbols: Update symbols file
1492+
1493+ -- Laurent Bigonville <bigon@debian.org> Thu, 25 Mar 2010 13:38:35 +0100
1494+
1495+libssh (0.4.1-1) unstable; urgency=low
1496+
1497+ * New upstream release
1498+ * debian/control: Bump Standards-Version (no further changes)
1499+ * Use new source package format '3.0 (quilt)'
1500+
1501+ -- Laurent Bigonville <bigon@debian.org> Sat, 13 Feb 2010 20:18:18 +0100
1502+
1503+libssh (0.4.0-1) unstable; urgency=low
1504+
1505+ * New upstream release.
1506+ - Bump soname
1507+ - Adjust .symbols file
1508+ * Readd static library in -dev package
1509+ * Let dh_lintian install override file
1510+ * debian/README.Debian: Update file
1511+ * debian/rules: Add list-missing rule
1512+
1513+ -- Laurent Bigonville <bigon@debian.org> Sat, 12 Dec 2009 14:29:12 +0100
1514+
1515+libssh (0.3.4-3) unstable; urgency=low
1516+
1517+ * Add correct Conflicts/Replaces for -dev and -doc packages
1518+ (Closes: #550996)
1519+
1520+ -- Laurent Bigonville <bigon@debian.org> Thu, 15 Oct 2009 09:59:57 +0200
1521+
1522+libssh (0.3.4-2) unstable; urgency=low
1523+
1524+ * debian/watch: Update the URL
1525+ * debian/copyright: Add missing licence for some cmake/Modules files
1526+
1527+ -- Laurent Bigonville <bigon@debian.org> Mon, 12 Oct 2009 09:37:03 +0200
1528+
1529+libssh (0.3.4-1) unstable; urgency=low
1530+
1531+ * New upstream release (Closes: #467284).
1532+ - Adjust build-deps and use cmake
1533+ - Bump soname and adjust .symbols file
1534+ * debian/control:
1535+ - Use my debian.org address in Uploaders and takeover the package
1536+ with Jean-Philippe permission
1537+ - Use now official Vcs-* field
1538+ - Use new Homepage field instead of old pseudo-field
1539+ - Bump Standards-Version to 3.8.3 (no further changes)
1540+ - Use debug section for -dbg package
1541+ - Add ${misc:Depends} to please lintian
1542+ - Remove duplicate section to please lintian
1543+ * debian/libssh-2-doc.doc-base: Fix doc-base-uses-applications-section
1544+ * Bump debhelper version to 7
1545+ * debian/libssh-dev.install: do not install .la file and static
1546+ library anymore
1547+ * debian/libssh-3.lintian-overrides: Update override
1548+ * debian/copyright: Update copyright file
1549+ * debian/libssh-3.symbols: Add initial symbols file
1550+
1551+ -- Laurent Bigonville <bigon@debian.org> Fri, 09 Oct 2009 21:21:16 +0200
1552+
1553+libssh (0.2+svn20070321-4) unstable; urgency=low
1554+
1555+ * debian/control:
1556+ - Add XS-Vcs-Svn and XS-Vcs-Browser fields.
1557+ - Change to ${binary:Version} for versionized dependencies.
1558+ * Add debian/README.Debian to disambiguate the package name
1559+
1560+ -- Laurent Bigonville <bigon@bigon.be> Fri, 27 Jul 2007 15:00:06 +0200
1561+
1562+libssh (0.2+svn20070321-3) unstable; urgency=low
1563+
1564+ * Fix wrong versionized Replaces for -doc package
1565+
1566+ -- Laurent Bigonville <bigon@bigon.be> Thu, 5 Apr 2007 17:58:27 +0200
1567+
1568+libssh (0.2+svn20070321-2) unstable; urgency=low
1569+
1570+ * Split devel package into devel and documentation packages
1571+
1572+ -- Laurent Bigonville <bigon@bigon.be> Mon, 26 Mar 2007 15:29:51 +0200
1573+
1574+libssh (0.2+svn20070321-1) unstable; urgency=low
1575+
1576+ * New svn snapshot:
1577+ - Fix broken include in include/libssh/server.h (Closes: #410020)
1578+ - Fix nasty bug in server side code
1579+
1580+ -- Laurent Bigonville <bigon@bigon.be> Mon, 26 Mar 2007 15:06:40 +0200
1581+
1582+libssh (0.2-1) unstable; urgency=low
1583+
1584+ * New upstream release.
1585+
1586+ -- Laurent Bigonville <bigon@bigon.be> Fri, 29 Dec 2006 07:40:20 +0100
1587+
1588+libssh (0.2~rc-1) unstable; urgency=low
1589+
1590+ * Initial release (Closes: #316872)
1591+
1592+ -- Jean-Philippe Garcia Ballester <giga@le-pec.org> Wed, 20 Dec 2006 23:56:50 +0100
1593+>>>>>>> MERGE-SOURCE
1594
1595=== modified file 'debian/control'
1596--- debian/control 2011-09-19 12:01:26 +0000
1597+++ debian/control 2011-09-27 04:16:24 +0000
1598@@ -1,3 +1,4 @@
1599+<<<<<<< TREE
1600 Source: libssh
1601 Section: libs
1602 Priority: optional
1603@@ -67,3 +68,74 @@
1604 With its SFTP implementation, you can play with remote files easily.
1605 .
1606 This package contains documentation files.
1607+=======
1608+Source: libssh
1609+Section: libs
1610+Priority: optional
1611+Maintainer: Laurent Bigonville <bigon@debian.org>
1612+Build-Depends: cdbs (>= 0.4.93~), debhelper (>= 8.1.3~), cmake (>= 2.6), libssl-dev, libz-dev
1613+Build-Depends-Indep: doxygen, texlive-fonts-recommended
1614+Standards-Version: 3.9.2
1615+Vcs-Git: git://git.debian.org/git/collab-maint/libssh.git
1616+Vcs-Browser: http://git.debian.org/?p=collab-maint/libssh.git
1617+Homepage: http://www.libssh.org/
1618+
1619+Package: libssh-4
1620+Architecture: any
1621+Depends: ${shlibs:Depends}, ${misc:Depends}
1622+Pre-Depends: ${misc:Pre-Depends}
1623+Multi-Arch: same
1624+Description: tiny C SSH library
1625+ The ssh library was designed to be used by programmers needing a working SSH
1626+ implementation by the mean of a library. The complete control of the client
1627+ is made by the programmer. With libssh, you can remotely execute programs,
1628+ transfer files, use a secure and transparent tunnel for your remote programs.
1629+ With its SFTP implementation, you can play with remote files easily.
1630+
1631+Package: libssh-dev
1632+Section: libdevel
1633+Architecture: any
1634+Depends: libssh-4 (= ${binary:Version}), ${misc:Depends}, libssl-dev, zlib1g-dev
1635+Suggests: libssh-doc
1636+Conflicts: libssh-2-dev
1637+Replaces: libssh-2-dev
1638+Description: tiny C SSH library. Development files
1639+ The ssh library was designed to be used by programmers needing a working SSH
1640+ implementation by the mean of a library. The complete control of the client
1641+ is made by the programmer. With libssh, you can remotely execute programs,
1642+ transfer files, use a secure and transparent tunnel for your remote programs.
1643+ With its SFTP implementation, you can play with remote files easily.
1644+ .
1645+ This package contains development files.
1646+
1647+Package: libssh-dbg
1648+Priority: extra
1649+Section: debug
1650+Architecture: any
1651+Depends: libssh-4 (= ${binary:Version}), ${misc:Depends}
1652+Multi-Arch: same
1653+Description: tiny C SSH library. Debug symbols
1654+ The ssh library was designed to be used by programmers needing a working SSH
1655+ implementation by the mean of a library. The complete control of the client
1656+ is made by the programmer. With libssh, you can remotely execute programs,
1657+ transfer files, use a secure and transparent tunnel for your remote programs.
1658+ With its SFTP implementation, you can play with remote files easily.
1659+ .
1660+ This package contains debug symbols.
1661+
1662+Package: libssh-doc
1663+Section: doc
1664+Architecture: all
1665+Suggests: doc-base
1666+Depends: ${misc:Depends}
1667+Conflicts: libssh-2-doc
1668+Replaces: libssh-2-doc
1669+Description: tiny C SSH library. Documentation files
1670+ The ssh library was designed to be used by programmers needing a working SSH
1671+ implementation by the mean of a library. The complete control of the client
1672+ is made by the programmer. With libssh, you can remotely execute programs,
1673+ transfer files, use a secure and transparent tunnel for your remote programs.
1674+ With its SFTP implementation, you can play with remote files easily.
1675+ .
1676+ This package contains documentation files.
1677+>>>>>>> MERGE-SOURCE
1678
1679=== modified file 'debian/libssh-doc.doc-base'
1680--- debian/libssh-doc.doc-base 2011-09-19 12:01:26 +0000
1681+++ debian/libssh-doc.doc-base 2011-09-27 04:16:24 +0000
1682@@ -1,3 +1,4 @@
1683+<<<<<<< TREE
1684 Document: libssh
1685 Title: libssh public API Manual
1686 Author: Aris Adamantiadis <aris@0xbadc0de.be>
1687@@ -7,3 +8,14 @@
1688 Format: HTML
1689 Index: /usr/share/doc/libssh-doc/html/index.html
1690 Files: /usr/share/doc/libssh-doc/html/*.html
1691+=======
1692+Document: libssh
1693+Title: Debian libssh Manual
1694+Author: Aris Adamantiadis <aris@0xbadc0de.be>
1695+Abstract: This manual describes libssh API.
1696+Section: Programming/C
1697+
1698+Format: HTML
1699+Index: /usr/share/doc/libssh-doc/html/index.html
1700+Files: /usr/share/doc/libssh-doc/html/*
1701+>>>>>>> MERGE-SOURCE
1702
1703=== added file 'debian/patches/0001-rename-threads-static.patch'
1704--- debian/patches/0001-rename-threads-static.patch 1970-01-01 00:00:00 +0000
1705+++ debian/patches/0001-rename-threads-static.patch 2011-09-27 04:16:24 +0000
1706@@ -0,0 +1,90 @@
1707+From 71fa0dc6bb5066e65e43aad90ac3be6219d8b67d Mon Sep 17 00:00:00 2001
1708+From: Andreas Schneider <asn@cryptomilk.org>
1709+Date: Wed, 01 Jun 2011 12:52:27 +0000
1710+Subject: cmake: Fix static .lib overwriting on Windows.
1711+
1712+(cherry picked from commit 1880ef54d2c97c60ce9a29676f0214814c20d57b)
1713+---
1714+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
1715+index 2b47853..e158665 100644
1716+--- a/src/CMakeLists.txt
1717++++ b/src/CMakeLists.txt
1718+@@ -184,6 +184,11 @@ install(
1719+ if (WITH_STATIC_LIB)
1720+ add_library(${LIBSSH_STATIC_LIBRARY} STATIC ${libssh_SRCS})
1721+
1722++ if (MSVC)
1723++ set(OUTPUT_SUFFIX static)
1724++ else (MSVC)
1725++ set(OUTPUT_SUFFIX )
1726++ endif (MSVC)
1727+ set_target_properties(
1728+ ${LIBSSH_STATIC_LIBRARY}
1729+ PROPERTIES
1730+@@ -193,6 +198,8 @@ if (WITH_STATIC_LIB)
1731+ ${LIBRARY_SOVERSION}
1732+ OUTPUT_NAME
1733+ ssh
1734++ ARCHIVE_OUTPUT_DIRECTORY
1735++ ${CMAKE_CURRENT_BINARY_DIR}/${OUTPUT_SUFFIX}
1736+ )
1737+
1738+ if (WIN32)
1739+@@ -208,7 +215,7 @@ if (WITH_STATIC_LIB)
1740+ TARGETS
1741+ ${LIBSSH_STATIC_LIBRARY}
1742+ DESTINATION
1743+- ${LIB_INSTALL_DIR}
1744++ ${LIB_INSTALL_DIR}/${OUTPUT_SUFFIX}
1745+ COMPONENT
1746+ libraries
1747+ )
1748+diff --git a/src/threads/CMakeLists.txt b/src/threads/CMakeLists.txt
1749+index 0373fee..b95525e 100644
1750+--- a/src/threads/CMakeLists.txt
1751++++ b/src/threads/CMakeLists.txt
1752+@@ -86,6 +86,12 @@ install(
1753+ if (WITH_STATIC_LIB)
1754+ add_library(${LIBSSH_THREADS_STATIC_LIBRARY} STATIC ${libssh_threads_SRCS})
1755+
1756++ if (MSVC)
1757++ set(OUTPUT_SUFFIX static)
1758++ else (MSVC)
1759++ set(OUTPUT_SUFFIX )
1760++ endif (MSVC)
1761++
1762+ set_target_properties(
1763+ ${LIBSSH_THREADS_STATIC_LIBRARY}
1764+ PROPERTIES
1765+@@ -93,15 +99,26 @@ if (WITH_STATIC_LIB)
1766+ ${LIBRARY_VERSION}
1767+ SOVERSION
1768+ ${LIBRARY_SOVERSION}
1769+- COMPILE_FLAGS
1770+- "-DLIBSSH_STATIC"
1771++ OUTPUT_NAME
1772++ ssh_threads
1773++ ARCHIVE_OUTPUT_DIRECTORY
1774++ ${CMAKE_CURRENT_BINARY_DIR}/${OUTPUT_SUFFIX}
1775++ )
1776++
1777++ if (WIN32)
1778++ set_target_properties(
1779++ ${LIBSSH_THREADS_STATIC_LIBRARY}
1780++ PROPERTIES
1781++ COMPILE_FLAGS
1782++ "-DLIBSSH_STATIC"
1783+ )
1784++ endif (WIN32)
1785+
1786+ install(
1787+ TARGETS
1788+ ${LIBSSH_THREADS_STATIC_LIBRARY}
1789+ DESTINATION
1790+- ${LIB_INSTALL_DIR}
1791++ ${LIB_INSTALL_DIR}/${OUTPUT_SUFFIX}
1792+ COMPONENT
1793+ libraries
1794+ )
1795+--
1796+cgit v0.9
1797
1798=== added file 'debian/patches/0002-Check-for-NULL-pointers-in-string-c.patch'
1799--- debian/patches/0002-Check-for-NULL-pointers-in-string-c.patch 1970-01-01 00:00:00 +0000
1800+++ debian/patches/0002-Check-for-NULL-pointers-in-string-c.patch 2011-09-27 04:16:24 +0000
1801@@ -0,0 +1,58 @@
1802+From de706de8c3f67ae8408b2c8be139d177ef5d567c Mon Sep 17 00:00:00 2001
1803+From: milo <milo@r0ot.me>
1804+Date: Mon, 14 Feb 2011 19:23:12 +0000
1805+Subject: Check for NULL pointers in string.c
1806+
1807+(cherry picked from commit 4230509e805f546091ca2e4f8aa13c22f6efc7a8)
1808+---
1809+--- a/src/string.c
1810++++ b/src/string.c
1811+@@ -21,6 +21,7 @@
1812+ * MA 02111-1307, USA.
1813+ */
1814+
1815++#include <errno.h>
1816+ #include <stdlib.h>
1817+ #include <string.h>
1818+
1819+@@ -91,8 +92,15 @@
1820+ * @note The nul byte is not copied nor counted in the ouput string.
1821+ */
1822+ struct ssh_string_struct *ssh_string_from_char(const char *what) {
1823+- struct ssh_string_struct *ptr = NULL;
1824+- size_t len = strlen(what);
1825++ struct ssh_string_struct *ptr;
1826++ size_t len;
1827++
1828++ if(what == NULL) {
1829++ errno = EINVAL;
1830++ return NULL;
1831++ }
1832++
1833++ len = strlen(what);
1834+
1835+ ptr = malloc(4 + len);
1836+ if (ptr == NULL) {
1837+@@ -133,7 +141,7 @@
1838+ char *ssh_string_to_char(struct ssh_string_struct *s) {
1839+ size_t len;
1840+ char *new;
1841+- if(s==NULL)
1842++ if(s==NULL || s->string == NULL)
1843+ return NULL;
1844+ len = ntohl(s->size) + 1;
1845+ new = malloc(len);
1846+@@ -164,7 +172,12 @@
1847+ * @return Newly allocated copy of the string, NULL on error.
1848+ */
1849+ struct ssh_string_struct *ssh_string_copy(struct ssh_string_struct *s) {
1850+- struct ssh_string_struct *new = malloc(ntohl(s->size) + 4);
1851++ struct ssh_string_struct *new;
1852++
1853++ if(s == NULL || s->string == NULL) {
1854++ return NULL;
1855++ }
1856++ new = malloc(ntohl(s->size) + 4);
1857+
1858+ if (new == NULL) {
1859+ return NULL;
1860
1861=== modified file 'debian/patches/series'
1862--- debian/patches/series 2011-08-19 00:46:48 +0000
1863+++ debian/patches/series 2011-09-27 04:16:24 +0000
1864@@ -1,2 +1,7 @@
1865+<<<<<<< TREE
1866 0001-disable-latex-documentation.patch
1867 0002-fix-html-doc-generation.patch
1868+=======
1869+0001-rename-threads-static.patch
1870+0002-Check-for-NULL-pointers-in-string-c.patch
1871+>>>>>>> MERGE-SOURCE
1872
1873=== modified file 'debian/rules'
1874--- debian/rules 2011-09-19 12:01:26 +0000
1875+++ debian/rules 2011-09-27 04:16:24 +0000
1876@@ -1,3 +1,4 @@
1877+<<<<<<< TREE
1878 #!/usr/bin/make -f
1879
1880 DEB_AUTO_CLEANUP_RCS := yes
1881@@ -15,3 +16,22 @@
1882
1883 build/libssh-doc::
1884 $(MAKE) -C $(DEB_BUILDDIR) doc
1885+=======
1886+#!/usr/bin/make -f
1887+
1888+DEB_AUTO_CLEANUP_RCS := yes
1889+
1890+DEB_CMAKE_EXTRA_FLAGS := -DWITH_STATIC_LIB=ON -DLIB_INSTALL_DIR=/usr/lib/$(DEB_HOST_MULTIARCH)
1891+
1892+include /usr/share/cdbs/1/class/cmake.mk
1893+include /usr/share/cdbs/1/rules/debhelper.mk
1894+
1895+DEB_DBG_PACKAGE_libssh-4 = libssh-dbg
1896+
1897+# List any files which are not installed
1898+include /usr/share/cdbs/1/rules/utils.mk
1899+common-binary-post-install-arch:: list-missing
1900+
1901+common-build-indep::
1902+ cd obj-*/; make doc
1903+>>>>>>> MERGE-SOURCE
1904
1905=== modified file 'debian/watch'
1906--- debian/watch 2011-09-19 12:01:26 +0000
1907+++ debian/watch 2011-09-27 04:16:24 +0000
1908@@ -1,3 +1,8 @@
1909+<<<<<<< TREE
1910 version=3
1911 https://red.libssh.org/projects/libssh/files \
1912 /attachments/download/\d+/libssh-(.*)\.tar.gz
1913+=======
1914+version=3
1915+http://www.libssh.org/files/([\d.]+)/libssh-(.*)\.tar.gz
1916+>>>>>>> MERGE-SOURCE

Subscribers

People subscribed via source and target branches

to all changes: