mirror of
https://git.FreeBSD.org/ports.git
synced 2024-10-31 21:57:12 +00:00
0b500ba6a4
First written for the need to open a server socket and read and write to the socket interactively for testing purposes, it quickly evolved into a generic tool providing the socket interface for shell script and interactive use. [Juergen Nickelsen <jn@berlin.snafu.de>]
219 lines
5.5 KiB
Plaintext
219 lines
5.5 KiB
Plaintext
--- Makefile.orig Thu Sep 10 16:59:31 1992
|
|
+++ Makefile Wed Aug 14 16:57:57 1996
|
|
@@ -43,7 +43,8 @@
|
|
### CDC 4680 EP/IX: (I know it *has* setsid(2), but not with bsd43)
|
|
# SWITCHES = -systype bsd43 -DNOSETSID
|
|
|
|
-
|
|
+# FreeBSD 2.x (4.4BSD)
|
|
+SWITCHES=-DHAVE_SYS_PARAM_H -Wall
|
|
|
|
### It should not be necessary to change anything below this line.
|
|
##################################################################
|
|
--- README.orig Wed Sep 9 16:45:16 1992
|
|
+++ README Wed Aug 14 16:57:58 1996
|
|
@@ -166,4 +166,4 @@
|
|
1000 Berlin 10
|
|
Germany
|
|
|
|
- <nickel@cs.tu-berlin.de>
|
|
+Juergen Nickelsen <jn@berlin.snafu.de>
|
|
--- globals.h.orig Sun Aug 30 21:04:27 1992
|
|
+++ globals.h Wed Aug 14 16:57:58 1996
|
|
@@ -8,6 +8,11 @@
|
|
*/
|
|
|
|
#include "patchlevel.h"
|
|
+
|
|
+#if HAVE_SYS_PARAM_H
|
|
+# include <sys/param.h>
|
|
+#endif
|
|
+
|
|
|
|
/* globals for socket */
|
|
|
|
@@ -49,4 +54,7 @@
|
|
extern int crlfflag ;
|
|
extern int active_socket ;
|
|
extern char *progname ;
|
|
-extern char *sys_errlist[], *sys_siglist[] ;
|
|
+
|
|
+#if !(defined(BSD) && (BSD >=199306))
|
|
+ extern char *sys_errlist[], *sys_siglist[] ;
|
|
+#endif
|
|
--- io.c.orig Sun Aug 30 19:15:26 1992
|
|
+++ io.c Wed Aug 14 16:57:58 1996
|
|
@@ -16,6 +16,8 @@
|
|
#endif
|
|
#include <errno.h>
|
|
#include <stdio.h>
|
|
+#include <string.h>
|
|
+#include <unistd.h>
|
|
#include "globals.h"
|
|
|
|
/* read from from, write to to. select(2) has returned, so input
|
|
@@ -90,7 +92,7 @@
|
|
|
|
/* all IO to and from the socket is handled here. The main part is
|
|
* a loop around select(2). */
|
|
-do_io()
|
|
+void do_io()
|
|
{
|
|
fd_set readfds ;
|
|
int fdset_width ;
|
|
--- siglist.c.orig Sun Aug 30 15:50:48 1992
|
|
+++ siglist.c Wed Aug 14 16:57:58 1996
|
|
@@ -32,12 +32,18 @@
|
|
# endif /* !_NSIG */
|
|
#endif /* !NSIG */
|
|
|
|
-char *sys_siglist[NSIG];
|
|
+#if HAVE_SYS_PARAM_H
|
|
+# include <sys/param.h>
|
|
+#endif
|
|
|
|
+#if !(defined(BSD) && (BSD >=199306))
|
|
+char *sys_siglist[NSIG];
|
|
+#endif
|
|
extern *malloc ();
|
|
|
|
-initialize_siglist ()
|
|
+void initialize_siglist ()
|
|
{
|
|
+#if !(defined(BSD) && (BSD >=199306))
|
|
register int i;
|
|
|
|
for (i = 0; i < NSIG; i++)
|
|
@@ -219,4 +225,5 @@
|
|
sprintf (sys_siglist[i], "Unknown Signal #%d", i);
|
|
}
|
|
}
|
|
+#endif /* !(defined(BSD) && (BSD >=199306)) */
|
|
}
|
|
--- socket.1.orig Wed Sep 9 16:38:19 1992
|
|
+++ socket.1 Wed Aug 14 16:57:58 1996
|
|
@@ -158,4 +158,4 @@
|
|
.SH VERSION
|
|
This manual page describes Socket\-1.1.
|
|
.SH AUTHOR
|
|
-Juergen Nickelsen <nickel@cs.tu-berlin.de>
|
|
+Juergen Nickelsen <jn@berlin.snafu.de>
|
|
--- socket.c.orig Wed Sep 9 16:14:34 1992
|
|
+++ socket.c Wed Aug 14 16:57:59 1996
|
|
@@ -18,6 +18,8 @@
|
|
#else
|
|
#include <string.h>
|
|
#endif
|
|
+#include <stdlib.h>
|
|
+#include <unistd.h>
|
|
#include "globals.h"
|
|
|
|
/* global variables */
|
|
@@ -37,6 +39,8 @@
|
|
void server A((int port, char *service_name)) ;
|
|
void handle_server_connection A((void)) ;
|
|
void client A((char *host, int port, char *service_name)) ;
|
|
+extern void init_signals A((void)) ;
|
|
+extern void do_io A((void)) ;
|
|
|
|
int main(argc, argv)
|
|
int argc ;
|
|
@@ -46,7 +50,7 @@
|
|
int opt ; /* option character */
|
|
int error = 0 ; /* usage error occurred */
|
|
extern int optind ; /* from getopt() */
|
|
- char *host ; /* name of remote host */
|
|
+ /* char *host ; */ /* name of remote host */
|
|
int port ; /* port number for socket */
|
|
char *service_name ; /* name of service for port */
|
|
|
|
@@ -58,7 +62,7 @@
|
|
|
|
/* set up progname for later use */
|
|
progname = argv[0] ;
|
|
- if (cp = strrchr(progname, '/')) progname = cp + 1 ;
|
|
+ if ((cp = strrchr(progname, '/'))) progname = cp + 1 ;
|
|
|
|
/* parse options */
|
|
while ((opt = getopt(argc, argv, "bcflp:qrsvw?")) != -1) {
|
|
@@ -185,15 +189,15 @@
|
|
long norder ;
|
|
char dotted[20] ;
|
|
|
|
- he = gethostbyaddr(&sa.sin_addr.s_addr,
|
|
+ he = gethostbyaddr((char *)&sa.sin_addr.s_addr,
|
|
sizeof(sa.sin_addr.s_addr), AF_INET) ;
|
|
if (!he) {
|
|
norder = htonl(sa.sin_addr.s_addr) ;
|
|
sprintf(dotted, "%d.%d.%d.%d",
|
|
- (norder >> 24) & 0xff,
|
|
- (norder >> 16) & 0xff,
|
|
- (norder >> 8) & 0xff,
|
|
- norder & 0xff) ;
|
|
+ (int)((norder >> 24) & 0xff),
|
|
+ (int)((norder >> 16) & 0xff),
|
|
+ (int)((norder >> 8) & 0xff),
|
|
+ (int)(norder & 0xff)) ;
|
|
}
|
|
fprintf(stderr, "connection from %s\n",
|
|
(he ? he->h_name : dotted)) ;
|
|
--- socketp.c.orig Sun Aug 9 03:41:42 1992
|
|
+++ socketp.c Wed Aug 14 16:57:59 1996
|
|
@@ -11,10 +11,16 @@
|
|
#include <sys/socket.h>
|
|
#include <sys/errno.h>
|
|
#include <netinet/in.h>
|
|
+#include <arpa/inet.h>
|
|
#include <netdb.h>
|
|
#include <stdio.h>
|
|
+#include <stdlib.h>
|
|
+#include <string.h>
|
|
+#include <unistd.h>
|
|
#include "globals.h"
|
|
|
|
+extern int is_number A((char *));
|
|
+
|
|
/*
|
|
* create a server socket on PORT accepting QUEUE_LENGTH connections
|
|
*/
|
|
@@ -52,7 +58,7 @@
|
|
{
|
|
struct sockaddr_in sa ;
|
|
struct hostent *hp ;
|
|
- int a, s ;
|
|
+ int s ;
|
|
long addr ;
|
|
|
|
|
|
@@ -76,7 +82,7 @@
|
|
if ((s = socket(sa.sin_family, SOCK_STREAM, 0)) < 0) { /* get socket */
|
|
return -1 ;
|
|
}
|
|
- if (connect(s, &sa, sizeof(sa)) < 0) { /* connect */
|
|
+ if (connect(s, (struct sockaddr *)&sa, sizeof(sa)) < 0) { /* connect */
|
|
close(s) ;
|
|
return -1 ;
|
|
}
|
|
--- utils.c.orig Wed Sep 9 16:31:16 1992
|
|
+++ utils.c Wed Aug 14 16:57:59 1996
|
|
@@ -25,8 +25,10 @@
|
|
#else
|
|
#include <sys/resource.h>
|
|
#endif
|
|
+#include <unistd.h>
|
|
#include "globals.h"
|
|
|
|
+extern void initialize_siglist A((void)) ;
|
|
|
|
/* Signal handler, print message and exit */
|
|
SIG_HANDLER_RET exitsig(sig)
|
|
@@ -70,7 +72,7 @@
|
|
|
|
/* set up signal handling. All except TSTP, CONT, CLD, and QUIT
|
|
* are caught with exitsig(). */
|
|
-init_signals()
|
|
+void init_signals()
|
|
{
|
|
int i ;
|
|
#ifdef SIG_SETMASK /* only with BSD signals */
|