Browse Source

Add ./tarball_archive/symon-2.65.tar.gz

Wictor Lund 3 years ago
parent
commit
e2520e0fc6
6 changed files with 37 additions and 30 deletions
  1. 8 3
      symon/CHANGELOG
  2. 2 2
      symon/Makefile.inc
  3. 7 18
      symon/lib/lex.c
  4. 2 3
      symon/lib/net.c
  5. 1 1
      symon/ports/symon/Makefile
  6. 17 3
      symon/symux/symuxnet.c

+ 8 - 3
symon/CHANGELOG

@@ -1,4 +1,10 @@
-02/02/2004 - 2.64
+29/02/2004 - 2.65
+
+   - removed erroneous strlen in lex.c (Daniel Hartmeier)
+
+   - added better socket error reporting (Daniel Polak)
+
+27/02/2004 - 2.64
 
    - Added new disk structure. symon has a single notion of "io" - the
      new or the old depending on the machine it was built on. symux
@@ -13,7 +19,6 @@
    - Textual: INSTALL (Jan Sipke van der Veen), error texts in code
      (Stephen Tesch)
 
-
 20/12/2003 - 2.63
 
    - removed large char arrays on the stack that broke name resolution
@@ -328,4 +333,4 @@
 29/09/2001 - Lexer had trouble dealing with ip-addresses. Cleaned up the number
              parsing code and removed a second comment reader.
 
-$Id: CHANGELOG,v 1.28 2004/02/26 22:48:08 dijkstra Exp $
+$Id: CHANGELOG,v 1.29 2004/02/29 21:23:18 dijkstra Exp $

+ 2 - 2
symon/Makefile.inc

@@ -1,6 +1,6 @@
-# $Id: Makefile.inc,v 1.21 2004/02/24 22:13:20 dijkstra Exp $
+# $Id: Makefile.inc,v 1.22 2004/02/29 21:23:19 dijkstra Exp $
 
-V=2.64
+V=2.65
 
 AR=	ar
 CC=	cc

+ 7 - 18
symon/lib/lex.c

@@ -1,4 +1,4 @@
-/* $Id: lex.c,v 1.21 2004/02/27 09:50:18 dijkstra Exp $ */
+/* $Id: lex.c,v 1.23 2004/03/01 07:34:50 dijkstra Exp $ */
 
 /*
  * Copyright (c) 2001-2004 Willem Dijkstra
@@ -129,28 +129,17 @@ lex_readline(struct lex *l)
     bp = l->buffer;
 
     if (l->buffer) {
-	if ((l->curpos < l->endpos) &&
-	    ((l->bsize - l->endpos) < _POSIX2_LINE_MAX)) {
-	    l->bsize += _POSIX2_LINE_MAX;
-	    l->buffer = xrealloc(l->buffer, l->bsize);
-	    bp = l->buffer;
-	    bp += l->endpos;
-	} else {
-	    l->curpos = 0;
-	    l->endpos = 0;
-	}
+	l->curpos = 0;
+	l->endpos = 0;
     } else {
 	l->bsize = _POSIX2_LINE_MAX;
 	l->buffer = xmalloc(l->bsize);
 	bp = l->buffer;
     }
 
-    if (!read(l->fh, bp, (l->buffer + l->bsize) - bp))
-	return 0;
-    else {
-	l->endpos += strlen(bp) - 1;
-	return 1;
-    }
+    l->endpos = read(l->fh, bp, (l->buffer + l->bsize) - bp);
+
+    return (l->endpos > 0);
 }
 /* Copy char out of input stream */
 void
@@ -170,7 +159,7 @@ lex_nextchar(struct lex *l)
 {
     l->curpos++;
 
-    if (l->curpos > l->endpos)
+    if (l->curpos >= l->endpos)
 	if (!lex_readline(l))
 	    return 0;
 

+ 2 - 3
symon/lib/net.c

@@ -1,4 +1,4 @@
-/* $Id: net.c,v 1.10 2004/02/26 22:48:08 dijkstra Exp $ */
+/* $Id: net.c,v 1.11 2004/02/29 21:23:19 dijkstra Exp $ */
 
 /*
  * Copyright (c) 2001-2004 Willem Dijkstra
@@ -46,7 +46,7 @@
  *
  * getip returns 1 if address could be reworked into an ip address. Resolved
  * data is stored in the globals res_host. The address structure res_addr is
- * aslo filled with sockaddr information that was obtained.
+ * also filled with sockaddr information that was obtained.
  */
 char res_host[NI_MAXHOST];
 char res_service[NI_MAXSERV];
@@ -171,7 +171,6 @@ cmpsock_addr(struct sockaddr * first, struct sockaddr * second)
 		 (void *) &((struct sockaddr_in *) second)->sin_addr,
 		 sizeof(struct in_addr)) == 0)
 	    return 1;
-
 	else
 	    return 0;
     }

+ 1 - 1
symon/ports/symon/Makefile

@@ -1,7 +1,7 @@
 # $OpenBSD: Makefile,v 1.10 2004/02/16 20:09:03 sturm Exp $
 
 COMMENT=		"active monitoring tool"
-V=			2.64
+V=			2.65
 DISTNAME=		symon-${V}
 CATEGORIES=		sysutils net
 

+ 17 - 3
symon/symux/symuxnet.c

@@ -1,4 +1,4 @@
-/* $Id: symuxnet.c,v 1.15 2004/02/26 22:48:08 dijkstra Exp $ */
+/* $Id: symuxnet.c,v 1.16 2004/02/29 21:23:19 dijkstra Exp $ */
 
 /*
  * Copyright (c) 2001-2004 Willem Dijkstra
@@ -82,9 +82,23 @@ get_symon_sockets(struct mux * mux)
 		}
 
 		if (bind(mux->symonsocket[family], (struct sockaddr *) & sockaddr,
-			 sockaddr.ss_len) == -1)
+			 sockaddr.ss_len) == -1) {
+		    switch (errno) {
+		    case EADDRNOTAVAIL:
+			warning("mux address %.200s is not a local address", mux->addr);
+			break;
+		    case EADDRINUSE:
+			warning("mux address %.200s %.200s already in use", mux->addr, mux->port);
+			break;
+		    case EACCES:
+			warning("mux port %.200s is restricted from current user", mux->port);
+			break;
+		    }
 		    close(mux->symonsocket[family]);
-		else {
+		    mux->symonsocket[family] = 0;
+
+		} else {
+
 		    if (get_numeric_name(&sockaddr)) {
 			info("getnameinfo error - cannot determine numeric hostname and service");
 			info("listening for incoming symon traffic for family %d", family);