ports/85974: Update port: irc/ptlink-services to 3.4.1. Now it also will create user/group ircd without a special uid/gid. Also tested on 5.4-RELEASE

Dennis Cabooter dennis at rootxs.org
Sun Sep 11 14:00:29 UTC 2005


>Number:         85974
>Category:       ports
>Synopsis:       Update port: irc/ptlink-services to 3.4.1. Now it also will create user/group ircd without a special uid/gid. Also tested on 5.4-RELEASE
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Sun Sep 11 14:00:28 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Dennis Cabooter <dennis at rootxs.org>
>Release:        FreeBSD 6.0-BETA4 i386
>Organization:
>Environment:
System: FreeBSD midgard.noneofyourbusiness.nl 6.0-BETA4 FreeBSD 6.0-BETA4 #4: Wed Sep 7 13:20:56 CEST 2005 dnns at midgard.noneofyourbusiness.nl:/usr/obj/usr/src/sys/DESKTOP i386


	
>Description:
	
>How-To-Repeat:
	
>Fix:

	

--- ptlink-services.diff begins here ---
diff -Nru ptlink-services.orig/Makefile ptlink-services/Makefile
--- ptlink-services.orig/Makefile	Sun Sep 11 14:29:35 2005
+++ ptlink-services/Makefile	Sun Sep 11 14:30:01 2005
@@ -2,19 +2,17 @@
 # Date created:        22 October 2004
 # Whom:                Dennis Cabooter <dennis at rootxs.org>
 #
-# $FreeBSD: ports/irc/ptlink-services/Makefile,v 1.4 2005/05/24 20:22:33 pav Exp $
+# $FreeBSD$
 #
 
 PORTNAME=	Services
-PORTVERSION=	2.26.1
-PORTREVISION=	1
+PORTVERSION=	3.4.1
 CATEGORIES=	irc
-MASTER_SITES=	ftp://ftp.sunsite.dk/projects/ptlink/services2/ \
-		http://www.rootxs.org/pub/FreeBSD/distfiles/
+MASTER_SITES=	ftp://ftp.sunsite.dk/projects/ptlink/ircsvs3/
 PKGNAMEPREFIX=	PTlink-
-DISTNAME=	PTlink.${PORTNAME}2.26-eol.1
+DISTNAME=	PTlinkIRC.${PORTNAME}${PORTVERSION}
 
-PATCH_DIST_STRIP=	-p1
+PATCH_DIST_STRIP=       -p1
 
 MAINTAINER=	dennis at rootxs.org
 COMMENT=	PTlink IRC services
@@ -22,13 +20,26 @@
 GNU_CONFIGURE=	yes
 USE_GMAKE=	yes
 USE_PERL5=	yes
+USE_MYSQL=      yes
+
+USER=	ircd
+GROUP=	ircd
+
+PKGINSTALL=	${WRKDIR}/pkg-install
+SYSCONFDIR=	${PREFIX}/etc/ptlink-services
+RCDIR=		${PREFIX}/etc/rc.d
 
-SYSCONFDIR=	${PREFIX}/etc/ptlink
 CONFIGURE_ARGS=	--sysconfdir=${SYSCONFDIR}
 
 post-install:
-	@${INSTALL_DATA} ${FILESDIR}/*.sample ${SYSCONFDIR}
-	@${INSTALL_DATA} ${FILESDIR}/create_tables.sql ${SYSCONFDIR}
-	@${SED} 's,%%SYSCONFDIR%%,${SYSCONFDIR},g' < ${PKGMESSAGE}
+	@${SED} -e 's,%%USER%%,${USER},g' -e 's,%%GROUP%%,${GROUP},g' \
+		${PKGDIR}/pkg-install > ${PKGINSTALL} || exit 1
+	@${SED} -e 's,%%USER%%,${USER},g' ${FILESDIR}/ptlink-services.sh > \
+		${WRKDIR}/ptlink-services.sh || exit 1
+	@${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL || exit 1
+	@${CHOWN} -R ${USER}:${GROUP} ${SYSCONFDIR} || exit 1
+	@${INSTALL_SCRIPT} ${WRKDIR}/ptlink-services.sh ${RCDIR} || exit 1
+	@${SED} -e 's,%%SYSCONFDIR%%,${SYSCONFDIR},g' \
+		-e 's,%%RCDIR%%,${RCDIR},g' < ${PKGMESSAGE}
 
 .include <bsd.port.mk>
diff -Nru ptlink-services.orig/distinfo ptlink-services/distinfo
--- ptlink-services.orig/distinfo	Sun Sep 11 14:29:35 2005
+++ ptlink-services/distinfo	Sun Sep 11 14:30:01 2005
@@ -1,2 +1,2 @@
-MD5 (PTlink.Services2.26-eol.1.tar.gz) = 21db7f28ca4e09053d7f1ab5689e9a27
-SIZE (PTlink.Services2.26-eol.1.tar.gz) = 568462 
+MD5 (PTlinkIRC.Services3.4.1.tar.gz) = d976eb60881963eaded76f28efd624f0 
+SIZE (PTlinkIRC.Services3.3.0.tar.gz) = 411223 
diff -Nru ptlink-services.orig/files/create_tables.sql ptlink-services/files/create_tables.sql
--- ptlink-services.orig/files/create_tables.sql	Sun Sep 11 14:29:35 2005
+++ ptlink-services/files/create_tables.sql	Thu Jan  1 01:00:00 1970
@@ -1,89 +0,0 @@
-DROP TABLE IF EXISTS nickserv;
-CREATE TABLE nickserv (
-  snid INT UNSIGNED NOT NULL auto_increment,
-  nick varchar(32) NOT NULL default '',
-  t_reg datetime NOT NULL,
-  t_ident datetime NOT NULL,
-  t_seen datetime NOT NULL,
-  t_sign datetime NOT NULL,
-  pass varchar(32) default NULL,
-  email varchar(64) default NULL,
-  url varchar(64) default NULL,
-  imid varchar(64) default NULL,
-  location varchar(64) default NULL,
-  ontime INT UNSIGNED NOT NULL default '0',
-  username varchar(32) NOT NULL default '0',
-  realhost varchar(64) default NULL,
-  info varchar(64) default NULL,
-  nmask INT UNSIGNED default NULL,
-  ajoin varchar(128) default NULL,
-  status int NOT NULL default '0',
-  flags int NOT NULL default '0',
-  securitycode varchar(32) default NULL,
-  lang int NOT NULL default '0',
-  master_snid INT UNSIGNED NOT NULL default '0',
-  PRIMARY KEY  (snid),
-  UNIQUE KEY nick (nick)
-) Type = InnoDB;
-
-DROP TABLE IF EXISTS memoserv;
-CREATE TABLE memoserv(
-  smid INT UNSIGNED NOT NULL auto_increment,
-  owner_snid INT UNSIGNED NOT NULL,
-  sender_snid INT UNSIGNED NOT NULL,
-  sender_name varchar(32) NULL, # the sender_snid may drop
-  flags INT UNSIGNED NOT NULL,
-  t_send DATETIME NOT NULL,
-  message VARCHAR(255) NOT NULL,
-  PRIMARY KEY (smid),
-  KEY smid (smid)
-) Type = InnoDB;
-
-# Table structure for table `chanserv`
-DROP TABLE IF EXISTS chanserv;
-CREATE TABLE chanserv (
-  scid INT UNSIGNED NOT NULL auto_increment,
-  name varchar(64) NOT NULL default '',
-  url varchar(64) default NULL,
-  email varchar(64) default NULL,
-  founder INT UNSIGNED NOT NULL default '0',
-  successor INT UNSIGNED NOT NULL default '0',
-  last_topic text,
-  last_topic_setter varchar(32) default NULL,
-  t_ltopic datetime NOT NULL,
-  t_reg datetime NOT NULL,
-  t_last_use datetime NOT NULL,
-  mlock varchar(64) default NULL,
-  status int(2) NOT NULL default '0',
-  flags int(2) NOT NULL default '0',
-  entrymsg varchar(255) default NULL,
-  cdesc varchar(255) default NULL,
-  t_maxusers datetime NOT NULL,
-  maxusers int(5) NOT NULL default '0',
-  PRIMARY KEY  (scid),
-  UNIQUE KEY name (name)
-) Type = InnoDB;
-
-# This is just a temporary table to map access list levels
-# to chan roles
-DROP TABLE IF EXISTS cs_role_temp;
-CREATE TABLE cs_role_temp (
-  scid INT UNSIGNED NOT NULL,
-  snid INT UNSIGNED NOT NULL,
-  who INT UNSIGNED NOT NULL,
-  rtype INT NOT NULL
-) Type = InnoDB;
-
-DROP TABLE IF EXISTS ircsvs_tables;
-CREATE TABLE ircsvs_tables(
-  name varchar(32) NOT NULL,
-  version INT UNSIGNED NOT NULL,
-  inst_time datetime NOT NULL
-) Type = InnoDB;
-
-# this tables are installed by services2 
-INSERT INTO ircsvs_tables VALUES ("mysql", 1 , NOW());
-INSERT INTO ircsvs_tables VALUES ("nickserv", 1 , NOW());
-INSERT INTO ircsvs_tables VALUES ("chanserv", 1 , NOW());
-INSERT INTO ircsvs_tables VALUES ("memoserv", 1 , NOW());
-
diff -Nru ptlink-services.orig/files/domain.def.sample ptlink-services/files/domain.def.sample
--- ptlink-services.orig/files/domain.def.sample	Sun Sep 11 14:29:35 2005
+++ ptlink-services/files/domain.def.sample	Thu Jan  1 01:00:00 1970
@@ -1,17 +0,0 @@
-# Please read D
-# The format for domain language definitions is: 
-# domain language_number
-# language number must be one from /NickServ HELP SET Language
-# Unresolved domains will use the default language
-[Domain]
-pt 2
-tr 3
-de 4
-at 4
-uk 1
-us 1
-com 1
-it 5
-nl 6
-br 7
-
diff -Nru ptlink-services.orig/files/patch-configure ptlink-services/files/patch-configure
--- ptlink-services.orig/files/patch-configure	Thu Jan  1 01:00:00 1970
+++ ptlink-services/files/patch-configure	Sun Sep 11 14:30:01 2005
@@ -0,0 +1,11 @@
+--- configure.orig	Sun Sep 11 12:49:13 2005
++++ configure	Sun Sep 11 12:49:48 2005
+@@ -7562,7 +7562,7 @@
+ "
+ #  Web support:                         ${web_support}
+ echo "#define BINPATH \"${prefix}/bin\"" > include/path.h
+-echo "#define ETCPATH \"${prefix}/etc\"" >> include/path.h
++echo "#define ETCPATH \"${prefix}/etc/ptlink-services\"" >> include/path.h
+ echo "#define DATAPATH \"${prefix}/data\"" >> include/path.h
+ echo "#define VARPATH \"${prefix}/var\"" >> include/path.h
+ echo "#define LOGPATH \"${prefix}/var/log\"" >> include/path.h
diff -Nru ptlink-services.orig/files/patch-src::Makefile.in ptlink-services/files/patch-src::Makefile.in
--- ptlink-services.orig/files/patch-src::Makefile.in	Sun Sep 11 14:29:35 2005
+++ ptlink-services/files/patch-src::Makefile.in	Thu Jan  1 01:00:00 1970
@@ -1,15 +0,0 @@
---- src/Makefile.in.orig	Wed Dec  8 20:23:25 2004
-+++ src/Makefile.in	Sun May 22 16:12:40 2005
-@@ -138,12 +138,6 @@
- 		cd $(bindir) ; \
- 		$(LN) -s services listchans; \
- 		fi
--	@if ! test -f  $(sysconfdir)/services.conf; then \
--		 $(INSTALL_DATA) ../data/example.conf $(sysconfdir)/services.conf; \
--		fi
--	$(INSTALL_DATA) ../data/example.conf $(sysconfdir)
--	$(INSTALL_DATA) ../data/domain.def $(sysconfdir)
--	$(INSTALL_DATA) ../data/create_tables.sql $(sysconfdir)
- 	@if test -f $(sysconfdir)/services.pid ; then \
- 	  servicespid=`cat $(sysconfdir)/services.pid`; \
- 	  if `kill -CHLD $$servicespid >/dev/null 2>&1`; then \
diff -Nru ptlink-services.orig/files/ptlink-services.sh ptlink-services/files/ptlink-services.sh
--- ptlink-services.orig/files/ptlink-services.sh	Thu Jan  1 01:00:00 1970
+++ ptlink-services/files/ptlink-services.sh	Sun Sep 11 14:30:01 2005
@@ -0,0 +1,26 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: services 
+# REQUIRE: NETWORKING SERVERS
+# BEFORE: DAEMON
+
+
+# Add the following line(s) to /etc/rc.conf:
+# services_enable (bool): Set to "NO" by default, set it to "YES" to enable services
+# services_user (str): Default to "%%USER%%"
+
+services_enable=${services_enable-"NO"}
+services_user=${services_user-"%%USER%%"}
+
+. /etc/rc.subr
+
+name="services"
+rcvar=`set_rcvar`
+pidfile="/usr/local/etc/ptlink-services/services.pid"
+command="/usr/local/bin/ircsvs"
+
+load_rc_config "$name"
+run_rc_command "$1"
diff -Nru ptlink-services.orig/files/services.conf.sample ptlink-services/files/services.conf.sample
--- ptlink-services.orig/files/services.conf.sample	Sun Sep 11 14:29:35 2005
+++ ptlink-services/files/services.conf.sample	Thu Jan  1 01:00:00 1970
@@ -1,853 +0,0 @@
-# Example configuration file for Services.  After making the appropriate
-# changes to this file, place it in the Services data directory (as
-# specified in the "configure" script, default $HOME/services/data)
-# under the name "services.conf".
-#
-# The format of this file is fairly simple: a line beginning with a # is a
-# comment, and any other non-blank line is expected to be a directive and
-# parameters, separated by spaces or tabs.  For example:
-#
-#	Directive Parameter-1 Parameter-2 ...
-#
-# Directives are case-insensitive.  Note that some directives do not take
-# any parameters; these are typically "on-off" directives, for which simply
-# including the directive in this file (or removing it) has an effect on
-# Services' functionality.
-#
-# If a parameter's value is a string which includes spaces, enclose the
-# string in double quotation marks, like the example below.  Quotes may be
-# used around any string at all for clarity.
-#
-#	"This is a parameter string with spaces in it"
-#
-# If you need to include a double quote inside a quoted string, precede it
-# by a backslash:
-#
-#	"This string has \"double quotes\" in it"
-#
-# Time parameters can be specified either as an integer representing a
-# number of seconds (e.g. "3600" = 1 hour), or as an integer with a unit
-# specifier: "s" = seconds, "m" = minutes, "h" = hours, "d" = days.
-# Combinations (such as "1h30m") are not permitted.  Examples (all of which
-# represent the same length of time, one day):
-#
-#	"86400", "86400s", "1440m", "24h", "1d"
-#
-# In the documentation for each directive, one of the following will be
-# included to indicate whether an option is required:
-#
-# [REQUIRED]
-#     Indicates a directive which must be given.  Without it, Services will
-#     not start.
-#
-# [RECOMMENDED]
-#     Indicates a directive which may be omitted, but omitting it may cause
-#     undesirable side effects.
-#
-# [OPTIONAL]
-#     Indicates a directive which is optional.  If not given, the feature
-#     will typically be disabled.  If this is not the case, more
-#     information will be given in the documentation.
-#
-# [DISCOURAGED]
-#     Indicates a directive which may cause undesirable side effects if
-#     specified.
-#
-# [DEPRECATED]
-#     Indicates a directive which will disappear in a future version of
-#     Services, usually because its functionality has been either
-#     superseded by that of other directives or incorporated into the main
-#     program.
-# 
-
-###########################################################################
-#
-# Remote server configuration
-#
-###########################################################################
-
-# RemoteServer <hostname> <port> <password>  [REQUIRED]
-#     Specifies the remote server hostname and port.  The hostname may
-#     either be a standard Internet hostname or dotted-quad numeric
-#     address; the port number must be an integer between 1 and 65535
-#     inclusive.  The password is a string which should be enclosed in
-#     double quotes if it contains any spaces (or just for clarity).
-#
-#     The remote server and port may be overridden at runtime with the
-#     -remote command-line option.  The password may not be set at runtime.
-
-RemoteServer 127.0.0.1 6667 "servpass" 
-
-# LocalAddress <hostname> [port]  [OPTIONAL]
-#     Specifies the local address to bind to before connecting to the
-#     remote server.  This may be useful on multihomed hosts.  The hostname
-#     and port number are specified the same way as with the RemoteServer
-#     directive.  If this is not specified, Services will let the operating
-#     system choose the local address.  If only a hostname is specified,
-#     Services will bind to that address but let the operating system
-#     choose the local port number.
-#
-#     If you don't know what this means or don't need to use it, just leave
-#     the directive commented out.
-#
-#     This directive may be overridden at runtime by the -local
-#     command-line option.
-
-#LocalAddress localhost.ptlink.net
-
-###########################################################################
-#
-# Services identification and pseudoclient names
-#
-###########################################################################
-
-# ServerName <name>  [REQUIRED]
-#     Specifies the IRC server name which Services should use.  May be
-#     overridden by the -name command-line option.
-
-ServerName	"services.PTlink.net"
-
-# ServerDesc <text>  [REQUIRED]
-#     Specifies the text which should appear as the server's information in
-#     /whois and similar queries.  May be overridden by the -desc
-#     command-line option.
-
-ServerDesc	"Services for PTlink IRC network"
-
-# ServiceUser <usermask>  [REQUIRED]
-#     Specifies the user at host mask which should be used by the Services
-#     pseudoclients.  May be overridden by the -user and -host command-line
-#     options.
-
-ServiceUser	"Services at PTlink.net"
-
-########################
-# IRCd related settings 
-#######################
-
-# OperControl [RECOMMENDED]
-#     Restricts the use of /oper to operserv registered opers
-#     if a user not services oper/admin tries to become oper
-#     services will remove their +o status
-# NOTE: This may "jam" olines on some situations with ircds
-#     not coded to handle this features.
-#
-# Comment it to disable
-
-OperControl
-
-# NickChange [RECOMMENDED]
-#     Selects nick protection between nick change to _nick-
-#     or the old KILL protection system.
-#
-# Comment it to select KILL protection mode
-NickChange 
-
-# GuestPrefix [Optional]
-#     If defined will be used for forcec nick changes to
-#     GuestPrefixNNN
-GuestPrefix "PTlink"
-
-# ...Name <nick> <string>  [REQUIRED except as noted below]
-#     Specify the nicknames (first parameter) and "real" names (second
-#     parameter) for the Services pseudoclients.
-
-NickServName	"NickServ"	"Nickname Service"
-ChanServName	"ChanServ"	"Channel Service"
-MemoServName	"MemoServ"	"Memo Service"
-OperServName	"OperServ"	"Operator Service"
-NewsServName	"NewsServ"	"News Service"
-GlobalName	"Global"	"Global Noticer"
-
-###########################################################################
-#
-# Services data filenames
-#
-###########################################################################
-
-# NOTE: All filenames are relative to the Services data directory.
-
-# MOTDFile <filename>  [REQUIRED]
-#     Specifies the name of the Message of the Day file.
-
-MOTDFile	services.motd
-
-# ...DB <filename>  [REQUIRED]
-#     Specifies the filenames for the various Services subsystems' databases.
-
-NickServDB	nick.db
-ChanServDB	chan.db
-OperServDB	oper.db
-AutokillDB	akill.db
-SQlineDB	sqline.db
-VlineDB		vline.db
-BotListDB	bots.db
-NewsDB		news.db
-NewsServDB	newsserv.db
-SXlineDB	sxline.db
-VlinkDB		vlink.db
-
-# DayStatsFN <filename>  [REQUIRED]
-#  Specifies the filename for chan/nick stats of the day
-#  temporary savings
-  
-DayStatsFN      stats.today
-
-# DomainLangFN <filename> [RECOMMENDED]
-# Specifies the filename for Smart Language selections definitions
-# (text file) Please read it and edit it if you had new languages
-
-DomainLangFN    domain.def
-
-# BalanceHistoryFN   <filename> [OPTIONAL]
-# Will save nick/chans stats at end of day
-# Comment it to disable
-
-BalanceHistoryFN history.log
-
-# EncryptMethod	number [REQUIRED]
-# Specifies the encryption method to use for chan/nick passwords,
-#    1 - JP2 
-#    2 - DES crypt()
-#    3 - MD5
-# NOTE:
-#   On existing passwords the encryption method change will just
-#   take effect after IDENTIFY for that password.
-#   Commented will use plain text passwords
-
-EncryptMethod	3
-
-###########################################################################
-#
-# Logs/Administration/Help Channels
-#
-###########################################################################
-
-# LogChan #Channel [RECOMMENDED]
-# Services Log's will be dumped to #Channel
-# Comment it to disable channel logging
-# WARNING: Please be sure to restrict this Channel access for security sake
-# NOTE: Do not include  # on the channel name , to avoid
-# confusion with comment symbol.
-
-LogChan		"Services.log"
-
-# HelpChan #Channel [RECOMMENDED]
-# Causes services to give umode +h (helper) on people,
-# entering #Channel with should op access.
-# Comment it to disable services setting +h
-# NOTE: Do not include  # on the channel name , to avoid
-# confusion with comment symbol.
-
-HelpChan 	"Help"
-
-# AdminChan #Channel [RECOMMENDED] 
-# Causes services to make user join #Channel on /oper
-# Comment it to disable autojoin on admin channel for opers.
-# NOTE: Do not include  # on the channel name , to avoid
-# confusion with comment symbol.
-
-AdminChan 	"Admin"
-
-# AutoJoinChan #Channel [RECOMMENDED]
-# Causes services to make all users join #Channel on connection.
-# Comment it to disable.
-# NOTE: Do not include  # on the channel name , to avoid
-# confusion with comment symbol.
-
-#AutoJoinChan 	"PTlink"
-
-
-###########################################################################
-#
-# Basic functionality
-#
-###########################################################################
-
-# NSMaxNChange number [REQUIRED]
-# Max number of allowed forced nick changes before a nick kill
-# This is ideal for BOT's which don't identify on nick change
-# (Only required if nick protection is nick change (DEFAULT) )
-
-NSMaxNChange 5
-
-# NoBackupOkay  [DISCOURAGED]
-#     Allows Services to continue file write operations (i.e. database
-#     saving) even if the original file cannot be backed up.  Enabling this
-#     option may allow Services to continue operation under some conditions
-#     when it might otherwise fail, such as a nearly-full disk.
-#
-#     *** NOTE ***
-#     Enabling this option can cause irrecoverable data loss under some
-#     conditions, so make CERTAIN you know what you're doing when you
-#     enable it!
-
-#NoBackupOkay
-
-# NoSplitRecovery [OPTIONAL]
-#     Disables Services' recognition of users returning from netsplits.
-#     Normally (on networks with some sort of timestamp support in the IRC
-#     server), Services will check via the timestamp field whether a user
-#     is the same as the last user who identified for the nick, and allow
-#     the user access to that nick without requiring identification again
-#     if the timestamps match.  Enabling this option will force all users
-#     to re-identify after a netsplit.
-#
-#     Normally, it's easier on users to leave this disabled, but if you
-#     suspect one of your servers has been hacked to send false timestamps
-#     (or you suspect a bug in Services itself) enabling this directive
-#     will eliminate the possibility of one user "stealing" another's nick
-#     by pretending to have the same timestamp.
-#
-#     You may also want to uncomment this directive if your servers' clocks
-#     are very far apart; the less synchronized the servers' clocks are,
-#     the greater the possibility of someone "taking over" another person's
-#     nick when a server with a fast clock splits (though the likelihood of
-#     success is relatively small in any case).
-
-#NoSplitRecovery
-
-# ListOpersOnly  [DEPRECATED]
-#     When enabled, limits use of the ChanServ and NickServ LIST commands
-#     to IRC operators.
-#
-#     This directive has been superseded by the NSListOpersOnly and
-#     CSListOpersOnly directives.
-
-#ListOpersOnly
-
-# StatsOpersOnly [OPTIONAL]
-#      When enabled, limits use of the ChanServ and NickServ STATS commands 
-#      to Services operators.      
-   
-#StatsOpersOnly
-
-# StrictPasswords  [RECOMMENDED]
-#     When enabled, causes Services to perform more stringent checks on
-#     passwords.  If this is disabled, Services will only disallow a
-#     password if it is the same as the entity (nickname or channel name)
-#     with which it is associated.  When enabled, however, Services will
-#     also check that the password is at least five characters long, and
-#     in the future will probably check other things as well.
-
-StrictPasswords
-
-# BadPassLimit <count>  [RECOMMENDED]
-#     Sets the number of invalid password tries before Services removes a
-#     user from the network.  If a user enters <count> invalid passwords
-#     for any Services function or combination of functions during a
-#     single IRC session (subect to BadPassTimeout, below), Services will
-#     issue a /KILL for the user.  If not given, Services will ignore
-#     failed password attempts (though they will be logged in any case).
-
-BadPassLimit	5
-
-# BadPassTimeout <time>  [OPTIONAL]
-#     Sets the time after which invalid passwords are forgotten about.  If
-#     a user does not enter any incorrect passwords in this amount of time,
-#     the incorrect password count will reset to zero.  If not given, the
-#     timeout will be disabled, and the incorrect password count will never
-#     be reset until the user disconnects.
-
-BadPassTimeout	1h
-
-# UpdateTimeout <time>  [REQUIRED]
-#     Sets the delay between automatic database updates.  This timer is
-#     reset by the OperServ UPDATE command.
-
-UpdateTimeout	1h
-
-# ExpireTimeout <time>  [REQUIRED]
-#     Sets the delay between checks for expired nicknames and channels.
-#     The OperServ UPDATE command will also cause a check for expiration
-#     and reset this timer.
-
-ExpireTimeout	1h
-
-# ReadTimeout <time>  [REQUIRED]
-#     Sets the timeout period for reading from the network.
-
-ReadTimeout	10s
-
-# WarningTimeout <time>  [REQUIRED]
-#     Sets the interval between sending warning messages for program
-#     errors via WALLOPS/GLOBOPS.
-
-WarningTimeout	4h
-
-# TimeoutCheck <time>  [REQUIRED]
-#     Sets the (maximum) frequency at which the timeout list is checked.
-#     This, combined with ReadTimeout above, determine how accurately timed
-#     events, such as nick kills, occur; it also determines how much CPU
-#     time Services will use doing this.  Higher values will cause less
-#     accurate timing but less CPU usage.
-#
-#     This shouldn't be set any higher than 10 seconds, and 1 second is
-#     best if your system is powerful enough (or your network small enough)
-#     to handle it.  0 will cause the timeout list to be checked every time
-#     through the main loop, which will probably slow down Services too
-#     much to be useful on most networks.
-#
-#     Note that this value is not an absolute limit on the period between
-#     checks of the timeout list; the period may be as great as ReadTimeout
-#     (above) during periods of inactivity.
-
-TimeoutCheck	5s
-
-###########################################################################
-#
-# NickServ configuration
-#
-###########################################################################
-
-# NSDef...  [OPTIONAL]
-#     Sets the default options for newly registered nicks.  Note that
-#     changing these options will have no effect on nicks which are already
-#     registered.
-#
-#     If both NSDefKill and NSDefKillQuick are given, the latter takes
-#     precedence.  KILL IMMED cannot be specified as a default.
-#
-#     NOTE:  If you do not enable any of these options, a default of
-#     Secure, MemoSignon, and MemoReceive will be used, for backward
-#     compatibility.  If you really want no options enabled by default, use
-#     NSDefNone.
-
-#NSDefNone
-#NSDefKill
-#NSDefKillQuick
-#NSDefPrivate
-#NSDefHideEmail
-#NSDefHideQuit
-NSDefMemoSignon
-NSDefMemoReceive
-
-# NSRegisterAdvice [RECOMMENDED]
-# if defined a message with the nick register syntax is sent
-# to any unregistered nick conneting to the network
-NSRegisterAdvice
-
-# NSNeedEmail [RECOMMENDED]
-# if defined then an email must be specified on nick registration
-# Be sure to copy lang/*.auth and lang/*.setemail to 
-# the languages dir inside your data directory.
-# Then EDIT the files without changing the fields ("%s") order.
-
-#NSNeedEmail
-
-# NSNeedAuth [RECOMMENDED]
-#   if defined nick registration will only be complete after email
-#   validation with the AUTH command.
-#NSNeedAuth
-
-# NSRegDelay <time>  [RECOMMENDED]
-#     Sets the minimum length of time between consecutive uses of the
-#     REGISTER command.  If not given, this restriction is disabled (note
-#     that this allows "registration flooding").
-
-NSRegDelay	1m
-
-
-# NSExpire <time>  [RECOMMENDED]
-#     Sets the length of time before a nick registration expires.
-
-NSExpire	30d
-
-# NSRegExpire <time> [RECOMMENDED]
-#     Sets the length of time before a nick registration expires,
-#     if the nick was never identified after registration
-NSRegExpire	5d
-
-# NSDropDelay <time>  [RECOMMENDED]
-#     Sets the length of time before a nick is dropped
-#     (after the DROP command for that nick as been issued,
-#     identifying the nick during this time will cancel the "drop")
-#     
-
-NSDropDelay	5d
-
-# NSAJoinMax <count> [REQUIRED] ***
-# 	Sets the maximum number of entries allowed on a nickname Auto Join list.
-# Should match your ircd's maximum channels per user
-NSAJoinMax 	10
-
-# NSEnforcerUser <user>[@<host>]  [REQUIRED]
-#     Sets the username (and possibly hostname) used for the fake user
-#     created when NickServ collides a user.  Should be in user at host
-#     format.  If the host is not given, the one from ServicesUser is
-#     used.
-
-NSEnforcerUser	enforcer
-
-# NSReleaseTimeout <time>  [REQUIRED]
-#     Sets the delay before a NickServ-collided nick is released.
-
-NSReleaseTimeout 1m
-
-# NSAllowKillImmed  [OPTIONAL]
-#     When enabled, allows the use of the IMMED option with the NickServ
-#     SET KILL command.
-
-#NSAllowKillImmed
-
-# NSDisableLinkCommand  [OPTIONAL]
-#     When enabled, makes the NickServ LINK command unavailable.  Note that
-#     any links that have already been created will continue to function;
-#     this only prevents new links from being made.
-
-#NSDisableLinkCommand
-
-# NSListOpersOnly  [OPTIONAL]
-#     When enabled, limits use of the NickServ LIST command to IRC
-#     operators.
-
-NSListOpersOnly
-
-# NSListMax <count>  [REQUIRED]
-#     Specifies the maximum number of nicks to be returned for a NickServ
-#     LIST command.
-
-NSListMax	50
-
-# NSMaxNotes <coun>   [REQUIRED]
-#     Specifies the maximum number of notes a nick can keep.
-#
-NSMaxNotes 	10
-
-# NSSecureAdmins  [RECOMMENDED]
-#     When enabled, prevents the use of the DROP, GETPASS, SENDPASS, and 
-#     SET PASSWORD commands by Services admins on other Services admins.
-#     Note: Thisl will only protect Services root nicks if added to 
-#     services admin list.
- 
-NSSecureAdmins
-
-###########################################################################
-#
-# NewsServ configuration
-#
-###########################################################################
-
-# NWRecentDelay <time> [RECOMMENDED]
-#     Sets the minimum length of time between consecutive uses of the
-#     RECENT command.  If not given, this restriction is disabled (note
-#     that this allows "newsserv flooding").
-
-NWRecentDelay	1m
-
-# ExportRefresh <time> [RECOMMENDED]
-#	Sets the time interval between newsserv data export
-#	Comment it to disable newsserv data export
-
-ExportRefresh 	1h
-
-# ExportFN <filename> [REQUIRED] (if ExportRefresh is enabled)
-#	Sets the newsserv data export file name
-
-ExportFN newsserv.txt
-
-###########################################################################
-#
-# ChanServ configuration
-#
-###########################################################################
-
-# CSMaxReg <count>  [RECOMMENDED]
-#     Limits the number of channels which may be registered to a single
-#     nickname.
-
-CSMaxReg	20
-
-# CSExpire <time>  [RECOMMENDED]
-#     Sets the number of days before a channel expires.
-
-CSExpire	30d
-
-#CSRegExpire <time> [RECOMMENDED]
-#     Sets the length of time before a channel registration expires,
-#     if the channel was never used after registration.
-
-CSRegExpire	5d
-
-# CSDropDelay <time>  [RECOMMENDED]
-#     Sets the length of time before a channel is dropped
-#     (after the DROP command for that channel as been issued
-#     identifying the channel during this time will cancel the "drop")
-
-CSDropDelay	5d
-
-# CSAccessMax <count>  [REQUIRED]
-#     Sets the maximum number of entries on a channel's access list.
-#     Channel access lists may contain only registered nicknames;
-#     therefore, checking each entry on the list requires only a single
-#     scaler comparison instead of a wildcard match, and this limit may be
-#     safely set much higher than (for exmple) the nickname access list
-#     size limit without impacting performance significantly.
-
-CSAccessMax	512
-
-# CSAutokickMax <count>  [REQUIRED]
-#     Sets the maximum number of entries on a channel's autokick list.
-
-CSAutokickMax	32
-
-# CSAutokickReason <text>  [REQUIRED]
-#     Sets the default reason for an autokick if none is given.
-
-CSAutokickReason "You are not welcome here."
-
-# CSInhabit <time>  [REQUIRED]
-#     Sets the length of time ChanServ stays in a channel after kicking a
-#     user from a channel s/he is not permitted to be in.  This only occurs
-#     when the user is the only one in the channel.
-
-CSInhabit	15s
-
-# CSRestrictDelay <time>  [DISCOURAGED]
-#     When enabled, causes ChanServ to ignore any RESTRICTED or NOJOIN
-#     channel setting for the given time after Services starts up.  This
-#     gives users a time to identify to NickServ before being kicked out of
-#     restricted channels they would normally be allowed to join.  This
-#     setting will also cause channel mode +o's from servers to be passed
-#     through for this initial period.
-#
-#     This option is presently discouraged because it is not properly
-#     implemented; any users in channels when Services starts up get a
-#     "free ride", though they can of course be deopped/kicked manually.
-
-#CSRestrictDelay	30s
-
-# CSListOpersOnly  [OPTIONAL]
-#     When enabled, limits use of the ChanServ LIST command to IRC
-#     operators.
-
-CSListOpersOnly
-
-# CSListMax <count>  [REQUIRED]
-#     Specifies the maximum number of channels to be returned for a
-#     ChanServ LIST command.
-
-CSListMax	50
-
-# CSLostAKick <time> [RECOMMENDED]
-#     Specifies the max interval of time an akick will be kept,
-#     without beeing trigered
-#     Setting  it 0 will make akicks permanent.
-
-CSLostAKick	30d
-
-# CSAutoAjoin [RECOMMENDED]
-#     If enabled, during channel registration founder will get
-#     the channel added to it's ajoin list.
-
-CSAutoAjoin
-
-# CSRestrictReg [OPTIONAL]
-#     If enabled, channel registration is restricted to services operators.
-
-#CSRestrictReg
-
-
-###########################################################################
-#
-# MemoServ configuration
-#
-###########################################################################
-
-# MSMaxMemos <count>  [RECOMMENDED]
-#     Sets the maximum number of memos a user is allowed to keep by
-#     default.  Normal users may set the limit anywhere between zero and
-#     this value; Services admins can change it to any value or disable it.
-#     If not given, the limit is disabled by default, and normal users can
-#     set any limit they want.
-
-MSMaxMemos	20
-
-# MSSendDelay <time>  [RECOMMENDED]
-#     Sets the delay between consecutive uses of the MemoServ SEND command.
-#     This can help prevent spam as well as denial-of-service attacks from
-#     sending large numbers of memos and filling up disk space (and
-#     memory).  A 3-second wait means a maximum average of 150 bytes of
-#     memo per second per user under the current IRC protocol.
-
-MSSendDelay	10s
-
-# MSNotifyAll  [OPTIONAL]
-#     Should we notify all appropriate users of a new memo?  This applies
-#     in cases where a memo is sent to a nick which either is linked to
-#     another nick or has another nick linked to it.  Enabling this option
-#     will cause MemoServ to check all users who are currently online to
-#     see whether any have nicks which are linked to the target of the
-#     memo, and if so, notify all of them.  This can take a good deal of
-#     CPU time on larger networks, so you may want to disable it.
-
-MSNotifyAll
-
-# MSExpireWarn <time>  [RECOMMENDED]
-#    Specifies the age of a memo to be notified as "expiring soon"
-
-MSExpireWarn	30d
-
-# MSExpireTime <time> [RECOMMENDED]
-#    Specifies the time the memos will be kept after beeing sent.
-#    If you comment it, memos will be kept until user deletes them.
-
-MSExpireTime	45d
-
-###########################################################################
-#
-# OperServ configuration
-#
-###########################################################################
-
-# ServicesRoot <nick>,nick2  [REQUIRED]
-#    Specifies the Services "super-user".  The super-user, or "root" as in
-#    Unix terminology, is the only user who can add or delete Services
-#    admins.
-#
-#    This is commented out by default; make sure you insert the correct
-#    nick before uncommenting it.
-
-#ServicesRoot	Root
-
-# LogMaxUsers  [OPTIONAL]
-#    Causes Services to write a message to the log every time a new user
-#    maximum is set.
-
-LogMaxUsers
-
-# AutokillExpiry <time>  [REQUIRED]
-#     Sets the default expiry time for autokills.
-
-AutoKillExpiry	15d
-
-# OSNoAutoRecon [OPTIONAL]
-#     On netjoins +r will not give services oper privilege
-#     without reidentifying.
-
-# OSNoAutoRecon
-
-# WallOper  [OPTIONAL]
-#     Causes Services to send a WALLOPS/GLOBOPS when a user becomes an IRC
-#     operator.  Note that this can cause WALLOPS floods when Services
-#     first connects to the network.
-
-#WallOper
-
-# WallBadOS  [OPTIONAL]
-#     Causes Services to send a WALLOPS/GLOBOPS if a non-IRC-operator tries
-#     to use OperServ.
-
-WallBadOS
-
-# WallOS...  [OPTIONAL]
-#     Cause Services to send a WALLOPS/GLOBOPS on use of each of the
-#     OperServ commands listed.
-
-WallOSMode
-WallOSClearmodes
-WallOSKick
-WallOSAkill
-
-# WallAkillExpire  [OPTIONAL]
-#     Causes Services to send a WALLOPS/GLOBOPS whenever an autokill
-#     expires.
-
-WallAkillExpire
-
-# WallGetpass  [OPTIONAL]
-#     Causes Services to send a WALLOPS/GLOBOPS on use of the NickServ or
-#     ChanServ GETPASS command.
-
-#WallGetpass
-
-# WallSetpass  [OPTIONAL]
-#     Causes Services to send a WALLOPS/GLOBOPS whenever a Services admin
-#     sets a password for a nickname or channel s/he does not normally have
-#     privileges to set.
-
-#WallSetpass
-
-# DefSessionLimit [RECOMMENDED]
-#     Limits the total number of connections allowed for the same host
-#     If hostname matches a botlist entry this value will be ignored
-#     and the maximum number from the botlist entry will be used instead
-#
-#     NOTE: Comenting this will disable session limiting
-#     and your network will be vulnerable to clone flooding.
-
-DefSessionLimit 3
-
-########################################################
-# Mail Settings (for SENDPASS)
-########################################################
-
-# SendFrom <e-mail> [REQUIRED]
-#
-# This is the e-mail address from which all the e-mails are to be sent. It should
-# really exist.
-
-SendFrom services at localhost.net
-
-# SendFrom <e-mail> [REQUIRED]
-#
-# This is the real name from which all the e-mails are to be sent. It should
-# really exist.
-
-SendFromName "Localhost Services"
-
-# MailSignature <e-mail> [REQUIRED]
-#
-# This is the signature text message that will be attached to the
-# SENDPASS mail.
-
-MailSignature "PTlink Services - Network Admin Services"
-
-# MailDelay <time> [RECOMMENDED]
-#
-# This controls the minimum amount of time an user must wait before sending
-# another mail after it has sent one. It also controls the minimum time
-# an user must wait before it can receive another mail.
-#
-# This feature prevents users from being mail bombed using Services and
-# should definitely be used.
-
-MailDelay 5m
-
-
-######## Miscelaneous Settings
-
-# TimeAdjust <timedif>
-#     Add timedif to every time field before it is displayed,
-#     this maybe usefull if you cannot setup the clock on the
-#     system services are running
-
-#  TimeAdjust 1h
-
-# TimeZone "<zone> offset"
-#	Sets wich time zone should services uses.
-#	Only needed if you wish to run services in a diferent timezone
-#	than then local machine.
-
-# TimeZone "GMT 0"
-
-# DefLanguage <number> 
-#    Default language for newly registered nicks (and nicks imported from
-#    old databases);
-#     LANG_EN_US	1	/* United States English */
-#     LANG_PT		2	/* Portugese */
-#     LANG_TR		3	/* Turkish */
-#     LANG_DE		4	/* German */
-#     LANG_IT		5	/* Italian */
-#     LANG_NL		6	/* Dutch */
-#     LANG_PT_BR	7	/* Brazil Portuguese */
-DefLanguage 1
-
-
-# MySQL configuration
-
-#MySQLDB "ptlink_services"
-#MySQLHost "localhost"
-#MySQLUser "some_user"
-#MySQLPass "tryit"
-
diff -Nru ptlink-services.orig/pkg-install ptlink-services/pkg-install
--- ptlink-services.orig/pkg-install	Thu Jan  1 01:00:00 1970
+++ ptlink-services/pkg-install	Sun Sep 11 14:30:01 2005
@@ -0,0 +1,20 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+if pw groupshow "%%GROUP%%" > /dev/null 2>&1; then
+   echo '===> Using existing group "%%GROUP%%"'
+else
+   echo '===> Adding group "%%GROUP%%"'
+   pw groupadd %%GROUP%% || exit 1
+fi
+
+if pw usershow "%%USER%%" > /dev/null 2>&1; then
+   echo '===> Using existing user "%%USER%%"'
+else
+   echo '===> Adding user "%%USER%%"'
+   pw useradd %%USER%% -g %%GROUP%% -h -\
+      -s "/sbin/nologin" -d "/nonexistent" \
+         -c "IRC Daemon User" || exit 1
+fi 
diff -Nru ptlink-services.orig/pkg-message ptlink-services/pkg-message
--- ptlink-services.orig/pkg-message	Sun Sep 11 14:29:35 2005
+++ ptlink-services/pkg-message	Sun Sep 11 14:30:01 2005
@@ -2,10 +2,10 @@
 
 PTlink IRC services is now installed.
 
-Please copy the sample files %%SYSCONFDIR%%/*.conf.sample,*.def.sample
-to %%SYSCONFDIR%%/*.conf,*.def. 
+Edit the configuration files in %%SYSCONFDIR%% to suit
+your needs.
 
-Edit the configuration files %%SYSCONFDIR%%/*.conf,*.def to suit your
-needs. 
+Add services_enable="YES" to rc.conf and start ircd by running:
+%%RCDIR%%/ptlink-services.sh start
 
 ======================================================================
diff -Nru ptlink-services.orig/pkg-plist ptlink-services/pkg-plist
--- ptlink-services.orig/pkg-plist	Sun Sep 11 14:29:35 2005
+++ ptlink-services/pkg-plist	Sun Sep 11 14:30:01 2005
@@ -1,17 +1,112 @@
-bin/listchans
-bin/listnicks
-bin/services
-data/languages/de
-data/languages/en_us
-data/languages/it
-data/languages/nl
-data/languages/pt
-data/languages/pt_br
-data/languages/tr
-etc/ptlink/create_tables.sql
-etc/ptlink/domain.def.sample
-etc/ptlink/services.conf.sample
- at unexec rmdir %D/etc/ptlink 2> /dev/null || true
- at dirrm data/logs
- at dirrm data/languages
- at dirrm data
+bin/ircsvs
+bin/modules/chanserv.so
+bin/modules/cs_akick.so
+bin/modules/cs_clear.so
+bin/modules/cs_drop.so
+bin/modules/cs_help.so
+bin/modules/cs_info.so
+bin/modules/cs_invite.so
+bin/modules/cs_kick.so
+bin/modules/cs_lastreg.so
+bin/modules/cs_list.so
+bin/modules/cs_opdeop.so
+bin/modules/cs_register.so
+bin/modules/cs_role.so
+bin/modules/cs_set.so
+bin/modules/cs_show.so
+bin/modules/cs_unban.so
+bin/modules/cs_voicedevoice.so
+bin/modules/memoserv.so
+bin/modules/ms_cancel.so
+bin/modules/ms_del.so
+bin/modules/ms_help.so
+bin/modules/ms_list.so
+bin/modules/ms_read.so
+bin/modules/ms_send.so
+bin/modules/mysql.so
+bin/modules/nickserv.so
+bin/modules/ns_auth.so
+bin/modules/ns_blist.so
+bin/modules/ns_drop.so
+bin/modules/ns_getpass.so
+bin/modules/ns_group.so
+bin/modules/ns_help.so
+bin/modules/ns_identify.so
+bin/modules/ns_info.so
+bin/modules/ns_list.so
+bin/modules/ns_login.so
+bin/modules/ns_photo.so
+bin/modules/ns_register.so
+bin/modules/ns_set.so
+bin/modules/operserv.so
+bin/modules/os_global.so
+bin/modules/os_help.so
+bin/modules/os_hostrule.so
+bin/modules/os_kick.so
+bin/modules/os_mode.so
+bin/modules/os_module.so
+bin/modules/os_quote.so
+bin/modules/os_raw.so
+bin/modules/os_sendpass.so
+bin/modules/os_shutdown.so
+bin/modules/os_sline.so
+bin/modules/os_stats.so
+bin/modules/os_sysstats.so
+bin/modules/template.so
+bin/modules/userlog.so
+etc/ptlink-services/chanserv.modules
+etc/ptlink-services/ircsvs.modules
+etc/ptlink-services/mails/setemail.de
+etc/ptlink-services/mails/setemail.en_us
+etc/ptlink-services/mails/setemail.nl
+etc/ptlink-services/mails/setemail.pt
+etc/ptlink-services/mails/setemail.pt_br
+etc/ptlink-services/mails/welcome.de
+etc/ptlink-services/mails/welcome.en_us
+etc/ptlink-services/mails/welcome.nl
+etc/ptlink-services/mails/welcome.pt
+etc/ptlink-services/mails/welcome.pt_br
+etc/ptlink-services/memoserv.modules
+etc/ptlink-services/nickserv.modules
+etc/ptlink-services/operserv.modules
+etc/rc.d/ptlink-services.sh
+utils/expire_email.sh
+utils/news_email.sh
+utils/sql/clear_db.sql
+utils/sql/expire_emails.sql
+utils/sql/news_emails.sql
+utils/svsquery.sh
+var/modules/sql/chanserv.2.sql
+var/modules/sql/chanserv.3.sql
+var/modules/sql/chanserv.sql
+var/modules/sql/cs_akick.2.sql
+var/modules/sql/cs_akick.sql
+var/modules/sql/cs_role.2.sql
+var/modules/sql/cs_role.3.sql
+var/modules/sql/cs_role.sql
+var/modules/sql/memoserv.2.sql
+var/modules/sql/memoserv.3.sql
+var/modules/sql/memoserv.sql
+var/modules/sql/mysql.sql
+var/modules/sql/nickserv.2.sql
+var/modules/sql/nickserv.3.sql
+var/modules/sql/nickserv.4.sql
+var/modules/sql/nickserv.5.sql
+var/modules/sql/nickserv.sql
+var/modules/sql/ns_blist.sql
+var/modules/sql/ns_group.2.sql
+var/modules/sql/ns_group.sql
+var/modules/sql/ns_photo.2.sql
+var/modules/sql/ns_photo.sql
+var/modules/sql/os_hostrule.sql
+var/modules/sql/os_quote.sql
+var/modules/sql/os_sline.2.sql
+var/modules/sql/os_sline.sql
+var/modules/sql/os_sysstats.sql
+ at dirrm var/modules/sql
+ at dirrm var/modules
+ at dirrm utils/sql
+ at dirrm utils
+ at dirrm etc/ptlink-services/mails
+ at dirrm bin/modules
+ at unexec rmdir %D/etc/ptlink-services 2> /dev/null || true
--- ptlink-services.diff ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list