diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /net-analyzer/netcat6 | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'net-analyzer/netcat6')
-rw-r--r-- | net-analyzer/netcat6/Manifest | 1 | ||||
-rw-r--r-- | net-analyzer/netcat6/files/netcat6-1.0-automake-1.14.patch | 14 | ||||
-rw-r--r-- | net-analyzer/netcat6/files/netcat6-1.0-unix-sockets.patch | 303 | ||||
-rw-r--r-- | net-analyzer/netcat6/metadata.xml | 5 | ||||
-rw-r--r-- | net-analyzer/netcat6/netcat6-1.0-r2.ebuild | 52 |
5 files changed, 375 insertions, 0 deletions
diff --git a/net-analyzer/netcat6/Manifest b/net-analyzer/netcat6/Manifest new file mode 100644 index 000000000000..ff13a465055a --- /dev/null +++ b/net-analyzer/netcat6/Manifest @@ -0,0 +1 @@ +DIST nc6-1.0.tar.bz2 264257 SHA256 eb35e7a05a60bf94496075a3a246d7bf63fcdba2ca7ceb6844852a1ff6478206 SHA512 199f3bd18bb452544da8ca1b0f5347f79662bea81e9af335a41ed62c12d5d8cb41d99442ca54f301538d27aec4ada5f59db87461e5b0f20333ba1b52859bd35a WHIRLPOOL e3ad61617daa705efc4a459c96a6e020eb30d6e38be367c5014fa2b8706de53502348ce6995e7804c60e6c4b8cfefc21a50a00987cdb33b9ae2d336d294bbf80 diff --git a/net-analyzer/netcat6/files/netcat6-1.0-automake-1.14.patch b/net-analyzer/netcat6/files/netcat6-1.0-automake-1.14.patch new file mode 100644 index 000000000000..f7c128590be8 --- /dev/null +++ b/net-analyzer/netcat6/files/netcat6-1.0-automake-1.14.patch @@ -0,0 +1,14 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -2,9 +2,9 @@ + AC_INIT(nc6, 1.0, [ds6-devel@deepspace6.net]) + AC_CONFIG_AUX_DIR(config) + AC_CONFIG_SRCDIR(src/main.c) +-AM_GNU_GETTEXT_VERSION(0.14.1) + AM_INIT_AUTOMAKE(1.6) dnl Automake 1.6 or better is required +-AM_CONFIG_HEADER(config.h) ++AM_GNU_GETTEXT_VERSION(0.14.1) ++AC_CONFIG_HEADERS(config.h) + AC_PREREQ(2.52) dnl Autoconf 2.52 or better is required + + diff --git a/net-analyzer/netcat6/files/netcat6-1.0-unix-sockets.patch b/net-analyzer/netcat6/files/netcat6-1.0-unix-sockets.patch new file mode 100644 index 000000000000..5ab0ece124f1 --- /dev/null +++ b/net-analyzer/netcat6/files/netcat6-1.0-unix-sockets.patch @@ -0,0 +1,303 @@ +--- a/docs/nc6.1.in ++++ b/docs/nc6.1.in +@@ -160,6 +160,10 @@ + With this option set, netcat6 will use UDP as the transport protocol (TCP is + the default). + .TP 13 ++.I \-U, --unix ++With this option set, netcat6 will connect to a unix domain socket. ++The listen mode has not been implemented yet. ++.TP 13 + .I \-v + Enable verbose mode. This gives some basic information about what netcat6 + is doing. Use it twice for extra verbosity. + +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -6,6 +6,7 @@ + network.h \ + afindep.h \ + bluez.h \ ++ unixsocket.h \ + netsupport.h \ + parser.h \ + readwrite.h \ +@@ -20,6 +21,7 @@ + afindep.c \ + netsupport.c \ + parser.c \ ++ unixsocket.c \ + readwrite.c \ + io_stream.c \ + connection.c + +--- a/src/connection.c ++++ b/src/connection.c +@@ -109,6 +109,9 @@ + fatal_internal("unavailable bluez support required"); + #endif + break; ++ case PROTO_UNIX: ++ ainfo->ai_family = PF_UNIX; ++ break; + default: + fatal_internal("unknown socket domain"); + } +@@ -144,6 +147,10 @@ + fatal_internal("unavailable bluez support required"); + #endif + break; ++ case UNIX_PROTOCOL: ++ ainfo->ai_protocol = 0; ++ ainfo->ai_socktype = SOCK_STREAM; ++ break; + default: + fatal_internal("unknown socket type"); + } + +--- a/src/connection.h ++++ b/src/connection.h 2008-10-25 14:17:09 +0000 +@@ -31,12 +31,14 @@ + PROTO_UNSPECIFIED, + PROTO_IPv6, + PROTO_IPv4, ++ PROTO_UNIX, + PROTO_BLUEZ + } sock_family_t; + + typedef enum sock_protocol { + TCP_PROTOCOL, + UDP_PROTOCOL, ++ UNIX_PROTOCOL, + SCO_PROTOCOL, + L2CAP_PROTOCOL + } sock_protocol_t; + +--- a/src/network.c ++++ b/src/network.c +@@ -23,6 +23,7 @@ + #include "network.h" + #include "connection.h" + #include "afindep.h" ++#include "unixsocket.h" + #ifdef ENABLE_BLUEZ + #include "bluez.h" + #endif/*ENABLE_BLUEZ*/ +@@ -113,6 +114,11 @@ + + /* invoke the appropriate connector for the protocol family */ + switch (ca_family(attrs)) { ++ case PROTO_UNIX: ++ fd = unixsocket_connect(&hints, ++ remote->address, ++ timeout, &socktype); ++ break; + #ifdef ENABLE_BLUEZ + case PROTO_BLUEZ: + fd = bluez_connect(&hints, + +--- a/src/parser.c ++++ b/src/parser.c +@@ -109,7 +109,9 @@ + {"bluetooth", no_argument, NULL, 'b'}, + #define OPT_SCO 24 + {"sco", no_argument, NULL, 0 }, +-#define OPT_MAX 25 ++#define OPT_UNIX_SOCKET 25 ++ {"unix", no_argument, NULL, 'U'}, ++#define OPT_MAX 26 + {0, 0, 0, 0} + }; + +@@ -160,7 +162,7 @@ + _verbosity_level = 0; + + /* option recognition loop */ +- while ((c = getopt_long(argc, argv, "46be:hlnp:q:s:uvw:xX", ++ while ((c = getopt_long(argc, argv, "46be:hlnp:q:s:uUvw:xX", + long_options, &option_index)) >= 0) + { + switch (c) { +@@ -231,6 +233,9 @@ + family = PROTO_IPv6; + ca_set_flag(attrs, CA_STRICT_IPV6); + break; ++ case 'U': ++ family = PROTO_UNIX; ++ break; + case 'b': + family = PROTO_BLUEZ; + break; +@@ -330,6 +335,9 @@ + /* set default protocols */ + if (protocol == PROTO_UNSPECIFIED) { + switch (family) { ++ case PROTO_UNIX: ++ protocol = UNIX_PROTOCOL; ++ break; + case PROTO_BLUEZ: + protocol = L2CAP_PROTOCOL; + break; +@@ -344,6 +352,11 @@ + fatal(_("cannot specify UDP protocol and bluetooth")); + if (protocol == SCO_PROTOCOL && family != PROTO_BLUEZ) + fatal(_("--sco requires --bluetooth (-b)")); ++ if (protocol == UNIX_PROTOCOL && family != PROTO_UNIX) ++ fatal(_("--unix does not need protocol specifications")); ++ ++ if (family == PROTO_UNIX && listen_mode) ++ fatal(_("--unix cannot --listen yet")); + + /* check compiled options */ + #ifndef ENABLE_BLUEZ +@@ -380,6 +393,10 @@ + fatal_internal("unknown/unsupported bluetooth " + "protocol %d", protocol); + break; ++ case PROTO_UNIX: ++ if (protocol != UNIX_PROTOCOL) ++ fatal_internal("unknown/unsupported UNIX protocol %d", protocol); ++ break; + default: + fatal_internal("invalid protocol family %d", family); + } +@@ -425,18 +442,18 @@ + fatal(_("cannot set both --recv-only and --send-only")); + } + +- /* check ports have not been specified with --sco */ +- if (protocol == SCO_PROTOCOL) { ++ /* check ports have not been specified with --sco and --unix */ ++ if (protocol == SCO_PROTOCOL || protocol == UNIX_PROTOCOL) { + if (remote_address.service != NULL) +- fatal(_("--sco does not support remote port")); ++ fatal(_("--sco and --unix do not support remote port")); + if (local_address.service != NULL) +- fatal(_("--sco does not support local port (-p)")); ++ fatal(_("--sco and --unix do not support local port (-p)")); + } + + /* check mode specific option availability and interactions */ + if (listen_mode == true) { + /* check port has been specified (except with sco) */ +- if (local_address.service == NULL && protocol != SCO_PROTOCOL) { ++ if (local_address.service == NULL && protocol != SCO_PROTOCOL && protocol != UNIX_PROTOCOL) { + fatal(_("in listen mode you must specify a port " + "with the -p switch")); + } +@@ -450,6 +467,7 @@ + /* check port has been specified (except with sco) */ + if (remote_address.address == NULL || + (remote_address.service == NULL && ++ protocol != UNIX_PROTOCOL && + protocol != SCO_PROTOCOL)) + { + fatal(_("you must specify the address/port couple " +@@ -553,6 +571,8 @@ + fprintf(fp, " -6 %s\n", _("Use only IPv6")); + fprintf(fp, " -b, --bluetooth %s\n", + _("Use Bluetooth (defaults to L2CAP protocol)")); ++ fprintf(fp, " -U, --unix %s\n", ++ _("Connect to unix domain sockets")); + fprintf(fp, " --buffer-size=BYTES %s\n", _("Set buffer size")); + fprintf(fp, " --continuous %s\n", + _("Continuously accept connections\n" + +--- a/src/unixsocket.c ++++ b/src/unixsocket.c +@@ -0,0 +1,78 @@ ++/* ++ * unixsocket.c - address family independant networking functions ++ */ ++#include "system.h" ++#include "unixsocket.h" ++#include "misc.h" ++#include "netsupport.h" ++#include "parser.h" ++ ++#include <assert.h> ++#include <errno.h> ++#include <string.h> ++#include <stdlib.h> ++#include <sys/types.h> ++#include <sys/socket.h> ++#include <sys/un.h> ++#include <unistd.h> ++#include <limits.h> ++ ++RCSID("@(#) $Id$"); ++ ++ ++int unixsocket_connect(const struct addrinfo *hints, ++ const char *remote_address, ++ time_t timeout, int *rt_socktype) ++{ ++ int err, fd = -1; ++ struct sockaddr_un sa; ++ const struct addrinfo *ptr = hints; ++ ++ /* make sure arguments are valid and preconditions are respected */ ++ assert(hints != NULL); ++ assert(remote_address != NULL && strlen(remote_address) > 0); ++ assert(sizeof(sa.sun_path) >= strlen(remote_address)); ++ ++ sa.sun_family = ptr->ai_family; ++ strncpy(sa.sun_path, remote_address, sizeof(sa.sun_path)); ++ ++ ++ /* create the socket */ ++ fd = socket(ptr->ai_family, ptr->ai_socktype, ptr->ai_protocol); ++ if (fd < 0) { ++ warning("cannot create the socket: %s", strerror(errno)); ++ return -1; ++ } ++ ++ /* attempt the connection */ ++ err = connect_with_timeout(fd, (struct sockaddr *)&sa, sizeof(sa), timeout); ++ ++ if (err != 0) ++ { ++ /* check error code */ ++ if (verbose_mode()) { ++ /* use different error message for timeout */ ++ if (errno == ETIMEDOUT) { ++ /* connection timed out */ ++ warning(_("timeout while connecting to %s"), remote_address); ++ } ++ else { ++ /* connection failed */ ++ warning(_("cannot connect to %s: %s"), remote_address, strerror(errno)); ++ } ++ } ++ close(fd); ++ return -1; ++ } ++ ++ assert(ptr == NULL || fd >= 0); ++ ++ /* let the user know the connection has been established */ ++ if (verbose_mode()) warning(_("%s open"), remote_address); ++ ++ /* return the socktype */ ++ if (rt_socktype != NULL) *rt_socktype = ptr->ai_socktype; ++ ++ return fd; ++} ++ + +--- a/src/unixsocket.h ++++ b/src/unixsocket.h +@@ -0,0 +1,12 @@ ++#ifndef UNIXSOCKET_H ++#define UNIXSOCKET_H ++ ++#include <netdb.h> ++#include <sys/types.h> ++ ++/* establish a connection and return a new fd and socktype */ ++int unixsocket_connect(const struct addrinfo *hints, ++ const char *remote_address, ++ time_t timeout, int *socktype); ++ ++#endif + diff --git a/net-analyzer/netcat6/metadata.xml b/net-analyzer/netcat6/metadata.xml new file mode 100644 index 000000000000..03aa50bab7e3 --- /dev/null +++ b/net-analyzer/netcat6/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>netmon</herd> +</pkgmetadata> diff --git a/net-analyzer/netcat6/netcat6-1.0-r2.ebuild b/net-analyzer/netcat6/netcat6-1.0-r2.ebuild new file mode 100644 index 000000000000..e2a289a62e57 --- /dev/null +++ b/net-analyzer/netcat6/netcat6-1.0-r2.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit eutils autotools toolchain-funcs + +DESCRIPTION="netcat clone with better IPv6 support, improved code, etc..." +HOMEPAGE="http://netcat6.sourceforge.net/" +SRC_URI="ftp://ftp.deepspace6.net/pub/ds6/sources/nc6/nc6-${PV}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ~ppc64 s390 sh sparc x86 ~amd64-linux ~arm-linux ~x86-linux" +IUSE="ipv6 nls bluetooth" + +# need to block netcat as we provide the "nc" file now too +DEPEND=" + bluetooth? ( net-wireless/bluez ) +" +RDEPEND=" + ${DEPEND} + !net-analyzer/netcat +" + +S=${WORKDIR}/nc6-${PV} + +DOCS=( AUTHORS BUGS README NEWS TODO CREDITS ChangeLog ) + +src_prepare() { + epatch \ + "${FILESDIR}"/${P}-unix-sockets.patch \ + "${FILESDIR}"/${P}-automake-1.14.patch + AM_OPTS="--force-missing" eautoreconf +} + +src_configure() { + econf \ + $(use_enable ipv6) \ + $(use_enable bluetooth bluez) \ + $(use_enable nls) +} + +src_compile() { + emake AR=$(tc-getAR) +} + +src_install() { + default + dodir /usr/bin + dosym /usr/bin/nc6 /usr/bin/nc +} |