diff options
-rw-r--r-- | ax25ipd/ax25ipd.c | 8 | ||||
-rw-r--r-- | ax25ipd/bpqether.c | 488 | ||||
-rw-r--r-- | ax25ipd/io.c | 22 | ||||
-rw-r--r-- | ax25rtd/ax25rtctl.c | 2 | ||||
-rw-r--r-- | call/call.c | 138 | ||||
-rw-r--r-- | call/dostime.c | 4 | ||||
-rw-r--r-- | listen/ax25dump.c | 60 | ||||
-rw-r--r-- | listen/opentracdump.c | 94 | ||||
-rw-r--r-- | listen/ripdump.c | 18 | ||||
-rw-r--r-- | listen/rosedump.c | 72 |
10 files changed, 453 insertions, 453 deletions
diff --git a/ax25ipd/ax25ipd.c b/ax25ipd/ax25ipd.c index f664e2e..403a7b4 100644 --- a/ax25ipd/ax25ipd.c +++ b/ax25ipd/ax25ipd.c @@ -146,10 +146,10 @@ int main(int argc, char **argv) /* if we get this far without error, let's fork off ! :-) */ if (opt_nofork == 0) { - if (!daemon_start(TRUE)) { - syslog(LOG_DAEMON | LOG_CRIT, "ax25ipd: cannot become a daemon\n"); - return 1; - } + if (!daemon_start(TRUE)) { + syslog(LOG_DAEMON | LOG_CRIT, "ax25ipd: cannot become a daemon\n"); + return 1; + } } /* we need to close stdin, stdout, stderr: because otherwise diff --git a/ax25ipd/bpqether.c b/ax25ipd/bpqether.c index ba675de..b3d7cbe 100644 --- a/ax25ipd/bpqether.c +++ b/ax25ipd/bpqether.c @@ -51,8 +51,8 @@ extern int ttyfd; #define ETHERTAP_HEADER_LEN_MAX ETHERTAP_HEADER_LEN_TUN struct ethertap_packet { - char ethernet_header[18]; - char data[MAX_FRAME]; + char ethernet_header[18]; + char data[MAX_FRAME]; }; unsigned char hwaddr_remote[6]; @@ -63,58 +63,58 @@ static int ethertap_header_len; int send_bpq(unsigned char *buf, int l) { - struct ethertap_packet ethertap_packet; - void *addr = ðertap_packet; - int offset = ETHERTAP_HEADER_LEN_MAX - ethertap_header_len; + struct ethertap_packet ethertap_packet; + void *addr = ðertap_packet; + int offset = ETHERTAP_HEADER_LEN_MAX - ethertap_header_len; - static const unsigned char ethernet_header[18] = { - 0x00, 0x00, 0x00, 0x02, /* ??? ??? ETH_P_AX25 (16bit) */ - 0xfe, 0xfd, 0x00, 0x00, 0x00, 0x00, /* Destination address (kernel et + static const unsigned char ethernet_header[18] = { + 0x00, 0x00, 0x00, 0x02, /* ??? ??? ETH_P_AX25 (16bit) */ + 0xfe, 0xfd, 0x00, 0x00, 0x00, 0x00, /* Destination address (kernel et hertap module) */ - 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, /* Source address (WAMPES etherta + 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, /* Source address (WAMPES etherta p module) */ - 0x08, 0xff /* Protocol (bpqether) */ - }; - - if (l <= 0) - return -1; - - if (l > (sizeof(ethertap_packet.data) - 2)) - l = sizeof(ethertap_packet.data); - memcpy(ethertap_packet.data + 2, buf, l); - memcpy(ethertap_packet.ethernet_header, (const char *) ethernet_header, sizeof(ethernet_header)); - memcpy(ethertap_packet.ethernet_header + 4, hwaddr_remote, 6); - memcpy(ethertap_packet.ethernet_header + 4 + 6 + 2, hwaddr_remote +2, 6 -2); - ethertap_packet.data[0] = (l + 5) % 256; - ethertap_packet.data[1] = (l + 5) / 256; - l += 2; - - /*send_tty(addr + offset, l + sizeof(ethertap_packet.ethernet_header) - offset);*/ - write(ttyfd, addr + offset, l + sizeof(ethertap_packet.ethernet_header) - offset); - return l; + 0x08, 0xff /* Protocol (bpqether) */ + }; + + if (l <= 0) + return -1; + + if (l > (sizeof(ethertap_packet.data) - 2)) + l = sizeof(ethertap_packet.data); + memcpy(ethertap_packet.data + 2, buf, l); + memcpy(ethertap_packet.ethernet_header, (const char *) ethernet_header, sizeof(ethernet_header)); + memcpy(ethertap_packet.ethernet_header + 4, hwaddr_remote, 6); + memcpy(ethertap_packet.ethernet_header + 4 + 6 + 2, hwaddr_remote +2, 6 -2); + ethertap_packet.data[0] = (l + 5) % 256; + ethertap_packet.data[1] = (l + 5) / 256; + l += 2; + + /*send_tty(addr + offset, l + sizeof(ethertap_packet.ethernet_header) - offset);*/ + write(ttyfd, addr + offset, l + sizeof(ethertap_packet.ethernet_header) - offset); + return l; } /*---------------------------------------------------------------------------*/ int receive_bpq(unsigned char *buf, int l) { - if ((l -= ethertap_header_len) <= 0 || - (buf[ethertap_header_len-2] & 0xff) != 0x08 || - (buf[ethertap_header_len-1] & 0xff) != 0xff) { - /* not a bpqether packet. - * drop silently - ethernet.ax25 is not the only protocol spoken - * on ethernet ;) - */ - return -1; - } - l -= 2; - if (l <= 0 && buf[ethertap_header_len] + buf[ethertap_header_len] * 256 - 5 != l) { - /* length error in bpqether packet */ - return 0; - } - - from_kiss(buf + ethertap_header_len + 2, l); - return l; + if ((l -= ethertap_header_len) <= 0 || + (buf[ethertap_header_len-2] & 0xff) != 0x08 || + (buf[ethertap_header_len-1] & 0xff) != 0xff) { + /* not a bpqether packet. + * drop silently - ethernet.ax25 is not the only protocol spoken + * on ethernet ;) + */ + return -1; + } + l -= 2; + if (l <= 0 && buf[ethertap_header_len] + buf[ethertap_header_len] * 256 - 5 != l) { + /* length error in bpqether packet */ + return 0; + } + + from_kiss(buf + ethertap_header_len + 2, l); + return l; } /*---------------------------------------------------------------------------*/ @@ -123,44 +123,44 @@ int receive_bpq(unsigned char *buf, int l) #ifdef TRY_TUNTAP static int tun_alloc(char *dev) { - struct ifreq ifr; - int fd, err; - - if ((fd = open("/dev/net/tun", O_RDWR)) < 0) - return -1; - - memset(&ifr, 0, sizeof(ifr)); - - /* Flags: IFF_TUN - TUN device (no Ethernet headers) - * IFF_TAP - TAP device - * - * IFF_NO_PI - Do not provide packet information - */ - ifr.ifr_flags = IFF_TAP; - if (*dev) { - strncpy(ifr.ifr_name, dev, IFNAMSIZ); - ifr.ifr_name[IFNAMSIZ-1] = 0; - } - - if ((err = ioctl(fd, TUNSETIFF, (void *) &ifr)) < 0 ) { - close(fd); - return err; - } - strcpy(dev, ifr.ifr_name); - - /* persist mode */ + struct ifreq ifr; + int fd, err; + + if ((fd = open("/dev/net/tun", O_RDWR)) < 0) + return -1; + + memset(&ifr, 0, sizeof(ifr)); + + /* Flags: IFF_TUN - TUN device (no Ethernet headers) + * IFF_TAP - TAP device + * + * IFF_NO_PI - Do not provide packet information + */ + ifr.ifr_flags = IFF_TAP; + if (*dev) { + strncpy(ifr.ifr_name, dev, IFNAMSIZ); + ifr.ifr_name[IFNAMSIZ-1] = 0; + } + + if ((err = ioctl(fd, TUNSETIFF, (void *) &ifr)) < 0 ) { + close(fd); + return err; + } + strcpy(dev, ifr.ifr_name); + + /* persist mode */ #if 0 - if (ioctl(fd, TUNSETPERSIST, 1) < 0) - perror("TUNSETPERSIST"); + if (ioctl(fd, TUNSETPERSIST, 1) < 0) + perror("TUNSETPERSIST"); #endif - /* don't checksum */ + /* don't checksum */ #if 0 - if (ioctl(fd, TUNSETNOCSUM, 1) < 0) - perror("TUNSETNOCSUM"); + if (ioctl(fd, TUNSETNOCSUM, 1) < 0) + perror("TUNSETNOCSUM"); #endif - return fd; + return fd; } #endif @@ -169,90 +169,90 @@ static int tun_alloc(char *dev) int open_ethertap(char *ifname) { - int fd; - char devname[PATH_MAX]; - struct ifreq ifr; - struct stat statbuf; - int tuntap = 0; - int mtu = 0; - int skfd; - - strcpy(devname, "/dev/"); - strncpy(devname + 5, ifname, sizeof(devname) - 5 -1); - devname[sizeof(devname) -1] = 0; - - /* tuntap == 0: original ethertap. works on a real character device */ - if (!stat(devname, &statbuf)) { - fd = open(devname, O_RDWR); - if (fd < 0) { - LOGL2("%s: %s\n", devname, strerror(errno)); - return -1; - } + int fd; + char devname[PATH_MAX]; + struct ifreq ifr; + struct stat statbuf; + int tuntap = 0; + int mtu = 0; + int skfd; + + strcpy(devname, "/dev/"); + strncpy(devname + 5, ifname, sizeof(devname) - 5 -1); + devname[sizeof(devname) -1] = 0; + + /* tuntap == 0: original ethertap. works on a real character device */ + if (!stat(devname, &statbuf)) { + fd = open(devname, O_RDWR); + if (fd < 0) { + LOGL2("%s: %s\n", devname, strerror(errno)); + return -1; + } #ifdef TRY_TUNTAP - } else { - strcpy(devname, ifname); - if ((fd = tun_alloc(devname)) < 0) { - LOGL2("%s: %s\n", devname, strerror(errno)); - return -1; - } - ifname = devname; - tuntap = 1; + } else { + strcpy(devname, ifname); + if ((fd = tun_alloc(devname)) < 0) { + LOGL2("%s: %s\n", devname, strerror(errno)); + return -1; + } + ifname = devname; + tuntap = 1; #endif - } - ethertap_header_len = (tuntap ? ETHERTAP_HEADER_LEN_TUN : ETHERTAP_HEADER_LEN_ETHERTAP); - - if ((skfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) { - perror("socket()"); - close(fd); - return -1; - } - - memset(&ifr, 0, sizeof(ifr)); - - strncpy(ifr.ifr_name, ifname, IFNAMSIZ); - ifr.ifr_name[IFNAMSIZ-1] = 0; - if (ioctl(skfd, SIOCGIFFLAGS, &ifr) < 0) - perror("SIOCGIFFLAGS"); - - ifr.ifr_flags |= (IFF_UP | IFF_NOARP); - if (ioctl(skfd, SIOCSIFFLAGS, &ifr) < 0) - perror("SIOCSIFFLAGS"); - - strncpy(ifr.ifr_name, ifname, IFNAMSIZ); - ifr.ifr_name[IFNAMSIZ-1] = 0; - if (ioctl(skfd, SIOCGIFHWADDR, &ifr) < 0) { - perror("SIOCGIFHWADDR"); - hwaddr_remote[0] = 0xfe; - hwaddr_remote[1] = 0xfd; - hwaddr_remote[2] = 0x0; - hwaddr_remote[3] = 0x0; - hwaddr_remote[4] = 0x0; - hwaddr_remote[5] = 0x0; - } else - memcpy(hwaddr_remote, ifr.ifr_hwaddr.sa_data, 6); - - if (ttyspeed > ETAP_MTU_MIN && ttyspeed != 9600) { - mtu = ttyspeed; - } else { - strncpy(ifr.ifr_name, ifname, IFNAMSIZ); - ifr.ifr_name[IFNAMSIZ-1] = 0; - strcpy(ifr.ifr_name, ifname); - if (ioctl(skfd, SIOCGIFMTU, &ifr) < 0) - perror("SIOCGIFMTU"); - else - mtu = ifr.ifr_mtu; - } - if (mtu < ETAP_MTU_MIN || mtu > ETAP_MTU_MAX) - mtu = ETAP_MTU; - strncpy(ifr.ifr_name, ifname, IFNAMSIZ); - ifr.ifr_name[IFNAMSIZ-1] = 0; - ifr.ifr_mtu = mtu; - if (ioctl(skfd, SIOCSIFMTU, &ifr) < 0) - perror("SIOSGIFMTU"); - - close(skfd); - - return fd; + } + ethertap_header_len = (tuntap ? ETHERTAP_HEADER_LEN_TUN : ETHERTAP_HEADER_LEN_ETHERTAP); + + if ((skfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) { + perror("socket()"); + close(fd); + return -1; + } + + memset(&ifr, 0, sizeof(ifr)); + + strncpy(ifr.ifr_name, ifname, IFNAMSIZ); + ifr.ifr_name[IFNAMSIZ-1] = 0; + if (ioctl(skfd, SIOCGIFFLAGS, &ifr) < 0) + perror("SIOCGIFFLAGS"); + + ifr.ifr_flags |= (IFF_UP | IFF_NOARP); + if (ioctl(skfd, SIOCSIFFLAGS, &ifr) < 0) + perror("SIOCSIFFLAGS"); + + strncpy(ifr.ifr_name, ifname, IFNAMSIZ); + ifr.ifr_name[IFNAMSIZ-1] = 0; + if (ioctl(skfd, SIOCGIFHWADDR, &ifr) < 0) { + perror("SIOCGIFHWADDR"); + hwaddr_remote[0] = 0xfe; + hwaddr_remote[1] = 0xfd; + hwaddr_remote[2] = 0x0; + hwaddr_remote[3] = 0x0; + hwaddr_remote[4] = 0x0; + hwaddr_remote[5] = 0x0; + } else + memcpy(hwaddr_remote, ifr.ifr_hwaddr.sa_data, 6); + + if (ttyspeed > ETAP_MTU_MIN && ttyspeed != 9600) { + mtu = ttyspeed; + } else { + strncpy(ifr.ifr_name, ifname, IFNAMSIZ); + ifr.ifr_name[IFNAMSIZ-1] = 0; + strcpy(ifr.ifr_name, ifname); + if (ioctl(skfd, SIOCGIFMTU, &ifr) < 0) + perror("SIOCGIFMTU"); + else + mtu = ifr.ifr_mtu; + } + if (mtu < ETAP_MTU_MIN || mtu > ETAP_MTU_MAX) + mtu = ETAP_MTU; + strncpy(ifr.ifr_name, ifname, IFNAMSIZ); + ifr.ifr_name[IFNAMSIZ-1] = 0; + ifr.ifr_mtu = mtu; + if (ioctl(skfd, SIOCSIFMTU, &ifr) < 0) + perror("SIOSGIFMTU"); + + close(skfd); + + return fd; } @@ -260,89 +260,89 @@ int open_ethertap(char *ifname) int set_bpq_dev_call_and_up(char *ifname) { - FILE * fp; - char buf[1024]; - char bpq_name[IFNAMSIZ]; - char dev_name[IFNAMSIZ]; - struct ifreq ifr; - int drop; - int skfd; - int err = -1; - - /* - * 1. find correspondent bpqether device in /proc (i.e. bpq0 for tap0) - * 2. set the ax25 call of bpq0 (in this example) - * 3. ifup bpq0 - */ - - if (!(fp = fopen("/proc/net/bpqether", "r"))) { - perror("/proc/net/bpqether"); - return -1; - } - - /* - * look up bpqether devce in /proc: - * dev ether destination accept from - * bpq0 tap0 FF:FF:FF:FF:FF:FF * - */ - - drop = 1; - *bpq_name = *dev_name = 0; - while (fgets(buf, sizeof(buf), fp)) { - if (drop) { - /* header line */ - drop = 0; - continue; - } - sscanf(buf, "%s %s ", bpq_name, dev_name); - if (!strcmp(dev_name, ifname)) - break; - *bpq_name = *dev_name = 0; - } - fclose(fp); - if (!*bpq_name) { - LOGL2("Did not found bpqether device for %s in /proc/net/bpqether: %s", ifr.ifr_name, strerror(errno)); - return -1; - } - - LOGL1("found bpq device %s for %s\n", bpq_name, dev_name); - - if ((skfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) { - perror("socket()"); - return -1; - } - memset(&ifr, 0, sizeof(ifr)); - memcpy(ifr.ifr_name, bpq_name, IFNAMSIZ); - ifr.ifr_name[IFNAMSIZ-1] = 0; - - ifr.ifr_hwaddr.sa_family = PF_AX25; - memcpy(ifr.ifr_hwaddr.sa_data, mycallsign, 7); - - if (ioctl(skfd, SIOCSIFHWADDR, &ifr) < 0) { - perror("SIOCSIFHWADDR"); - close(skfd); - return -1; - } - strncpy(ifr.ifr_name, bpq_name, IFNAMSIZ); - ifr.ifr_name[IFNAMSIZ-1] = 0; - ifr.ifr_mtu = 256; - if (ioctl(skfd, SIOCSIFMTU, &ifr) < 0) - perror("SIOSGIFMTU"); - - strncpy(ifr.ifr_name, bpq_name, IFNAMSIZ); - ifr.ifr_name[IFNAMSIZ-1] = 0; - if (ioctl(skfd, SIOCGIFFLAGS, &ifr) < 0) { - perror("SIOCGIFFLAGS"); - ifr.ifr_flags = 0; - } - - ifr.ifr_flags |= (IFF_UP); - if (ioctl(skfd, SIOCSIFFLAGS, &ifr) < 0) { - perror("SIOCSIFFLAGS"); - err = -1; - } - - close(skfd); - - return err; + FILE * fp; + char buf[1024]; + char bpq_name[IFNAMSIZ]; + char dev_name[IFNAMSIZ]; + struct ifreq ifr; + int drop; + int skfd; + int err = -1; + + /* + * 1. find correspondent bpqether device in /proc (i.e. bpq0 for tap0) + * 2. set the ax25 call of bpq0 (in this example) + * 3. ifup bpq0 + */ + + if (!(fp = fopen("/proc/net/bpqether", "r"))) { + perror("/proc/net/bpqether"); + return -1; + } + + /* + * look up bpqether devce in /proc: + * dev ether destination accept from + * bpq0 tap0 FF:FF:FF:FF:FF:FF * + */ + + drop = 1; + *bpq_name = *dev_name = 0; + while (fgets(buf, sizeof(buf), fp)) { + if (drop) { + /* header line */ + drop = 0; + continue; + } + sscanf(buf, "%s %s ", bpq_name, dev_name); + if (!strcmp(dev_name, ifname)) + break; + *bpq_name = *dev_name = 0; + } + fclose(fp); + if (!*bpq_name) { + LOGL2("Did not found bpqether device for %s in /proc/net/bpqether: %s", ifr.ifr_name, strerror(errno)); + return -1; + } + + LOGL1("found bpq device %s for %s\n", bpq_name, dev_name); + + if ((skfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) { + perror("socket()"); + return -1; + } + memset(&ifr, 0, sizeof(ifr)); + memcpy(ifr.ifr_name, bpq_name, IFNAMSIZ); + ifr.ifr_name[IFNAMSIZ-1] = 0; + + ifr.ifr_hwaddr.sa_family = PF_AX25; + memcpy(ifr.ifr_hwaddr.sa_data, mycallsign, 7); + + if (ioctl(skfd, SIOCSIFHWADDR, &ifr) < 0) { + perror("SIOCSIFHWADDR"); + close(skfd); + return -1; + } + strncpy(ifr.ifr_name, bpq_name, IFNAMSIZ); + ifr.ifr_name[IFNAMSIZ-1] = 0; + ifr.ifr_mtu = 256; + if (ioctl(skfd, SIOCSIFMTU, &ifr) < 0) + perror("SIOSGIFMTU"); + + strncpy(ifr.ifr_name, bpq_name, IFNAMSIZ); + ifr.ifr_name[IFNAMSIZ-1] = 0; + if (ioctl(skfd, SIOCGIFFLAGS, &ifr) < 0) { + perror("SIOCGIFFLAGS"); + ifr.ifr_flags = 0; + } + + ifr.ifr_flags |= (IFF_UP); + if (ioctl(skfd, SIOCSIFFLAGS, &ifr) < 0) { + perror("SIOCSIFFLAGS"); + err = -1; + } + + close(skfd); + + return err; } diff --git a/ax25ipd/io.c b/ax25ipd/io.c index db26657..368aae2 100644 --- a/ax25ipd/io.c +++ b/ax25ipd/io.c @@ -568,7 +568,7 @@ int io_error( #ifdef notdef /* select() said that data is available, but recvfrom sais * EAGAIN - i really do not know what's the sense in this.. */ - if (dir == READ_MSG && oops != TTY_MODE /* && != TCP_MODE, if we'd implement this */ ) + if (dir == READ_MSG && oops != TTY_MODE /* && != TCP_MODE, if we'd implement this */ ) return 0; perror("System 5 I/O error!"); fprintf(stderr, "A System 5 style I/O error was detected. This rogram requires BSD 4.2\n"); @@ -576,16 +576,16 @@ int io_error( fprintf(stderr, "Mode 0x%2.2x, LINE: %d. During %s\n", mode, where, (dir == READ_MSG ? "READ" : "WRITE")); exit(3); #else - int ret = 0; - if (dir == READ_MSG) { - LOGL4("read / recv returned -1 EAGAIN\n"); - ret = 0; - } else if (dir == SEND_MSG) { - LOGL4("write / send returned -1 EAGAIN, sleeping and retrying!\n"); - usleep(100000); - ret = 1; - } - return ret; + int ret = 0; + if (dir == READ_MSG) { + LOGL4("read / recv returned -1 EAGAIN\n"); + ret = 0; + } else if (dir == SEND_MSG) { + LOGL4("write / send returned -1 EAGAIN, sleeping and retrying!\n"); + usleep(100000); + ret = 1; + } + return ret; #endif } #endif diff --git a/ax25rtd/ax25rtctl.c b/ax25rtd/ax25rtctl.c index 62d8a02..60cca95 100644 --- a/ax25rtd/ax25rtctl.c +++ b/ax25rtd/ax25rtctl.c @@ -63,7 +63,7 @@ static void usage(void) fprintf(stderr, " -r|--reload\n"); fprintf(stderr, " -q|--shutdown\n"); fprintf(stderr, " -V|--Version\n"); - fprintf(stderr, " -h|--help\n"); + fprintf(stderr, " -h|--help\n"); fprintf(stderr, " -v|--version\n"); exit(1); } diff --git a/call/call.c b/call/call.c index ec391b2..e6adbc7 100644 --- a/call/call.c +++ b/call/call.c @@ -1984,78 +1984,78 @@ int cmd_call(char *call[], int mode) TRUE); } switch (buf[1]) { - case 'a': - case 'A': - { - struct stat statbuf; - time_t file_time = 0L; - binup = TRUE; - crc = 0; - if (!fstat(uploadfile, &statbuf)) - file_time = statbuf.st_mtime; - else - file_time = time(0); - - - do { - upllen = - read - (uploadfile, - uplbuf, - 128); - - if (upllen - == - -1) { - close - (uploadfile); - uploadfile - = - -1; - delwin - (swin); - winclose - (&wintab); - sprintf - (s, - "Error reading upload file: upload aborted"); - statline - (mode, - s); - break; - } - crc = - calc_crc - ((unsigned char *) uplbuf, - upllen, - crc); - } while (upllen > 0); - lseek(uploadfile, - 0L, - SEEK_SET); - sprintf(s, - "#BIN#%ld#|%u#$%s#%s\r", - uplsize, - crc, - unix_to_sfbin_date_string(file_time), - t); - if ( write(fd, s, - strlen(s)) != strlen(s)) { - perror("write"); - exit(1); + case 'a': + case 'A': + { + struct stat statbuf; + time_t file_time = 0L; + binup = TRUE; + crc = 0; + if (!fstat(uploadfile, &statbuf)) + file_time = statbuf.st_mtime; + else + file_time = time(0); + + + do { + upllen = + read + (uploadfile, + uplbuf, + 128); + + if (upllen + == + -1) { + close + (uploadfile); + uploadfile + = + -1; + delwin + (swin); + winclose + (&wintab); + sprintf + (s, + "Error reading upload file: upload aborted"); + statline + (mode, + s); + break; } - uplpos = 0; - upldp = -1; - upllen = 0; + crc = + calc_crc + ((unsigned char *) uplbuf, + upllen, + crc); + } while (upllen > 0); + lseek(uploadfile, + 0L, + SEEK_SET); + sprintf(s, + "#BIN#%ld#|%u#$%s#%s\r", + uplsize, + crc, + unix_to_sfbin_date_string(file_time), + t); + if ( write(fd, s, + strlen(s)) != strlen(s)) { + perror("write"); + exit(1); + } + uplpos = 0; + upldp = -1; + upllen = 0; } break; - case 'b': - case 'B': - binup = TRUE; - break; - case 'u': - case 'U': - binup = FALSE; + case 'b': + case 'B': + binup = TRUE; + break; + case 'u': + case 'U': + binup = FALSE; } continue; case 'O': diff --git a/call/dostime.c b/call/dostime.c index 0a73af0..4eb34c9 100644 --- a/call/dostime.c +++ b/call/dostime.c @@ -15,8 +15,8 @@ /* Linear day numbers of the respective 1sts in non-leap years. */ static int day_n[] = - { 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 0, 0, 0, 0 }; - /* JanFebMarApr May Jun Jul Aug Sep Oct Nov Dec */ + { 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 0, 0, 0, 0 }; + /* Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec */ /* Convert a MS-DOS time/date pair to a UNIX date (seconds since 1 1 70). */ diff --git a/listen/ax25dump.c b/listen/ax25dump.c index a9a7360..d8e6532 100644 --- a/listen/ax25dump.c +++ b/listen/ax25dump.c @@ -243,36 +243,36 @@ void ax25_dump(unsigned char *data, int length, int hexdump) lprintf(T_AXHDR, "\n"); switch (pid) { - case PID_SEGMENT: - data_dump(data, length, hexdump); - break; - case PID_ARP: - arp_dump(data, length); - break; - case PID_NETROM: - netrom_dump(data, length, hexdump, type); - break; - case PID_IP: - ip_dump(data, length, hexdump); - break; - case PID_X25: - rose_dump(data, length, hexdump); - break; - case PID_TEXNET: - data_dump(data, length, hexdump); - break; - case PID_FLEXNET: - flexnet_dump(data, length, hexdump); - break; - case PID_OPENTRAC: - opentrac_dump(data, length, hexdump); - break; - case PID_NO_L3: - data_dump(data, length, hexdump); - break; - default: - data_dump(data, length, hexdump); - break; + case PID_SEGMENT: + data_dump(data, length, hexdump); + break; + case PID_ARP: + arp_dump(data, length); + break; + case PID_NETROM: + netrom_dump(data, length, hexdump, type); + break; + case PID_IP: + ip_dump(data, length, hexdump); + break; + case PID_X25: + rose_dump(data, length, hexdump); + break; + case PID_TEXNET: + data_dump(data, length, hexdump); + break; + case PID_FLEXNET: + flexnet_dump(data, length, hexdump); + break; + case PID_OPENTRAC: + opentrac_dump(data, length, hexdump); + break; + case PID_NO_L3: + data_dump(data, length, hexdump); + break; + default: + data_dump(data, length, hexdump); + break; } } } else if (type == FRMR && length >= 3) { diff --git a/listen/opentracdump.c b/listen/opentracdump.c index 56b7549..88f4ac4 100644 --- a/listen/opentracdump.c +++ b/listen/opentracdump.c @@ -87,31 +87,31 @@ int decode_entityid(unsigned char *element, int element_len) { } switch (element_len) { - case 0: - entity_serial++; - entity_sequence = 0; - break; - case 2: - entity_serial = get16(element); - entity_sequence = 0; - break; - case 4: - entity_serial = get16(element); - entity_sequence = get16(element+2); - break; - case 6: - entity_serial = 0; - break; - case 8: - entity_serial = get16(element+6); - entity_sequence = 0; - break; - case 10: - entity_serial = get16(element+6); - entity_sequence = get16(element+8); - break; - default: - return -1; + case 0: + entity_serial++; + entity_sequence = 0; + break; + case 2: + entity_serial = get16(element); + entity_sequence = 0; + break; + case 4: + entity_serial = get16(element); + entity_sequence = get16(element+2); + break; + case 6: + entity_serial = 0; + break; + case 8: + entity_serial = get16(element+6); + entity_sequence = 0; + break; + case 10: + entity_serial = get16(element+6); + entity_sequence = get16(element+8); + break; + default: + return -1; } lprintf(T_OPENTRAC, "Entity %s-%d:%04x #%d\r\n", entity_call, entity_ssid, entity_serial, entity_sequence); @@ -274,15 +274,15 @@ int decode_heardby(unsigned char *element, int element_len) { } int decode_availablenets(unsigned char *element, int element_len) { - int c; /* 0x22 Available Networks */ + int c; /* 0x22 Available Networks */ - lprintf(T_OPENTRAC, "Available Networks:"); - for (c=0; c<element_len; c++) { - lprintf(T_OPENTRAC, " %d", (int)*(element+c)); - } - lprintf(T_OPENTRAC, "\r\n"); + lprintf(T_OPENTRAC, "Available Networks:"); + for (c=0; c<element_len; c++) { + lprintf(T_OPENTRAC, " %d", (int)*(element+c)); + } + lprintf(T_OPENTRAC, "\r\n"); - return 0; + return 0; } int decode_gpsquality(unsigned char *element, int element_len) { @@ -351,21 +351,21 @@ int decode_units(unsigned int unitnum, unsigned char *element, int element_len) if (unitnum > MAX_UNIT_INDEX) return -2; /* Invalid unit name */ mval = (void *)element; switch (element_len) { - case 1: - lprintf(T_OPENTRAC, "%d %s\r\n", mval->c, units[unitnum]); - break; - case 2: - ival = get16(element); - lprintf(T_OPENTRAC, "%d %s\r\n", ival, units[unitnum]); - break; - case 4: - lprintf(T_OPENTRAC, "%f %s\r\n", mval->f, units[unitnum]); - break; - case 8: - lprintf(T_OPENTRAC, "%f %s\r\n", mval->d, units[unitnum]); - break; - default: - return -1; + case 1: + lprintf(T_OPENTRAC, "%d %s\r\n", mval->c, units[unitnum]); + break; + case 2: + ival = get16(element); + lprintf(T_OPENTRAC, "%d %s\r\n", ival, units[unitnum]); + break; + case 4: + lprintf(T_OPENTRAC, "%f %s\r\n", mval->f, units[unitnum]); + break; + case 8: + lprintf(T_OPENTRAC, "%f %s\r\n", mval->d, units[unitnum]); + break; + default: + return -1; } return 0; diff --git a/listen/ripdump.c b/listen/ripdump.c index 45d146b..117ca02 100644 --- a/listen/ripdump.c +++ b/listen/ripdump.c @@ -38,18 +38,18 @@ #include "listen.h" -#define RIP_VERSION_2 2 -#define RIP_VERSION_98 98 +#define RIP_VERSION_2 2 +#define RIP_VERSION_98 98 -#define RIP_HEADER 4 -#define RIP_ENTRY 20 +#define RIP_HEADER 4 +#define RIP_ENTRY 20 -#define RIP_AF_INET 2 /* IP Family */ +#define RIP_AF_INET 2 /* IP Family */ -#define RIPCMD_REQUEST 1 /* want info */ -#define RIPCMD_RESPONSE 2 /* responding to request */ +#define RIPCMD_REQUEST 1 /* want info */ +#define RIPCMD_RESPONSE 2 /* responding to request */ -#define RIP98_ENTRY 6 +#define RIP98_ENTRY 6 static struct mask_struct { unsigned int mask; @@ -88,7 +88,7 @@ static struct mask_struct { 0xE0000000, 3}, { 0xC0000000, 2}, { 0x80000000, 1}, { -0x00000000, 0},}; + 0x00000000, 0},}; static unsigned int mask2width(unsigned int mask) { diff --git a/listen/rosedump.c b/listen/rosedump.c index 19347e1..c9beaee 100644 --- a/listen/rosedump.c +++ b/listen/rosedump.c @@ -147,42 +147,42 @@ void rose_dump(unsigned char *data, int length, int hexdump) data += 5; length -= 5; switch (pid) { - case PID_SEGMENT: - lprintf(T_ROSEHDR," len %d\n", length - 5); - data_dump(data, length, hexdump); - break; - case PID_ARP: - lprintf(T_ROSEHDR," pid=ARP len %d\n", length - 5); - arp_dump(data, length); - break; - case PID_NETROM: - lprintf(T_ROSEHDR," pid=NET/ROM len %d\n", length - 5); - netrom_dump(data, length, hexdump, 0); - break; - case PID_IP: - lprintf(T_ROSEHDR," pid=IP len %d\n", length - 5); - ip_dump(data, length, hexdump); - break; - case PID_X25: - lprintf(T_ROSEHDR, " pid=X.25 len %d\n", length - 5); - rose_dump(data, length, hexdump); - break; - case PID_TEXNET: - lprintf(T_ROSEHDR, " pid=TEXNET len %d\n", length - 5); - data_dump(data, length, hexdump); - break; - case PID_FLEXNET: - lprintf(T_ROSEHDR, " pid=FLEXNET len %d\n", length - 5); - flexnet_dump(data, length, hexdump); - break; - case PID_NO_L3: - lprintf(T_ROSEHDR, " pid=Text len %d\n", length - 5); - data_dump(data, length, hexdump); - break; - default: - lprintf(T_ROSEHDR, " pid=0x%x len %d\n", pid, length - 5); - data_dump(data, length, hexdump); - break; + case PID_SEGMENT: + lprintf(T_ROSEHDR," len %d\n", length - 5); + data_dump(data, length, hexdump); + break; + case PID_ARP: + lprintf(T_ROSEHDR," pid=ARP len %d\n", length - 5); + arp_dump(data, length); + break; + case PID_NETROM: + lprintf(T_ROSEHDR," pid=NET/ROM len %d\n", length - 5); + netrom_dump(data, length, hexdump, 0); + break; + case PID_IP: + lprintf(T_ROSEHDR," pid=IP len %d\n", length - 5); + ip_dump(data, length, hexdump); + break; + case PID_X25: + lprintf(T_ROSEHDR, " pid=X.25 len %d\n", length - 5); + rose_dump(data, length, hexdump); + break; + case PID_TEXNET: + lprintf(T_ROSEHDR, " pid=TEXNET len %d\n", length - 5); + data_dump(data, length, hexdump); + break; + case PID_FLEXNET: + lprintf(T_ROSEHDR, " pid=FLEXNET len %d\n", length - 5); + flexnet_dump(data, length, hexdump); + break; + case PID_NO_L3: + lprintf(T_ROSEHDR, " pid=Text len %d\n", length - 5); + data_dump(data, length, hexdump); + break; + default: + lprintf(T_ROSEHDR, " pid=0x%x len %d\n", pid, length - 5); + data_dump(data, length, hexdump); + break; } } else { lprintf(T_ROSEHDR, " len %d\n", length - 3); |