gam7 7.6.4__tar.gz → 7.6.5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of gam7 might be problematic. Click here for more details.

Files changed (319) hide show
  1. {gam7-7.6.4 → gam7-7.6.5}/.github/workflows/build.yml +68 -128
  2. {gam7-7.6.4 → gam7-7.6.5}/PKG-INFO +1 -1
  3. {gam7-7.6.4 → gam7-7.6.5}/src/GamUpdate.txt +5 -0
  4. {gam7-7.6.4 → gam7-7.6.5}/src/gam/__init__.py +11 -9
  5. {gam7-7.6.4 → gam7-7.6.5}/wiki/GamUpdates.md +5 -0
  6. {gam7-7.6.4 → gam7-7.6.5}/wiki/How-to-Upgrade-Legacy-GAM-to-GAM7.md +3 -3
  7. {gam7-7.6.4 → gam7-7.6.5}/wiki/Shared-Drives.md +7 -0
  8. {gam7-7.6.4 → gam7-7.6.5}/wiki/Version-and-Help.md +10 -10
  9. {gam7-7.6.4 → gam7-7.6.5}/.github/ISSUE_TEMPLATE/aa-question.md +0 -0
  10. {gam7-7.6.4 → gam7-7.6.5}/.github/ISSUE_TEMPLATE/za-bug-report.md +0 -0
  11. {gam7-7.6.4 → gam7-7.6.5}/.github/ISSUE_TEMPLATE/zz-feature-request.md +0 -0
  12. {gam7-7.6.4 → gam7-7.6.5}/.github/ISSUE_TEMPLATE.txt +0 -0
  13. {gam7-7.6.4 → gam7-7.6.5}/.github/actions/creds.tar.xz.gpg +0 -0
  14. {gam7-7.6.4 → gam7-7.6.5}/.github/actions/decrypt.sh +0 -0
  15. {gam7-7.6.4 → gam7-7.6.5}/.github/actions/entitlements.plist +0 -0
  16. {gam7-7.6.4 → gam7-7.6.5}/.github/actions/package_exclusions.txt +0 -0
  17. {gam7-7.6.4 → gam7-7.6.5}/.github/stale.yml +0 -0
  18. {gam7-7.6.4 → gam7-7.6.5}/.github/workflows/codeql-analysis.yml +0 -0
  19. {gam7-7.6.4 → gam7-7.6.5}/.github/workflows/get-cacerts.yml +0 -0
  20. {gam7-7.6.4 → gam7-7.6.5}/.github/workflows/pushwiki.yml +0 -0
  21. {gam7-7.6.4 → gam7-7.6.5}/.github/workflows/pypi.yml +0 -0
  22. {gam7-7.6.4 → gam7-7.6.5}/.pre-commit-config.yaml +0 -0
  23. {gam7-7.6.4 → gam7-7.6.5}/LICENSE +0 -0
  24. {gam7-7.6.4 → gam7-7.6.5}/README.md +0 -0
  25. {gam7-7.6.4 → gam7-7.6.5}/pyproject.toml +0 -0
  26. {gam7-7.6.4 → gam7-7.6.5}/src/.gitignore +0 -0
  27. {gam7-7.6.4 → gam7-7.6.5}/src/GamCommands.txt +0 -0
  28. {gam7-7.6.4 → gam7-7.6.5}/src/LICENSE +0 -0
  29. {gam7-7.6.4 → gam7-7.6.5}/src/cacerts.pem +0 -0
  30. {gam7-7.6.4 → gam7-7.6.5}/src/callgam.py +0 -0
  31. {gam7-7.6.4 → gam7-7.6.5}/src/gam/__main__.py +0 -0
  32. {gam7-7.6.4 → gam7-7.6.5}/src/gam/atom/__init__.py +0 -0
  33. {gam7-7.6.4 → gam7-7.6.5}/src/gam/atom/auth.py +0 -0
  34. {gam7-7.6.4 → gam7-7.6.5}/src/gam/atom/client.py +0 -0
  35. {gam7-7.6.4 → gam7-7.6.5}/src/gam/atom/core.py +0 -0
  36. {gam7-7.6.4 → gam7-7.6.5}/src/gam/atom/data.py +0 -0
  37. {gam7-7.6.4 → gam7-7.6.5}/src/gam/atom/http.py +0 -0
  38. {gam7-7.6.4 → gam7-7.6.5}/src/gam/atom/http_core.py +0 -0
  39. {gam7-7.6.4 → gam7-7.6.5}/src/gam/atom/http_interface.py +0 -0
  40. {gam7-7.6.4 → gam7-7.6.5}/src/gam/atom/mock_http.py +0 -0
  41. {gam7-7.6.4 → gam7-7.6.5}/src/gam/atom/mock_http_core.py +0 -0
  42. {gam7-7.6.4 → gam7-7.6.5}/src/gam/atom/mock_service.py +0 -0
  43. {gam7-7.6.4 → gam7-7.6.5}/src/gam/atom/service.py +0 -0
  44. {gam7-7.6.4 → gam7-7.6.5}/src/gam/atom/token_store.py +0 -0
  45. {gam7-7.6.4 → gam7-7.6.5}/src/gam/atom/url.py +0 -0
  46. {gam7-7.6.4 → gam7-7.6.5}/src/gam/cacerts.pem +0 -0
  47. {gam7-7.6.4 → gam7-7.6.5}/src/gam/cbcm-v1.1beta1.json +0 -0
  48. {gam7-7.6.4 → gam7-7.6.5}/src/gam/contactdelegation-v1.json +0 -0
  49. {gam7-7.6.4 → gam7-7.6.5}/src/gam/datastudio-v1.json +0 -0
  50. {gam7-7.6.4 → gam7-7.6.5}/src/gam/gamlib/__init__.py +0 -0
  51. {gam7-7.6.4 → gam7-7.6.5}/src/gam/gamlib/glaction.py +0 -0
  52. {gam7-7.6.4 → gam7-7.6.5}/src/gam/gamlib/glapi.py +0 -0
  53. {gam7-7.6.4 → gam7-7.6.5}/src/gam/gamlib/glcfg.py +0 -0
  54. {gam7-7.6.4 → gam7-7.6.5}/src/gam/gamlib/glclargs.py +0 -0
  55. {gam7-7.6.4 → gam7-7.6.5}/src/gam/gamlib/glentity.py +0 -0
  56. {gam7-7.6.4 → gam7-7.6.5}/src/gam/gamlib/glgapi.py +0 -0
  57. {gam7-7.6.4 → gam7-7.6.5}/src/gam/gamlib/glgdata.py +0 -0
  58. {gam7-7.6.4 → gam7-7.6.5}/src/gam/gamlib/glglobals.py +0 -0
  59. {gam7-7.6.4 → gam7-7.6.5}/src/gam/gamlib/glindent.py +0 -0
  60. {gam7-7.6.4 → gam7-7.6.5}/src/gam/gamlib/glmsgs.py +0 -0
  61. {gam7-7.6.4 → gam7-7.6.5}/src/gam/gamlib/glskus.py +0 -0
  62. {gam7-7.6.4 → gam7-7.6.5}/src/gam/gamlib/gluprop.py +0 -0
  63. {gam7-7.6.4 → gam7-7.6.5}/src/gam/gamlib/glverlibs.py +0 -0
  64. {gam7-7.6.4 → gam7-7.6.5}/src/gam/gamlib/yubikey.py +0 -0
  65. {gam7-7.6.4 → gam7-7.6.5}/src/gam/gdata/__init__.py +0 -0
  66. {gam7-7.6.4 → gam7-7.6.5}/src/gam/gdata/alt/__init__.py +0 -0
  67. {gam7-7.6.4 → gam7-7.6.5}/src/gam/gdata/alt/app_engine.py +0 -0
  68. {gam7-7.6.4 → gam7-7.6.5}/src/gam/gdata/alt/appengine.py +0 -0
  69. {gam7-7.6.4 → gam7-7.6.5}/src/gam/gdata/apps/__init__.py +0 -0
  70. {gam7-7.6.4 → gam7-7.6.5}/src/gam/gdata/apps/audit/__init__.py +0 -0
  71. {gam7-7.6.4 → gam7-7.6.5}/src/gam/gdata/apps/audit/service.py +0 -0
  72. {gam7-7.6.4 → gam7-7.6.5}/src/gam/gdata/apps/contacts/__init__.py +0 -0
  73. {gam7-7.6.4 → gam7-7.6.5}/src/gam/gdata/apps/contacts/service.py +0 -0
  74. {gam7-7.6.4 → gam7-7.6.5}/src/gam/gdata/apps/service.py +0 -0
  75. {gam7-7.6.4 → gam7-7.6.5}/src/gam/gdata/service.py +0 -0
  76. {gam7-7.6.4 → gam7-7.6.5}/src/gam/gdata/urlfetch.py +0 -0
  77. {gam7-7.6.4 → gam7-7.6.5}/src/gam/googleapiclient/__init__.py +0 -0
  78. {gam7-7.6.4 → gam7-7.6.5}/src/gam/googleapiclient/_auth.py +0 -0
  79. {gam7-7.6.4 → gam7-7.6.5}/src/gam/googleapiclient/_helpers.py +0 -0
  80. {gam7-7.6.4 → gam7-7.6.5}/src/gam/googleapiclient/channel.py +0 -0
  81. {gam7-7.6.4 → gam7-7.6.5}/src/gam/googleapiclient/discovery.py +0 -0
  82. {gam7-7.6.4 → gam7-7.6.5}/src/gam/googleapiclient/discovery_cache/__init__.py +0 -0
  83. {gam7-7.6.4 → gam7-7.6.5}/src/gam/googleapiclient/discovery_cache/appengine_memcache.py +0 -0
  84. {gam7-7.6.4 → gam7-7.6.5}/src/gam/googleapiclient/discovery_cache/base.py +0 -0
  85. {gam7-7.6.4 → gam7-7.6.5}/src/gam/googleapiclient/discovery_cache/file_cache.py +0 -0
  86. {gam7-7.6.4 → gam7-7.6.5}/src/gam/googleapiclient/errors.py +0 -0
  87. {gam7-7.6.4 → gam7-7.6.5}/src/gam/googleapiclient/http.py +0 -0
  88. {gam7-7.6.4 → gam7-7.6.5}/src/gam/googleapiclient/mimeparse.py +0 -0
  89. {gam7-7.6.4 → gam7-7.6.5}/src/gam/googleapiclient/model.py +0 -0
  90. {gam7-7.6.4 → gam7-7.6.5}/src/gam/googleapiclient/schema.py +0 -0
  91. {gam7-7.6.4 → gam7-7.6.5}/src/gam/googleapiclient/version.py +0 -0
  92. {gam7-7.6.4 → gam7-7.6.5}/src/gam/iso8601/__init__.py +0 -0
  93. {gam7-7.6.4 → gam7-7.6.5}/src/gam/iso8601/iso8601.py +0 -0
  94. {gam7-7.6.4 → gam7-7.6.5}/src/gam/meet-v2beta.json +0 -0
  95. {gam7-7.6.4 → gam7-7.6.5}/src/gam/serviceaccountlookup-v1.json +0 -0
  96. {gam7-7.6.4 → gam7-7.6.5}/src/gam/six.py +0 -0
  97. {gam7-7.6.4 → gam7-7.6.5}/src/gam-install.sh +0 -0
  98. {gam7-7.6.4 → gam7-7.6.5}/src/gam-setup.bat +0 -0
  99. {gam7-7.6.4 → gam7-7.6.5}/src/gam.exe.manifest +0 -0
  100. {gam7-7.6.4 → gam7-7.6.5}/src/gam.py +0 -0
  101. {gam7-7.6.4 → gam7-7.6.5}/src/gam.spec +0 -0
  102. {gam7-7.6.4 → gam7-7.6.5}/src/gam.wxs +0 -0
  103. {gam7-7.6.4 → gam7-7.6.5}/src/license.rtf +0 -0
  104. {gam7-7.6.4 → gam7-7.6.5}/src/requirements-dev.txt +0 -0
  105. {gam7-7.6.4 → gam7-7.6.5}/src/requirements.txt +0 -0
  106. {gam7-7.6.4 → gam7-7.6.5}/src/setup.cfg +0 -0
  107. {gam7-7.6.4 → gam7-7.6.5}/src/setup.py +0 -0
  108. {gam7-7.6.4 → gam7-7.6.5}/src/tools/a_atleast_b.py +0 -0
  109. {gam7-7.6.4 → gam7-7.6.5}/src/tools/gen-wix-xml-filelist.py +0 -0
  110. {gam7-7.6.4 → gam7-7.6.5}/src/tools/mkGamRef.py +0 -0
  111. {gam7-7.6.4 → gam7-7.6.5}/src/tools/openssl.props +0 -0
  112. {gam7-7.6.4 → gam7-7.6.5}/src/version_info.txt.in +0 -0
  113. {gam7-7.6.4 → gam7-7.6.5}/wiki/00scratch.md +0 -0
  114. {gam7-7.6.4 → gam7-7.6.5}/wiki/Addresses.md +0 -0
  115. {gam7-7.6.4 → gam7-7.6.5}/wiki/Administrators.md +0 -0
  116. {gam7-7.6.4 → gam7-7.6.5}/wiki/Alert-Center.md +0 -0
  117. {gam7-7.6.4 → gam7-7.6.5}/wiki/Aliases.md +0 -0
  118. {gam7-7.6.4 → gam7-7.6.5}/wiki/Authorization.md +0 -0
  119. {gam7-7.6.4 → gam7-7.6.5}/wiki/BNF-Syntax.md +0 -0
  120. {gam7-7.6.4 → gam7-7.6.5}/wiki/Basic-Items.md +0 -0
  121. {gam7-7.6.4 → gam7-7.6.5}/wiki/Bulk-Processing.md +0 -0
  122. {gam7-7.6.4 → gam7-7.6.5}/wiki/CSV-Input-Filtering.md +0 -0
  123. {gam7-7.6.4 → gam7-7.6.5}/wiki/CSV-Output-Filtering.md +0 -0
  124. {gam7-7.6.4 → gam7-7.6.5}/wiki/CSV-Special-Characters.md +0 -0
  125. {gam7-7.6.4 → gam7-7.6.5}/wiki/Calendars-Access.md +0 -0
  126. {gam7-7.6.4 → gam7-7.6.5}/wiki/Calendars-Events.md +0 -0
  127. {gam7-7.6.4 → gam7-7.6.5}/wiki/Calendars.md +0 -0
  128. {gam7-7.6.4 → gam7-7.6.5}/wiki/Chat-Bot.md +0 -0
  129. {gam7-7.6.4 → gam7-7.6.5}/wiki/Chrome-AUE-Counts.md +0 -0
  130. {gam7-7.6.4 → gam7-7.6.5}/wiki/Chrome-Browser-Cloud-Management.md +0 -0
  131. {gam7-7.6.4 → gam7-7.6.5}/wiki/Chrome-Installed-Apps.md +0 -0
  132. {gam7-7.6.4 → gam7-7.6.5}/wiki/Chrome-Needs-Attention-Counts.md +0 -0
  133. {gam7-7.6.4 → gam7-7.6.5}/wiki/Chrome-Policies.md +0 -0
  134. {gam7-7.6.4 → gam7-7.6.5}/wiki/Chrome-Printers.md +0 -0
  135. {gam7-7.6.4 → gam7-7.6.5}/wiki/Chrome-Profile-Management.md +0 -0
  136. {gam7-7.6.4 → gam7-7.6.5}/wiki/Chrome-Version-Counts.md +0 -0
  137. {gam7-7.6.4 → gam7-7.6.5}/wiki/Chrome-Version-History.md +0 -0
  138. {gam7-7.6.4 → gam7-7.6.5}/wiki/ChromeOS-Devices.md +0 -0
  139. {gam7-7.6.4 → gam7-7.6.5}/wiki/Classroom-Courses.md +0 -0
  140. {gam7-7.6.4 → gam7-7.6.5}/wiki/Classroom-Guardians.md +0 -0
  141. {gam7-7.6.4 → gam7-7.6.5}/wiki/Classroom-Invitations.md +0 -0
  142. {gam7-7.6.4 → gam7-7.6.5}/wiki/Classroom-Membership.md +0 -0
  143. {gam7-7.6.4 → gam7-7.6.5}/wiki/Cloud-Channel.md +0 -0
  144. {gam7-7.6.4 → gam7-7.6.5}/wiki/Cloud-Identity-Devices.md +0 -0
  145. {gam7-7.6.4 → gam7-7.6.5}/wiki/Cloud-Identity-Groups-Membership.md +0 -0
  146. {gam7-7.6.4 → gam7-7.6.5}/wiki/Cloud-Identity-Groups.md +0 -0
  147. {gam7-7.6.4 → gam7-7.6.5}/wiki/Cloud-Identity-Policies.md +0 -0
  148. {gam7-7.6.4 → gam7-7.6.5}/wiki/Cloud-Storage.md +0 -0
  149. {gam7-7.6.4 → gam7-7.6.5}/wiki/Collections-of-ChromeOS-Devices.md +0 -0
  150. {gam7-7.6.4 → gam7-7.6.5}/wiki/Collections-of-Items.md +0 -0
  151. {gam7-7.6.4 → gam7-7.6.5}/wiki/Collections-of-Users.md +0 -0
  152. {gam7-7.6.4 → gam7-7.6.5}/wiki/Command-Data-From-Google-Docs-Sheets-Storage.md +0 -0
  153. {gam7-7.6.4 → gam7-7.6.5}/wiki/Command-Line-Parsing.md +0 -0
  154. {gam7-7.6.4 → gam7-7.6.5}/wiki/Command-Logging-Progress.md +0 -0
  155. {gam7-7.6.4 → gam7-7.6.5}/wiki/Context-Aware-Access-Levels.md +0 -0
  156. {gam7-7.6.4 → gam7-7.6.5}/wiki/Customer.md +0 -0
  157. {gam7-7.6.4 → gam7-7.6.5}/wiki/Domain-People-Contacts-Profiles.md +0 -0
  158. {gam7-7.6.4 → gam7-7.6.5}/wiki/Domain-SharedContacts-GAL.md +0 -0
  159. {gam7-7.6.4 → gam7-7.6.5}/wiki/Domains-Verification.md +0 -0
  160. {gam7-7.6.4 → gam7-7.6.5}/wiki/Domains.md +0 -0
  161. {gam7-7.6.4 → gam7-7.6.5}/wiki/Downloads-Installs.md +0 -0
  162. {gam7-7.6.4 → gam7-7.6.5}/wiki/Drive-File-Selection.md +0 -0
  163. {gam7-7.6.4 → gam7-7.6.5}/wiki/Drive-Items.md +0 -0
  164. {gam7-7.6.4 → gam7-7.6.5}/wiki/Drive-REST-API-v3.md +0 -0
  165. {gam7-7.6.4 → gam7-7.6.5}/wiki/Email-Audit-Monitor.md +0 -0
  166. {gam7-7.6.4 → gam7-7.6.5}/wiki/Find-File-Owner.md +0 -0
  167. {gam7-7.6.4 → gam7-7.6.5}/wiki/GAM-Public-Chat-Room.md +0 -0
  168. {gam7-7.6.4 → gam7-7.6.5}/wiki/GAM-Return-Codes.md +0 -0
  169. {gam7-7.6.4 → gam7-7.6.5}/wiki/GAM-with-minimal-GCP-rights.md +0 -0
  170. {gam7-7.6.4 → gam7-7.6.5}/wiki/GAM7-on-Android-Devices.md +0 -0
  171. {gam7-7.6.4 → gam7-7.6.5}/wiki/GAM7-on-Chrome-OS-Devices.md +0 -0
  172. {gam7-7.6.4 → gam7-7.6.5}/wiki/Google-Data-Transfers.md +0 -0
  173. {gam7-7.6.4 → gam7-7.6.5}/wiki/Google-Network-Addresses.md +0 -0
  174. {gam7-7.6.4 → gam7-7.6.5}/wiki/Groups-Membership.md +0 -0
  175. {gam7-7.6.4 → gam7-7.6.5}/wiki/Groups.md +0 -0
  176. {gam7-7.6.4 → gam7-7.6.5}/wiki/HTTPS-Proxy.md +0 -0
  177. {gam7-7.6.4 → gam7-7.6.5}/wiki/Home.md +0 -0
  178. {gam7-7.6.4 → gam7-7.6.5}/wiki/How-to-Install-GAM7.md +0 -0
  179. {gam7-7.6.4 → gam7-7.6.5}/wiki/How-to-Uninstall-GAM7.md +0 -0
  180. {gam7-7.6.4 → gam7-7.6.5}/wiki/How-to-Update-GAM7.md +0 -0
  181. {gam7-7.6.4 → gam7-7.6.5}/wiki/How-to-Upgrade-GAMADV-XTD3-to-GAM7.md +0 -0
  182. {gam7-7.6.4 → gam7-7.6.5}/wiki/Inbound-SSO.md +0 -0
  183. {gam7-7.6.4 → gam7-7.6.5}/wiki/Install-GAM-as-Python-Library.md +0 -0
  184. {gam7-7.6.4 → gam7-7.6.5}/wiki/Licenses.md +0 -0
  185. {gam7-7.6.4 → gam7-7.6.5}/wiki/List-Items.md +0 -0
  186. {gam7-7.6.4 → gam7-7.6.5}/wiki/List.md +0 -0
  187. {gam7-7.6.4 → gam7-7.6.5}/wiki/Meta-Commands-and-File-Redirection.md +0 -0
  188. {gam7-7.6.4 → gam7-7.6.5}/wiki/Mobile-Devices.md +0 -0
  189. {gam7-7.6.4 → gam7-7.6.5}/wiki/Organizational-Units.md +0 -0
  190. {gam7-7.6.4 → gam7-7.6.5}/wiki/Other-Resources.md +0 -0
  191. {gam7-7.6.4 → gam7-7.6.5}/wiki/Permission-Matches.md +0 -0
  192. {gam7-7.6.4 → gam7-7.6.5}/wiki/Python-Regular-Expressions.md +0 -0
  193. {gam7-7.6.4 → gam7-7.6.5}/wiki/README.md +0 -0
  194. {gam7-7.6.4 → gam7-7.6.5}/wiki/Rclone.md +0 -0
  195. {gam7-7.6.4 → gam7-7.6.5}/wiki/Reports.md +0 -0
  196. {gam7-7.6.4 → gam7-7.6.5}/wiki/Reseller.md +0 -0
  197. {gam7-7.6.4 → gam7-7.6.5}/wiki/Resources.md +0 -0
  198. {gam7-7.6.4 → gam7-7.6.5}/wiki/Running-GAM7-securely-on-a-Google-Compute-Engine.md +0 -0
  199. {gam7-7.6.4 → gam7-7.6.5}/wiki/SSL-Root-CA-Certificates.md +0 -0
  200. {gam7-7.6.4 → gam7-7.6.5}/wiki/Schemas.md +0 -0
  201. {gam7-7.6.4 → gam7-7.6.5}/wiki/Scripts.md +0 -0
  202. {gam7-7.6.4 → gam7-7.6.5}/wiki/Send-Email.md +0 -0
  203. {gam7-7.6.4 → gam7-7.6.5}/wiki/Sites.md +0 -0
  204. {gam7-7.6.4 → gam7-7.6.5}/wiki/Tag-Replace.md +0 -0
  205. {gam7-7.6.4 → gam7-7.6.5}/wiki/Todrive.md +0 -0
  206. {gam7-7.6.4 → gam7-7.6.5}/wiki/Unmanaged-Accounts.md +0 -0
  207. {gam7-7.6.4 → gam7-7.6.5}/wiki/Upgrade-Benefits.md +0 -0
  208. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Analytics-Admin.md +0 -0
  209. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Application-Specific-Passwords.md +0 -0
  210. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Backup-Verification-Codes.md +0 -0
  211. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Calendars-Access.md +0 -0
  212. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Calendars-Events.md +0 -0
  213. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Calendars.md +0 -0
  214. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Chat.md +0 -0
  215. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Classification-Labels.md +0 -0
  216. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Classroom-Profile.md +0 -0
  217. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Contacts-Delegates.md +0 -0
  218. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Contacts.md +0 -0
  219. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Deprovision.md +0 -0
  220. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Drive-Activity-Settings.md +0 -0
  221. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Drive-Cleanup.md +0 -0
  222. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Drive-Comments.md +0 -0
  223. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Drive-Copy-Move.md +0 -0
  224. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Drive-Files-Display.md +0 -0
  225. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Drive-Files-Manage.md +0 -0
  226. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Drive-Orphans.md +0 -0
  227. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Drive-Ownership.md +0 -0
  228. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Drive-Permissions.md +0 -0
  229. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Drive-Query.md +0 -0
  230. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Drive-Revisions.md +0 -0
  231. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Drive-Shortcuts.md +0 -0
  232. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Drive-Transfer.md +0 -0
  233. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Forms.md +0 -0
  234. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Gmail-CSE.md +0 -0
  235. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Gmail-Delegates.md +0 -0
  236. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Gmail-Filters.md +0 -0
  237. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Gmail-Forwarding.md +0 -0
  238. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Gmail-Labels.md +0 -0
  239. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Gmail-Messages-Threads.md +0 -0
  240. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Gmail-Profile.md +0 -0
  241. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Gmail-S-MIME.md +0 -0
  242. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Gmail-Send-As-Signature-Vacation.md +0 -0
  243. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Gmail-Settings.md +0 -0
  244. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Group-Membership.md +0 -0
  245. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Keep-Notes.md +0 -0
  246. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Looker-Studio.md +0 -0
  247. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Meet.md +0 -0
  248. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-People-Contacts-Profiles.md +0 -0
  249. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Photo.md +0 -0
  250. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Profile-Photo.md +0 -0
  251. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Profile-Sharing.md +0 -0
  252. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Shared-Drives.md +0 -0
  253. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Signout-Turnoff2SV.md +0 -0
  254. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Spreadsheets.md +0 -0
  255. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Tasks.md +0 -0
  256. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-Tokens.md +0 -0
  257. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users-YouTube.md +0 -0
  258. {gam7-7.6.4 → gam7-7.6.5}/wiki/Users.md +0 -0
  259. {gam7-7.6.4 → gam7-7.6.5}/wiki/Using-GAM7-with-a-YubiKey.md +0 -0
  260. {gam7-7.6.4 → gam7-7.6.5}/wiki/Using-GAM7-with-a-delegated-admin-service-account.md +0 -0
  261. {gam7-7.6.4 → gam7-7.6.5}/wiki/Vault-Takeout.md +0 -0
  262. {gam7-7.6.4 → gam7-7.6.5}/wiki/Verifying-a-GAM7-Build-is-Legitimate-and-Official.md +0 -0
  263. {gam7-7.6.4 → gam7-7.6.5}/wiki/_Sidebar.md +0 -0
  264. {gam7-7.6.4 → gam7-7.6.5}/wiki/gam.cfg.md +0 -0
  265. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-AdminSettingsExamples.md +0 -0
  266. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-Android-Installation.md +0 -0
  267. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-BulkOperations.md +0 -0
  268. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-CalendarExamples.md +0 -0
  269. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-Chat-Bot.md +0 -0
  270. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-Chrome-Browser-Management.md +0 -0
  271. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-Chrome-OS-Installation.md +0 -0
  272. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-Chrome-Policy-Settings.md +0 -0
  273. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-Cloud-Identity-Groups.md +0 -0
  274. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-Command-Reference-Calendar-Resources.md +0 -0
  275. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-Command-Reference-Calendars.md +0 -0
  276. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-Command-Reference-Definitions.md +0 -0
  277. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-Command-Reference-Drive.md +0 -0
  278. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-Command-Reference-Email.md +0 -0
  279. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-Command-Reference-Group-Attributes.md +0 -0
  280. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-Command-Reference-Groups.md +0 -0
  281. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-Command-Reference-Users.md +0 -0
  282. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-Context-Aware-Access-Levels.md +0 -0
  283. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-Creating-client_secrets.json-and-oauth2service.json.md +0 -0
  284. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-CreatingClientSecretsFile.md +0 -0
  285. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-Custom-Schemas.md +0 -0
  286. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-Data-Transfers.md +0 -0
  287. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-DomainVerification.md +0 -0
  288. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-ExamplesAccountAuditing.md +0 -0
  289. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-ExamplesCSV.md +0 -0
  290. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-ExamplesEmailSettings.md +0 -0
  291. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-ExamplesOrganizations.md +0 -0
  292. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-GAM-Discussion-Group.md +0 -0
  293. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-GAM-on-Android-and-Chrome-OS.md +0 -0
  294. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-GAM-options-files.md +0 -0
  295. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-GAM-with--minimal-GCP-rights.md +0 -0
  296. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-GAM3CSVListings.md +0 -0
  297. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-GAM3DirectoryCommands.md +0 -0
  298. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-GAM3GroupSettings.md +0 -0
  299. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-GAM7-FAQ.md +0 -0
  300. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-Google-Vault---Takeout-Commands.md +0 -0
  301. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-GoogleDriveManagement.md +0 -0
  302. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-Grouping-18-or-Older-Users.md +0 -0
  303. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-Home.md +0 -0
  304. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-How-to-upgrade-from-Standard-GAM.md +0 -0
  305. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-Inbound-SSO-Settings.md +0 -0
  306. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-LicenseExamples.md +0 -0
  307. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-Managing-Admins.md +0 -0
  308. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-Managing-CloudPrint-Printers.md +0 -0
  309. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-Managing-Devices.md +0 -0
  310. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-Managing-Google-Classroom.md +0 -0
  311. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-OAuthKeyManagement.md +0 -0
  312. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-Printers.md +0 -0
  313. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-ResellerCommands.md +0 -0
  314. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-Running-GAM-on-Google-Compute-Engine-(GCE)-Securely.md +0 -0
  315. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-SecurityExamples.md +0 -0
  316. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-UnmanagedUsersExamples.md +0 -0
  317. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-Use-a-Yubikey.md +0 -0
  318. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-Using-GAM-with-a-delegated-admin-service-account-(DASA).md +0 -0
  319. {gam7-7.6.4 → gam7-7.6.5}/wiki/l-_Footer.md +0 -0
@@ -92,7 +92,7 @@ jobs:
92
92
  # jid: 14
93
93
  # goal: build
94
94
  # arch: arm64
95
- # openssl_archs: VC-CLANG-WIN64-CLANGASM-ARM
95
+ # openssl_archs: VC-WIN64-ARM
96
96
  # continue-on-error: true
97
97
  - os: ubuntu-24.04
98
98
  goal: test
@@ -145,6 +145,7 @@ jobs:
145
145
  with:
146
146
  python-version: ${{ matrix.python }}
147
147
  allow-prereleases: true
148
+ check-latest: true
148
149
 
149
150
  - name: common variables for all runs
150
151
  env:
@@ -172,15 +173,7 @@ jobs:
172
173
  fi
173
174
  echo "GAMCFGDIR=${GAMCFGDIR}" >> $GITHUB_ENV
174
175
  echo "GAMCFGDIR is: ${GAMCFGDIR}"
175
- if [[ "${RUNNER_OS}" == "macOS" ]]; then
176
- GAMOS="macos"
177
- elif [[ "${RUNNER_OS}" == "Linux" ]]; then
178
- GAMOS="linux"
179
- elif [[ "${RUNNER_OS}" == "Windows" ]]; then
180
- GAMOS="windows"
181
- else
182
- GAMOS='unknown'
183
- fi
176
+ export GAMOS=$(echo "$RUNNER_OS" | tr '[:upper:]' '[:lower:]')
184
177
  echo "GAMOS=${GAMOS}" >> $GITHUB_ENV
185
178
  echo "GAMOS is: ${GAMOS}"
186
179
 
@@ -229,7 +222,7 @@ jobs:
229
222
  uses: ilammy/msvc-dev-cmd@v1
230
223
  if: runner.os == 'Windows' && steps.cache-python-ssl.outputs.cache-hit != 'true'
231
224
  with:
232
- arch: ${{ matrix.arch }}
225
+ arch: ${{ runner.arch }}
233
226
 
234
227
  - name: Set Env Variables for build
235
228
  if: matrix.goal == 'build'
@@ -239,13 +232,6 @@ jobs:
239
232
  run: |
240
233
  echo "We are running on ${RUNNER_OS}"
241
234
  LD_LIBRARY_PATH="${OPENSSL_INSTALL_PATH}/lib:${PYTHON_INSTALL_PATH}/lib:/usr/local/lib"
242
- if [[ "${arch}" == "Win64" ]]; then
243
- PYEXTERNALS_PATH="amd64"
244
- PYBUILDRELEASE_ARCH="x64"
245
- GAM_ARCHIVE_ARCH="x86_64"
246
- WIX_ARCH="x64"
247
- CHOC_OPS=""
248
- fi
249
235
  if [[ "${RUNNER_OS}" == "macOS" ]]; then
250
236
  MAKE=make
251
237
  MAKEOPT="-j$(sysctl -n hw.logicalcpu)"
@@ -263,16 +249,21 @@ jobs:
263
249
  MAKE=nmake
264
250
  MAKEOPT=""
265
251
  PERL="c:\strawberry\perl\bin\perl.exe"
252
+ if [[ "$RUNNER_ARCH" == "ARM64" ]]; then
253
+ PYEXTERNALS_PATH="arm64"
254
+ GAM_ARCHIVE_ARCH="arm64"
255
+ WIX_ARCH="arm64"
256
+ CHOC_OPS=""
257
+ elif [[ "$RUNNER_ARCH" == "X64" ]]; then
258
+ PYEXTERNALS_PATH="amd64"
259
+ GAM_ARCHIVE_ARCH="x86_64"
260
+ WIX_ARCH="x64"
261
+ CHOC_OPS=""
262
+ fi
266
263
  LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${PYTHON_SOURCE_PATH}/PCbuild/${PYEXTERNALS_PATH}"
267
264
  echo "PYTHON=${PYTHON_SOURCE_PATH}/PCbuild/${PYEXTERNALS_PATH}/python.exe" >> $GITHUB_ENV
268
265
  echo "GAM_ARCHIVE_ARCH=${GAM_ARCHIVE_ARCH}" >> $GITHUB_ENV
269
266
  echo "WIX_ARCH=${WIX_ARCH}" >> $GITHUB_ENV
270
- if [[ "$arch" == "arm64" ]]; then
271
- MAKE=make
272
- MAKEOPT="-j$(nproc)"
273
- echo "VSCMD_DEBUG=3" >> $GITHUB_ENV
274
- echo "PATH=${PATH}:${VCINSTALLDIR}\Tools\Llvm\ARM64\bin" >> $GITHUB_ENV
275
- fi
276
267
  fi
277
268
  echo "We'll run make with: ${MAKEOPT}"
278
269
  echo "staticx=${staticx}" >> $GITHUB_ENV
@@ -281,7 +272,6 @@ jobs:
281
272
  echo "MAKEOPT=${MAKEOPT}" >> $GITHUB_ENV
282
273
  echo "PERL=${PERL}" >> $GITHUB_ENV
283
274
  echo "PYEXTERNALS_PATH=${PYEXTERNALS_PATH}" >> $GITHUB_ENV
284
- echo "PYBUILDRELEASE_ARCH=${PYBUILDRELEASE_ARCH}" >> $GITHUB_ENV
285
275
  echo "openssl_archs=${openssl_archs}" >> $GITHUB_ENV
286
276
 
287
277
  - name: Get latest stable OpenSSL source
@@ -296,29 +286,21 @@ jobs:
296
286
  git checkout "${LATEST_STABLE_TAG}"
297
287
  export COMPILED_OPENSSL_VERSION=${LATEST_STABLE_TAG:8} # Trim the openssl- prefix
298
288
  echo "COMPILED_OPENSSL_VERSION=${COMPILED_OPENSSL_VERSION}" >> $GITHUB_ENV
299
- if ([ "${RUNNER_OS}" == "macOS" ] && [ "$arch" == "universal2" ]); then
300
- for openssl_arch in $openssl_archs; do
301
- ssldir="${OPENSSL_SOURCE_PATH}-${openssl_arch}"
302
- mkdir -v "${ssldir}"
303
- cp -vrf ${OPENSSL_SOURCE_PATH}/* "${ssldir}/"
304
- done
305
- rm -vrf "${OPENSSL_SOURCE_PATH}"
306
- else
307
- mv -v "${OPENSSL_SOURCE_PATH}" "${OPENSSL_SOURCE_PATH}-${openssl_archs}"
308
- fi
309
289
 
310
290
  - name: Windows NASM Install
311
291
  uses: ilammy/setup-nasm@v1
312
- if: matrix.goal == 'build' && runner.os == 'Windows' && steps.cache-python-ssl.outputs.cache-hit != 'true'
292
+ if: matrix.goal == 'build' && runner.os == 'Windows' && runner.arch == 'X64' && steps.cache-python-ssl.outputs.cache-hit != 'true'
313
293
 
314
294
  - name: Config OpenSSL
315
295
  if: matrix.goal == 'build' && steps.cache-python-ssl.outputs.cache-hit != 'true'
316
296
  run: |
317
- for openssl_arch in $openssl_archs; do
318
- cd "${GITHUB_WORKSPACE}/src/openssl-${openssl_arch}"
319
- # --libdir=lib is needed so Python can find OpenSSL libraries
320
- "${PERL}" ./Configure "${openssl_arch}" --libdir=lib --prefix="${OPENSSL_INSTALL_PATH}" $OPENSSL_CONFIG_OPTS
321
- done
297
+ cd "${OPENSSL_SOURCE_PATH}"
298
+ # TODO: remove this once https://github.com/openssl/openssl/issues/26239 is fixed.
299
+ if ([ "$RUNNER_OS" == "Windows" ] && [ "$RUNNER_ARCH" == "ARM64" ]); then
300
+ export CFLAGS=-DNO_INTERLOCKEDOR64
301
+ fi
302
+ # --libdir=lib is needed so Python can find OpenSSL libraries
303
+ "${PERL}" ./Configure "${openssl_arch}" --libdir=lib --prefix="${OPENSSL_INSTALL_PATH}" $OPENSSL_CONFIG_OPTS
322
304
 
323
305
  - name: Rename GNU link on Windows
324
306
  if: matrix.goal == 'build' && runner.os == 'Windows' && steps.cache-python-ssl.outputs.cache-hit != 'true'
@@ -329,53 +311,30 @@ jobs:
329
311
  - name: Make OpenSSL
330
312
  if: matrix.goal == 'build' && steps.cache-python-ssl.outputs.cache-hit != 'true'
331
313
  run: |
332
- for openssl_arch in $openssl_archs; do
333
- cd "${GITHUB_WORKSPACE}/src/openssl-${openssl_arch}"
334
- $MAKE "${MAKEOPT}"
335
- done
314
+ cd "${OPENSSL_SOURCE_PATH}"
315
+ # TODO: remove this once https://github.com/openssl/openssl/issues/26239 is fixed.
316
+ if ([ "$RUNNER_OS" == "Windows" ] && [ "$RUNNER_ARCH" == "ARM64" ]); then
317
+ export CFLAGS=-DNO_INTERLOCKEDOR64
318
+ fi
319
+ $MAKE "$MAKEOPT"
336
320
 
337
321
  - name: Install OpenSSL
338
322
  if: matrix.goal == 'build' && steps.cache-python-ssl.outputs.cache-hit != 'true'
339
323
  run: |
340
- if ([ "${RUNNER_OS}" == "macOS" ] && [ "$arch" == "universal2" ]); then
341
- for openssl_arch in $openssl_archs; do
342
- cd "${GITHUB_WORKSPACE}/src/openssl-${openssl_arch}"
343
- # install_sw saves us ages processing man pages :-)
344
- $MAKE install_sw
345
- mv -v "${OPENSSL_INSTALL_PATH}" "${GITHUB_WORKSPACE}/bin/ssl-${openssl_arch}"
346
- done
347
- mkdir -vp "${OPENSSL_INSTALL_PATH}/lib"
348
- mkdir -vp "${OPENSSL_INSTALL_PATH}/bin"
349
- for archlib in libcrypto.3.dylib libssl.3.dylib libcrypto.a libssl.a; do
350
- lipo -create "${GITHUB_WORKSPACE}/bin/ssl-darwin64-x86_64/lib/${archlib}" \
351
- "${GITHUB_WORKSPACE}/bin/ssl-darwin64-arm64/lib/${archlib}" \
352
- -output "${GITHUB_WORKSPACE}/bin/ssl/lib/${archlib}"
353
- done
354
- mv ${GITHUB_WORKSPACE}/bin/ssl-darwin64-x86_64/include ${GITHUB_WORKSPACE}/bin/ssl/
355
- lipo -create "${GITHUB_WORKSPACE}/bin/ssl-darwin64-x86_64/bin/openssl" \
356
- "${GITHUB_WORKSPACE}/bin/ssl-darwin64-arm64/bin/openssl" \
357
- -output "${GITHUB_WORKSPACE}/bin/ssl/bin/openssl"
358
- rm -rf ${GITHUB_WORKSPACE}/bin/ssl-darwin64-x86_64
359
- rm -rf ${GITHUB_WORKSPACE}/bin/ssl-darwin64-arm64
360
- else
361
- cd "${GITHUB_WORKSPACE}/src/openssl-${openssl_archs}"
362
- # install_sw saves us ages processing man pages :-)
363
- $MAKE install_sw
364
- fi
365
- if [[ "${RUNNER_OS}" != "Windows" ]]; then
366
- echo "LDFLAGS=-L${OPENSSL_INSTALL_PATH}/lib" >> $GITHUB_ENV
367
- fi
324
+ cd "${OPENSSL_SOURCE_PATH}"
325
+ # install_sw saves us ages processing man pages :-)
326
+ # $MAKE install_sw
327
+ $MAKE install
328
+ #if [[ "${RUNNER_OS}" != "Windows" ]]; then
329
+ echo "LDFLAGS=-L${OPENSSL_INSTALL_PATH}/lib" >> $GITHUB_ENV
330
+ #fi
368
331
  echo "CRYPTOGRAPHY_SUPPRESS_LINK_FLAGS=1" >> $GITHUB_ENV
369
- case $arch in
370
- universal2)
371
- echo "CFLAGS=-I${OPENSSL_INSTALL_PATH}/include -arch arm64 -arch x86_64 ${CFLAGS}" >> $GITHUB_ENV
372
- echo "ARCHFLAGS=-arch x86_64 -arch arm64" >> $GITHUB_ENV
373
- ;;
374
- x86_64)
332
+ case $RUNNER_ARCH in
333
+ X64)
375
334
  echo "CFLAGS=-I${OPENSSL_INSTALL_PATH}/include ${CFLAGS}" >> $GITHUB_ENV
376
335
  echo "ARCHFLAGS=-arch x86_64" >> $GITHUB_ENV
377
336
  ;;
378
- aarch64)
337
+ ARM64)
379
338
  echo "CFLAGS=-I${OPENSSL_INSTALL_PATH}/include ${CFLAGS}" >> $GITHUB_ENV
380
339
  echo "ARCHFLAGS=-arch arm64" >> $GITHUB_ENV
381
340
  ;;
@@ -402,18 +361,12 @@ jobs:
402
361
  if: matrix.goal == 'build' && runner.os != 'Windows' && steps.cache-python-ssl.outputs.cache-hit != 'true'
403
362
  run: |
404
363
  cd "${PYTHON_SOURCE_PATH}"
405
- if ([ "${RUNNER_OS}" == "macOS" ] && [ "$arch" == "universal2" ]); then
406
- extra_args=( "--enable-universalsdk" "--with-universal-archs=universal2" )
407
- else
408
- extra_args=( )
409
- fi
410
364
  ./configure --with-openssl="${OPENSSL_INSTALL_PATH}" \
411
365
  --prefix="${PYTHON_INSTALL_PATH}" \
412
366
  --enable-shared \
413
367
  --with-ensurepip=upgrade \
414
368
  --enable-optimizations \
415
- --with-lto \
416
- "${extra_args[@]}" || : # exit 0
369
+ --with-lto || : # exit 0
417
370
  cat config.log
418
371
 
419
372
  - name: Windows Get External Python deps
@@ -433,10 +386,15 @@ jobs:
433
386
  Remove-Item -recurse -force "${env:OPENSSL_EXT_PATH}*"
434
387
  # Emulate what this script does:
435
388
  # https://github.com/python/cpython/blob/main/PCbuild/openssl.vcxproj
436
- $env:OPENSSL_EXT_TARGET_PATH = "${env:OPENSSL_EXT_PATH}${env:PYEXTERNALS_PATH}"
389
+ if (${env:RUNNER_ARCH} -eq "X64") {
390
+ $env:ossl_path = "amd64"
391
+ } elseif (${env:RUNNER_ARCH} -eq "ARM64") {
392
+ $env:ossl_path = "arm64"
393
+ }
394
+ $env:OPENSSL_EXT_TARGET_PATH = "${env:OPENSSL_EXT_PATH}${env:ossl_path}"
437
395
  echo "Copying our OpenSSL to ${env:OPENSSL_EXT_TARGET_PATH}"
438
396
  mkdir "${env:OPENSSL_EXT_TARGET_PATH}\include\openssl\"
439
- Copy-Item -Path "${env:GITHUB_WORKSPACE}/src/openssl-${env:openssl_archs}\LICENSE.txt" -Destination "${env:OPENSSL_EXT_TARGET_PATH}\LICENSE" -Verbose
397
+ Copy-Item -Path "${env:OPENSSL_SOURCE_PATH}\LICENSE.txt" -Destination "${env:OPENSSL_EXT_TARGET_PATH}\LICENSE"
440
398
  cp -v "$env:OPENSSL_INSTALL_PATH\lib\*" "${env:OPENSSL_EXT_TARGET_PATH}"
441
399
  cp -v "$env:OPENSSL_INSTALL_PATH\bin\*" "${env:OPENSSL_EXT_TARGET_PATH}"
442
400
  cp -v "$env:OPENSSL_INSTALL_PATH\include\openssl\*" "${env:OPENSSL_EXT_TARGET_PATH}\include\openssl\"
@@ -457,8 +415,15 @@ jobs:
457
415
  cd "${env:PYTHON_SOURCE_PATH}"
458
416
  # We need out custom openssl.props which uses OpenSSL 3 DLL names
459
417
  Copy-Item -Path "${env:GITHUB_WORKSPACE}\src\tools\openssl.props" -Destination PCBuild\ -Verbose
460
- echo "Building for ${env:PYBUILDRELEASE_ARCH}..."
461
- PCBuild\build.bat -m --pgo -c Release -p "${env:PYBUILDRELEASE_ARCH}"
418
+ if (${env:RUNNER_ARCH} -eq "X64") {
419
+ $env:arch = "x64"
420
+ PCBuild\build.bat -c Release -p $env:arch --pgo
421
+ } elseif (${env:RUNNER_ARCH} -eq "ARM64") {
422
+ $env:arch = "ARM64"
423
+ # TODO: figure out why Windows ARM64 isn't compat with PGO optimiazation
424
+ # causes 10-20% slowdown in Python
425
+ PCBuild\build.bat -c Release -p $env:arch
426
+ }
462
427
 
463
428
  - name: Mac/Linux Build Python
464
429
  if: matrix.goal == 'build' && runner.os != 'Windows' && steps.cache-python-ssl.outputs.cache-hit != 'true'
@@ -482,6 +447,11 @@ jobs:
482
447
  "${PYTHON}" -V
483
448
  "${PYTHON}" -c "import ssl; print(f'Using {ssl.OPENSSL_VERSION}')"
484
449
 
450
+ - name: Windows ARM Install rust and cargo
451
+ if: matrix.goal == 'build' && runner.os == 'Windows' && runner.arch == 'ARM64' && steps.cache-python-ssl.outputs.cache-hit != 'true'
452
+ run: |
453
+ choco install rust
454
+
485
455
  - name: Upgrade pip, wheel, etc
486
456
  run: |
487
457
  curl $curl_retry -O https://bootstrap.pypa.io/get-pip.py
@@ -492,37 +462,14 @@ jobs:
492
462
 
493
463
  - name: Install pip requirements
494
464
  run: |
465
+ # rust cargo needs this to compile
466
+ export OPENSSL_DIR="$OPENSSL_INSTALL_PATH"
495
467
  echo "before anything..."
496
468
  "${PYTHON}" -m pip list
497
- if ([ "${RUNNER_OS}" == "macOS" ] && [ "$arch" == "universal2" ]); then
498
- # cffi is a dep of cryptography and doesn't ship
499
- # a universal2 wheel so we must build one ourself :-/
500
- export CFLAGS="-arch x86_64 -arch arm64"
501
- export ARCHFLAGS="-arch x86_64 -arch arm64"
502
- "${PYTHON}" -m pip install --upgrade --force-reinstall --no-binary :all: \
503
- --no-cache-dir --no-deps --use-pep517 \
504
- --use-feature=no-binary-enable-wheel-cache \
505
- cffi
506
- echo "before cryptography..."
507
- "${PYTHON}" -m pip list
508
- # cryptography has a universal2 wheel but getting it installed
509
- # on x86-64 MacOS is a royal pain in the keester.
510
- "${PYTHON}" -m pip download --only-binary :all: \
511
- --dest . \
512
- --no-cache \
513
- --no-deps \
514
- --platform macosx_10_15_universal2 \
515
- cryptography
516
- "${PYTHON}" -m pip install --force-reinstall --no-deps cryptography*.whl
517
- echo "after cryptography..."
518
- "${PYTHON}" -m pip list
519
- "${PYTHON}" -m pip install --upgrade --no-binary :all: -r requirements.txt
520
- else
521
- "${PYTHON}" -m pip install --upgrade -r requirements.txt
522
- echo "after requirements..."
523
- "${PYTHON}" -m pip list
524
- "${PYTHON}" -m pip install --force-reinstall --no-deps --upgrade cryptography
525
- fi
469
+ "${PYTHON}" -m pip install --upgrade -r requirements.txt
470
+ echo "after requirements..."
471
+ "${PYTHON}" -m pip list
472
+ "${PYTHON}" -m pip install --force-reinstall --no-deps --upgrade cryptography
526
473
  echo "after everything..."
527
474
  "${PYTHON}" -m pip list
528
475
 
@@ -537,14 +484,7 @@ jobs:
537
484
  # remove pre-compiled bootloaders so we fail if bootloader compile fails
538
485
  rm -rvf PyInstaller/bootloader/*-*/*
539
486
  cd bootloader
540
- export PYINSTALLER_BUILD_ARGS=""
541
- case "${arch}" in
542
- "Win64")
543
- export PYINSTALLER_BUILD_ARGS="--target-arch=64bit"
544
- ;;
545
- esac
546
- echo "PyInstaller build arguments: ${PYINSTALLER_BUILD_ARGS}"
547
- "${PYTHON}" ./waf all $PYINSTALLER_BUILD_ARGS
487
+ "${PYTHON}" ./waf all
548
488
  cd ..
549
489
  echo "---- Installing PyInstaller ----"
550
490
  "${PYTHON}" -m pip install .
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gam7
3
- Version: 7.6.4
3
+ Version: 7.6.5
4
4
  Summary: CLI tool to manage Google Workspace
5
5
  Project-URL: Homepage, https://github.com/GAM-team/GAM
6
6
  Project-URL: Issues, https://github.com/GAM-team/GAM/issues
@@ -1,3 +1,8 @@
1
+ 7.06.05
2
+
3
+ Updated code in `gam delete|update chromepolicy` to handle the `policyTargetKey[additionalTargetKeys]`
4
+ field in a more general manner for future use.
5
+
1
6
  7.06.04
2
7
 
3
8
  Fixed bug in `gam report <ActivityApplictionName>` where a report with no activities
@@ -25,7 +25,7 @@ https://github.com/GAM-team/GAM/wiki
25
25
  """
26
26
 
27
27
  __author__ = 'GAM Team <google-apps-manager@googlegroups.com>'
28
- __version__ = '7.06.04'
28
+ __version__ = '7.06.05'
29
29
  __license__ = 'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)'
30
30
 
31
31
  #pylint: disable=wrong-import-position
@@ -28090,10 +28090,12 @@ def updatePolicyRequests(body, targetResource, printer_id, app_id):
28090
28090
  for request in body['requests']:
28091
28091
  request.setdefault('policyTargetKey', {})
28092
28092
  request['policyTargetKey']['targetResource'] = targetResource
28093
- if app_id:
28094
- request['policyTargetKey']['additionalTargetKeys'] = {'app_id': app_id}
28095
- elif printer_id:
28096
- request['policyTargetKey']['additionalTargetKeys'] = {'printer_id': printer_id}
28093
+ if app_id or printer_id:
28094
+ request['policyTargetKey'].setdefault('additionalTargetKeys', {})
28095
+ if app_id:
28096
+ request['policyTargetKey']['additionalTargetKeys']['app_id'] = app_id
28097
+ elif printer_id:
28098
+ request['policyTargetKey']['additionalTargetKeys']['printer_id'] = printer_id
28097
28099
 
28098
28100
  # gam delete chromepolicy
28099
28101
  # (<SchemaName> [<JSONData>])+
@@ -28126,9 +28128,9 @@ def doDeleteChromePolicy():
28126
28128
  if checkArgumentPresent('json'):
28127
28129
  jsonData = getJSON(['direct', 'name', 'orgUnitPath', 'parentOrgUnitPath', 'group'])
28128
28130
  if 'additionalTargetKeys' in jsonData:
28129
- body['requests'][-1].setdefault('policyTargetKey', {})
28131
+ body['requests'][-1].setdefault('policyTargetKey', {'additionalTargetKeys': {}})
28130
28132
  for atk in jsonData['additionalTargetKeys']:
28131
- body['requests'][-1]['policyTargetKey']['additionalTargetKeys'] = {atk['name']: atk['value']}
28133
+ body['requests'][-1]['policyTargetKey']['additionalTargetKeys'][atk['name']] = atk['value']
28132
28134
  checkPolicyArgs(targetResource, printer_id, app_id)
28133
28135
  count = len(body['requests'])
28134
28136
  if count != 1:
@@ -28281,9 +28283,9 @@ def doUpdateChromePolicy():
28281
28283
  jsonData = getJSON(['direct', 'name', 'orgUnitPath', 'parentOrgUnitPath', 'group'])
28282
28284
  schemaNameAppId = schemaName
28283
28285
  if 'additionalTargetKeys' in jsonData:
28284
- body['requests'][-1].setdefault('policyTargetKey', {})
28286
+ body['requests'][-1].setdefault('policyTargetKey', {'additionalTargetKeys': {}})
28285
28287
  for atk in jsonData['additionalTargetKeys']:
28286
- body['requests'][-1]['policyTargetKey']['additionalTargetKeys'] = {atk['name']: atk['value']}
28288
+ body['requests'][-1]['policyTargetKey']['additionalTargetKeys'][atk['name']] = atk['value']
28287
28289
  if atk['name'] == 'app_id':
28288
28290
  schemaNameAppId += f"({atk['value']})"
28289
28291
  schemaNameList[-1] = schemaNameAppId
@@ -10,6 +10,11 @@ Add the `-s` option to the end of the above commands to suppress creating the `g
10
10
 
11
11
  See [Downloads-Installs-GAM7](https://github.com/GAM-team/GAM/wiki/Downloads-Installs) for Windows or other options, including manual installation
12
12
 
13
+ ### 7.06.05
14
+
15
+ Updated code in `gam delete|update chromepolicy` to handle the `policyTargetKey[additionalTargetKeys]`
16
+ field in a more general manner for future use.
17
+
13
18
  ### 7.06.04
14
19
 
15
20
  Fixed bug in `gam report <ActivityApplictionName>` where a report with no activities
@@ -251,10 +251,10 @@ writes the credentials into the file oauth2.txt.
251
251
  admin@server:/Users/admin$ rm -f /Users/admin/GAMConfig/oauth2.txt
252
252
  admin@server:/Users/admin$ gam version
253
253
  WARNING: Config File: /Users/admin/GAMConfig/gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: /Users/admin/GAMConfig/oauth2.txt, Not Found
254
- GAM 7.06.04 - https://github.com/GAM-team/GAM - pyinstaller
254
+ GAM 7.06.05 - https://github.com/GAM-team/GAM - pyinstaller
255
255
  GAM Team <google-apps-manager@googlegroups.com>
256
256
  Python 3.13.3 64-bit final
257
- MacOS Sequoia 15.4 x86_64
257
+ MacOS Sequoia 15.4.1 x86_64
258
258
  Path: /Users/admin/bin/gam7
259
259
  Config File: /Users/admin/GAMConfig/gam.cfg, Section: DEFAULT, customer_id: my_customer, domain: domain.com
260
260
 
@@ -989,7 +989,7 @@ writes the credentials into the file oauth2.txt.
989
989
  C:\>del C:\GAMConfig\oauth2.txt
990
990
  C:\>gam version
991
991
  WARNING: Config File: C:\GAMConfig\gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: C:\GAMConfig\oauth2.txt, Not Found
992
- GAM 7.06.04 - https://github.com/GAM-team/GAM - pythonsource
992
+ GAM 7.06.05 - https://github.com/GAM-team/GAM - pythonsource
993
993
  GAM Team <google-apps-manager@googlegroups.com>
994
994
  Python 3.13.3 64-bit final
995
995
  Windows-10-10.0.17134 AMD64
@@ -24,6 +24,7 @@
24
24
  - [Display Shared Drive access for specific Shared Drives](#display-shared-drive-access-for-specific-shared-drives)
25
25
  - [Display Shared Drive access for selected Shared Drives](#display-shared-drive-access-for-selected-shared-drives)
26
26
  - [Display members of all Shared Drives](#display-members-of-all-shared-drives)
27
+ - [Display external members of all Shared Drives](#display-external-members-of-all-shared-drives)
27
28
  - [Display ACLs for Shared Drives with no organizers](#display-acls-for-shared-drives-with-no-organizers)
28
29
  - [Display ACLs for Shared Drives with all organizers outside of your domain](#display-acls-for-shared-drives-with-all-organizers-outside-of-your-domain)
29
30
  - [Display ACLs for Shared Drives with all ACLs outside of your domain](#display-acls-for-shared-drives-with-all-acls-outside-of-your-domain)
@@ -569,6 +570,12 @@ The `quotechar <Character>` option allows you to choose an alternate quote chara
569
570
  gam config csv_output_header_drop_filter "User,createdTime,permission.photoLink,permission.permissionDetails" redirect csv ./SharedDriveMembers.csv print shareddriveacls oneitemperrow
570
571
  ```
571
572
 
573
+ ## Display external members of all Shared Drives
574
+ Replace `<InternalDomainList>` with your list of internal domains.
575
+ ```
576
+ gam config csv_output_header_drop_filter "User,createdTime,permission.photoLink,permission.permissionDetails" redirect csv ./SharedDriveExternalMembers.csv print shareddriveacls pm notdomainlist <InternalDomainList> em oneitemperrow
577
+ ```
578
+
572
579
  ## Display Shared Drive access for selected Shared Drives
573
580
  ```
574
581
  gam [<UserTypeEntity>] show teamdriveacls
@@ -4,10 +4,10 @@ k
4
4
  Print the current version of Gam with details
5
5
  ```
6
6
  gam version
7
- GAM 7.06.04 - https://github.com/GAM-team/GAM - pyinstaller
7
+ GAM 7.06.05 - https://github.com/GAM-team/GAM - pyinstaller
8
8
  GAM Team <google-apps-manager@googlegroups.com>
9
9
  Python 3.13.3 64-bit final
10
- MacOS Sequoia 15.4 x86_64
10
+ MacOS Sequoia 15.4.1 x86_64
11
11
  Path: /Users/Admin/bin/gam7
12
12
  Config File: /Users/admin/GAMConfig/gam.cfg, Section: DEFAULT, customer_id: my_customer, domain: domain.com
13
13
  Time: 2023-06-02T21:10:00-07:00
@@ -16,10 +16,10 @@ Time: 2023-06-02T21:10:00-07:00
16
16
  Print the current version of Gam with details and time offset information
17
17
  ```
18
18
  gam version timeoffset
19
- GAM 7.06.04 - https://github.com/GAM-team/GAM - pyinstaller
19
+ GAM 7.06.05 - https://github.com/GAM-team/GAM - pyinstaller
20
20
  GAM Team <google-apps-manager@googlegroups.com>
21
21
  Python 3.13.3 64-bit final
22
- MacOS Sequoia 15.4 x86_64
22
+ MacOS Sequoia 15.4.1 x86_64
23
23
  Path: /Users/Admin/bin/gam7
24
24
  Config File: /Users/admin/GAMConfig/gam.cfg, Section: DEFAULT, customer_id: my_customer, domain: domain.com
25
25
  Your system time differs from www.googleapis.com by less than 1 second
@@ -28,10 +28,10 @@ Your system time differs from www.googleapis.com by less than 1 second
28
28
  Print the current version of Gam with extended details and SSL information
29
29
  ```
30
30
  gam version extended
31
- GAM 7.06.04 - https://github.com/GAM-team/GAM - pyinstaller
31
+ GAM 7.06.05 - https://github.com/GAM-team/GAM - pyinstaller
32
32
  GAM Team <google-apps-manager@googlegroups.com>
33
33
  Python 3.13.3 64-bit final
34
- MacOS Sequoia 15.4 x86_64
34
+ MacOS Sequoia 15.4.1 x86_64
35
35
  Path: /Users/Admin/bin/gam7
36
36
  Config File: /Users/admin/GAMConfig/gam.cfg, Section: DEFAULT, customer_id: my_customer, domain: domain.com
37
37
  Time: 2023-06-02T21:10:00-07:00
@@ -65,7 +65,7 @@ MacOS High Sierra 10.13.6 x86_64
65
65
  Path: /Users/Admin/bin/gam7
66
66
  Version Check:
67
67
  Current: 5.35.08
68
- Latest: 7.06.04
68
+ Latest: 7.06.05
69
69
  echo $?
70
70
  1
71
71
  ```
@@ -73,7 +73,7 @@ echo $?
73
73
  Print the current version number without details
74
74
  ```
75
75
  gam version simple
76
- 7.06.04
76
+ 7.06.05
77
77
  ```
78
78
  In Linux/MacOS you can do:
79
79
  ```
@@ -83,10 +83,10 @@ echo $VER
83
83
  Print the current version of Gam and address of this Wiki
84
84
  ```
85
85
  gam help
86
- GAM 7.06.04 - https://github.com/GAM-team/GAM
86
+ GAM 7.06.05 - https://github.com/GAM-team/GAM
87
87
  GAM Team <google-apps-manager@googlegroups.com>
88
88
  Python 3.13.3 64-bit final
89
- MacOS Sequoia 15.4 x86_64
89
+ MacOS Sequoia 15.4.1 x86_64
90
90
  Path: /Users/Admin/bin/gam7
91
91
  Config File: /Users/admin/GAMConfig/gam.cfg, Section: DEFAULT, customer_id: my_customer, domain: domain.com
92
92
  Time: 2023-06-02T21:10:00-07:00
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes