summaryrefslogtreecommitdiffstats
path: root/util
diff options
context:
space:
mode:
authorin2 <in2@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2002-08-20 10:42:36 +0800
committerin2 <in2@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2002-08-20 10:42:36 +0800
commit70148db3434a3d889218972a490437d2f3363036 (patch)
treebd2f9f0695968b8a34524e6fdb84d025b03b928b /util
parent0b5909999dcc7f79f44e1fda88223d24dc612ccf (diff)
downloadpttbbs-70148db3434a3d889218972a490437d2f3363036.tar
pttbbs-70148db3434a3d889218972a490437d2f3363036.tar.gz
pttbbs-70148db3434a3d889218972a490437d2f3363036.tar.bz2
pttbbs-70148db3434a3d889218972a490437d2f3363036.tar.lz
pttbbs-70148db3434a3d889218972a490437d2f3363036.tar.xz
pttbbs-70148db3434a3d889218972a490437d2f3363036.tar.zst
pttbbs-70148db3434a3d889218972a490437d2f3363036.zip
remove OUTTA_CACHE
git-svn-id: http://opensvn.csie.org/pttbbs/pttbbs/trunk/pttbbs@480 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'util')
-rw-r--r--util/.cvsignore2
-rw-r--r--util/Makefile14
-rw-r--r--util/cacheserver.c139
-rw-r--r--util/localserver.c116
4 files changed, 2 insertions, 269 deletions
diff --git a/util/.cvsignore b/util/.cvsignore
index c72037ba..d33e906f 100644
--- a/util/.cvsignore
+++ b/util/.cvsignore
@@ -44,5 +44,3 @@ shmctl
mdclean
splitpasswd
indexuser
-cacheserver
-localserver
diff --git a/util/Makefile b/util/Makefile
index f704a564..81f466a7 100644
--- a/util/Makefile
+++ b/util/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.18 2002/08/17 12:31:56 in2 Exp $
+# $Id: Makefile,v 1.19 2002/08/20 02:42:36 in2 Exp $
BBSHOME?=$(HOME)
OSTYPE!=uname
@@ -30,8 +30,7 @@ CPROGS= bbsmail BM_money post account birth deluserfile expire mandex\
poststat showboard antispam countalldice webgrep bbsrf\
initbbs outmail xchatd userlist tunepasswd buildir reaper shmsweep\
merge_passwd merge_board inndBM buildAnnounce rmuid \
- toplazyBM jungo toplazyBBM shmctl mdclean splitpasswd indexuser \
- cacheserver localserver testoc
+ toplazyBM jungo toplazyBBM shmctl mdclean splitpasswd indexuser
PROGS= $(CPROGS) BM_money.sh backpasswd.sh mailog.sh opendice.sh\
openticket.sh stock.sh topsong.sh weather.sh stock.perl weather.perl\
@@ -169,15 +168,6 @@ mdclean: mdclean.c
splitpasswd: splitpasswd.c
$(CC) $(CFLAGS) -o $@ $@.c
-cacheserver: cacheserver.c
- $(CC) $(CFLAGS) -I/usr/local/include -lavltree -L/usr/local/lib -o $@ $@.c
-
-localserver: localserver.c
- $(CC) $(CFLAGS) -o $@ $@.c
-
-testoc: testoc.c
- $(CC) $(CFLAGS) -o $@ $@.c
-
install: $(PROGS)
install -d $(BBSHOME)/bin/
install -c -m 755 $(PROGS) $(BBSHOME)/bin/
diff --git a/util/cacheserver.c b/util/cacheserver.c
deleted file mode 100644
index cc0e36e3..00000000
--- a/util/cacheserver.c
+++ /dev/null
@@ -1,139 +0,0 @@
-#include "bbs.h"
-#include <err.h>
-#include <avltree.h>
-
-int toaccept(int port);
-void usage(void);
-ssize_t Read(int fd, void *buf, size_t nbytes);
-ssize_t Write(int fd, void *BUF, size_t nbytes)
-{
- char *buf = (char *)BUF;
- size_t thisgot, totalgot = nbytes;
- while( nbytes > 0 ){
- if( (thisgot = write(fd, buf, nbytes)) <= 0 )
- err(1, "read from socket: ");
- nbytes -= thisgot;
- buf += thisgot;
- }
- return totalgot;
-}
-
-
-int main(int argc, char **argv)
-{
- int sfd, len;
- int port = -1;
- char ch;
- OCbuf_t OCbuf;
-
- AVL_IX_DESC ix;
- AVL_IX_REC pe;
- OCstore_t *store;
- //avl_create_index(&ix, AVL_COUNT_DUPS, OC_KEYLEN);
- avl_create_index(&ix, AVL_COUNT_DUPS, 5);
-
- while( (ch = getopt(argc, argv, "p:")) != -1 )
- switch( ch ){
- case 'p':
- port = atoi(optarg);
- break;
- }
- if( port == -1 )
- usage();
-
- while( 1 ){
- sfd = toaccept(port);
- Read(sfd, &len, sizeof(len));
- printf("reading %d bytes\n", len);
- Read(sfd, &OCbuf, len);
- printf("read! pid: %d\n", OCbuf.key.pid);
-
- memset(&pe, 0, sizeof(pe));
- if( OCbuf.key.pid <= 1 ){
- /* garbage collection */
- }
- else if( OCbuf.key.pid < OC_pidadd ){
- /* store */
- puts("swapin");
-
- len = OC_HEADERLEN + OCbuf.length;
- store = (OCstore_t *)malloc(sizeof(time_t) + len);
- store->mtime = time(NULL);
- memcpy(&(store->data), &OCbuf, len);
-
- pe.recptr = (void *)store;
- memcpy(pe.key, &OCbuf.key, OC_KEYLEN);
- if( avl_add_key(&pe, &ix) != AVL_IX_OK )
- puts("add key error");
- }
- else {
- OCbuf.key.pid -= OC_pidadd;
- memcpy(pe.key, &OCbuf.key, OC_KEYLEN);
- if( avl_find_key(&pe, &ix) == AVL_IX_OK ){
- store = (OCstore_t *)pe.recptr;
-
- len = store->data.length + OC_HEADERLEN;
- Write(sfd, &len, sizeof(len));
- Write(sfd, &(store->data), len);
- free(store);
- if( avl_delete_key(&pe, &ix) != AVL_IX_OK )
- puts("delete key error");
- }
- else
- puts("error");
- }
- close(sfd);
- }
- return 0;
-}
-
-int toaccept(int port)
-{
- static int sockfd = 0, len;
- int cfd, val;
- struct sockaddr_in servaddr, clientaddr;
-
- if( sockfd == 0 ){
- if( (sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0 )
- err(1, NULL);
- setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, (char *)&val, sizeof(val));
- setsockopt(sockfd, SOL_SOCKET, SO_REUSEPORT, (char *)&val, sizeof(val));
-
- bzero(&servaddr, sizeof(servaddr));
- servaddr.sin_family = AF_INET;
- servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
- servaddr.sin_port = htons(port);
- if( bind(sockfd, (struct sockaddr *)&servaddr, sizeof(servaddr)) < 0 )
- err(1, NULL);
- if( listen(sockfd, 5) < 0 )
- err(1, NULL);
-
- len = sizeof(struct sockaddr_in);
- }
-
- while( (cfd = accept(sockfd, (struct sockaddr *)&clientaddr, &len)) <= 0 )
- ;
-
- return cfd;
-}
-
-void usage(void)
-{
- fprintf(stderr,
- "usage:\tcacheserver [options]\n"
- "-p port\tlistenport\n");
- exit(0);
-}
-
-ssize_t Read(int fd, void *BUF, size_t nbytes)
-{
- char *buf = (char *)BUF;
- ssize_t thisgot, totalgot = nbytes;
- while( nbytes > 0 ){
- if( (thisgot = read(fd, buf, nbytes)) <= 0 )
- err(1, "read from socket: ");
- nbytes -= thisgot;
- buf += thisgot;
- }
- return totalgot;
-}
diff --git a/util/localserver.c b/util/localserver.c
deleted file mode 100644
index eb90bd6f..00000000
--- a/util/localserver.c
+++ /dev/null
@@ -1,116 +0,0 @@
-#include "bbs.h"
-#include <err.h>
-
-void usage(void);
-int connectserver(char *, int);
-void listennetwork(int, int);
-void listenmsgqueue(int, int);
-
-int main(int argc, char **argv)
-{
- char *host = NULL;
- int port = 0, ch, sfd, msto, mtos;
- pid_t pid;
- while( (ch = getopt(argc, argv, "s:p:")) != -1 )
- switch( ch ){
- case 's':
- host = strdup(optarg);
- break;
- case 'p':
- port = atoi(optarg);
- break;
- default:
- usage();
- }
-
- if( host == NULL || port == 0 )
- usage();
-
- printf("connecting to server %s:%d\n", host, port);
- sfd = connectserver(host, port);
- puts("connected");
-
- puts("attaching message queue");
- if( (msto = msgget(OC_msto, 0600 | IPC_CREAT)) < 0 )
- err(1, "msgget OC_msto");
- if( (mtos = msgget(OC_mtos, 0600 | IPC_CREAT)) < 0 )
- err(1, "msgget OC_mtos");
- puts("attached");
-
- if( (pid = fork()) < 0 )
- err(1, "fork()");
- else if( pid == 0 )
- listennetwork(sfd, msto);
- listenmsgqueue(sfd, mtos);
-
- return 0;
-}
-
-void usage(void)
-{
- fprintf(stderr, "usage:\tlocalserver -s host -p port\n");
- exit(0);
-}
-
-int connectserver(char *host, int port)
-{
- struct sockaddr_in servaddr;
- int fd;
-
- if( (fd = socket(AF_INET, SOCK_STREAM, 0)) < 0 )
- err(1, "socket");
- bzero(&servaddr, sizeof(servaddr));
- servaddr.sin_family = AF_INET;
- inet_pton(AF_INET, host, &servaddr.sin_addr);
- servaddr.sin_port = htons(port);
- if( connect(fd, (struct sockaddr *)&servaddr, sizeof(servaddr)) < 0 )
- err(1, "connect");
- return fd;
-}
-
-void listennetwork(int netfd, int msgfd)
-{
- int len;
- char buf[CACHE_BUFSIZE];
- printf("(%d)listening network %d => message queue %d\n",
- getpid(), netfd, msgfd);
- while( Read(netfd, &len, 4) > 0 ){
- if( Read(netfd, buf, len) < 0 )
- err(1, "(network)read()");
- if( msgsnd(msgfd, buf, len, 0) < 0 )
- err(1, "(network)msgsnd()");
- }
- exit(0);
-}
-
-void listenmsgqueue(int netfd, int msgfd)
-{
- char buf[CACHE_BUFSIZE];
- OCbuf_t *ptr;
- int len;
- printf("(%d)listening message queue %d => network %d\n",
- getpid(), msgfd, netfd);
- while( msgrcv(msgfd, buf, CACHE_BUFSIZE, 0, 0) > 0 ){
- ptr = (OCbuf_t *)buf;
- len = ptr->length + OC_HEADERLEN;
- if( write(netfd, &len, sizeof(len)) < 0 ||
- write(netfd, ptr, ptr->length + OC_HEADERLEN) < 0 )
- err(1, "(msgqueue)write()");
- }
- err(1, "(msgqueue)msgrcv()");
- exit(0);
-}
-
-ssize_t Read(int fd, void *BUF, size_t nbytes)
-{
- char *buf = (char *)BUF;
- size_t thisgot, totalgot = nbytes;
- while( nbytes > 0 ){
- if( (thisgot = read(fd, buf, nbytes)) <= 0 )
- err(1, "read from socket: ");
- nbytes -= thisgot;
- buf += thisgot;
- }
- return totalgot;
-}
-