Update of /cvsroot/netrek/server/Vanilla/ntserv
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv693/ntserv
Modified Files:
Makefile.in commands.c data.c gencmds.c main.c socket.c
Log Message:
libnetrek.a
Index: Makefile.in
===================================================================
RCS file: /cvsroot/netrek/server/Vanilla/ntserv/Makefile.in,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- Makefile.in 10 Apr 2006 10:56:31 -0000 1.4
+++ Makefile.in 22 Apr 2006 11:31:53 -0000 1.5
@@ -1,5 +1,3 @@
-# Change CONFIG to your .mk file
-
VPATH = @srcdir@
srcdir = @srcdir@
@@ -11,25 +9,41 @@
INSTALLPROG = @INSTALL_PROGRAM@
INSTALLDATA = @INSTALL_DATA@
-# Do not edit below here. Everything should be setup in config
+# libnetrek object files
+
+L_OBJS = bay.o \
+ coup.o \
+ data.o db.o detonate.o distress.o \
+ enter.o \
+ feature.o features.o \
+ gencmds.o genspkt.o getpath.o getship.o glog.o \
+ interface.o \
+ ltd_stats.o \
+ openmem.o orbit.o \
+ phaser.o ping.o plasma.o \
+ rsa_key.o reserved.o \
+ salt.o slotmaint.o sintab.o smessage.o socket.o startrobot.o sysdefaults.o \
+ torp.o transwarp.o \
+ util.o \
+ warning.o
# ntserv object files
-R_OBJS = cluecheck.o coup.o data.o db.o death.o detonate.o enter.o \
- findslot.o getentry.o getname.o salt.o getship.o input.o \
+R_OBJS = cluecheck.o coup.o db.o death.o detonate.o enter.o \
+ findslot.o getentry.o getname.o getship.o input.o \
interface.o main.o orbit.o phaser.o plasma.o redraw.o \
reserved.o sintab.o socket.o genspkt.o smessage.o \
startrobot.o sysdefaults.o timecheck.o torp.o util.o \
- warning.o ping.o $(RANDOMO) getpath.o $(STRDUPO) features.o \
+ warning.o ping.o $(RANDOMO) $(STRDUPO) features.o \
distress.o transwarp.o gencmds.o ntscmds.o openmem.o feature.o \
- queue.o slotmaint.o rsa_key.o ltd_stats.o bay.o
+ queue.o slotmaint.o rsa_key.o ltd_stats.o libnetrek.a
# daemonII object files
-D_OBJS = daemonII.o sintab.o sysdefaults.o data.o slotmaint.o \
- util.o $(RANDOMO) getpath.o getship.o smessage.o queue.o \
- wander2.o openmem.o solicit.o ltd_stats.o bay.o
+D_OBJS = daemonII.o sintab.o sysdefaults.o slotmaint.o \
+ util.o $(RANDOMO) getship.o smessage.o queue.o \
+ wander2.o openmem.o solicit.o ltd_stats.o libnetrek.a
# Src files
@@ -48,15 +62,14 @@
${srcdir}/features.c ${srcdir}/distress.c ${srcdir}/transwarp.c \
${srcdir}/gencmds.c ${srcdir}/ntscmds.c ${srcdir}/openmem.c \
${srcdir}/feature.c ${srcdir}/queue.c ${srcdir}/slotmaint.c \
- ${srcdir}/wander2.c ${srcdir}/sysdefaults.c ${srcdir}/rsa_key.c \
- ${srcdir}/bay.c
+ ${srcdir}/wander2.c ${srcdir}/sysdefaults.c ${srcdir}/rsa_key.c
SRC = $(R_FILES) data.h defs.h planets.h struct.h \
packets.h copyright.h
LIBS = $(RSA_LIB) $(EXTRALIBS)
-INCS = $(RSA_INCS) $(EXTRAINCS) -I. -I${srcdir} -I../include -I${srcdir}/../include
+INCS = $(RSA_INCS) $(EXTRAINCS) -I../include
CFLAGS = $(FLAGS) $(INCS)
@@ -71,6 +84,13 @@
daemonII: $(PMAKE) $(D_OBJS)
$(CC) $(CFLAGS) ${LDFLAGS} -o daemonII $(D_OBJS) $(EXTRALIBS)
+libnetrek.a: $(L_OBJS)
+ ar cru $@ $(L_OBJS)
+ ranlib $@
+
+libnetrek.so: $(L_OBJS)
+ gcc -shared -Wl,-soname,$@ -o $@ $(L_OBJS) -lc
+
commands.o: $(PMAKE) ${srcdir}/commands.c
$(CC) $(CFLAGS) $(DEP) -c ${srcdir}/commands.c
@@ -88,12 +108,11 @@
ling $(LINTFLAGS) $(SRC)
clean: rmdependencies
- /bin/rm -f *.o *.ln make.out core
+ /bin/rm -f *.a *.o *.ln make.out core
reallyclean: clean
rm -f ntserv daemonII .motd *~ #*#
-
uninstall:
-cd $(XTREKDIR); rm -f daemonII .motd .sysdef; rm -rf slots
-cd $(LIBDIR); rm -f ntserv ; rm -rf slots
Index: data.c
===================================================================
RCS file: /cvsroot/netrek/server/Vanilla/ntserv/data.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- data.c 27 Sep 2005 12:26:37 -0000 1.3
+++ data.c 22 Apr 2006 11:31:53 -0000 1.4
@@ -26,11 +26,7 @@
int oldalert = PFGREEN; /* Avoid changing more than we have to */
-#ifdef XSG
-int remap[16] = { 0, 1, 2, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0 };
-#else
int remap[9] = { 0, 1, 2, -1, 3, -1, -1, -1, 4 };
-#endif
int reality = 10; /* reality updates per second */
int minskip = 10; /* maximum client updates per second */
int defskip = 5; /* default client updates per second */
@@ -409,3 +405,4 @@
int remoteaddr = -1; /* inet address in net format */
int whitelisted = 0;
int blacklisted = 0;
+int ignored[MAXPLAYER];
Index: commands.c
===================================================================
RCS file: /cvsroot/netrek/server/Vanilla/ntserv/commands.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- commands.c 22 Apr 2006 02:16:46 -0000 1.2
+++ commands.c 22 Apr 2006 11:31:53 -0000 1.3
@@ -1080,7 +1080,6 @@
char *current;
int pcount=0; /* Total players in game */
int vcount=0; /* Number who've voted recently */
- FILE *glog;
int mflag = 0;
int sendto = 0;
@@ -1094,22 +1093,19 @@
#endif
if ( votes[num].tag & VC_GLOG ){
- if (!(glog = fopen(GodLog,"a")) ) /* Log votes for God to see */
- perror(GodLog);
- else {
+ if (glog_open() == 0) { /* Log votes for God to see */
time_t t = time(NULL);
char tbuf[40];
struct tm *tmv = localtime(&t);
#ifdef STRFTIME
- sprintf(tbuf, "%02d/%02d %d/%d", tmv->tm_hour,tmv->tm_min,
- tmv->tm_mday,tmv->tm_mon);
+ sprintf(tbuf, "%02d/%02d %d/%d", tmv->tm_hour,tmv->tm_min,
+ tmv->tm_mday,tmv->tm_mon);
#else
strftime(tbuf, 39, "%R %D", tmv);
#endif
- fprintf(glog, "VOTE: %s %s@%s \"%s\"\n", tbuf, players[who].p_login,
- players[who].p_monitor, comm);
- fclose(glog);
+ glog_printf("VOTE: %s %s@%s \"%s\"\n", tbuf, players[who].p_login,
+ players[who].p_ip, comm);
}
}
@@ -1184,11 +1180,8 @@
pmessage(sendto, mflag, addr_mess(sendto,mflag),
"The motion %s passes", current);
if ( votes[num].tag & VC_GLOG ){
- if (!(glog = fopen(GodLog,"a")) ) /* Log pass for God to see */
- perror(GodLog);
- else {
- fprintf(glog, "VOTE: The motion %s passes\n", current);
- fclose(glog);
+ if (glog_open() == 0) { /* Log pass for God to see */
+ glog_printf("VOTE: The motion %s passes\n", current);
}
}
Index: main.c
===================================================================
RCS file: /cvsroot/netrek/server/Vanilla/ntserv/main.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- main.c 10 Apr 2006 10:38:22 -0000 1.5
+++ main.c 22 Apr 2006 11:31:53 -0000 1.6
@@ -44,9 +44,7 @@
static void printStats(void);
static int checkbanned(char *login, char *host);
-
-int ignored[MAXPLAYER]; /* change 7/24/91 TC */
-
+extern int ignored[MAXPLAYER];
int indie = 0; /* always be indie 8/28/91 TC */
int living = 1; /* our ship is living, reset by death */
@@ -232,6 +230,7 @@
else
STRNCPY(login, "Bozo", NAME_LEN);
login[NAME_LEN - 1] = '\0';
+ endpwent();
strcpy(pseudo, "Guest");
Index: gencmds.c
===================================================================
RCS file: /cvsroot/netrek/server/Vanilla/ntserv/gencmds.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- gencmds.c 21 Mar 2005 05:23:43 -0000 1.1
+++ gencmds.c 22 Apr 2006 11:31:53 -0000 1.2
@@ -49,7 +49,6 @@
{
int i, len;
char *comm;
- FILE *glog;
if (!(mess->m_flags & MINDIV)) return 0; /* double-check */
@@ -89,10 +88,7 @@
/* Record vote in GodLog if C_GLOG is set */
if (cmds[i].tag & C_GLOG )
{
- if (!(glog = fopen(GodLog,"a")) ) /* Log votes for God to see */
- perror(GodLog);
- else
- {
+ if (glog_open() == 0) { /* Log votes for God to see */
time_t t = time(NULL);
char tbuf[40];
struct tm *tmv = localtime(&t);
@@ -103,10 +99,9 @@
#else
strftime(tbuf, 39, "%R %D", tmv);
#endif
- fprintf(glog, "VOTE: %s %s@%s \"%s\"\n", tbuf,
+ glog_printf("VOTE: %s %s@%s \"%s\"\n", tbuf,
players[mess->m_from].p_login,
players[mess->m_from].p_monitor, comm);
- fclose(glog);
}
} /* !C_GLOG */
@@ -117,12 +112,8 @@
{
if ( cmds[i].tag & C_GLOG ) {
- if (!(glog = fopen(GodLog,"a")) ) /* Log pass for God to see */
- perror(GodLog);
- else
- {
- fprintf(glog, "VOTE: The motion %s passes\n", comm);
- fclose(glog);
+ if (glog_open() == 0) { /* Log pass for God to see */
+ glog_printf("VOTE: The motion %s passes\n", comm);
}
}
}
Index: socket.c
===================================================================
RCS file: /cvsroot/netrek/server/Vanilla/ntserv/socket.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- socket.c 22 Apr 2006 02:16:46 -0000 1.6
+++ socket.c 22 Apr 2006 11:31:53 -0000 1.7
@@ -300,7 +300,7 @@
#define MAX_NONFAT 10 /* if we have this much left, stop */
#ifdef CHECKMESG
-static FILE *mlog, *glog;
+static FILE *mlog;
#endif
/*int send_short = 0;*/ /* is now in data.c , because of robotII.c */
@@ -507,10 +507,7 @@
if (!mlog) mlog = fopen(MesgLog, "a");
if (!mlog) perror(MesgLog);
}
- if (loggod) {
- if (!glog) glog = fopen(GodLog,"a");
- if (!glog) perror(GodLog);
- }
+ if (loggod) glog_open();
#endif
clientDead=0;
@@ -627,10 +624,7 @@
if(!mlog) mlog = fopen(MesgLog, "a");
if(!mlog) perror(MesgLog);
}
- if(loggod){
- if(!glog) glog = fopen(GodLog, "a");
- if(!glog) perror(GodLog);
- }
+ if (loggod) glog_open();
#endif
if(commMode == COMM_UDP) addSequenceFlags(udpbuf);
@@ -1844,8 +1838,8 @@
if (packet->mesg[0] != '@')
return FALSE;
+ /* FIXME: never freed */
version = (char *)strdup(INDEX(packet->mesg,'@')+1);
- version[strlen(version)] = '\0';
return TRUE;
}
@@ -2841,12 +2835,9 @@
(packet->group & MGOD))){
static int counter = 0;
- if(!glog) {
- ERROR(1,( "ntserv: ERROR, null glog file descriptor\n"));
- return 0;
- }
- fprintf(glog, "%s\n", buf);
- fflush(glog);
+ if(glog_open() != 0) return;
+ glog_printf("%s\n", buf);
+ glog_flush();
counter++;
/* response */