Password notification fix

Updated `gam create|update user ... notify` to encode the characters `<>&` in the password
so that they display correctly when the notify message content is HTML.
This commit is contained in:
Ross Scroggs
2024-01-15 09:31:05 -08:00
parent cc50ae28cd
commit 647da9f980
5 changed files with 25 additions and 12 deletions

View File

@ -11,6 +11,11 @@ Add the `-s` option to the end of the above commands to suppress creating the `g
See [Downloads](https://github.com/taers232c/GAMADV-XTD3/wiki/Downloads) for Windows or other options, including manual installation
### 6.67.19
Updated `gam create|update user ... notify` to encode the characters `<>&` in the password
so that they display correctly when the notify message content is HTML.
### 6.67.18
Cleaned up `Getting/Got` messages for `gam print courses|course-participants`.

View File

@ -334,7 +334,7 @@ writes the credentials into the file oauth2.txt.
admin@server:/Users/admin/bin/gamadv-xtd3$ rm -f /Users/admin/GAMConfig/oauth2.txt
admin@server:/Users/admin/bin/gamadv-xtd3$ ./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.67.18 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
GAMADV-XTD3 6.17.19 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
Ross Scroggs <ross.scroggs@gmail.com>
Python 3.12.1 64-bit final
MacOS Sonoma 14.2.1 x86_64
@ -1002,7 +1002,7 @@ writes the credentials into the file oauth2.txt.
C:\GAMADV-XTD3>del C:\GAMConfig\oauth2.txt
C:\GAMADV-XTD3>gam version
WARNING: Config File: C:\GAMConfig\gam.cfg, Section: DEFAULT, Item: oauth2_txt, Value: C:\GAMConfig\oauth2.txt, Not Found
GAMADV-XTD3 6.67.18 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
GAMADV-XTD3 6.17.19 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
Ross Scroggs <ross.scroggs@gmail.com>
Python 3.12.1 64-bit final
Windows-10-10.0.17134 AMD64

View File

@ -4,7 +4,7 @@
Print the current version of Gam with details
```
gam version
GAMADV-XTD3 6.67.18 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
GAMADV-XTD3 6.17.19 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
Ross Scroggs <ross.scroggs@gmail.com>
Python 3.12.1 64-bit final
MacOS Sonoma 14.2.1 x86_64
@ -16,7 +16,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.67.18 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
GAMADV-XTD3 6.17.19 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
Ross Scroggs <ross.scroggs@gmail.com>
Python 3.12.1 64-bit final
MacOS Sonoma 14.2.1 x86_64
@ -28,7 +28,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.67.18 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
GAMADV-XTD3 6.17.19 - https://github.com/taers232c/GAMADV-XTD3 - pythonsource
Ross Scroggs <ross.scroggs@gmail.com>
Python 3.12.1 64-bit final
MacOS Sonoma 14.2.1 x86_64
@ -65,7 +65,7 @@ MacOS High Sierra 10.13.6 x86_64
Path: /Users/Admin/bin/gamadv-xtd3
Version Check:
Current: 5.35.08
Latest: 6.67.18
Latest: 6.17.19
echo $?
1
```
@ -73,7 +73,7 @@ echo $?
Print the current version number without details
```
gam version simple
6.67.18
6.17.19
```
In Linux/MacOS you can do:
```
@ -83,7 +83,7 @@ echo $VER
Print the current version of Gam and address of this Wiki
```
gam help
GAM 6.67.18 - https://github.com/taers232c/GAMADV-XTD3
GAM 6.17.19 - https://github.com/taers232c/GAMADV-XTD3
Ross Scroggs <ross.scroggs@gmail.com>
Python 3.12.1 64-bit final
MacOS Sonoma 14.2.1 x86_64

View File

@ -2,6 +2,11 @@
Merged GAM-Team version
6.67.19
Updated `gam create|update user ... notify` to encode the characters `<>&` in the password
so that they display correctly when the notify message content is HTML.
6.67.18
Cleaned up `Getting/Got` messages for `gam print courses|course-participants`.

View File

@ -14357,8 +14357,11 @@ def sendCreateUpdateUserNotification(body, basenotify, tagReplacements, i=0, cou
notify[field] = notify[field].replace('#givenname#', body['name'].get('givenName', ''))
notify[field] = notify[field].replace('#familyname#', body['name'].get('familyName', ''))
def _makePasswordSubstitutions(field):
def _makePasswordSubstitutions(field, html):
if not html:
notify[field] = notify[field].replace('#password#', notify['password'])
else:
notify[field] = notify[field].replace('#password#', notify['password']).replace('&', '&amp;').replace('<', '&lt;').replace('>', '&gt;')
userName, domain = splitEmailAddress(body['primaryEmail'])
notify = basenotify.copy()
@ -14376,8 +14379,8 @@ def sendCreateUpdateUserNotification(body, basenotify, tagReplacements, i=0, cou
_getTagReplacementFieldValues(body['primaryEmail'], i, count, tagReplacements, body if createMessage else None)
notify['subject'] = _processTagReplacements(tagReplacements, notify['subject'])
notify['message'] = _processTagReplacements(tagReplacements, notify['message'])
_makePasswordSubstitutions('subject')
_makePasswordSubstitutions('message')
_makePasswordSubstitutions('subject', False)
_makePasswordSubstitutions('message', notify['html'])
if 'from' in notify:
msgFrom = notify['from']
msgReplyTo = notify.get('replyto', None)