diff --git a/docs/GamUpdates.md b/docs/GamUpdates.md index 6fbe545c..26b9c489 100644 --- a/docs/GamUpdates.md +++ b/docs/GamUpdates.md @@ -10,6 +10,10 @@ Add the `-s` option to the end of the above commands to suppress creating the `g See [Downloads-Installs](https://github.com/taers232c/GAMADV-XTD3/wiki/Downloads-Installs) for Windows or other options, including manual installation +### 6.79.10 + +Updated commands to handle a trap that occurs when oauth2service.json specifies a YubiKey but the YubiKey is not insertd. + ### 6.79.09 Added option `addcsvdata ` to `gam print teamdriveacls` that adds diff --git a/docs/How-to-Upgrade-from-Standard-GAM.md b/docs/How-to-Upgrade-from-Standard-GAM.md index f428f14b..01b921d1 100644 --- a/docs/How-to-Upgrade-from-Standard-GAM.md +++ b/docs/How-to-Upgrade-from-Standard-GAM.md @@ -251,7 +251,7 @@ writes the credentials into the file oauth2.txt. admin@server:/Users/admin$ rm -f /Users/admin/GAMConfig/oauth2.txt admin@server:/Users/admin$ gam version WARNING: Config File: /Users/admin/GAMConfig/gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: /Users/admin/GAMConfig/oauth2.txt, Not Found -GAMADV-XTD3 6.79.09 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource +GAMADV-XTD3 6.79.10 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource Ross Scroggs Python 3.12.4 64-bit final MacOS Sonoma 14.5 x86_64 @@ -923,7 +923,7 @@ writes the credentials into the file oauth2.txt. C:\>del C:\GAMConfig\oauth2.txt C:\>gam version WARNING: Config File: C:\GAMConfig\gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: C:\GAMConfig\oauth2.txt, Not Found -GAMADV-XTD3 6.79.09 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource +GAMADV-XTD3 6.79.10 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource Ross Scroggs Python 3.12.4 64-bit final Windows-10-10.0.17134 AMD64 diff --git a/docs/Users-Shared-Drives.md b/docs/Users-Shared-Drives.md index 4cd41e01..d5298384 100644 --- a/docs/Users-Shared-Drives.md +++ b/docs/Users-Shared-Drives.md @@ -392,7 +392,6 @@ When deleting permissions from JSON data, permissions with role `owner` true are These commands are used to display the ACLs on Shared Drives themselves, not the files/folders on the Shared Drives. ## Display Shared Drive access for specific Shared Drives -These commands must be issued by a user with Shared Drive permission role organizer. ``` gam show drivefileacls * [] [pmselect] @@ -421,7 +420,6 @@ The `quotechar ` option allows you to choose an alternate quote chara `quotechar` defaults to `gam.cfg/csv_output_quote_char`. When uploading CSV files to Google, double quote `"` should be used. ## Display Shared Drive access for selected Shared Drives -These commands must be issued by a user with Shared Drive permission role organizer. ``` gam show teamdriveacls adminaccess [teamdriveadminquery|query ] @@ -438,6 +436,10 @@ gam print teamdriveacls [todrive *] [oneitemperrow] [*|(fields )] [formatjson [quotechar ]] ``` +By default,only Shared Drives with `` as a member are displayed. To display all +Shared Drives in the workspace, `` should specify a super admin and the `adminaccess` +option shoud be used. + By default, all Shared Drives are displayed; use the following options to select a subset of Shared Drives: * `teamdriveadminquery|query ` - Use a query to select Shared Drives * `matchname ` - Retrieve Shared Drives with names that match a pattern. diff --git a/docs/Version-and-Help.md b/docs/Version-and-Help.md index 45310b4b..66e4353a 100644 --- a/docs/Version-and-Help.md +++ b/docs/Version-and-Help.md @@ -3,7 +3,7 @@ Print the current version of Gam with details ``` gam version -GAMADV-XTD3 6.79.09 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource +GAMADV-XTD3 6.79.10 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource Ross Scroggs Python 3.12.4 64-bit final MacOS Sonoma 14.5 x86_64 @@ -15,7 +15,7 @@ Time: 2023-06-02T21:10:00-07:00 Print the current version of Gam with details and time offset information ``` gam version timeoffset -GAMADV-XTD3 6.79.09 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource +GAMADV-XTD3 6.79.10 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource Ross Scroggs Python 3.12.4 64-bit final MacOS Sonoma 14.5 x86_64 @@ -27,7 +27,7 @@ Your system time differs from www.googleapis.com by less than 1 second Print the current version of Gam with extended details and SSL information ``` gam version extended -GAMADV-XTD3 6.79.09 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource +GAMADV-XTD3 6.79.10 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource Ross Scroggs Python 3.12.4 64-bit final MacOS Sonoma 14.5 x86_64 @@ -64,7 +64,7 @@ MacOS High Sierra 10.13.6 x86_64 Path: /Users/Admin/bin/gamadv-xtd3 Version Check: Current: 5.35.08 - Latest: 6.79.09 + Latest: 6.79.10 echo $? 1 ``` @@ -72,7 +72,7 @@ echo $? Print the current version number without details ``` gam version simple -6.79.09 +6.79.10 ``` In Linux/MacOS you can do: ``` @@ -82,7 +82,7 @@ echo $VER Print the current version of Gam and address of this Wiki ``` gam help -GAM 6.79.09 - https://github.com/taers232c/GAMADV-XTD3 +GAM 6.79.10 - https://github.com/taers232c/GAMADV-XTD3 Ross Scroggs Python 3.12.4 64-bit final MacOS Sonoma 14.5 x86_64 diff --git a/src/GamUpdate.txt b/src/GamUpdate.txt index f03020db..2251d2f0 100644 --- a/src/GamUpdate.txt +++ b/src/GamUpdate.txt @@ -2,6 +2,10 @@ Merged GAM-Team version +6.79.10 + +Updated commands to handle a trap that occurs when oauth2service.json specifies a YubiKey but the YubiKey is not insertd. + 6.79.09 Added option `addcsvdata ` to `gam print teamdriveacls` that adds diff --git a/src/gam/gamlib/glmsgs.py b/src/gam/gamlib/glmsgs.py index 18d55f4a..e73d0734 100644 --- a/src/gam/gamlib/glmsgs.py +++ b/src/gam/gamlib/glmsgs.py @@ -320,6 +320,7 @@ IS_NOT_UNIQUE = 'Is not unique, {0}: {1}' IS_REQD_TO_CHG_PWD_NO_DELEGATION = 'Is required to change password at next login. You must change password or clear changepassword flag for delegation.' IS_SUSPENDED_NO_BACKUPCODES = 'User is suspended. You must unsuspend to process backupcodes' IS_SUSPENDED_NO_DELEGATION = 'Is suspended. You must unsuspend for delegation.' +IS_YUBIKEY_INSERTED = 'Is YubiKey inserted?' JSON_ERROR = 'JSON error "{0}" in file {1}' JSON_KEY_NOT_FOUND = 'JSON key "{0}" not found in file {1}' KIOSK_MODE_REQUIRED = ' This command ({0}) requires that the ChromeOS device be in Kiosk mode.' diff --git a/src/gam/gamlib/yubikey.py b/src/gam/gamlib/yubikey.py index aaa895e8..884fa7a9 100644 --- a/src/gam/gamlib/yubikey.py +++ b/src/gam/gamlib/yubikey.py @@ -112,6 +112,8 @@ class YubiKey(): return publicKeyData except ValueError as err: systemErrorExit(YUBIKEY_VALUE_ERROR_RC, f'YubiKey - {err}') + except TypeError as err: + systemErrorExit(YUBIKEY_NOT_FOUND_RC, f'YubiKey - {err} - {Msg.IS_YUBIKEY_INSERTED}') def get_serial_number(self): try: @@ -168,6 +170,8 @@ class YubiKey(): piv.put_object(OBJECT_ID.CHUID, generate_chuid()) except ValueError as err: systemErrorExit(YUBIKEY_VALUE_ERROR_RC, f'YubiKey - {err}') + except TypeError as err: + systemErrorExit(YUBIKEY_NOT_FOUND_RC, f'YubiKey - {err} - {Msg.IS_YUBIKEY_INSERTED}') def sign(self, message): if mplock is not None: @@ -191,6 +195,8 @@ class YubiKey(): systemErrorExit(YUBIKEY_APDU_ERROR_RC, f'YubiKey - {err}') except ValueError as err: systemErrorExit(YUBIKEY_VALUE_ERROR_RC, f'YubiKey - {err}') + except TypeError as err: + systemErrorExit(YUBIKEY_NOT_FOUND_RC, f'YubiKey - {err} - {Msg.IS_YUBIKEY_INSERTED}') if mplock is not None: mplock.release() return signed