AW: Get the "pass" password manager running on AIX

Willenbuecher, Sven / Kuehne + Nagel / Ham MI-GI sven.willenbuecher at Kuehne-Nagel.com
Wed Dec 29 07:12:20 UTC 2021


>The readme mentions http://software.frodo.looijaard.name/getopt/
>can you use that?
>The existing OpenBSD platform support indicates that the binary is called "gnugetopt" there, presumably to avoid a name clash.

It is the policy of the company that I am working  for to install either official IBM/AIX filesets or packages from the "AIX Toolbox for Linux Applications" repository (https://www.ibm.com/support/pages/aix-toolbox-linux-applications-downloads-alpha). Sorry but the answer to your question is no.

>This patch obsoletes parts of the first patch, it would be easier to read if MKDIR was never introduced

Yes a later commit (the one that introduces the VERBOSE_MODE macro variable) , obsoletes the introduction of the MKDIR macro variable. I have never worked with git patches before. Therefore I have created a patch per commit, knowing that later commits undo/revert things that I have implemented before.

>I'm not sure if this is safe, what if the input contains characters like $?
>I'd always quote unless the input is from a set of known-safe characters.

I don't understand what "safe" means. quote_lazy() applies strong quoting if the argument to be quoted contains either SPACES and/or SINGLE QUOTES. Interpolation of variables like $? will happen before quoting.

>You quote twice but eval only once. I don't think that works as intended (unless getopt performs shell expansions?).
>In practice, it probably works for args without ' or space because of the lazy_quote trick.

The following is an extract of https://linux.die.net/man/1/getopt

"Traditional implementations of getopt(1) are unable to cope with whitespace and other (shell-specific) special characters in arguments and non-option parameters. To solve this problem, this implementation can generate quoted output which must once again be interpreted by the shell (usually by using the eval command). This has the effect of preserving those characters, but you must call getopt in a way that is no longer compatible with other versions (the second or third format in the SYNOPSIS). To determine whether this enhanced version of getopt(1) is installed, a special test option (-T) can be used."

This should explain why quoting twice with only one eval is needed, if getopt is traditionally implemented. Here is a simplistic more concrete example

AIX getopt (traditional implementation)
getopt mef -e 'I am a cred with lots of spaces'
-e -- I am a cred with lots of spaces

 LINUX getopt
 getopt -o mef -- -e 'I am a cred with lots of spaces'
 -e -- 'I am a cred with lots of spaces'

>these should be in their respective patches.
>Perhaps squashing into a larger commit also works here.

As mentioned before git patches are new to me. Help on how to consolidate the 4 commits that I have made into one single net patch, would be very much appreciated.


Kühne + Nagel (AG & Co.) KG
Rechtsform: Kommanditgesellschaft, Bremen HRA 21928, USt-IdNr.: DE 812773878.
Geschäftsleitung Kühne + Nagel (AG & Co.) KG: Holger Ketz (Vors.), Simon Bitter, Martin Brinkmann, Lars-Olof Grün, Matthias Knicky, Axel Krichel, Johannes Trimborn, Lars Wedel.
Persönlich haftende Gesellschafterin: Kühne & Nagel A.G., Rechtsform: Aktiengesellschaft nach luxemburgischem Recht, HR-Nr.: B 18745, Geschäftsführendes Verwaltungsratsmitglied: Karl Gernandt.
Geschäftsleitung Region Europa: Dr. Hansjörg Rodi (Vors.), Ants Anupold, Dominic Edmonds, Thierry Held, Uwe Hött, Richard Huhn, Jan-Hendrik Köstergarten, André Schiffer, Heiko Schuhmacher.

Wir arbeiten ausschließlich auf Grundlage der Allgemeinen Deutschen Spediteurbedingungen 2017 (ADSp 2017). Hinweis: Die ADSp 2017 weichen in Ziffer 23 hinsichtlich des Haftungshöchstbetrages für Güterschäden (§ 431 HGB) vom Gesetz ab, indem sie die Haftung bei multimodalen Transporten unter Einschluss einer Seebeförderung und bei unbekanntem Schadenort auf 2 SZR/kg und im Übrigen die Regelhaftung von 8,33 SZR/kg zusätzlich auf 1,25 Millionen Euro je Schadenfall sowie 2,5 Millionen Euro je Schadenereignis, mindestens aber 2 SZR/kg, beschränken. Die ADSp sind auf unserer Webseite als Download erhältlich. Auf Anfrage senden wir Ihnen diese auch gerne zu.


More information about the Password-Store mailing list