summaryrefslogtreecommitdiff
path: root/net-misc/mdidentd
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /net-misc/mdidentd
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.xz
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-misc/mdidentd')
-rw-r--r--net-misc/mdidentd/Manifest1
-rw-r--r--net-misc/mdidentd/files/1.04a-glibc210.patch32
-rw-r--r--net-misc/mdidentd/files/1.04a-pidfile.patch17
-rw-r--r--net-misc/mdidentd/files/1.04a-security.patch77
-rw-r--r--net-misc/mdidentd/files/mdidentd.conf.d3
-rw-r--r--net-misc/mdidentd/files/mdidentd.init.d21
-rw-r--r--net-misc/mdidentd/mdidentd-1.04c.ebuild45
-rw-r--r--net-misc/mdidentd/metadata.xml5
8 files changed, 201 insertions, 0 deletions
diff --git a/net-misc/mdidentd/Manifest b/net-misc/mdidentd/Manifest
new file mode 100644
index 00000000000..312bf55fede
--- /dev/null
+++ b/net-misc/mdidentd/Manifest
@@ -0,0 +1 @@
+DIST ezbounce-1.04c.tar.gz 192630 SHA256 5be7b903e3682aee9d1758f60957486e4aa08da717fc763caab1415454eaebd8
diff --git a/net-misc/mdidentd/files/1.04a-glibc210.patch b/net-misc/mdidentd/files/1.04a-glibc210.patch
new file mode 100644
index 00000000000..9f059cef330
--- /dev/null
+++ b/net-misc/mdidentd/files/1.04a-glibc210.patch
@@ -0,0 +1,32 @@
+diff -NrU5 ezbounce-1.04c.original/lib/general.cpp ezbounce-1.04c/lib/general.cpp
+--- ezbounce-1.04c.original/lib/general.cpp 2009-08-08 18:50:44.000000000 -0600
++++ ezbounce-1.04c/lib/general.cpp 2009-08-08 18:55:30.000000000 -0600
+@@ -366,11 +366,11 @@
+ while (*p == sep)
+ p++;
+ do {
+ if (numfound == which && *p)
+ {
+- char * next = strchr(p, sep);
++ const char * next = strchr(p, sep);
+ if ((get_rest && buffer) || (!next /* && *(p+1) */) )
+ {
+ if (buffer)
+ safe_strcpy(buffer, p, maxsize);
+ return 1;
+diff -NrU5 ezbounce-1.04c.original/mdidentd/identd.cpp ezbounce-1.04c/mdidentd/identd.cpp
+--- ezbounce-1.04c.original/mdidentd/identd.cpp 2009-08-08 18:50:44.000000000 -0600
++++ ezbounce-1.04c/mdidentd/identd.cpp 2009-08-08 19:00:08.000000000 -0600
+@@ -739,11 +739,11 @@
+ while (*p == sep)
+ p++;
+ do {
+ if (numfound == which && *p)
+ {
+- char * next = strchr(p, sep);
++ const char * next = strchr(p, sep);
+ if ((get_rest && buffer) || (!next /* && *(p+1) */) )
+ {
+ if (buffer)
+ safe_strcpy(buffer, p, maxsize);
+ return 1;
diff --git a/net-misc/mdidentd/files/1.04a-pidfile.patch b/net-misc/mdidentd/files/1.04a-pidfile.patch
new file mode 100644
index 00000000000..ec75f22b85b
--- /dev/null
+++ b/net-misc/mdidentd/files/1.04a-pidfile.patch
@@ -0,0 +1,17 @@
+--- mdidentd/identd.cpp.orig 2003-11-03 19:21:50.175424408 -0500
++++ mdidentd/identd.cpp 2003-11-03 19:25:05.683702632 -0500
+@@ -709,6 +709,14 @@
+ return -1;
+
+ default:
++ FILE *pidfile;
++ /* make the pid file */
++ pidfile = fopen("/var/run/mdidentd.pid", "w");
++ if (pidfile) {
++ fprintf(pidfile, "%i", xx);
++ fclose(pidfile);
++ } else
++ perror("Could not write pidfile");
+ return xx;
+
+ }
diff --git a/net-misc/mdidentd/files/1.04a-security.patch b/net-misc/mdidentd/files/1.04a-security.patch
new file mode 100644
index 00000000000..70815d38434
--- /dev/null
+++ b/net-misc/mdidentd/files/1.04a-security.patch
@@ -0,0 +1,77 @@
+--- ezbounce-1.04a/mdidentd/identd.cpp
++++ ezbounce-1.04a/mdidentd/identd.cpp 2003-10-20 20:23:26.000000000 +0000
+@@ -44,6 +44,7 @@
+
+ #include <unistd.h>
+ #include <sys/socket.h>
++#include <pwd.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <arpa/inet.h>
+@@ -76,6 +77,7 @@
+ static bool foreground, auto_kill; /* Some options */
+ bool no_real;
+ static uid_t uid; /* Become this user after binding sock */
++static gid_t gid; /* Primary group of uid */
+ static unsigned int hard_limit; /* Max # of fake idents */
+ static unsigned int num_conns;
+ static unsigned int num_unix;
+@@ -179,10 +181,16 @@
+ id = argv[y+1];
+ if (!id)
+ {
+- fprintf(stderr, "Option '-u' requires numeric user id to follow it\n");
++ fprintf(stderr, "Option '-u' requires user id to follow it\n");
+ exit(1);
+ }
+- uid = (uid_t) atoi(id);
++ struct passwd *pw_ent;
++ if (!(pw_ent = getpwnam(id))) {
++ fprintf(stderr, "Option '-u' requires valid user id to follow it\n");
++ exit(1);
++ }
++ uid = pw_ent->pw_uid;
++ gid = pw_ent->pw_gid;
+ y++;
+ break;
+ case 'h':
+@@ -277,9 +285,6 @@
+ unix_listen_fd = -1;
+ return 0;
+ }
+- /* Must make it world writable if we expect to receive connections
+- on it */
+- fchmod(unix_listen_fd, 0777);
+ return 1;
+ }
+
+@@ -396,7 +401,7 @@
+ * see if matches any of our fake ones, if not..
+ * its time to load the user's other identd.
+ *
+- * Currently replies system name as 'OTHER'.
++ * Currently replies system name as 'UNIX'.
+ */
+ static int reply(conn * c)
+ {
+@@ -422,8 +427,8 @@
+ if (table->lookup(p1, p2, ident, sizeof(ident)))
+ {
+ syslog(LOG_INFO, "Request from %s for: %d , %d ", inet_ntoa(sin.sin_addr), p1, p2);
+- syslog(LOG_INFO, "(fake) reply: %d, %d : USERID : OTHER :%s", p1, p2, ident);
+- fdprintf(c->fd, "%d , %d : USERID : OTHER :%s\r\n",
++ syslog(LOG_INFO, "(fake) reply: %d , %d : USERID : UNIX : %s", p1, p2, ident);
++ fdprintf(c->fd, "%d , %d : USERID : UNIX : %s\r\n",
+ p1, p2, ident);
+ if (auto_kill)
+ table->remove(p1, p2, ident);
+@@ -491,7 +496,8 @@
+ /* we already did this. but it doesn't work. i dunno why.
+ * i am messing up somwhere. dunno where. but we will do it again.
+ * and it will work. so there!! */
+- chmod(MDIDENTD_SOCK_PATH, 0777);
++ chmod(MDIDENTD_SOCK_PATH, 0770);
++ chown(MDIDENTD_SOCK_PATH, uid, gid);
+ #ifndef NOFORK
+ if (!foreground)
+ {
diff --git a/net-misc/mdidentd/files/mdidentd.conf.d b/net-misc/mdidentd/files/mdidentd.conf.d
new file mode 100644
index 00000000000..4b7793565ce
--- /dev/null
+++ b/net-misc/mdidentd/files/mdidentd.conf.d
@@ -0,0 +1,3 @@
+# /etc/conf.d/mdidentd: config file for /etc/init.d/mdidentd
+
+MDIDENTD_UID=mdidentd
diff --git a/net-misc/mdidentd/files/mdidentd.init.d b/net-misc/mdidentd/files/mdidentd.init.d
new file mode 100644
index 00000000000..a21e287d6fe
--- /dev/null
+++ b/net-misc/mdidentd/files/mdidentd.init.d
@@ -0,0 +1,21 @@
+#!/sbin/runscript
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting mdidentd"
+ /usr/sbin/mdidentd -u ${MDIDENTD_UID} -kr /usr/sbin/mdidentd
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping mdidentd"
+ kill $(</var/run/mdidentd.pid)
+ eend $?
+ rm -f /var/run/mdidentd.pid
+}
diff --git a/net-misc/mdidentd/mdidentd-1.04c.ebuild b/net-misc/mdidentd/mdidentd-1.04c.ebuild
new file mode 100644
index 00000000000..c028d305916
--- /dev/null
+++ b/net-misc/mdidentd/mdidentd-1.04c.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils user
+
+DESCRIPTION="This is an identd with provides registering of idents"
+HOMEPAGE="http://druglord.freelsd.org/ezbounce/"
+SRC_URI="http://druglord.freelsd.org/ezbounce/files/ezbounce-${PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="ssl"
+
+DEPEND="ssl? ( dev-libs/openssl )"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/ezbounce-${PV}
+
+pkg_setup() {
+ enewgroup mdidentd
+ enewuser mdidentd -1 -1 /dev/null mdidentd
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/1.04a-security.patch
+ epatch "${FILESDIR}"/1.04a-pidfile.patch
+ epatch "${FILESDIR}"/1.04a-glibc210.patch
+}
+
+src_compile() {
+ econf $(use_with ssl) || die
+ emake CXX="$(tc-getCXX)" -C mdidentd CXX_OPTIMIZATIONS="${CXXFLAGS}" || die
+}
+
+src_install() {
+ dosbin mdidentd/mdidentd || die
+ dodoc mdidentd/README
+
+ newinitd "${FILESDIR}"/mdidentd.init.d mdidentd
+ newconfd "${FILESDIR}"/mdidentd.conf.d mdidentd
+}
diff --git a/net-misc/mdidentd/metadata.xml b/net-misc/mdidentd/metadata.xml
new file mode 100644
index 00000000000..6ef15e900f1
--- /dev/null
+++ b/net-misc/mdidentd/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>net-irc</herd>
+</pkgmetadata>