# 2.11BSD#431 - /usr/src/libexec/tcpd/try-from.c

##### Functions

    main              X

##### Variables

    allow_severity    X
    deny_severity     X

##### Macros

    EXPAND            X
    STDIN_FILENO      X

       1:  /*
       2:   * This program can be called via a remote shell command to find out if the
       3:   * hostname and address are properly recognized, if username lookup works,
       4:   * and (SysV only) if the TLI on top of IP heuristics work.
       5:   *
       6:   * Example: "rsh host /some/where/try-from".
       7:   *
       8:   * Diagnostics are reported through syslog(3) and redirected to stderr.
       9:   *
      10:   * Author: Wietse Venema, Eindhoven University of Technology, The Netherlands.
      11:   */
      12:
      13: #ifndef lint
      14: static char sccsid[] = "@(#) try-from.c 1.2 94/12/28 17:42:55";
      15: #endif
      16:
      17: /* System libraries. */
      18:
      19: #include <sys/types.h>
      20: #include <stdio.h>
      21: #include <syslog.h>
      22: #include <string.h>
      23:
      24: #ifdef TLI
      25: #include <sys/tiuser.h>
      26: #include <stropts.h>
      27: #endif
      28:
      29: #ifndef STDIN_FILENO
      30: #define STDIN_FILENO    0
      31: #endif
      32:
      33: /* Local stuff. */
      34:
      35: #include "tcpd.h"
      36:
      37: int     allow_severity = SEVERITY;  /* run-time adjustable */
      38: int     deny_severity = LOG_WARNING;    /* ditto */
      39:
      40: main(argc, argv)
      41: int     argc;
      42: char  **argv;
      43: {
      44:     struct request_info request;
      45:     char    buf[BUFSIZ];
      46:     char   *cp;
      47:
      48:     /*
      49:      * Simplify the process name, just like tcpd would.
      50:      */
      51:     if ((cp = strrchr(argv[0], '/')) != 0)
      52:     argv[0] = cp + 1;
      53:
      54:     /*
      55:      * Turn on the "IP-underneath-TLI" detection heuristics.
      56:      */
      57: #ifdef TLI
      58:     if (ioctl(0, I_FIND, "timod") == 0)
      59:     ioctl(0, I_PUSH, "timod");
      60: #endif /* TLI */
      61:
      62:     /*
      63:      * Look up the endpoint information.
      64:      */
      65:     request_init(&request, RQ_DAEMON, argv[0], RQ_FILE, STDIN_FILENO, 0);
      66:     (void) fromhost(&request);
      67:
      68:     /*
      69:      * Show some results. Name and address information is looked up when we
      70:      * ask for it.
      71:      */
      72:
      73: #define EXPAND(str) percent_x(buf, sizeof(buf), str, &request)
      74:
      75:     puts(EXPAND("client address  (%%a): %a"));
      76:     puts(EXPAND("client hostname (%%n): %n"));
      77:     puts(EXPAND("client username (%%u): %u"));
      78:     puts(EXPAND("client info     (%%c): %c"));
      79:     puts(EXPAND("server address  (%%A): %A"));
      80:     puts(EXPAND("server hostname (%%N): %N"));
      81:     puts(EXPAND("server process  (%%d): %d"));
      82:     puts(EXPAND("server info     (%%s): %s"));
      83:
      84:     return (0);
      85: }

#### Defined functions

main defined in line 40; never used

#### Defined variables

allow_severity defined in line 37; never used
deny_severity defined in line 38; never used
sccsid defined in line 14; never used

#### Defined macros

EXPAND defined in line 73; used 8 times

- in line 75-82(8)

STDIN_FILENO defined in line 30; used 2 times

- in line 29, 65

Last modified: 1994-12-28 Generated: 2016-12-26 | Generated by src2html V0.67 page hit count: ?E00 |