Changeset ea80d58 in rtems-libbsd


Ignore:
Timestamp:
05/11/22 06:09:03 (2 months ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
5-freebsd-12
Children:
f05e625
Parents:
45c9bd2
git-author:
Sebastian Huber <sebastian.huber@…> (05/11/22 06:09:03)
git-committer:
Sebastian Huber <sebastian.huber@…> (05/12/22 05:52:10)
Message:

tcpdump: Do not use signals and chroot

Close #4649.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • freebsd/contrib/tcpdump/tcpdump.c

    r45c9bd2 rea80d58  
    208208static void warning(FORMAT_STRING(const char *), ...) PRINTFLIKE(1, 2);
    209209static void exit_tcpdump(int) NORETURN;
     210#ifndef __rtems__
    210211static RETSIGTYPE cleanup(int);
    211212static RETSIGTYPE child_cleanup(int);
     213#endif /* __rtems__ */
    212214static void print_version(void);
    213215static void print_usage(void);
     
    221223static void dump_packet_and_trunc(u_char *, const struct pcap_pkthdr *, const u_char *);
    222224static void dump_packet(u_char *, const struct pcap_pkthdr *, const u_char *);
     225#ifndef __rtems__
    223226static void droproot(const char *, const char *);
    224227
     
    234237  static void verbose_stats_dump(int sig);
    235238#endif
     239#endif /* __rtems__ */
    236240
    237241static void info(int);
     
    625629};
    626630
     631#ifndef __rtems__
    627632#ifndef _WIN32
    628633/* Drop root privileges and chroot if necessary */
     
    656661                }
    657662#else
    658 #ifndef __rtems__
    659663                if (initgroups(pw->pw_name, pw->pw_gid) != 0 ||
    660664                    setgid(pw->pw_gid) != 0 || setuid(pw->pw_uid) != 0) {
     
    669673                        fprintf(stderr, "dropped privs to %s\n", username);
    670674                }
    671 #endif /* __rtems__ */
    672675#endif /* HAVE_LIBCAP_NG */
    673676        }
     
    691694}
    692695#endif /* _WIN32 */
     696#endif /* __rtems__ */
    693697
    694698static int
     
    12951299        const char *dlt_name;
    12961300        struct bpf_program fcode;
     1301#ifndef __rtems__
    12971302#ifndef _WIN32
    12981303        RETSIGTYPE (*oldhandler)(int);
    12991304#endif
     1305#endif /* __rtems__ */
    13001306        struct dump_info dumpinfo;
    13011307        u_char *pcap_userdata;
    13021308        char ebuf[PCAP_ERRBUF_SIZE];
    13031309        char VFileLine[PATH_MAX + 1];
     1310#ifndef __rtems__
    13041311        char *username = NULL;
    13051312        char *chroot_dir = NULL;
     1313#endif /* __rtems__ */
    13061314        char *ret = NULL;
    13071315        char *end;
     
    16751683                        break;
    16761684
     1685#ifndef __rtems__
    16771686                case 'Z':
    16781687                        username = optarg;
    16791688                        break;
     1689#endif /* __rtems__ */
    16801690
    16811691                case '#':
     
    19741984        init_print(ndo, localnet, netmask, timezone_offset);
    19751985
     1986#ifndef __rtems__
    19761987#ifndef _WIN32
    19771988        (void)setsignal(SIGPIPE, cleanup);
     
    20412052        }
    20422053#endif /* _WIN32 */
     2054#endif /* __rtems__ */
    20432055
    20442056        if (pcap_setfilter(pd, &fcode) < 0)
     
    21482160        }
    21492161
     2162#ifndef __rtems__
    21502163#ifdef SIGNAL_REQ_INFO
    21512164        /*
     
    21722185#endif
    21732186        }
     2187#endif /* __rtems__ */
    21742188
    21752189        if (RFileName == NULL) {
     
    23452359}
    23462360
     2361#ifndef __rtems__
    23472362/* make a clean exit on interrupts */
    23482363static RETSIGTYPE
     
    23972412}
    23982413#endif /* HAVE_FORK && HAVE_VFORK */
     2414#endif /* __rtems__ */
    23992415
    24002416static void
     
    27572773#endif
    27582774
     2775#ifndef __rtems__
    27592776#ifdef SIGNAL_REQ_INFO
    27602777RETSIGTYPE requestinfo(int signo _U_)
     
    27852802}
    27862803#endif
     2804#endif /* __rtems__ */
    27872805
    27882806USES_APPLE_DEPRECATED_API
Note: See TracChangeset for help on using the changeset viewer.