debian/0000755000000000000000000000000012037335703007171 5ustar debian/rules0000755000000000000000000000040712001701752010242 0ustar #!/usr/bin/make -f # -*- mode: makefile; coding: utf-8 -*- %: dh $@ override_dh_strip: dh_strip --dbg-package=librdmacm1-dbg override_dh_makeshlibs: dh_makeshlibs -V 'librdmacm1 (>= 1.0.16)' override_dh_auto_configure: autoreconf -f -i dh_auto_configure debian/rdmacm-utils.install0000644000000000000000000000003311534230542013152 0ustar usr/bin usr/share/man/man1 debian/compat0000644000000000000000000000000212001701556010361 0ustar 9 debian/patches/0000755000000000000000000000000012037335044010616 5ustar debian/patches/02-fix-manpage-nroff-errors.patch0000644000000000000000000000444112037335044016677 0ustar Description: Fix manpage formatting found by lintian warning Putting 'r' at the beginning of a line in the nroff source for man pages is confusing to nroff because lines that start with a single quote character ' or a dot character . are treated as control lines, which is not what's intended here. Some of the man page text ends up left out of the formatted output. . Fix this by just wrapping the text slightly differently in the source (which doesn't matter since nroff reflows the text anyway). Also add a missing ".TP" so that the -p and -c options are not run together in the formatted output. Forwarded: http://article.gmane.org/gmane.linux.drivers.rdma/13669 Author: Roland Dreier --- man/rdma_xclient.1 | 5 +++-- man/rdma_xserver.1 | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/man/rdma_xclient.1 b/man/rdma_xclient.1 index 087e7fe..b4bb045 100644 --- a/man/rdma_xclient.1 +++ b/man/rdma_xclient.1 @@ -20,9 +20,10 @@ By default, the client will attempt to connect to the server using \-p server_port Specifies the port number that the server listens on. By default the server listens on port 7471. +.TP \-c communication type -Specifies the type of communication established with the server program. -'r' results in using a reliable-connected QP (the default). 'x' uses +Specifies the type of communication established with the server program. 'r' +results in using a reliable-connected QP (the default). 'x' uses extended reliable-connected XRC QPs. .SH "NOTES" Basic usage is to start rdma_xserver, then connect to the server using the diff --git a/man/rdma_xserver.1 b/man/rdma_xserver.1 index 75529e4..a26c962 100644 --- a/man/rdma_xserver.1 +++ b/man/rdma_xserver.1 @@ -14,9 +14,10 @@ data. \-p port Changes the port number that the server listens on. By default the server listens on port 7471. +.TP \-c communication type -Specifies the type of communication established with the client program. -'r' results in using a reliable-connected QP (the default). 'x' uses +Specifies the type of communication established with the client program. 'r' +results in using a reliable-connected QP (the default). 'x' uses extended reliable-connected XRC QPs. .SH "NOTES" Basic usage is to start rdma_xserver, then connect to the server using the debian/patches/series0000644000000000000000000000011512037332577012040 0ustar 01-CVE-2012-4516-no-default-acm-port.patch 02-fix-manpage-nroff-errors.patch debian/patches/01-CVE-2012-4516-no-default-acm-port.patch0000644000000000000000000000335212037332220017221 0ustar From: Sean Hefty Subject: Disable ACM support if ibacm.port is not found The librdmacm will try to connect port 6125 if ibacm.port is not found. The problem is that some other service or application could be using that port and respond with garbage. Rather than falling back to a hard coded port number, if ibacm.port is not found, simply disable ACM support. This has the effect of removing support for older versions of ibacm, unless the port file is created manually. Patch created based on feedback from Doug Ledford and Florian Weimer from RedHat. Origin: upstream, http://git.openfabrics.org/git?p=~shefty/librdmacm.git;a=commitdiff;h=4b5c1aa734e0e734fc2ba3cd41d0ddf02170af6d Bug: https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2012-4516 Bug-Debian: http://bugs.debian.org/690672 --- diff --git a/src/acm.c b/src/acm.c index 3d8c912..c9ca5b5 100755 --- a/src/acm.c +++ b/src/acm.c @@ -62,7 +62,7 @@ typedef struct acm_msg cma_acm_msg_t; static pthread_mutex_t acm_lock = PTHREAD_MUTEX_INITIALIZER; static int sock = -1; -static short server_port = 6125; +static short server_port; struct ib_connect_hdr { uint8_t cma_version; @@ -76,7 +76,7 @@ struct ib_connect_hdr { #define cma_dst_ip6 dst_addr[0] }; -static void ucma_set_server_port(void) +static int ucma_set_server_port(void) { FILE *f; @@ -84,6 +84,7 @@ static void ucma_set_server_port(void) fscanf(f, "%hu", (unsigned short *) &server_port); fclose(f); } + return server_port; } void ucma_ib_init(void) @@ -96,7 +97,9 @@ void ucma_ib_init(void) return; pthread_mutex_lock(&acm_lock); - ucma_set_server_port(); + if (!ucma_set_server_port()) + goto out; + sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if (sock < 0) goto out; debian/copyright0000644000000000000000000000345011534230542011122 0ustar Initial Debianization: This package was debianized by Roland Dreier on Mon, 21 Jan 2008 13:18:49 -0800 Source: It was downloaded from the OpenFabrics web site at Author: Sean Hefty Portions are copyrighted by: * Copyright (c) 2005 Ammasso, Inc. All rights reserved. * Copyright (c) 2005 Voltaire Inc. All rights reserved. * Copyright (c) 2005-2007 Intel Corporation. All rights reserved. * Copyright (c) 2006 Open Grid Computing, Inc. All rights reserved. librdmacm is licensed under a choice of one of two licenses. You may choose to be licensed under the terms of the GNU General Public License (GPL) Version 2, available from the file /usr/share/common-licenses/GPL-2 on your Debian system, or the OpenIB.org BSD license below: 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. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. debian/changelog0000644000000000000000000000625712037335703011055 0ustar librdmacm (1.0.16-1) unstable; urgency=high * Security fix: apply 01-CVE-2012-4516-no-default-acm-port.patch (Closes: #690672) * New upstream release. - Add rsockets API and protocol. - Add LD_PRELOAD-able librspreload to use rsockets transparently. - Bug fixes. * Update dh_makeshlibs call, since new rsockets API was added in 1.0.16. * Update to Standards-Version: 3.9.4 (no changes needed). * Apply 02-fix-manpage-nroff-errors.patch to fix lintian warnings. * Update to debhelper 9. -- Roland Dreier Tue, 16 Oct 2012 12:20:17 -0700 librdmacm (1.0.15-1) unstable; urgency=low * New upstream release. * Update dh_makeshlibs call, since new functions rdma_create_srq() and rdma_destroy_srq() were added in 1.0.15. * Drop link-with-pthread.patch (applied upstream). * Don't use brace expansion for {a,so} in librdmacm-dev.install * Update to Standards-Version: 3.9.3 (no changes needed). * Update maintainer and remove DM-Upload-Allowed now that I'm a DD. -- Roland Dreier Sun, 17 Jun 2012 18:01:31 -0700 librdmacm (1.0.14.1-2) unstable; urgency=low * Don't ship .la files. (Closes: #633229) -- Roland Dreier Tue, 12 Jul 2011 21:15:18 -0700 librdmacm (1.0.14.1-1) unstable; urgency=low * New upstream release. - Fix problem with some versions of cxgb3 driver * Update to Standards-Version: 3.9.2 (no changes needed). * Set DM-Upload-Allowed to yes. * Still linking directly with libpthread. (Closes: #618071) -- Roland Dreier Wed, 20 Apr 2011 10:27:55 -0700 librdmacm (1.0.14-1) experimental; urgency=low * Switch to dpkg-source 3.0 (quilt) format. * Update to Standards-Version: 3.9.1 (no changes needed). * New upstream release. - Add IPv6 support - Add new higher-level, simpler API - Add new client/server examples * Link directly with libpthread. (Closes: #555380) -- Roland Dreier Wed, 15 Dec 2010 11:24:19 -0800 librdmacm (1.0.10-1) unstable; urgency=low * Update to Standards-Version: 3.8.3 (no changes needed). * Move -dbg package to section debug. * Change build system from cdbs to debhelper 7. * New upstream release: - Many small fixes. -- Roland Dreier Wed, 18 Nov 2009 15:40:14 -0800 librdmacm (1.0.8-1) unstable; urgency=low * New upstream release: - Report address change and timewait exit events (requires kernel 2.6.27). - Minor enhancements to example programs. -- Roland Dreier Fri, 08 Aug 2008 14:24:16 -0700 librdmacm (1.0.7-1) unstable; urgency=low * New upstream release: - Set status correctly for rejects. - Add new function rdma_migrate_id(). * We actually require libibverbs 1.1 (not 1.0) to build. * Add debian/watch file. * Use DEB_DH_MAKESHLIBS_ARGS_ALL to pass appropriate -V option to dh_makeshlibs, since a new symbol rdma_migrate_id() was added in librdmacm 1.0.7. -- Roland Dreier Fri, 28 Mar 2008 20:44:44 -0700 librdmacm (1.0.6-1) unstable; urgency=low * Initial Release. (Closes: #462348) -- Roland Dreier Tue, 05 Feb 2008 13:49:52 -0800 debian/source/0000755000000000000000000000000011534230542010465 5ustar debian/source/format0000644000000000000000000000001411534230542011673 0ustar 3.0 (quilt) debian/control0000644000000000000000000000773112037306110010572 0ustar Source: librdmacm Priority: extra Maintainer: Roland Dreier Build-Depends: autoconf, automake, libtool, debhelper (>= 9), dpkg-dev (>= 1.13.19), libibverbs-dev (>= 1.1) Standards-Version: 3.9.4 Section: libs Homepage: http://www.openfabrics.org/ Package: librdmacm1 Section: libs Architecture: any Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Description: Library for managing RDMA connections librdmacm is a library that allows applications to set up reliable connected and unreliable datagram transfers when using RDMA adapters. It provides a transport-neutral interface in the sense that the same code can be used for both InfiniBand and iWARP adapters. The interface is based on sockets, but adapted for queue pair (QP) based semantics: communication must use a specific RDMA device, and data transfers are message-based. . librdmacm only provides communication management (connection setup and tear-down) and works in conjunction with the verbs interface provided by libibverbs, which provides the interface used to actually transfer data. . This package contains the shared library. Package: librdmacm-dev Section: libdevel Architecture: any Depends: ${misc:Depends}, librdmacm1 (= ${binary:Version}) Description: Development files for the librdmacm library librdmacm is a library that allows applications to set up reliable connected and unreliable datagram transfers when using RDMA adapters. It provides a transport-neutral interface in the sense that the same code can be used for both InfiniBand and iWARP adapters. The interface is based on sockets, but adapted for queue pair (QP) based semantics: communication must use a specific RDMA device, and data transfers are message-based. . librdmacm only provides communication management (connection setup and tear-down) and works in conjunction with the verbs interface provided by libibverbs, which provides the interface used to actually transfer data. . This package is needed to compile programs against librdmacm1. It contains the header files and static libraries (optionally) needed for compiling. Package: librdmacm1-dbg Section: debug Priority: extra Architecture: any Depends: ${misc:Depends}, librdmacm1 (= ${binary:Version}) Description: Debugging symbols for the librdmacm library librdmacm is a library that allows applications to set up reliable connected and unreliable datagram transfers when using RDMA adapters. It provides a transport-neutral interface in the sense that the same code can be used for both InfiniBand and iWARP adapters. The interface is based on sockets, but adapted for queue pair (QP) based semantics: communication must use a specific RDMA device, and data transfers are message-based. . librdmacm only provides communication management (connection setup and tear-down) and works in conjunction with the verbs interface provided by libibverbs, which provides the interface used to actually transfer data. . This package contains the debugging symbols associated with librdmacm1. They will automatically be used by gdb for debugging librdmacm-related issues. Package: rdmacm-utils Section: net Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: Examples for the librdmacm library librdmacm is a library that allows applications to set up reliable connected and unreliable datagram transfers when using RDMA adapters. It provides a transport-neutral interface in the sense that the same code can be used for both InfiniBand and iWARP adapters. The interface is based on sockets, but adapted for queue pair (QP) based semantics: communication must use a specific RDMA device, and data transfers are message-based. . librdmacm only provides communication management (connection setup and tear-down) and works in conjunction with the verbs interface provided by libibverbs, which provides the interface used to actually transfer data. . This package contains useful librdmacm1 example programs such as rping and udaddy. debian/librdmacm1.install0000644000000000000000000000007612004024614012565 0ustar usr/lib/*/librdmacm*.so.* usr/lib/*/rsocket/librspreload*.so* debian/watch0000644000000000000000000000016311534230542010216 0ustar version=3 opts="uversionmangle=s/-rc/~rc/" \ http://www.openfabrics.org/downloads/rdmacm/librdmacm-(.+)\.tar\.gz debian/librdmacm-dev.install0000644000000000000000000000014112001702403013245 0ustar usr/include usr/lib/*/librdmacm*.a usr/lib/*/librdmacm*.so usr/share/man/man3 usr/share/man/man7