fixed connect code in client.pl so it doesn't falsely recognise /spider
authordjk <djk>
Thu, 30 Mar 2000 22:51:14 +0000 (22:51 +0000)
committerdjk <djk>
Thu, 30 Mar 2000 22:51:14 +0000 (22:51 +0000)
/src/client as a 'client' directive.
Tidied up the C client a bit

Changes
perl/client.pl
src/chain.c
src/client.c
src/sel.c

diff --git a/Changes b/Changes
index 8186cb05deece3f442b44c2e890bef0389e17231..581d0660d2cc98aec9bc7621023a93d5e1052855 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,3 +1,6 @@
+30Mar00=======================================================================
+1. altered client.pl connect code so that it doesn't falsely recognise 
+/spider/src/client as a 'client' instruction.
 28Mar00=======================================================================
 1. Added buffering to client 
 2. Fixed LOGIN so that you can login with an arbitrary callsign
index 642f80c6e0bf6b54604dbdf2758820bc035fde53..bc2d46c7f9b2e322b55275f1991b91fd51133e8b 100755 (executable)
@@ -428,8 +428,8 @@ if ($connsort eq "connect") {
                doconnect($1, $2) if /^\s*co\w*\s+(\w+)\s+(.*)$/io;
                doabort($1) if /^\s*a\w*\s+(.*)/io;
                dotimeout($1) if /^\s*t\w*\s+(\d+)/io;
-               dochat($1, $2) if /\s*\'(.*)\'\s+\'(.*)\'/io;
-               if (/\s*cl\w+\s+(.*)/io) {
+               dochat($1, $2) if /^\s*\'(.*)\'\s+\'(.*)\'/io;
+               if (/^\s*cl\w+\s+(.*)/io) {
                        doclient($1);
                        last;
                }
index d3a8be9a88d1c13ae982091de3de7e248bcb707c..89110a959c7644e378f27d0000f4a15b785773df 100755 (executable)
@@ -1,6 +1,10 @@
 /*
  * routines to operate on double linked circular chains
  *
+ * In memoriam ICL George 3
+ *
+ * Copyright (c) 1989 Dirk Koopman
+ *
  * chain_init() - initialise a chain
  * chain_add() - add an item after the ref provided
  * chain_delete() - delete the item
  *
  * $Header$
  *
- * $Log$
- * Revision 1.2  2000-03-26 14:22:59  djk
- * removed some irrelevant log info
- *
- * Revision 1.1  2000/03/26 00:03:30  djk
- * first cut of client
- *
- * Revision 1.4  1998/01/02 19:39:58  djk
- * made various changes to cope with glibc
- * fixed problem with extended status in etsi_router
- *
- * Revision 1.3  1997/01/02 18:46:46  djk
- * Added conv.c from ETSI router
- * Changed qerror.c to use syslog rather than qerror.log
- * removed all the map27 stuff into a separate directory
- * added dump.c (a debugging tool for dumping frames of data)
- *
- * Revision 1.1  1996/08/08 11:33:44  djk
- * Initial revision
- *
- * Revision 1.2  1995/04/21  16:02:51  djk
- * remove rcs id
- *
- * Revision 1.1  1995/03/04  11:46:26  djk
- * Initial revision
- *
- * Revision 1.2  1995/01/24  15:09:39  djk
- * Changed Indent to Id in rcsid
- *
- * Revision 1.1  1995/01/24  15:06:28  djk
- * Initial revision
- *
- * Revision 1.3  91/03/08  13:21:56  dlp
- * changed the chain broken checks to dlpabort for dlperror
- * 
- * Revision 1.2  90/09/15  22:37:39  dlp
- * checked in with -k by dirk at 91.02.20.15.53.51.
- * 
- * Revision 1.2  90/09/15  22:37:39  dlp
- * *** empty log message ***
- * 
- * Revision 1.1  90/09/15  22:18:23  dlp
- * Initial revision
- * 
  */
 
 #include <stdlib.h>
@@ -223,10 +183,54 @@ reft *chain_new()
        return p;
 }
 
-
-
-
-
-
-
-
+/*
+ * $Log$
+ * Revision 1.3  2000-03-30 22:51:14  djk
+ * fixed connect code in client.pl so it doesn't falsely recognise /spider
+ * /src/client as a 'client' directive.
+ * Tidied up the C client a bit
+ *
+ * Revision 1.2  2000/03/26 14:22:59  djk
+ * removed some irrelevant log info
+ *
+ * Revision 1.1  2000/03/26 00:03:30  djk
+ * first cut of client
+ *
+ * Revision 1.4  1998/01/02 19:39:58  djk
+ * made various changes to cope with glibc
+ * fixed problem with extended status in etsi_router
+ *
+ * Revision 1.3  1997/01/02 18:46:46  djk
+ * Added conv.c from ETSI router
+ * Changed qerror.c to use syslog rather than qerror.log
+ * removed all the map27 stuff into a separate directory
+ * added dump.c (a debugging tool for dumping frames of data)
+ *
+ * Revision 1.1  1996/08/08 11:33:44  djk
+ * Initial revision
+ *
+ * Revision 1.2  1995/04/21  16:02:51  djk
+ * remove rcs id
+ *
+ * Revision 1.1  1995/03/04  11:46:26  djk
+ * Initial revision
+ *
+ * Revision 1.2  1995/01/24  15:09:39  djk
+ * Changed Indent to Id in rcsid
+ *
+ * Revision 1.1  1995/01/24  15:06:28  djk
+ * Initial revision
+ *
+ * Revision 1.3  91/03/08  13:21:56  dlp
+ * changed the chain broken checks to dlpabort for dlperror
+ * 
+ * Revision 1.2  90/09/15  22:37:39  dlp
+ * checked in with -k by dirk at 91.02.20.15.53.51.
+ * 
+ * Revision 1.2  90/09/15  22:37:39  dlp
+ * *** empty log message ***
+ * 
+ * Revision 1.1  90/09/15  22:18:23  dlp
+ * Initial revision
+ * 
+ */
index fb7e5c137ccd12711061bf054882eb8f193a4e05..8c52d53ffa921839d491a76ed137c0aeccfef971 100644 (file)
@@ -46,6 +46,7 @@
 
 #define DEFPACLEN 128
 #define MAXPACLEN 236
+#define MAXCALLSIGN 9
 
 #define DBUF 1
 #define DMSG 2
@@ -91,22 +92,22 @@ int tabsize = 8;                            /* default tabsize for text messages */
 
 myregex_t iscallreg[] = {              /* regexes to determine whether this is a reasonable callsign */
        {
-               "^[A-Z]+[0-9]+[A-Z]+[1-9]?$", 0
+               "^[A-Z]+[0-9]+[A-Z]+[1-9]?$", 0                /* G1TLH G1TLH1 */
        },
        {
-               "^[0-9]+[A-Z]+[0-9]+[A-Z]+[1-9]?$", 0
+               "^[0-9]+[A-Z]+[0-9]+[A-Z]+[1-9]?$", 0          /* 2E0AAA 2E0AAA1 */
        },
        {
-               "^[A-Z]+[0-9]+[A-Z]+[1-9]?-[1-9]$", 0
+               "^[A-Z]+[0-9]+[A-Z]+-[1-9]$", 0                /* G1TLH-2 */
        },
        {
-               "^[0-9]+[A-Z]+[0-9]+[A-Z]+[1-9]?-[1-9]$", 0
+               "^[0-9]+[A-Z]+[0-9]+[A-Z]+-[1-9]$", 0          /* 2E0AAA-2 */
        },
        {
-               "^[A-Z]+[0-9]+[A-Z]+[1-9]?-1[0-5]$", 0
+               "^[A-Z]+[0-9]+[A-Z]+-1[0-5]$", 0               /* G1TLH-11 */
        },
        {
-               "^[0-9]+[A-Z]+[0-9]+[A-Z]+[1-9]?-1[0-5]$", 0
+               "^[0-9]+[A-Z]+[0-9]+[A-Z]+-1[0-5]$", 0         /* 2E0AAA-11 */
        },
        {
                0, 0
@@ -168,6 +169,10 @@ int xopen(char *dir, char *name, int mode)
 int iscallsign(char *s)
 {
        myregex_t *rp;
+
+       if (strlen(s) > MAXCALLSIGN)
+               return 0;
+       
        for (rp = iscallreg; rp->in; ++rp) {
                if (regexec(rp->regex, s, 0, 0, 0) == 0)
                        return 1;
@@ -212,7 +217,7 @@ void send_text(fcb_t *f, char *s, int l)
                f->obuf = mp = cmsg_new(paclen+1, f->sort, f);
        }
 
-       /* ignore trailing spaces  */
+       /* remove trailing spaces  */
        while (l > 0 &&isspace(s[l-1]))
                --l;
 
index e67a58d6b3ba04fb02333c85145c66c709c4d449..a15ed0ec1b1a5695c03ebcbddf5454941dcc056c 100755 (executable)
--- a/src/sel.c
+++ b/src/sel.c
@@ -183,12 +183,17 @@ int sel_error(sel_t *sp, int err)
        int r = sp->err;
        if (err >= 0)
                sp->err = err;
-       return err;
+       return r;
 }
 
 /*
  * $Log$
- * Revision 1.2  2000-03-26 14:22:59  djk
+ * Revision 1.3  2000-03-30 22:51:14  djk
+ * fixed connect code in client.pl so it doesn't falsely recognise /spider
+ * /src/client as a 'client' directive.
+ * Tidied up the C client a bit
+ *
+ * Revision 1.2  2000/03/26 14:22:59  djk
  * removed some irrelevant log info
  *
  * Revision 1.1  2000/03/26 00:03:30  djk