mirror of
git://git.psyced.org/git/psyced
synced 2024-08-15 03:25:10 +00:00
some missing files
This commit is contained in:
parent
61e6cf4f60
commit
699fe68c44
20 changed files with 4284 additions and 0 deletions
42
config/blueprint/README
Normal file
42
config/blueprint/README
Normal file
|
@ -0,0 +1,42 @@
|
|||
==========================================
|
||||
YOU SHOULD READ THIS MESSAGE IN YOUR local/
|
||||
DIRECTORY. config/blueprint ONLY CONTAINS
|
||||
THE DEFAULT COPY OF THE CONFIGURATION. IT
|
||||
IS NOT IN USE AS YOU RUN THE SERVER. SO
|
||||
DON'T EDIT ANY FILES IN config/blueprint.
|
||||
THX ======================================
|
||||
|
||||
banner.txt is the file that is shown to
|
||||
telnet users at login
|
||||
|
||||
config.c is currently not being used, really.
|
||||
|
||||
config.h is of no interest.
|
||||
|
||||
hosts.h lets you specify ip ranges that are
|
||||
particularely trustworthy or untrustworthy.
|
||||
|
||||
init.ls contains the list of classes that
|
||||
will be compiled at boot-time. it is mostly
|
||||
useful for debugging, as in a healthy
|
||||
system any required class can be compiled
|
||||
at the moment it is used for the first time.
|
||||
so for production use this is kept to the
|
||||
bare minimum. only the parts of psyced you
|
||||
are actually using will be loaded.
|
||||
|
||||
local.h hosts your personal tunings to the
|
||||
psyced system.
|
||||
|
||||
path.h lets you rearrange the directories
|
||||
where the code for the protocol implementations
|
||||
reside. you don't need to do that normally.
|
||||
|
||||
ports.h is generated by the installation
|
||||
procedure and contains the port numbers you
|
||||
chose for the services you want to use.
|
||||
|
||||
psyconf.h is also generated that way by the
|
||||
psyconf utility. it contains the settings
|
||||
from psyced.ini in a form pleasant for LPC.
|
||||
|
8
config/blueprint/banner.txt
Normal file
8
config/blueprint/banner.txt
Normal file
|
@ -0,0 +1,8 @@
|
|||
[connected]
|
||||
|
||||
PROTOCOL for SYNCHRONOUS CONFERENCING http://www.psyced.org/
|
||||
--------------- ___ __ _ _ __ ___ __ ------------------
|
||||
| \ (__ \ / / | | \
|
||||
|__/ \ V | |- | )
|
||||
>>> | (__/ | \__ |__ |_/ <<<
|
||||
|
66
config/blueprint/config.c
Normal file
66
config/blueprint/config.c
Normal file
|
@ -0,0 +1,66 @@
|
|||
// $Id: config.c,v 1.9 2006/11/07 07:58:36 lynx Exp $ vim:syntax=lpc
|
||||
#include <net.h>
|
||||
|
||||
/* a data file or an include can be read by any file in the system but
|
||||
* we want this information to be readable by the gateway code only
|
||||
* that's why it has to be lpc code
|
||||
*/
|
||||
|
||||
#ifdef GATEWAY_PATH
|
||||
|
||||
/* if you are positive that you want to run your own gateways to
|
||||
* legacy messaging systems, please insert your gateway credentials
|
||||
* into the fields below and activate the code by turning #if 0 to #if 1
|
||||
*
|
||||
* update: these bot-style gateways are not functional. don't switch
|
||||
* them to 1 as either the python scripts or the jabber code isn't
|
||||
* up to date with them.
|
||||
*/
|
||||
|
||||
# define USE_ICQ_GATEWAY 0 // don't change
|
||||
# define USE_AIM_GATEWAY 0 // don't change
|
||||
|
||||
qConfig() {
|
||||
string p = file_name(previous_object());
|
||||
# ifdef __COMPAT_MODE__
|
||||
p = "/"+p;
|
||||
# endif
|
||||
P3(("\n%O: config requested by %s\n", ME, p))
|
||||
# if USE_ICQ_GATEWAY
|
||||
if (abbrev(GATEWAY_PATH "icq", p)) return
|
||||
(["host" : "icq.localhost",
|
||||
"port" : 5234,
|
||||
"scheme" : "icq",
|
||||
"name" : "icqlinker",
|
||||
"secret" : "myicqsecret",
|
||||
"nickname" : "your uin here",
|
||||
"password" : "and your password please" ]);
|
||||
# endif
|
||||
# if USE_AIM_GATEWAY
|
||||
if (abbrev(GATEWAY_PATH "aim2", p)) return
|
||||
(["host" : "aim.localhost",
|
||||
"port" : 5233,
|
||||
"scheme" : "aim",
|
||||
"name" : "aimlinker",
|
||||
"secret" : "myaimsecret",
|
||||
"nickname" : "screen name",
|
||||
"password" : "and your password please" ]);
|
||||
# endif
|
||||
}
|
||||
|
||||
load() {
|
||||
# if USE_ICQ_GATEWAY
|
||||
D(" " GATEWAY_PATH "icq");
|
||||
load_object(GATEWAY_PATH "icq");
|
||||
# endif
|
||||
# if USE_AIM_GATEWAY
|
||||
D(" " GATEWAY_PATH "aim2");
|
||||
load_object(GATEWAY_PATH "aim2");
|
||||
# endif
|
||||
# ifdef RELAY_OBJECT
|
||||
D(" " RELAY_OBJECT "\n");
|
||||
call_out(load_object, 0, RELAY_OBJECT);
|
||||
# endif
|
||||
}
|
||||
|
||||
#endif
|
23
config/blueprint/config.h
Normal file
23
config/blueprint/config.h
Normal file
|
@ -0,0 +1,23 @@
|
|||
// $Id: config.h,v 1.1 2007/04/26 13:34:02 lynx Exp $ // vim:syntax=lpc
|
||||
//
|
||||
// This file is not intended to be modified. Make your local changes
|
||||
// in psyced.ini, and if that wasn't good enough, use local.h.
|
||||
// If you are integrating psyced with other LPC applications, feel
|
||||
// free to modify path.h. If you aren't, better leave it as it is.
|
||||
|
||||
#ifndef CONFIG_H
|
||||
# define CONFIG_H
|
||||
|
||||
// load local modifications by the admin
|
||||
# include "local.h"
|
||||
|
||||
// load port configuration as generated by psyconf
|
||||
# include "ports.h"
|
||||
|
||||
// load layout of psyced software modules
|
||||
# include "path.h"
|
||||
|
||||
// load psyced.ini settings converted by psyconf
|
||||
# include "psyconf.h"
|
||||
|
||||
#endif
|
7
config/blueprint/hosts.h
Normal file
7
config/blueprint/hosts.h
Normal file
|
@ -0,0 +1,7 @@
|
|||
// Examples of specially enabled or disabled hosts.
|
||||
//
|
||||
//
|
||||
// #define ENABLED_HOSTS "192.168.0.", "10."
|
||||
//
|
||||
// #define DISABLED_HOSTS "207.46.197.", "207.46.19."
|
||||
//
|
3
config/blueprint/init.ls
Normal file
3
config/blueprint/init.ls
Normal file
|
@ -0,0 +1,3 @@
|
|||
net/user
|
||||
net/place/basic
|
||||
local/config
|
5
config/blueprint/local.h
Normal file
5
config/blueprint/local.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
// This is local.h for advanced tunings to the psyced runtime and
|
||||
// LPC compilation process. The format looks just like a regular
|
||||
// header file for the C language. Settings you can specify
|
||||
// here are documented at http://about.psyc.eu/Tuning
|
||||
|
50
config/blueprint/path.h
Normal file
50
config/blueprint/path.h
Normal file
|
@ -0,0 +1,50 @@
|
|||
#ifndef _INCLUDE_PATH_H
|
||||
#define _INCLUDE_PATH_H
|
||||
|
||||
#define NET_PATH "/net/"
|
||||
#define PLACE_PATH "/place/"
|
||||
#define SERVICE_PATH "/service/"
|
||||
#define DATA_PATH "/data/"
|
||||
#define CONFIG_PATH "/local/"
|
||||
#define DAEMON_PATH NET_PATH "d/"
|
||||
#define GATEWAY_PATH NET_PATH "gateway/"
|
||||
|
||||
// protocol for synchronous conferencing
|
||||
#define PSYC_PATH "/net/psyc/"
|
||||
|
||||
// experimental PSYC 1.0 interface
|
||||
#define SPYC_PATH "/net/spyc/"
|
||||
|
||||
// irc server emulation
|
||||
#define IRC_PATH "/net/irc/"
|
||||
|
||||
// jabber server emulation
|
||||
#define JABBER_PATH "/net/jabber/"
|
||||
|
||||
// telnet access
|
||||
#define TELNET_PATH "/net/tn/"
|
||||
|
||||
// java applet server, uses a very simple protocol
|
||||
#define APPLET_PATH "/net/applet/"
|
||||
|
||||
// accept messages and simple mails via smtp
|
||||
#define SMTP_PATH "/net/smtp/"
|
||||
|
||||
// experimental: access message log via pop3
|
||||
#define POP3_PATH "/net/pop/"
|
||||
|
||||
// experimental: serve as a sip "proxy"
|
||||
#define SIP_PATH "/net/sip/"
|
||||
|
||||
// allow access to subscribed threaded discussion groups via nntp
|
||||
#define NNTP_PATH "/net/nntp/"
|
||||
|
||||
// accept messages and allow lastlog access via wap
|
||||
#define WAP_PATH "/net/wap/"
|
||||
|
||||
// simple http server
|
||||
#ifndef HTTP_PATH
|
||||
# define HTTP_PATH "/net/http/"
|
||||
#endif
|
||||
|
||||
#endif
|
33
config/blueprint/ports.h
Normal file
33
config/blueprint/ports.h
Normal file
|
@ -0,0 +1,33 @@
|
|||
/* this file shall automatically be generated by psyconf.
|
||||
*
|
||||
* the values in here may be the same as in services.h
|
||||
* or they may not. so always be conscious which ones you
|
||||
* are using to which purpose. -lynX
|
||||
*/
|
||||
|
||||
#echo This is just the demo ports.h. I shouldn't get loaded.
|
||||
#echo If I do, then you didn't run psyconf successfully!!
|
||||
|
||||
#define PSYC_PORT 4404
|
||||
|
||||
#define HTTP_PORT 33333
|
||||
#define HTTPS_PORT 34443
|
||||
|
||||
#define IRC_PORT 6667
|
||||
#define IRCS_PORT 9999
|
||||
|
||||
#define JABBER_PORT 5222
|
||||
#define JABBERS_PORT 5223
|
||||
#define JABBER_S2S_PORT 5269
|
||||
|
||||
#define TELNET_PORT 2323
|
||||
#define TELNETS_PORT
|
||||
|
||||
#define APPLET_PORT 2008
|
||||
|
||||
#define SMTP_PORT
|
||||
#define SMTPS_PORT
|
||||
|
||||
#define NTTP_PORT
|
||||
#define NNTPS_PORT
|
||||
|
68
config/gentoo/ldmud/files/erq/Makefile.in
Normal file
68
config/gentoo/ldmud/files/erq/Makefile.in
Normal file
|
@ -0,0 +1,68 @@
|
|||
|
||||
# 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@ *~
|
2612
config/gentoo/ldmud/files/erq/erq.c
Normal file
2612
config/gentoo/ldmud/files/erq/erq.c
Normal file
File diff suppressed because it is too large
Load diff
60
config/gentoo/ldmud/files/erq/erq.h
Normal file
60
config/gentoo/ldmud/files/erq/erq.h
Normal file
|
@ -0,0 +1,60 @@
|
|||
/* 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__ */
|
215
config/gentoo/ldmud/files/erq/srv.c
Normal file
215
config/gentoo/ldmud/files/erq/srv.c
Normal file
|
@ -0,0 +1,215 @@
|
|||
#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;
|
||||
}
|
||||
|
32
config/gentoo/ldmud/files/erq/srv.h
Normal file
32
config/gentoo/ldmud/files/erq/srv.h
Normal file
|
@ -0,0 +1,32 @@
|
|||
/****************************************************************************
|
||||
** $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
|
||||
|
311
config/gentoo/ldmud/files/psyced.settings
Normal file
311
config/gentoo/ldmud/files/psyced.settings
Normal file
|
@ -0,0 +1,311 @@
|
|||
#!/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-CVS 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
|
Loading…
Add table
Add a link
Reference in a new issue