This repository has been archived by the owner on Aug 16, 2021. It is now read-only.
forked from GENI-NSF/geni-ch
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCHANGES
342 lines (302 loc) · 15.3 KB
/
CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
# ----------------------------------------------------------------------
# This file documents changes for versions in the 1.x series.
#
# For more recent in the 2.x series and beyond, please see CHANGES.md
# ----------------------------------------------------------------------
# Note: keep this file in wiki format for easy pasting to the proto-ch wiki
# Note: keep milestone bullets in ticket numerical order for easier
# reconciliation at release time
= GENI Clearinghouse Release Notes =
== 1.29 ==
* remove hard-coded names in SAv1Implementation.py,
MAv1Implementation.py and cert-utils.py (#25)
* Add geni-list-idp-members query script to print the number of
users per IDP (by eppn suffix). (#263).
* Add geni-list-pending-requests query script to print all pending
project join requests (project_name, requestor username and request
time) (#263)
* `geni-check-errors` now suppresses certificate generation output,
Certificate Verification errors from apache when someone accesses ch.geni.net
(like PG AMs), messages about users creating or renewing certs, messages
about members setting their own attributes or their irods_username,
and messages about failing to access the system during maintenance.
It also looks at the older `chapi.log.1` and `error.log.1`. (#360)
* `geni-check-errors` now also ignores collector tool speaksfor. (#361)
* Add iMinds w-iLab.t and Virtual Wall 1 aggregates (#367)
* Add Kaiserslautern OpenGENI aggreate (#374)
== 1.28 ==
* Update aggregate info for some stitchable aggregates
* Add utah-stitch aggregate data (#359)
== 1.27 ==
* Allow `geni-sign-tool-csr` to use the subject in the CSR (#356)
== 1.26 ==
* Update install scripts to not turn on unused AMsoil plugins
dhcprm, dhcpgeni3, mailer, worker, geniv3rpc. (#354)
* Remember to sudo rm $amsoil/src/plugins/<those>
== 1.25 ==
* Migrate some scripts to chapi (#101)
* Made opsmon slice UUID return true UUID and not URN (#351).
* Make shares_slice exclude expired slices (#349)
* Make bin/geni-chapi-githash an optional file (#353)
== 1.24 ==
* Add new production aggregates
* colorado-ig, utc-ig, uwashington-ig, umkc-ig (and -of versions), plus cwru-ig, moxi-of
* Change some aggregates from experimental to production
* osf-eg, sl-eg, tamu-eg, ucdavis-eg, wsu-eg, ohmetrodc-ig, ohmetrodc-ig-of, moxi-ig, moxi-ig-of, gpo-og
* Fix typo in get_services_of_type (#350)
== 1.23 ==
* Add University of Chicago InstaGENI
* Remove example bashrc (#31)
== 1.22 ==
* Add iMinds wall2 federated aggregate (#342)
* Add MOXI InstaGENI aggregate (#342)
* Add Apt and Utah CloudLab as a federated aggregates (#343)
* Add sliver creators to the slice opsmon members response (#344).
* Add Internet2 AL2S production aggregate (#345)
* Add URL, Reason, and Reference as user attributes (#346)
== 1.21 ==
* Update copyrights for 2015 (#341)
* Add experimental aggregates (#342)
== 1.20 ==
* Update OpsMon code to V2 schema (#339)
* Allow speaks-for from foreign CAs (#334)
== 1.19 ==
* Filter out messages when GENI Desktop uses Speaks For. (#330)
* Remove extra chapi directory (#333)
* Filter out messages when there's an opsmon request for user info. (#336)
* Filter out messages from the LabWiki slice service doing speaks for. (#335)
* Clean up email headers when UTF8 encoding them. (#331)
== 1.18 ==
* Add NPS IG rack to service registry (#326)
* Add Rutgers IG rack to service registry (#327)
* Add UKY PKS2 IG rack to service registry (#328)
== 1.17 ==
* Call log service with speaking_for option (#325)
== 1.16 ==
* Tools to support revoking certificates and adding to CRL (#171).
* Support Unicode/International strings in CHAPI (#310)
* Return `_GENI_MEMBER_ENABLED` (boolean) for all member queries as
public info (#322)
* Add support for get_credentails calls in chapi client.py (#323)
== 1.15 ==
* Avoid exception doing `Resolve` on user without an outside cert.
Also fix `Resolve` return for user to return `username` as `uid` and
a pretty display name as `name`. (#305)
* Check for empty search lists in MA to avoid SQLAlchemy warnings. (#272)
* Check for empty search lists searching SR attributes too. Plus
one spot in OpsMon. (#318)
* Catch bad `options`, particularly to `lookup` in the MA. (#281)
* Changes related to making `slice_id` unique and other columns
a foreign key that references this. Specifically, create slices
and projects before adding members to them. (#174)
* Filter out opsmon queries from log file error search. (#319)
== 1.14 ==
* Use MA field_mapping when adding and removing member attributes. (#309)
* Filter out more harmless logs in `geni-check-errors`. (#313)
* Use slice email if provided to create_slice (#312)
* Support project names and only non-expired projects for opsmon slices (#314)
* Update to omni/gcf 2.6 (proto-ch ticket 1078)
* Added script geni-list-member-projects (part of #263)
* Change client.py and portal_client.py to use gcf.omnilib not omnilib (#316)
== 1.13.1 ==
* Close sessions on REST calls in OpsMon (#308)
== 1.13 ==
* Delete obsolete tmp keyfile in make_csr (#302)
* Correct CHAPI speaks-for logic to search list of credentials, not take first (#230)
* Remove problematic mail headers (#301)
* Make opsmon authority return for slice/user conform with schema (ops-monitoring #69)
* Delete obsolete csr file in authorize_client (#304)
== 1.12.1 ==
* User credentials are missing intermediate CA (#303)
== 1.12 ==
* Don't return SSH keys for disabled users, and don't let them join
projects/slices (#215)
* Change credential version from int to string (#239)
* Remove leftover temp files in cert creation (#246)
* Update expiring certificate email (#294)
* Addition of `flaskrest` and `opsmon` plugins to support ops-monitoring REST
API for authority, slice and user queries (#296)
* Add copyright to opsmon/plugin.py (syseng #6126)
* Make slice credentials delegatable. (#297)
* Fix but in SliceAuthority on V2 delete sliver_info calls (#298)
* Use invoking certificate in user credential (#299)
* Support match criteria on lookup_slices_for_member and
lookup_projects_for_member (#300)
* Add copyright to opsmon/plugin.py (syseng #6126)
== 1.11 ==
* Transition to gcf 2.5 (#260)
* Auto-renew inside certificates (#289)
* Notify active users of expiring certificates (#293)
* Convert service type names to service type codes to support CHAPI
v2 lookup on services (#290)
== 1.10 ==
* Reuse existing private keys when renewing certificates (#274)
* Put new URL in expiring certificate email (#284)
* Ignore `ARGUMENT_ERROR` on `update_sliver_info`. (#288)
== 1.9.1 ==
* Fix authorization logic for policies with multiple subjects,
specifically `log_event`: do not overwrite the method variable
`bindings` with the per-subject bindings. (#287)
== 1.9 ==
* Store ABAC Guard bindings in a per invocation variable
to make it threadsafe. (#285)
* Proper fix to guard on `update_sliver_info`: add logic
to check arguments that are not subjects (no applicable
policy). Slivers are the only example of this so far.
This way, we can get an `ARGUMENT_ERROR` on unknown
slivers as expected. (#286)
== 1.8 ==
* Fix key lookup by id (#266)
* Return certificate expiration when requested (#267)
* When a sliver has no record in the sliver info tables,
return an Argument error, not an authorization error. (#273)
* Fix authorization errors logging changes to slice and project
membership, by adding a policy that allows logging about someone
else if you also logging about a slice/project that the other
person is a member of. (#276)
* Remove OBE authorization code, add better comments, and a flag
for enabling verbose logging in `SubjectInvocationCheck`. (#275,#277)
* Filter portal speaksfor messsages from geni-check-errors. (#265)
* Fix authorization of `delete_sliver_info` by not trying to
extract sliver as a subject. (#283)
* Notify users when their certificates are expiring (#169)
== 1.7.1 ==
* Allow project expiration to be null (#268)
* Fix authorization error in log_event on create slice (#270)
* Fix authorization error on project lead or admin looking
up a member by email address (as in bulk upload from
the portal). (#269)
== 1.7 ==
* Add support for externalized ABAC Guard policies (#232)
* Add script to create tool certificates (#207)
* Fix the SA generic lookup_members, lookup_for_member,
change_membership calls that were missing self argument (#247)
* Fix stack trace when deauthorizing client tools (#249)
* Add ability to specify expiration of certificates (#252)
* geni-sign-tool-csr returns a certificate chain (#256)
* Project join request IDs should be printed as a string in error
messages, not an integer. (#257)
* Populate expiration column on certificate insert (#258)
* Remove duplicates in list of subjects about whom we do queries,
unify the queries for permission, and keep only needed bindings,
improving performance of permission checking. (#262)
== 1.6 ==
* Ensure that uniqueness of project and slice names is case-insensitive (#244)
* Add credentials and options to all logging service APIs (#209)
* Support service attributes (for speaks-for) in CHAPI SR (#228)
* Add additional checks to speaks-for processing (#231)
* Quiet down log messages during maintenance outage (#235)
* Wrap MA.lookup result in standard code/value/output triple (#236)
* Ensure lookup_allowed_member_info is properly guarded (#237)
* Update lookup("KEY", ...) return format for v2 (#240)
* Use "2" as API v2 version in get_version instead of "2.0" (#241)
* Return empty string for output on success (#242)
* Format dates as RFC 3339 on input and from DB per API spec (#243)
== 1.5.1 ==
* Fix a guard that prevents new users from registering (#233)
* Fix error handling to only log a traceback on bad errors,
only log the error once, and avoid re-defining the errorReturn
method. (#234)
== 1.5 ==
* Implement Federation API v2 (#204)
* Fixes to sliver info methods: (#221)
* Expire sliver info records that claim to have expired
* Do not list expired slivers
* Better argument checking in sliver info methods
* A create that finds an exising record does an update
* Only honor speaking_for option to determine client intent (#222)
* Support speaks-for in logging API (#223)
* Log the actor in MethodContext instead of the client (#224)
* Fix a format error when revoking project leads (#225)
* Fix To address in new project lead email (#226)
* Fix `get_credentials` at MA (fix reference to datetime) (#227)
* Raise authorization exceptions in speaks-for processing (#229)
== 1.4 ==
* Ignore repeated requests to join a project (#187)
* Support looking up others' public SSH keys in PGCH (#208)
* Do not allow modifying membership of an expired slice (#210)
* Check if member exists to give better error when modifying
membership (#211)
* Quiet error logs when PGCH !GetKeys gets no keys (#212)
* Check when adding member to a slice that they are a member of the
project (#214)
* Validate roles supplied to modify project or slice membership (#216)
* Log when handling a speaks-for credential (#217)
* Add guards to lookup_sliver_info (#218)
* Slice auditors cannot call get_credential to get a slice cred (#219)
* Allow slice admins, members to call sliver info methods (#220)
== 1.3 ==
* Update copyright notices to 2014 (#199)
* Get caller email in update_slice (#201)
* Filter out innocuous errors looking up unknown slice (#202)
* Avoid empty 'in' lists in SQL queries (#200)
* Treat email addresses as case insensitive (#203)
* Handle non string subjects in `flatten_urn` (#206)
* The author of a log message is taken from the client cert.
When a user asks to join a project, the author will be the Portal.
That will now properly display as None. (#205)
* Optimize calls that the portal makes to handle bulk queries,
etc. (#132)
* New method to look up both public and identifying member info
* New method to get login information by EPPN
* Fix log service guards (#191)
== 1.2 ==
* Fix role/project names in email for accepting an invitation (#183)
* Do not allow project auditor to become slice lead (#156)
* Do not allow adding/removing core member attributes or blank attribute (#157)
* Return code 12 and a better error message when Resolve gets an authorization error doing lookup slices,
to indicate that the slice possibly just doesn't exist. (#180,#184)
* Fix error renewing non-existent slice in PGCH (#182)
* Check that project join request is still pending before processing (#164)
* Ensure a single SQLalchemy session per request, with a rollback on error. (#95,#96,#117)
* Respect maintenance mode (#151,#188)
* Add guards on the logging service (#146)
* Only log stacktraces on bad errors (#119)
* When expiring projects/slices, log it as a None UID not a member. Additionally,
re-use the DB session when calling log_event when possible, use a new DB
session when updating expirations in read-only methods, and clean up
the date comparison to compare within the DB in update_expirations. (#186)
* Use a string UUID for logging an activated user. (#192)
* Use a mapper for Project Attribute table, declare GENI_ENABLE_WIMAX mappable
(so you can look up by that field), and declare it a UID (#194)
* Allow no cert to CH/SR calls (#193)
* Typo in pgch get_ch_version (#195)
== 1.1 ==
* Use past tense in logging service log messages (#128)
* Log mismatched certificates at warn level (#140)
* Include Auto-submitted header in emails (#124)
* Times to renew slice should be converted to naive UTC (#139)
* Email to new operators shouldn't say project lead (#123)
* Do not use add/remove attribute methods for privileges (#130)
* Send mail on enable/disable users (#129)
* PGCH uses handler front door to SA/MA services, enforcing guards and argument checks (#144)
* Slice certificates last 10 years (#147)
* Log a warn when renewing slice certificates (#148)
* Allow canceling a project join request (#137)
* Error looking up identifying member info (#143)
* Check errors like bad username in PGCH (#150)
* Send email on adding new project members (#33)
* Fix guard on invite_members (#154,#153)
* Updated project log message says what changed (#88)
* Do not return empty user cred (#140)
* Use constants for a couple numbers (#57)
* Avoid sending mail with no to address (#109)
* Fix guard on add and remove member attributes to allow authorities and self.
Fix add and remove member attribute functions to check self-asserted attribute.
Fix member attribute utilities to handle non standard attributes. (#145)
* Keep more logs (#158)
* Usernames properly exclude bad characters like period (#159)
* Use full name for members in to field when sending email (#127)
* Send email on registering a new account (#63)
* Support list of to or cc email addresses (#126)
* Change ccaddr to cc_list in send_email utility (#161)
* Input "to" addresses to send_email utility as a list (#162)
* Typo in PGCH getcredential (#163)
== 1.0 ==
* Initial release of new clearinghouse implementing the
[http://groups.geni.net/geni/wiki/UniformClearinghouseAPI Uniform
Federation APIs]. This implementation retains the functionality of
the previous PHP-based server, but implemented in Python using
[https://github.com/fp7-ofelia/AMsoil AMsoil]. Note that the `pgch`
server is now part of this base install, and all services are now
reached via XML-RPC over SSL.