From 1c45a560a0f09762a27478885a1cbddf38705729 Mon Sep 17 00:00:00 2001 From: Thomas Walker Lynch Date: Sat, 23 Feb 2019 21:10:20 +0100 Subject: [PATCH] new direction --- 3_doc/subu-mk-0.txt | 50 - config.h.in~ | 25 - aclocal.m4 => deprecated/auto/aclocal.m4 | 0 .../auto/autom4te.cache}/output.0 | 24 +- .../auto/autom4te.cache}/output.1 | 24 +- .../auto/autom4te.cache}/requests | 146 +-- .../auto/autom4te.cache}/traces.0 | 0 .../auto/autom4te.cache}/traces.1 | 2 +- {src => deprecated/auto}/build-prep-notes.txt | 0 compile => deprecated/auto/compile | 0 config.h => deprecated/auto/config.h | 8 +- config.h.in => deprecated/auto/config.h.in | 0 config.log => deprecated/auto/config.log | 183 +--- .../auto/config.status | 26 +- configure => deprecated/auto/configure | 24 +- configure.ac => deprecated/auto/configure.ac | 2 +- depcomp => deprecated/auto/depcomp | 0 install-sh => deprecated/auto/install-sh | 0 makefile.in => deprecated/auto/makefile | 194 ++-- deprecated/auto/makefile.am | 11 + deprecated/auto/makefile.in | 578 ++++++++++++ missing => deprecated/auto/missing | 0 stamp-h1 => deprecated/auto/stamp-h1 | 0 deprecated/old_subu/.deps/dbprintf.aux.Po | 59 ++ deprecated/old_subu/.deps/dispatch.Po | 1 + deprecated/old_subu/.deps/dispatch.lib.Po | 234 +++++ .../old_subu/.deps/dispatch_exec.lib.Po | 234 +++++ deprecated/old_subu/.deps/dispatch_f.lib.Po | 234 +++++ deprecated/old_subu/.deps/dispatch_useradd.Po | 1 + .../old_subu/.deps/dispatch_useradd.lib.Po | 172 ++++ deprecated/old_subu/.deps/subu-mk-0.Po | 59 ++ deprecated/old_subu/.deps/subu-mk-0.cli.Po | 59 ++ deprecated/old_subu/.deps/subu-mk-0.fi.Po | 1 + deprecated/old_subu/.deps/subu-mk-0.fi.Tpo | 178 ++++ deprecated/old_subu/.deps/subu-mk-0.lib.Po | 200 ++++ deprecated/old_subu/.deps/useradd-0.Po | 1 + deprecated/old_subu/.deps/useradd-0.Tpo | 136 +++ deprecated/old_subu/README.txt | 23 + deprecated/old_subu/build-prep-notes.txt | 28 + {src => deprecated/old_subu}/dbprintf.aux.c | 0 {src => deprecated/old_subu}/dbprintf.aux.h | 0 deprecated/old_subu/dispatch_exec.lib.c | 59 ++ .../old_subu}/dispatch_exec.lib.h | 0 deprecated/old_subu/dispatch_f.lib.c | 79 ++ {src => deprecated/old_subu}/dispatch_f.lib.h | 0 deprecated/old_subu/dispatch_useradd.lib.c | 57 ++ .../old_subu}/dispatch_useradd.lib.h | 0 deprecated/old_subu/local_common.h | 13 + deprecated/old_subu/makefile | 594 ++++++++++++ {src => deprecated/old_subu}/makefile.am | 0 {src => deprecated/old_subu}/makefile.in | 0 deprecated/old_subu/setuid_root.sh | 8 + deprecated/old_subu/subu-mk-0.cli.c | 16 + deprecated/old_subu/subu-mk-0.lib.c | 346 +++++++ {src => deprecated/old_subu}/subu-mk-0.lib.h | 0 deprecated/old_subu/subu-mk-0.txt | 83 ++ doc/makeheaders.txt | 16 + {3_doc => doc}/note.txt | 0 {3_doc => doc}/real_uid.txt | 0 {3_doc => doc}/real_uid_bug.pdf | Bin doc/subu-mk-0.txt | 104 ++ doc/subu_as_group.txt | 22 + {3_doc => doc}/todo.txt | 3 + {3_doc => doc}/try.txt | 0 makefile | 834 +--------------- makefile.am | 2 - rtmake | 4 + src/.deps/subu-config.lib.Po | 69 ++ src/.deps/subu-config.lib.Tpo | 69 ++ src/.deps/subu-init.cli.Po | 59 ++ src/.deps/subu_init-subu-config.lib.Po | 69 ++ src/.deps/subu_init-subu-init.cli.Po | 11 + src/dbprintf.lib.c | 13 + src/duck/local_common.h | 4 + src/local_common.h | 9 - src/makefile | 892 ++++++------------ src/subu-config.lib.c | 78 ++ src/subu-config.lib.h | 9 + src/subu-config.lib.o | Bin 0 -> 8760 bytes src/subu-init.cli.c | 23 + src/subu-init.cli.h | 8 + src/subu-init.cli.o | Bin 0 -> 6872 bytes src/subu-mk-0.lib.c | 267 ++++-- src/subu-number.cli.c | 25 + src/subu_init | Bin 0 -> 23656 bytes 85 files changed, 4827 insertions(+), 1935 deletions(-) delete mode 100644 3_doc/subu-mk-0.txt delete mode 100644 config.h.in~ rename aclocal.m4 => deprecated/auto/aclocal.m4 (100%) rename {autom4te.cache => deprecated/auto/autom4te.cache}/output.0 (99%) rename {autom4te.cache => deprecated/auto/autom4te.cache}/output.1 (99%) rename {autom4te.cache => deprecated/auto/autom4te.cache}/requests (97%) rename {autom4te.cache => deprecated/auto/autom4te.cache}/traces.0 (100%) rename {autom4te.cache => deprecated/auto/autom4te.cache}/traces.1 (99%) rename {src => deprecated/auto}/build-prep-notes.txt (100%) rename compile => deprecated/auto/compile (100%) rename config.h => deprecated/auto/config.h (82%) rename config.h.in => deprecated/auto/config.h.in (100%) rename config.log => deprecated/auto/config.log (71%) rename config.status => deprecated/auto/config.status (98%) rename configure => deprecated/auto/configure (99%) rename configure.ac => deprecated/auto/configure.ac (72%) rename depcomp => deprecated/auto/depcomp (100%) rename install-sh => deprecated/auto/install-sh (100%) rename makefile.in => deprecated/auto/makefile (90%) create mode 100644 deprecated/auto/makefile.am create mode 100644 deprecated/auto/makefile.in rename missing => deprecated/auto/missing (100%) rename stamp-h1 => deprecated/auto/stamp-h1 (100%) create mode 100644 deprecated/old_subu/.deps/dbprintf.aux.Po create mode 100644 deprecated/old_subu/.deps/dispatch.Po create mode 100644 deprecated/old_subu/.deps/dispatch.lib.Po create mode 100644 deprecated/old_subu/.deps/dispatch_exec.lib.Po create mode 100644 deprecated/old_subu/.deps/dispatch_f.lib.Po create mode 100644 deprecated/old_subu/.deps/dispatch_useradd.Po create mode 100644 deprecated/old_subu/.deps/dispatch_useradd.lib.Po create mode 100644 deprecated/old_subu/.deps/subu-mk-0.Po create mode 100644 deprecated/old_subu/.deps/subu-mk-0.cli.Po create mode 100644 deprecated/old_subu/.deps/subu-mk-0.fi.Po create mode 100644 deprecated/old_subu/.deps/subu-mk-0.fi.Tpo create mode 100644 deprecated/old_subu/.deps/subu-mk-0.lib.Po create mode 100644 deprecated/old_subu/.deps/useradd-0.Po create mode 100644 deprecated/old_subu/.deps/useradd-0.Tpo create mode 100644 deprecated/old_subu/README.txt create mode 100644 deprecated/old_subu/build-prep-notes.txt rename {src => deprecated/old_subu}/dbprintf.aux.c (100%) rename {src => deprecated/old_subu}/dbprintf.aux.h (100%) create mode 100644 deprecated/old_subu/dispatch_exec.lib.c rename {src => deprecated/old_subu}/dispatch_exec.lib.h (100%) create mode 100644 deprecated/old_subu/dispatch_f.lib.c rename {src => deprecated/old_subu}/dispatch_f.lib.h (100%) create mode 100644 deprecated/old_subu/dispatch_useradd.lib.c rename {src => deprecated/old_subu}/dispatch_useradd.lib.h (100%) create mode 100644 deprecated/old_subu/local_common.h create mode 100644 deprecated/old_subu/makefile rename {src => deprecated/old_subu}/makefile.am (100%) rename {src => deprecated/old_subu}/makefile.in (100%) create mode 100755 deprecated/old_subu/setuid_root.sh create mode 100644 deprecated/old_subu/subu-mk-0.cli.c create mode 100644 deprecated/old_subu/subu-mk-0.lib.c rename {src => deprecated/old_subu}/subu-mk-0.lib.h (100%) create mode 100644 deprecated/old_subu/subu-mk-0.txt create mode 100644 doc/makeheaders.txt rename {3_doc => doc}/note.txt (100%) rename {3_doc => doc}/real_uid.txt (100%) rename {3_doc => doc}/real_uid_bug.pdf (100%) create mode 100644 doc/subu-mk-0.txt create mode 100644 doc/subu_as_group.txt rename {3_doc => doc}/todo.txt (81%) rename {3_doc => doc}/try.txt (100%) mode change 100644 => 100755 makefile delete mode 100644 makefile.am create mode 100755 rtmake create mode 100644 src/.deps/subu-config.lib.Po create mode 100644 src/.deps/subu-config.lib.Tpo create mode 100644 src/.deps/subu-init.cli.Po create mode 100644 src/.deps/subu_init-subu-config.lib.Po create mode 100644 src/.deps/subu_init-subu-init.cli.Po create mode 100644 src/dbprintf.lib.c create mode 100644 src/duck/local_common.h mode change 100644 => 100755 src/makefile create mode 100644 src/subu-config.lib.c create mode 100644 src/subu-config.lib.h create mode 100644 src/subu-config.lib.o create mode 100644 src/subu-init.cli.c create mode 100644 src/subu-init.cli.h create mode 100644 src/subu-init.cli.o create mode 100644 src/subu-number.cli.c create mode 100755 src/subu_init diff --git a/3_doc/subu-mk-0.txt b/3_doc/subu-mk-0.txt deleted file mode 100644 index a817a3a..0000000 --- a/3_doc/subu-mk-0.txt +++ /dev/null @@ -1,50 +0,0 @@ - If we allowed the subu_home directory to be put anywhere, this script could be - used by masteru gain access to any directory on the system. Hence, we have - the following constraints: - - constraint 1) the subu_home directory must not already exist, not as a - directory or as any other type of object. - - constraint 2) masteru must have 'x' privledges to reach $(masteru_home)/subuland, and have - permissions to create the subu_home subdirectory. - - constraint 3) subu_home may only be placed under the directory $(masteru_home)/subuland. - - convention 4) only subu_home directories may be placed in $(masteru_home)/subuland. - - -> without constraint 1), exploit 1 - - Suppose that a wily masteru was able to move an inaccessible directory that he - or she wanted access to and place it under $(masteru_home)/subuland. - Typically such directories are not moveable to wiley users in the first place, - but suppose the wily masteru found such a directory. - - Alternatively suppose the wily masteru made a directory under $(masteru_home)/subuland - of his or her own, and placed an inaccessible file or subdirectory inside of it. - - Alternatively suppose that the wily masteru made $(masteru_home)/subuland a hard link - or a symlink to a directory that contained a subdirectory that masteru did not have - access to. - - The the wiley masteru could create a subu by the same name as the directory he desired - access to, and trick the foolish subu-mk-0 into giving him or her access. - - -> without constraint 2) exploit 2 - - Then the masteru could place subu directories in places he can not access. - The foolish subu-mk-0 program would then add 'x' acls to as to reach this place. - The masteru could then change identity to the subu, (i.e. enter the container), - and then reach that place he or she could not reach before. - - -> without constraint 3) exploit 3 - - There is still a wrinkle. If masteru looses x privlege to a place, subu might keep - it, and then exploit 2 would work despite the existence of constraint 2. It would - be unusual that masteru not have x privledges to masteru_home. Furthmore, we - degree that masteru has x privige to subuland. Hence, exploit 3 can be prevented - by following simple accounting rules that are already normal. - - -> without convention 4) exploit 4 - - Constraint 4 is a convention that masteru - diff --git a/config.h.in~ b/config.h.in~ deleted file mode 100644 index dd3b02c..0000000 --- a/config.h.in~ +++ /dev/null @@ -1,25 +0,0 @@ -/* config.h.in. Generated from configure.ac by autoheader. */ - -/* Name of package */ -#undef PACKAGE - -/* Define to the address where bug reports for this package should be sent. */ -#undef PACKAGE_BUGREPORT - -/* Define to the full name of this package. */ -#undef PACKAGE_NAME - -/* Define to the full name and version of this package. */ -#undef PACKAGE_STRING - -/* Define to the one symbol short name of this package. */ -#undef PACKAGE_TARNAME - -/* Define to the home page for this package. */ -#undef PACKAGE_URL - -/* Define to the version of this package. */ -#undef PACKAGE_VERSION - -/* Version number of package */ -#undef VERSION diff --git a/aclocal.m4 b/deprecated/auto/aclocal.m4 similarity index 100% rename from aclocal.m4 rename to deprecated/auto/aclocal.m4 diff --git a/autom4te.cache/output.0 b/deprecated/auto/autom4te.cache/output.0 similarity index 99% rename from autom4te.cache/output.0 rename to deprecated/auto/autom4te.cache/output.0 index 2d1ac09..ef5f7b2 100644 --- a/autom4te.cache/output.0 +++ b/deprecated/auto/autom4te.cache/output.0 @@ -1,6 +1,6 @@ @%:@! /bin/sh @%:@ Guess values for system-dependent variables and create Makefiles. -@%:@ Generated by GNU Autoconf 2.69 for mk-subu-0 1.0. +@%:@ Generated by GNU Autoconf 2.69 for subu-init 1.0. @%:@ @%:@ Report bugs to . @%:@ @@ -577,10 +577,10 @@ MFLAGS= MAKEFLAGS= # Identity of this package. -PACKAGE_NAME='mk-subu-0' -PACKAGE_TARNAME='mk-subu-0' +PACKAGE_NAME='subu-init' +PACKAGE_TARNAME='subu-init' PACKAGE_VERSION='1.0' -PACKAGE_STRING='mk-subu-0 1.0' +PACKAGE_STRING='subu-init 1.0' PACKAGE_BUGREPORT='bug-automake@gnu.org' PACKAGE_URL='' @@ -1224,7 +1224,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures mk-subu-0 1.0 to adapt to many kinds of systems. +\`configure' configures subu-init 1.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1272,7 +1272,7 @@ Fine tuning of the installation directories: --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root @<:@DATAROOTDIR/doc/mk-subu-0@:>@ + --docdir=DIR documentation root @<:@DATAROOTDIR/doc/subu-init@:>@ --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] @@ -1290,7 +1290,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of mk-subu-0 1.0:";; + short | recursive ) echo "Configuration of subu-init 1.0:";; esac cat <<\_ACEOF @@ -1380,7 +1380,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -mk-subu-0 configure 1.0 +subu-init configure 1.0 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1435,7 +1435,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by mk-subu-0 $as_me 1.0, which was +It was created by subu-init $as_me 1.0, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2297,7 +2297,7 @@ fi # Define the identity of the package. - PACKAGE='mk-subu-0' + PACKAGE='subu-init' VERSION='1.0' @@ -3964,7 +3964,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by mk-subu-0 $as_me 1.0, which was +This file was extended by subu-init $as_me 1.0, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -4030,7 +4030,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -mk-subu-0 config.status 1.0 +subu-init config.status 1.0 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/autom4te.cache/output.1 b/deprecated/auto/autom4te.cache/output.1 similarity index 99% rename from autom4te.cache/output.1 rename to deprecated/auto/autom4te.cache/output.1 index 2d1ac09..ef5f7b2 100644 --- a/autom4te.cache/output.1 +++ b/deprecated/auto/autom4te.cache/output.1 @@ -1,6 +1,6 @@ @%:@! /bin/sh @%:@ Guess values for system-dependent variables and create Makefiles. -@%:@ Generated by GNU Autoconf 2.69 for mk-subu-0 1.0. +@%:@ Generated by GNU Autoconf 2.69 for subu-init 1.0. @%:@ @%:@ Report bugs to . @%:@ @@ -577,10 +577,10 @@ MFLAGS= MAKEFLAGS= # Identity of this package. -PACKAGE_NAME='mk-subu-0' -PACKAGE_TARNAME='mk-subu-0' +PACKAGE_NAME='subu-init' +PACKAGE_TARNAME='subu-init' PACKAGE_VERSION='1.0' -PACKAGE_STRING='mk-subu-0 1.0' +PACKAGE_STRING='subu-init 1.0' PACKAGE_BUGREPORT='bug-automake@gnu.org' PACKAGE_URL='' @@ -1224,7 +1224,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures mk-subu-0 1.0 to adapt to many kinds of systems. +\`configure' configures subu-init 1.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1272,7 +1272,7 @@ Fine tuning of the installation directories: --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root @<:@DATAROOTDIR/doc/mk-subu-0@:>@ + --docdir=DIR documentation root @<:@DATAROOTDIR/doc/subu-init@:>@ --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] @@ -1290,7 +1290,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of mk-subu-0 1.0:";; + short | recursive ) echo "Configuration of subu-init 1.0:";; esac cat <<\_ACEOF @@ -1380,7 +1380,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -mk-subu-0 configure 1.0 +subu-init configure 1.0 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1435,7 +1435,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by mk-subu-0 $as_me 1.0, which was +It was created by subu-init $as_me 1.0, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2297,7 +2297,7 @@ fi # Define the identity of the package. - PACKAGE='mk-subu-0' + PACKAGE='subu-init' VERSION='1.0' @@ -3964,7 +3964,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by mk-subu-0 $as_me 1.0, which was +This file was extended by subu-init $as_me 1.0, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -4030,7 +4030,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -mk-subu-0 config.status 1.0 +subu-init config.status 1.0 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/autom4te.cache/requests b/deprecated/auto/autom4te.cache/requests similarity index 97% rename from autom4te.cache/requests rename to deprecated/auto/autom4te.cache/requests index d6485d2..9a712df 100644 --- a/autom4te.cache/requests +++ b/deprecated/auto/autom4te.cache/requests @@ -34,47 +34,47 @@ 'configure.ac' ], { - '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, + 'm4_pattern_forbid' => 1, 'AM_PROG_INSTALL_STRIP' => 1, - '_AM_CONFIG_MACRO_DIRS' => 1, - 'AM_SET_DEPDIR' => 1, 'AM_RUN_LOG' => 1, 'AM_CONDITIONAL' => 1, - 'AM_MAKE_INCLUDE' => 1, - 'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1, - 'AM_SILENT_RULES' => 1, - '_m4_warn' => 1, 'AC_DEFUN_ONCE' => 1, - 'AM_SUBST_NOTMAKE' => 1, - 'include' => 1, - 'AC_CONFIG_MACRO_DIR_TRACE' => 1, - '_AM_DEPENDENCIES' => 1, '_AC_AM_CONFIG_HEADER_HOOK' => 1, - 'AC_DEFUN' => 1, - 'AM_SANITY_CHECK' => 1, - 'AM_PROG_INSTALL_SH' => 1, - 'AM_MISSING_PROG' => 1, + '_m4_warn' => 1, '_AM_SUBST_NOTMAKE' => 1, + 'include' => 1, + '_AM_CONFIG_MACRO_DIRS' => 1, + 'AM_PROG_INSTALL_SH' => 1, '_AM_PROG_CC_C_O' => 1, - 'AU_DEFUN' => 1, - 'AM_AUX_DIR_EXPAND' => 1, + 'AM_SILENT_RULES' => 1, + 'm4_pattern_allow' => 1, + '_AM_MANGLE_OPTION' => 1, + '_AM_IF_OPTION' => 1, + 'AM_SET_DEPDIR' => 1, + 'AM_SANITY_CHECK' => 1, + '_AM_DEPENDENCIES' => 1, + 'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1, + 'AM_AUTOMAKE_VERSION' => 1, 'AM_SET_LEADING_DOT' => 1, - 'AM_MISSING_HAS_RUN' => 1, + 'AM_SUBST_NOTMAKE' => 1, + '_AM_SET_OPTIONS' => 1, + 'AM_AUX_DIR_EXPAND' => 1, + '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, + 'AU_DEFUN' => 1, '_AM_AUTOCONF_VERSION' => 1, - 'AM_AUTOMAKE_VERSION' => 1, - '_AM_PROG_TAR' => 1, - 'AM_PROG_CC_C_O' => 1, + 'AM_MISSING_PROG' => 1, 'AC_CONFIG_MACRO_DIR' => 1, - 'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, + 'AC_CONFIG_MACRO_DIR_TRACE' => 1, + 'AM_DEP_TRACK' => 1, + 'AM_MISSING_HAS_RUN' => 1, 'm4_include' => 1, - '_AM_IF_OPTION' => 1, + 'AM_PROG_CC_C_O' => 1, '_AM_SET_OPTION' => 1, + 'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, + 'AM_MAKE_INCLUDE' => 1, + '_AM_PROG_TAR' => 1, 'AM_INIT_AUTOMAKE' => 1, - '_AM_SET_OPTIONS' => 1, - '_AM_MANGLE_OPTION' => 1, - 'm4_pattern_allow' => 1, - 'AM_DEP_TRACK' => 1, - 'm4_pattern_forbid' => 1 + 'AC_DEFUN' => 1 } ], 'Autom4te::Request' ), bless( [ @@ -89,65 +89,65 @@ 'configure.ac' ], { - '_AM_COND_ELSE' => 1, - 'AM_EXTRA_RECURSIVE_TARGETS' => 1, - 'm4_sinclude' => 1, - 'AC_CONFIG_AUX_DIR' => 1, - 'AM_POT_TOOLS' => 1, - '_AM_SUBST_NOTMAKE' => 1, - 'AM_NLS' => 1, - '_AM_MAKEFILE_INCLUDE' => 1, + 'AC_SUBST' => 1, + 'AC_CONFIG_LINKS' => 1, 'AM_CONDITIONAL' => 1, + 'LT_CONFIG_LTDL_DIR' => 1, + 'AC_INIT' => 1, + 'AM_NLS' => 1, '_m4_warn' => 1, - 'AM_PROG_FC_C_O' => 1, + 'AC_FC_PP_DEFINE' => 1, + '_AM_COND_ELSE' => 1, + 'AM_SILENT_RULES' => 1, + 'AM_AUTOMAKE_VERSION' => 1, + 'AC_SUBST_TRACE' => 1, + 'AM_EXTRA_RECURSIVE_TARGETS' => 1, 'AC_LIBSOURCE' => 1, - 'AM_PROG_CXX_C_O' => 1, - 'AC_CONFIG_LIBOBJ_DIR' => 1, - 'include' => 1, - 'sinclude' => 1, - 'AC_CANONICAL_HOST' => 1, - 'AC_CANONICAL_TARGET' => 1, - 'AC_FC_PP_SRCEXT' => 1, - 'm4_pattern_allow' => 1, - 'AM_PROG_MKDIR_P' => 1, - 'LT_INIT' => 1, + 'AM_PROG_AR' => 1, + 'AM_PROG_MOC' => 1, + '_LT_AC_TAGCONFIG' => 1, 'AM_PROG_F77_C_O' => 1, + 'AH_OUTPUT' => 1, + '_AM_COND_IF' => 1, + 'm4_include' => 1, + 'sinclude' => 1, + 'AM_PROG_CXX_C_O' => 1, + 'AC_DEFINE_TRACE_LITERAL' => 1, 'AC_CONFIG_FILES' => 1, + 'm4_pattern_forbid' => 1, + 'AM_PROG_MKDIR_P' => 1, 'AM_ENABLE_MULTILIB' => 1, - '_LT_AC_TAGCONFIG' => 1, - 'AC_DEFINE_TRACE_LITERAL' => 1, 'LT_SUPPORTED_TAG' => 1, - 'AC_SUBST_TRACE' => 1, + 'include' => 1, + '_AM_SUBST_NOTMAKE' => 1, + 'AC_PROG_LIBTOOL' => 1, + '_AM_MAKEFILE_INCLUDE' => 1, + 'm4_pattern_allow' => 1, 'AM_MAKEFILE_INCLUDE' => 1, - 'AC_SUBST' => 1, - 'AC_CONFIG_SUBDIRS' => 1, - 'AC_CONFIG_HEADERS' => 1, - 'AM_XGETTEXT_OPTION' => 1, + 'AC_FC_PP_SRCEXT' => 1, + 'AC_CANONICAL_HOST' => 1, 'AC_FC_FREEFORM' => 1, - 'AC_FC_PP_DEFINE' => 1, - 'AM_PATH_GUILE' => 1, - 'AM_PROG_MOC' => 1, - 'AM_SILENT_RULES' => 1, - 'LT_CONFIG_LTDL_DIR' => 1, - 'AC_CANONICAL_SYSTEM' => 1, - 'AH_OUTPUT' => 1, - 'AC_REQUIRE_AUX_FILE' => 1, 'AM_MAINTAINER_MODE' => 1, - 'AM_INIT_AUTOMAKE' => 1, - 'AC_CONFIG_LINKS' => 1, - 'm4_pattern_forbid' => 1, - 'AM_GNU_GETTEXT' => 1, + 'AC_CANONICAL_SYSTEM' => 1, + 'AC_CANONICAL_TARGET' => 1, + 'AM_POT_TOOLS' => 1, + 'AC_CONFIG_SUBDIRS' => 1, + 'AC_CONFIG_AUX_DIR' => 1, + 'AM_PATH_GUILE' => 1, + '_AM_COND_ENDIF' => 1, + 'AC_CONFIG_LIBOBJ_DIR' => 1, + 'AM_PROG_FC_C_O' => 1, 'AC_FC_SRCEXT' => 1, - '_AM_COND_IF' => 1, + 'LT_INIT' => 1, + 'm4_sinclude' => 1, 'AM_GNU_GETTEXT_INTL_SUBDIR' => 1, 'AC_CANONICAL_BUILD' => 1, 'AM_PROG_CC_C_O' => 1, - 'AM_AUTOMAKE_VERSION' => 1, - 'AM_PROG_AR' => 1, - 'm4_include' => 1, - 'AC_INIT' => 1, - '_AM_COND_ENDIF' => 1, - 'AC_PROG_LIBTOOL' => 1 + 'AC_CONFIG_HEADERS' => 1, + 'AC_REQUIRE_AUX_FILE' => 1, + 'AM_INIT_AUTOMAKE' => 1, + 'AM_GNU_GETTEXT' => 1, + 'AM_XGETTEXT_OPTION' => 1 } ], 'Autom4te::Request' ) ); diff --git a/autom4te.cache/traces.0 b/deprecated/auto/autom4te.cache/traces.0 similarity index 100% rename from autom4te.cache/traces.0 rename to deprecated/auto/autom4te.cache/traces.0 diff --git a/autom4te.cache/traces.1 b/deprecated/auto/autom4te.cache/traces.1 similarity index 99% rename from autom4te.cache/traces.1 rename to deprecated/auto/autom4te.cache/traces.1 index fa0132b..ff4e059 100644 --- a/autom4te.cache/traces.1 +++ b/deprecated/auto/autom4te.cache/traces.1 @@ -1,7 +1,7 @@ m4trace:aclocal.m4:679: -1- AC_SUBST([am__quote]) m4trace:aclocal.m4:679: -1- AC_SUBST_TRACE([am__quote]) m4trace:aclocal.m4:679: -1- m4_pattern_allow([^am__quote$]) -m4trace:configure.ac:1: -1- AC_INIT([mk-subu-0], [1.0], [bug-automake@gnu.org]) +m4trace:configure.ac:1: -1- AC_INIT([subu-init], [1.0], [bug-automake@gnu.org]) m4trace:configure.ac:1: -1- m4_pattern_forbid([^_?A[CHUM]_]) m4trace:configure.ac:1: -1- m4_pattern_forbid([_AC_]) m4trace:configure.ac:1: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS']) diff --git a/src/build-prep-notes.txt b/deprecated/auto/build-prep-notes.txt similarity index 100% rename from src/build-prep-notes.txt rename to deprecated/auto/build-prep-notes.txt diff --git a/compile b/deprecated/auto/compile similarity index 100% rename from compile rename to deprecated/auto/compile diff --git a/config.h b/deprecated/auto/config.h similarity index 82% rename from config.h rename to deprecated/auto/config.h index 37300b0..8512619 100644 --- a/config.h +++ b/deprecated/auto/config.h @@ -2,19 +2,19 @@ /* config.h.in. Generated from configure.ac by autoheader. */ /* Name of package */ -#define PACKAGE "mk-subu-0" +#define PACKAGE "subu-init" /* Define to the address where bug reports for this package should be sent. */ #define PACKAGE_BUGREPORT "bug-automake@gnu.org" /* Define to the full name of this package. */ -#define PACKAGE_NAME "mk-subu-0" +#define PACKAGE_NAME "subu-init" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "mk-subu-0 1.0" +#define PACKAGE_STRING "subu-init 1.0" /* Define to the one symbol short name of this package. */ -#define PACKAGE_TARNAME "mk-subu-0" +#define PACKAGE_TARNAME "subu-init" /* Define to the home page for this package. */ #define PACKAGE_URL "" diff --git a/config.h.in b/deprecated/auto/config.h.in similarity index 100% rename from config.h.in rename to deprecated/auto/config.h.in diff --git a/config.log b/deprecated/auto/config.log similarity index 71% rename from config.log rename to deprecated/auto/config.log index 4cff49b..312ec79 100644 --- a/config.log +++ b/deprecated/auto/config.log @@ -1,10 +1,10 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by mk-subu-0 configure 1.0, which was +It was created by subu-init configure 1.0, which was generated by GNU Autoconf 2.69. Invocation command line was - $ ./configure --no-create --no-recursion + $ ./configure CFLAGS=-ggdb -O0 ## --------- ## ## Platform. ## @@ -85,27 +85,27 @@ gcc: fatal error: no input files compilation terminated. configure:2718: $? = 1 configure:2738: checking whether the C compiler works -configure:2760: gcc conftest.c >&5 +configure:2760: gcc -ggdb -O0 conftest.c >&5 configure:2764: $? = 0 configure:2812: result: yes configure:2815: checking for C compiler default output file name configure:2817: result: a.out configure:2823: checking for suffix of executables -configure:2830: gcc -o conftest conftest.c >&5 +configure:2830: gcc -o conftest -ggdb -O0 conftest.c >&5 configure:2834: $? = 0 configure:2856: result: configure:2878: checking whether we are cross compiling -configure:2886: gcc -o conftest conftest.c >&5 +configure:2886: gcc -o conftest -ggdb -O0 conftest.c >&5 configure:2890: $? = 0 configure:2897: ./conftest configure:2901: $? = 0 configure:2916: result: no configure:2921: checking for suffix of object files -configure:2943: gcc -c conftest.c >&5 +configure:2943: gcc -c -ggdb -O0 conftest.c >&5 configure:2947: $? = 0 configure:2968: result: o configure:2972: checking whether we are using the GNU C compiler -configure:2991: gcc -c conftest.c >&5 +configure:2991: gcc -c -ggdb -O0 conftest.c >&5 configure:2991: $? = 0 configure:3000: result: yes configure:3009: checking whether gcc accepts -g @@ -113,7 +113,7 @@ configure:3029: gcc -c -g conftest.c >&5 configure:3029: $? = 0 configure:3070: result: yes configure:3087: checking for gcc option to accept ISO C89 -configure:3150: gcc -c -g -O2 conftest.c >&5 +configure:3150: gcc -c -ggdb -O0 conftest.c >&5 configure:3150: $? = 0 configure:3163: result: none needed configure:3188: checking whether gcc understands -c and -o together @@ -124,8 +124,6 @@ configure:3213: $? = 0 configure:3225: result: yes configure:3245: checking whether make supports the include directive configure:3260: make -f confmf.GNU && cat confinc.out -make[1]: Entering directory '/home/morpheus/subu_land/subu' -make[1]: Leaving directory '/home/morpheus/subu_land/subu' this is the am__doit target configure:3263: $? = 0 configure:3282: result: yes (GNU style) @@ -135,6 +133,30 @@ configure:3546: checking that generated files are newer than configure configure:3552: result: done configure:3575: creating ./config.status +## ---------------------- ## +## Running config.status. ## +## ---------------------- ## + +This file was extended by subu-init config.status 1.0, which was +generated by GNU Autoconf 2.69. Invocation command line was + + CONFIG_FILES = + CONFIG_HEADERS = + CONFIG_LINKS = + CONFIG_COMMANDS = + $ ./config.status + +on manorhouse + +config.status:840: creating makefile +config.status:840: creating src/makefile +config.status:840: creating config.h +config.status:1021: config.h is unchanged +config.status:1069: executing depfiles commands +config.status:1146: cd src && sed -e '/# am--include-marker/d' makefile | make -f - am--depfiles +make: Nothing to be done for 'am--depfiles'. +config.status:1151: $? = 0 + ## ---------------- ## ## Cache variables. ## ## ---------------- ## @@ -142,8 +164,8 @@ configure:3575: creating ./config.status ac_cv_c_compiler_gnu=yes ac_cv_env_CC_set= ac_cv_env_CC_value= -ac_cv_env_CFLAGS_set= -ac_cv_env_CFLAGS_value= +ac_cv_env_CFLAGS_set=set +ac_cv_env_CFLAGS_value='-ggdb -O0' ac_cv_env_CPPFLAGS_set= ac_cv_env_CPPFLAGS_value= ac_cv_env_LDFLAGS_set= @@ -187,7 +209,7 @@ AUTOMAKE='${SHELL} /home/morpheus/subu_land/subu/missing automake-1.16' AWK='gawk' CC='gcc' CCDEPMODE='depmode=gcc3' -CFLAGS='-g -O2' +CFLAGS='-ggdb -O0' CPPFLAGS='' CYGPATH_W='echo' DEFS='-DHAVE_CONFIG_H' @@ -207,11 +229,11 @@ LTLIBOBJS='' MAKEINFO='${SHELL} /home/morpheus/subu_land/subu/missing makeinfo' MKDIR_P='/usr/bin/mkdir -p' OBJEXT='o' -PACKAGE='mk-subu-0' +PACKAGE='subu-init' PACKAGE_BUGREPORT='bug-automake@gnu.org' -PACKAGE_NAME='mk-subu-0' -PACKAGE_STRING='mk-subu-0 1.0' -PACKAGE_TARNAME='mk-subu-0' +PACKAGE_NAME='subu-init' +PACKAGE_STRING='subu-init 1.0' +PACKAGE_TARNAME='subu-init' PACKAGE_URL='' PACKAGE_VERSION='1.0' PATH_SEPARATOR=':' @@ -264,13 +286,13 @@ target_alias='' ## ----------- ## /* confdefs.h */ -#define PACKAGE_NAME "mk-subu-0" -#define PACKAGE_TARNAME "mk-subu-0" +#define PACKAGE_NAME "subu-init" +#define PACKAGE_TARNAME "subu-init" #define PACKAGE_VERSION "1.0" -#define PACKAGE_STRING "mk-subu-0 1.0" +#define PACKAGE_STRING "subu-init 1.0" #define PACKAGE_BUGREPORT "bug-automake@gnu.org" #define PACKAGE_URL "" -#define PACKAGE "mk-subu-0" +#define PACKAGE "subu-init" #define VERSION "1.0" configure: exit 0 @@ -279,33 +301,7 @@ configure: exit 0 ## Running config.status. ## ## ---------------------- ## -This file was extended by mk-subu-0 config.status 1.0, which was -generated by GNU Autoconf 2.69. Invocation command line was - - CONFIG_FILES = - CONFIG_HEADERS = - CONFIG_LINKS = - CONFIG_COMMANDS = - $ ./config.status - -on manorhouse - -config.status:840: creating makefile -config.status:840: creating src/makefile -config.status:840: creating config.h -config.status:1021: config.h is unchanged -config.status:1069: executing depfiles commands -config.status:1146: cd src && sed -e '/# am--include-marker/d' makefile | make -f - am--depfiles -make[1]: Entering directory '/home/morpheus/subu_land/subu/src' -make[1]: Nothing to be done for 'am--depfiles'. -make[1]: Leaving directory '/home/morpheus/subu_land/subu/src' -config.status:1151: $? = 0 - -## ---------------------- ## -## Running config.status. ## -## ---------------------- ## - -This file was extended by mk-subu-0 config.status 1.0, which was +This file was extended by subu-init config.status 1.0, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = @@ -328,95 +324,7 @@ config.status:1151: $? = 0 ## Running config.status. ## ## ---------------------- ## -This file was extended by mk-subu-0 config.status 1.0, which was -generated by GNU Autoconf 2.69. Invocation command line was - - CONFIG_FILES = - CONFIG_HEADERS = - CONFIG_LINKS = - CONFIG_COMMANDS = - $ ./config.status src/makefile depfiles - -on manorhouse - -config.status:840: creating src/makefile -config.status:1069: executing depfiles commands -config.status:1146: cd src && sed -e '/# am--include-marker/d' makefile | make -f - am--depfiles -make[1]: Entering directory '/home/morpheus/subu_land/subu/src' -make[1]: Leaving directory '/home/morpheus/subu_land/subu/src' -config.status:1151: $? = 0 - -## ---------------------- ## -## Running config.status. ## -## ---------------------- ## - -This file was extended by mk-subu-0 config.status 1.0, which was -generated by GNU Autoconf 2.69. Invocation command line was - - CONFIG_FILES = - CONFIG_HEADERS = - CONFIG_LINKS = - CONFIG_COMMANDS = - $ ./config.status src/makefile depfiles - -on manorhouse - -config.status:840: creating src/makefile -config.status:1069: executing depfiles commands -config.status:1146: cd src && sed -e '/# am--include-marker/d' makefile | make -f - am--depfiles -make[1]: Entering directory '/home/morpheus/subu_land/subu/src' -make[1]: Leaving directory '/home/morpheus/subu_land/subu/src' -config.status:1151: $? = 0 - -## ---------------------- ## -## Running config.status. ## -## ---------------------- ## - -This file was extended by mk-subu-0 config.status 1.0, which was -generated by GNU Autoconf 2.69. Invocation command line was - - CONFIG_FILES = - CONFIG_HEADERS = - CONFIG_LINKS = - CONFIG_COMMANDS = - $ ./config.status src/makefile depfiles - -on manorhouse - -config.status:840: creating src/makefile -config.status:1069: executing depfiles commands -config.status:1146: cd src && sed -e '/# am--include-marker/d' makefile | make -f - am--depfiles -make[1]: Entering directory '/home/morpheus/subu_land/subu/src' -make[1]: Leaving directory '/home/morpheus/subu_land/subu/src' -config.status:1151: $? = 0 - -## ---------------------- ## -## Running config.status. ## -## ---------------------- ## - -This file was extended by mk-subu-0 config.status 1.0, which was -generated by GNU Autoconf 2.69. Invocation command line was - - CONFIG_FILES = - CONFIG_HEADERS = - CONFIG_LINKS = - CONFIG_COMMANDS = - $ ./config.status src/makefile depfiles - -on manorhouse - -config.status:840: creating src/makefile -config.status:1069: executing depfiles commands -config.status:1146: cd src && sed -e '/# am--include-marker/d' makefile | make -f - am--depfiles -make[1]: Entering directory '/home/morpheus/subu_land/subu/src' -make[1]: Leaving directory '/home/morpheus/subu_land/subu/src' -config.status:1151: $? = 0 - -## ---------------------- ## -## Running config.status. ## -## ---------------------- ## - -This file was extended by mk-subu-0 config.status 1.0, which was +This file was extended by subu-init config.status 1.0, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = @@ -431,5 +339,6 @@ config.status:840: creating src/makefile config.status:1069: executing depfiles commands config.status:1146: cd src && sed -e '/# am--include-marker/d' makefile | make -f - am--depfiles make[1]: Entering directory '/home/morpheus/subu_land/subu/src' +make[1]: Nothing to be done for 'am--depfiles'. make[1]: Leaving directory '/home/morpheus/subu_land/subu/src' config.status:1151: $? = 0 diff --git a/config.status b/deprecated/auto/config.status similarity index 98% rename from config.status rename to deprecated/auto/config.status index f478b3b..9883e01 100755 --- a/config.status +++ b/deprecated/auto/config.status @@ -380,7 +380,7 @@ exec 6>&1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by mk-subu-0 $as_me 1.0, which was +This file was extended by subu-init $as_me 1.0, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -427,9 +427,9 @@ $config_commands Report bugs to ." -ac_cs_config="" +ac_cs_config="'CFLAGS=-ggdb -O0'" ac_cs_version="\ -mk-subu-0 config.status 1.0 +subu-init config.status 1.0 configured by ./configure, generated by GNU Autoconf 2.69, with options \"$ac_cs_config\" @@ -519,7 +519,7 @@ if $ac_cs_silent; then fi if $ac_cs_recheck; then - set X /bin/sh './configure' $ac_configure_extra_args --no-create --no-recursion + set X /bin/sh './configure' 'CFLAGS=-ggdb -O0' $ac_configure_extra_args --no-create --no-recursion shift $as_echo "running CONFIG_SHELL=/bin/sh $*" >&6 CONFIG_SHELL='/bin/sh' @@ -633,7 +633,7 @@ S["EXEEXT"]="" S["ac_ct_CC"]="gcc" S["CPPFLAGS"]="" S["LDFLAGS"]="" -S["CFLAGS"]="-g -O2" +S["CFLAGS"]="-ggdb -O0" S["CC"]="gcc" S["AM_BACKSLASH"]="\\" S["AM_DEFAULT_VERBOSITY"]="1" @@ -656,7 +656,7 @@ S["AUTOMAKE"]="${SHELL} /home/morpheus/subu_land/subu/missing automake-1.16" S["AUTOCONF"]="${SHELL} /home/morpheus/subu_land/subu/missing autoconf" S["ACLOCAL"]="${SHELL} /home/morpheus/subu_land/subu/missing aclocal-1.16" S["VERSION"]="1.0" -S["PACKAGE"]="mk-subu-0" +S["PACKAGE"]="subu-init" S["CYGPATH_W"]="echo" S["am__isrc"]="" S["INSTALL_DATA"]="${INSTALL} -m 644" @@ -694,10 +694,10 @@ S["prefix"]="/usr/local" S["exec_prefix"]="${prefix}" S["PACKAGE_URL"]="" S["PACKAGE_BUGREPORT"]="bug-automake@gnu.org" -S["PACKAGE_STRING"]="mk-subu-0 1.0" +S["PACKAGE_STRING"]="subu-init 1.0" S["PACKAGE_VERSION"]="1.0" -S["PACKAGE_TARNAME"]="mk-subu-0" -S["PACKAGE_NAME"]="mk-subu-0" +S["PACKAGE_TARNAME"]="subu-init" +S["PACKAGE_NAME"]="subu-init" S["PATH_SEPARATOR"]=":" S["SHELL"]="/bin/sh" S["am__quote"]="" @@ -742,13 +742,13 @@ fi # test -n "$CONFIG_FILES" if test -n "$CONFIG_HEADERS"; then cat >"$ac_tmp/defines.awk" <<\_ACAWK || BEGIN { -D["PACKAGE_NAME"]=" \"mk-subu-0\"" -D["PACKAGE_TARNAME"]=" \"mk-subu-0\"" +D["PACKAGE_NAME"]=" \"subu-init\"" +D["PACKAGE_TARNAME"]=" \"subu-init\"" D["PACKAGE_VERSION"]=" \"1.0\"" -D["PACKAGE_STRING"]=" \"mk-subu-0 1.0\"" +D["PACKAGE_STRING"]=" \"subu-init 1.0\"" D["PACKAGE_BUGREPORT"]=" \"bug-automake@gnu.org\"" D["PACKAGE_URL"]=" \"\"" -D["PACKAGE"]=" \"mk-subu-0\"" +D["PACKAGE"]=" \"subu-init\"" D["VERSION"]=" \"1.0\"" for (key in D) D_is_set[key] = 1 FS = "" diff --git a/configure b/deprecated/auto/configure similarity index 99% rename from configure rename to deprecated/auto/configure index 86ce378..4cc2d17 100755 --- a/configure +++ b/deprecated/auto/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for mk-subu-0 1.0. +# Generated by GNU Autoconf 2.69 for subu-init 1.0. # # Report bugs to . # @@ -577,10 +577,10 @@ MFLAGS= MAKEFLAGS= # Identity of this package. -PACKAGE_NAME='mk-subu-0' -PACKAGE_TARNAME='mk-subu-0' +PACKAGE_NAME='subu-init' +PACKAGE_TARNAME='subu-init' PACKAGE_VERSION='1.0' -PACKAGE_STRING='mk-subu-0 1.0' +PACKAGE_STRING='subu-init 1.0' PACKAGE_BUGREPORT='bug-automake@gnu.org' PACKAGE_URL='' @@ -1224,7 +1224,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures mk-subu-0 1.0 to adapt to many kinds of systems. +\`configure' configures subu-init 1.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1272,7 +1272,7 @@ Fine tuning of the installation directories: --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/mk-subu-0] + --docdir=DIR documentation root [DATAROOTDIR/doc/subu-init] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] @@ -1290,7 +1290,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of mk-subu-0 1.0:";; + short | recursive ) echo "Configuration of subu-init 1.0:";; esac cat <<\_ACEOF @@ -1380,7 +1380,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -mk-subu-0 configure 1.0 +subu-init configure 1.0 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1435,7 +1435,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by mk-subu-0 $as_me 1.0, which was +It was created by subu-init $as_me 1.0, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2297,7 +2297,7 @@ fi # Define the identity of the package. - PACKAGE='mk-subu-0' + PACKAGE='subu-init' VERSION='1.0' @@ -3964,7 +3964,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by mk-subu-0 $as_me 1.0, which was +This file was extended by subu-init $as_me 1.0, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -4030,7 +4030,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -mk-subu-0 config.status 1.0 +subu-init config.status 1.0 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/deprecated/auto/configure.ac similarity index 72% rename from configure.ac rename to deprecated/auto/configure.ac index c0ef23f..fffa793 100644 --- a/configure.ac +++ b/deprecated/auto/configure.ac @@ -1,4 +1,4 @@ -AC_INIT([mk-subu-0], [1.0], [bug-automake@gnu.org]) +AC_INIT([subu-init], [1.0], [bug-automake@gnu.org]) AM_INIT_AUTOMAKE([-Wall -Werror foreign]) AC_PROG_CC AC_CONFIG_HEADERS([config.h]) diff --git a/depcomp b/deprecated/auto/depcomp similarity index 100% rename from depcomp rename to deprecated/auto/depcomp diff --git a/install-sh b/deprecated/auto/install-sh similarity index 100% rename from install-sh rename to deprecated/auto/install-sh diff --git a/makefile.in b/deprecated/auto/makefile similarity index 90% rename from makefile.in rename to deprecated/auto/makefile index cbfc488..f97e470 100644 --- a/makefile.in +++ b/deprecated/auto/makefile @@ -1,5 +1,5 @@ # makefile.in generated by automake 1.16.1 from makefile.am. -# @configure_input@ +# makefile. Generated from makefile.in by configure. # Copyright (C) 1994-2018 Free Software Foundation, Inc. @@ -12,9 +12,9 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. -@SET_MAKE@ -VPATH = @srcdir@ + + am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ @@ -70,10 +70,10 @@ am__make_running_with_option = \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ +pkgdatadir = $(datadir)/subu-init +pkgincludedir = $(includedir)/subu-init +pkglibdir = $(libdir)/subu-init +pkglibexecdir = $(libexecdir)/subu-init am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c @@ -99,16 +99,16 @@ mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) am__v_P_0 = false am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ am__v_at_1 = SOURCES = @@ -229,90 +229,90 @@ distuninstallcheck_listfiles = find . -type f -print am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' distcleancheck_listfiles = find . -type f -print -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EXEEXT = @EXEEXT@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -OBJEXT = @OBJEXT@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_CC = @ac_ct_CC@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build_alias = @build_alias@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host_alias = @host_alias@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ +ACLOCAL = ${SHELL} /home/morpheus/subu_land/subu/missing aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AUTOCONF = ${SHELL} /home/morpheus/subu_land/subu/missing autoconf +AUTOHEADER = ${SHELL} /home/morpheus/subu_land/subu/missing autoheader +AUTOMAKE = ${SHELL} /home/morpheus/subu_land/subu/missing automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -ggdb -O0 +CPPFLAGS = +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +ECHO_C = +ECHO_N = -n +ECHO_T = +EXEEXT = +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LDFLAGS = +LIBOBJS = +LIBS = +LTLIBOBJS = +MAKEINFO = ${SHELL} /home/morpheus/subu_land/subu/missing makeinfo +MKDIR_P = /usr/bin/mkdir -p +OBJEXT = o +PACKAGE = subu-init +PACKAGE_BUGREPORT = bug-automake@gnu.org +PACKAGE_NAME = subu-init +PACKAGE_STRING = subu-init 1.0 +PACKAGE_TARNAME = subu-init +PACKAGE_URL = +PACKAGE_VERSION = 1.0 +PATH_SEPARATOR = : +SET_MAKE = +SHELL = /bin/sh +STRIP = +VERSION = 1.0 +abs_builddir = /home/morpheus/subu_land/subu +abs_srcdir = /home/morpheus/subu_land/subu +abs_top_builddir = /home/morpheus/subu_land/subu +abs_top_srcdir = /home/morpheus/subu_land/subu +ac_ct_CC = gcc +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build_alias = +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host_alias = +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} /home/morpheus/subu_land/subu/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = +top_builddir = . +top_srcdir = . SUBDIRS = src dist_doc_DATA = README all: config.h diff --git a/deprecated/auto/makefile.am b/deprecated/auto/makefile.am new file mode 100644 index 0000000..ca1be59 --- /dev/null +++ b/deprecated/auto/makefile.am @@ -0,0 +1,11 @@ +bin_PROGRAMS=subu_init +subu_init_SOURCES=\ + subu-config.lib.c\ + subu-init.cli.c +subu_init_LDFLAGS= -lsqlite3 + + + + + + diff --git a/deprecated/auto/makefile.in b/deprecated/auto/makefile.in new file mode 100644 index 0000000..31fc40a --- /dev/null +++ b/deprecated/auto/makefile.in @@ -0,0 +1,578 @@ +# makefile.in generated by automake 1.16.1 from makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2018 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +bin_PROGRAMS = subu_init$(EXEEXT) +subdir = src +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" +PROGRAMS = $(bin_PROGRAMS) +am_subu_init_OBJECTS = subu-config.lib.$(OBJEXT) \ + subu-init.cli.$(OBJEXT) +subu_init_OBJECTS = $(am_subu_init_OBJECTS) +subu_init_LDADD = $(LDADD) +subu_init_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(subu_init_LDFLAGS) \ + $(LDFLAGS) -o $@ +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/subu-config.lib.Po \ + ./$(DEPDIR)/subu-init.cli.Po +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = +CCLD = $(CC) +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = +SOURCES = $(subu_init_SOURCES) +DIST_SOURCES = $(subu_init_SOURCES) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +ETAGS = etags +CTAGS = ctags +am__DIST_COMMON = $(srcdir)/makefile.in $(top_srcdir)/depcomp +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EXEEXT = @EXEEXT@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build_alias = @build_alias@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host_alias = @host_alias@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +subu_init_SOURCES = \ + subu-config.lib.c\ + subu-init.cli.c + +subu_init_LDFLAGS = -lsqlite3 +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .o .obj +$(srcdir)/makefile.in: $(srcdir)/makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign src/makefile +makefile: $(srcdir)/makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ + fi; \ + for p in $$list; do echo "$$p $$p"; done | \ + sed 's/$(EXEEXT)$$//' | \ + while read p p1; do if test -f $$p \ + ; then echo "$$p"; echo "$$p"; else :; fi; \ + done | \ + sed -e 'p;s,.*/,,;n;h' \ + -e 's|.*|.|' \ + -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ + sed 'N;N;N;s,\n, ,g' | \ + $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ + { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ + if ($$2 == $$4) files[d] = files[d] " " $$1; \ + else { print "f", $$3 "/" $$4, $$1; } } \ + END { for (d in files) print "f", d, files[d] }' | \ + while read type dir files; do \ + if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ + test -z "$$files" || { \ + echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ + $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ + } \ + ; done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + files=`for p in $$list; do echo "$$p"; done | \ + sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ + -e 's/$$/$(EXEEXT)/' \ + `; \ + test -n "$$list" || exit 0; \ + echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(bindir)" && rm -f $$files + +clean-binPROGRAMS: + -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) + +subu_init$(EXEEXT): $(subu_init_OBJECTS) $(subu_init_DEPENDENCIES) $(EXTRA_subu_init_DEPENDENCIES) + @rm -f subu_init$(EXEEXT) + $(AM_V_CCLD)$(subu_init_LINK) $(subu_init_OBJECTS) $(subu_init_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/subu-config.lib.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/subu-init.cli.Po@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.c.o: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< + +.c.obj: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: makefile $(PROGRAMS) +installdirs: + for dir in "$(DESTDIR)$(bindir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/subu-config.lib.Po + -rm -f ./$(DEPDIR)/subu-init.cli.Po + -rm -f makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-binPROGRAMS + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/subu-config.lib.Po + -rm -f ./$(DEPDIR)/subu-init.cli.Po + -rm -f makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-binPROGRAMS clean-generic cscopelist-am ctags ctags-am \ + distclean distclean-compile distclean-generic distclean-tags \ + distdir dvi dvi-am html html-am info info-am install \ + install-am install-binPROGRAMS install-data install-data-am \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-info install-info-am \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am \ + uninstall-binPROGRAMS + +.PRECIOUS: makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/missing b/deprecated/auto/missing similarity index 100% rename from missing rename to deprecated/auto/missing diff --git a/stamp-h1 b/deprecated/auto/stamp-h1 similarity index 100% rename from stamp-h1 rename to deprecated/auto/stamp-h1 diff --git a/deprecated/old_subu/.deps/dbprintf.aux.Po b/deprecated/old_subu/.deps/dbprintf.aux.Po new file mode 100644 index 0000000..29100fb --- /dev/null +++ b/deprecated/old_subu/.deps/dbprintf.aux.Po @@ -0,0 +1,59 @@ +dbprintf.aux.o: dbprintf.aux.c /usr/include/stdc-predef.h \ + /usr/lib/gcc/x86_64-redhat-linux/8/include/stdarg.h /usr/include/stdio.h \ + /usr/include/bits/libc-header-start.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \ + /usr/include/bits/long-double.h /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-redhat-linux/8/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/bits/types/__fpos_t.h /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h dbprintf.aux.h + +/usr/include/stdc-predef.h: + +/usr/lib/gcc/x86_64-redhat-linux/8/include/stdarg.h: + +/usr/include/stdio.h: + +/usr/include/bits/libc-header-start.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/long-double.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-redhat-linux/8/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/bits/types/__fpos_t.h: + +/usr/include/bits/types/__mbstate_t.h: + +/usr/include/bits/types/__fpos64_t.h: + +/usr/include/bits/types/__FILE.h: + +/usr/include/bits/types/FILE.h: + +/usr/include/bits/types/struct_FILE.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +dbprintf.aux.h: diff --git a/deprecated/old_subu/.deps/dispatch.Po b/deprecated/old_subu/.deps/dispatch.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/deprecated/old_subu/.deps/dispatch.Po @@ -0,0 +1 @@ +# dummy diff --git a/deprecated/old_subu/.deps/dispatch.lib.Po b/deprecated/old_subu/.deps/dispatch.lib.Po new file mode 100644 index 0000000..0e84d00 --- /dev/null +++ b/deprecated/old_subu/.deps/dispatch.lib.Po @@ -0,0 +1,234 @@ +dispatch.lib.o: dispatch.lib.c /usr/include/stdc-predef.h \ + /usr/include/sys/types.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \ + /usr/include/bits/long-double.h /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-64.h /usr/include/bits/types.h \ + /usr/include/bits/typesizes.h /usr/include/bits/types/clock_t.h \ + /usr/include/bits/types/clockid_t.h /usr/include/bits/types/time_t.h \ + /usr/include/bits/types/timer_t.h \ + /usr/lib/gcc/x86_64-redhat-linux/8/include/stddef.h \ + /usr/include/bits/stdint-intn.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/bits/byteswap.h \ + /usr/include/bits/uintn-identity.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/types/sigset_t.h \ + /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/pthreadtypes-arch.h /usr/include/unistd.h \ + /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \ + /usr/include/bits/confname.h /usr/include/bits/getopt_posix.h \ + /usr/include/bits/getopt_core.h /usr/include/wait.h \ + /usr/include/sys/wait.h /usr/include/signal.h /usr/include/bits/signum.h \ + /usr/include/bits/signum-generic.h \ + /usr/include/bits/types/sig_atomic_t.h \ + /usr/include/bits/types/siginfo_t.h /usr/include/bits/types/__sigval_t.h \ + /usr/include/bits/siginfo-arch.h /usr/include/bits/siginfo-consts.h \ + /usr/include/bits/siginfo-consts-arch.h \ + /usr/include/bits/types/sigval_t.h /usr/include/bits/types/sigevent_t.h \ + /usr/include/bits/sigevent-consts.h /usr/include/bits/sigaction.h \ + /usr/include/bits/sigcontext.h /usr/include/bits/types/stack_t.h \ + /usr/include/sys/ucontext.h /usr/include/bits/sigstack.h \ + /usr/include/bits/ss_flags.h /usr/include/bits/types/struct_sigstack.h \ + /usr/include/bits/sigthread.h /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h /usr/include/stdlib.h \ + /usr/include/bits/libc-header-start.h /usr/include/bits/floatn.h \ + /usr/include/bits/floatn-common.h /usr/include/bits/types/locale_t.h \ + /usr/include/bits/types/__locale_t.h /usr/include/alloca.h \ + /usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \ + /usr/include/stdio.h /usr/lib/gcc/x86_64-redhat-linux/8/include/stdarg.h \ + /usr/include/bits/types/__fpos_t.h /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/types/cookie_io_functions_t.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/errno.h /usr/include/bits/errno.h \ + /usr/include/linux/errno.h /usr/include/asm/errno.h \ + /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ + /usr/include/bits/types/error_t.h local_common.h ../config.h \ + /usr/lib/gcc/x86_64-redhat-linux/8/include/stdbool.h dbprintf.aux.h \ + dispatch.lib.h + +/usr/include/stdc-predef.h: + +/usr/include/sys/types.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/long-double.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-64.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/bits/types/clock_t.h: + +/usr/include/bits/types/clockid_t.h: + +/usr/include/bits/types/time_t.h: + +/usr/include/bits/types/timer_t.h: + +/usr/lib/gcc/x86_64-redhat-linux/8/include/stddef.h: + +/usr/include/bits/stdint-intn.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/bits/byteswap.h: + +/usr/include/bits/uintn-identity.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/types/sigset_t.h: + +/usr/include/bits/types/__sigset_t.h: + +/usr/include/bits/types/struct_timeval.h: + +/usr/include/bits/types/struct_timespec.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/thread-shared-types.h: + +/usr/include/bits/pthreadtypes-arch.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/environments.h: + +/usr/include/bits/confname.h: + +/usr/include/bits/getopt_posix.h: + +/usr/include/bits/getopt_core.h: + +/usr/include/wait.h: + +/usr/include/sys/wait.h: + +/usr/include/signal.h: + +/usr/include/bits/signum.h: + +/usr/include/bits/signum-generic.h: + +/usr/include/bits/types/sig_atomic_t.h: + +/usr/include/bits/types/siginfo_t.h: + +/usr/include/bits/types/__sigval_t.h: + +/usr/include/bits/siginfo-arch.h: + +/usr/include/bits/siginfo-consts.h: + +/usr/include/bits/siginfo-consts-arch.h: + +/usr/include/bits/types/sigval_t.h: + +/usr/include/bits/types/sigevent_t.h: + +/usr/include/bits/sigevent-consts.h: + +/usr/include/bits/sigaction.h: + +/usr/include/bits/sigcontext.h: + +/usr/include/bits/types/stack_t.h: + +/usr/include/sys/ucontext.h: + +/usr/include/bits/sigstack.h: + +/usr/include/bits/ss_flags.h: + +/usr/include/bits/types/struct_sigstack.h: + +/usr/include/bits/sigthread.h: + +/usr/include/bits/waitflags.h: + +/usr/include/bits/waitstatus.h: + +/usr/include/stdlib.h: + +/usr/include/bits/libc-header-start.h: + +/usr/include/bits/floatn.h: + +/usr/include/bits/floatn-common.h: + +/usr/include/bits/types/locale_t.h: + +/usr/include/bits/types/__locale_t.h: + +/usr/include/alloca.h: + +/usr/include/bits/stdlib-bsearch.h: + +/usr/include/bits/stdlib-float.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-redhat-linux/8/include/stdarg.h: + +/usr/include/bits/types/__fpos_t.h: + +/usr/include/bits/types/__mbstate_t.h: + +/usr/include/bits/types/__fpos64_t.h: + +/usr/include/bits/types/__FILE.h: + +/usr/include/bits/types/FILE.h: + +/usr/include/bits/types/struct_FILE.h: + +/usr/include/bits/types/cookie_io_functions_t.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/errno.h: + +/usr/include/bits/errno.h: + +/usr/include/linux/errno.h: + +/usr/include/asm/errno.h: + +/usr/include/asm-generic/errno.h: + +/usr/include/asm-generic/errno-base.h: + +/usr/include/bits/types/error_t.h: + +local_common.h: + +../config.h: + +/usr/lib/gcc/x86_64-redhat-linux/8/include/stdbool.h: + +dbprintf.aux.h: + +dispatch.lib.h: diff --git a/deprecated/old_subu/.deps/dispatch_exec.lib.Po b/deprecated/old_subu/.deps/dispatch_exec.lib.Po new file mode 100644 index 0000000..766bcc6 --- /dev/null +++ b/deprecated/old_subu/.deps/dispatch_exec.lib.Po @@ -0,0 +1,234 @@ +dispatch_exec.lib.o: dispatch_exec.lib.c /usr/include/stdc-predef.h \ + /usr/include/sys/types.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \ + /usr/include/bits/long-double.h /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-64.h /usr/include/bits/types.h \ + /usr/include/bits/typesizes.h /usr/include/bits/types/clock_t.h \ + /usr/include/bits/types/clockid_t.h /usr/include/bits/types/time_t.h \ + /usr/include/bits/types/timer_t.h \ + /usr/lib/gcc/x86_64-redhat-linux/8/include/stddef.h \ + /usr/include/bits/stdint-intn.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/bits/byteswap.h \ + /usr/include/bits/uintn-identity.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/types/sigset_t.h \ + /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/pthreadtypes-arch.h /usr/include/unistd.h \ + /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \ + /usr/include/bits/confname.h /usr/include/bits/getopt_posix.h \ + /usr/include/bits/getopt_core.h /usr/include/wait.h \ + /usr/include/sys/wait.h /usr/include/signal.h /usr/include/bits/signum.h \ + /usr/include/bits/signum-generic.h \ + /usr/include/bits/types/sig_atomic_t.h \ + /usr/include/bits/types/siginfo_t.h /usr/include/bits/types/__sigval_t.h \ + /usr/include/bits/siginfo-arch.h /usr/include/bits/siginfo-consts.h \ + /usr/include/bits/siginfo-consts-arch.h \ + /usr/include/bits/types/sigval_t.h /usr/include/bits/types/sigevent_t.h \ + /usr/include/bits/sigevent-consts.h /usr/include/bits/sigaction.h \ + /usr/include/bits/sigcontext.h /usr/include/bits/types/stack_t.h \ + /usr/include/sys/ucontext.h /usr/include/bits/sigstack.h \ + /usr/include/bits/ss_flags.h /usr/include/bits/types/struct_sigstack.h \ + /usr/include/bits/sigthread.h /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h /usr/include/stdlib.h \ + /usr/include/bits/libc-header-start.h /usr/include/bits/floatn.h \ + /usr/include/bits/floatn-common.h /usr/include/bits/types/locale_t.h \ + /usr/include/bits/types/__locale_t.h /usr/include/alloca.h \ + /usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \ + /usr/include/stdio.h /usr/lib/gcc/x86_64-redhat-linux/8/include/stdarg.h \ + /usr/include/bits/types/__fpos_t.h /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/types/cookie_io_functions_t.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/errno.h /usr/include/bits/errno.h \ + /usr/include/linux/errno.h /usr/include/asm/errno.h \ + /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ + /usr/include/bits/types/error_t.h local_common.h ../config.h \ + /usr/lib/gcc/x86_64-redhat-linux/8/include/stdbool.h dbprintf.aux.h \ + dispatch_exec.lib.h + +/usr/include/stdc-predef.h: + +/usr/include/sys/types.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/long-double.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-64.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/bits/types/clock_t.h: + +/usr/include/bits/types/clockid_t.h: + +/usr/include/bits/types/time_t.h: + +/usr/include/bits/types/timer_t.h: + +/usr/lib/gcc/x86_64-redhat-linux/8/include/stddef.h: + +/usr/include/bits/stdint-intn.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/bits/byteswap.h: + +/usr/include/bits/uintn-identity.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/types/sigset_t.h: + +/usr/include/bits/types/__sigset_t.h: + +/usr/include/bits/types/struct_timeval.h: + +/usr/include/bits/types/struct_timespec.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/thread-shared-types.h: + +/usr/include/bits/pthreadtypes-arch.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/environments.h: + +/usr/include/bits/confname.h: + +/usr/include/bits/getopt_posix.h: + +/usr/include/bits/getopt_core.h: + +/usr/include/wait.h: + +/usr/include/sys/wait.h: + +/usr/include/signal.h: + +/usr/include/bits/signum.h: + +/usr/include/bits/signum-generic.h: + +/usr/include/bits/types/sig_atomic_t.h: + +/usr/include/bits/types/siginfo_t.h: + +/usr/include/bits/types/__sigval_t.h: + +/usr/include/bits/siginfo-arch.h: + +/usr/include/bits/siginfo-consts.h: + +/usr/include/bits/siginfo-consts-arch.h: + +/usr/include/bits/types/sigval_t.h: + +/usr/include/bits/types/sigevent_t.h: + +/usr/include/bits/sigevent-consts.h: + +/usr/include/bits/sigaction.h: + +/usr/include/bits/sigcontext.h: + +/usr/include/bits/types/stack_t.h: + +/usr/include/sys/ucontext.h: + +/usr/include/bits/sigstack.h: + +/usr/include/bits/ss_flags.h: + +/usr/include/bits/types/struct_sigstack.h: + +/usr/include/bits/sigthread.h: + +/usr/include/bits/waitflags.h: + +/usr/include/bits/waitstatus.h: + +/usr/include/stdlib.h: + +/usr/include/bits/libc-header-start.h: + +/usr/include/bits/floatn.h: + +/usr/include/bits/floatn-common.h: + +/usr/include/bits/types/locale_t.h: + +/usr/include/bits/types/__locale_t.h: + +/usr/include/alloca.h: + +/usr/include/bits/stdlib-bsearch.h: + +/usr/include/bits/stdlib-float.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-redhat-linux/8/include/stdarg.h: + +/usr/include/bits/types/__fpos_t.h: + +/usr/include/bits/types/__mbstate_t.h: + +/usr/include/bits/types/__fpos64_t.h: + +/usr/include/bits/types/__FILE.h: + +/usr/include/bits/types/FILE.h: + +/usr/include/bits/types/struct_FILE.h: + +/usr/include/bits/types/cookie_io_functions_t.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/errno.h: + +/usr/include/bits/errno.h: + +/usr/include/linux/errno.h: + +/usr/include/asm/errno.h: + +/usr/include/asm-generic/errno.h: + +/usr/include/asm-generic/errno-base.h: + +/usr/include/bits/types/error_t.h: + +local_common.h: + +../config.h: + +/usr/lib/gcc/x86_64-redhat-linux/8/include/stdbool.h: + +dbprintf.aux.h: + +dispatch_exec.lib.h: diff --git a/deprecated/old_subu/.deps/dispatch_f.lib.Po b/deprecated/old_subu/.deps/dispatch_f.lib.Po new file mode 100644 index 0000000..df5f4f2 --- /dev/null +++ b/deprecated/old_subu/.deps/dispatch_f.lib.Po @@ -0,0 +1,234 @@ +dispatch_f.lib.o: dispatch_f.lib.c /usr/include/stdc-predef.h \ + /usr/include/sys/types.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \ + /usr/include/bits/long-double.h /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-64.h /usr/include/bits/types.h \ + /usr/include/bits/typesizes.h /usr/include/bits/types/clock_t.h \ + /usr/include/bits/types/clockid_t.h /usr/include/bits/types/time_t.h \ + /usr/include/bits/types/timer_t.h \ + /usr/lib/gcc/x86_64-redhat-linux/8/include/stddef.h \ + /usr/include/bits/stdint-intn.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/bits/byteswap.h \ + /usr/include/bits/uintn-identity.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/types/sigset_t.h \ + /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/pthreadtypes-arch.h /usr/include/unistd.h \ + /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \ + /usr/include/bits/confname.h /usr/include/bits/getopt_posix.h \ + /usr/include/bits/getopt_core.h /usr/include/wait.h \ + /usr/include/sys/wait.h /usr/include/signal.h /usr/include/bits/signum.h \ + /usr/include/bits/signum-generic.h \ + /usr/include/bits/types/sig_atomic_t.h \ + /usr/include/bits/types/siginfo_t.h /usr/include/bits/types/__sigval_t.h \ + /usr/include/bits/siginfo-arch.h /usr/include/bits/siginfo-consts.h \ + /usr/include/bits/siginfo-consts-arch.h \ + /usr/include/bits/types/sigval_t.h /usr/include/bits/types/sigevent_t.h \ + /usr/include/bits/sigevent-consts.h /usr/include/bits/sigaction.h \ + /usr/include/bits/sigcontext.h /usr/include/bits/types/stack_t.h \ + /usr/include/sys/ucontext.h /usr/include/bits/sigstack.h \ + /usr/include/bits/ss_flags.h /usr/include/bits/types/struct_sigstack.h \ + /usr/include/bits/sigthread.h /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h /usr/include/stdlib.h \ + /usr/include/bits/libc-header-start.h /usr/include/bits/floatn.h \ + /usr/include/bits/floatn-common.h /usr/include/bits/types/locale_t.h \ + /usr/include/bits/types/__locale_t.h /usr/include/alloca.h \ + /usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \ + /usr/include/stdio.h /usr/lib/gcc/x86_64-redhat-linux/8/include/stdarg.h \ + /usr/include/bits/types/__fpos_t.h /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/types/cookie_io_functions_t.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/errno.h /usr/include/bits/errno.h \ + /usr/include/linux/errno.h /usr/include/asm/errno.h \ + /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ + /usr/include/bits/types/error_t.h local_common.h ../config.h \ + /usr/lib/gcc/x86_64-redhat-linux/8/include/stdbool.h dbprintf.aux.h \ + dispatch_f.lib.h + +/usr/include/stdc-predef.h: + +/usr/include/sys/types.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/long-double.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-64.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/bits/types/clock_t.h: + +/usr/include/bits/types/clockid_t.h: + +/usr/include/bits/types/time_t.h: + +/usr/include/bits/types/timer_t.h: + +/usr/lib/gcc/x86_64-redhat-linux/8/include/stddef.h: + +/usr/include/bits/stdint-intn.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/bits/byteswap.h: + +/usr/include/bits/uintn-identity.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/types/sigset_t.h: + +/usr/include/bits/types/__sigset_t.h: + +/usr/include/bits/types/struct_timeval.h: + +/usr/include/bits/types/struct_timespec.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/thread-shared-types.h: + +/usr/include/bits/pthreadtypes-arch.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/environments.h: + +/usr/include/bits/confname.h: + +/usr/include/bits/getopt_posix.h: + +/usr/include/bits/getopt_core.h: + +/usr/include/wait.h: + +/usr/include/sys/wait.h: + +/usr/include/signal.h: + +/usr/include/bits/signum.h: + +/usr/include/bits/signum-generic.h: + +/usr/include/bits/types/sig_atomic_t.h: + +/usr/include/bits/types/siginfo_t.h: + +/usr/include/bits/types/__sigval_t.h: + +/usr/include/bits/siginfo-arch.h: + +/usr/include/bits/siginfo-consts.h: + +/usr/include/bits/siginfo-consts-arch.h: + +/usr/include/bits/types/sigval_t.h: + +/usr/include/bits/types/sigevent_t.h: + +/usr/include/bits/sigevent-consts.h: + +/usr/include/bits/sigaction.h: + +/usr/include/bits/sigcontext.h: + +/usr/include/bits/types/stack_t.h: + +/usr/include/sys/ucontext.h: + +/usr/include/bits/sigstack.h: + +/usr/include/bits/ss_flags.h: + +/usr/include/bits/types/struct_sigstack.h: + +/usr/include/bits/sigthread.h: + +/usr/include/bits/waitflags.h: + +/usr/include/bits/waitstatus.h: + +/usr/include/stdlib.h: + +/usr/include/bits/libc-header-start.h: + +/usr/include/bits/floatn.h: + +/usr/include/bits/floatn-common.h: + +/usr/include/bits/types/locale_t.h: + +/usr/include/bits/types/__locale_t.h: + +/usr/include/alloca.h: + +/usr/include/bits/stdlib-bsearch.h: + +/usr/include/bits/stdlib-float.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-redhat-linux/8/include/stdarg.h: + +/usr/include/bits/types/__fpos_t.h: + +/usr/include/bits/types/__mbstate_t.h: + +/usr/include/bits/types/__fpos64_t.h: + +/usr/include/bits/types/__FILE.h: + +/usr/include/bits/types/FILE.h: + +/usr/include/bits/types/struct_FILE.h: + +/usr/include/bits/types/cookie_io_functions_t.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/errno.h: + +/usr/include/bits/errno.h: + +/usr/include/linux/errno.h: + +/usr/include/asm/errno.h: + +/usr/include/asm-generic/errno.h: + +/usr/include/asm-generic/errno-base.h: + +/usr/include/bits/types/error_t.h: + +local_common.h: + +../config.h: + +/usr/lib/gcc/x86_64-redhat-linux/8/include/stdbool.h: + +dbprintf.aux.h: + +dispatch_f.lib.h: diff --git a/deprecated/old_subu/.deps/dispatch_useradd.Po b/deprecated/old_subu/.deps/dispatch_useradd.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/deprecated/old_subu/.deps/dispatch_useradd.Po @@ -0,0 +1 @@ +# dummy diff --git a/deprecated/old_subu/.deps/dispatch_useradd.lib.Po b/deprecated/old_subu/.deps/dispatch_useradd.lib.Po new file mode 100644 index 0000000..bd03c79 --- /dev/null +++ b/deprecated/old_subu/.deps/dispatch_useradd.lib.Po @@ -0,0 +1,172 @@ +dispatch_useradd.lib.o: dispatch_useradd.lib.c /usr/include/stdc-predef.h \ + /usr/include/sys/types.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \ + /usr/include/bits/long-double.h /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-64.h /usr/include/bits/types.h \ + /usr/include/bits/typesizes.h /usr/include/bits/types/clock_t.h \ + /usr/include/bits/types/clockid_t.h /usr/include/bits/types/time_t.h \ + /usr/include/bits/types/timer_t.h \ + /usr/lib/gcc/x86_64-redhat-linux/8/include/stddef.h \ + /usr/include/bits/stdint-intn.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/bits/byteswap.h \ + /usr/include/bits/uintn-identity.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/types/sigset_t.h \ + /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/pthreadtypes-arch.h /usr/include/stdlib.h \ + /usr/include/bits/libc-header-start.h /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h /usr/include/bits/floatn.h \ + /usr/include/bits/floatn-common.h /usr/include/alloca.h \ + /usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/environments.h /usr/include/bits/confname.h \ + /usr/include/bits/getopt_posix.h /usr/include/bits/getopt_core.h \ + /usr/include/stdio.h /usr/lib/gcc/x86_64-redhat-linux/8/include/stdarg.h \ + /usr/include/bits/types/__fpos_t.h /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/errno.h /usr/include/bits/errno.h \ + /usr/include/linux/errno.h /usr/include/asm/errno.h \ + /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ + local_common.h ../config.h \ + /usr/lib/gcc/x86_64-redhat-linux/8/include/stdbool.h dbprintf.aux.h \ + dispatch_exec.lib.h dispatch_useradd.lib.h /usr/include/pwd.h + +/usr/include/stdc-predef.h: + +/usr/include/sys/types.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/long-double.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-64.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/bits/types/clock_t.h: + +/usr/include/bits/types/clockid_t.h: + +/usr/include/bits/types/time_t.h: + +/usr/include/bits/types/timer_t.h: + +/usr/lib/gcc/x86_64-redhat-linux/8/include/stddef.h: + +/usr/include/bits/stdint-intn.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/bits/byteswap.h: + +/usr/include/bits/uintn-identity.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/types/sigset_t.h: + +/usr/include/bits/types/__sigset_t.h: + +/usr/include/bits/types/struct_timeval.h: + +/usr/include/bits/types/struct_timespec.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/thread-shared-types.h: + +/usr/include/bits/pthreadtypes-arch.h: + +/usr/include/stdlib.h: + +/usr/include/bits/libc-header-start.h: + +/usr/include/bits/waitflags.h: + +/usr/include/bits/waitstatus.h: + +/usr/include/bits/floatn.h: + +/usr/include/bits/floatn-common.h: + +/usr/include/alloca.h: + +/usr/include/bits/stdlib-bsearch.h: + +/usr/include/bits/stdlib-float.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/environments.h: + +/usr/include/bits/confname.h: + +/usr/include/bits/getopt_posix.h: + +/usr/include/bits/getopt_core.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-redhat-linux/8/include/stdarg.h: + +/usr/include/bits/types/__fpos_t.h: + +/usr/include/bits/types/__mbstate_t.h: + +/usr/include/bits/types/__fpos64_t.h: + +/usr/include/bits/types/__FILE.h: + +/usr/include/bits/types/FILE.h: + +/usr/include/bits/types/struct_FILE.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/errno.h: + +/usr/include/bits/errno.h: + +/usr/include/linux/errno.h: + +/usr/include/asm/errno.h: + +/usr/include/asm-generic/errno.h: + +/usr/include/asm-generic/errno-base.h: + +local_common.h: + +../config.h: + +/usr/lib/gcc/x86_64-redhat-linux/8/include/stdbool.h: + +dbprintf.aux.h: + +dispatch_exec.lib.h: + +dispatch_useradd.lib.h: + +/usr/include/pwd.h: diff --git a/deprecated/old_subu/.deps/subu-mk-0.Po b/deprecated/old_subu/.deps/subu-mk-0.Po new file mode 100644 index 0000000..951e02a --- /dev/null +++ b/deprecated/old_subu/.deps/subu-mk-0.Po @@ -0,0 +1,59 @@ +subu-mk-0.o: subu-mk-0.c /usr/include/stdc-predef.h /usr/include/stdio.h \ + /usr/include/bits/libc-header-start.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \ + /usr/include/bits/long-double.h /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-redhat-linux/8/include/stddef.h \ + /usr/lib/gcc/x86_64-redhat-linux/8/include/stdarg.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/bits/types/__fpos_t.h /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h subu-mk-0.lib.h + +/usr/include/stdc-predef.h: + +/usr/include/stdio.h: + +/usr/include/bits/libc-header-start.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/long-double.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-redhat-linux/8/include/stddef.h: + +/usr/lib/gcc/x86_64-redhat-linux/8/include/stdarg.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/bits/types/__fpos_t.h: + +/usr/include/bits/types/__mbstate_t.h: + +/usr/include/bits/types/__fpos64_t.h: + +/usr/include/bits/types/__FILE.h: + +/usr/include/bits/types/FILE.h: + +/usr/include/bits/types/struct_FILE.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +subu-mk-0.lib.h: diff --git a/deprecated/old_subu/.deps/subu-mk-0.cli.Po b/deprecated/old_subu/.deps/subu-mk-0.cli.Po new file mode 100644 index 0000000..1381131 --- /dev/null +++ b/deprecated/old_subu/.deps/subu-mk-0.cli.Po @@ -0,0 +1,59 @@ +subu-mk-0.cli.o: subu-mk-0.cli.c /usr/include/stdc-predef.h \ + /usr/include/stdio.h /usr/include/bits/libc-header-start.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/bits/wordsize.h /usr/include/bits/long-double.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-redhat-linux/8/include/stddef.h \ + /usr/lib/gcc/x86_64-redhat-linux/8/include/stdarg.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/bits/types/__fpos_t.h /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h subu-mk-0.lib.h + +/usr/include/stdc-predef.h: + +/usr/include/stdio.h: + +/usr/include/bits/libc-header-start.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/long-double.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-redhat-linux/8/include/stddef.h: + +/usr/lib/gcc/x86_64-redhat-linux/8/include/stdarg.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/bits/types/__fpos_t.h: + +/usr/include/bits/types/__mbstate_t.h: + +/usr/include/bits/types/__fpos64_t.h: + +/usr/include/bits/types/__FILE.h: + +/usr/include/bits/types/FILE.h: + +/usr/include/bits/types/struct_FILE.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +subu-mk-0.lib.h: diff --git a/deprecated/old_subu/.deps/subu-mk-0.fi.Po b/deprecated/old_subu/.deps/subu-mk-0.fi.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/deprecated/old_subu/.deps/subu-mk-0.fi.Po @@ -0,0 +1 @@ +# dummy diff --git a/deprecated/old_subu/.deps/subu-mk-0.fi.Tpo b/deprecated/old_subu/.deps/subu-mk-0.fi.Tpo new file mode 100644 index 0000000..e3d9807 --- /dev/null +++ b/deprecated/old_subu/.deps/subu-mk-0.fi.Tpo @@ -0,0 +1,178 @@ +subu-mk-0.fi.o: subu-mk-0.fi.c /usr/include/stdc-predef.h \ + /usr/include/unistd.h /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/bits/wordsize.h /usr/include/bits/long-double.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ + /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/lib/gcc/x86_64-redhat-linux/8/include/stddef.h \ + /usr/include/bits/confname.h /usr/include/bits/getopt_posix.h \ + /usr/include/bits/getopt_core.h /usr/include/sys/types.h \ + /usr/include/bits/types/clock_t.h /usr/include/bits/types/clockid_t.h \ + /usr/include/bits/types/time_t.h /usr/include/bits/types/timer_t.h \ + /usr/include/bits/stdint-intn.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/bits/byteswap.h \ + /usr/include/bits/uintn-identity.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/types/sigset_t.h \ + /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/pthreadtypes-arch.h /usr/include/stdio.h \ + /usr/include/bits/libc-header-start.h \ + /usr/lib/gcc/x86_64-redhat-linux/8/include/stdarg.h \ + /usr/include/bits/types/__fpos_t.h /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/types/cookie_io_functions_t.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \ + /usr/include/bits/floatn.h /usr/include/bits/floatn-common.h \ + /usr/include/bits/types/locale_t.h /usr/include/bits/types/__locale_t.h \ + /usr/include/alloca.h /usr/include/bits/stdlib-bsearch.h \ + /usr/include/bits/stdlib-float.h /usr/include/pwd.h \ + /usr/include/string.h /usr/include/strings.h /usr/include/sys/stat.h \ + /usr/include/bits/stat.h /usr/include/bits/statx.h ../config.h \ + dispatch.h local_common.h \ + /usr/lib/gcc/x86_64-redhat-linux/8/include/stdbool.h dispatch_useradd.h \ + subu-mk-0.fi.h + +/usr/include/stdc-predef.h: + +/usr/include/unistd.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/long-double.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-64.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/environments.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/lib/gcc/x86_64-redhat-linux/8/include/stddef.h: + +/usr/include/bits/confname.h: + +/usr/include/bits/getopt_posix.h: + +/usr/include/bits/getopt_core.h: + +/usr/include/sys/types.h: + +/usr/include/bits/types/clock_t.h: + +/usr/include/bits/types/clockid_t.h: + +/usr/include/bits/types/time_t.h: + +/usr/include/bits/types/timer_t.h: + +/usr/include/bits/stdint-intn.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/bits/byteswap.h: + +/usr/include/bits/uintn-identity.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/types/sigset_t.h: + +/usr/include/bits/types/__sigset_t.h: + +/usr/include/bits/types/struct_timeval.h: + +/usr/include/bits/types/struct_timespec.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/thread-shared-types.h: + +/usr/include/bits/pthreadtypes-arch.h: + +/usr/include/stdio.h: + +/usr/include/bits/libc-header-start.h: + +/usr/lib/gcc/x86_64-redhat-linux/8/include/stdarg.h: + +/usr/include/bits/types/__fpos_t.h: + +/usr/include/bits/types/__mbstate_t.h: + +/usr/include/bits/types/__fpos64_t.h: + +/usr/include/bits/types/__FILE.h: + +/usr/include/bits/types/FILE.h: + +/usr/include/bits/types/struct_FILE.h: + +/usr/include/bits/types/cookie_io_functions_t.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/bits/waitflags.h: + +/usr/include/bits/waitstatus.h: + +/usr/include/bits/floatn.h: + +/usr/include/bits/floatn-common.h: + +/usr/include/bits/types/locale_t.h: + +/usr/include/bits/types/__locale_t.h: + +/usr/include/alloca.h: + +/usr/include/bits/stdlib-bsearch.h: + +/usr/include/bits/stdlib-float.h: + +/usr/include/pwd.h: + +/usr/include/string.h: + +/usr/include/strings.h: + +/usr/include/sys/stat.h: + +/usr/include/bits/stat.h: + +/usr/include/bits/statx.h: + +../config.h: + +dispatch.h: + +local_common.h: + +/usr/lib/gcc/x86_64-redhat-linux/8/include/stdbool.h: + +dispatch_useradd.h: + +subu-mk-0.fi.h: diff --git a/deprecated/old_subu/.deps/subu-mk-0.lib.Po b/deprecated/old_subu/.deps/subu-mk-0.lib.Po new file mode 100644 index 0000000..05ffa4d --- /dev/null +++ b/deprecated/old_subu/.deps/subu-mk-0.lib.Po @@ -0,0 +1,200 @@ +subu-mk-0.lib.o: subu-mk-0.lib.c /usr/include/stdc-predef.h \ + /usr/include/sys/types.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \ + /usr/include/bits/long-double.h /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-64.h /usr/include/bits/types.h \ + /usr/include/bits/typesizes.h /usr/include/bits/types/clock_t.h \ + /usr/include/bits/types/clockid_t.h /usr/include/bits/types/time_t.h \ + /usr/include/bits/types/timer_t.h \ + /usr/lib/gcc/x86_64-redhat-linux/8/include/stddef.h \ + /usr/include/bits/stdint-intn.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/bits/byteswap.h \ + /usr/include/bits/uintn-identity.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/types/sigset_t.h \ + /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/pthreadtypes-arch.h /usr/include/unistd.h \ + /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \ + /usr/include/bits/confname.h /usr/include/bits/getopt_posix.h \ + /usr/include/bits/getopt_core.h /usr/include/stdio.h \ + /usr/include/bits/libc-header-start.h \ + /usr/lib/gcc/x86_64-redhat-linux/8/include/stdarg.h \ + /usr/include/bits/types/__fpos_t.h /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/types/cookie_io_functions_t.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/errno.h /usr/include/bits/errno.h \ + /usr/include/linux/errno.h /usr/include/asm/errno.h \ + /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ + /usr/include/bits/types/error_t.h /usr/include/stdlib.h \ + /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \ + /usr/include/bits/floatn.h /usr/include/bits/floatn-common.h \ + /usr/include/bits/types/locale_t.h /usr/include/bits/types/__locale_t.h \ + /usr/include/alloca.h /usr/include/bits/stdlib-bsearch.h \ + /usr/include/bits/stdlib-float.h /usr/include/pwd.h \ + /usr/include/string.h /usr/include/strings.h /usr/include/sys/stat.h \ + /usr/include/bits/stat.h /usr/include/bits/statx.h \ + /usr/lib/gcc/x86_64-redhat-linux/8/include/stdbool.h dispatch_f.lib.h \ + local_common.h ../config.h dbprintf.aux.h dispatch_exec.lib.h \ + dispatch_useradd.lib.h subu-mk-0.lib.h + +/usr/include/stdc-predef.h: + +/usr/include/sys/types.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/long-double.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-64.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/bits/types/clock_t.h: + +/usr/include/bits/types/clockid_t.h: + +/usr/include/bits/types/time_t.h: + +/usr/include/bits/types/timer_t.h: + +/usr/lib/gcc/x86_64-redhat-linux/8/include/stddef.h: + +/usr/include/bits/stdint-intn.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/bits/byteswap.h: + +/usr/include/bits/uintn-identity.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/types/sigset_t.h: + +/usr/include/bits/types/__sigset_t.h: + +/usr/include/bits/types/struct_timeval.h: + +/usr/include/bits/types/struct_timespec.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/thread-shared-types.h: + +/usr/include/bits/pthreadtypes-arch.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/environments.h: + +/usr/include/bits/confname.h: + +/usr/include/bits/getopt_posix.h: + +/usr/include/bits/getopt_core.h: + +/usr/include/stdio.h: + +/usr/include/bits/libc-header-start.h: + +/usr/lib/gcc/x86_64-redhat-linux/8/include/stdarg.h: + +/usr/include/bits/types/__fpos_t.h: + +/usr/include/bits/types/__mbstate_t.h: + +/usr/include/bits/types/__fpos64_t.h: + +/usr/include/bits/types/__FILE.h: + +/usr/include/bits/types/FILE.h: + +/usr/include/bits/types/struct_FILE.h: + +/usr/include/bits/types/cookie_io_functions_t.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/errno.h: + +/usr/include/bits/errno.h: + +/usr/include/linux/errno.h: + +/usr/include/asm/errno.h: + +/usr/include/asm-generic/errno.h: + +/usr/include/asm-generic/errno-base.h: + +/usr/include/bits/types/error_t.h: + +/usr/include/stdlib.h: + +/usr/include/bits/waitflags.h: + +/usr/include/bits/waitstatus.h: + +/usr/include/bits/floatn.h: + +/usr/include/bits/floatn-common.h: + +/usr/include/bits/types/locale_t.h: + +/usr/include/bits/types/__locale_t.h: + +/usr/include/alloca.h: + +/usr/include/bits/stdlib-bsearch.h: + +/usr/include/bits/stdlib-float.h: + +/usr/include/pwd.h: + +/usr/include/string.h: + +/usr/include/strings.h: + +/usr/include/sys/stat.h: + +/usr/include/bits/stat.h: + +/usr/include/bits/statx.h: + +/usr/lib/gcc/x86_64-redhat-linux/8/include/stdbool.h: + +dispatch_f.lib.h: + +local_common.h: + +../config.h: + +dbprintf.aux.h: + +dispatch_exec.lib.h: + +dispatch_useradd.lib.h: + +subu-mk-0.lib.h: diff --git a/deprecated/old_subu/.deps/useradd-0.Po b/deprecated/old_subu/.deps/useradd-0.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/deprecated/old_subu/.deps/useradd-0.Po @@ -0,0 +1 @@ +# dummy diff --git a/deprecated/old_subu/.deps/useradd-0.Tpo b/deprecated/old_subu/.deps/useradd-0.Tpo new file mode 100644 index 0000000..2e09570 --- /dev/null +++ b/deprecated/old_subu/.deps/useradd-0.Tpo @@ -0,0 +1,136 @@ +useradd-0.o: useradd-0.c /usr/include/stdc-predef.h \ + /usr/include/sys/types.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \ + /usr/include/bits/long-double.h /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-64.h /usr/include/bits/types.h \ + /usr/include/bits/typesizes.h /usr/include/bits/types/clock_t.h \ + /usr/include/bits/types/clockid_t.h /usr/include/bits/types/time_t.h \ + /usr/include/bits/types/timer_t.h \ + /usr/lib/gcc/x86_64-redhat-linux/8/include/stddef.h \ + /usr/include/bits/stdint-intn.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/bits/byteswap.h \ + /usr/include/bits/uintn-identity.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/types/sigset_t.h \ + /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/pthreadtypes-arch.h /usr/include/unistd.h \ + /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \ + /usr/include/bits/confname.h /usr/include/bits/getopt_posix.h \ + /usr/include/bits/getopt_core.h /usr/include/stdio.h \ + /usr/include/bits/libc-header-start.h \ + /usr/lib/gcc/x86_64-redhat-linux/8/include/stdarg.h \ + /usr/include/bits/types/__fpos_t.h /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/errno.h /usr/include/bits/errno.h \ + /usr/include/linux/errno.h /usr/include/asm/errno.h \ + /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h + +/usr/include/stdc-predef.h: + +/usr/include/sys/types.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/long-double.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-64.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/bits/types/clock_t.h: + +/usr/include/bits/types/clockid_t.h: + +/usr/include/bits/types/time_t.h: + +/usr/include/bits/types/timer_t.h: + +/usr/lib/gcc/x86_64-redhat-linux/8/include/stddef.h: + +/usr/include/bits/stdint-intn.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/bits/byteswap.h: + +/usr/include/bits/uintn-identity.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/types/sigset_t.h: + +/usr/include/bits/types/__sigset_t.h: + +/usr/include/bits/types/struct_timeval.h: + +/usr/include/bits/types/struct_timespec.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/thread-shared-types.h: + +/usr/include/bits/pthreadtypes-arch.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/environments.h: + +/usr/include/bits/confname.h: + +/usr/include/bits/getopt_posix.h: + +/usr/include/bits/getopt_core.h: + +/usr/include/stdio.h: + +/usr/include/bits/libc-header-start.h: + +/usr/lib/gcc/x86_64-redhat-linux/8/include/stdarg.h: + +/usr/include/bits/types/__fpos_t.h: + +/usr/include/bits/types/__mbstate_t.h: + +/usr/include/bits/types/__fpos64_t.h: + +/usr/include/bits/types/__FILE.h: + +/usr/include/bits/types/FILE.h: + +/usr/include/bits/types/struct_FILE.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/errno.h: + +/usr/include/bits/errno.h: + +/usr/include/linux/errno.h: + +/usr/include/asm/errno.h: + +/usr/include/asm-generic/errno.h: + +/usr/include/asm-generic/errno-base.h: diff --git a/deprecated/old_subu/README.txt b/deprecated/old_subu/README.txt new file mode 100644 index 0000000..a9a2b21 --- /dev/null +++ b/deprecated/old_subu/README.txt @@ -0,0 +1,23 @@ + + +filename.tag.extension + +extension: + .c for C source + .cc for C++ source + .h for C header file + .hh for C++ header file + .o an object file + +tag: + .lib. The resulting .o file to be placed in release library and is part of the + programming interface. + .aux. The resulting.o file not directly part of the programming interface, but + it might be called by functions that are. + .cli. The source file has a main call and is to be relased as part of the command line interface + .loc. file has a main call to be made into a local uitlity function + +We carry the source file tag and extension to the .o file. We do not put tags +nor extensions on command line executables. + +local_common.h should be included in all source files diff --git a/deprecated/old_subu/build-prep-notes.txt b/deprecated/old_subu/build-prep-notes.txt new file mode 100644 index 0000000..be8dcf8 --- /dev/null +++ b/deprecated/old_subu/build-prep-notes.txt @@ -0,0 +1,28 @@ +... turned into a notes file ... #!/bin/bash + +good doc: https://www.gnu.org/software/automake/manual/automake.html#Hello-World + +->create src/makefile.am +bin_PROGRAMS=subu-mk-0 +subu_mk_0_SOURCES=subu-mk-0.c + +->create makefile.am +SUBDIRS = src +dist_doc_DATA = README + +->create configure.ac +AC_INIT([mk-subu-0], [1.0], [bug-automake@gnu.org]) +AM_INIT_AUTOMAKE([-Wall -Werror foreign]) +AC_PROG_CC +AC_CONFIG_HEADERS([config.h]) +AC_CONFIG_FILES([ + makefile + src/makefile +]) +AC_OUTPUT + +autoreconf --install +./configure + +after changing makefile.am or configure.ac, it is enough to run make to update the build files + diff --git a/src/dbprintf.aux.c b/deprecated/old_subu/dbprintf.aux.c similarity index 100% rename from src/dbprintf.aux.c rename to deprecated/old_subu/dbprintf.aux.c diff --git a/src/dbprintf.aux.h b/deprecated/old_subu/dbprintf.aux.h similarity index 100% rename from src/dbprintf.aux.h rename to deprecated/old_subu/dbprintf.aux.h diff --git a/deprecated/old_subu/dispatch_exec.lib.c b/deprecated/old_subu/dispatch_exec.lib.c new file mode 100644 index 0000000..1c3b4ae --- /dev/null +++ b/deprecated/old_subu/dispatch_exec.lib.c @@ -0,0 +1,59 @@ +/* + fork/execs/wait the command passed in argv[0]; + Returns -1 upon failure. + + The wstatus returned from wait() might be either the error returned by exec + when it failed, or the return value from the command. An arbitary command is + passed in, so we don't know what its return values might be. Consquently, we + have no way of multiplexing a unique exec error code with the command return + value within wstatus. If the prorgrammer knows the return values of the + command passed in, and wants better behavior, he or she can spin a special + version of dispatch for that command. +*/ + +// without this #define execvpe is undefined +#define _GNU_SOURCE +#include +#include + +#include +#include +#include +#include +#include "local_common.h" +#include "dispatch_exec.lib.h" + +int dispatch_exec(char **argv, char **envp){ + if( !argv || !argv[0] ){ + fprintf(stderr, "argv[0] null. Null command passed into dispatch().\n"); + return -1; + } + #ifdef DEBUG + dbprintf("dispatching exec, args follow:\n"); + char **apt = argv; + while( *apt ){ + dbprintf("\t%s",*apt); + apt++; + } + dbprintf("\n"); + #endif + char *command = argv[0]; + pid_t pid = fork(); + if( pid == -1 ){ + fprintf(stderr, "fork() failed in dispatch().\n"); + return -1; + } + if( pid == 0 ){ // we are the child + execvpe(command, argv, envp); + // exec will only return if it has an error .. + perror(command); + return -1; + }else{ // we are the parent + int wstatus; + waitpid(pid, &wstatus, 0); + if(wstatus) + return -1; + else + return 0; + } +} diff --git a/src/dispatch_exec.lib.h b/deprecated/old_subu/dispatch_exec.lib.h similarity index 100% rename from src/dispatch_exec.lib.h rename to deprecated/old_subu/dispatch_exec.lib.h diff --git a/deprecated/old_subu/dispatch_f.lib.c b/deprecated/old_subu/dispatch_f.lib.c new file mode 100644 index 0000000..1548124 --- /dev/null +++ b/deprecated/old_subu/dispatch_f.lib.c @@ -0,0 +1,79 @@ +/* + changes the uid, gid, and forks and calls the function + Returns -1 upon failure. + + The wstatus returned from wait() might be either the error returned by exec + when it failed, or the return value from the command. An arbitary command is + passed in, so we don't know what its return values might be. Consquently, we + have no way of multiplexing a unique exec error code with the command return + value within wstatus. If the prorgrammer knows the return values of the + command passed in, and wants better behavior, he or she can spin a special + version of dispatch for that command. +*/ + +// without this #define execvpe is undefined +#define _GNU_SOURCE + +#include +#include + +#include +#include +#include +#include +#include "local_common.h" +#include "dispatch_f.lib.h" + +int dispatch_f(char *fname, int (*f)(void *arg), void *f_arg){ + char *perror_src = "dispatch_f_as"; + #ifdef DEBUG + dbprintf("%s %s\n", perror_src, fname); + #endif + pid_t pid = fork(); + if( pid == -1 ){ + perror(perror_src); + fprintf(stderr, "%s %s\n", perror_src, fname); + return ERR_FORK; + } + if( pid == 0 ){ // we are the child + int status = (*f)(f_arg); + exit(status); + }else{ // we are the parent + int wstatus; + waitpid(pid, &wstatus, 0); + return wstatus; + } +} + +int dispatch_f_euid_egid(char *fname, int (*f)(void *arg), void *f_arg, uid_t euid, gid_t egid){ + char *perror_src = "dispatch_f_as"; + #ifdef DEBUG + dbprintf("%s %s %u %u\n", perror_src, fname, euid, egid); + #endif + pid_t pid = fork(); + if( pid == -1 ){ + perror(perror_src); + fprintf(stderr, "%s %s %u %u\n", perror_src, fname, euid, egid); + return ERR_FORK; + } + if( pid == 0 ){ // we are the child + if( seteuid(euid) == -1 ){ + perror(perror_src); + fprintf(stderr, "%s %s %u %u\n", perror_src, fname, euid, egid); + return ERR_SETEUID; + } + if( setegid(egid) == -1 ){ + perror(perror_src); + fprintf(stderr, "%s %s %u %u\n", perror_src, fname, euid, egid); + return ERR_SETEGID; + } + int status = (*f)(f_arg); + exit(status); + }else{ // we are the parent + int wstatus; + waitpid(pid, &wstatus, 0); + return wstatus; + } +} + + diff --git a/src/dispatch_f.lib.h b/deprecated/old_subu/dispatch_f.lib.h similarity index 100% rename from src/dispatch_f.lib.h rename to deprecated/old_subu/dispatch_f.lib.h diff --git a/deprecated/old_subu/dispatch_useradd.lib.c b/deprecated/old_subu/dispatch_useradd.lib.c new file mode 100644 index 0000000..e94ee88 --- /dev/null +++ b/deprecated/old_subu/dispatch_useradd.lib.c @@ -0,0 +1,57 @@ +/* +There is no C library interface to useradd(8), but if there were, these functions +would be found there instead. + +*/ + +#include +#include +#include +#include +#include +#include "local_common.h" +#include "dispatch_exec.lib.h" +#include "dispatch_useradd.lib.h" + +// we have a contract with the caller that argv[1] is always the subuname +struct dispatch_useradd_ret_t dispatch_useradd(char **argv, char **envp){ + struct dispatch_useradd_ret_t ret; + { + if( !argv || !argv[0] || !argv[1]){ + fprintf(stderr,"useradd() needs a first argument as the name of the user to be made"); + ret.error = DISPATCH_USERADD_ERR_ARGC; + ret.pw_record = NULL; + return ret; + } + + char *subu_name; + { + subu_name = argv[1]; + if( dispatch_exec(argv, envp) == -1 ){ + fprintf(stderr,"%s failed\n", argv[0]); + ret.error = DISPATCH_USERADD_ERR_DISPATCH; + ret.pw_record = NULL; + return ret; + }} + + { + struct passwd *pw_record = getpwnam(subu_name); + uint count = 1; + while( !pw_record && count <= 3 ){ + #ifdef DEBUG + printf("try %u, getpwnam failed, trying again\n", count); + #endif + sleep(1); + pw_record = getpwnam(subu_name); + count++; + } + if( !pw_record ){ + ret.error = DISPATCH_USERADD_ERR_PWREC; + ret.pw_record = NULL; + return ret; + } + ret.error = 0; + ret.pw_record = pw_record; + return ret; + }}} + diff --git a/src/dispatch_useradd.lib.h b/deprecated/old_subu/dispatch_useradd.lib.h similarity index 100% rename from src/dispatch_useradd.lib.h rename to deprecated/old_subu/dispatch_useradd.lib.h diff --git a/deprecated/old_subu/local_common.h b/deprecated/old_subu/local_common.h new file mode 100644 index 0000000..5f656b2 --- /dev/null +++ b/deprecated/old_subu/local_common.h @@ -0,0 +1,13 @@ +#ifndef LOCAL_COMMON_H +#define LOCAL_COMMON_H + +#include "config.h" +#include +#include +#include +#include "dbprintf.aux.h" + +#define DEBUG +typedef unsigned int uint; + +#endif diff --git a/deprecated/old_subu/makefile b/deprecated/old_subu/makefile new file mode 100644 index 0000000..0a5df4f --- /dev/null +++ b/deprecated/old_subu/makefile @@ -0,0 +1,594 @@ +# makefile.in generated by automake 1.16.1 from makefile.am. +# src/makefile. Generated from makefile.in by configure. + +# Copyright (C) 1994-2018 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/mk-subu-0 +pkgincludedir = $(includedir)/mk-subu-0 +pkglibdir = $(libdir)/mk-subu-0 +pkglibexecdir = $(libexecdir)/mk-subu-0 +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +bin_PROGRAMS = subu-mk-0$(EXEEXT) +subdir = src +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" +PROGRAMS = $(bin_PROGRAMS) +am_subu_mk_0_OBJECTS = dbprintf.aux.$(OBJEXT) dispatch_f.lib.$(OBJEXT) \ + dispatch_exec.lib.$(OBJEXT) dispatch_useradd.lib.$(OBJEXT) \ + subu-mk-0.cli.$(OBJEXT) subu-mk-0.lib.$(OBJEXT) +subu_mk_0_OBJECTS = $(am_subu_mk_0_OBJECTS) +subu_mk_0_LDADD = $(LDADD) +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I. -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/dbprintf.aux.Po \ + ./$(DEPDIR)/dispatch_exec.lib.Po ./$(DEPDIR)/dispatch_f.lib.Po \ + ./$(DEPDIR)/dispatch_useradd.lib.Po \ + ./$(DEPDIR)/subu-mk-0.cli.Po ./$(DEPDIR)/subu-mk-0.lib.Po +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_$(V)) +am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = +CCLD = $(CC) +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_$(V)) +am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = +SOURCES = $(subu_mk_0_SOURCES) +DIST_SOURCES = $(subu_mk_0_SOURCES) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +ETAGS = etags +CTAGS = ctags +am__DIST_COMMON = $(srcdir)/makefile.in $(top_srcdir)/depcomp +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /home/morpheus/subu_land/subu/missing aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AUTOCONF = ${SHELL} /home/morpheus/subu_land/subu/missing autoconf +AUTOHEADER = ${SHELL} /home/morpheus/subu_land/subu/missing autoheader +AUTOMAKE = ${SHELL} /home/morpheus/subu_land/subu/missing automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 +CPPFLAGS = +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +ECHO_C = +ECHO_N = -n +ECHO_T = +EXEEXT = +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LDFLAGS = +LIBOBJS = +LIBS = +LTLIBOBJS = +MAKEINFO = ${SHELL} /home/morpheus/subu_land/subu/missing makeinfo +MKDIR_P = /usr/bin/mkdir -p +OBJEXT = o +PACKAGE = mk-subu-0 +PACKAGE_BUGREPORT = bug-automake@gnu.org +PACKAGE_NAME = mk-subu-0 +PACKAGE_STRING = mk-subu-0 1.0 +PACKAGE_TARNAME = mk-subu-0 +PACKAGE_URL = +PACKAGE_VERSION = 1.0 +PATH_SEPARATOR = : +SET_MAKE = +SHELL = /bin/sh +STRIP = +VERSION = 1.0 +abs_builddir = /home/morpheus/subu_land/subu/src +abs_srcdir = /home/morpheus/subu_land/subu/src +abs_top_builddir = /home/morpheus/subu_land/subu +abs_top_srcdir = /home/morpheus/subu_land/subu +ac_ct_CC = gcc +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build_alias = +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host_alias = +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} /home/morpheus/subu_land/subu/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../ +top_builddir = .. +top_srcdir = .. +subu_mk_0_SOURCES = \ + dbprintf.aux.c\ + dispatch_f.lib.c\ + dispatch_exec.lib.c\ + dispatch_useradd.lib.c\ + subu-mk-0.cli.c\ + subu-mk-0.lib.c + +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .o .obj +$(srcdir)/makefile.in: $(srcdir)/makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign src/makefile +makefile: $(srcdir)/makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ + fi; \ + for p in $$list; do echo "$$p $$p"; done | \ + sed 's/$(EXEEXT)$$//' | \ + while read p p1; do if test -f $$p \ + ; then echo "$$p"; echo "$$p"; else :; fi; \ + done | \ + sed -e 'p;s,.*/,,;n;h' \ + -e 's|.*|.|' \ + -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ + sed 'N;N;N;s,\n, ,g' | \ + $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ + { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ + if ($$2 == $$4) files[d] = files[d] " " $$1; \ + else { print "f", $$3 "/" $$4, $$1; } } \ + END { for (d in files) print "f", d, files[d] }' | \ + while read type dir files; do \ + if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ + test -z "$$files" || { \ + echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ + $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ + } \ + ; done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + files=`for p in $$list; do echo "$$p"; done | \ + sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ + -e 's/$$/$(EXEEXT)/' \ + `; \ + test -n "$$list" || exit 0; \ + echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(bindir)" && rm -f $$files + +clean-binPROGRAMS: + -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) + +subu-mk-0$(EXEEXT): $(subu_mk_0_OBJECTS) $(subu_mk_0_DEPENDENCIES) $(EXTRA_subu_mk_0_DEPENDENCIES) + @rm -f subu-mk-0$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(subu_mk_0_OBJECTS) $(subu_mk_0_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/dbprintf.aux.Po # am--include-marker +include ./$(DEPDIR)/dispatch_exec.lib.Po # am--include-marker +include ./$(DEPDIR)/dispatch_f.lib.Po # am--include-marker +include ./$(DEPDIR)/dispatch_useradd.lib.Po # am--include-marker +include ./$(DEPDIR)/subu-mk-0.cli.Po # am--include-marker +include ./$(DEPDIR)/subu-mk-0.lib.Po # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.c.o: + $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CC)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(COMPILE) -c -o $@ $< + +.c.obj: + $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CC)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: makefile $(PROGRAMS) +installdirs: + for dir in "$(DESTDIR)$(bindir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/dbprintf.aux.Po + -rm -f ./$(DEPDIR)/dispatch_exec.lib.Po + -rm -f ./$(DEPDIR)/dispatch_f.lib.Po + -rm -f ./$(DEPDIR)/dispatch_useradd.lib.Po + -rm -f ./$(DEPDIR)/subu-mk-0.cli.Po + -rm -f ./$(DEPDIR)/subu-mk-0.lib.Po + -rm -f makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-binPROGRAMS + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/dbprintf.aux.Po + -rm -f ./$(DEPDIR)/dispatch_exec.lib.Po + -rm -f ./$(DEPDIR)/dispatch_f.lib.Po + -rm -f ./$(DEPDIR)/dispatch_useradd.lib.Po + -rm -f ./$(DEPDIR)/subu-mk-0.cli.Po + -rm -f ./$(DEPDIR)/subu-mk-0.lib.Po + -rm -f makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-binPROGRAMS clean-generic cscopelist-am ctags ctags-am \ + distclean distclean-compile distclean-generic distclean-tags \ + distdir dvi dvi-am html html-am info info-am install \ + install-am install-binPROGRAMS install-data install-data-am \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-info install-info-am \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am \ + uninstall-binPROGRAMS + +.PRECIOUS: makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/src/makefile.am b/deprecated/old_subu/makefile.am similarity index 100% rename from src/makefile.am rename to deprecated/old_subu/makefile.am diff --git a/src/makefile.in b/deprecated/old_subu/makefile.in similarity index 100% rename from src/makefile.in rename to deprecated/old_subu/makefile.in diff --git a/deprecated/old_subu/setuid_root.sh b/deprecated/old_subu/setuid_root.sh new file mode 100755 index 0000000..bea2d00 --- /dev/null +++ b/deprecated/old_subu/setuid_root.sh @@ -0,0 +1,8 @@ +#!/bin/bash +# must be run under sudo +# be sure to cat it before running it, better yet just type this in manually +# + +chown root $1 && \ +chmod u+rsx,u-w,go+rx-s-w $1 + diff --git a/deprecated/old_subu/subu-mk-0.cli.c b/deprecated/old_subu/subu-mk-0.cli.c new file mode 100644 index 0000000..cc07a78 --- /dev/null +++ b/deprecated/old_subu/subu-mk-0.cli.c @@ -0,0 +1,16 @@ +/* + subu-mk-0 command + +*/ + +#include +#include "subu-mk-0.lib.h" + +int main(int argc, char **argv, char **env){ + char *command = argv[0]; + if( argc != 2 ){ + fprintf(stderr, "usage: %s subu", command); + return ERR_ARG_CNT; + } + return subu_mk_0(argv[1]); +} diff --git a/deprecated/old_subu/subu-mk-0.lib.c b/deprecated/old_subu/subu-mk-0.lib.c new file mode 100644 index 0000000..32cf5f1 --- /dev/null +++ b/deprecated/old_subu/subu-mk-0.lib.c @@ -0,0 +1,346 @@ +/* + Makes a new subu user. + + According to the man page, we are not allowed to free the memory allocated by getpwid(). + + masteru is the user who ran this script. subu is the user being created. + + subu-mk-0 is a setuid root script. + + see also 3_doc/subu-mk-0.txt + +*/ + +// without this #define we get the warning: implicit declaration of function ‘seteuid’/‘setegid’ +#define _GNU_SOURCE + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "dispatch_f.lib.h" +#include "dispatch_exec.lib.h" +#include "dispatch_useradd.lib.h" +#include "subu-mk-0.lib.h" + +typedef unsigned int uint; + +/* + Fedora 29's sss_cache is checking the inherited uid instead of the effective + uid, so setuid root scripts will fail when calling sss_cache. Fedora 29's + 'useradd' calls sss_cache. + +*/ +#define BUG_SSS_CACHE_RUID 1 + +// will be called through dispatch_f_as masteru +int masteru_makes_subuhome(void *arg){ + char *subuhome = (char *) arg; + if( mkdir( subuhome, 0700 ) == -1 ){ + perror("masteru_makes_subuhome"); + return -1; + } + return 0; +} + +int subu_mk_0(char *subuname){ + + char *perror_src = "subu_mk_0"; + + //-------------------------------------------------------------------------------- + #ifdef DEBUG + dbprintf("Checking that we are running from a user and are setuid root.\n"); + #endif + uid_t masteru_uid = getuid(); + gid_t masteru_gid = getgid(); + uid_t set_euid = geteuid(); + gid_t set_egid = getegid(); + #ifdef DEBUG + dbprintf("masteru_uid %u, masteru_gid %u, set_euid %u set_egid %u\n", masteru_uid, masteru_gid, set_euid, set_egid); + #endif + if( masteru_uid == 0 || set_euid != 0 ){ + fprintf(stderr, "error exit, this program must be run setuid root from a user account\n"); + return ERR_SETUID_ROOT; + } + + //-------------------------------------------------------------------------------- + char *masteru_name; + size_t masteru_name_len; + // char *subuname was passed in as an argument + size_t subuname_len; + struct passwd *masteru_pw_record_pt; + { + #ifdef DEBUG + dbprintf("looking up masteru_name (i.e. uid %u) in /etc/passwd\n", masteru_uid); + #endif + // subuname is the first argument passed in + // verify that subuname is legal! --> code goes here ... + subuname_len = strlen(subuname); + masteru_pw_record_pt = getpwuid(masteru_uid); + masteru_name = masteru_pw_record_pt->pw_name; + masteru_name_len = strlen(masteru_name); + } + #ifdef DEBUG + dbprintf("subuname \"%s\" masteru_name: \"%s\"\n", subuname, masteru_name); + #endif + + //-------------------------------------------------------------------------------- + char *masteru_home; + size_t masteru_home_len; + char *subuland; + size_t subuland_len; + { + #ifdef DEBUG + dbprintf("building the subuland path\n"); + #endif + masteru_home = masteru_pw_record_pt->pw_dir; + masteru_home_len = strlen(masteru_home); + if( masteru_home_len == 0 || masteru_home[0] == '(' ){ + fprintf(stderr,"error exit, %s has no home directory\n", masteru_name); + return ERR_BAD_MASTERU_HOME; + } + char *subuland_extension = "/subuland/"; + size_t subuland_extension_len = strlen(subuland_extension); + subuland = (char *)malloc( masteru_home_len + subuland_extension_len + 1 ); + strcpy(subuland, masteru_home); + strcpy(subuland + masteru_home_len, subuland_extension); + subuland_len = masteru_home_len + subuland_extension_len; + } + #ifdef DEBUG + dbprintf("masteru_home: \"%s\"\n", masteru_home); + dbprintf("The path to subuland: \"%s\".\n", subuland); + #endif + + //-------------------------------------------------------------------------------- + char *subuhome; + size_t subuhome_len; + { + #ifdef DEBUG + dbprintf("making the path for subuhome\n"); + #endif + subuhome_len = subuland_len + subuname_len; + subuhome = (char *)malloc(subuhome_len + 1); + if( !subuhome ){ + perror(perror_src); + free(subuland); + return ERR_MALLOC; + } + strcpy (subuhome, subuland); + strcpy (subuhome + subuland_len, subuname); + } + #ifdef DEBUG + dbprintf("subuhome: \"%s\"\n", subuhome); + #endif + + //-------------------------------------------------------------------------------- + // By having masteru create the subuhome, we know that masteru has rights to + // to access this directory. + { + #ifdef DEBUG + dbprintf("as masteru, making the directory \"%s\"\n", subuhome); + #endif + struct stat st; + if( stat(subuhome, &st) != -1 ){ + fprintf(stderr, "error exit, a file system object already exists at the subu home directory path\n"); + free(subuland); + free(subuhome); + return ERR_MK_SUBUHOME; + } + int ret = dispatch_f_euid_egid + ( + "masteru_makes_subuhome", + masteru_makes_subuhome, + (void *)subuhome, + masteru_uid, + masteru_gid + ); + if( ret == -1 ){ + fprintf(stderr, "error exit, masteru could not make \"%s\"\n", subuhome); + free(subuland); + free(subuhome); + return ERR_FAILED_MKDIR_SUBU; + } + } + #ifdef DEBUG + dbprintf("masteru made directory \"%s\"\n", subuhome); + #endif + + /*-------------------------------------------------------------------------------- + Make the subservient user, i.e. the subu + + Ok to specify the new home directory in useradd, because it doesn't make it. + From the man page: + + -d, --home-dir HOME_DIR The new user will be created using HOME_DIR + as the value for the user's login directory. ... The directory HOME_DIR + does not have to exist but will not be created if it is missing. + + Actually Fedora 29's 'useradd' is making the directory even when -d is specified. + Adding the -M option suppresses it. + */ + { + #ifdef DEBUG + dbprintf("making user \"%s\"\n", subuname); + #endif + #if BUG_SSS_CACHE_RUID + #ifdef DEBUG + dbprintf("setting inherited real uid to 0 to accomodate SSS_CACHE UID BUG\n"); + #endif + if( setuid(0) == -1 ){ + perror(perror_src); + free(subuland); + free(subuhome); + return ERR_BUG_SSS; + } + #endif + char *command = "/usr/sbin/useradd"; + char *argv[6]; + argv[0] = command; + argv[1] = subuname; + argv[2] = "-d"; + argv[3] = subuhome; + argv[4] = "-M"; + argv[5] = (char *) NULL; + char *envp[1]; + envp[0] = (char *) NULL; + struct dispatch_useradd_ret_t ret; + ret = dispatch_useradd(argv, envp); + if(ret.error){ + fprintf(stderr, "error exit, %u useradd failed\n", ret.error); + free(subuland); + free(subuhome); + return ERR_FAILED_USERADD; + } + #ifdef DEBUG + dbprintf("useradd finished\n"); + #endif + } + + /*-------------------------------------------------------------------------------- + At this point we have a subservient user, a subu, and we have a home directory for + the subu. However, the home directory is owned by masteru. We will now: + 1. set default acls on the subuhome so that masteru can access everything + in it. Currently masteru owns subuhome, but we will change that subu. We + do this first so that there can not be race from a subu user to create a + filesystem object that masteru can't access. + 2. x acls set on subuland and master u so that subu can reach subuhome, e.g. + when logging in. + 3. ownerhips of subuhome changed to subu + + 1. setfacl -m d:u:masteru_name:rwX,u:masteru_name:rwX subuhome + 2. setfacl -m u:subuname:x subuland + setfacl -m u:subuname:x masteru_home + + */ + { + #ifdef DEBUG + dbprintf("setting access rights an subuhome ownerhip\n"); + #endif + // create a buffer to hold the longest access string we will find in this section + uint max_name_len = subuname_len > masteru_name_len ? subuname_len : masteru_name_len; + uint max_access_len = + strlen("d:u:") + + max_name_len + + strlen("rwX,u:") + + masteru_name_len + + strlen("rwX") + + 1; + char access[max_access_len]; + // 1. acls for subuhome + char *command = "/usr/bin/setfacl"; + strcpy(access, "d:u:"); + strcpy(access + strlen("d:u:"), masteru_name); + strcpy(access + strlen("d:u:") + masteru_name_len, ":rwX,u:"); + strcpy(access + strlen("d:u:") + masteru_name_len + strlen(":rwX,u:"), masteru_name); + strcpy(access + strlen("d:u:") + 2 * masteru_name_len + strlen(":rwX,u:"), ":rwX"); + char *argv[5]; + argv[0] = command; + argv[1] = "-m"; + argv[2] = access; + argv[3] = subuhome; + argv[4] = (char *) NULL; + char *envp[1]; + envp[0] = (char *) NULL; + if( dispatch_exec(argv, envp) == -1 ){ + fprintf(stderr, "error exit, while setting acls for subuhome, \"%s\" \n", subuhome); + free(subuland); + free(subuhome); + return ERR_SETFACL; + } + // 2.1 x acls on subuland + // setfacl -m u:subuname:x subuland + strcpy(access, "u:"); + strcpy(access + strlen("u:"), subuname); + strcpy(access + strlen("u:") + subuname_len, ":x"); + argv[3] = subuland; + if( dispatch_exec(argv, envp) == -1 ){ + fprintf(stderr, "error exit, failed to give subuname x acl on subuland.\n"); + free(subuland); + free(subuhome); + return ERR_SETFACL; + } + // 2.2 x acls on masteru_home + // setfacl -m u:subuname:x masteru_home + argv[3] = masteru_home; + if( dispatch_exec(argv, envp) == -1 ){ + fprintf(stderr, "error exit, failed to give subuname x acl on masteru_home.\n"); + free(subuland); + free(subuhome); + return ERR_SETFACL; + } + // 3. give subu ownership of subuhome + + #ifdef DEBUG + dbprintf("subu can now cd to subuhome\n"); + #endif + } + + //-------------------------------------------------------------------------------- + { + #ifdef DEBUG + dbprintf("give masteru default access to the subuhome\n"); + #endif + char *command = "/usr/bin/setfacl"; + char access[strlen("d:u:") + masteru_name_len + strlen(":rwX") + 1]; + strcpy(access, "d:u:"); + strcpy(access + 4, masteru_name); + strcpy(access + 4 + masteru_name_len, ":rwX"); + char *argv[5]; + argv[0] = command; + argv[1] = "-m"; + argv[2] = access; + argv[3] = subuhome; + argv[4] = (char *) NULL; + char *envp[1]; + envp[0] = (char *) NULL; + if( dispatch_exec(argv, envp) == -1 ){ + fprintf + ( + stderr, + "'setfacl -$ -m d:u:%s:rwX %s' returned an error.\n", + masteru_name, + masteru_name, + subuhome + ); + free(subuland); + free(subuhome); + return ERR_SETFACL; + } + #ifdef DEBUG + dbprintf("masteru now has default access\n"); + #endif + } + + #ifdef DEBUG + dbprintf("finished subu-mk-0(%s)\n", subuname); + #endif + free(subuland); + free(subuhome); + return 0; +} diff --git a/src/subu-mk-0.lib.h b/deprecated/old_subu/subu-mk-0.lib.h similarity index 100% rename from src/subu-mk-0.lib.h rename to deprecated/old_subu/subu-mk-0.lib.h diff --git a/deprecated/old_subu/subu-mk-0.txt b/deprecated/old_subu/subu-mk-0.txt new file mode 100644 index 0000000..a872820 --- /dev/null +++ b/deprecated/old_subu/subu-mk-0.txt @@ -0,0 +1,83 @@ +I. If we allowed the subu_home directory to be put anywhere, this script could + be used by masteru gain access to any directory on the system. Hence, we have + to add some constraints: + + constraint 1) the subuhome directory must not already exist, not as a + directory or as any other type of object. + + constraint 2) masteru must already have privledges to reach access $(masteru_home)/subuland + + constraint 3) subuhome may only be placed under the directory $(masteru_home)/subuland. + + convention 4) only subuhome directories may be placed in $(masteru_home)/subuland. + + -> without constraint 1), exploit 1 + + Suppose that a wily masteru was able to move an inaccessible directory that + he or she wanted access to and place it under $(masteru_home)/subuland. + Typically such directories are not moveable by wiley users in the first + place, but suppose the wily masteru found such a directory. + + Alternatively suppose the wily masteru made a directory under + $(masteru_home)/subuland of his or her own, and placed an inaccessible file + or subdirectory inside of it. + + Alternatively suppose that the wily masteru made $(masteru_home)/subuland a + hard link or a symlink to a directory that contained a subdirectory that + masteru did not have access to. + + The the wiley masteru could then create a subu by the same name as the + directory he desired access to, and trick the foolish subu-mk-0 into giving + him or her access. + + -> without constraint 2) exploit 2 + + Then the masteru could place subu directories in places he can not access. + The foolish subu-mk-0 program would then add 'x' acls to as to reach this + place. The masteru could then change identity to the subu, (i.e. enter the + container), and then reach that place he or she could not reach before. + + -> without constraint 3) exploit 3 + + If masteru looses x privlege to a place, subu might keep it, and then + exploit 2 would work despite the existence of constraint 2. It would be + unusual that masteru not have x privledges to masteru_home. Furthmore, we + decree that masteru has x privige to subuland. Hence, exploit 3 can be + prevented by following this convention. + + -> without convention 4) exploit 4 + + +II. the ownership flaw + +subu will own the files and directories that it makes. The default acls are +such that masteru will also have access to subu's file. This defines the master +user / subservient user convention on the filesystem. + +However, because subu owns the files and directories, it can modify the +acls. Thus a wily subu can lock the masteru out. + +Perhaps the master has a 'fix perms' script. However, there is no enshrined +relationship in the system between the masteru and the subu, so the system +won't know for sure the subu belongs to the masteru, and thus can not allow +masteru to change the supposed subu's permissions to give back access to masteru. + +Perhaps we propose that instead masteru owns the files and directories of subuhome, +and subu is given access privilege through acls and default acls. Indeed, then +subu can't change the acls on these existing files. However, if subu is allowed to +own processes, then those processes might create files owned by the subu, and the subu +can lock the master out from access to these new files. + +How about a variation. Perhaps the subu shares the uid of the masteru, but has a different +gid. The subuhome then has the sticky bit set on the group access, so all files created +remain the same gid. subu process are masteru processes, however the gid of the process is +that of the subu's. Masteru can then control both the files and the processes, but in absence +of this control, the subu has control. + +Then we don't make a new user when we make a subu, we make a new group. We then have to add +utilities for 'logging into the subu' which goes to a different home directory based on the +group being logged into. + +---> + + diff --git a/doc/makeheaders.txt b/doc/makeheaders.txt new file mode 100644 index 0000000..5aebda9 --- /dev/null +++ b/doc/makeheaders.txt @@ -0,0 +1,16 @@ + +This worked to force the include to be part of the interface: + +#if INTERFACE +#include +#endif + +But this did not: + +#if INTERFACE + #include +#endif + +makeheaders looks to be sensitive to indentation + + diff --git a/3_doc/note.txt b/doc/note.txt similarity index 100% rename from 3_doc/note.txt rename to doc/note.txt diff --git a/3_doc/real_uid.txt b/doc/real_uid.txt similarity index 100% rename from 3_doc/real_uid.txt rename to doc/real_uid.txt diff --git a/3_doc/real_uid_bug.pdf b/doc/real_uid_bug.pdf similarity index 100% rename from 3_doc/real_uid_bug.pdf rename to doc/real_uid_bug.pdf diff --git a/doc/subu-mk-0.txt b/doc/subu-mk-0.txt new file mode 100644 index 0000000..c3146bf --- /dev/null +++ b/doc/subu-mk-0.txt @@ -0,0 +1,104 @@ +I. If we allowed the subu_home directory to be put anywhere, this script could + be used by masteru gain access to any directory on the system. Hence, we have + to add some constraints: + + constraint 1) the subuhome directory must not already exist, not as a + directory or as any other type of object. + + constraint 2) masteru must already have privledges to reach access $(masteru_home)/subuland + + constraint 3) subuhome may only be placed under the directory $(masteru_home)/subuland. + + convention 4) only subuhome directories may be placed in $(masteru_home)/subuland. + + -> without constraint 1), exploit 1 + + Suppose that a wily masteru was able to move an inaccessible directory that + he or she wanted access to and place it under $(masteru_home)/subuland. + Typically such directories are not moveable by wiley users in the first + place, but suppose the wily masteru found such a directory. + + Alternatively suppose the wily masteru made a directory under + $(masteru_home)/subuland of his or her own, and placed an inaccessible file + or subdirectory inside of it. + + Alternatively suppose that the wily masteru made $(masteru_home)/subuland a + hard link or a symlink to a directory that contained a subdirectory that + masteru did not have access to. + + The the wiley masteru could then create a subu by the same name as the + directory he desired access to, and trick the foolish subu-mk-0 into giving + him or her access. + + -> without constraint 2) exploit 2 + + Then the masteru could place subu directories in places he can not access. + The foolish subu-mk-0 program would then add 'x' acls to as to reach this + place. The masteru could then change identity to the subu, (i.e. enter the + container), and then reach that place he or she could not reach before. + + -> without constraint 3) exploit 3 + + If masteru looses x privlege to a place, subu might keep it, and then + exploit 2 would work despite the existence of constraint 2. It would be + unusual that masteru not have x privledges to masteru_home. Furthmore, we + decree that masteru has x privige to subuland. Hence, exploit 3 can be + prevented by following this convention. + + -> without convention 4) exploit 4 + + +II. the ownership flaw + +subu will own the files and directories that it makes. The default acls are +such that masteru will also have access to subu's file. This defines the master +user / subservient user convention on the filesystem. + +However, because subu owns the files and directories, it can modify the +acls. Thus a wily subu can lock the masteru out. + +Perhaps the master has a 'fix perms' script. However, there is no enshrined +relationship in the system between the masteru and the subu, so the system won't +know for sure the subu belongs to the masteru, and thus can not allow masteru to +change the supposed subu's permissions to give back access to masteru. + +Perhaps we propose that instead masteru owns the files and directories of +subuhome, and subu is given access privilege through acls and default acls. +Indeed, then subu can't change the acls on these existing files. However, if +subu is allowed to own processes, then those processes might create files owned +by the subu, and the subu can lock the master out from access to these new +files. + +How about a variation. Perhaps the subu shares the uid of the masteru, but has +a different gid. The subuhome then has the sticky bit set on the group access, +so all files created remain the same gid. subu process are masteru processes, +however the gid of the process is that of the subu's. Masteru can then control +both the files and the processes, but in absence of this control, the subu has +control. + +Then we don't make a new user when we make a subu, we make a new group. We then +have to add utilities for 'logging into the subu' which goes to a different home +directory based on the group being logged into. + +III. other approaches + +Groups don't seem to offer much help, the owner is still the owner. + +A volume can be mounted without the subu being able to modify the facls. I +don't know if the default facls still apply, but if so, then this would be a +solution. + +bindfs can translate uids and gids. The same directory can appear in two +places, in one place owned by the subu and in another owned by the masteru. +This looks to be potentially a clean solution. It would also be recursive, +i.e. a subu could have subus. I'll try this one. + +One possibility is for the subusers to appear in /home/ as normal users. Then +masteru bindfs with translation into subuland. Everything in subuland appears +to be owned by masteru. This is a transparent way to give masteru control over +all the files. + +Then is the question of being able to control the processes being run by a subu. +We will need an /etc/ file that pairs masters and subus. + + diff --git a/doc/subu_as_group.txt b/doc/subu_as_group.txt new file mode 100644 index 0000000..46da5b9 --- /dev/null +++ b/doc/subu_as_group.txt @@ -0,0 +1,22 @@ + +note the 'ownerhips flaw' in subu-mk-0.txt. Could groups help with this? + +Suppose that instead of creating the subu as a separate user, it is created as a group. Masteru then has a +number of separate groups. To run a process as the subu, the uid is set to the masteru, and the gid is set +to the subu. .. but then the process would be able to modify anything owned by masteru + +suppose subu belongs to masteru's group .. then all subus are the same and can write each other's data. + +suppose masteru belongs to subu's group .. subu is still its own unique user, so it can change group permissions +on files it makes and lock masteru out. + +suppose there is a unique third party, the mediator. Both masteru and subu belong to its group. A +processes running as subu can only create files in directories that have mediator group permissions. subu still +owns the files and directories it creates, so .. + +suppose the group sticky bit is set. The subu must belong to the group to write anything in the directories. +Anything it writes are owned by the group. Suppose masteru is also in the this group. Though a mean subu +could not take away the group ownership, it could + + + diff --git a/3_doc/todo.txt b/doc/todo.txt similarity index 81% rename from 3_doc/todo.txt rename to doc/todo.txt index c22c873..52d1998 100644 --- a/3_doc/todo.txt +++ b/doc/todo.txt @@ -18,3 +18,6 @@ For now, I'm just leaving it to one layer. +2019-02-23T18:56:31Z morpheus@manorhouse§~/subu_land/subu/src§ + need to modify subu-init to take a configuration file name argument + might want to add arguments to other subu commands also diff --git a/3_doc/try.txt b/doc/try.txt similarity index 100% rename from 3_doc/try.txt rename to doc/try.txt diff --git a/makefile b/makefile old mode 100644 new mode 100755 index 02e84c7..6e5ff7d --- a/makefile +++ b/makefile @@ -1,819 +1,15 @@ -# makefile.in generated by automake 1.16.1 from makefile.am. -# makefile. Generated from makefile.in by configure. - -# Copyright (C) 1994-2018 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - - -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/mk-subu-0 -pkgincludedir = $(includedir)/mk-subu-0 -pkglibdir = $(libdir)/mk-subu-0 -pkglibexecdir = $(libexecdir)/mk-subu-0 -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -subdir = . -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/makefile.am $(top_srcdir)/configure \ - $(am__configure_deps) $(dist_doc_DATA) $(am__DIST_COMMON) -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno config.status.lineno -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-recursive dvi-recursive html-recursive info-recursive \ - install-data-recursive install-dvi-recursive \ - install-exec-recursive install-html-recursive \ - install-info-recursive install-pdf-recursive \ - install-ps-recursive install-recursive installcheck-recursive \ - installdirs-recursive pdf-recursive ps-recursive \ - tags-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(docdir)" -DATA = $(dist_doc_DATA) -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -am__recursive_targets = \ - $(RECURSIVE_TARGETS) \ - $(RECURSIVE_CLEAN_TARGETS) \ - $(am__extra_recursive_targets) -AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - cscope distdir distdir-am dist dist-all distcheck -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ - $(LISP)config.h.in -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -CSCOPE = cscope -DIST_SUBDIRS = $(SUBDIRS) -am__DIST_COMMON = $(srcdir)/config.h.in $(srcdir)/makefile.in README \ - compile depcomp install-sh missing -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) -am__remove_distdir = \ - if test -d "$(distdir)"; then \ - find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -rf "$(distdir)" \ - || { sleep 5 && rm -rf "$(distdir)"; }; \ - else :; fi -am__post_remove_distdir = $(am__remove_distdir) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -DIST_ARCHIVES = $(distdir).tar.gz -GZIP_ENV = --best -DIST_TARGETS = dist-gzip -distuninstallcheck_listfiles = find . -type f -print -am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ - | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' -distcleancheck_listfiles = find . -type f -print -ACLOCAL = ${SHELL} /home/morpheus/subu_land/subu/missing aclocal-1.16 -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 1 -AUTOCONF = ${SHELL} /home/morpheus/subu_land/subu/missing autoconf -AUTOHEADER = ${SHELL} /home/morpheus/subu_land/subu/missing autoheader -AUTOMAKE = ${SHELL} /home/morpheus/subu_land/subu/missing automake-1.16 -AWK = gawk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -g -O2 -CPPFLAGS = -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -ECHO_C = -ECHO_N = -n -ECHO_T = -EXEEXT = -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -LDFLAGS = -LIBOBJS = -LIBS = -LTLIBOBJS = -MAKEINFO = ${SHELL} /home/morpheus/subu_land/subu/missing makeinfo -MKDIR_P = /usr/bin/mkdir -p -OBJEXT = o -PACKAGE = mk-subu-0 -PACKAGE_BUGREPORT = bug-automake@gnu.org -PACKAGE_NAME = mk-subu-0 -PACKAGE_STRING = mk-subu-0 1.0 -PACKAGE_TARNAME = mk-subu-0 -PACKAGE_URL = -PACKAGE_VERSION = 1.0 -PATH_SEPARATOR = : -SET_MAKE = -SHELL = /bin/sh -STRIP = -VERSION = 1.0 -abs_builddir = /home/morpheus/subu_land/subu -abs_srcdir = /home/morpheus/subu_land/subu -abs_top_builddir = /home/morpheus/subu_land/subu -abs_top_srcdir = /home/morpheus/subu_land/subu -ac_ct_CC = gcc -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -bindir = ${exec_prefix}/bin -build_alias = -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host_alias = -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/morpheus/subu_land/subu/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = . -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = -top_builddir = . -top_srcdir = . -SUBDIRS = src -dist_doc_DATA = README -all: config.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - -.SUFFIXES: -am--refresh: makefile - @: -$(srcdir)/makefile.in: $(srcdir)/makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ - $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign makefile -makefile: $(srcdir)/makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - echo ' $(SHELL) ./config.status'; \ - $(SHELL) ./config.status;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck - -$(top_srcdir)/configure: $(am__configure_deps) - $(am__cd) $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -$(am__aclocal_m4_deps): - -config.h: stamp-h1 - @test -f $@ || rm -f stamp-h1 - @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 - -stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status - @rm -f stamp-h1 - cd $(top_builddir) && $(SHELL) ./config.status config.h -$(srcdir)/config.h.in: $(am__configure_deps) - ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) - rm -f stamp-h1 - touch $@ - -distclean-hdr: - -rm -f config.h stamp-h1 -install-dist_docDATA: $(dist_doc_DATA) - @$(NORMAL_INSTALL) - @list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(docdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \ - done - -uninstall-dist_docDATA: - @$(NORMAL_UNINSTALL) - @list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir) - -# This directory's subdirectories are mostly independent; you can cd -# into them and run 'make' without going through this Makefile. -# To change the values of 'make' variables: instead of editing Makefiles, -# (1) if the variable is set in 'config.status', edit 'config.status' -# (which will cause the Makefiles to be regenerated when you run 'make'); -# (2) otherwise, pass the desired values on the 'make' command line. -$(am__recursive_targets): - @fail=; \ - if $(am__make_keepgoing); then \ - failcom='fail=yes'; \ - else \ - failcom='exit 1'; \ - fi; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-recursive -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-recursive - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscope: cscope.files - test ! -s cscope.files \ - || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) -clean-cscope: - -rm -f cscope.files -cscope.files: clean-cscope cscopelist -cscopelist: cscopelist-recursive - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -rm -f cscope.out cscope.in.out cscope.po.out cscope.files - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(DISTFILES) - $(am__remove_distdir) - test -d "$(distdir)" || mkdir "$(distdir)" - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done - -test -n "$(am__skip_mode_fix)" \ - || find "$(distdir)" -type d ! -perm -755 \ - -exec chmod u+rwx,go+rx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r "$(distdir)" -dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz - $(am__post_remove_distdir) - -dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 - $(am__post_remove_distdir) - -dist-lzip: distdir - tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz - $(am__post_remove_distdir) - -dist-xz: distdir - tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz - $(am__post_remove_distdir) - -dist-tarZ: distdir - @echo WARNING: "Support for distribution archives compressed with" \ - "legacy program 'compress' is deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__post_remove_distdir) - -dist-shar: distdir - @echo WARNING: "Support for shar distribution archives is" \ - "deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz - $(am__post_remove_distdir) - -dist-zip: distdir - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - $(am__post_remove_distdir) - -dist dist-all: - $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' - $(am__post_remove_distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - case '$(DIST_ARCHIVES)' in \ - *.tar.gz*) \ - eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ - bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.lz*) \ - lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ - *.tar.xz*) \ - xz -dc $(distdir).tar.xz | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ - eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - esac - chmod -R a-w $(distdir) - chmod u+w $(distdir) - mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst - chmod a-w $(distdir) - test -d $(distdir)/_build || exit 0; \ - dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ - && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && am__cwd=`pwd` \ - && $(am__cd) $(distdir)/_build/sub \ - && ../../configure \ - $(AM_DISTCHECK_CONFIGURE_FLAGS) \ - $(DISTCHECK_CONFIGURE_FLAGS) \ - --srcdir=../.. --prefix="$$dc_install_base" \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ - distuninstallcheck \ - && chmod -R a-w "$$dc_install_base" \ - && ({ \ - (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ - distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ - } || { rm -rf "$$dc_destdir"; exit 1; }) \ - && rm -rf "$$dc_destdir" \ - && $(MAKE) $(AM_MAKEFLAGS) dist \ - && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ - && cd "$$am__cwd" \ - || exit 1 - $(am__post_remove_distdir) - @(echo "$(distdir) archives ready for distribution: "; \ - list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' -distuninstallcheck: - @test -n '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: trying to run $@ with an empty' \ - '$$(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - $(am__cd) '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left after uninstall:" ; \ - if test -n "$(DESTDIR)"; then \ - echo " (check DESTDIR support)"; \ - fi ; \ - $(distuninstallcheck_listfiles) ; \ - exit 1; } >&2 -distcleancheck: distclean - @if test '$(srcdir)' = . ; then \ - echo "ERROR: distcleancheck can only run from a VPATH build" ; \ - exit 1 ; \ - fi - @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left in build directory after distclean:" ; \ - $(distcleancheck_listfiles) ; \ - exit 1; } >&2 -check-am: all-am -check: check-recursive -all-am: makefile $(DATA) config.h -installdirs: installdirs-recursive -installdirs-am: - for dir in "$(DESTDIR)$(docdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic mostlyclean-am - -distclean: distclean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -f makefile -distclean-am: clean-am distclean-generic distclean-hdr distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: install-dist_docDATA - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf $(top_srcdir)/autom4te.cache - -rm -f makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-dist_docDATA - -.MAKE: $(am__recursive_targets) all install-am install-strip - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ - am--refresh check check-am clean clean-cscope clean-generic \ - cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \ - dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \ - distcheck distclean distclean-generic distclean-hdr \ - distclean-tags distcleancheck distdir distuninstallcheck dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dist_docDATA install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \ - tags-am uninstall uninstall-am uninstall-dist_docDATA - -.PRECIOUS: makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: +subdirectories=$(shell /usr/bin/find . -maxdepth 1 -printf "%f " | sed y/\./\ /) + +all : + $(foreach dir, $(subdirectories), \ + if [ -f $(dir)/Makefile ]; then \ + make -C $(dir) all && make -C $(dir) install; \ + fi;\ + ) + +clean : + $(foreach dir, $(subdirectories), \ + if [ -f ./$(dir)/Makefile ]; then \ + make -C $(dir) clean; \ + fi;\ + ) diff --git a/makefile.am b/makefile.am deleted file mode 100644 index 38bdf12..0000000 --- a/makefile.am +++ /dev/null @@ -1,2 +0,0 @@ -SUBDIRS = src -dist_doc_DATA = README diff --git a/rtmake b/rtmake new file mode 100755 index 0000000..6fac2ab --- /dev/null +++ b/rtmake @@ -0,0 +1,4 @@ +#!/bin/sh + +make --no-print-directory -f $RT_BASE/bin/source_local_makefile $@ + diff --git a/src/.deps/subu-config.lib.Po b/src/.deps/subu-config.lib.Po new file mode 100644 index 0000000..2f8affa --- /dev/null +++ b/src/.deps/subu-config.lib.Po @@ -0,0 +1,69 @@ +subu-config.lib.o: subu-config.lib.c /usr/include/stdc-predef.h \ + /usr/include/stdio.h /usr/include/bits/libc-header-start.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/bits/wordsize.h /usr/include/bits/long-double.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-redhat-linux/8/include/stddef.h \ + /usr/lib/gcc/x86_64-redhat-linux/8/include/stdarg.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/bits/types/__fpos_t.h /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/string.h /usr/include/bits/types/locale_t.h \ + /usr/include/bits/types/__locale_t.h /usr/include/strings.h \ + subu-config.lib.h /usr/include/sqlite3.h + +/usr/include/stdc-predef.h: + +/usr/include/stdio.h: + +/usr/include/bits/libc-header-start.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/long-double.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-redhat-linux/8/include/stddef.h: + +/usr/lib/gcc/x86_64-redhat-linux/8/include/stdarg.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/bits/types/__fpos_t.h: + +/usr/include/bits/types/__mbstate_t.h: + +/usr/include/bits/types/__fpos64_t.h: + +/usr/include/bits/types/__FILE.h: + +/usr/include/bits/types/FILE.h: + +/usr/include/bits/types/struct_FILE.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/string.h: + +/usr/include/bits/types/locale_t.h: + +/usr/include/bits/types/__locale_t.h: + +/usr/include/strings.h: + +subu-config.lib.h: + +/usr/include/sqlite3.h: diff --git a/src/.deps/subu-config.lib.Tpo b/src/.deps/subu-config.lib.Tpo new file mode 100644 index 0000000..2f8affa --- /dev/null +++ b/src/.deps/subu-config.lib.Tpo @@ -0,0 +1,69 @@ +subu-config.lib.o: subu-config.lib.c /usr/include/stdc-predef.h \ + /usr/include/stdio.h /usr/include/bits/libc-header-start.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/bits/wordsize.h /usr/include/bits/long-double.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-redhat-linux/8/include/stddef.h \ + /usr/lib/gcc/x86_64-redhat-linux/8/include/stdarg.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/bits/types/__fpos_t.h /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/string.h /usr/include/bits/types/locale_t.h \ + /usr/include/bits/types/__locale_t.h /usr/include/strings.h \ + subu-config.lib.h /usr/include/sqlite3.h + +/usr/include/stdc-predef.h: + +/usr/include/stdio.h: + +/usr/include/bits/libc-header-start.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/long-double.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-redhat-linux/8/include/stddef.h: + +/usr/lib/gcc/x86_64-redhat-linux/8/include/stdarg.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/bits/types/__fpos_t.h: + +/usr/include/bits/types/__mbstate_t.h: + +/usr/include/bits/types/__fpos64_t.h: + +/usr/include/bits/types/__FILE.h: + +/usr/include/bits/types/FILE.h: + +/usr/include/bits/types/struct_FILE.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/string.h: + +/usr/include/bits/types/locale_t.h: + +/usr/include/bits/types/__locale_t.h: + +/usr/include/strings.h: + +subu-config.lib.h: + +/usr/include/sqlite3.h: diff --git a/src/.deps/subu-init.cli.Po b/src/.deps/subu-init.cli.Po new file mode 100644 index 0000000..483f5ab --- /dev/null +++ b/src/.deps/subu-init.cli.Po @@ -0,0 +1,59 @@ +subu-init.cli.o: subu-init.cli.c /usr/include/stdc-predef.h \ + subu-init.cli.h /usr/include/sqlite3.h \ + /usr/lib/gcc/x86_64-redhat-linux/8/include/stdarg.h /usr/include/stdio.h \ + /usr/include/bits/libc-header-start.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \ + /usr/include/bits/long-double.h /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-redhat-linux/8/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/bits/types/__fpos_t.h /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h + +/usr/include/stdc-predef.h: + +subu-init.cli.h: + +/usr/include/sqlite3.h: + +/usr/lib/gcc/x86_64-redhat-linux/8/include/stdarg.h: + +/usr/include/stdio.h: + +/usr/include/bits/libc-header-start.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/long-double.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-redhat-linux/8/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/bits/types/__fpos_t.h: + +/usr/include/bits/types/__mbstate_t.h: + +/usr/include/bits/types/__fpos64_t.h: + +/usr/include/bits/types/__FILE.h: + +/usr/include/bits/types/FILE.h: + +/usr/include/bits/types/struct_FILE.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: diff --git a/src/.deps/subu_init-subu-config.lib.Po b/src/.deps/subu_init-subu-config.lib.Po new file mode 100644 index 0000000..e690269 --- /dev/null +++ b/src/.deps/subu_init-subu-config.lib.Po @@ -0,0 +1,69 @@ +subu_init-subu-config.lib.o: subu-config.lib.c /usr/include/stdc-predef.h \ + /usr/include/stdio.h /usr/include/bits/libc-header-start.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/bits/wordsize.h /usr/include/bits/long-double.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-redhat-linux/8/include/stddef.h \ + /usr/lib/gcc/x86_64-redhat-linux/8/include/stdarg.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/bits/types/__fpos_t.h /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/string.h /usr/include/bits/types/locale_t.h \ + /usr/include/bits/types/__locale_t.h /usr/include/strings.h \ + subu-config.lib.h /usr/include/sqlite3.h + +/usr/include/stdc-predef.h: + +/usr/include/stdio.h: + +/usr/include/bits/libc-header-start.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/long-double.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-redhat-linux/8/include/stddef.h: + +/usr/lib/gcc/x86_64-redhat-linux/8/include/stdarg.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/bits/types/__fpos_t.h: + +/usr/include/bits/types/__mbstate_t.h: + +/usr/include/bits/types/__fpos64_t.h: + +/usr/include/bits/types/__FILE.h: + +/usr/include/bits/types/FILE.h: + +/usr/include/bits/types/struct_FILE.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/string.h: + +/usr/include/bits/types/locale_t.h: + +/usr/include/bits/types/__locale_t.h: + +/usr/include/strings.h: + +subu-config.lib.h: + +/usr/include/sqlite3.h: diff --git a/src/.deps/subu_init-subu-init.cli.Po b/src/.deps/subu_init-subu-init.cli.Po new file mode 100644 index 0000000..ca834e1 --- /dev/null +++ b/src/.deps/subu_init-subu-init.cli.Po @@ -0,0 +1,11 @@ +subu_init-subu-init.cli.o: subu-init.cli.c /usr/include/stdc-predef.h \ + subu-init.cli.h /usr/include/sqlite3.h \ + /usr/lib/gcc/x86_64-redhat-linux/8/include/stdarg.h + +/usr/include/stdc-predef.h: + +subu-init.cli.h: + +/usr/include/sqlite3.h: + +/usr/lib/gcc/x86_64-redhat-linux/8/include/stdarg.h: diff --git a/src/dbprintf.lib.c b/src/dbprintf.lib.c new file mode 100644 index 0000000..edea747 --- /dev/null +++ b/src/dbprintf.lib.c @@ -0,0 +1,13 @@ + +#include +#include +#include "dbprintf.aux.h" + +int dbprintf(const char *format, ...){ + va_list args; + va_start(args,format); + int ret = vfprintf(stdout, format, args); + fflush(stdout); + va_end(args); + return ret; +} diff --git a/src/duck/local_common.h b/src/duck/local_common.h new file mode 100644 index 0000000..bb60b59 --- /dev/null +++ b/src/duck/local_common.h @@ -0,0 +1,4 @@ + + +typedef unsigned int uint; + diff --git a/src/local_common.h b/src/local_common.h index a7f58cc..bb60b59 100644 --- a/src/local_common.h +++ b/src/local_common.h @@ -1,13 +1,4 @@ -#ifndef LOCAL_COMMON_H -#define LOCAL_COMMON_H -#include "config.h" -#include -#include -#include -#include "dbprintf.aux.h" -//#define DEBUG typedef unsigned int uint; -#endif diff --git a/src/makefile b/src/makefile old mode 100644 new mode 100755 index 0a5df4f..85e94a5 --- a/src/makefile +++ b/src/makefile @@ -1,594 +1,308 @@ -# makefile.in generated by automake 1.16.1 from makefile.am. -# src/makefile. Generated from makefile.in by configure. - -# Copyright (C) 1994-2018 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - - -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/mk-subu-0 -pkgincludedir = $(includedir)/mk-subu-0 -pkglibdir = $(libdir)/mk-subu-0 -pkglibexecdir = $(libexecdir)/mk-subu-0 -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -bin_PROGRAMS = subu-mk-0$(EXEEXT) -subdir = src -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -am__installdirs = "$(DESTDIR)$(bindir)" -PROGRAMS = $(bin_PROGRAMS) -am_subu_mk_0_OBJECTS = dbprintf.aux.$(OBJEXT) dispatch_f.lib.$(OBJEXT) \ - dispatch_exec.lib.$(OBJEXT) dispatch_useradd.lib.$(OBJEXT) \ - subu-mk-0.cli.$(OBJEXT) subu-mk-0.lib.$(OBJEXT) -subu_mk_0_OBJECTS = $(am_subu_mk_0_OBJECTS) -subu_mk_0_LDADD = $(LDADD) -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I. -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/dbprintf.aux.Po \ - ./$(DEPDIR)/dispatch_exec.lib.Po ./$(DEPDIR)/dispatch_f.lib.Po \ - ./$(DEPDIR)/dispatch_useradd.lib.Po \ - ./$(DEPDIR)/subu-mk-0.cli.Po ./$(DEPDIR)/subu-mk-0.lib.Po -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_$(V)) -am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_$(V)) -am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(subu_mk_0_SOURCES) -DIST_SOURCES = $(subu_mk_0_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/makefile.in $(top_srcdir)/depcomp -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} /home/morpheus/subu_land/subu/missing aclocal-1.16 -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 1 -AUTOCONF = ${SHELL} /home/morpheus/subu_land/subu/missing autoconf -AUTOHEADER = ${SHELL} /home/morpheus/subu_land/subu/missing autoheader -AUTOMAKE = ${SHELL} /home/morpheus/subu_land/subu/missing automake-1.16 -AWK = gawk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -g -O2 -CPPFLAGS = -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -ECHO_C = -ECHO_N = -n -ECHO_T = -EXEEXT = -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -LDFLAGS = -LIBOBJS = -LIBS = -LTLIBOBJS = -MAKEINFO = ${SHELL} /home/morpheus/subu_land/subu/missing makeinfo -MKDIR_P = /usr/bin/mkdir -p -OBJEXT = o -PACKAGE = mk-subu-0 -PACKAGE_BUGREPORT = bug-automake@gnu.org -PACKAGE_NAME = mk-subu-0 -PACKAGE_STRING = mk-subu-0 1.0 -PACKAGE_TARNAME = mk-subu-0 -PACKAGE_URL = -PACKAGE_VERSION = 1.0 -PATH_SEPARATOR = : -SET_MAKE = -SHELL = /bin/sh -STRIP = -VERSION = 1.0 -abs_builddir = /home/morpheus/subu_land/subu/src -abs_srcdir = /home/morpheus/subu_land/subu/src -abs_top_builddir = /home/morpheus/subu_land/subu -abs_top_srcdir = /home/morpheus/subu_land/subu -ac_ct_CC = gcc -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -bindir = ${exec_prefix}/bin -build_alias = -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host_alias = -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/morpheus/subu_land/subu/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = . -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../ -top_builddir = .. -top_srcdir = .. -subu_mk_0_SOURCES = \ - dbprintf.aux.c\ - dispatch_f.lib.c\ - dispatch_exec.lib.c\ - dispatch_useradd.lib.c\ - subu-mk-0.cli.c\ - subu-mk-0.lib.c - -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .o .obj -$(srcdir)/makefile.in: $(srcdir)/makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign src/makefile -makefile: $(srcdir)/makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ - fi; \ - for p in $$list; do echo "$$p $$p"; done | \ - sed 's/$(EXEEXT)$$//' | \ - while read p p1; do if test -f $$p \ - ; then echo "$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n;h' \ - -e 's|.*|.|' \ - -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ - sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) files[d] = files[d] " " $$1; \ - else { print "f", $$3 "/" $$4, $$1; } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ - $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ - -e 's/$$/$(EXEEXT)/' \ - `; \ - test -n "$$list" || exit 0; \ - echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(bindir)" && rm -f $$files - -clean-binPROGRAMS: - -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) - -subu-mk-0$(EXEEXT): $(subu_mk_0_OBJECTS) $(subu_mk_0_DEPENDENCIES) $(EXTRA_subu_mk_0_DEPENDENCIES) - @rm -f subu-mk-0$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(subu_mk_0_OBJECTS) $(subu_mk_0_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -include ./$(DEPDIR)/dbprintf.aux.Po # am--include-marker -include ./$(DEPDIR)/dispatch_exec.lib.Po # am--include-marker -include ./$(DEPDIR)/dispatch_f.lib.Po # am--include-marker -include ./$(DEPDIR)/dispatch_useradd.lib.Po # am--include-marker -include ./$(DEPDIR)/subu-mk-0.cli.Po # am--include-marker -include ./$(DEPDIR)/subu-mk-0.lib.Po # am--include-marker - -$(am__depfiles_remade): - @$(MKDIR_P) $(@D) - @echo '# dummy' >$@-t && $(am__mv) $@-t $@ - -am--depfiles: $(am__depfiles_remade) - -.c.o: - $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< - $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ $< - -.c.obj: - $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` - $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ +# Copyright 2011 (C) Reasoning Technology Ltd. All Rights Reserved +# +# 2010 11 20 TWL Created +# 2011 05 26 TWL Modified to generalize +# 2012 02 23 NLS Add ECHO variable to use on different environnement +# corrected setup macro --> add include directory in the path to copy +# corrected install macro --> change the name of installed library : lib$(LIB)$(LIBSUFFIX) +# changed DOC_DIR directory name to 5_documents +# 2012 02 23 TWL removed LIB variable which is now set from the command line so +# so that all source dirs can use the same makefile +# 2012 02 23 TWL added target make dist_clean which also deletes the 2_makefile_deps file +# 2012 04 11 AWW added creation of temporary disk before each test is run +# 2012 06 05 TWL moved tests and try .cc files to directories. caused rtmake tests to +# dist_clean and make deps +# +# +#---------------------------------------------------------------------------- +# use this makefile to compile and test the code: +# +# for a first time run, or for regression use the following: +# +# $ make setup # makes the directories, though should already exist +# $ make regress +# +# the usual development workflow makes use of these: +# +# $ make deps # only when needed, for example if headers includes change or new files introduced +# $ cd tests; make deps # only when needed +# $ make lib # this makes the local library +# $ make tests # this updates tests and compiles +# $ make clean # deletes the .o files and library to force a recompile +# $ cd 1_tests; make clean +# +# for a release of a component +# +# $ make regress +# $ make install # this will only work if all the tests in 1_tests are passing +# +# before a checkin +# +# $ make dist_clean # will also clean the tests and try directories +# +# .lib.cc c++ files taken as source of object files for local build library +# .exl.cc c++ files taken to have main calls and are linked against local build libary +# .ex.cc c++ files taken to have main calls and are not linked against the local build library +# there are no rules for other files in this makefile +# +# about dependencies +# The makefile has no way of knowing if an edit changed the dependencies. Often they do not +# and it would be unwieldy to make the deps every time. Hence *the programmer* must delete +# the deps file if he has made any changes that change the dependencies. +# +# The makefile will make the 2_makefile_deps if the file is missing. +# +# +# about testing +# +# the name of the directory you run make in is taken to also be: the name of the library, +# the name of the main include file (with a .h added), and the name of the include directory +# where the individual headers are found. It is called LIB +# +# test programs are kept in a subdirectory called 1_tests, and are either .exl.cc, ex.cc, +# .sh files. When 'make tests' target is invoked they are all run. Test executables return 0 +# if the test fails, non-zero otherwise. +# +# to remove a test from the pool move it into the subdirectory in 1_tests, 9_broken, +# 5_more_tests of 5_scratch. broken tests are things that are known but must be fixed +# before a release. 5_more_tests are tests being worked on. 5_scratch is stuff that is +# probably going to be deleted. if there is a 5_deprecated, that is for good stuff but it +# is no longer used for some reason or other. +# +# There is a standard source code template and a +# messaging convention. Also, the names, by convention,are test_xxxx_ where xxx is a +# hexadecimal series nummber. If all the test executables pass the file 1_TESTS_PASSED is +# left in the directory. Otherwise the file 1_TESTS_FAILED is left in the directory. +# +# about release directory +# +# this is set in the ApplicationBase variable by rt_init +# +# after the tests pass stuff might be copied to the release directory using +# +# make install +# +# the release directory must have these subdirectories: +# +# bin documents include src +# +# +# + +# set the shell to use +SHELL=/bin/bash + +# the LIB variable is now passed in to us as a parameter to make, see 'rtmake' +# LIB= + +# some versions of Linux need a -e option others complain if there is a -e .. and it isn't the binary for echo .. +ECHO= echo +#ECHO= echo -e + +# a single space literal, for example if you wanted to subsitute commas to spaces: $(subst $(space),;,$(string)) +# we ran into this out of a need to send multiple separate command arguments to a shell script from one variable value +# +blank := +space :=$(blank) $(blank) + + +SCRATCHDIR= 5_scratch # clean and others put things here + + +# see 2_bin/local_build for the compile and link flags +SOURCES= $(wildcard *.lib.cc) $(wildcard *.exl.cc) $(wildcard *.ex.cc) + +OBJECTS= $(patsubst %.cc, %.o, $(SOURCES)) +LIB_OBJECTS= $(patsubst %.cc, %.o, $(wildcard *.lib.cc)) +EXEC_OBJECTS= $(patsubst %.cc, %.o, $(wildcard *.ex.cc) $(wildcard *.exl.cc) ) + +# the sort causes compiles to go in lexical order by file name, this is used to order the tests e.g. +EXEC= $(sort $(patsubst %.ex.cc, %, $(wildcard *.ex.cc))) +EXEC_WL= $(sort $(patsubst %.exl.cc, %, $(wildcard *.exl.cc))) +EXECS= $(sort $(EXEC_WL) $(EXEC)) + +version: + @echo '---- rtmake $@:------------------------------------------------------------' + @echo `pwd`'>' + @echo source_local_makefile version 4.0 + @echo "RT_BASE: " $(RT_BASE) + @echo "APPLICATION_BASE: " $(APPLICATION_BASE) + @echo "APPLICATION: " $(APPLICATION) + @echo "CXX: " $(CXX) + @echo "CXXFLAGS: " $(CXXFLAGS) + @echo "LIB: " $(LIB) + @echo "LIBPATH: " $(LIBPATH) + @echo "LINKFLAGS: " $(LINKFLAGS) + @echo "note, the rt bin directory, and the application 2_bin directory must be in the path for rtmake to work:" + @echo "PATH: " $(PATH) + @echo '______end rtmake $@_____' + + +# chances are if you got to this makefile that rt_init has been run, but we can catch application_init here +# +init: + @if [ "$(RT_BASE)" == "" ]; then echo "init_rt has not been sourced"; exit 1; fi + @if [ "$(APPLICATION_BASE)" == "" ]; then echo "init_application has not been sourced"; exit 1; fi + + + +all: regress + +# safe to run this in an already setup or partially setup directory +setup: + @echo '---- rtmake $@:------------------------------------------------------------' + @echo `pwd`'>' + if [ ! -e $(SCRATCHDIR) ]; then mkdir $(SCRATCHDIR); fi + if [ ! -e $(RT_BASE)/include/$(APPLICATION) ]; then mkdir $(RT_BASE)/include/$(APPLICATION); fi # a place to put the individual header files + if [ ! -e 0_Copyright_Notice.txt ]; then cp $(RT_BASE)/documents/0_Copyright_Notice.txt .; fi + if [ ! -e 1_tests ]; then mkdir 1_tests; fi + if [ ! -e 1_try ]; then mkdir 1_try; fi + if [ ! -e 2_bin ]; then mkdir 2_bin; fi + if [ ! -e 3_documents ]; then mkdir 3_documents; fi + if [ ! -e 3_to_do.txt ]; then touch 3_to_do.txt; fi + if [ ! -e 5_deprecated ]; then mkdir 5_deprecated; fi + @echo '______end rtmake $@_____' + + +deps: init + @echo '---- rtmake $@:------------------------------------------------------------' + @echo `pwd`'>' + $(CXX) $(CXXFLAGS) -MM $(SOURCES) 1> 2_makefile_deps + for i in $(EXEC_WL) ; do\ + $(ECHO) >> 2_makefile_deps;\ + $(ECHO) "$$i : $$i.exl.o $(LIBPATH)/$(LIB)" >> 2_makefile_deps;\ + $(ECHO) " $(CXX) -o $$i $$i.exl.o $(LINKFLAGS)" >> 2_makefile_deps;\ done -check-am: all-am -check: check-am -all-am: makefile $(PROGRAMS) -installdirs: - for dir in "$(DESTDIR)$(bindir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + for i in $(EXEC) ; do\ + echo >> 2_makefile_deps;\ + $(ECHO) "$$i : $$i.ex.o" >> 2_makefile_deps;\ + $(ECHO) " $(CXX) -o $$i $$i.ex.o" >> 2_makefile_deps;\ done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + @echo '______end rtmake $@_____' + +lib: init clear_test_flags + @echo '---- rtmake $@:------------------------------------------------------------' + @echo `pwd`'>' + if [ ! -e 2_makefile_deps ]; then rtmake deps; fi # the user must delete 2_makefile_deps if deps change! + rtmake sub_lib + @echo '______end rtmake $@_____' + +sub_lib: $(LIB) + + +$(LIBPATH)/$(LIB): + @if [ "$(LIBPATH)" != "$(APPLICATION_BASE)" ]; then \ + echo "LIBPATH: " "$(LIBPATH)";\ + echo "$APPLICATION_BASE: " "$(APPLICATION_BASE)";\ + echo "The library path is not the same as the application base so don't know how to make it.";\ + fi + [ "$(LIBPATH)" == "$(APPLICATION_BASE)" ] + cd $(APPLICATION_BASE); rtmake lib + +execs: init $(LIBPATH)/$(LIB) + @echo '---- rtmake $@:------------------------------------------------------------' + @echo `pwd`'>' + if [ ! -e 2_makefile_deps ]; then rtmake deps; fi + rtmake sub_execs + # for i in $(EXEC_OBJECTS); do rm $$i; done + @echo '______end rtmake $@_____' + +sub_execs: $(EXECS) + + +clear_test_flags: + @if [ ! -d 1_tests ]; then echo "can only rtmake tests when there is a 1_tests directory, did you mean: rtmake execs ?"; fi + @ test -d 1_tests # we only need to clear tests flags when there is a tests dir + @echo '---- rtmake $@:------------------------------------------------------------' + @echo `pwd`'>' + echo `date_stamp` $(APPLICATION) > 1_tests_log + if [ -f 1_tests_passed ]; then \ + if [ `repo_tracks 1_tests_passed` == "y" ]; then hg rm 1_tests_passed; else rm 1_tests_passed; fi; \ fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-binPROGRAMS clean-generic mostlyclean-am - -distclean: distclean-am - -rm -f ./$(DEPDIR)/dbprintf.aux.Po - -rm -f ./$(DEPDIR)/dispatch_exec.lib.Po - -rm -f ./$(DEPDIR)/dispatch_f.lib.Po - -rm -f ./$(DEPDIR)/dispatch_useradd.lib.Po - -rm -f ./$(DEPDIR)/subu-mk-0.cli.Po - -rm -f ./$(DEPDIR)/subu-mk-0.lib.Po - -rm -f makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: install-binPROGRAMS - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f ./$(DEPDIR)/dbprintf.aux.Po - -rm -f ./$(DEPDIR)/dispatch_exec.lib.Po - -rm -f ./$(DEPDIR)/dispatch_f.lib.Po - -rm -f ./$(DEPDIR)/dispatch_useradd.lib.Po - -rm -f ./$(DEPDIR)/subu-mk-0.cli.Po - -rm -f ./$(DEPDIR)/subu-mk-0.lib.Po - -rm -f makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-binPROGRAMS - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ - clean-binPROGRAMS clean-generic cscopelist-am ctags ctags-am \ - distclean distclean-compile distclean-generic distclean-tags \ - distdir dvi dvi-am html html-am info info-am install \ - install-am install-binPROGRAMS install-data install-data-am \ - install-dvi install-dvi-am install-exec install-exec-am \ - install-html install-html-am install-info install-info-am \ - install-man install-pdf install-pdf-am install-ps \ - install-ps-am install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \ - ps ps-am tags tags-am uninstall uninstall-am \ - uninstall-binPROGRAMS - -.PRECIOUS: makefile + if [ -f 1_tests_failed ]; then \ + if [ `repo_tracks 1_tests_failed` == "y" ]; then hg rm 1_tests_failed; else rm 1_tests_failed; fi; \ + fi + echo "tests have not been run" > 1_tests_log + @echo '______end rtmake $@_____' + +tests: clear_test_flags + @echo '---- rtmake $@:------------------------------------------------------------' + @echo `pwd`'>' + echo `date_stamp` $(APPLICATION) > 1_tests_log + cd 1_tests; rtmake sub_test; + @echo '______end rtmake $@_____' + +sub_test: + rtmake execs + for i in $(EXECS); do \ + echo >> ../1_tests_log; \ + echo ">$$i launching .." | tee -a ../1_tests_log;\ + if ./$$i 2>> ../1_tests_log; then echo ">$$i passed" | tee -a ../1_tests_log; else echo "#>$$i failed" | tee -a ../1_tests_log; touch ../1_tests_failed; fi;\ + done + if [ -e ../1_tests_failed ]; then echo "test set FAIL" | tee -a ../1_tests_log; \ + else echo "test set PASS" | tee -a ../1_tests_log; touch ../1_tests_passed; fi #if none failed, then they passed + +regress: init + @if [ ! -d 1_tests ]; then echo "can only do regression when there is a 1_tests directory"; fi + @test -d 1_tests + @echo '---- rtmake $@:------------------------------------------------------------' + @echo `pwd`'>' + rtmake dist_clean + rtmake deps + rtmake lib + rtmake tests + @echo '______end rtmake $@_____' + +install: all + @echo '---- rtmake $@:------------------------------------------------------------' + @echo `pwd`'>' + @if[ ! -e 1_tests_passed ]; then echo "can't install as tests have not passed"; fi + @test -e test_passed + for i in $(BIN); do cp $$i $(RT_BASE)/bin; done + cp $(LIB) $(RT_BASE)/lib + cp $(APPLICATION).h $(RT_BASE)/include + if [ -d $(APPLICATION) ]; then cp $(APPLICATION)/*.h $(RT_BASE)/include/$(APPLICATION); fi + @echo '______end rtmake $@_____' + +# "rtmake lib" "rtmake execs" now cleans up the .o files afterward, so clean should not be needed often +# clean works on the current working directory, dist_clean also descends into 1_tests and 1_try +# +clean: init + @echo '---- rtmake $@:------------------------------------------------------------' + @echo `pwd`'>' + for i in $(wildcard *~); do mv $$i $(SCRATCHDIR); done + for i in $(wildcard *.lib.o) $(wildcard *.exl.o) $(wildcard *.ex.o); do rm $$i; done + if [ -f 2_makefile_deps ]; then rm 2_makefile_deps; fi + if [ -f $(LIB) ]; then mv $(LIB) 5_scratch; fi + for i in $(EXEC_WL) $(EXEC); do if [ -e $$i ]; then rm $$i; fi; done + @echo '______end rtmake $@_____' + + +# dist_clean is used to clean thing up before doing a checkin, hg add should be safe after a dist_clean +# dist_clean will recurse into the include directory = $(APPLICATION), tests, and try if they are present +# +dist_clean: init + @echo '---- rtmake $@:------------------------------------------------------------' + @echo `pwd`'>' + rtmake clean + if [ -d $(APPLICATION) ]; then cd $(APPLICATION); rtmake clean; fi + if [ -d 1_tests ]; then cd 1_tests; rtmake clean; fi + if [ -d 1_try ] ; then cd 1_try; rtmake clean; fi + @echo '______end rtmake $@_____' + + +-include 2_makefile_deps + +# recipe for making object files: +# +%.o : %.cc + $(CXX) $(CXXFLAGS) -c $< + + +# +$(LIB) : $(LIB_OBJECTS) + ar rcs $(LIB) $(LIB_OBJECTS) +# for i in $(LIB_OBJECTS); do rm $$i; done + -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/src/subu-config.lib.c b/src/subu-config.lib.c new file mode 100644 index 0000000..7577d30 --- /dev/null +++ b/src/subu-config.lib.c @@ -0,0 +1,78 @@ +/* +The config file is maintained in SQLite + +Because user names of are of limited length, subu user names are always named _s. +A separate table translates the numbers into the subu names. + +The first argument is the biggest subu number in the system, or one minus an +starting point for subu numbering. + +currently a unit converted to base 10 will always fit in a 21 bit buffer. + +*/ + +#if INTERFACE +#include +#define ERR_CONFIG_FILE -1 +#endif +#include +#include +#include "subu-config.lib.h" + +//char config_file[] = "/etc/subu.db"; +char config_file[] = "subu.db"; + +int schema(sqlite3 *db, uint max_subu_number){ + char max_subu_number_string[32]; + uint max_subu_number_string_len = snprintf(max_subu_number_string, 32, "%u", max_subu_number); + if( max_subu_number_string_len >= 32 ){ + fprintf(stderr, "error exit, max_subu_number too big to deal with\n"); + return ERR_CONFIG_FILE; + } + char sql1[] = "CREATE TABLE Master_Subu(master_name TEXT, subu_number INT, subu_name TEXT); "; + char sql2[] = "CREATE TABLE Key_Int(key TEXT, value INT); "; + + char sql3_1[] = "INSERT INTO Key_Int VALUES( 'max_subu_number', "; + char sql3_2[] = " ); "; + char sql3_len = strlen(sql3_1) + max_subu_number_string_len + strlen(sql3_2) + 1; + char sql3[sql3_len]; + strcpy(sql3, sql3_1); + strcpy(sql3 + strlen(sql3_1), max_subu_number_string); + strcpy(sql3 + strlen(sql3_1) + max_subu_number_string_len, sql3_2); + + char sql[strlen(sql1) + strlen(sql2) + strlen(sql3) + 1]; + strcpy(sql, sql1); + strcpy(sql + strlen(sql1), sql2); + strcpy(sql + strlen(sql1) + strlen(sql2), sql3); + + return sqlite3_exec(db, sql, NULL, NULL, NULL); +} + +int subu_number(sqlite3 *db, uint &subu_number){ + subu_number = 0; + char *sql = + "BEGIN TRANSACTION;" + "UPDATE Key_Int SET value = value + 1 WHERE key = 'max_subu_number';" + "SELECT value FROM Key_Int WHERE key = 'max_subu_number';" + "COMMIT;"; + size_t sql_len = strlen(sql); + int ret; + sqlite3_stmt *stmt; + ret = sqlite3_prepare_v2(db, sql, sql_len, &stmt, NULL); + if( ret != SQLITE_OK ){ + free(subuland); + free(subuhome); + sqlite3_close(db); + return ERR_CONFIG_FILE; + } + sqlite3_stmt *res; + rc = sqlite3_step(res); + if( rc == SQLITE_ROW ){ + printf("%u\n", sqlite3_column_int(res, NULL)); + } + rc = sqlite3_step(res); + if( rc == SQLITE_ROW ){ + printf("%u\n", sqlite3_column_int(res, NULL)); + } + sqlite3_finalize(res); +} diff --git a/src/subu-config.lib.h b/src/subu-config.lib.h new file mode 100644 index 0000000..d2b1f97 --- /dev/null +++ b/src/subu-config.lib.h @@ -0,0 +1,9 @@ +/* This file was automatically generated. Do not edit! */ +#undef INTERFACE +#include +typedef unsigned int uint; +int subu_number(sqlite3 *db,uint&subu_number); +int schema(sqlite3 *db,uint max_subu_number); +extern char config_file[]; +#define ERR_CONFIG_FILE -1 +#define INTERFACE 0 diff --git a/src/subu-config.lib.o b/src/subu-config.lib.o new file mode 100644 index 0000000000000000000000000000000000000000..ff2496902864427a09874f321ea62e78d3259947 GIT binary patch literal 8760 zcmbtZdvF!i89#e(HrYH#LT<}La_M28k zL76z*#&n1+mOpAstz#WK)6(a}R4odEj(-%}8Ds`pX~h}Zu^pYUR!dv@edm#E4mZ?j{NDNBeXsoIh=oI42@sa;b7#?j3T&#hkWGX z!F?BR-rZyjsfdmIYh$f&eieiHB{EbtdJW1SpYwxYblv7ixI3bE8)M@ z+o9daA2IMW>RPtBB^S#XV@>I(g9sFxm|`1MWTI(H?~ZIU#<~~i4oFe4gDLu$BA1R? zw%%ckb#VzO`k7*YDopOg$VU#Gi5%M2J%2^dnaGp+^&#G4?FHj%X57GxJ2Gz5PT&;Gr%~{( z-yiPWYK%p;H0krw(E(6=#1x-Vg-J)9fgIsD=Pdxg`9Z=0&}e@bK&L~8rw8AI8Zm}> z7iZYSy*?DVIDCT-XcWSvQd&8G@Pu+Ga-r(ykqbuEt7naae^QM6*0Z#pKXM$UX9h>n zAr#IYW9$nP?1`~zY(`_{>`Pdu>&N)p$HvYR)yDi&u)vIiCm`m?o5m3QhL5oEpA&%? zL)(F!6tXc~>o;IA8u`;k{#_bwAypnn2Hi3_AKiq-FkfqIyhi>c^unf=Gs;OC5l@Jr zoQFUm2e0!~oPazZW&=LT2i%cA6@CTt@!yYn6#5v2QL}aL9W}6%Bc!9|Ax;bf($hI) z$>NUu8`5w(l`EafB_sd4iNxlh^Fh4U!}L0SiAIhGA?eJ2VhmfC9tuAk-X4Br`$=e; zn?nI1mThNk-5N-`3v^hOVinSB&CO=@Sh81lvwFgcru02Yx37#mRYVBNfe}! z^ zR#4Ewz)A|*7+6I?I|J<$7z~6d*u=nE3brwDSKTUza|Z)=*RBK5$ACej?q{Hb0+)de zT}ffI&tO~ciJYzqJ`GbgHFgeuhz3T=Q?QiFWu2vEgzvKjLg%CP#-M7?BY1ulY$ zcR+p`epRI87u517uqAIpm70{ynu)FO2W!M%*AAx&RD2E$nEXZPN}rvJ6xEe}+E53# zK^it+u418U^g_VRl9X1~>A3P3Sj0fFRtA>Sv0bTC=_JNn6Y09P8R< ziqCR)v$Yt-Z*zPLz0`ao_b~H0nhniGBcuC^XE?i3L}}6nDe=PoVm4XW9i7;l8OH7? zzL#O_j^aBQ#_lK%F^v8xE@Bwn*U@ccq`jEb9Xp0t4CuPiTT)(Q}% z(>%`Fz_@I}JIsCnT30s0a#56y0P3gB20tOtRW9}zu4zP3)ocj9n)50~$N1?%Wlf_9 zd0t~j07uf^@bub7^jM?9b|{A9Yak>5#Q6A-sP%S*#0(%Nnbgs!prsz;geVrkk1k`j za{^*TEI@(9`9;|BedO-|73FH>G&s^{R$!G-&ap$OWGvJhkB0`@mY7QxH``XCFX}d@ zl9}8*E1n^Z@)E}Cj=jnn&a6_PqH@%Jq6XBbSM{nD+FPo2%=cX-;4^D|JpnbK1=L$EtKrAhHJ8;* zK~-C+`d6vi2G#HD4X9<>1L}0BUxr!;Yr3YZ{vL4ipgIexjhEHiSE@~8>e7{}=7LQZ zv#CZKur1r5LiJ`)-gsH{uT;yYKlD!!#q2p~E`o(;iyDi&EW;4)RHetngyBwu7kqN28q%SgC*=eDe0#AIHwCgV*OdUGs z3j{9`??nN9(S$i9hx0H#AUbDkkaT{)%bsMyGBIvq?slUv2O{m%=lZU#`nuModRuT| zuvK5!(%RO#u=P&8X)`PtBkD4~dC7deIql{$)~a3$@|cVRjN0+ORj{8lFIlWN_x2`Y zdh^B>LIaQ{!-Q)-ndzn3psRk#V(+@AD;CE~(@ocq*&j{ZNz7a(=U53ynw!AME9{o0 zG8T>R%=NRm8ecHDdl2vVF&lJE&@N$O=(H>(Wc|8z%k?J6#r*%62;6s|(AzDXl}9%d zWuRJ_RZ*fHhMn$K;KZi@x><)StDo?#n^xTQRsV3&lj^}@|I8xLqK`raT)_VKF@5Wk z+x-QzVzI6(|Z3=$P6nue8o$qN*rXQ{n7xp-| z+I#3y1!U7*#I@u7d&Tx)S_2ln$r4z+wBXaccUJG>JlsoZcK-pNDzJ2O9&ePG7s2;% zUic9+zLWFl2cL+A{-3x|p&(xaKf%}XJFv_@$Aj+%SY&?g6#Umbyx0Hp9^MOYu*|J1{K{WN0WJbv7ZL_Wn8 zjPpp}-%$ibd<{Sze?vT9^eu;T$WQ0|45(uf`X&YmJSNkE)6b<8&u28%dv}GPheuzt zIbJF8VZNT$NxaVaPKm#dcfLj9ALaT7CH~tSMg`EN;lkn`V{__sJ7m3Xmpz9I2H;rQ1Qukv;Cp2Y9r{D%@B=Xv{F;{80%V%{#+ zgV;v`5`UK4i+L0J=eVv}(s%KAmP>qq^XnxZKgD3_mU!Ifu|y?awhTmZ*lyx#Fua^+C|a1#}a>;^Wu?MXMLeG~#I&N0=UMQ>N1S%}dCM_;Xo6DBlZz1h5znje4ULxD z;D|h528@Jbnm;#<6TE_2Z@~|6=<|QI$M*&FIcW_5?&tk4hq||j_yxBbDsoKN_9C}` zS{jF}T?Sf|w8PI^j@L5O#vcwbe>g{?f04fpz{x(*vYkKNEtMK2NVZR5zXvZcC@t(X zew6LEK}(_dui(OfBJ44K3`vfE7jUvqpvd=l|38o#B}h`BE!2Mlf4LWV!v67XSMGlw zaOhLS2~}FQR=}#rY7(3fX_aUzPDcJ>DYh#2N1&qVCnzhz-q47SKM=IeGmy zaQk-2UW{MR-+@Y@{IwLwAG#FwBCi;`+&B8(#{2(_4-Vgn@P9 + +int main(){ + sqlite3 *db; + if( + sqlite3_open(config_file, &db) + || + schema(db, 10) + ){ + fprintf(stderr, "error exit, could not build schema\n"); + return ERR_CONFIG_FILE; + } + if( sqlite3_close(db) ){ + fprintf(stderr, "error exit, strange, we could not close the db\n"); + return ERR_CONFIG_FILE; + } + return 0; +} diff --git a/src/subu-init.cli.h b/src/subu-init.cli.h new file mode 100644 index 0000000..d4418ca --- /dev/null +++ b/src/subu-init.cli.h @@ -0,0 +1,8 @@ +/* This file was automatically generated. Do not edit! */ +#undef INTERFACE +#include +#define ERR_CONFIG_FILE -1 +typedef unsigned int uint; +int schema(sqlite3 *db,uint max_subu_number); +extern char config_file[]; +int main(); diff --git a/src/subu-init.cli.o b/src/subu-init.cli.o new file mode 100644 index 0000000000000000000000000000000000000000..ca918585f7265c8e957f5f9e0142b9cebc5cb210 GIT binary patch literal 6872 zcmbtYeQX@X6`#HHo!375V&`xYW2$bTiJX$VixbCjz8yl6bDEGeYAT?>avyVd+uYqc zyL-k)ML;PiAuS?8N}_^PS|LRH2Lh>;A}Ex!2%1KfP^*^wQ;CKmMWQYJ5>3@A>3cJ8 zeCx?s{i9EJJM;U^dvD&nnVp^8hj;DU9We~1#9-T43n`YdGXt&qgs4ui0d@mBoICze z?y*1i<-WD+O78eOKf$KUczOJ-=0NVmt}AaM$Q^%|$Y4e8L`+iWUb_VvJopa;sG6W~ZZ!bqGsSq^n2NLzibl^@!PtDAFN{sM+x) zKsorwSbQrs7;(6=_!fF(?{OPJ_1eiAMb zQ$!|0iX@j|%Vxd?~_M56WS@jN2I9gF?};Oi0`Fn3p2XIz``$cSTNl-BV1rFYpQ_|TvxEwlK1iCDK zYf>zwg!yAoNSN3lmH@`phqI0B4*`(chpp= zM%GWX>RmVX;3DWa4VS%O0(Zc6D1=_u(2Yp-<6<;oaqL9OVl0f#m{>lpaBlbaHo6B`qgsqKSX24R6N2~m)f6hP#=$s;WJ1bRgC9x{)$%zINtG?_?9pV(cp zH{@>|0$J4R0CKt<;>ZHqKg#x`q*Y`YV~aD!_Q6(YIIM|fr*4BdQqZTVLPk}#8uI{u zx*bIgFVD=?=2zCk0*J6rfi#SNLwE)V0{CT{zL#|x#agq(nE*AXkgXJp*_rV%du%lA z@lrJ(q-##2Ig=fquS#~=f)n`CILu^&*(vVJeLC$loFG%IIhi7c<{zy&0biG?Vhp&C zx7uNLfeK0`UWR5ErSJk(SSqk?N?ndC^XB$4U~2v z?{ijj8x>1jnhoEnGyj^lUUJP7smf1D8 zc!b8amf3Yk5C-KoA$#-IQc-17j8aA*#t*%q51LtAMd(1p)LJ~?Sq#{3ja8&uhAmQy z<8n&e#sHZ;9poW>Dr3Uyo;wa(J4ZHHJ83yrjn>%TRrqI0%q=gv*m zFbsIr{~Rse;tWofQj7-=F=M9B80zUXpN9S5CZO?;B6hSL$-XBdJA31ir$9sU?XI|` zb+Er)Yu6TSd*X#h1#T;CBuXbgy(tP$vvv|?;&^vmQ&c{k+wkJi+lGfHLmP?8!`5{z zQTfDg!}ndsArWQb>@csbA5ecN4=Tl<0e*2PZ|doCGw|)a)NJ zkjLC9em#;P_@u$(jNZWrHl{`W+(vpvIr1PVUxtpKw{@&ygQ*0e)8Fze)HJjlYNRcQpPJ!Y^q21&Z@k zjenTpc}L?rN&mMRe~I`@8n5=uzi9k@7uTm6*A?;-q<#-Atrq{bhheot%s z1>#@O_@ji?eWUV;uUaVL^9YoRf0_6TnxCtLFKWEH4?oiQ7ln7m{-*KI5x%DJ_vl^VZ`^w(+pDe7-RU6R?apt7i(n&oZ7XfoLu9LbGB!jj{_mqMk1l zJU$I-XiSv&Y>1{U4qlD9GJ*bBrs&q|9NxS#@Eww8;6$AE12|Tb5wF6zI$!5v4FAu? z0%OcgIG5;e0xuxyye5&90LaZ-1Asq(Kgyl5n7iunY=aivCn}E<`K%V0 zuDcO*+vTs1Zju?A7|b75RsSk~dx6t^0>yrfPC@h+8C~~Y(9t=x`xPBB*B}Uqu8a9; z7ymJOF;n&!Kc3h0_>Tgo`vi(bXxtmMMh&tW=(g+sEcLJQg#F`Nk>3A9z@bkSCsc)O zrbF$m3(TL2;}~eSvoGUD3L-z0$~s<^ohna;xRw^&cVr*tu&(SB{~~ev`aMJT<4TcA zHGV~Z7b@-Y_g user, and adds the master / subu relation + to configuration file. - According to the man page, we are not allowed to free the memory allocated by getpwid(). - - masteru is the user who ran this script. subu is the user being created. + masteru is the user who ran this script. subu is a subservient user. subuname + is passed as an argument, we get the materu name from getuid and /etc/passwd. subu-mk-0 is a setuid root script. - see also 3_doc/subu-mk-0.txt + sqllite3 is used to maintain the configuration file, which is currently /etc/subu.db + + useradd is called to make the _s user + + Note, as per the man page, we are not allowed to free the memory allocated by getpwid(). + */ @@ -38,6 +44,40 @@ typedef unsigned int uint; */ #define BUG_SSS_CACHE_RUID 1 + +static uint max_subuname_len = 128; + +// a well formed subuname +// returns the length of the subuname, or -1 +int allowed_subuname(char *subuname){ + char *ch = token; + uint i = 0; + while( + *ch + && + i < max_subuname_len + && + ( ch >= 'a' && ch <= 'z' + || + ch >= 'A' && ch <= 'Z' + || + ch >= '0' && ch <= '9' + || + ch == '_' + || + ch == '.' + || + ch == ' ' + ) + ){ + ch++; + i++; + } + if( !*ch && i < max_len; ) + return i; + else + return -1; +} // will be called through dispatch_f_as masteru int masteru_makes_subuhome(void *arg){ @@ -49,62 +89,98 @@ int masteru_makes_subuhome(void *arg){ return 0; } -int subu_mk_0(char *subuname){ +int subu_mk_0(char *subuname, char *config_file){ char *perror_src = "subu_mk_0"; - + //-------------------------------------------------------------------------------- #ifdef DEBUG - dbprintf("Checking that we are running from a user and are setuid root.\n"); + dbprintf("Opening the configuration file, \"%s\"\n", config_file); #endif - uid_t masteru_uid = getuid(); - gid_t masteru_gid = getgid(); - uid_t set_euid = geteuid(); - gid_t set_egid = getegid(); - #ifdef DEBUG - dbprintf("masteru_uid %u, masteru_gid %u, set_euid %u set_egid %u\n", masteru_uid, masteru_gid, set_euid, set_egid); - #endif - if( masteru_uid == 0 || set_euid != 0 ){ - fprintf(stderr, "this program must be run setuid root from a user account\n"); - return ERR_SETUID_ROOT; + sqlite3 *db; + { + if( sqlite3_open(config_file, &db) ){ + fprintf(stderr, "error exit, could not open config file, \"%s\"\n", file); + return ERR_CONFIG_FILE; + } } //-------------------------------------------------------------------------------- - // recover the masteru user name from /etc/passwd - - // char *subuname was passed in as an argument - size_t subuname_len; - char *masteru_name; - size_t masteru_name_len; - struct passwd *masteru_pw_record_pt; + #ifdef DEBUG + dbprintf("Checking that we are running from a user and are setuid root.\n"); + #endif + uid_t masteru_uid; + gid_t masteru_gid; + uid_t set_euid; + gid_t set_egid; { + masteru_uid = getuid(); + masteru_gid = getgid(); + set_euid = geteuid(); + set_egid = getegid(); #ifdef DEBUG - dbprintf("looking up masteru_name (i.e. uid %u) in /etc/passwd\n", masteru_uid); + dbprintf("masteru_uid %u, masteru_gid %u, set_euid %u set_egid %u\n", masteru_uid, masteru_gid, set_euid, set_egid); #endif - // subuname is the first argument passed in - // verify that subuname is legal! --> code goes here ... - subuname_len = strlen(subuname); - masteru_pw_record_pt = getpwuid(masteru_uid); - masteru_name = masteru_pw_record_pt->pw_name; - masteru_name_len = strlen(masteru_name); + if( masteru_uid == 0 || set_euid != 0 ){ + fprintf(stderr, "error exit, this program must be run setuid root from a user account\n"); + sqlite3_close(db); + return ERR_SETUID_ROOT; + } } + + //-------------------------------------------------------------------------------- + // The subuname is used as the directory mount point, and it appears in configuration + // file relations. #ifdef DEBUG - dbprintf("subuname \"%s\" masteru_name: \"%s\"\n", subuname, masteru_name); + dbprintf("creating subu by the name of \"%s\"\n", subuname); #endif + size_t subuname_len; + { + // subuname will appear in our config file, so we constrain its form + subuname_len = allowed_subuname(subuname); + if( subuname_len == -1 ){ + fprintf(stderr, "error exit, subuname is not in [ _.a-zA-Z0-9]* less than %u characters", max_subuname_len); + sqlite3_close(db); + return ERR_CONFIG_FILE; + } + } //-------------------------------------------------------------------------------- + #ifdef DEBUG + dbprintf("creation of required strings: masteru_name, masteru_home, subuland path, and subuhome path\n"); + #endif + + char *masteru_name; + size_t masteru_name_len; char *masteru_home; size_t masteru_home_len; char *subuland; size_t subuland_len; + char *subuhome; + size_t subuhome_len; { + masteru_pw_record_pt = getpwuid(masteru_uid); // reading /etc/passwd + masteru_name = masteru_pw_record_pt->pw_name; #ifdef DEBUG - dbprintf("building the subuland path\n"); + dbprintf("masteru_name \"%s\"\n", masteru_name); #endif + // The masteru_name will occur in our config file, so we constrain its form. + // The masteru_name is already a username so it might have, or might not + // have, already been filtered for form. + masteru_name_len = allowed_subuname(masteru_name); + if( masteru_name_len == -1 ){ + fprintf(stderr, "error exit, masteru_name is not in [ _.a-zA-Z0-9]* less than %u characters", max_subuname_len); + sqlite3_close(db); + return ERR_CONFIG_FILE; + } masteru_home = masteru_pw_record_pt->pw_dir; + #ifdef DEBUG + dbprintf("masteru_home \"%s\"\n", masteru_home); + #endif masteru_home_len = strlen(masteru_home); if( masteru_home_len == 0 || masteru_home[0] == '(' ){ - fprintf(stderr,"strange, %s has no home directory\n", masteru_name); + fprintf(stderr,"error exit, %s has no home directory\n", masteru_name); + sqlite3_close(db); return ERR_BAD_MASTERU_HOME; } char *subuland_extension = "/subuland/"; @@ -112,48 +188,38 @@ int subu_mk_0(char *subuname){ subuland = (char *)malloc( masteru_home_len + subuland_extension_len + 1 ); strcpy(subuland, masteru_home); strcpy(subuland + masteru_home_len, subuland_extension); - subuland_len = masteru_home_len + subuland_extension_len; - } - #ifdef DEBUG - dbprintf("masteru_home: \"%s\"\n", masteru_home); - dbprintf("The path to subuland: \"%s\".\n", subuland); - #endif - - //-------------------------------------------------------------------------------- - // the path for the subu home directory, which is $(masteru_home)/subuland/subuname - char *subuhome; - size_t subuhome_len; - { #ifdef DEBUG - dbprintf("making the path for subuhome\n"); + dbprintf("subuland \"%s\"\n", subuland); #endif + subuland_len = masteru_home_len + subuland_extension_len; subuhome_len = subuland_len + subuname_len; subuhome = (char *)malloc(subuhome_len + 1); if( !subuhome ){ perror(perror_src); free(subuland); + sqlite3_close(db); return ERR_MALLOC; } strcpy (subuhome, subuland); strcpy (subuhome + subuland_len, subuname); + #ifdef DEBUG + dbprintf("subuhome \"%s\"\n", subuhome); + #endif } - #ifdef DEBUG - dbprintf("subuhome: \"%s\"\n", subuhome); - #endif //-------------------------------------------------------------------------------- - // as masteru, create the subuhome directory - // if subuland does not exist, or if masteru doesn't have permissions, this will fail - // + // By having masteru create the subuhome, we know that masteru has rights to + // to access this directory. This will be the mount point for bindfs { #ifdef DEBUG - dbprintf("making subuhome\n"); + dbprintf("as masteru, making the directory \"%s\"\n", subuhome); #endif struct stat st; if( stat(subuhome, &st) != -1 ){ - fprintf(stderr, "an file system object already exists at the subu home directory path\n"); + fprintf(stderr, "error exit, a file system object already exists at subuhome\n"); free(subuland); free(subuhome); + sqlite3_close(db); return ERR_MK_SUBUHOME; } int ret = dispatch_f_euid_egid @@ -165,27 +231,28 @@ int subu_mk_0(char *subuname){ masteru_gid ); if( ret == -1 ){ + fprintf(stderr, "error exit, masteru could not make \"%s\"\n", subuhome); free(subuland); free(subuhome); + sqlite3_close(db); return ERR_FAILED_MKDIR_SUBU; } } #ifdef DEBUG - dbprintf("made directory \"%s\"\n", subuhome); + dbprintf("masteru made directory \"%s\"\n", subuhome); #endif + //-------------------------------------------------------------------------------- + #ifdef DEBUG + dbprintf("synthesize the subu user name\n"); + #endif + char *subu_username; + { + } + /*-------------------------------------------------------------------------------- Make the subservient user, i.e. the subu - Ok to specify the new home directory in useradd, because it doesn't make it. - From the man page: - - -d, --home-dir HOME_DIR The new user will be created using HOME_DIR - as the value for the user's login directory. ... The directory HOME_DIR - does not have to exist but will not be created if it is missing. - - Actually Fedora 29's 'useradd' is making the directory even when -d is specified. - Adding the -M option suppresses it. */ { #ifdef DEBUG @@ -199,6 +266,7 @@ int subu_mk_0(char *subuname){ perror(perror_src); free(subuland); free(subuhome); + sqlite3_close(db); return ERR_BUG_SSS; } #endif @@ -215,9 +283,10 @@ int subu_mk_0(char *subuname){ struct dispatch_useradd_ret_t ret; ret = dispatch_useradd(argv, envp); if(ret.error){ - fprintf(stderr, "%u useradd failed\n", ret.error); + fprintf(stderr, "error exit, %u useradd failed\n", ret.error); free(subuland); free(subuhome); + sqlite3_close(db); return ERR_FAILED_USERADD; } #ifdef DEBUG @@ -225,45 +294,83 @@ int subu_mk_0(char *subuname){ #endif } - //-------------------------------------------------------------------------------- + /*-------------------------------------------------------------------------------- + At this point we have a subservient user, a subu, and we have a home directory for + the subu. However, the home directory is owned by masteru. We will now: + 1. set default acls on the subuhome so that masteru can access everything + in it. Currently masteru owns subuhome, but we will change that subu. We + do this first so that there can not be race from a subu user to create a + filesystem object that masteru can't access. + 2. x acls set on subuland and master u so that subu can reach subuhome, e.g. + when logging in. + 3. ownerhips of subuhome changed to subu + + 1. setfacl -m d:u:masteru_name:rwX,u:masteru_name:rwX subuhome + 2. setfacl -m u:subuname:x subuland + setfacl -m u:subuname:x masteru_home + + */ { #ifdef DEBUG - dbprintf("give subu x access to masteru home and subuland, and give it rwx to its home\n"); + dbprintf("setting access rights an subuhome ownerhip\n"); #endif + // create a buffer to hold the longest access string we will find in this section + uint max_name_len = subuname_len > masteru_name_len ? subuname_len : masteru_name_len; + uint max_access_len = + strlen("d:u:") + + max_name_len + + strlen("rwX,u:") + + masteru_name_len + + strlen("rwX") + + 1; + char access[max_access_len]; + // 1. acls for subuhome char *command = "/usr/bin/setfacl"; - char access[strlen("u:") + subuname_len + strlen(":x") + 1 + strlen("rw")]; - strcpy(access, "u:"); - strcpy(access + 2, subuname); - strcpy(access + 2 + subuname_len, ":x"); + strcpy(access, "d:u:"); + strcpy(access + strlen("d:u:"), masteru_name); + strcpy(access + strlen("d:u:") + masteru_name_len, ":rwX,u:"); + strcpy(access + strlen("d:u:") + masteru_name_len + strlen(":rwX,u:"), masteru_name); + strcpy(access + strlen("d:u:") + 2 * masteru_name_len + strlen(":rwX,u:"), ":rwX"); char *argv[5]; argv[0] = command; argv[1] = "-m"; argv[2] = access; - argv[3] = masteru_home; + argv[3] = subuhome; argv[4] = (char *) NULL; char *envp[1]; envp[0] = (char *) NULL; if( dispatch_exec(argv, envp) == -1 ){ - fprintf(stderr, "'setfacl -m u:%s:x %s' returned an error.\n", subuname, masteru_home); + fprintf(stderr, "error exit, while setting acls for subuhome, \"%s\" \n", subuhome); free(subuland); free(subuhome); + sqlite3_close(db); return ERR_SETFACL; } + // 2.1 x acls on subuland + // setfacl -m u:subuname:x subuland + strcpy(access, "u:"); + strcpy(access + strlen("u:"), subuname); + strcpy(access + strlen("u:") + subuname_len, ":x"); argv[3] = subuland; if( dispatch_exec(argv, envp) == -1 ){ - fprintf(stderr, "'setfacl -m u:%s:x %s' returned an error.\n", subuname, subuland); + fprintf(stderr, "error exit, failed to give subuname x acl on subuland.\n"); free(subuland); free(subuhome); + sqlite3_close(db); return ERR_SETFACL; } - strcpy(access + 2 + subuname_len, ":rwx"); - argv[3] = subuhome; + // 2.2 x acls on masteru_home + // setfacl -m u:subuname:x masteru_home + argv[3] = masteru_home; if( dispatch_exec(argv, envp) == -1 ){ - fprintf(stderr, "'setfacl -m u:%s:rwx %s' returned an error.\n", subuname, subuhome); + fprintf(stderr, "error exit, failed to give subuname x acl on masteru_home.\n"); free(subuland); free(subuhome); + sqlite3_close(db); return ERR_SETFACL; } + // 3. give subu ownership of subuhome + #ifdef DEBUG dbprintf("subu can now cd to subuhome\n"); #endif @@ -298,6 +405,7 @@ int subu_mk_0(char *subuname){ ); free(subuland); free(subuhome); + sqlite3_close(db); return ERR_SETFACL; } #ifdef DEBUG @@ -310,5 +418,6 @@ int subu_mk_0(char *subuname){ #endif free(subuland); free(subuhome); + sqlite3_close(db); return 0; } diff --git a/src/subu-number.cli.c b/src/subu-number.cli.c new file mode 100644 index 0000000..cb9d32b --- /dev/null +++ b/src/subu-number.cli.c @@ -0,0 +1,25 @@ +/* +This command optionally sets the subu number in the config file, and prints its value. + +Currently it doesn't do the setting part. + +*/ +#include "subu-number.cli.h" +#include + +int main(){ + int ret; + sqlite3 *db; + ret = sqlite3_open(config_file, &db); + if( ret != SQLITE_OK ){ + fprintf(stderr, "error exit, could not build schema\n"); + return ERR_CONFIG_FILE; + } + uint subu_number; + ret = subu_number(db, subu_number); + if( sqlite3_close(db) != SQLITE_OK ){ + fprintf(stderr, "error exit, strange, we could not close the db\n"); + return ERR_CONFIG_FILE; + } + return 0; +} diff --git a/src/subu_init b/src/subu_init new file mode 100755 index 0000000000000000000000000000000000000000..91cc8fa2fe74d7343c6638a772fadc58a7129bab GIT binary patch literal 23656 zcmeHPeRNdEb)S8^Z}+Vvo+KndKx`hiu?4nP5@0NUU{-+Oi3m_YwjqxFSnWPZ8>C%j zKd|sQj)^foUK3o1KTn&q#BF*wZB9bd#7CixgAFmxXK`95GG-FJ{aNi;RNOex_hSeOzTo%H1sGB-|nS zhl}J0CAk_YS0niqJS!ccpzwy!E${V&l@cc^s??(>&;$`Da@4sL8#KGJn#9M(M>EP`W z6>}9tzy9a@)sO^Mnzn#6vy{xNY3NPU(6>)R-!lz8F%7*IbPK=YbOQ)e+1Wo0eFx~Z ztby$ahmm7UjW>q=NWX6|o^h8^C$uof=^siaoOC9V$~X>_WsW=IM)OE=*iGb-=wLGK zlA0(fSi#bnRCIVZfkEQR#N1Sh_1%?16;MumQu$CMj`GBCDxS#nvGrY@tJgS7LrX)~ zl6|7jHNc4+(LMNQ1FCVDofi)hca92?F02Z3NPS;8t}hnQ1Dr!#ls_n@(D+cPLHdb! z#SjuDRsmgDCg_a?bQ+&3wG`0RT&1$M0=f)!TqImT&-W2Z>;gI(Tux;Vls!=PK-mLj z50pJn_CVPKf94+eMfIg`+IxRw*!%VK%~&q(JD$8Yj4C#;^S@$m5I7;aa^Q zj2z(uRCfOCIMSkT5l&0p^QSrfb;32mk8}J>gwxXY{85fSM>s8M&mZRaF~Vsnd;TED zKSek#!O!mjPWH9_xHI?Sop$cK_TF7VK(7cix8@?cB4+TEX-T_0Q)UAT#z?U>hYzpZ_~_iaok!OGkT8ht*>r zYhT^fVQq}0?cBaF%I(}^Hi6NMn{u{hd$abj#-T`>FmQAWj%}PH5gBr=o{nwyv7T$J zG+2pahu|0x9ND2>H)VC&$2Lh8a10BM5zgUAC3dc3_FxAiQ(vF}vJ2dz>Q-|6m# zaE%ad5W<~_Oyf?_kC7RuVHY?o!O_S$B7<4i>fF==dJ71r_O;=<_(oFSxoK<1mL6f- zW((TM`m@~akBt!+g?8)K_O4s(V;x%?t*eG2BjC6oI4*JyhqpQbA5lB6x(0f4`J_{8-zwf`0WA*`A#i_CX{0%zpx&0ll9C(KYGBKi4$DRY(b7t>x&x0K=S3lkH zvR(ZQ=H+W1J9o=zp3gmYlvq#g8zqG_6o@1D*kM6EGC@6ljJCa8*mL@`lt0G#|L14+ z&f_)q;*%I)_TJ;Lx#I*Z45>`_q?6^=Ggas zUBbnPi?_`7oEGe|bzI_~NaBDTYp2G(PH64~D57gmjU6Y7=LEM1c5r^r85jy5JSSao z9DY718vLYeaA)ph`{$^AZ@<-}sACkZ7UQ0`x=yqQ)Vzf)++b?8G?6#swKriU+|#w+ zEoAnBxij~LJnyNopMkNy&UjQfsfXQ3e%pHb2ugAIswix3SmOE3Ts z4K7EShz8vh4GutT6ytOJhc}QUS@mA7i3_cgLKMw}&zny)J{vO?ahj2i1MW~na2E36$S;!UcdxPTa;*s&em-br23#xF zTfsc@y*JWXG@YxB{B(T$LBNZEI{+ImjE`pkzXNy_u=1DV<7WVm0A2)acw>A#EDz)8 z9GH^l?k&tSQsbFl6)+B>j5bAdzdL!}J#5vy8<#A*;xZx=-ynWh!lou4GVNx~1KOGy{!I^i5BNT)@AZ4<`A|32 z`6zx@zdk+h*I| zz7)X4LzzYq^_LG9w>XD?18ce${r|tpzMLN z2g)8Od*IK<1AA)2ys_O9%575q*+qrh(j`^OHS+oC84`bCc9`eps`8r!K40S4%J4K# z;j*0eKa^DYFW(wZa@-pxAfDL zG=9bYNmTWxqox7AwO z(%RPA+H$ScxW$cGb|fR{P1i1-hIeUe3Ga%7Uun1W}3xjjqPZ@!H!=|KJTAOlZ=&WBs|B-+(@WIDRj zi4I261B}&8Dq9lmbB0sNj2q3wlL>0{>`CQU^QWJ;ZFAbU(iwK==1p5suI8k$cgecV zC|S3i@iXEgdjd2c^7jL{jSI;oEI-eM-Ts-N)q+aTmGdNch3zTa1&a66qv)mm0)L*C z{qd57Wq&UD!~KbIuKcKA$ruKYdaq^n@0bfJW}lX^dn!F=rThc(??VX>`j;NVq4Wg_ z|CIepR~B=~Waq3VpU)wlwb;6H-mTNZEuSdhk%Z$)rFfD!y_LayUTP4H>( z`r0_s5WEEA)ptEdtl*{4=DUF-jX`>T!gnJ_T7o^K;3kf=1wTc|N{)ns4zYzfVh6`b zbvsA8gY;&XZ#74@1>YjJwX;`(wj)SuD&M;LH9!V}j}u~ZtA~RR5nCrmGQn?C$%e`_ zz(|mu5%F!D*$uEKxRg|Hs=f`#eZdV>vf1baZEx^?Qt+LF!)tM zZl4oF$&gX;l~245sLr=khSXz)X%dIz`dc<>CB z^cq=!lT7M*iv28|A)wg9R863;r6rB3u4 z@5Pn#?n8$2)-m&S;>wwaI0x~WPof(CL!4s1O62__e+}q?c~vwBs>uB3@vCNme<2p* zNl*h{M%Mf}vCW@HrCIMUam$4}o=|4G6Z8oeC<@;&u`L-=KUs%eMbSr0Rr=W-*3V&9?Bd;PQU zq8Rfu8v8im$i05iSyUbGtOWw6>Nvhp;8Y#QuNF8}$MI%?lYWl-1WxK_^DuHK>}PXm z>~Pd~=qRdWPoPmgb{$NWQE3GT6qSm@*(boFiAbc0NaQtqG@EVwbmm_Ppoxg$--vvG zI$V2d5fvNM$=VwY??XPw^PS-cm!b}R8n#Mz>CSs+blj!4fHRv}e zR_ag8r~C{a8U3vWy{~IhWb`i!+z-Ia8HC8lXi{YK%gAU_Wc16(Xi{YK%gAU_Wc16( zXi{YK%gAW*X3NNEQe^bY$Y@ez^vlR-Qe^bY$Y@ez^vlR-Qe^b6o&79mJ4}j<{&n@I zfDD)v8T~f5df24M=`wM`>CPha79o(EFCPha7 zoxvLcj+zu&{7wbw88s;~`gd^Kj++!2{k;Z7jFZfu$QTIBT?kN3k&LxAk6q24Cyr-1}%7*rbHqbx3|Ivapl}$RKaWVYG#EX)Kj@|B6e-Qz0M}t!HMS28&B=HuIV{RNh#5ePw4IhWHh%vhrqd zz>sQWVTPm_a1c?5D{v(vVAOfMW@V+2_JDxD>=Vk`AY3t_9X_Z-=}ow)QRVS;))D`V zh0xOsK6812;HtUARJ{;Z*GRff)(LuT$g^s$s^zM=opscbaKq!P=aR;mI%cVAj@E!Z zAPD*P5uv`YDk97RVUoyfZWT)Ake#q%Dz{De$t(QiQ;pKeaKG?Sps+GwzcJwwQXW)J zshIF{rSfxCY4c|k`y4T2qJiY|>WK>AK;_}upF&Iy0q*zfEm?_|rFJyBOriWNiQ)>e6ERXRGebIn!XqV5_ z^_Bg4mGMR0IIR7xr%rR~wZ1yN&ZyHbJEynbr>{DvcZYQ2Cf&PIH#X>At-nsMFt+Qp z$e%;5nR1q4>E1r5dAB|v*}3QRB{%7f$MoxN(v1vcHVK&;l7Vc+1|8W2;JoCV?!8H` zIHP;CE9*4s8(P6@>fV~vAAjnu6TKBr#51AjU|jZ9-jT43_h!CaI9l~3I#Bf` zx^8k`qT6I&QU}VuBz=?m5@JlRL{F(u*r5CO>H4_t-#D)88+kVccIo=Dck*n-E*+2T z_&nP+4bDP`FT>06$-X`(!<^2|4(`OnoZ(E0Ine?Bntc3j7e&nj$sxCSD47}_aI@)V z{<6YgBoX7e=5#8`ob*64mFdm)aW#NWZ-idYPbT^;e#s`%xW$88cC@onZ};zVQ)#*} zHNi%uPG20a@Fyn>auYES2P6IIymn5CW>ZcyIhY+vaC$TubECU5ESAjn4&tT%rom)%r)=I*<_w_`WMeYR-L%Z%Uo${IIj!WjWzJIN zy#o8l8>K;mI+T>lzNNubICxMO_eh#$$?N$Bq32a2d2c|=UGbRfkloDLm5IQ)%CERF zYprR$uJCr|l=oY$rlCwW;jZj=;lg+nXe1RKSSh~3VKw#l$9k=%%`L@UfG;-SD-HeJ z2Yi^WSY9|#`4FR4awqd4;S5J&*D@!Y$fn>qQmOQPi_iEq7oqZk}d`MGxf%1;xn% z_wst+eBJ|4O0hFPp`%PhYCdYw0DN5H_arYu_z^8!!sSH}J2@rY%g#+n_hF+rl^&g` z^NqqvyttdJ&Os*A18l1E1268$sB?$O{6VJ9FDBC~^5-0r>G%^Z?;%a5S21f!`i%U& z_{sbxQ}-Mv({YE-3Kx=i-iy2U>U%VWg}cz_?barA#HFO{%EVS5mmNv8hS+1)fs@|-!19t9=4*>Io?$D z9tK^*$%eWgt@xjk^qShRB60W`Nmu8Zs_@Imc-^EC8L)6m}yI{8`MTUYfaBwgJbR`luo_5k=jm@mIs7*?!# zIF+4`l76(S*bg7$dP?UD-4G%E;(7Nhr+3$+svT68VC;eJ!ylS3?pKiWRRWIG4oQggII@wbk zH|Q>1dDCkq^|0MC#$%*905|pQBIRC`BqFYCl4&qmXc`+Og z6Piz7BYuoSHGfsVykF`$TodNJ%~IkApp%|rKmQ!`TC`W)1i;pur?;dYwfcQT(!E$0 z(|Az(7j^zX_dKU+@1>yEYNh@A0_oRE|9&kY{sKFdJz|IVyZ0EOP;>r2IPqDsXe!eh zO0rNSkx2H&6OLG16ypx9aPmAjI?cqRSg~V?hh4`sbS?w+=}Z=Hsz({VisklWb%VFC zGebBuPA0JXbevey=^sq?Mh2Z2R<3C$k{!XaW@vcO&A749bxYf>o0gbs(@AFl`!(!}RQ2NXX?*dFt!2WY^>SgGXb3VVHYf&IB;(T8(`djA z$LV`&z3H_0oLcGXSMH|7r`L+D?Af?R_KH}VPcCPn^zI>SFaR?t0S8nLdl5G^%tCk{ z#0|Bt?rh3L`X$z%$cFeUB295j5W)uNVTe#{cLMqZ#GaOys4Zt9;-C!kC_(}d+(Giex10ezc-4~icF!r+7F$R z@>eKE35(^|f{xdC=!B6cwQn*I$0;d!_4g?s&qXoY1c<)^dHdD=szu5hYRsCuo)+P<5^;cn%>hh#Jk)vn7l)T!neND<^MZ}Y`U-2op6Q%SlnZnh+ zZcNHsLcGL&NoIE=L##?(?f>|J59qdJRP`6P|9&aITJovq;ku>3kpg*YOR@aJppj4V z&r`^C0~QNB74L9lvqT}TIs6LcEh%qF`8|0~k&$Gjp1)&ND6iHnhb7~pykV2&mD;~V zrchq(V_%RRH$yQ>SZx1cDX;vm)@95R0?K~^oA95)shsLp@@ijv#1b591;}5E>wg+0 zh4O0ue8CbTHB?xTRR1Z`ab$47!sh^|sr___WBL9T*o6H`&sR`D&+*9Vmfv3(Z&UsZ zWT}gkyxO;`@8q79_N#7G^{R33DrAX8$*b>uUXTk{#RnFil)QpJ0JTt_g~NieMSyMr z@>eCN;7?IfD6iK2-BNzK`jx_8B15{A{c3%^V;Xr&2};P1LXem2`BEjnEl&{{vXzp8 zUSueKtEBEzj7o*uRN#;d#p7=-H%cqh5 z=*>c4g_>B?$giG8{+nST@ZY~jp7!}IK6?MtU