From: Chris Koeritz Date: Wed, 3 Jun 2020 23:18:49 +0000 (-0400) Subject: Merge branch 'release-2.140.122' X-Git-Tag: 2.140.122^0 X-Git-Url: https://feistymeow.org/gitweb/?p=feisty_meow.git;a=commitdiff_plain;h=95d216b2381107474bea0a65a915936a5402df0f;hp=dc903ac28b7e84ef4a501d36192af485dd975cfd Merge branch 'release-2.140.122' --- diff --git a/infobase/configuration/ssh/mods_for_etc_sshd_config.txt b/infobase/configuration/ssh/mods_for_etc_sshd_config.txt new file mode 100644 index 00000000..322fdbac --- /dev/null +++ b/infobase/configuration/ssh/mods_for_etc_sshd_config.txt @@ -0,0 +1,17 @@ + +to increase security on an sshd server, and assuming you have +registered your ssh keys ahead of time in authorized_keys, then +this bit goes in /etc/sshd_config (at the end works fine): + +############## + +# fred mods 2019-02-19: +# trying to keep intruders out... this disables password logins. +# also of course disables root logins, which should already have been done. +PermitRootLogin no +ChallengeResponseAuthentication no +PasswordAuthentication no +UsePAM no + +############## + diff --git a/infobase/fortunes.dat b/infobase/fortunes.dat index ab0d4fd8..15e635f3 100644 --- a/infobase/fortunes.dat +++ b/infobase/fortunes.dat @@ -43885,3 +43885,18 @@ it will lead you home. -- from "The First Free Women: Poems of the Early Buddhist Nuns", by Matty Weingast +~ +If we are honest with ourselves, we know from our own experience that the more +we try to find solutions to our problems through thinking about them, the more +we start going around in circles, sometimes interminably. Buddhism counsels +us to resist being abused by our conflicting emotions and to let go of +excessive thinking. Emotions can be expressed in an unhealthy, self- +destructive manner or in a healthy and constructive fashion. Similarly, we +can think in a self-destructive, confused way, which reinforces our negative +habits, or we can think in a constructive way. Buddhism emphasizes that +overindulgence in conflicting emotions and distorted forms of thinking only +reinforces our old habits, which solidifies our karmic tendencies even +further. + -- Traleg Kyabgon, from "Mind at Ease: Self-Liberation through Mahamudra + Meditation", published by Shambhala Publications + diff --git a/production/feisty_meow_config.ini b/production/feisty_meow_config.ini index 838846f2..a780a635 100644 --- a/production/feisty_meow_config.ini +++ b/production/feisty_meow_config.ini @@ -3,7 +3,7 @@ # specifies the version of the code that is being constructed here. major=2 minor=140 -revision=121 +revision=122 build=420 # specifies the remainder of the version record info. diff --git a/scripts/archival/compare_backup_drive.sh b/scripts/archival/compare_backup_drive.sh index 501bfc97..4f36ceb4 100644 --- a/scripts/archival/compare_backup_drive.sh +++ b/scripts/archival/compare_backup_drive.sh @@ -22,7 +22,7 @@ echo would do-- compare_dirs "$target/$(basename $currdir)" "$currdir" # decide which drive to compare. targets="$1" if [ -z "$targets" ]; then - targets=($($(which ls) -1 /media/$USER/*)) + targets=($($(whichable ls) -1 /media/$USER/*)) if [ ${#targets[@]} -gt 1 ]; then echo " Please provide a media drive name on the command line, because more than diff --git a/scripts/archival/list_arch.sh b/scripts/archival/list_arch.sh index 2d5b6b1b..82e6fb7e 100644 --- a/scripts/archival/list_arch.sh +++ b/scripts/archival/list_arch.sh @@ -13,6 +13,8 @@ # An arbitrary format archive lister, although really we are mainly supporting # tar and zip currently, including compressed formats. +source "$FEISTY_MEOW_SCRIPTS/core/launch_feisty_meow.sh" + archive_file="$1"; shift if [ -z "$archive_file" ]; then echo "This script takes one archive name (in .tar.gz, .zip, etc. formats) and" @@ -25,9 +27,9 @@ if [ ! -f "$archive_file" ]; then fi if [ -z "$PAGER" ]; then - PAGER=$(which less) + PAGER=$(whichable less) if [ -z "$PAGER" ]; then - PAGER=$(which more) + PAGER=$(whichable more) if [ -z "$PAGER" ]; then PAGER="cat" fi diff --git a/scripts/core/common.alias b/scripts/core/common.alias index e62e2e31..5143f048 100644 --- a/scripts/core/common.alias +++ b/scripts/core/common.alias @@ -14,7 +14,6 @@ ############## # make our functions available to the aliases. -#hmmm: should this be necessary? will it even work? source "$FEISTY_MEOW_SCRIPTS/core/functions.sh" ############## @@ -47,11 +46,11 @@ if [ "$OS" != "Windows_NT" ]; then if [ -n "$IS_DARWIN" ]; then # case for mac os x. define_yeti_alias exp='open' - elif [ ! -z "$(which dolphin 2>/dev/null)" ]; then + elif [ ! -z "$(whichable dolphin)" ]; then # we prefer dolphin if available. define_yeti_alias exp='screen -L -S dolphin-$RANDOM -d -m dolphin ' #--select - elif [ ! -z "$(which nautilus 2>/dev/null)" ]; then + elif [ ! -z "$(whichable nautilus)" ]; then # launch nautilus if available. define_yeti_alias exp='nautilus' else diff --git a/scripts/core/functions.sh b/scripts/core/functions.sh index 3a2151b1..44f6155d 100644 --- a/scripts/core/functions.sh +++ b/scripts/core/functions.sh @@ -33,6 +33,20 @@ if [ -z "$skip_all" ]; then date +"%Y$sep%m$sep%d$sep%H%M$sep%S" | tr -d '/\n/' } + # a wrapper for the which command that finds items on the path. some OSes + # do not provide which, so we want to not be spewing errors when that + # happens. + function whichable() + { + to_find="$1"; shift + local WHICHER="$(\which which 2>/dev/null)" + if [ $? -ne 0 ]; then + # there is no which command here. we produce nothing due to this. + echo + fi + echo $($WHICHER $to_find 2>/dev/null) + } + # makes a directory of the name specified and then tries to change the # current directory to that directory. function mcd() { @@ -412,13 +426,6 @@ if [ -z "$skip_all" ]; then # be relied on for ssh forwarding, even if the '-i' flag is passed to cause # a fresh shell (which normally doesn't get the launching user's environment # variables). - -##questioning our approach: we also ensure that -# # the feisty meow environment is recreated; normal subshells don't need -# # this, but when switching identity with sudo, it seems important. yet, -# # we also don't want to hose up their normal sudo actions, such as passing -# # along the current environment, should the user choose. - function sudo() { save_terminal_title @@ -426,41 +433,19 @@ if [ -z "$skip_all" ]; then # this can allow root to use our display to show X.org windows. if [ -z "$IMPORTED_XAUTH" -a ! -z "$DISPLAY" ]; then export IMPORTED_XAUTH="$(xauth list $DISPLAY | head -n 1 | awk '{print $3}')" + local REMOVE_IMP_XAUTH=true fi # launch sudo with just the variables we want to reach the other side. # we take an extra step to null out the PATH, since MacOS seems to want # to pass that even for a login shell (-i) somehow. PATH= /usr/bin/sudo --preserve-env=SSH_AUTH_SOCK,IMPORTED_XAUTH "$@" -#"SSH_AUTH_SOCK='$SSH_AUTH_SOCK'" "IMPORTED_XAUTH='$IMPORTED_XAUTH'" "$@" retval=$? - unset IMPORTED_XAUTH - restore_terminal_title - return $retval - -##potential boneyard: - # prep a simple command string here, rather than messing with arguments - # in the already complicated command below. i was seeing some really - # screwy behavior trying to expand $@ when embedded for the bash -c flag, - # but making the variable ahead of time gets rid of that. - cmd="/usr/bin/sudo --preserve-env=SSH_AUTH_SOCK,IMPORTED_XAUTH ""$@" - - # omit any variables that are either wrong for a different user or used - # to shield the feisty meow scripts from reconfiguring. when we do the - # sudo, we want a fresh start for feisty meow at least. - # our approach to launching sudo is further complicated by our sentinel - # alias, which normally is passed to any subshells (to prevent recreating - # aliases). we turn off the expand_aliases shell option to avoid passing - # the sentinel, which ensures aliases do get recreated for the new user. - BUILD_VARS_LOADED= \ - CORE_VARIABLES_LOADED= \ - FEISTY_MEOW_SCRIPTS_LOADED= \ - function_sentinel= \ - MAIL= \ - HOME= \ - bash +O expand_aliases -c "$cmd" - retval=$? + # take the xauth info away again if it wasn't set already. + if [ ! -z "$REMOVE_IMP_XAUTH" ]; then + unset IMPORTED_XAUTH + fi restore_terminal_title return $retval } @@ -475,7 +460,7 @@ if [ -z "$skip_all" ]; then # overlay for nechung binary so that we can complain less grossly about it when it's missing. function nechung() { - local wheres_nechung=$(which nechung 2>/dev/null) + local wheres_nechung=$(whichable nechung) if [ -z "$wheres_nechung" ]; then echo "The nechung oracle program cannot be found. You may want to consider" echo "rebuilding the feisty meow applications with this command:" @@ -591,20 +576,6 @@ automatic if there is even a small amount of doubt about the issue." echo } - # a wrapper for the which command that finds items on the path. some OSes - # do not provide which, so we want to not be spewing errors when that - # happens. - function whichable() - { - to_find="$1"; shift - which which &>/dev/null - if [ $? -ne 0 ]; then - # there is no which command here. we produce nothing due to this. - echo - fi - echo $(which $to_find) - } - function add_cygwin_drive_mounts() { for i in c d e f g h q z ; do #hmmm: improve this by not adding the link if already there, or if the drive is not valid. @@ -860,7 +831,7 @@ return 0 this_host=$(hostname) elif [ ! -z "$(echo $MACHTYPE | grep suse)" ]; then this_host=$(hostname --long) - elif [ -x "$(which hostname 2>/dev/null)" ]; then + elif [ -x "$(whichable hostname)" ]; then this_host=$(hostname) fi echo "$this_host" diff --git a/scripts/core/variables.sh b/scripts/core/variables.sh index 8c21424f..9e3d1312 100644 --- a/scripts/core/variables.sh +++ b/scripts/core/variables.sh @@ -250,7 +250,7 @@ define_yeti_variable DEFAULT_FEISTYMEOW_ORG_DIR=/opt/feistymeow.org # initializes the feisty meow build variables, if possible. function initialize_build_variables() { - found_build_vars=0 + local found_build_vars=nope # we need to know the feisty meow directory, or we bail. if [ -z "$FEISTY_MEOW_APEX" ]; then return; fi # pick from our expected generator folder, but make sure it's there... @@ -258,10 +258,10 @@ define_yeti_variable DEFAULT_FEISTYMEOW_ORG_DIR=/opt/feistymeow.org if [ -f "$buildvars" ]; then # yep, that one looks good, so pull in the build defs. source "$buildvars" "$buildvars" - found_build_vars=1 + found_build_vars=true fi # now augment the environment if we found our build variables. - if [ $found_build_vars == 1 ]; then + if [ $found_build_vars == true ]; then # the binary directory contains our collection of handy programs. define_yeti_variable FEISTY_MEOW_BINARIES=$TARGETS_STORE # add binaries created within build to the path. @@ -331,20 +331,20 @@ export EDITOR # going to work well unless they can be prevented from forking the process # off. if [ -z "$EDITOR" ]; then - EDITOR="$(which gvim)" + EDITOR="$(whichable gvim)" if [ ! -z "$EDITOR" ]; then # if we found gvim, then add in the no forking flag. EDITOR+=" --nofork" fi fi if [ -z "$EDITOR" ]; then - EDITOR="$(which vim)" + EDITOR="$(whichable vim)" fi if [ -z "$EDITOR" ]; then - EDITOR="$(which vi)" + EDITOR="$(whichable vi)" fi if [ -z "$EDITOR" ]; then - EDITOR="$(which emacs)" + EDITOR="$(whichable emacs)" fi #### # out of ideas about editors at this point. diff --git a/scripts/customize/fred/java_profile.sh b/scripts/customize/fred/java_profile.sh index 99027e6f..b8e71a33 100644 --- a/scripts/customize/fred/java_profile.sh +++ b/scripts/customize/fred/java_profile.sh @@ -65,7 +65,7 @@ fi if [ ! -d "$JAVA_HOME" ]; then unset JAVA_HOME unset JAVA_BIN_PIECE - if [ -z "$(whichable java 2>/dev/null)" ]; then + if [ -z "$(whichable java)" ]; then intuition_failure JAVA_HOME fi fi @@ -104,7 +104,7 @@ else ECLIPSE_DIR=$(echo $ECLIPSE_DIR | sed -e 's/^\(.\):/\/cygdrive\/\1/') fi fi -if [ -z "$ECLIPSE_DIR" -a -z "$(whichable eclipse 2>/dev/null)" ]; then +if [ -z "$ECLIPSE_DIR" -a -z "$(whichable eclipse)" ]; then intuition_failure ECLIPSE_DIR fi diff --git a/scripts/generator/build_variables.sh b/scripts/generator/build_variables.sh index 8c324acc..3031d317 100644 --- a/scripts/generator/build_variables.sh +++ b/scripts/generator/build_variables.sh @@ -1,3 +1,5 @@ +#!/bin/bash + ############## # # Name : build variable calculator diff --git a/scripts/rev_control/version_control.sh b/scripts/rev_control/version_control.sh index 5342ef2c..703e003d 100644 --- a/scripts/rev_control/version_control.sh +++ b/scripts/rev_control/version_control.sh @@ -15,8 +15,8 @@ source "$FEISTY_MEOW_SCRIPTS/tty/terminal_titler.sh" export MAX_DEPTH=5 # use our splitter tool for lengthy output if it's available. -if [ ! -z "$(which splitter 2>/dev/null)" ]; then - TO_SPLITTER="$(which splitter)" +if [ ! -z "$(whichable splitter)" ]; then + TO_SPLITTER="$(whichable splitter)" # calculate the number of columsn in the terminal. cols=$(get_maxcols) TO_SPLITTER+=" --maxcol $(($cols - 1))" diff --git a/scripts/schedule/generate_reminders.pl b/scripts/schedule/generate_reminders.pl index 0769ddf8..3e1351a2 100644 --- a/scripts/schedule/generate_reminders.pl +++ b/scripts/schedule/generate_reminders.pl @@ -21,10 +21,12 @@ # # Apr 24 Saint Shanty's Day # Jul 8 Normality Day +# Oct 24 1985 Saint Splivven's Day # # Month names must currently be three letters and must be capitalized. -# The day must be a number, followed by a space. Anything after that -# space is considered the description of the event. +# The day must be a number, followed by a space. An optional 4 digit +# year can be included. Anything after that is considered to be the +# description of the event. use Env qw(CLOUD_BASE TMP); diff --git a/scripts/system/list_packages.sh b/scripts/system/list_packages.sh index 60024c75..0a52aa64 100644 --- a/scripts/system/list_packages.sh +++ b/scripts/system/list_packages.sh @@ -16,14 +16,14 @@ if debian_like; then exit $? fi -rpm_available="$(which rpm)" +rpm_available="$(whichable rpm)" if [ ! -z "$rpm_available" ]; then #is that the right phrase for rpm? somewhat forgotten. rpm -qa | eval $SEEK_PIECE exit $? fi -yum_available="$(which yum)" +yum_available="$(whichable yum)" if [ ! -z "$yum_available" ]; then yum list | eval $SEEK_PIECE exit $?