diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2015-05-02 00:19:09 +0200 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2015-05-02 00:19:09 +0200 |
commit | 56e847dae8f585254c6b336ea557bd75a0574711 (patch) | |
tree | 7e775ea62e06caa505e7ad017e17bbc0800d8ab3 /kiss | |
parent | 62ceba5818d888041adbd466e8c67a8104bcf4fa (diff) | |
parent | 67d85b3d5cf145a5bf0a1431d6052473b017daa9 (diff) |
Merge branch 'master' of git://git.linux-ax25.org/pub/scm/ralf/ax25-tools
Conflicts:
ax25/axspawn.c
Diffstat (limited to 'kiss')
-rw-r--r-- | kiss/Makefile.am | 8 | ||||
-rw-r--r-- | kiss/kissattach.c | 106 | ||||
-rw-r--r-- | kiss/kissnetd.c | 96 | ||||
-rw-r--r-- | kiss/kissparms.8 | 2 | ||||
-rw-r--r-- | kiss/kissparms.c | 164 | ||||
-rw-r--r-- | kiss/mkiss.c | 51 | ||||
-rw-r--r-- | kiss/net2kiss.c | 121 |
7 files changed, 272 insertions, 276 deletions
diff --git a/kiss/Makefile.am b/kiss/Makefile.am index 120afb4..1fcdc6a 100644 --- a/kiss/Makefile.am +++ b/kiss/Makefile.am @@ -5,16 +5,14 @@ sbin_PROGRAMS = kissattach kissnetd kissparms mkiss net2kiss LDADD= $(AX25_LIB) -man_MANS = kissattach.8 spattach.8 kissnetd.8 kissparms.8 mkiss.8 net2kiss.8 - -EXTRA_DIST = $(man_MANS) +dist_man_MANS = kissattach.8 spattach.8 kissnetd.8 kissparms.8 mkiss.8 \ + net2kiss.8 INCLUDES = -DAX25_SYSCONFDIR=\""$(AX25_SYSCONFDIR)"\" \ - -DAX25_LOCALSTATEDIR=\""$(AX25_LOCALSTATEDIR)"\" + -DAX25_LOCALSTATEDIR=\""$(AX25_LOCALSTATEDIR)"\" AX25_SYSCONFDIR=${sysconfdir}/ax25/ AX25_LOCALSTATEDIR=${localstatedir}/ax25/ install-exec-hook: (cd $(DESTDIR)$(sbindir) ; ln -sf kissattach spattach) - diff --git a/kiss/kissattach.c b/kiss/kissattach.c index 6ed66a2..e30ed05 100644 --- a/kiss/kissattach.c +++ b/kiss/kissattach.c @@ -33,15 +33,15 @@ #endif static char *callsign; -static int speed = 0; -static int mtu = 0; +static int speed; +static int mtu; static int logging = FALSE; -static char *progname = NULL; -static char *kttyname = NULL; -static char *portname = NULL; -static char *inetaddr = NULL; -static int allow_broadcast = 0; -static int i_am_unix98_pty_master = 0; /* unix98 ptmx support */ +static char *progname; +static char *kttyname; +static char *portname; +static char *inetaddr; +static int allow_broadcast; +static int i_am_unix98_pty_master; /* unix98 ptmx support */ static char *kiss_basename(char *s) { @@ -67,16 +67,16 @@ static int readconfig(char *port) FILE *fp; char buffer[90], *s; int n = 0; - + if ((fp = fopen(CONF_AXPORTS_FILE, "r")) == NULL) { - fprintf(stderr, "%s: cannot open axports file %s\n", - progname, CONF_AXPORTS_FILE); + fprintf(stderr, "%s: cannot open axports file %s\n", + progname, CONF_AXPORTS_FILE); return FALSE; } while (fgets(buffer, 90, fp) != NULL) { n++; - + if ((s = strchr(buffer, '\n')) != NULL) *s = '\0'; @@ -87,10 +87,10 @@ static int readconfig(char *port) fprintf(stderr, "%s: unable to parse line %d of the axports file\n", progname, n); return FALSE; } - + if (strcmp(s, port) != 0) continue; - + if ((s = strtok(NULL, " \t\r\n")) == NULL) { fprintf(stderr, "%s: unable to parse line %d of the axports file\n", progname, n); return FALSE; @@ -118,14 +118,14 @@ static int readconfig(char *port) } fclose(fp); - + return TRUE; } - + fclose(fp); fprintf(stderr, "%s: cannot find port %s in axports\n", progname, port); - + return FALSE; } @@ -136,7 +136,7 @@ static int setifcall(int fd, char *name) if (ax25_aton_entry(name, call) == -1) return FALSE; - + if (ioctl(fd, SIOCSIFHWADDR, call) != 0) { close(fd); fprintf(stderr, "%s: ", progname); @@ -152,7 +152,7 @@ static int startiface(char *dev, struct hostent *hp) { struct ifreq ifr; int fd; - + if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) { fprintf(stderr, "%s: ", progname); perror("socket"); @@ -160,10 +160,10 @@ static int startiface(char *dev, struct hostent *hp) } strcpy(ifr.ifr_name, dev); - + if (hp != NULL) { ifr.ifr_addr.sa_family = AF_INET; - + ifr.ifr_addr.sa_data[0] = 0; ifr.ifr_addr.sa_data[1] = 0; ifr.ifr_addr.sa_data[2] = hp->h_addr_list[0][0]; @@ -206,15 +206,15 @@ static int startiface(char *dev, struct hostent *hp) perror("SIOCSIFFLAGS"); return FALSE; } - + close(fd); - + return TRUE; } static void usage(void) { - fprintf(stderr, "usage: %s [-b] [-l] [-m mtu] [-v] tty port [inetaddr]\n", progname); + fprintf(stderr, "usage: %s [-b] [-l] [-m mtu] [-v] tty port [inetaddr]\n", progname); } int main(int argc, char *argv[]) @@ -224,7 +224,7 @@ int main(int argc, char *argv[]) char dev[64]; int v = 4; char *namepts = NULL; /* name of the unix98 pts slave, which - * the client has to use */ + * the client has to use */ struct hostent *hp = NULL; progname = kiss_basename(argv[0]); @@ -234,32 +234,32 @@ int main(int argc, char *argv[]) while ((fd = getopt(argc, argv, "b6i:lm:v")) != -1) { switch (fd) { - case '6': - disc = N_6PACK; - break; - case 'b': - allow_broadcast = 1; - break; - case 'i': - fprintf(stderr, "%s: -i flag depreciated, use new command line format instead.\n", progname); - inetaddr = optarg; - break; - case 'l': - logging = TRUE; - break; - case 'm': - if ((mtu = atoi(optarg)) <= 0) { - fprintf(stderr, "%s: invalid mtu size - %s\n", progname, optarg); - return 1; - } - break; - case 'v': - printf("%s: %s\n", progname, VERSION); - return 0; - case ':': - case '?': - usage(); + case '6': + disc = N_6PACK; + break; + case 'b': + allow_broadcast = 1; + break; + case 'i': + fprintf(stderr, "%s: -i flag depreciated, use new command line format instead.\n", progname); + inetaddr = optarg; + break; + case 'l': + logging = TRUE; + break; + case 'm': + if ((mtu = atoi(optarg)) <= 0) { + fprintf(stderr, "%s: invalid mtu size - %s\n", progname, optarg); return 1; + } + break; + case 'v': + printf("%s: %s\n", progname, VERSION); + return 0; + case ':': + case '?': + usage(); + return 1; } } @@ -291,7 +291,7 @@ int main(int argc, char *argv[]) if (!readconfig(portname)) return 1; - if (inetaddr && (hp = gethostbyname(inetaddr)) == NULL) { + if (inetaddr && (hp = gethostbyname(inetaddr)) == NULL) { fprintf(stderr, "%s: invalid internet name/address - %s\n", progname, inetaddr); return 1; } @@ -325,7 +325,7 @@ int main(int argc, char *argv[]) if (ioctl(fd, TIOCSETD, &disc) == -1) { fprintf(stderr, "%s: Error setting line discipline: ", progname); perror("TIOCSETD"); - fprintf(stderr, "Are you sure you have enabled %s support in the kernel\n", + fprintf(stderr, "Are you sure you have enabled %s support in the kernel\n", disc == N_AX25 ? "MKISS" : "6PACK"); fprintf(stderr, "or, if you made it a module, that the module is loaded?\n"); return 1; @@ -349,7 +349,7 @@ int main(int argc, char *argv[]) /* ax25 ifaces should not really need to have an IP address assigned to */ if (!startiface(dev, hp)) - return 1; + return 1; printf("AX.25 port %s bound to device %s\n", portname, dev); if (i_am_unix98_pty_master) { diff --git a/kiss/kissnetd.c b/kiss/kissnetd.c index d993e4a..8c8fce9 100644 --- a/kiss/kissnetd.c +++ b/kiss/kissnetd.c @@ -8,7 +8,7 @@ * * F1OAT 960804 - Frederic RIBLE */ - + #include <stdio.h> #define __USE_XOPEN #include <stdlib.h> @@ -25,7 +25,7 @@ #include <limits.h> static char *Version = "1.5"; -static int VerboseMode = 0; +static int VerboseMode; static int MaxFrameSize = 512; #define REOPEN_TIMEOUT 30 /* try tio reopen every 10 s */ @@ -36,14 +36,14 @@ struct PortDescriptor { unsigned char *FrameBuffer; int BufferIndex; time_t TimeLastOpen; - char namepts[PATH_MAX]; /* name of the unix98 pts slaves, which - * the client has to use */ + char namepts[PATH_MAX]; /* name of the unix98 pts slaves, which + * the client has to use */ int is_active; }; static struct PortDescriptor *PortList[FD_SETSIZE]; -static int NbPort = 0; +static int NbPort; static void Usage(void) { @@ -52,7 +52,7 @@ static void Usage(void) fprintf(stderr, " -f size : Set max frame size to size bytes (default 512)\n"); fprintf(stderr, " -p num : Number of /dev/ptmx-master-devices has to open\n"); exit(1); -} +} static void Banner(int Small) { @@ -64,7 +64,7 @@ static void Banner(int Small) printf("* Network broadcast between kiss ports *\n"); printf("* ATEPRA FPAC/Linux Project *\n"); printf("****************************************\n"); - printf("* kissnetd Version %-4s *\n", Version); + printf("* kissnetd Version %-4s *\n", Version); printf("* by Frederic RIBLE F1OAT *\n"); printf("****************************************\n"); } @@ -73,23 +73,23 @@ static void Banner(int Small) static void NewPort(char *Name) { struct PortDescriptor *MyPort; - + if (VerboseMode) { printf("Opening port %s\n", Name); } - + if (NbPort == FD_SETSIZE) { fprintf(stderr, "Cannot handle %s : too many ports\n", Name); exit(1); } - + MyPort = calloc(sizeof(struct PortDescriptor), 1); if (MyPort) MyPort->FrameBuffer = calloc(sizeof (unsigned char), MaxFrameSize); if (!MyPort || !MyPort->FrameBuffer) { perror("cannot allocate port descriptor"); exit(1); } - + strncpy(MyPort->Name, Name, PATH_MAX-1); MyPort->Name[PATH_MAX-1] = '\0'; MyPort->Fd = -1; @@ -104,17 +104,17 @@ static void ReopenPort(int PortNumber) { char MyString[80]; PortList[PortNumber]->TimeLastOpen = time(NULL); - + if (VerboseMode) { printf("Reopening port %d\n", PortNumber); } - + if (PortList[PortNumber]->namepts[0] == '\0') { - + syslog(LOG_WARNING, "kissnetd : Opening port %s\n", PortList[PortNumber]->Name); PortList[PortNumber]->Fd = open(PortList[PortNumber]->Name, O_RDWR | O_NONBLOCK); if (PortList[PortNumber]->Fd < 0) { - syslog(LOG_WARNING, "kissnetd : Error opening port %s : %s\n", + syslog(LOG_WARNING, "kissnetd : Error opening port %s : %s\n", PortList[PortNumber]->Name, strerror(errno)); if (VerboseMode) { sprintf(MyString, "cannot reopen %s", PortList[PortNumber]->Name); @@ -128,7 +128,7 @@ static void ReopenPort(int PortNumber) /* get name of pts-device */ if ((npts = ptsname(PortList[PortNumber]->Fd)) == NULL) { sprintf(MyString, "Cannot get name of pts-device.\n"); - syslog(LOG_WARNING, "kissnetd : Cannot get name of pts-device\n"); + syslog(LOG_WARNING, "kissnetd : Cannot get name of pts-device\n"); exit(1); } strncpy(PortList[PortNumber]->namepts, npts, PATH_MAX-1); @@ -144,16 +144,16 @@ static void ReopenPort(int PortNumber) } } else { if (PortList[PortNumber]->Fd == -1) { - syslog(LOG_WARNING, "kissnetd : Cannot reopen port ptmx (slave %s) : not supported by ptmx-device\n", - PortList[PortNumber]->namepts); + syslog(LOG_WARNING, "kissnetd : Cannot reopen port ptmx (slave %s) : not supported by ptmx-device\n", + PortList[PortNumber]->namepts); if (VerboseMode) { sprintf(MyString, "cannot reopen ptmx (slave %s).", PortList[PortNumber]->namepts); perror(MyString); } return; } - syslog(LOG_WARNING, "kissnetd : Trying to poll port ptmx (slave %s).\n", - PortList[PortNumber]->namepts); + syslog(LOG_WARNING, "kissnetd : Trying to poll port ptmx (slave %s).\n", + PortList[PortNumber]->namepts); PortList[PortNumber]->is_active = 1; } } @@ -161,14 +161,14 @@ static void ReopenPort(int PortNumber) static void TickReopen(void) { int i; - static int wrote_info = 0; + static int wrote_info; time_t CurrentTime = time(NULL); - + for (i=0; i<NbPort; i++) { if (PortList[i]->Fd >= 0 && PortList[i]->is_active == 1) continue; if ( (CurrentTime - PortList[i]->TimeLastOpen) > REOPEN_TIMEOUT ) ReopenPort(i); } - + if (!wrote_info) { for (i=0; i<NbPort; i++) { if (PortList[i]->namepts[0] != '\0') { @@ -197,37 +197,37 @@ static void Broadcast(int InputPort) { int i; int rc; - + /* Broadcast only info frames */ - + if (PortList[InputPort]->FrameBuffer[1] != 0x00 && \ PortList[InputPort]->FrameBuffer[1] != 0x20 && \ PortList[InputPort]->FrameBuffer[1] != 0x80) return; - + for (i=0; i<NbPort; i++) { int offset = 0; if (i == InputPort) continue; if (PortList[i]->Fd < 0 || PortList[i]->is_active == 0) continue; again: - rc = write(PortList[i]->Fd, - PortList[InputPort]->FrameBuffer+offset, + rc = write(PortList[i]->Fd, + PortList[InputPort]->FrameBuffer+offset, PortList[InputPort]->BufferIndex-offset); if (rc < 0) { if (errno == EAGAIN) { if (PortList[i]->namepts[0] == '\0') - syslog(LOG_WARNING, "kissnetd : write buffer full on port %s. dropping frame. %s", + syslog(LOG_WARNING, "kissnetd : write buffer full on port %s. dropping frame. %s", PortList[i]->Name, strerror(errno)); else - syslog(LOG_WARNING, "kissnetd : write buffer full on ptmx port %s. dropping frame. %s", + syslog(LOG_WARNING, "kissnetd : write buffer full on ptmx port %s. dropping frame. %s", PortList[i]->namepts, strerror(errno)); continue; } if (PortList[i]->namepts[0] == '\0') - syslog(LOG_WARNING, "kissnetd : Error writing to port %s : %s\n", + syslog(LOG_WARNING, "kissnetd : Error writing to port %s : %s\n", PortList[i]->Name, strerror(errno)); else - syslog(LOG_WARNING, "kissnetd : Error writing to port ptmx (slave %s) : %s\n", + syslog(LOG_WARNING, "kissnetd : Error writing to port ptmx (slave %s) : %s\n", PortList[i]->namepts, strerror(errno)); if (VerboseMode) perror("write"); PortList[i]->is_active = 0; @@ -241,7 +241,7 @@ again: printf("Sending %d bytes on port %d : rc=%d\n", PortList[InputPort]->BufferIndex, i, rc); - } + } if (rc < PortList[InputPort]->BufferIndex-offset) { offset += rc; goto again; @@ -255,7 +255,7 @@ static void ProcessInput(int PortNumber) int Length; int i; struct PortDescriptor *MyPort = PortList[PortNumber]; - + Length = read(MyPort->Fd, MyBuffer, sizeof(MyBuffer)); if (VerboseMode) { printf("Read port %d : rc=%d\n", PortNumber, Length); @@ -265,10 +265,10 @@ static void ProcessInput(int PortNumber) if (errno == EAGAIN) return; if (MyPort->namepts[0] == '\0') - syslog(LOG_WARNING, "kissnetd : Error reading from port %s : %s\n", + syslog(LOG_WARNING, "kissnetd : Error reading from port %s : %s\n", PortList[PortNumber]->Name, strerror(errno)); else - syslog(LOG_WARNING, "kissnetd : Error reading from port ptmx (slave %s) : %s\n", + syslog(LOG_WARNING, "kissnetd : Error reading from port ptmx (slave %s) : %s\n", PortList[PortNumber]->namepts, strerror(errno)); if (VerboseMode) perror("read"); MyPort->is_active = 0; @@ -285,11 +285,11 @@ static void ProcessInput(int PortNumber) MyPort->BufferIndex = 1; } } - else { + else { MyPort->FrameBuffer[MyPort->BufferIndex++] = MyBuffer[i]; if (MyBuffer[i] == 0xC0) { Broadcast(PortNumber); - MyPort->BufferIndex = 1; + MyPort->BufferIndex = 1; } } } @@ -300,19 +300,19 @@ static void ProcessPortList(void) static fd_set MyFdSet; int i, rc; struct timeval Timeout; - + Timeout.tv_sec = 1; Timeout.tv_usec = 0; - + FD_ZERO(&MyFdSet); for (i=0; i<NbPort; i++) { if (PortList[i]->Fd >= 0 && PortList[i]->is_active) FD_SET(PortList[i]->Fd, &MyFdSet); } rc = select(FD_SETSIZE, &MyFdSet, NULL, NULL, &Timeout); - + if (VerboseMode) printf("select : rc=%d\n", rc); if (!rc ) TickReopen(); - + if (rc > 0) { for (i=0; i<NbPort && rc; i++) { if (PortList[i]->Fd < 0) continue; @@ -321,7 +321,7 @@ static void ProcessPortList(void) rc--; } } - } + } } static void ProcessArgv(int argc, char *argv[]) @@ -329,7 +329,7 @@ static void ProcessArgv(int argc, char *argv[]) int opt; int i=0; int ptmxdevices = 0; - + while ((opt = getopt(argc, argv, "vf:p:")) != -1) { switch (opt) { case 'v': @@ -353,7 +353,7 @@ static void ProcessArgv(int argc, char *argv[]) exit(1); } } - + while (optind < argc) NewPort(argv[optind++]); @@ -364,7 +364,7 @@ static void ProcessArgv(int argc, char *argv[]) } -int main(int argc, char *argv[]) +int main(int argc, char *argv[]) { if (argc < 2) { Banner(0); @@ -373,8 +373,8 @@ int main(int argc, char *argv[]) else { Banner(1); } - + ProcessArgv(argc, argv); while (1) ProcessPortList(); - return 0; + return 0; } diff --git a/kiss/kissparms.8 b/kiss/kissparms.8 index 99dfd64..8d2f57e 100644 --- a/kiss/kissparms.8 +++ b/kiss/kissparms.8 @@ -2,7 +2,7 @@ .SH NAME kissparms \- Configure KISS TNCs. .SH SYNOPSIS -.B kissparms [-c crc-type] -p <port> [-f y|n] [-h hw] [-l txtail] [-r pers] [-s slot] [-t txd] [-e feclevel] [-v] [-x] [-X raw] +.B kissparms [-c crc-type] -p <port> [-f y|n] [-h hw] [-l txtail] [-r pers] [-s slot] [-t txd] [-e feclevel] [-v] [-x] [-X raw] .SH DESCRIPTION .LP .B Kissparms diff --git a/kiss/kissparms.c b/kiss/kissparms.c index 9d7192c..fc57f7b 100644 --- a/kiss/kissparms.c +++ b/kiss/kissparms.c @@ -10,7 +10,7 @@ #include <netinet/in.h> #include <net/if.h> -#ifdef __GLIBC__ +#ifdef __GLIBC__ #include <net/ethernet.h> #else #include <linux/if_ether.h> @@ -58,96 +58,96 @@ int main(int argc, char *argv[]) while ((s = getopt(argc, argv, "c:e:f:h:l:p:r:s:t:X:vx")) != -1) { switch (s) { - case 'c': - crcmode = atoi(optarg); - break; - case 'e': - feclevel = atoi(optarg); - if (feclevel < 0 || feclevel > 3) { - fprintf(stderr, "kissparms: invalid FEC level value\n"); - return 1; - } - break; + case 'c': + crcmode = atoi(optarg); + break; + case 'e': + feclevel = atoi(optarg); + if (feclevel < 0 || feclevel > 3) { + fprintf(stderr, "kissparms: invalid FEC level value\n"); + return 1; + } + break; - case 'f': - if (*optarg != 'y' && *optarg != 'n') { - fprintf(stderr, "kissparms: invalid full duplex setting\n"); - return 1; - } - fulldup = *optarg == 'y'; - break; + case 'f': + if (*optarg != 'y' && *optarg != 'n') { + fprintf(stderr, "kissparms: invalid full duplex setting\n"); + return 1; + } + fulldup = *optarg == 'y'; + break; - case 'l': - txtail = atoi(optarg) / 10; - if (txtail < 0 || txtail > 255) { - fprintf(stderr, "kissparms: invalid txtail value\n"); - return 1; - } - break; + case 'l': + txtail = atoi(optarg) / 10; + if (txtail < 0 || txtail > 255) { + fprintf(stderr, "kissparms: invalid txtail value\n"); + return 1; + } + break; - case 'h': - hardware = atoi(optarg); - if (hardware < 0 || hardware > 255) { - fprintf(stderr, "kissparms: invalid hardware value\n"); - return 1; - } - break; + case 'h': + hardware = atoi(optarg); + if (hardware < 0 || hardware > 255) { + fprintf(stderr, "kissparms: invalid hardware value\n"); + return 1; + } + break; - case 'p': - port = optarg; - if (ax25_config_get_addr(port) == NULL) { - fprintf(stderr, "kissparms: invalid port name - %s\n", port); - return 1; - } - break; + case 'p': + port = optarg; + if (ax25_config_get_addr(port) == NULL) { + fprintf(stderr, "kissparms: invalid port name - %s\n", port); + return 1; + } + break; - case 'r': - persist = atoi(optarg); - if (persist < 0 || persist > 255) { - fprintf(stderr, "kissparms: invalid persist value\n"); - return 1; - } - break; + case 'r': + persist = atoi(optarg); + if (persist < 0 || persist > 255) { + fprintf(stderr, "kissparms: invalid persist value\n"); + return 1; + } + break; - case 's': - slottime = atoi(optarg) / 10; - if (slottime < 0 || slottime > 255) { - fprintf(stderr, "kissparms: invalid slottime value\n"); - return 1; - } - break; + case 's': + slottime = atoi(optarg) / 10; + if (slottime < 0 || slottime > 255) { + fprintf(stderr, "kissparms: invalid slottime value\n"); + return 1; + } + break; - case 't': - txdelay = atoi(optarg) / 10; - if (txdelay < 0 || txdelay > 255) { - fprintf(stderr, "kissparms: invalid txdelay value\n"); - return 1; - } - break; + case 't': + txdelay = atoi(optarg) / 10; + if (txdelay < 0 || txdelay > 255) { + fprintf(stderr, "kissparms: invalid txdelay value\n"); + return 1; + } + break; - case 'v': - printf("kissparms: %s\n", VERSION); - return 0; + case 'v': + printf("kissparms: %s\n", VERSION); + return 0; - case 'x': - kissoff = 1; - break; + case 'x': + kissoff = 1; + break; - case 'X': - do { - buffer[buflen++] = atoi(optarg); - while (*optarg && isalnum(*optarg & 0xff)) - optarg++; - while (*optarg && isspace(*optarg & 0xff)) - optarg++; - } while (*optarg); - X = 1; - break; - case ':': - case '?': - fprintf(stderr, USAGE); - return 1; + case 'X': + do { + buffer[buflen++] = atoi(optarg); + while (*optarg && isalnum(*optarg & 0xff)) + optarg++; + while (*optarg && isspace(*optarg & 0xff)) + optarg++; + } while (*optarg); + X = 1; + break; + case ':': + case '?': + fprintf(stderr, USAGE); + return 1; } } @@ -250,8 +250,8 @@ rawsend: } } } - + close(s); - + return 0; } diff --git a/kiss/mkiss.c b/kiss/mkiss.c index 4ad4852..6973b4f 100644 --- a/kiss/mkiss.c +++ b/kiss/mkiss.c @@ -32,7 +32,7 @@ * 1.06 23/11/96 Tomi Manninen - Added simple support for polled kiss. * * 1.07 12/24/97 Deti Fliegl - Added Flexnet/BayCom CRC mode with commandline - * parameter -f + * parameter -f * * 1.08 xx/xx/99 Tom Mazouch - Adjustable poll interval */ @@ -78,9 +78,9 @@ static unsigned char ibuf[SIZE]; /* buffer for input operations */ static unsigned char obuf[SIZE]; /* buffer for kiss_tx() */ -static int crc_errors = 0; -static int invalid_ports = 0; -static int return_polls = 0; +static int crc_errors; +static int invalid_ports; +static int return_polls ; static char *usage_string = "usage: mkiss [-p interval] [-c] [-f] [-h] [-l] [-s speed] [-v] [-x <num_ptmx_devices>] ttyinterface pty ..\n"; @@ -89,7 +89,7 @@ static int dump_report = FALSE; static int logging = FALSE; static int crcflag = FALSE; static int hwflag = FALSE; -static int pollspeed = 0; +static int pollspeed; /* CRC-stuff */ typedef unsigned short int u16; @@ -111,12 +111,12 @@ struct iface unsigned long rxbytes; /* RX bytes count */ unsigned long txbytes; /* TX bytes count */ char namepts[PATH_MAX]; /* name of the unix98 pts slaves, which - * the client has to use */ + * the client has to use */ }; -static struct iface *tty = NULL; -static struct iface *pty[16] = { NULL }; -static int numptys = 0; +static struct iface *tty; +static struct iface *pty[16]; +static int numptys; static void init_crc(void) { @@ -143,7 +143,7 @@ static void init_crc(void) static int poll(int fd, int ports) { char buffer[3]; - static int port = 0; + static int port; buffer[0] = FEND; buffer[1] = POLL | (port << 4); @@ -158,14 +158,14 @@ static int poll(int fd, int ports) } static int put_ubyte(unsigned char* s, u16* crc, unsigned char c, int usecrc) -{ - int len = 1; +{ + int len = 1; - if (c == FEND) { + if (c == FEND) { *s++ = FESC; *s++ = TFEND; len++; - } else { + } else { *s++ = c; if (c == FESC) { *s++ = TFESC; @@ -205,7 +205,7 @@ static int kiss_tx(int fd, int port, unsigned char *s, int len, int usecrc) */ *ptr++ = FEND; - if (usecrc == FLEX_CRC) { + if (usecrc == FLEX_CRC) { crc = 0xffff; ptr += put_ubyte(ptr, &crc, CRCTYP, usecrc); c = *s++; @@ -214,12 +214,12 @@ static int kiss_tx(int fd, int port, unsigned char *s, int len, int usecrc) c = (c & 0x0F) | (port << 4); ptr += put_ubyte(ptr, &crc, c, usecrc); } - + /* * For each byte in the packet, send the appropriate * character sequence, according to the SLIP protocol. */ - for(i = 0; i < len - 1; i++) + for (i = 0; i < len - 1; i++) ptr += put_ubyte(ptr, &crc, s[i], usecrc); /* @@ -238,7 +238,7 @@ static int kiss_tx(int fd, int port, unsigned char *s, int len, int usecrc) } break; } - + *ptr++ = FEND; return write(fd, obuf, ptr - obuf); } @@ -255,7 +255,7 @@ static int kiss_rx(struct iface *ifp, unsigned char c, int usecrc) len = 0; /* ...drop frame */ ifp->errors++; } - + if (len != 0) { switch (usecrc) { case G8BPQ_CRC: @@ -334,7 +334,7 @@ static int kiss_rx(struct iface *ifp, unsigned char c, int usecrc) *ifp->optr++ = c; switch (usecrc) { - case G8BPQ_CRC: + case G8BPQ_CRC: ifp->crc ^= c; break; case FLEX_CRC: @@ -393,7 +393,7 @@ static void report(void) crcflag == G8BPQ_CRC ? "en" : "dis"); syslog(LOG_INFO, "FLEX checksumming %sabled.", crcflag == FLEX_CRC ? "en" : "dis"); - + syslog(LOG_INFO, "polling %sabled.", pollspeed ? "en" : "dis"); if (pollspeed) @@ -418,7 +418,6 @@ static void report(void) pty[i]->rxpackets, pty[i]->rxbytes, pty[i]->errors); } - return; } int main(int argc, char *argv[]) @@ -445,13 +444,13 @@ int main(int argc, char *argv[]) hwflag = TRUE; break; case 'l': - logging = TRUE; - break; + logging = TRUE; + break; case 'p': pollspeed = atoi(optarg); pollinterval.tv_sec = pollspeed / 10; pollinterval.tv_usec = (pollspeed % 10) * 100000L; - break; + break; case 's': speed = atoi(optarg); break; @@ -482,7 +481,7 @@ int main(int argc, char *argv[]) return 1; } - numptys = argc - optind - 1; + numptys = argc - optind - 1; if ((numptys + ptmxdevices) > 16) { fprintf(stderr, "mkiss: max 16 pty interfaces allowed.\n"); return 1; diff --git a/kiss/net2kiss.c b/kiss/net2kiss.c index 716107d..1ec8524 100644 --- a/kiss/net2kiss.c +++ b/kiss/net2kiss.c @@ -65,14 +65,14 @@ static int fdif, fdpty; static struct ifreq ifr; static char *progname; -static int verbose = 0; -static int i_am_unix98_pty_master = 0; /* unix98 ptmx support */ -static char *namepts = NULL; /* name of the unix98 pts slave, which - * the client has to use */ +static int verbose; +static int i_am_unix98_pty_master; /* unix98 ptmx support */ +static char *namepts; /* name of the unix98 pts slave, which + * the client has to use */ /* --------------------------------------------------------------------- */ -static void die(char *func) +static void die(char *func) { fprintf(stderr, "%s: %s (%i)%s%s\n", progname, strerror(errno), errno, func ? " in " : "", func ? func : ""); @@ -88,7 +88,7 @@ static void display_packet(unsigned char *bp, unsigned int len) unsigned char v1=1,cmd=0; unsigned char i,j; - if (!bp || !len) + if (!bp || !len) return; if (len < 8) return; @@ -100,24 +100,24 @@ static void display_packet(unsigned char *bp, unsigned int len) cmd = (bp[1] & 2) != 0; printf("fm ? to "); i = (bp[2] >> 2) & 0x3f; - if (i) + if (i) printf("%c",i+0x20); i = ((bp[2] << 4) | ((bp[3] >> 4) & 0xf)) & 0x3f; - if (i) + if (i) printf("%c",i+0x20); i = ((bp[3] << 2) | ((bp[4] >> 6) & 3)) & 0x3f; - if (i) + if (i) printf("%c",i+0x20); i = bp[4] & 0x3f; - if (i) + if (i) printf("%c",i+0x20); i = (bp[5] >> 2) & 0x3f; - if (i) + if (i) printf("%c",i+0x20); i = ((bp[5] << 4) | ((bp[6] >> 4) & 0xf)) & 0x3f; - if (i) + if (i) printf("%c",i+0x20); - printf("-%u QSO Nr %u", bp[6] & 0xf, (bp[0] << 6) | + printf("-%u QSO Nr %u", bp[6] & 0xf, (bp[0] << 6) | (bp[1] >> 2)); bp += 7; len -= 7; @@ -132,33 +132,33 @@ static void display_packet(unsigned char *bp, unsigned int len) cmd = (bp[6] & 0x80); } printf("fm "); - for(i = 7; i < 13; i++) - if ((bp[i] &0xfe) != 0x40) + for (i = 7; i < 13; i++) + if ((bp[i] &0xfe) != 0x40) printf("%c",bp[i] >> 1); printf("-%u to ",(bp[13] >> 1) & 0xf); - for(i = 0; i < 6; i++) - if ((bp[i] &0xfe) != 0x40) + for (i = 0; i < 6; i++) + if ((bp[i] &0xfe) != 0x40) printf("%c",bp[i] >> 1); printf("-%u",(bp[6] >> 1) & 0xf); bp += 14; len -= 14; if ((!(bp[-1] & 1)) && (len >= 7)) printf(" via "); while ((!(bp[-1] & 1)) && (len >= 7)) { - for(i = 0; i < 6; i++) - if ((bp[i] &0xfe) != 0x40) + for (i = 0; i < 6; i++) + if ((bp[i] &0xfe) != 0x40) printf("%c",bp[i] >> 1); printf("-%u",(bp[6] >> 1) & 0xf); bp += 7; len -= 7; - if ((!(bp[-1] & 1)) && (len >= 7)) + if ((!(bp[-1] & 1)) && (len >= 7)) printf(","); } } - if(!len) + if (!len) return; i = *bp++; len--; - j = v1 ? ((i & 0x10) ? '!' : ' ') : + j = v1 ? ((i & 0x10) ? '!' : ' ') : ((i & 0x10) ? (cmd ? '+' : '-') : (cmd ? '^' : 'v')); if (!(i & 1)) { /* @@ -207,7 +207,7 @@ static void display_packet(unsigned char *bp, unsigned int len) printf(" REJ%u%c",(i >> 5) & 7,j); break; default: - printf(" unknown S (0x%x)%u%c", i & 0xf, + printf(" unknown S (0x%x)%u%c", i & 0xf, (i >> 5) & 7, j); break; } @@ -221,29 +221,29 @@ static void display_packet(unsigned char *bp, unsigned int len) j = 0; while (len) { i = *bp++; - if ((i >= 32) && (i < 128)) + if ((i >= 32) && (i < 128)) printf("%c",i); else if (i == 13) { - if (j) + if (j) printf("\n"); j = 0; - } else + } else printf("."); - if (i >= 32) + if (i >= 32) j = 1; len--; } - if (j) + if (j) printf("\n"); } /* ---------------------------------------------------------------------- */ -static int openpty(int *amaster, int *aslave, char *name, +static int openpty(int *amaster, int *aslave, char *name, struct termios *termp, struct winsize *winp) { char line[PATH_MAX]; - const char *cp1, *cp2; + const char *cp1, *cp2; int master, slave; struct group *gr = getgrnam("tty"); @@ -254,10 +254,10 @@ static int openpty(int *amaster, int *aslave, char *name, line[9] = *cp2; if ((master = open(line, O_RDWR, 0)) == -1) { if (errno == ENOENT) - return (-1); /* out of ptys */ + return -1; /* out of ptys */ } else { line[5] = 't'; - (void) chown(line, getuid(), + (void) chown(line, getuid(), gr ? gr->gr_gid : -1); (void) chmod(line, S_IRUSR|S_IWUSR|S_IWGRP); #if 0 @@ -270,11 +270,11 @@ static int openpty(int *amaster, int *aslave, char *name, strcpy(name, line); if (termp) (void) tcsetattr(slave, - TCSAFLUSH, + TCSAFLUSH, termp); if (winp) - (void) ioctl(slave, - TIOCSWINSZ, + (void) ioctl(slave, + TIOCSWINSZ, (char *)winp); return 0; } @@ -284,7 +284,7 @@ static int openpty(int *amaster, int *aslave, char *name, } } errno = ENOENT; /* out of ptys */ - return (-1); + return -1; } /* ---------------------------------------------------------------------- */ @@ -318,22 +318,22 @@ static void restore_ifflags(int signum) /* --------------------------------------------------------------------- */ -static void kiss_overflow(void) +static void kiss_overflow(void) { if (verbose) printf("KISS: packet overflow\n"); } -static void kiss_bad_escape(void) +static void kiss_bad_escape(void) { if (verbose) printf("KISS: bad escape sequence\n"); } -static void display_kiss_packet(char *pfx, unsigned char *pkt, - unsigned int pktlen) +static void display_kiss_packet(char *pfx, unsigned char *pkt, + unsigned int pktlen) { - if (!verbose) + if (!verbose) return; switch (*pkt) { case KISS_CMD_DATA: @@ -344,7 +344,7 @@ static void display_kiss_packet(char *pfx, unsigned char *pkt, case KISS_CMD_TXDELAY: printf("%s: txdelay = %dms\n", pfx, (int)pkt[1] * 10); break; - + case KISS_CMD_PPERSIST: printf("%s: p persistence = %d\n", pfx, pkt[1]); break; @@ -367,8 +367,8 @@ static void display_kiss_packet(char *pfx, unsigned char *pkt, } } -static void kiss_packet(int fdif, char *addr, - unsigned char *pkt, unsigned int pktlen) +static void kiss_packet(int fdif, char *addr, + unsigned char *pkt, unsigned int pktlen) { struct sockaddr to; int i; @@ -392,7 +392,6 @@ static void kiss_packet(int fdif, char *addr, return; } die("sendto"); - return; } /* --------------------------------------------------------------------- */ @@ -404,25 +403,25 @@ static int doio(int fdif, int fdpty, char *ifaddr) unsigned char pktbuf[2048]; unsigned char *pktptr = pktbuf; unsigned char pktstate = KISS_HUNT; - unsigned char obuf[16384]; + unsigned char obuf[16384]; unsigned int ob_wp = 0, ob_rp = 0, ob_wpx; int i; fd_set rmask, wmask; struct sockaddr from; socklen_t from_len; - + #define ADD_CHAR(c) \ obuf[ob_wpx] = c; \ ob_wpx = (ob_wpx + 1) % sizeof(obuf); \ if (ob_wpx == ob_rp) goto kissencerr; - + #define ADD_KISSCHAR(c) \ if (((c) & 0xff) == KISS_FEND) \ - { ADD_CHAR(KISS_FESC); ADD_CHAR(KISS_TFEND); } \ + { ADD_CHAR(KISS_FESC); ADD_CHAR(KISS_TFEND); } \ else if (((c) & 0xff) == KISS_FESC) \ - { ADD_CHAR(KISS_FESC); ADD_CHAR(KISS_TFESC); } \ + { ADD_CHAR(KISS_FESC); ADD_CHAR(KISS_TFESC); } \ else { ADD_CHAR(c); } - + for (;;) { FD_ZERO(&rmask); FD_ZERO(&wmask); @@ -436,9 +435,9 @@ static int doio(int fdif, int fdpty, char *ifaddr) die("select"); if (FD_ISSET(fdpty, &wmask)) { if (ob_rp > ob_wp) - i = write(fdpty, obuf+ob_rp, + i = write(fdpty, obuf+ob_rp, sizeof(obuf)-ob_rp); - else + else i = write(fdpty, obuf+ob_rp, ob_wp - ob_rp); if (i < 0) die("write"); @@ -468,7 +467,7 @@ static int doio(int fdif, int fdpty, char *ifaddr) } if (*bp == KISS_FEND) { kiss_packet(fdif, ifaddr, - pktbuf, + pktbuf, pktptr - pktbuf); pktptr = pktbuf; break; @@ -499,7 +498,7 @@ static int doio(int fdif, int fdpty, char *ifaddr) pktstate = KISS_RX; break; } - } + } } if (FD_ISSET(fdif, &rmask)) { from_len = sizeof(from); @@ -602,7 +601,7 @@ int main(int argc, char *argv[]) slavename[5] = 'p'; master_name = slavename; } else { - if ((fdpty = open(name_pname, + if ((fdpty = open(name_pname, O_RDWR | O_NOCTTY | O_NONBLOCK)) < 0) { fprintf(stderr, "%s: cannot open \"%s\"\n", progname, name_pname); @@ -612,17 +611,17 @@ int main(int argc, char *argv[]) i_am_unix98_pty_master = 1; master_name = name_pname; } - if ((fdif = socket(PF_INET, SOCK_PACKET, proto)) < 0) + if ((fdif = socket(PF_INET, SOCK_PACKET, proto)) < 0) die("socket"); memset(&sa, 0, sizeof(struct sockaddr)); memcpy(sa.sa_data, name_iface, sizeof(sa.sa_data)); sa.sa_family = AF_INET; if (bind(fdif, &sa, sizeof(struct sockaddr)) < 0) - die("bind"); + die("bind"); memcpy(ifr.ifr_name, name_iface, IFNAMSIZ); if (ioctl(fdif, SIOCGIFFLAGS, &ifr) < 0) die("ioctl SIOCGIFFLAGS"); - ifr_new = ifr; + ifr_new = ifr; ifr_new.ifr_flags |= if_newflags; if (ioctl(fdif, SIOCSIFFLAGS, &ifr_new) < 0) die("ioctl SIOCSIFFLAGS"); @@ -639,7 +638,7 @@ int main(int argc, char *argv[]) } /* Users await the slave pty to be referenced in the 2nd line */ printf("Awaiting client connects on\n%s\n", namepts); - if (!verbose){ + if (!verbose) { fflush(stdout); fflush(stderr); close(0); @@ -674,7 +673,7 @@ int main(int argc, char *argv[]) } else { /* * try to reopen master - */ + */ if (verbose) printf("reopening master tty: %s\n", master_name); close(fdpty); |