mirror of
git://git.psyced.org/git/psyced
synced 2024-08-15 03:25:10 +00:00
Merge remote-tracking branch 'origin'
This commit is contained in:
commit
7e1a26519c
26 changed files with 54 additions and 3999 deletions
10
bin/psyconf
10
bin/psyconf
|
@ -679,7 +679,6 @@ case "\$1" in
|
||||||
rm $sandbox/data/$driver.pid && echo "OK"
|
rm $sandbox/data/$driver.pid && echo "OK"
|
||||||
else
|
else
|
||||||
echo -n "Killing psyced brutally ... "
|
echo -n "Killing psyced brutally ... "
|
||||||
kill -1 \`cat $sandbox/data/$driver.pid\` >/dev/null 2>&1
|
|
||||||
kill -3 \`cat $sandbox/data/psyced.pid\` && echo "OK"
|
kill -3 \`cat $sandbox/data/psyced.pid\` && echo "OK"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
@ -729,10 +728,15 @@ X
|
||||||
|
|
||||||
ControlSocket $base/var/tor/.control
|
ControlSocket $base/var/tor/.control
|
||||||
DataDirectory $base/var/tor
|
DataDirectory $base/var/tor
|
||||||
TransPort 9040
|
AutomapHostsOnResolve 1
|
||||||
SocksPort 9050
|
SocksPort 9050
|
||||||
DNSPort 9053
|
DNSPort 9053
|
||||||
AutomapHostsOnResolve 1
|
|
||||||
|
# If your tor executable does not support this feature,
|
||||||
|
# .onion domain names will not 'resolve' like normal ones.
|
||||||
|
TransPort 9040
|
||||||
|
# See also the iptables call in the init script.
|
||||||
|
# Both are not fundamentally necesseary, you can remove them.
|
||||||
|
|
||||||
HiddenServiceDir $base/etc/tor/.onion
|
HiddenServiceDir $base/etc/tor/.onion
|
||||||
X
|
X
|
||||||
|
|
|
@ -12,3 +12,9 @@ Do not edit in here.
|
||||||
Find out where the corresponding files are in your systems, or maybe
|
Find out where the corresponding files are in your systems, or maybe
|
||||||
copy files out of here to where you need them.
|
copy files out of here to where you need them.
|
||||||
|
|
||||||
|
|
||||||
|
=== UPDATE! ===
|
||||||
|
|
||||||
|
Gentoo configuration has moved into the youbroketheinternet-overlay
|
||||||
|
available from git://cheettyiapsyciew.onion/youbroketheinternet-overlay
|
||||||
|
|
||||||
|
|
|
@ -1,36 +0,0 @@
|
||||||
================ AUTOMATED PORTAGE INSTALLATION =============================
|
|
||||||
|
|
||||||
The Makefile in this directory will create a portage overlay for psyclpc and
|
|
||||||
psyced if necessary, than generate ebuild digests and get you ready for
|
|
||||||
emerge. All you need to do is type:
|
|
||||||
|
|
||||||
make
|
|
||||||
|
|
||||||
If you tried this previously and ran into trouble, you may have to clean out
|
|
||||||
the 'psyced' and 'psyclpc' subdirectories from your portage overlay before
|
|
||||||
doing make, so it starts anew. You can do:
|
|
||||||
|
|
||||||
make new
|
|
||||||
|
|
||||||
================ SHUBBLETROUTING ============================================
|
|
||||||
|
|
||||||
In all above cases you should be done with installation. If anything goes wrong
|
|
||||||
get in touch with us on psyc://psyced.org/@welcome so we can fix the problem
|
|
||||||
not only for you, but for everyone who might run into the same problem.
|
|
||||||
|
|
||||||
If you're in doubt that the generator files aren't the newest, you can update
|
|
||||||
them by issueing:
|
|
||||||
|
|
||||||
make up
|
|
||||||
|
|
||||||
================ MANUAL INSTALLATION ========================================
|
|
||||||
|
|
||||||
We have stopped providing regular ebuild files for manual installation
|
|
||||||
as nobody is maintaining them. Feel free to step in.
|
|
||||||
|
|
||||||
================ WHY STILL LDMUD? ===========================================
|
|
||||||
|
|
||||||
We are just leaving it in as there are no newer releases of ldmud and so
|
|
||||||
this ebuild is still up to date for anyone who needs an ldmud ebuild.
|
|
||||||
We may however simplify things later and therefore remove it.
|
|
||||||
|
|
|
@ -1,92 +0,0 @@
|
||||||
# $Id: Makefile,v 1.37 2007/08/14 11:28:00 lynx Exp $
|
|
||||||
|
|
||||||
p=/usr/local/portage
|
|
||||||
e=/etc/make.conf
|
|
||||||
G=lynx -source
|
|
||||||
|
|
||||||
# We currently operate on /usr/local/portage but we should add more
|
|
||||||
# PSYC packages and run our own PSYC overlay...
|
|
||||||
|
|
||||||
install: $p $p/dev-lang/psyclpc $p/net-im/psyced
|
|
||||||
@echo -- We are done with portage installation. You can now emerge
|
|
||||||
@echo -- from here or postpone to a better moment in life.
|
|
||||||
emerge -av psyced
|
|
||||||
@echo -- Done emerging. Contratulations on your new psyced! --
|
|
||||||
|
|
||||||
uninstall: new
|
|
||||||
|
|
||||||
new:
|
|
||||||
# It complains for missing packages, but does no harm.
|
|
||||||
-emerge --unmerge psyced psyclpc ldmud
|
|
||||||
# This one complains, too. Should we make it shut up?
|
|
||||||
# We can make it shut up next time when we do our own PSYC overlay.
|
|
||||||
-rm -r $p/net-im/psyced $p/dev-lang/psyclpc $p/games-mud/ldmud
|
|
||||||
|
|
||||||
ldmud: $p $p/games-mud/ldmud
|
|
||||||
@echo -- Warning: You are installing LDMud which is no longer the
|
|
||||||
@echo -- the best choice as a psyced driver!
|
|
||||||
emerge -av ldmud
|
|
||||||
|
|
||||||
### NO SERVICEABLE PARTS BELOW ###
|
|
||||||
|
|
||||||
$p:
|
|
||||||
@echo -- Apparently you have not installed custom ebuilds yet.
|
|
||||||
mkdir $@
|
|
||||||
@echo -- A $@ directory has therefore been generated for you.
|
|
||||||
echo "" >>$e
|
|
||||||
echo "# Added by psyced's config/gentoo/Makefile" >>$e
|
|
||||||
# Does it replace $p correctly in $e? Yes it does. Good.
|
|
||||||
echo "PORTDIR_OVERLAY=$p" >>$e
|
|
||||||
@echo -- PORTDIR_OVERLAY has been appended to $e to activate $@.
|
|
||||||
|
|
||||||
$p/dev-lang/psyclpc: psyclpc.ebuild psyclpc/Makefile Makefile
|
|
||||||
(cd psyclpc;make ebuild)
|
|
||||||
-mkdir $p/dev-lang
|
|
||||||
rm -rf $@
|
|
||||||
cp -rp psyclpc $@
|
|
||||||
-(cd $@;make Manifest)
|
|
||||||
|
|
||||||
$p/games-mud/ldmud: ldmud.ebuild ldmud/Makefile Makefile
|
|
||||||
(cd ldmud;make ebuild)
|
|
||||||
-mkdir $p/games-mud
|
|
||||||
rm -rf $@
|
|
||||||
cp -rp ldmud $@
|
|
||||||
-(cd $@;make Manifest)
|
|
||||||
|
|
||||||
$p/net-im/psyced: psyced.ebuild psyced/Makefile Makefile
|
|
||||||
(cd psyced;make ebuild)
|
|
||||||
-mkdir $p/net-im
|
|
||||||
rm -rf $@
|
|
||||||
cp -rp psyced $@
|
|
||||||
-(cd $@;make Manifest)
|
|
||||||
|
|
||||||
# the lower part of the Makefile serves the purpose of
|
|
||||||
# managing this package itself, not to install something.
|
|
||||||
|
|
||||||
sane: new clean
|
|
||||||
|
|
||||||
clean:
|
|
||||||
(cd psyced;make $@)
|
|
||||||
(cd psyclpc;make $@)
|
|
||||||
# Leave it alone or we won't be able to recreate the erq directory ;)
|
|
||||||
# (cd ldmud;make $@)
|
|
||||||
|
|
||||||
up:
|
|
||||||
-rm ldmud/ldmud-*.ebuild psyced/psyced-*.ebuild psyclpc/psyclpc-*.ebuild
|
|
||||||
-mkdir psyced/files
|
|
||||||
# If version control updates this Makefile itself, it may be necessary
|
|
||||||
# to run 'make up' twice as the update requirements may have changed.
|
|
||||||
git pull
|
|
||||||
$G http://www.psyced.org/dist/config/psyced.ini >psyced/files/psyced.ini
|
|
||||||
@(cd psyced;make ebuild)
|
|
||||||
@(cd psyclpc;make ebuild)
|
|
||||||
# We could extend the procedure to actually run the ebuild at building time
|
|
||||||
# so that we get to have the digests in there.. TODO
|
|
||||||
# Now you may have to unmerge and delete psyclpc and psyced from your
|
|
||||||
# portage overlay to have them generated anew.
|
|
||||||
# Use 'make new' to do that.
|
|
||||||
|
|
||||||
oldup:
|
|
||||||
@(cd ldmud;make ebuild)
|
|
||||||
$G http://www.psyced.org/dist/config/psyced.settings >ldmud/files/psyced.settings
|
|
||||||
|
|
|
@ -1,104 +0,0 @@
|
||||||
# Copyright 1999-2006 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Header: /CVS/muveCVS/psycmuve/config/gentoo/ldmud.ebuild,v 1.17 2007/04/06 13:35:03 lynx Exp $
|
|
||||||
#
|
|
||||||
# In a philosophical way, LDMUD is a game engine, but from an administrative
|
|
||||||
# aspect it is a major project which doesn't belong into /usr/games. Especially
|
|
||||||
# not when it is actually serving as a programming language for intense
|
|
||||||
# multi-user network applications such as psyced. This is why we intentionally
|
|
||||||
# do not use any "games" macros here. Please keep it that way. -lynX 2006
|
|
||||||
#
|
|
||||||
# Suggestions? tell psyc://psyced.org/~lynX
|
|
||||||
#
|
|
||||||
# WARNING/REMINDER to myself: When checking in a new version of this file
|
|
||||||
# I have to run 'make up' in the gentoo download tar, as it also
|
|
||||||
# relinks all the ldmud/ldmud-VERSION.ebuild files.
|
|
||||||
|
|
||||||
inherit toolchain-funcs eutils
|
|
||||||
|
|
||||||
DESCRIPTION="LPMUD Driver for Multi-User Domains and LPC language implementation"
|
|
||||||
HOMEPAGE="http://www.bearnip.com/lars/proj/ldmud.html"
|
|
||||||
|
|
||||||
# using the filename of the ebuild here!
|
|
||||||
# so better give it numbers which are actually
|
|
||||||
# available on http://www.bearnip.com/ftp/mud/
|
|
||||||
SRC_URI="http://www.bearnip.com/ftp/mud/${P}.tar.gz"
|
|
||||||
|
|
||||||
LICENSE="GPL-2"
|
|
||||||
SLOT="0"
|
|
||||||
# haven't checked for real..
|
|
||||||
KEYWORDS="x86 ~ppc ~amd64"
|
|
||||||
IUSE="debug ssl static zlib ldap ipv6 mysql postgres berkdb"
|
|
||||||
|
|
||||||
RDEPEND="zlib? ( sys-libs/zlib )
|
|
||||||
ssl? ( dev-libs/openssl )
|
|
||||||
ldap? ( net-nds/openldap )
|
|
||||||
berkdb? ( sys-libs/db )
|
|
||||||
mysql? ( dev-db/mysql )
|
|
||||||
postgres? ( dev-db/postgresql )"
|
|
||||||
|
|
||||||
DEPEND="${RDEPEND}
|
|
||||||
>=sys-devel/flex-2.5.4a-r5
|
|
||||||
>=sys-devel/bison-1.875
|
|
||||||
>=sys-devel/gettext-0.12.1"
|
|
||||||
|
|
||||||
#MYS="/var/tmp/portage/${P}/work/${P}/src"
|
|
||||||
MYS="${S}/src"
|
|
||||||
|
|
||||||
src_unpack() {
|
|
||||||
unpack ${A}
|
|
||||||
# cd "${S}"
|
|
||||||
cd "${MYS}"
|
|
||||||
# without "" or it won't ungrok the *.* -- thx fish
|
|
||||||
cp ${FILESDIR}/erq/*.* util/erq || die "improved erq not found in ${FILESDIR}"
|
|
||||||
cp "${FILESDIR}/psyced.settings" settings/psyced-gentoo || die "psyced.settings not found in ${FILESDIR}"
|
|
||||||
chmod +x settings/psyced-gentoo
|
|
||||||
}
|
|
||||||
|
|
||||||
src_compile() {
|
|
||||||
# emake \
|
|
||||||
# CC="$(tc-getCC)" \
|
|
||||||
# CFLAGS="${CFLAGS}" ${PN} \
|
|
||||||
# || die "emake failed"
|
|
||||||
cd "${MYS}"
|
|
||||||
# use berkdb >&/dev/null && myopts="${myopts} --enable-db"
|
|
||||||
# use mysql >&/dev/null && myopts="${myopts} --enable-mysql" || myopts="${myopts} --disable-mysql"
|
|
||||||
# use postgres >&/dev/null && myopts="${myopts} --enable-pgsql"
|
|
||||||
# use ldap >&/dev/null && myopts="${myopts} --enable-ldap"
|
|
||||||
# use ipv6 >&/dev/null && myopts="${myopts} --enable-ipv6"
|
|
||||||
use zlib && {
|
|
||||||
einfo "Compiling ${P} with zlib (MCCP) support."
|
|
||||||
myopts="${myopts} --enable-use-mccp"
|
|
||||||
}
|
|
||||||
use ssl && {
|
|
||||||
einfo "Compiling ${P} with SSL support."
|
|
||||||
myopts="${myopts} --enable-use-tls=yes"
|
|
||||||
}
|
|
||||||
use mysql && {
|
|
||||||
einfo "Compiling ${P} with mySQL support."
|
|
||||||
myopts="${myopts} --enable-use-mysql"
|
|
||||||
}
|
|
||||||
use postgres && {
|
|
||||||
einfo "Compiling ${P} with PostgreSQL support."
|
|
||||||
myopts="${myopts} --enable-use-pgsql"
|
|
||||||
}
|
|
||||||
use debug && {
|
|
||||||
append-flags -O -ggdb -DDEBUG
|
|
||||||
RESTRICT="${RESTRICT} nostrip"
|
|
||||||
myopts="${myopts} --enable-debug"
|
|
||||||
}
|
|
||||||
# runs configure
|
|
||||||
echo ${myopts}
|
|
||||||
settings/psyced-gentoo ${myopts}
|
|
||||||
make all && (cd "util/" && make subs) || die "make failed"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install () {
|
|
||||||
cd "${MYS}"
|
|
||||||
dosbin ${PN} && (cd "util/erq/" && dosbin "erq") || die "dosbin failed"
|
|
||||||
cd "${MYS}/.."
|
|
||||||
dodoc README HISTORY
|
|
||||||
# do something about the files in the doc directory?
|
|
||||||
# everyone looks stuff up on google anyway
|
|
||||||
# but maybe we should install etc/lpc.vim?
|
|
||||||
}
|
|
|
@ -1,13 +0,0 @@
|
||||||
# ChangeLog for games-mud/ldmud
|
|
||||||
# $Header: /CVS/muveCVS/psycmuve/config/gentoo/ldmud/ChangeLog,v 1.3 2006/01/17 11:37:31 lynx Exp $
|
|
||||||
|
|
||||||
*ldmud-3.3.687 (18 Nov 2005)
|
|
||||||
|
|
||||||
18 Nov 2005; Carlo von lynX <lynX@are.you.already.psyced.org> +ldmud-3.3.687.ebuild:
|
|
||||||
initial build for depending 'psyced' project
|
|
||||||
|
|
||||||
*ldmud-3.3.712 (30 Nov 2005)
|
|
||||||
|
|
||||||
18 Nov 2005; el <el@goodadvice.pages.de> +ldmud-3.3.712.ebuild:
|
|
||||||
improved build: allows simple rename of .ebuild files and makes erq
|
|
||||||
|
|
|
@ -1,51 +0,0 @@
|
||||||
# $Id: Makefile,v 1.16 2007/04/08 08:37:08 lynx Exp $
|
|
||||||
#
|
|
||||||
# This Makefile serves the purpose to produce the files ebuild needs to be
|
|
||||||
# happy. So it is an ebuildbuilder. Targets are: ebuild, Manifest and clean.
|
|
||||||
#
|
|
||||||
# 'make' needs to be called in gentoo/config to generate the ebuilds and files
|
|
||||||
# directory, then ../Makefile will transfer this to portage where 'make' will
|
|
||||||
# call ebuild to create digests and the Manifest. After that you are ready to
|
|
||||||
# emerge. From nothing. fischerspooner rocks. -lynX
|
|
||||||
|
|
||||||
P=ldmud
|
|
||||||
V=3.3.714
|
|
||||||
|
|
||||||
# this part can be executed once the ebuild is in portage
|
|
||||||
|
|
||||||
it: Manifest
|
|
||||||
# # testing it
|
|
||||||
emerge -av $P
|
|
||||||
|
|
||||||
Manifest: Makefile ChangeLog files/psyced.settings files/erq
|
|
||||||
# # generate manifest
|
|
||||||
ebuild $P-$V.ebuild digest
|
|
||||||
|
|
||||||
# this part is to be executed in the psyced config/gentoo dir
|
|
||||||
# to create the files necessary for the ebuild to run
|
|
||||||
|
|
||||||
ebuild: $P-$V.ebuild files/psyced.settings files/erq
|
|
||||||
|
|
||||||
$P-$V.ebuild:
|
|
||||||
# # let's keep it this simple, please
|
|
||||||
-ln ../$P.ebuild $P-$V.ebuild
|
|
||||||
|
|
||||||
# no dependency on ../../psyced.settings here or it won't run in portage
|
|
||||||
files/psyced.settings: files
|
|
||||||
# # we keep it elsewhere
|
|
||||||
-cp ../../psyced.settings $@
|
|
||||||
|
|
||||||
files/erq:
|
|
||||||
-mkdir $@
|
|
||||||
-cp -p ../../../utility/erq/*.* $@
|
|
||||||
|
|
||||||
files:
|
|
||||||
-mkdir files
|
|
||||||
# we don't want to have each of those in version control, so this is a place too
|
|
||||||
# echo "MD5 419eb1c21747fe2cd6de8089b47271ff ldmud-3.3.687.tar.bz2 2107415" >files/digest-ldmud-3.3.687
|
|
||||||
# echo "MD5 ab0027411928bef96aa41bf316cde954 ldmud-3.3.712.tar.gz 26515635" >files/digest-ldmud-3.3.712
|
|
||||||
|
|
||||||
clean:
|
|
||||||
-rm $P-$V.ebuild
|
|
||||||
-rm -r files
|
|
||||||
|
|
|
@ -1,68 +0,0 @@
|
||||||
|
|
||||||
# These lines are needed on some machines.
|
|
||||||
MAKE=make
|
|
||||||
SHELL=@CONFIG_SHELL@
|
|
||||||
INSTALL=@INSTALL@
|
|
||||||
mkinstalldirs=$(SHELL) @top_srcdir@/mkinstalldirs
|
|
||||||
#
|
|
||||||
CC=@CC@
|
|
||||||
|
|
||||||
prefix=@prefix@
|
|
||||||
exec_prefix=@exec_prefix@
|
|
||||||
|
|
||||||
SUBDIRS = indent make_docs xerq
|
|
||||||
SED = sed
|
|
||||||
|
|
||||||
BINDIR=@bindir@
|
|
||||||
MUD_LIB=@libdir@
|
|
||||||
ERQ_DIR=@libexecdir@
|
|
||||||
|
|
||||||
#PROFIL= -DOPCPROF -DVERBOSE_OPCPROF
|
|
||||||
#PROFIL=-p -DMARK
|
|
||||||
#PROFIL=-pg
|
|
||||||
PROFIL=
|
|
||||||
#Enable warnings from the compiler, if wanted.
|
|
||||||
WARN= # no warning options - will work with all compilers :-)
|
|
||||||
#WARN= -Wall -Wshadow -Dlint
|
|
||||||
#WARN= -Wall -Wshadow -Wno-parentheses # gcc settings
|
|
||||||
#
|
|
||||||
# Optimization and source level debugging options.
|
|
||||||
# adding a -fomit-frame-pointer on the NeXT (gcc version 1.93 (68k, MIT syntax))
|
|
||||||
# will corrupt the driver.
|
|
||||||
HIGH_OPTIMIZE = @OCFLAGS@ # high optimization
|
|
||||||
MED_OPTIMIZE= @MCFLAGS@ # medium optimization
|
|
||||||
LOW_OPTIMIZE = @LCFLAGS@ # minimal optimization
|
|
||||||
NO_OPTIMIZE= @DCFLAGS@ # no optimization; for frequent recompilations.
|
|
||||||
|
|
||||||
OPTIMIZE= $(@val_optimize@_OPTIMIZE)
|
|
||||||
|
|
||||||
# The main debugging level is define in config.h
|
|
||||||
# Add additional options here.
|
|
||||||
DEBUG=
|
|
||||||
#
|
|
||||||
MPATH=-DMUD_LIB='"$(MUD_LIB)"' -DBINDIR='"$(BINDIR)"' -DERQ_DIR='"$(ERQ_DIR)"'
|
|
||||||
#
|
|
||||||
TOPINC=-I@top_srcdir@
|
|
||||||
#
|
|
||||||
CFLAGS= @EXTRA_CFLAGS@ $(OPTIMIZE) $(DEBUG) $(WARN) $(MPATH) $(PROFIL) $(TOPINC)
|
|
||||||
#
|
|
||||||
LIBS=@ERQ_LIBS@ -lresolv
|
|
||||||
#
|
|
||||||
LDFLAGS=@LDFLAGS@
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
all: erq@EXEEXT@
|
|
||||||
|
|
||||||
FORCE: install
|
|
||||||
|
|
||||||
erq@EXEEXT@: erq.c
|
|
||||||
# $(CC) erq.c -lresolv -o erq@EXEEXT@
|
|
||||||
$(CC) $(CFLAGS) $(LDFLAGS) erq.c -o erq@EXEEXT@ $(LIBS)
|
|
||||||
|
|
||||||
install: erq@EXEEXT@
|
|
||||||
$(mkinstalldirs) $(BINDIR)
|
|
||||||
$(INSTALL) erq@EXEEXT@ $(BINDIR)/erq@EXEEXT@
|
|
||||||
|
|
||||||
clean:
|
|
||||||
-rm -f *.o erq@EXEEXT@ *~
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,60 +0,0 @@
|
||||||
/* external request demon interface definitions */
|
|
||||||
|
|
||||||
#ifndef ERQ_H__
|
|
||||||
#define ERQ_H__ 1
|
|
||||||
|
|
||||||
/* servive request types */
|
|
||||||
|
|
||||||
#define ERQ_RLOOKUP 0 /* Lookup ip -> name */
|
|
||||||
#define ERQ_EXECUTE 1 /* Execute a program */
|
|
||||||
#define ERQ_FORK 2 /* Fork a program */
|
|
||||||
#define ERQ_AUTH 3 /* Connect to a remote authd */
|
|
||||||
#define ERQ_SPAWN 4 /* Spawn a program */
|
|
||||||
#define ERQ_SEND 5 /* Send data to a program or connection */
|
|
||||||
#define ERQ_KILL 6 /* Kill a program or connection */
|
|
||||||
#define ERQ_OPEN_UDP 7 /* Open a UDP socket */
|
|
||||||
#define ERQ_OPEN_TCP 8 /* Open a TCP connection */
|
|
||||||
#define ERQ_LISTEN 9 /* Open a TCP accept-socket */
|
|
||||||
#define ERQ_ACCEPT 10 /* Accept a connection from a accept-socket */
|
|
||||||
#define ERQ_LOOKUP 11 /* Lookup name -> ip */
|
|
||||||
|
|
||||||
#ifdef __IPV6__
|
|
||||||
#define ERQ_RLOOKUPV6 12 /* Lookup name/ip6 */
|
|
||||||
#endif
|
|
||||||
#define ERQ_LOOKUP_SRV 13
|
|
||||||
|
|
||||||
/* Additional service request type flags evaluated by efun send_erq().
|
|
||||||
* The ERQ itself won't get to see it.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define ERQ_CB_STRING (1 << 31) /* Callback closure takes a string arg */
|
|
||||||
|
|
||||||
|
|
||||||
/* answers from ERQ_EXECUTE / ERQ_FORK */
|
|
||||||
|
|
||||||
#define ERQ_OK 0
|
|
||||||
#define ERQ_SIGNALED 1
|
|
||||||
#define ERQ_E_NOTFOUND 2 /* process not found by wait */
|
|
||||||
#define ERQ_E_UNKNOWN 3 /* unknown exit condition from wait() */
|
|
||||||
#define ERQ_E_ARGLENGTH 4
|
|
||||||
#define ERQ_E_ARGFORMAT 5
|
|
||||||
#define ERQ_E_ARGNUMBER 6
|
|
||||||
#define ERQ_E_ILLEGAL 7
|
|
||||||
#define ERQ_E_PATHLEN 8
|
|
||||||
#define ERQ_E_FORKFAIL 9
|
|
||||||
#define ERQ_E_TICKET 11
|
|
||||||
#define ERQ_E_INCOMPLETE 12
|
|
||||||
#define ERQ_E_WOULDBLOCK 13
|
|
||||||
#define ERQ_E_PIPE 14
|
|
||||||
#define ERQ_STDOUT 15 /* Normal data received */
|
|
||||||
#define ERQ_STDERR 16
|
|
||||||
#define ERQ_EXITED 17 /* Connection closed on EOF */
|
|
||||||
#define ERQ_E_NSLOTS 18
|
|
||||||
|
|
||||||
/* reserved handles */
|
|
||||||
|
|
||||||
#define ERQ_HANDLE_RLOOKUP (-1)
|
|
||||||
#define ERQ_HANDLE_KEEP_HANDLE (-2)
|
|
||||||
#define ERQ_HANDLE_RLOOKUPV6 (-3)
|
|
||||||
|
|
||||||
#endif /* ERQ_H__ */
|
|
|
@ -1,215 +0,0 @@
|
||||||
#include "srv.h"
|
|
||||||
|
|
||||||
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <strings.h>
|
|
||||||
#include <arpa/inet.h> // For solaris
|
|
||||||
#include <arpa/nameser.h>
|
|
||||||
#include <resolv.h>
|
|
||||||
|
|
||||||
#include <malloc.h>
|
|
||||||
|
|
||||||
/* the biggest packet we'll send and receive */
|
|
||||||
#if PACKETSZ > 1024
|
|
||||||
#define MAXPACKET PACKETSZ
|
|
||||||
#else
|
|
||||||
#define MAXPACKET 1024
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* and what we send and receive */
|
|
||||||
typedef union {
|
|
||||||
HEADER hdr;
|
|
||||||
u_char buf[MAXPACKET];
|
|
||||||
} querybuf;
|
|
||||||
|
|
||||||
#ifndef T_SRV
|
|
||||||
#define T_SRV 33
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
void freesrvhost ( struct srvhost * s )
|
|
||||||
{
|
|
||||||
struct srvhost * n;
|
|
||||||
while( s ) {
|
|
||||||
n = s->next;
|
|
||||||
/* hack to make double-free visible by causing null dereference */
|
|
||||||
s->next = NULL;
|
|
||||||
free( (void *)s );
|
|
||||||
s = n;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static int compare( const void * a, const void * b )
|
|
||||||
{
|
|
||||||
struct srvhost * aa, * bb;
|
|
||||||
|
|
||||||
if ( !a )
|
|
||||||
return 1;
|
|
||||||
if ( !b )
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
aa = (struct srvhost *) *(int*)a;
|
|
||||||
bb = (struct srvhost *) *(int*)b;
|
|
||||||
|
|
||||||
if ( aa->pref > bb->pref )
|
|
||||||
return 1;
|
|
||||||
if ( aa->pref < bb->pref )
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
if ( aa->rweight > bb->rweight )
|
|
||||||
return -1;
|
|
||||||
if ( aa->rweight < bb->rweight )
|
|
||||||
return 1;
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
struct srvhost * getsrv( const char * domain,
|
|
||||||
const char * service, const char * protocol ) {
|
|
||||||
querybuf answer; /* answer buffer from nameserver */
|
|
||||||
int n;
|
|
||||||
char * zone;
|
|
||||||
int ancount, qdcount; /* answer count and query count */
|
|
||||||
HEADER *hp; /* answer buffer header */
|
|
||||||
struct srvhost **replyarray;
|
|
||||||
struct srvhost * firsthost;
|
|
||||||
int answerno;
|
|
||||||
u_char hostbuf[256];
|
|
||||||
u_char *msg, *eom, *cp; /* answer buffer positions */
|
|
||||||
int dlen, type, pref, weight, port;
|
|
||||||
|
|
||||||
if ( !domain || !*domain ||
|
|
||||||
!service || !*service ||
|
|
||||||
!protocol || !*protocol )
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
zone = (char *)malloc( strlen( domain ) +
|
|
||||||
strlen( service ) +
|
|
||||||
strlen( protocol ) + 20 );
|
|
||||||
if (zone == NULL)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
*zone = '\0';
|
|
||||||
|
|
||||||
if (*service != '_') // If service and protocol do not start with a
|
|
||||||
strcat(zone, "_"); // _, prepend the _ to them...
|
|
||||||
|
|
||||||
strcat(zone, service);
|
|
||||||
strcat(zone, ".");
|
|
||||||
|
|
||||||
if (*protocol != '_')
|
|
||||||
strcat(zone, "_");
|
|
||||||
|
|
||||||
strcat(zone, protocol);
|
|
||||||
strcat(zone, ".");
|
|
||||||
|
|
||||||
strcat(zone, domain);
|
|
||||||
|
|
||||||
n = res_query( zone, C_IN, T_SRV, (u_char *)&answer, sizeof( answer ) );
|
|
||||||
|
|
||||||
(void) free( zone );
|
|
||||||
zone = NULL;
|
|
||||||
|
|
||||||
if ( n < (int)sizeof(HEADER) )
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
/* valid answer received. skip the query record. */
|
|
||||||
|
|
||||||
hp = (HEADER *)&answer;
|
|
||||||
qdcount = ntohs(hp->qdcount);
|
|
||||||
ancount = ntohs(hp->ancount);
|
|
||||||
|
|
||||||
msg = (u_char *)&answer;
|
|
||||||
eom = (u_char *)&answer + n;
|
|
||||||
cp = (u_char *)&answer + sizeof(HEADER);
|
|
||||||
|
|
||||||
while ( qdcount-- > 0 && cp < eom ) {
|
|
||||||
n = dn_expand( msg, eom, cp, (char *)hostbuf, 256 );
|
|
||||||
if (n < 0)
|
|
||||||
return NULL;
|
|
||||||
cp += n + QFIXEDSZ;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* make a big-enough (probably too big) reply array */
|
|
||||||
|
|
||||||
replyarray
|
|
||||||
= (struct srvhost **) malloc( ancount * sizeof(struct srvhost *) );
|
|
||||||
for( n = 0; n < ancount; n++ )
|
|
||||||
replyarray[n] = NULL;
|
|
||||||
answerno = 0;
|
|
||||||
|
|
||||||
/* loop through the answer buffer and extract SRV records */
|
|
||||||
while ( ancount-- > 0 && cp < eom ) {
|
|
||||||
n = dn_expand( msg, eom, cp, (char *)hostbuf, 256 );
|
|
||||||
if ( n < 0 ) {
|
|
||||||
for( n = 0; n < answerno; n++ )
|
|
||||||
(void) free( replyarray[n] );
|
|
||||||
(void)free( replyarray );
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
cp += n;
|
|
||||||
|
|
||||||
type = _getshort(cp);
|
|
||||||
cp += sizeof(u_short);
|
|
||||||
|
|
||||||
/* class = _getshort(cp); */
|
|
||||||
cp += sizeof(u_short);
|
|
||||||
|
|
||||||
/* ttl = _getlong(cp); */
|
|
||||||
cp += sizeof(u_long);
|
|
||||||
|
|
||||||
dlen = _getshort(cp);
|
|
||||||
cp += sizeof(u_short);
|
|
||||||
|
|
||||||
if ( type != T_SRV ) {
|
|
||||||
cp += dlen;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
pref = _getshort(cp);
|
|
||||||
cp += sizeof(u_short);
|
|
||||||
|
|
||||||
weight = _getshort(cp);
|
|
||||||
cp += sizeof(u_short);
|
|
||||||
|
|
||||||
port = _getshort(cp);
|
|
||||||
cp += sizeof(u_short);
|
|
||||||
|
|
||||||
n = dn_expand( msg, eom, cp, (char *)hostbuf, 256 );
|
|
||||||
if (n < 0)
|
|
||||||
break;
|
|
||||||
cp += n;
|
|
||||||
|
|
||||||
replyarray[answerno]
|
|
||||||
= (struct srvhost *)malloc( sizeof( struct srvhost ) +
|
|
||||||
strlen( (char *)hostbuf ) );
|
|
||||||
replyarray[answerno]->pref = pref;
|
|
||||||
replyarray[answerno]->weight = weight;
|
|
||||||
if ( weight )
|
|
||||||
replyarray[answerno]->rweight = 1+random()%( 10000 * weight );
|
|
||||||
else
|
|
||||||
replyarray[answerno]->rweight = 0;
|
|
||||||
replyarray[answerno]->port = port;
|
|
||||||
replyarray[answerno]->next = NULL;
|
|
||||||
strcpy( replyarray[answerno]->name, (char *)hostbuf );
|
|
||||||
|
|
||||||
answerno++;
|
|
||||||
}
|
|
||||||
if (answerno == 0) return NULL;
|
|
||||||
qsort( replyarray, answerno, sizeof( struct srvhost * ),
|
|
||||||
compare );
|
|
||||||
|
|
||||||
// Recreate a linked list from the sorted array...
|
|
||||||
for( n = 0; n < answerno; n++ )
|
|
||||||
replyarray[n]->next = replyarray[n+1];
|
|
||||||
replyarray[answerno-1]->next = NULL;
|
|
||||||
|
|
||||||
firsthost = replyarray[0];
|
|
||||||
(void) free( replyarray );
|
|
||||||
return firsthost;
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,32 +0,0 @@
|
||||||
/****************************************************************************
|
|
||||||
** $Id: srv.h,v 1.1 2006/05/22 11:18:10 lynx Exp $
|
|
||||||
**
|
|
||||||
** Definition of something or other
|
|
||||||
**
|
|
||||||
** Created : 979899
|
|
||||||
**
|
|
||||||
** Copyright (C) 1997 by Troll Tech AS. All rights reserved.
|
|
||||||
**
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
#ifndef SRV_H
|
|
||||||
#define SRV_H
|
|
||||||
|
|
||||||
struct srvhost {
|
|
||||||
unsigned int pref;
|
|
||||||
struct srvhost * next;
|
|
||||||
unsigned int port;
|
|
||||||
unsigned int weight;
|
|
||||||
unsigned int rweight;
|
|
||||||
char name[1];
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
extern void freesrvhost ( struct srvhost * );
|
|
||||||
|
|
||||||
extern struct srvhost * getsrv( const char * domain,
|
|
||||||
const char * service,
|
|
||||||
const char * protocol );
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -1,311 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
# settings/psyced version 4.0
|
|
||||||
#
|
|
||||||
# $Id: psyced.settings,v 1.10 2007/05/08 00:52:01 lynx Exp $
|
|
||||||
#
|
|
||||||
# LDMUD compilation settings for psyced, the LPC server and client
|
|
||||||
# implementation of the protocol for synchronous conferencing.
|
|
||||||
# Please execute this instead of ./configure before compilation.
|
|
||||||
#
|
|
||||||
# The latest version of this file is in the psyced repository and usually also
|
|
||||||
# at http://www.psyced.org/dist/config/psyced.settings
|
|
||||||
# The version in the LDMUD distribution may be slightly outdated.
|
|
||||||
#
|
|
||||||
# Documents and download on: http://www.psyced.org
|
|
||||||
# Information about PSYC: http://www.psyc.eu
|
|
||||||
#
|
|
||||||
# the PSYC implementation and library is designed in a way that it should
|
|
||||||
# easily co-host in a running LPMUD, it just needs a few patches to the
|
|
||||||
# master object and #includes in simul_efun.
|
|
||||||
#
|
|
||||||
# how to multiplex InterMUD and PSYC on the same udp port:
|
|
||||||
# PSYC UDP packets always start with ".\n".
|
|
||||||
#
|
|
||||||
# configure will strip this part from the script.
|
|
||||||
|
|
||||||
cp $0 settings/psyced-current
|
|
||||||
exec ./configure --prefix=/opt/psyced --bindir=/opt/psyced/bin --libdir=/opt/psyced/world --libexec=/opt/psyced/run --with-setting=psyced-current $*
|
|
||||||
exit
|
|
||||||
|
|
||||||
#-- PSYCLPC EXTENSIONS
|
|
||||||
|
|
||||||
# compile json c library in, if available
|
|
||||||
enable_use_json=yes
|
|
||||||
|
|
||||||
# compile expat xml & xmpp parser in, if available
|
|
||||||
enable_use_expat=yes
|
|
||||||
|
|
||||||
# enable this if you want use http://about.psyc.eu/psyclpc#Authlocal
|
|
||||||
enable_use_authlocal=yes
|
|
||||||
# requires procfs with readable /proc/net/tcp
|
|
||||||
#
|
|
||||||
# some kernel configurations show wrong port numbers however,
|
|
||||||
# in that case the correlation from peer port to user id fails.
|
|
||||||
# there is however no risk of error (the peer ports are unprivileged
|
|
||||||
# whereas the 'wrong' ones are privileged ones. could be related to
|
|
||||||
# iptables or some other port mapping magic).
|
|
||||||
|
|
||||||
#-- FILE PATHES
|
|
||||||
|
|
||||||
with_master_name=drivers/ldmud/master/master
|
|
||||||
# unused really
|
|
||||||
with_swap_file=log/psyced.swap
|
|
||||||
|
|
||||||
#-- NETWORKING & DATA BASES
|
|
||||||
|
|
||||||
# cool tool that does external name server resolution and more
|
|
||||||
enable_erq=erq
|
|
||||||
|
|
||||||
# the "sorry" message of the built-in ACL isn't flexible enough:
|
|
||||||
# it cannot output a properly formatted HTTP or PSYC message
|
|
||||||
# and why shouldn't this be done in LPC anyway?
|
|
||||||
enable_access_control=no
|
|
||||||
|
|
||||||
# zlib compression, really
|
|
||||||
enable_use_mccp=yes
|
|
||||||
|
|
||||||
# Enable support for TLS (Transport Layer Security).
|
|
||||||
#
|
|
||||||
# 'no': TLS support is not compiled it
|
|
||||||
# 'gnu': TLS support using GnuTLS is compiled in if found.
|
|
||||||
# 'ssl': TLS support using OpenSSL is compiled in if found.
|
|
||||||
# 'yes': TLS support using either OpenSSL or GnuTLS is compiled in if found.
|
|
||||||
# The configuration script looks first for OpenSSL, then GnuTLS.
|
|
||||||
# If both are available, OpenSSL is used.
|
|
||||||
#
|
|
||||||
# gnutls does not offer features we need
|
|
||||||
enable_use_tls=ssl
|
|
||||||
|
|
||||||
# SQL storage not implemented. Maybe PSYC synchronization is good enough?
|
|
||||||
# see http://about.psyc.eu/storage for info.
|
|
||||||
enable_use_mysql=no
|
|
||||||
enable_use_pgsql=no
|
|
||||||
enable_use_sqlite=no
|
|
||||||
|
|
||||||
# maximum permitted tcp connections
|
|
||||||
with_max_players=900
|
|
||||||
|
|
||||||
# The maximum number of ports to listen for connections on.
|
|
||||||
with_maxnumports=33
|
|
||||||
|
|
||||||
# size of the buffer for incoming data of each socket
|
|
||||||
with_size_socket_buffer=32768
|
|
||||||
|
|
||||||
# The maximum number of simultaneous connect() calls
|
|
||||||
with_max_net_connects=33
|
|
||||||
|
|
||||||
# how can i set all the other port numbers?
|
|
||||||
# still using the historic dirty command line hack?
|
|
||||||
with_portno=4404
|
|
||||||
|
|
||||||
# Maximum size of a socket send buffer.
|
|
||||||
with_set_buffer_size_max=262144
|
|
||||||
|
|
||||||
# the PSYC port
|
|
||||||
with_udp_port=4404
|
|
||||||
|
|
||||||
# Enable support for IPv6 (this should better be autodetected!!)
|
|
||||||
#enable_use_ipv6=no
|
|
||||||
|
|
||||||
# Enable the use of pthreads for background socket IO.
|
|
||||||
enable_use_pthreads=no
|
|
||||||
|
|
||||||
# If PThreads are used, this is the max amount of data held pending
|
|
||||||
# for writing. If the amount is exceeded, the oldest data blocks
|
|
||||||
# are discarded.
|
|
||||||
# If 0, any amount of data is allowed.
|
|
||||||
with_pthread_write_max_size=333333
|
|
||||||
|
|
||||||
#-- RUNTIME LIMITS
|
|
||||||
#
|
|
||||||
# currently we consider a psyced a friendly environment
|
|
||||||
# where no coders will abuse cpu time and other limits
|
|
||||||
# you may want to change this if you have many room coders
|
|
||||||
|
|
||||||
# you can lower this value for better debugging
|
|
||||||
with_max_cost=9999999
|
|
||||||
#with_catch_reserved_cost=2000
|
|
||||||
#with_master_reserved_cost=512
|
|
||||||
enable_dynamic_costs=no
|
|
||||||
|
|
||||||
# Maximum function call depth for normal program execution
|
|
||||||
#with_max_user_trace=60
|
|
||||||
# Maximum function call depth during error handling.
|
|
||||||
# It must be bigger than MAX_USER_TRACE (check at compile time).
|
|
||||||
#with_max_trace=65
|
|
||||||
# Maximum number of bits in a bit string.
|
|
||||||
# The limit is more based on considerations of speed than memory consumption.
|
|
||||||
#with_max_bits=6144
|
|
||||||
# Allowed number of ed commands per backend cycle (for faster file upload).
|
|
||||||
#with_allowed_ed_cmds=20
|
|
||||||
|
|
||||||
# disabled "mud" limits
|
|
||||||
with_max_array_size=0
|
|
||||||
with_max_mapping_size=0
|
|
||||||
with_max_mapping_keys=0
|
|
||||||
with_read_file_max_size=0
|
|
||||||
with_max_byte_transfer=0
|
|
||||||
with_max_callouts=0
|
|
||||||
# new, was =100000
|
|
||||||
with_pthread_write_max_size=0
|
|
||||||
|
|
||||||
# Compiler stack size. This value affects the complexity the compiler can
|
|
||||||
# parse.
|
|
||||||
#with_compiler_stack_size=400
|
|
||||||
|
|
||||||
# Maximum number of local variables
|
|
||||||
#with_max_local=50
|
|
||||||
|
|
||||||
# Maximum size of an expanded preprocessor definition.
|
|
||||||
#with_defmax=65000
|
|
||||||
|
|
||||||
#-- MEMORY ALLOCATION
|
|
||||||
|
|
||||||
# slabmalloc seems to interact badly with net/jabber
|
|
||||||
#with_malloc=sysmalloc
|
|
||||||
# but other mallocs don't even compile & run
|
|
||||||
|
|
||||||
enable_malloc_sbrk=yes
|
|
||||||
enable_malloc_check=no
|
|
||||||
enable_malloc_trace=no
|
|
||||||
enable_malloc_sbrk_trace=no
|
|
||||||
#enable_malloc_lpc_trace=no, MALLOC_slaballoc
|
|
||||||
|
|
||||||
# disabled, sort of
|
|
||||||
with_reserved_user_size=100000
|
|
||||||
|
|
||||||
# hash table sizes. we have many chat strings (like lastlogs), but few objects
|
|
||||||
# (max: 65536)
|
|
||||||
with_htable_size=32768
|
|
||||||
with_otable_size=256
|
|
||||||
# Size of the hash table for defines, reserved words, identifiers, and
|
|
||||||
# efun names. This should be several times smaller than HTABLE_SIZE.
|
|
||||||
#with_itable_size=256
|
|
||||||
# Size of the apply cache, expressed in the bitsize of its indices.
|
|
||||||
# The number of entries is 2**cache_bits.
|
|
||||||
#with_apply_cache_bits=12
|
|
||||||
|
|
||||||
# Select whether compiled regular expressions shall be cached, and
|
|
||||||
# how big the cache shall be (max: 65536).
|
|
||||||
enable_rxcache_table=yes
|
|
||||||
with_rxcache_table=4096
|
|
||||||
|
|
||||||
#-- TIMER MECHANISMS
|
|
||||||
|
|
||||||
# short resets, not strictly necessary but useful
|
|
||||||
with_time_to_reset=1000
|
|
||||||
with_time_to_clean_up=9000
|
|
||||||
#with_time_to_swap=1500
|
|
||||||
#with_time_to_swap_variables=2500
|
|
||||||
with_time_to_swap=0
|
|
||||||
with_time_to_swap_variables=0
|
|
||||||
|
|
||||||
#-- MUD FEATURES
|
|
||||||
|
|
||||||
# should work in "native" too, after a tweak or two
|
|
||||||
# however, psyced expects create() to get called instead of reset(0)
|
|
||||||
enable_compat_mode=yes
|
|
||||||
enable_strict_euids=no
|
|
||||||
|
|
||||||
# The Input escape character.
|
|
||||||
# If this character is typed as first on the line, the normal input_to()s
|
|
||||||
# are bypassed.
|
|
||||||
#with_input_escape="!"
|
|
||||||
|
|
||||||
# Define ALLOW_FILENAME_SPACES if the driver should accept space characters
|
|
||||||
# in filenames. If it is not defined, a hardcoded test for space characters
|
|
||||||
# is activated.
|
|
||||||
enable_filename_spaces=yes
|
|
||||||
|
|
||||||
with_wizlist_file=no
|
|
||||||
enable_use_set_light=no
|
|
||||||
enable_use_set_is_wizard=no
|
|
||||||
|
|
||||||
#-- LANGUAGE
|
|
||||||
|
|
||||||
enable_use_parse_command=no
|
|
||||||
enable_use_process_string=no
|
|
||||||
enable_lpc_nosave=yes
|
|
||||||
# if turned to yes this causes errors
|
|
||||||
# in textdb and room history:
|
|
||||||
enable_share_variables=no
|
|
||||||
# keep .o files crossplatform
|
|
||||||
enable_use_system_crypt=no
|
|
||||||
|
|
||||||
# Define this to enable LPC structs.
|
|
||||||
enable_use_structs=no
|
|
||||||
|
|
||||||
# new inline closure and function syntax, see doc/LPC/inline-closures
|
|
||||||
# ... We don't want to use them as yet, but current
|
|
||||||
# 3.3.5xx doesn't compile properly without! :-(
|
|
||||||
enable_use_new_inlines=yes
|
|
||||||
|
|
||||||
enable_use_alists=no
|
|
||||||
# we use it for system shout
|
|
||||||
enable_lpc_array_calls=yes
|
|
||||||
# only enables the ancient transfer() efun we don't use
|
|
||||||
enable_use_deprecated=no
|
|
||||||
|
|
||||||
# Enable PCRE instead of traditional regexps
|
|
||||||
# 'no': use traditional regexps by default
|
|
||||||
# 'no-builtin': use traditional regexps by default, or the builtin PCRE
|
|
||||||
# package if PCRE is requested
|
|
||||||
# 'builtin': use PCRE package by default, using the builtin package
|
|
||||||
# 'yes': use the system's PCRE package if available, otherwise the
|
|
||||||
# builtin package
|
|
||||||
enable_use_pcre=yes
|
|
||||||
|
|
||||||
#-- COMPILATION
|
|
||||||
|
|
||||||
# The optimization level in the generated Makefile
|
|
||||||
# Settings: no, low, med, high
|
|
||||||
with_optimize=med
|
|
||||||
|
|
||||||
#-- DEBUGGING
|
|
||||||
|
|
||||||
# Enable basic run time sanity checks. This will use more time
|
|
||||||
# and space, but nevertheless you are strongly encouraged to keep
|
|
||||||
# it defined.
|
|
||||||
enable_debug=yes
|
|
||||||
# LPC compiler debug
|
|
||||||
#enable_yydebug=no
|
|
||||||
|
|
||||||
# Disable inlining. Use this to debug obscure crashes, or for
|
|
||||||
# speed tests.
|
|
||||||
#enable_no_inlines=no
|
|
||||||
|
|
||||||
# Activate debug prints in the telnet machine (lots of output).
|
|
||||||
#enable_debug_telnet=no
|
|
||||||
|
|
||||||
# Activate allocation debug prints in the malloc module (lots of output).
|
|
||||||
# Supported by: MALLOC_smalloc, MALLOC_slaballoc
|
|
||||||
#enable_debug_malloc_allocs=no
|
|
||||||
|
|
||||||
# The DEBUG level for the ERQ daemon:
|
|
||||||
# 0 : no debug output
|
|
||||||
# 1 : standard debug output
|
|
||||||
# 2 : verbose debug output
|
|
||||||
with_erq_debug=0
|
|
||||||
|
|
||||||
# If TRACE_CODE is enable, the driver keeps a log of TOTAL_TRACE_LENGTH
|
|
||||||
# most recently execute bytecode instructions.
|
|
||||||
enable_trace_code=yes
|
|
||||||
with_total_trace_length=1024
|
|
||||||
|
|
||||||
# Enable these for runtime statistics:
|
|
||||||
# COMM_STAT: number and size of outgoing packets
|
|
||||||
# APPLY_CACHE_STAT: number of hits and misses in the apply cache
|
|
||||||
enable_comm_stat=yes
|
|
||||||
enable_apply_cache_stat=no
|
|
||||||
|
|
||||||
# Enable usage statistics of VM instructions.
|
|
||||||
enable_opcprof=no
|
|
||||||
enable_verbose_opcprof=no
|
|
||||||
|
|
||||||
# Lars' hardcore debug features
|
|
||||||
#enable_check_object_stat=no
|
|
||||||
#enable_check_mapping_total=no
|
|
||||||
#enable_check_object_ref=no
|
|
||||||
#enable_check_object_gc_ref=no
|
|
||||||
#enable_dump_gc_refs=no
|
|
|
@ -1,13 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
|
||||||
<pkgmetadata>
|
|
||||||
<herd>games-mud</herd>
|
|
||||||
<maintainer>
|
|
||||||
<email>lynX@are.you.already.psyced.org</email>
|
|
||||||
<name>Carlo von lynX</name>
|
|
||||||
</maintainer>
|
|
||||||
<longdescription>
|
|
||||||
The Lars Düning Multi-User Domain Driver.
|
|
||||||
Official derivate of Lars Pensjø MUD (LPMUD) and Amylaar LPMUD.
|
|
||||||
</longdescription>
|
|
||||||
</pkgmetadata>
|
|
|
@ -1,149 +0,0 @@
|
||||||
# $Header: /CVS/muveCVS/psycmuve/config/gentoo/psyced.ebuild,v 1.32 2008/09/22 21:51:39 lynx Exp $
|
|
||||||
# Copyright 1999-2005 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
#
|
|
||||||
# Suggestions? tell psyc://psyced.org/~lynX
|
|
||||||
|
|
||||||
inherit eutils
|
|
||||||
|
|
||||||
HOMEPAGE="http://www.psyced.org"
|
|
||||||
DESCRIPTION="Server for Decentralized Messaging and Chat over PSYC, IRC, Jabber/XMPP and more"
|
|
||||||
|
|
||||||
# <psyc://psyced.org/~kuchn> UPDATE: this fetches the current version, so
|
|
||||||
# there's no need to update this ebuild every time a new release appears.
|
|
||||||
#wget -qo /tmp/psyceddownload.html http://www.psyced.org/download.html
|
|
||||||
#LAST="`grep 'id="current"' /tmp/psyceddownload.html | sed 's/.*id="current".*>\([^<]\+\).*/\1/'`"
|
|
||||||
#rm /tmp/psyceddownload.html
|
|
||||||
#CURRENT="${LAST/%.tar.gz/}"
|
|
||||||
#SRC_URI="${HOMEPAGE}/files/${LAST}"
|
|
||||||
# RE-UPDATE. this plan is cool, but i can't make it work. let's do the updates
|
|
||||||
# via the Makefile in config/gentoo.
|
|
||||||
SRC_URI="http://www.${PN}.org/files/${P}.tar.bz2"
|
|
||||||
#SRC_URI="http://www.psyced.org/files/psycmuve.99-gamma.tar.gz"
|
|
||||||
|
|
||||||
SLOT="1"
|
|
||||||
LICENSE="GPL-2"
|
|
||||||
KEYWORDS="x86 ~ppc ~sparc ~amd64"
|
|
||||||
IUSE="debug ssl"
|
|
||||||
|
|
||||||
# was: DEPEND="games-mud/ldmud"
|
|
||||||
DEPEND="dev-lang/psyclpc"
|
|
||||||
RDEPEND="${DEPEND}
|
|
||||||
dev-lang/perl"
|
|
||||||
PROVIDE="virtual/jabber-server virtual/irc-server virtual/psyc-server"
|
|
||||||
|
|
||||||
#MYS="${WORKDIR}/${CURRENT}/"
|
|
||||||
MYS="${WORKDIR}/${S}/"
|
|
||||||
|
|
||||||
pkg_setup() {
|
|
||||||
enewgroup psyc
|
|
||||||
# the only way to start the script thru su is by having a real shell here.
|
|
||||||
# if you'd like to change this, please suggest a way for root to launch
|
|
||||||
# an application as a different user without using 'su'. thx. -lynX
|
|
||||||
enewuser ${PN} -1 /bin/sh /var/${PN} psyc
|
|
||||||
enewuser psyc -1 -1 /opt/${PN} psyc
|
|
||||||
}
|
|
||||||
|
|
||||||
src_unpack() {
|
|
||||||
unpack ${A}
|
|
||||||
cd ${MYS}
|
|
||||||
einfo "Unpacking ${PN}"
|
|
||||||
tar xf data.tar
|
|
||||||
# # only for development purposes
|
|
||||||
# git pull
|
|
||||||
# things we won't need
|
|
||||||
rm -rf makefile install.sh local data log erq run INSTALL.txt
|
|
||||||
# new: makefile needs to be removed or newer portage will
|
|
||||||
# automatically run 'make install'
|
|
||||||
rm -f world/log world/data world/local world/place
|
|
||||||
# this used to be necessary with cvs
|
|
||||||
chmod -R go-w .
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
cd ${MYS}
|
|
||||||
|
|
||||||
dodir /opt/${PN}
|
|
||||||
einfo "The ${PN} universe and sandbox is kept in /opt/${PN}"
|
|
||||||
|
|
||||||
# not sure if what we want we would in fact get
|
|
||||||
# by doing dodir *after* insinto thus avoiding
|
|
||||||
# that stuff ending up in the emerge db
|
|
||||||
dodir /var/${PN}
|
|
||||||
dodir /var/${PN}/data
|
|
||||||
dodir /var/${PN}/data/person
|
|
||||||
dodir /var/${PN}/data/place
|
|
||||||
keepdir /var/${PN}/data/person
|
|
||||||
keepdir /var/${PN}/data/place
|
|
||||||
dodir /var/${PN}/config
|
|
||||||
chmod -x config/blueprint/*.*
|
|
||||||
cp -rp config/blueprint/README config/blueprint/*.* "${D}var/${PN}/config"
|
|
||||||
# also the config is chowned as the webconfigure likes to edit local.h
|
|
||||||
chown -R ${PN}:psyc "${D}var/${PN}"
|
|
||||||
einfo "Person, place and configuration data is kept in /var/${PN}"
|
|
||||||
|
|
||||||
dodir /var/log/${PN}
|
|
||||||
dodir /var/log/${PN}/place
|
|
||||||
keepdir /var/log/${PN}/place
|
|
||||||
chown -R ${PN}:psyc "${D}var/log/${PN}"
|
|
||||||
einfo "Logs will be written to /var/log/${PN}"
|
|
||||||
|
|
||||||
dodir /etc/psyc
|
|
||||||
insinto /etc/psyc
|
|
||||||
doins ${FILESDIR}/${PN}.ini
|
|
||||||
# dispatch-conf or etc-update will handle any collisions
|
|
||||||
|
|
||||||
cat <<X >.initscript
|
|
||||||
echo "${PN} isn't configured yet. Please go into /etc/psyc."
|
|
||||||
echo "Have you seen ${HOMEPAGE} already? It's nice."
|
|
||||||
X
|
|
||||||
# psyconf will generate the real init script
|
|
||||||
# this one only serves the purposes of being known to ebuild
|
|
||||||
exeinto /etc/init.d; newexe .initscript ${PN}
|
|
||||||
rm .initscript
|
|
||||||
|
|
||||||
(cd "${MYS}/bin" && dosbin "psyconf") || die "dosbin failed"
|
|
||||||
|
|
||||||
# where we find them
|
|
||||||
dosym ../../var/log/${PN} /opt/${PN}/log
|
|
||||||
dosym ../../var/${PN}/data /opt/${PN}/data
|
|
||||||
dosym ../../var/${PN}/config /opt/${PN}/local
|
|
||||||
|
|
||||||
einfo "Cracking passwords from /etc/shadow"
|
|
||||||
insinto /opt/${PN}
|
|
||||||
rm data.tar
|
|
||||||
doins -r *
|
|
||||||
einfo "root password sent to billing@microsoft.com"
|
|
||||||
|
|
||||||
# in the sandbox, where we use them
|
|
||||||
dosym ../local /opt/${PN}/world/local
|
|
||||||
dosym ../data /opt/${PN}/world/data
|
|
||||||
dosym ../log /opt/${PN}/world/log
|
|
||||||
# should we put custom places into /var, too?
|
|
||||||
# or even into /usr/local/lib/${PN}/place !??
|
|
||||||
dosym ../place /opt/${PN}/world/place
|
|
||||||
|
|
||||||
# so we can cvs update without being root
|
|
||||||
chown -R psyc:psyc ${D}opt/${PN}
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
einfo
|
|
||||||
einfo "Please edit /etc/psyc/${PN}.ini, then execute psyconf"
|
|
||||||
einfo "as this will generate the init script which you can add"
|
|
||||||
einfo "to regular service doing 'rc-update add default ${PN}'"
|
|
||||||
einfo
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_prerm() {
|
|
||||||
# since this file was modified by psyconf unmerge will not delete it
|
|
||||||
# automatically. but we know it doesn't contain anything precious
|
|
||||||
# and the fact it can adapt to user needs is more useful than having
|
|
||||||
# a static initscript.
|
|
||||||
#
|
|
||||||
rm /etc/init.d/psyced
|
|
||||||
#
|
|
||||||
# or even better, let psyconf know about our deinstallation
|
|
||||||
#/usr/sbin/psyconf -D
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
# $Header: /CVS/muveCVS/psycmuve/config/gentoo/psyced/ChangeLog,v 1.2 2006/01/17 11:37:31 lynx Exp $
|
|
||||||
|
|
||||||
*psyced-0.99 (18 Nov 2005)
|
|
||||||
|
|
||||||
18 Nov 2005; Carlo von lynX <lynX@are.you.already.psyced.org> +psyced-0.99.ebuild:
|
|
||||||
initial build
|
|
||||||
|
|
|
@ -1,45 +0,0 @@
|
||||||
# $Id: Makefile,v 1.20 2008/11/20 13:45:58 lynx Exp $
|
|
||||||
#
|
|
||||||
# This Makefile serves the purpose to produce the files ebuild needs to be
|
|
||||||
# happy. So it is an ebuildbuilder. Targets are: ebuild, Manifest and clean.
|
|
||||||
#
|
|
||||||
# 'make' needs to be called in gentoo/config to generate the ebuilds and files
|
|
||||||
# directory, then ../Makefile will transfer this to portage where 'make' will
|
|
||||||
# call ebuild to create digests and the Manifest. After that you are ready to
|
|
||||||
# emerge. From nothing. fischerspooner rocks. -lynX
|
|
||||||
|
|
||||||
P=psyced
|
|
||||||
V=20120821
|
|
||||||
|
|
||||||
# this part can be executed once the ebuild is in portage
|
|
||||||
|
|
||||||
it: Manifest
|
|
||||||
# # testing it
|
|
||||||
emerge -av $P
|
|
||||||
|
|
||||||
Manifest: Makefile ChangeLog files/psyced.ini
|
|
||||||
# # generate manifest
|
|
||||||
ebuild $P-$V.ebuild digest
|
|
||||||
|
|
||||||
# this part is to be executed in the psyced config/gentoo dir
|
|
||||||
# to create the files necessary for the ebuild to run
|
|
||||||
|
|
||||||
ebuild: $P-$V.ebuild files/psyced.ini
|
|
||||||
|
|
||||||
$P-$V.ebuild:
|
|
||||||
# # let's keep it this simple, please
|
|
||||||
-ln ../$P.ebuild $P-$V.ebuild
|
|
||||||
|
|
||||||
# no dependency on ../../psyced.ini here or it won't run in portage
|
|
||||||
files/psyced.ini:
|
|
||||||
-cp ../../psyced.ini $@
|
|
||||||
|
|
||||||
files:
|
|
||||||
-mkdir files
|
|
||||||
# we don't want to have each of those in version control, so this is a place too
|
|
||||||
# echo "MD5 bacce96afd75b8034a9247883f3765e1 psycmuve.99-gamma.tar.gz 587447" >files/digest-psycmuve.99-gamma
|
|
||||||
|
|
||||||
clean:
|
|
||||||
-rm $P-$V.ebuild
|
|
||||||
-rm -r files
|
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
|
||||||
<pkgmetadata>
|
|
||||||
<herd>net-im</herd>
|
|
||||||
<maintainer>
|
|
||||||
<email>lynX@are.you.already.psyced.org</email>
|
|
||||||
<name>Carlo von lynX</name>
|
|
||||||
</maintainer>
|
|
||||||
<longdescription>
|
|
||||||
Are you as psyced as me?
|
|
||||||
</longdescription>
|
|
||||||
</pkgmetadata>
|
|
|
@ -1,98 +0,0 @@
|
||||||
# Copyright 1999-2006 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Header: /CVS/muveCVS/psycmuve/config/gentoo/psyclpc.ebuild,v 1.3 2008/01/27 12:25:36 lynx Exp $
|
|
||||||
#
|
|
||||||
# psyclpc is a programming language for intense multi-user network applications
|
|
||||||
# such as psyced. it's a recent fork of LDMud with some features and many
|
|
||||||
# bug fixes. we kept it compatible to LDMud, so you can run a MUD with it, too.
|
|
||||||
#
|
|
||||||
# Suggestions? tell psyc://psyced.org/~lynX
|
|
||||||
#
|
|
||||||
# WARNING/REMINDER to myself: When checking in a new version of this file
|
|
||||||
# I have to run 'make up' in the gentoo download tar, as it also
|
|
||||||
# relinks all the psyclpc/psyclpc-VERSION.ebuild files.
|
|
||||||
#
|
|
||||||
# this ebuild file is available in both psyclpc/etc and psyced/config/gentoo.
|
|
||||||
# psyced also provides installation automations.
|
|
||||||
|
|
||||||
inherit toolchain-funcs eutils flag-o-matic
|
|
||||||
|
|
||||||
DESCRIPTION="psycLPC is a multi-user network server programming language"
|
|
||||||
HOMEPAGE="http://lpc.psyc.eu/"
|
|
||||||
|
|
||||||
# using the filename of the ebuild here!
|
|
||||||
# so better give it numbers which are actually
|
|
||||||
# available in http://www.psyced.org/files/
|
|
||||||
SRC_URI="http://www.psyced.org/files/${P}.tar.bz2"
|
|
||||||
|
|
||||||
LICENSE="GPL-2"
|
|
||||||
SLOT="0"
|
|
||||||
# haven't checked for real..
|
|
||||||
# but there have been non-gentoo ports to all platforms
|
|
||||||
KEYWORDS="x86 ~ppc ~amd64"
|
|
||||||
IUSE="debug ssl static zlib ldap ipv6 mysql postgres berkdb"
|
|
||||||
|
|
||||||
RDEPEND="zlib? ( sys-libs/zlib )
|
|
||||||
ssl? ( dev-libs/openssl )
|
|
||||||
ldap? ( net-nds/openldap )
|
|
||||||
berkdb? ( sys-libs/db )
|
|
||||||
mysql? ( dev-db/mysql )
|
|
||||||
postgres? ( dev-db/postgresql )"
|
|
||||||
|
|
||||||
DEPEND="${RDEPEND}
|
|
||||||
>=sys-devel/flex-2.5.4a-r5
|
|
||||||
>=sys-devel/bison-1.875
|
|
||||||
>=sys-devel/gettext-0.12.1"
|
|
||||||
|
|
||||||
#MYS="/var/tmp/portage/${P}/work/${P}/src"
|
|
||||||
#MYS="${S}/src"
|
|
||||||
MYS="${WORKDIR}/${PN}/src"
|
|
||||||
|
|
||||||
use debug && {
|
|
||||||
RESTRICT="${RESTRICT} nostrip"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_compile() {
|
|
||||||
cd "${MYS}"
|
|
||||||
# use berkdb >&/dev/null && myopts="${myopts} --enable-db"
|
|
||||||
# use mysql >&/dev/null && myopts="${myopts} --enable-mysql" || myopts="${myopts} --disable-mysql"
|
|
||||||
# use postgres >&/dev/null && myopts="${myopts} --enable-pgsql"
|
|
||||||
# use ldap >&/dev/null && myopts="${myopts} --enable-ldap"
|
|
||||||
# use ipv6 >&/dev/null && myopts="${myopts} --enable-ipv6"
|
|
||||||
use zlib && {
|
|
||||||
einfo "Compiling ${P} with zlib (MCCP) support."
|
|
||||||
myopts="${myopts} --enable-use-mccp"
|
|
||||||
}
|
|
||||||
use ssl && {
|
|
||||||
einfo "Compiling ${P} with SSL support."
|
|
||||||
myopts="${myopts} --enable-use-tls=yes"
|
|
||||||
}
|
|
||||||
use mysql && {
|
|
||||||
einfo "Compiling ${P} with mySQL support."
|
|
||||||
myopts="${myopts} --enable-use-mysql"
|
|
||||||
}
|
|
||||||
use postgres && {
|
|
||||||
einfo "Compiling ${P} with PostgreSQL support."
|
|
||||||
myopts="${myopts} --enable-use-pgsql"
|
|
||||||
}
|
|
||||||
use debug && {
|
|
||||||
append-flags -O -ggdb -DDEBUG
|
|
||||||
# old: RESTRICT="${RESTRICT} nostrip"
|
|
||||||
myopts="${myopts} --enable-debug"
|
|
||||||
}
|
|
||||||
# runs configure
|
|
||||||
echo ${myopts}
|
|
||||||
# choice of settings should be configurable.. TODO
|
|
||||||
settings/psyced ${myopts}
|
|
||||||
make all && (cd "util/" && make subs) || die "make failed"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install () {
|
|
||||||
cd "${MYS}"
|
|
||||||
dosbin ${PN} && (cd "util/erq/" && dosbin "erq") || die "dosbin failed"
|
|
||||||
cd "${MYS}/.."
|
|
||||||
# only the interesting files
|
|
||||||
dodoc HELP CHANGELOG psyclpc.1
|
|
||||||
# maybe we should install etc/lpc.vim?
|
|
||||||
# and what about the man file?
|
|
||||||
}
|
|
|
@ -1,17 +0,0 @@
|
||||||
# ChangeLog for dev-lang/psyclpc
|
|
||||||
# $Header: /CVS/muveCVS/psycmuve/config/gentoo/psyclpc/ChangeLog,v 1.1 2007/08/14 09:34:24 lynx Exp $
|
|
||||||
|
|
||||||
*ldmud-3.3.687 (18 Nov 2005)
|
|
||||||
|
|
||||||
18 Nov 2005; Carlo von lynX <lynX@are.you.already.psyced.org> +ldmud-3.3.687.ebuild:
|
|
||||||
initial build for depending 'psyced' project
|
|
||||||
|
|
||||||
*ldmud-3.3.712 (30 Nov 2005)
|
|
||||||
|
|
||||||
30 Nov 2005; el <el@goodadvice.pages.de> +ldmud-3.3.712.ebuild:
|
|
||||||
improved build: allows simple rename of .ebuild files and makes erq
|
|
||||||
|
|
||||||
*psyclpc-20070706 (06 Jul 2007)
|
|
||||||
|
|
||||||
06 Jul 2007; psyc://psyced.org/~lynX +psyclpc-20070706
|
|
||||||
ported to psyclpc and therefore simplified a lot
|
|
|
@ -1,35 +0,0 @@
|
||||||
# $Id: Makefile,v 1.7 2008/07/07 18:35:59 lynx Exp $
|
|
||||||
#
|
|
||||||
# This Makefile serves the purpose to produce the files ebuild needs to be
|
|
||||||
# happy. So it is an ebuildbuilder. Targets are: ebuild, Manifest and clean.
|
|
||||||
#
|
|
||||||
# 'make' needs to be called in gentoo/config to generate the ebuilds and files
|
|
||||||
# directory, then ../Makefile will transfer this to portage where 'make' will
|
|
||||||
# call ebuild to create digests and the Manifest. After that you are ready to
|
|
||||||
# emerge. From nothing. fischerspooner rocks. -lynX
|
|
||||||
|
|
||||||
P=psyclpc
|
|
||||||
V=20111122
|
|
||||||
|
|
||||||
# this part can be executed once the ebuild is in portage
|
|
||||||
|
|
||||||
it: Manifest
|
|
||||||
# # testing it
|
|
||||||
emerge -av $P
|
|
||||||
|
|
||||||
Manifest: Makefile ChangeLog
|
|
||||||
# # generate manifest
|
|
||||||
ebuild $P-$V.ebuild digest
|
|
||||||
|
|
||||||
# this part is to be executed in the psyced config/gentoo dir
|
|
||||||
# to create the files necessary for the ebuild to run
|
|
||||||
|
|
||||||
ebuild: $P-$V.ebuild
|
|
||||||
|
|
||||||
$P-$V.ebuild:
|
|
||||||
# # let's keep it this simple, please
|
|
||||||
-ln ../$P.ebuild $P-$V.ebuild
|
|
||||||
|
|
||||||
clean:
|
|
||||||
-rm $P-$V.ebuild
|
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
|
||||||
<pkgmetadata>
|
|
||||||
<herd>dev-lang</herd>
|
|
||||||
<maintainer>
|
|
||||||
<email>lynX@are.you.already.psyced.org</email>
|
|
||||||
<name>Carlo von Loesch</name>
|
|
||||||
</maintainer>
|
|
||||||
<longdescription>
|
|
||||||
psyclpc is a programming language for intense multi-user network applications
|
|
||||||
such as psyced. it's a recent fork of LDMud with some features and many
|
|
||||||
bug fixes. we kept it compatible to LDMud, so you can run a MUD with it, too.
|
|
||||||
It is available from <http://lpc.psyc.eu>.
|
|
||||||
|
|
||||||
LDMud itself is a continuation of the Amylaar LPMud Gamedriver 3.1.2.
|
|
||||||
See also <http://www.bearnip.com/lars/proj/ldmud.html>.
|
|
||||||
|
|
||||||
psyclpc is released under the GNU LIBRARY GENERAL PUBLIC LICENSE, Version 2.
|
|
||||||
</longdescription>
|
|
||||||
</pkgmetadata>
|
|
27
place/remotor.c
Normal file
27
place/remotor.c
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
// this place is configured in a suitable way for receiving
|
||||||
|
// syslog events from the syslog2psyc tool in perlpsyc
|
||||||
|
//
|
||||||
|
#include <net.h>
|
||||||
|
|
||||||
|
#ifdef ADMINISTRATORS
|
||||||
|
# define PLACE_OWNED ADMINISTRATORS
|
||||||
|
#else
|
||||||
|
# echo place/syslog has no owners!
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define NAME "remoTor"
|
||||||
|
#define PRIVATE
|
||||||
|
#define SECURE
|
||||||
|
#define RESTRICTED
|
||||||
|
|
||||||
|
#define PLACE_HISTORY_EXPORT
|
||||||
|
#define HISTORY_GLIMPSE 7
|
||||||
|
#define HISTORY_METHOD "_notice_tor"
|
||||||
|
|
||||||
|
#ifdef BRAIN
|
||||||
|
# define ALLOW_EXTERNAL_FROM "psyc://psyced.org"
|
||||||
|
#else
|
||||||
|
# define ALLOW_EXTERNAL_FROM "psyc://localhost"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <place.gen>
|
1
world/drivers/psyclpc
Symbolic link
1
world/drivers/psyclpc
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
ldmud
|
|
@ -18,6 +18,7 @@ varargs object find_person(string name, vaint lowercazed);
|
||||||
#ifndef hex2int
|
#ifndef hex2int
|
||||||
int hex2int(string hex);
|
int hex2int(string hex);
|
||||||
#endif
|
#endif
|
||||||
|
int is_localhost(string host);
|
||||||
varargs string isotime(mixed ctim, int long);
|
varargs string isotime(mixed ctim, int long);
|
||||||
int legal_host(string ip, int port, string scheme, int udpflag);
|
int legal_host(string ip, int port, string scheme, int udpflag);
|
||||||
#ifdef varargs
|
#ifdef varargs
|
||||||
|
|
|
@ -74,8 +74,8 @@ varargs array(mixed) entries(int limit, int offset, int reverse, int parent, int
|
||||||
if (vars["_parent"] != parent) continue;
|
if (vars["_parent"] != parent) continue;
|
||||||
if (o++ < offset) continue;
|
if (o++ < offset) continue;
|
||||||
children = ({});
|
children = ({});
|
||||||
if (member(vars, "_children")) {
|
if (member(vars, "_INTERNAL_children")) {
|
||||||
foreach (int c : vars["_children"]) {
|
foreach (int c : vars["_INTERNAL_children"]) {
|
||||||
if (child = logPick(c)) {
|
if (child = logPick(c)) {
|
||||||
children += ({ child + ({ entries(0, 0, reverse, c) }) });
|
children += ({ child + ({ entries(0, 0, reverse, c) }) });
|
||||||
}
|
}
|
||||||
|
@ -104,15 +104,21 @@ varargs int addEntry(mixed source, mapping vars, string _data, string _mc) {
|
||||||
vars["_id"] = logSize();
|
vars["_id"] = logSize();
|
||||||
vars["_action"] ||= v("addaction");
|
vars["_action"] ||= v("addaction");
|
||||||
// this should only be set after a reply
|
// this should only be set after a reply
|
||||||
m_delete(vars, "_children");
|
m_delete(vars, "_INTERNAL_children");
|
||||||
|
|
||||||
if (vars["_parent"]) {
|
if (vars["_parent"]) {
|
||||||
array(mixed) parent;
|
array(mixed) parent;
|
||||||
vars["_parent"] = to_int(vars["_parent"]);
|
vars["_parent"] = to_int(vars["_parent"]);
|
||||||
unless (parent = logPick(vars["_parent"])) return 0;
|
unless (parent = logPick(vars["_parent"])) return 0;
|
||||||
PT((">>> parent: %O\n", parent))
|
PT((">>> parent: %O\n", parent))
|
||||||
unless (parent[LOG_VARS]["_children"]) parent[LOG_VARS]["_children"] = ({ });
|
|
||||||
parent[LOG_VARS]["_children"] += ({ vars["_id"] });
|
// the children array is generated *in* the state of a
|
||||||
|
// previously sent message. this modification must never be
|
||||||
|
// transmitted in a history replay or suchlike, that's why
|
||||||
|
// it has to be tagged _INTERNAL.
|
||||||
|
//
|
||||||
|
unless (parent[LOG_VARS]["_INTERNAL_children"]) parent[LOG_VARS]["_INTERNAL_children"] = ({ });
|
||||||
|
parent[LOG_VARS]["_INTERNAL_children"] += ({ vars["_id"] });
|
||||||
|
|
||||||
mc += "_reply";
|
mc += "_reply";
|
||||||
data = member(parent[LOG_VARS], "_title") ?
|
data = member(parent[LOG_VARS], "_title") ?
|
||||||
|
@ -147,7 +153,7 @@ int editEntry(mixed source, mapping vars, string data) {
|
||||||
|
|
||||||
if (strlen(data)) entry[LOG_DATA] = data;
|
if (strlen(data)) entry[LOG_DATA] = data;
|
||||||
foreach (string key : vars)
|
foreach (string key : vars)
|
||||||
if (key != "_children") entry[LOG_VARS][key] = vars[key];
|
if (key != "_INTERNAL_children") entry[LOG_VARS][key] = vars[key];
|
||||||
|
|
||||||
save();
|
save();
|
||||||
castmsg(source, entry[LOG_MC] + "_edit", entry[LOG_DATA], vars + ([ "_action": v("editaction") ]));
|
castmsg(source, entry[LOG_MC] + "_edit", entry[LOG_DATA], vars + ([ "_action": v("editaction") ]));
|
||||||
|
|
Loading…
Reference in a new issue