From 1ad0e39ee51181ea6c13b3d1d4e9c6005ee35b5e Mon Sep 17 00:00:00 2001 From: Cameron Katri Date: Sun, 14 Feb 2021 00:54:48 -0500 Subject: Makefile and reorganizing --- .gitignore | 3 +++ Makefile | 31 ++++++++++++++++++++++++ Makefile.depend | 19 --------------- ent.xml | 11 +++++++++ include/utmpx-defines.h | 3 +++ include/utxdb.h | 63 +++++++++++++++++++++++++++++++++++++++++++++++++ utmpx-defines.h | 3 --- utxdb.h | 63 ------------------------------------------------- 8 files changed, 111 insertions(+), 85 deletions(-) create mode 100644 .gitignore create mode 100644 Makefile delete mode 100644 Makefile.depend create mode 100644 ent.xml create mode 100644 include/utmpx-defines.h create mode 100644 include/utxdb.h delete mode 100644 utmpx-defines.h delete mode 100644 utxdb.h diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1d56f4d --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +getent +include/netinet +include/net diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..9a7548e --- /dev/null +++ b/Makefile @@ -0,0 +1,31 @@ +CC ?= aarch64-apple-darwin-clang +STRIP ?= aarch64-apple-darwin-strip +LDID ?= ldid +CFLAGS ?= -arch arm64 -isysroot /home/cameron/Documents/SDK/iPhoneOS14.3.sdk -miphoneos-version-min=13.0 +GINSTALL ?= install +PREFIX ?= /usr +DESTDIR ?= + +SRC := getent.c getutxent.c + +all: getent + +install: install-getent + +copy-headers: + cp -af $(MACOSX_SYSROOT)/usr/include/netinet include/ + cp -af $(MACOSX_SYSROOT)/usr/include/net include/ + +getent: $(SRC) ent.xml copy-headers + $(CC) $(CFLAGS) -o getent -Iinclude $(SRC) + $(STRIP) getent + $(LDID) -Sent.xml getent + +install-getent: getent getent.1 + $(GINSTALL) -Dm755 getent $(DESTDIR)/$(PREFIX)/bin/getent + $(GINSTALL) -Dm644 getent.1 $(DESTDIR)/$(PREFIX)/share/man/man1/getent.1 + +clean: + rm -f getent + +.PHONY: all install install-getent clean copy-headers diff --git a/Makefile.depend b/Makefile.depend deleted file mode 100644 index ff7c06a..0000000 --- a/Makefile.depend +++ /dev/null @@ -1,19 +0,0 @@ -# $FreeBSD$ -# Autogenerated - do NOT edit! - -DIRDEPS = \ - gnu/lib/csu \ - include \ - include/arpa \ - include/rpc \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/libc \ - lib/libcompiler_rt \ - - -.include - -.if ${DEP_RELDIR} == ${_DEP_RELDIR} -# local dependencies - needed for -jN in clean tree -.endif diff --git a/ent.xml b/ent.xml new file mode 100644 index 0000000..8a59f9f --- /dev/null +++ b/ent.xml @@ -0,0 +1,11 @@ + + + + platform-application + + com.apple.private.security.no-container + + com.apple.private.skip-library-validation + + + diff --git a/include/utmpx-defines.h b/include/utmpx-defines.h new file mode 100644 index 0000000..0aaa1e3 --- /dev/null +++ b/include/utmpx-defines.h @@ -0,0 +1,3 @@ +#define UTXDB_ACTIVE 0 +#define UTXDB_LASTLOGIN 1 +#define UTXDB_LOG 2 diff --git a/include/utxdb.h b/include/utxdb.h new file mode 100644 index 0000000..912dd0f --- /dev/null +++ b/include/utxdb.h @@ -0,0 +1,63 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2010 Ed Schouten + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef _UTXDB_H_ +#define _UTXDB_H_ + +#include + +#define _PATH_UTX_ACTIVE "/var/run/utx.active" +#define _PATH_UTX_LASTLOGIN "/var/log/utx.lastlogin" +#define _PATH_UTX_LOG "/var/log/utx.log" + +/* + * Entries in struct futx are ordered by how often they are used. In + * utx.log only entries will be written until the last non-zero byte, + * which means we want to put the hostname at the end. Most primitive + * records only store a ut_type and ut_tv, which means we want to store + * those at the front. + */ + +struct utmpx; + +struct futx { + uint8_t fu_type; + uint64_t fu_tv; + char fu_id[8]; + uint32_t fu_pid; + char fu_user[32]; + char fu_line[16]; + char fu_host[128]; +} __packed; + +void utx_to_futx(const struct utmpx *, struct futx *); +struct utmpx *futx_to_utx(const struct futx *); + +#endif /* !_UTXDB_H_ */ diff --git a/utmpx-defines.h b/utmpx-defines.h deleted file mode 100644 index 0aaa1e3..0000000 --- a/utmpx-defines.h +++ /dev/null @@ -1,3 +0,0 @@ -#define UTXDB_ACTIVE 0 -#define UTXDB_LASTLOGIN 1 -#define UTXDB_LOG 2 diff --git a/utxdb.h b/utxdb.h deleted file mode 100644 index 912dd0f..0000000 --- a/utxdb.h +++ /dev/null @@ -1,63 +0,0 @@ -/*- - * SPDX-License-Identifier: BSD-2-Clause-FreeBSD - * - * Copyright (c) 2010 Ed Schouten - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $FreeBSD$ - */ - -#ifndef _UTXDB_H_ -#define _UTXDB_H_ - -#include - -#define _PATH_UTX_ACTIVE "/var/run/utx.active" -#define _PATH_UTX_LASTLOGIN "/var/log/utx.lastlogin" -#define _PATH_UTX_LOG "/var/log/utx.log" - -/* - * Entries in struct futx are ordered by how often they are used. In - * utx.log only entries will be written until the last non-zero byte, - * which means we want to put the hostname at the end. Most primitive - * records only store a ut_type and ut_tv, which means we want to store - * those at the front. - */ - -struct utmpx; - -struct futx { - uint8_t fu_type; - uint64_t fu_tv; - char fu_id[8]; - uint32_t fu_pid; - char fu_user[32]; - char fu_line[16]; - char fu_host[128]; -} __packed; - -void utx_to_futx(const struct utmpx *, struct futx *); -struct utmpx *futx_to_utx(const struct futx *); - -#endif /* !_UTXDB_H_ */ -- cgit v1.2.3-56-ge451