From atd@us.ibm.com  Mon May  5 11:57:49 2025
From: atd@us.ibm.com (Todd Desantis)
Date: Mon, 5 May 2025 10:57:49 +0000
Subject: [OpenAFS-devel] RE: [OpenAFS-announce] URGENT: Call for proposals due 05/05/2025 (for
 virtual 2025 OpenAFS Workshop on 06/09-06/10)
In-Reply-To: <LV3PR15MB63880116CCA72FB2E157E7608ABE2@LV3PR15MB6388.namprd15.prod.outlook.com>
References: <CACu-Okd1VOpLkGxzDAvj0uLY5N+UoFHv2Vkh-jOM7FRpM68rBg@mail.gmail.com>
 <c606ad1c-2af8-4e6a-abe9-d11bfce69f78@auristor.com>
 <LV3PR15MB63880116CCA72FB2E157E7608ABE2@LV3PR15MB6388.namprd15.prod.outlook.com>
Message-ID: <LV3PR15MB6388AA0BF4C28B3B9374BB878A8E2@LV3PR15MB6388.namprd15.prod.outlook.com>

--_000_LV3PR15MB6388AA0BF4C28B3B9374BB878A8E2LV3PR15MB6388namp_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

SGkgQWxsIOKAkw0KDQpUb2RheSBpcyB0aGUgZGVhZGxpbmUgZm9yIHN1Ym1pdHRpbmcgeW91ciBw
cm9wb3NhbHMgZm9yIHRoZSAyMDI1IE9wZW5BRlMgV29ya1Nob3AuDQoNClBsZWFzZSBzZW5kIHlv
dXIgcHJvcG9zYWxzIGZvciBjb25zaWRlcmF0aW9uIHRvIG9wZW5hZnMud29ya3Nob3BAZ21haWwu
Y29tIDxtYWlsdG86b3BlbmFmcy53b3Jrc2hvcEBnbWFpbC5jb20/c3ViamVjdD1jZnA+IHdpdGgg
dGhlIHN1YmplY3QgY2ZwLg0KDQpUaGFua3MgZm9yIHlvdXIgaGVscA0KDQpUb2RkIERlU2FudGlz
DQoNCg0KRnJvbTogVG9kZCBEZXNhbnRpcw0KU2VudDogU2F0dXJkYXksIEFwcmlsIDE5LCAyMDI1
IDU6MjIgUE0NClRvOiBPcGVuQUZTIEluZm8gPE9wZW5BRlMtaW5mb0BvcGVuYWZzLm9yZz47IG9w
ZW5hZnMtZGV2ZWxAb3BlbmFmcy5vcmc7IG9wZW5hZnMtYW5ub3VuY2VAb3BlbmFmcy5vcmcNCkNj
OiBvcGVuYWZzLndvcmtzaG9wQGdtYWlsLmNvbQ0KU3ViamVjdDogRlc6IFtFWFRFUk5BTF0gUmU6
IFtPcGVuQUZTLWFubm91bmNlXSBVUkdFTlQ6IENhbGwgZm9yIHByb3Bvc2FscyBkdWUgMDUvMDUv
MjAyNSAoZm9yIHZpcnR1YWwgMjAyNSBPcGVuQUZTIFdvcmtzaG9wIG9uIDA2LzA5LTA2LzEwKQ0K
DQpIaSBBbGwg4oCTDQoNCldlIGFwb2xvZ2l6ZSBmb3IgdGhlIGVtYWlsIGdvaW5nIG91dCBzbyBs
YXRlLCB3ZSBoYXZlIGV4dGVuZGVkIHRoZSBkZWFkbGluZS4NCg0KVGhlIGRlYWRsaW5lIGZvciBz
dWJtaXR0aW5nIHRoZSBDYWxsIEZvciBQcm9wb3NhbHMgaGFzIGJlZW4gbW92ZWQgdG8gTW9uZGF5
LCBNYXkgNXRoLg0KDQpUaGFua3MgZm9yIHlvdXIgaGVscA0KDQpUb2RkIERlU2FudGlzDQpUaGUg
T3BlbkFGUyBGb3VuZGF0aW9uDQoNCk9uIDQvMTQvMjAyNSAxMDo0MiBBTSwgT3BlbkFGUyBXb3Jr
c2hvcCB3cm90ZToNCioqKiBEdWUgdG8gYSB0ZWNobmljYWwgaXNzdWUsIHRoaXMgbm90ZSB3YXMg
aGVsZCB1cCwgY2F1c2luZyBzaWduaWZpY2FudCBkZWxheS4gV2UgYXBvbG9naXplISAqKioNCg0K
VGhlIE9wZW5BRlMgRm91bmRhdGlvbiBjb3JkaWFsbHkgaW52aXRlcyB5b3UgdG8gb3VyIDIwMjUg
T3BlbkFGUyBXb3Jrc2hvcCwgYSB2aXJ0dWFsIGV2ZW50IHRvIHRha2UgcGxhY2UgaW4gdHdvIG1v
bnRocyBmcm9tIG5vdywgSnVuZSA5IGFuZCAxMCwgZnJlZSBvZiBjaGFyZ2UgdG8geW91Lg0KDQpB
cyBhbHdheXMsIGEgV29ya3Nob3AgbGl2ZXMgYW5kIGJyZWF0aGVzIGJ5IHRoZSBjb250cmlidXRp
b25zIG9mIHRoZSBjb21tdW5pdHkgcGFydGljaXBhbnRzLi4uIGluY2x1ZGluZyBZT1UuIFBsZWFz
ZSBjb25zaWRlciBsZWFkaW5nIGEgd29ya3Nob3Agc2Vzc2lvbiBieSBnaXZpbmcgYSBwcmVzZW50
YXRpb24sIHN1Z2dlc3RpbmcgYSBkaXNjdXNzaW9uIHRvcGljIG9mIGludGVyZXN0LCBvciByZXF1
ZXN0aW5nIGEgcGFuZWwgZGlzY3Vzc2lvbiBvbiBxdWVzdGlvbnMgYW5kL29yIHBhaW4gcG9pbnRz
LiAgVGhlIHdvcmtzaG9wIHBhcnRpY2lwYW50cyBhcmUgInlvdXIgdHJpYmUsIiBzbyBkb24ndCBi
ZSBzaHkuICBXZSBhcmUgb3BlbiB0byBhbnkgcmVxdWVzdHMgYWJvdXQgYW55dGhpbmcgT3BlbkFG
Uy4uLiBhbmQgeW91IGFyZSBnaXZlbiB0aGUgdW5pcXVlIG9wcG9ydHVuaXR5IHRvIGhlbHAgc2hh
cGUgdGhlIGV2ZW50Lg0KDQpDQUxMIEZPUiBQUk9QT1NBTFMuLi4gRFVFIEFQUklMIDIxLCAyMDI1
Og0KDQpXZSBhcmUgdXJnaW5nIHlvdSB0byBjb25zaWRlciBzdWJtaXR0aW5nIGEgcHJlc2VudGF0
aW9uIHByb3Bvc2FsIGZvciBvdXIgV29ya3Nob3AuIFlvdSBjYW4gZmluZCBoZWxwZnVsIGluZm8s
IHNjb3BlIGd1aWRlbGluZXMsIGFuZCBzdWJtaXNzaW9uIGluc3RydWN0aW9ucyB1bmRlciB0aGUg
bWlkZGxlIHRhYiAgYXQgaHR0cHM6Ly93d3cub3BlbmFmc2ZvdW5kYXRpb24ub3JnL3VzZXItZXZl
bnRzLzIwMjUtb3BlbmFmcy13b3Jrc2hvcC8uDQoNCkNPTUlORyBTT09OLi4uIFNDSEVEVUxFIEFO
RCBSRUdJU1RSQVRJT04gSU5GTzoNCg0KU2NoZWR1bGU6IFRoZSB3b3Jrc2hvcCBkYXlzIGFyZSBz
ZXQgZm9yIEp1bmUgOSBhbmQgMTAsIDIwMjUuICBBZnRlciB3ZSB3aWxsIGhhdmUgYnVpbHQgdGhl
IHdvcmtzaG9wIHNjaGVkdWxlIGJhc2VkIG9uIHlvdXIgc3VibWlzc2lvbnMsIHlvdSB3aWxsIGJl
IGFibGUgdG8gZmluZCB0aGVtIHVuZGVyIGFub3RoZXIgdGFiIGF0IHRoZSBzYW1lIFVSTC4NClJl
Z2lzdHJhdGlvbjogVGhlIHJlZ2lzdHJhdGlvbiBpcyBsaXZlLiBJZiB0aGVyZSBpcyBldmVuIGEg
cmVtb3RlIGNoYW5jZSB5b3UgbWlnaHQgYXR0ZW5kLCB5b3UgTVVTVCByZWdpc3RlciB0byByZWNl
aXZlIGxvZy1pbiBjcmVkZW50aWFscyBmb3Igem9vbS4gVGhhbmtzLiBUbyByZWdpc3RlciwgZWl0
aGVyIHVzZSBhbm90aGVyIHRhYiBhdCB0aGUgc2FtZSBVUkwgKGFib3ZlKSBvciB1c2UgaHR0cHM6
Ly93d3cuZXZlbnRicml0ZS5jb20vZS8yMDI1LW9wZW5hZnMtd29ya3Nob3AtdGlja2V0cy0xMzAz
NDQ1MDYyMjY5P2FmZj1lYmRzc2JkZXN0c2VhcmNoIHRvIGdvIGRpcmVjdGx5IHRvIEV2ZW50QnJp
dGUuDQouDQpXZSB3aWxsIHBvcHVsYXRlIHRoZXNlIHRhYnMgYXMgc3dpZnRseSBhcyBwb3NzaWJs
ZS4gUGxlYXNlIGNoZWNrIGJhY2shDQoNCldlIGFyZSBsb29raW5nIGZvcndhcmQgdG8gaGVhcmlu
ZyBmcm9tIHlvdS4uLiBhbmQgdG8gc2VlaW5nIHlvdSB2aXJ0dWFsbHkgYXQgdGhlIHdvcmtzaG9w
IGl0c2VsZi4NCg0KV2FybSB3aXNoZXMsDQpNYXJnYXJldGUgWmllbWVyLCBTZWNyZXRhcnkgb2Yg
dGhlIEJvYXJkDQpUaGUgT3BlbkFGUyBGb3VuZGF0aW9uDQo=

--_000_LV3PR15MB6388AA0BF4C28B3B9374BB878A8E2LV3PR15MB6388namp_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl
PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6
SGVsdmV0aWNhOw0KCXBhbm9zZS0xOjIgMTEgNiA0IDIgMiAyIDIgMiA0O30NCkBmb250LWZhY2UN
Cgl7Zm9udC1mYW1pbHk6IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAz
IDIgNDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJcGFub3NlLTE6MiAx
NSA1IDIgMiAyIDQgMyAyIDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseTpBcHRvczt9DQov
KiBTdHlsZSBEZWZpbml0aW9ucyAqLw0KcC5Nc29Ob3JtYWwsIGxpLk1zb05vcm1hbCwgZGl2Lk1z
b05vcm1hbA0KCXttYXJnaW46MGluOw0KCWZvbnQtc2l6ZToxMi4wcHQ7DQoJZm9udC1mYW1pbHk6
IkFwdG9zIixzYW5zLXNlcmlmO30NCmE6bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsNCgl7bXNvLXN0
eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9yOmJsdWU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGlu
ZTt9DQpzcGFuLkVtYWlsU3R5bGUxOQ0KCXttc28tc3R5bGUtdHlwZTpwZXJzb25hbC1yZXBseTsN
Cglmb250LWZhbWlseToiQXJpYWwiLHNhbnMtc2VyaWY7DQoJY29sb3I6d2luZG93dGV4dDt9DQou
TXNvQ2hwRGVmYXVsdA0KCXttc28tc3R5bGUtdHlwZTpleHBvcnQtb25seTsNCglmb250LXNpemU6
MTAuMHB0Ow0KCW1zby1saWdhdHVyZXM6bm9uZTt9DQpAcGFnZSBXb3JkU2VjdGlvbjENCgl7c2l6
ZTo4LjVpbiAxMS4waW47DQoJbWFyZ2luOjEuMGluIDEuMGluIDEuMGluIDEuMGluO30NCmRpdi5X
b3JkU2VjdGlvbjENCgl7cGFnZTpXb3JkU2VjdGlvbjE7fQ0KLS0+PC9zdHlsZT48IS0tW2lmIGd0
ZSBtc28gOV0+PHhtbD4NCjxvOnNoYXBlZGVmYXVsdHMgdjpleHQ9ImVkaXQiIHNwaWRtYXg9IjEw
MjYiIC8+DQo8L3htbD48IVtlbmRpZl0tLT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxvOnNo
YXBlbGF5b3V0IHY6ZXh0PSJlZGl0Ij4NCjxvOmlkbWFwIHY6ZXh0PSJlZGl0IiBkYXRhPSIxIiAv
Pg0KPC9vOnNoYXBlbGF5b3V0PjwveG1sPjwhW2VuZGlmXS0tPg0KPC9oZWFkPg0KPGJvZHkgbGFu
Zz0iRU4tVVMiIGxpbms9ImJsdWUiIHZsaW5rPSJwdXJwbGUiIHN0eWxlPSJ3b3JkLXdyYXA6YnJl
YWstd29yZCI+DQo8ZGl2IGNsYXNzPSJXb3JkU2VjdGlvbjEiPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwm
cXVvdDssc2Fucy1zZXJpZiI+SGkgQWxsIOKAkzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5
OiZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWYiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2Zv
bnQtZmFtaWx5OiZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWYiPlRvZGF5IGlzIHRoZSBkZWFk
bGluZSBmb3Igc3VibWl0dGluZyB5b3VyIHByb3Bvc2FscyBmb3IgdGhlIDIwMjUgT3BlbkFGUyBX
b3JrU2hvcC48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3Bh
biBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtBcmlhbCZxdW90Oyxz
YW5zLXNlcmlmIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj5QbGVhc2Ugc2VuZCB5b3VyIHByb3Bvc2FscyBmb3IgY29uc2lkZXJhdGlvbiB0byZuYnNw
OzxzdHJvbmc+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O0FwdG9zJnF1b3Q7LHNhbnMt
c2VyaWYiPjxhIGhyZWY9Im1haWx0bzpvcGVuYWZzLndvcmtzaG9wQGdtYWlsLmNvbT9zdWJqZWN0
PWNmcCIgdGFyZ2V0PSJfYmxhbmsiPm9wZW5hZnMud29ya3Nob3BAZ21haWwuY29tJm5ic3A7PC9h
Pjwvc3Bhbj48L3N0cm9uZz53aXRoIHRoZSBzdWJqZWN0Jm5ic3A7PGVtPjxzcGFuIHN0eWxlPSJm
b250LWZhbWlseTomcXVvdDtBcHRvcyZxdW90OyxzYW5zLXNlcmlmIj5jZnA8L3NwYW4+PC9lbT4u
PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPlRoYW5rcyBmb3IgeW91ciBoZWxwPG86cD48L286cD48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPlRvZGQgRGVTYW50aXM8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0Fy
aWFsJnF1b3Q7LHNhbnMtc2VyaWYiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5
OiZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWYiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwv
cD4NCjxkaXY+DQo8ZGl2IHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItdG9wOnNvbGlkICNFMUUx
RTEgMS4wcHQ7cGFkZGluZzozLjBwdCAwaW4gMGluIDBpbiI+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxp
YnJpJnF1b3Q7LHNhbnMtc2VyaWYiPkZyb206PC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1z
aXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPiBU
b2RkIERlc2FudGlzDQo8YnI+DQo8Yj5TZW50OjwvYj4gU2F0dXJkYXksIEFwcmlsIDE5LCAyMDI1
IDU6MjIgUE08YnI+DQo8Yj5Ubzo8L2I+IE9wZW5BRlMgSW5mbyAmbHQ7T3BlbkFGUy1pbmZvQG9w
ZW5hZnMub3JnJmd0Ozsgb3BlbmFmcy1kZXZlbEBvcGVuYWZzLm9yZzsgb3BlbmFmcy1hbm5vdW5j
ZUBvcGVuYWZzLm9yZzxicj4NCjxiPkNjOjwvYj4gb3BlbmFmcy53b3Jrc2hvcEBnbWFpbC5jb208
YnI+DQo8Yj5TdWJqZWN0OjwvYj4gRlc6IFtFWFRFUk5BTF0gUmU6IFtPcGVuQUZTLWFubm91bmNl
XSBVUkdFTlQ6IENhbGwgZm9yIHByb3Bvc2FscyBkdWUgMDUvMDUvMjAyNSAoZm9yIHZpcnR1YWwg
MjAyNSBPcGVuQUZTIFdvcmtzaG9wIG9uIDA2LzA5LTA2LzEwKTxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjwvZGl2Pg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpw
PjwvcD4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5IaSBBbGwg4oCTPG86cD48L286cD48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPldlIGFwb2xvZ2l6ZSBmb3IgdGhlIGVtYWlsIGdvaW5nIG91dCBzbyBsYXRl
LCB3ZSBoYXZlIGV4dGVuZGVkIHRoZSBkZWFkbGluZS48YnI+DQo8YnI+DQpUaGUgZGVhZGxpbmUg
Zm9yIHN1Ym1pdHRpbmcgdGhlIENhbGwgRm9yIFByb3Bvc2FscyBoYXMgYmVlbiBtb3ZlZCB0byBN
b25kYXksIE1heSA1dGguPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpw
PiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPlRoYW5rcyBmb3IgeW91ciBo
ZWxwPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpw
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPlRvZGQgRGVTYW50aXM8bzpwPjwvbzpwPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPlRoZSBPcGVuQUZTIEZvdW5kYXRpb248bzpwPjwvbzpwPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+T24gNC8xNC8yMDI1IDEwOjQyIEFNLCBPcGVuQUZTIFdvcmtzaG9wIHdyb3Rl
OjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8YmxvY2txdW90ZSBzdHlsZT0ibWFyZ2luLXRvcDo1
LjBwdDttYXJnaW4tYm90dG9tOjUuMHB0Ij4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+PGI+KioqIER1ZSB0byBhIHRlY2huaWNhbCBpc3N1ZSwgdGhpcyBub3RlIHdhcyBoZWxk
IHVwLCBjYXVzaW5nIHNpZ25pZmljYW50IGRlbGF5LiBXZSBhcG9sb2dpemUhICoqKjwvYj48bzpw
PjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5i
c3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+VGhlIE9w
ZW5BRlMgRm91bmRhdGlvbiBjb3JkaWFsbHkgaW52aXRlcyB5b3UgdG8gb3VyIDIwMjUgT3BlbkFG
UyBXb3Jrc2hvcCwgYSB2aXJ0dWFsIGV2ZW50IHRvIHRha2UgcGxhY2UgaW4gdHdvIG1vbnRocyBm
cm9tIG5vdywgSnVuZSA5IGFuZCAxMCwgZnJlZSBvZiBjaGFyZ2UgdG8geW91LiZuYnNwOyZuYnNw
OzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86
cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5B
cyBhbHdheXMsIGEgV29ya3Nob3AgbGl2ZXMgYW5kIGJyZWF0aGVzIGJ5IHRoZSBjb250cmlidXRp
b25zIG9mIHRoZSBjb21tdW5pdHkgcGFydGljaXBhbnRzLi4uIGluY2x1ZGluZyBZT1UuIFBsZWFz
ZSBjb25zaWRlciBsZWFkaW5nIGEgd29ya3Nob3Agc2Vzc2lvbiBieSBnaXZpbmcgYSBwcmVzZW50
YXRpb24sIHN1Z2dlc3RpbmcgYSBkaXNjdXNzaW9uIHRvcGljIG9mIGludGVyZXN0LCBvciByZXF1
ZXN0aW5nDQogYSBwYW5lbCBkaXNjdXNzaW9uIG9uIHF1ZXN0aW9ucyBhbmQvb3IgcGFpbiBwb2lu
dHMuJm5ic3A7IFRoZSB3b3Jrc2hvcCBwYXJ0aWNpcGFudHMgYXJlICZxdW90O3lvdXIgdHJpYmUs
JnF1b3Q7IHNvIGRvbid0IGJlIHNoeS4mbmJzcDsgV2UgYXJlIG9wZW4gdG8gYW55IHJlcXVlc3Rz
IGFib3V0IGFueXRoaW5nIE9wZW5BRlMuLi4gYW5kIHlvdSBhcmUgZ2l2ZW4gdGhlIHVuaXF1ZSBv
cHBvcnR1bml0eSB0byBoZWxwIHNoYXBlIHRoZSBldmVudC48bzpwPjwvbzpwPjwvcD4NCjwvZGl2
Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9k
aXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+Q0FMTCBGT1IgUFJPUE9TQUxTLi4u
IERVRSBBUFJJTCAyMSwgMjAyNTo8L2I+PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPldlIGFyZSB1cmdpbmcgeW91IHRvIGNvbnNpZGVyIHN1Ym1p
dHRpbmcgYSBwcmVzZW50YXRpb24gcHJvcG9zYWwgZm9yIG91ciBXb3Jrc2hvcC4gWW91IGNhbiBm
aW5kIGhlbHBmdWwmbmJzcDtpbmZvLCBzY29wZSBndWlkZWxpbmVzLCBhbmQgc3VibWlzc2lvbiBp
bnN0cnVjdGlvbnMgdW5kZXIgdGhlIG1pZGRsZSB0YWImbmJzcDsgYXQmbmJzcDs8YSBocmVmPSJo
dHRwczovL3d3dy5vcGVuYWZzZm91bmRhdGlvbi5vcmcvdXNlci1ldmVudHMvMjAyNS1vcGVuYWZz
LXdvcmtzaG9wLyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vd3d3Lm9wZW5hZnNmb3VuZGF0aW9u
Lm9yZy91c2VyLWV2ZW50cy8yMDI1LW9wZW5hZnMtd29ya3Nob3AvPC9hPi48bzpwPjwvbzpwPjwv
cD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+
PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+Q09NSU5HIFNPT04u
Li4gU0NIRURVTEUgQU5EIFJFR0lTVFJBVElPTiBJTkZPOjwvYj48bzpwPjwvbzpwPjwvcD4NCjwv
ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0K
PC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+U2NoZWR1bGU6IFRoZSB3b3Jrc2hv
cCBkYXlzIGFyZSBzZXQgZm9yIEp1bmUgOSBhbmQgMTAsIDIwMjUuJm5ic3A7IEFmdGVyIHdlIHdp
bGwgaGF2ZSBidWlsdCB0aGUgd29ya3Nob3Agc2NoZWR1bGUgYmFzZWQgb24geW91ciBzdWJtaXNz
aW9ucywgeW91IHdpbGwgYmUgYWJsZSB0byBmaW5kIHRoZW0gdW5kZXIgYW5vdGhlciB0YWIgYXQg
dGhlIHNhbWUgVVJMLjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+UmVnaXN0cmF0aW9uOiBUaGUgcmVnaXN0cmF0aW9uIGlzIGxpdmUuIElmIHRoZXJl
IGlzIGV2ZW4gYSByZW1vdGUgY2hhbmNlIHlvdSBtaWdodCBhdHRlbmQsIHlvdSBNVVNUIHJlZ2lz
dGVyIHRvIHJlY2VpdmUgbG9nLWluIGNyZWRlbnRpYWxzIGZvciB6b29tLiBUaGFua3MuIFRvIHJl
Z2lzdGVyLCBlaXRoZXIgdXNlIGFub3RoZXIgdGFiIGF0IHRoZSBzYW1lIFVSTCAoYWJvdmUpIG9y
IHVzZSZuYnNwOzxzcGFuIHN0eWxlPSJmb250LXNpemU6OS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7
SGVsdmV0aWNhJnF1b3Q7LHNhbnMtc2VyaWYiPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmV2ZW50YnJp
dGUuY29tL2UvMjAyNS1vcGVuYWZzLXdvcmtzaG9wLXRpY2tldHMtMTMwMzQ0NTA2MjI2OT9hZmY9
ZWJkc3NiZGVzdHNlYXJjaCI+aHR0cHM6Ly93d3cuZXZlbnRicml0ZS5jb20vZS8yMDI1LW9wZW5h
ZnMtd29ya3Nob3AtdGlja2V0cy0xMzAzNDQ1MDYyMjY5P2FmZj1lYmRzc2JkZXN0c2VhcmNoPC9h
Pg0KIHRvIGdvIGRpcmVjdGx5IHRvIEV2ZW50QnJpdGUuPC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0K
PC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+LjxvOnA+PC9vOnA+PC9wPg0KPC9k
aXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+V2Ugd2lsbCBwb3B1bGF0ZSB0aGVzZSB0
YWJzIGFzIHN3aWZ0bHkgYXMgcG9zc2libGUuIFBsZWFzZSBjaGVjayBiYWNrITxvOnA+PC9vOnA+
PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286
cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5XZSBhcmUgbG9va2lu
ZyBmb3J3YXJkIHRvIGhlYXJpbmcgZnJvbSB5b3UuLi4gYW5kIHRvIHNlZWluZyB5b3UgdmlydHVh
bGx5IGF0IHRoZSB3b3Jrc2hvcCBpdHNlbGYuPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRp
dj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPldhcm0gd2lzaGVzLDxvOnA+PC9vOnA+PC9wPg0KPC9k
aXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+TWFyZ2FyZXRlIFppZW1lciwgU2VjcmV0
YXJ5IG9mIHRoZSBCb2FyZDxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+VGhlIE9wZW5BRlMgRm91bmRhdGlvbjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+
DQo8L2Rpdj4NCjwvYmxvY2txdW90ZT4NCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0K

--_000_LV3PR15MB6388AA0BF4C28B3B9374BB878A8E2LV3PR15MB6388namp_--

From cwills@sinenomine.net  Sat May 17 17:06:48 2025
From: cwills@sinenomine.net (Cheyenne Wills)
Date: Sat, 17 May 2025 10:06:48 -0600
Subject: [OpenAFS-devel] [PATCH] afs, bash: Fix open(O_CREAT) on an
 extant AFS file in a sticky dir
In-Reply-To: <433928.1745944651@warthog.procyon.org.uk>
References: <433928.1745944651@warthog.procyon.org.uk>
Message-ID: <20250517100648.3bcd9c1a.cwills@sinenomine.net>

On Tue, 29 Apr 2025 17:37:31 +0100
David Howells <dhowells@redhat.com> wrote:
>     
> Bash has a work around in redir_open() that causes open(O_CREAT) of a
> file in a sticky directory to be retried without O_CREAT if bash was
> built with AFS workarounds configured:
> 
>         #if defined (AFS)
>               if ((fd < 0) && (errno == EACCES))
>             {
>               fd = open (filename, flags & ~O_CREAT, mode);
>               errno = EACCES;    /* restore errno */
>             }
> 
>         #endif /* AFS */
> 
> This works around the kernel not being able to validly check the
> current_fsuid() against i_uid on the file or the directory because the
> uidspaces of the system and of AFS may well be disjoint.  The problem
> lies with the uid checks in may_create_in_sticky().
> 
> However, the bash work around is going to be removed:
> 
>         https://git.savannah.gnu.org/cgit/bash.git/tree/redir.c?h=bash-5.3-rc1#n733
> 
> ....
> 
> This can be tested by creating a sticky directory (the user must have
> a token to do this) and creating a file in it.  Then strace bash
> doing "echo foo >>file" and look at whether bash does a single,
> successful O_CREAT open on the file or whether that one fails and
> then bash does one without O_CREAT that succeeds.
> 

I performed the following test on 2 systems, one a centos 6 system with
bash 4.1.2 running openafs 1.8.13.1, the other, a current gentoo system
with bash 5.2 (without the "afs" USE option as well) with openafs built
off the master branch.

Within an afs directory:

    mkdir testdir
    chmod +x testdir
    cd testdir
    echo "1234" > somefile
    echo "abcd" >> somefile  << did this while stracing the bash process

I only see one "open" in the strace output:
    $ strace -f -o bashtrace -p 1323 
    Process 1323 attached
    ^CProcess 1323 detached
    $ grep -i open bashtrace 
    1323  open("somefile", O_WRONLY|O_CREAT|O_APPEND, 0666) = 3
    $

So, assuming David's test is correct, it appears that the bash
workaround in redir_open is no longer needed with the more recent
openafs versions.

From cwills@sinenomine.net  Sat May 17 17:25:17 2025
From: cwills@sinenomine.net (Cheyenne Wills)
Date: Sat, 17 May 2025 10:25:17 -0600
Subject: [OpenAFS-devel] [PATCH] afs, bash: Fix open(O_CREAT) on an
 extant AFS file in a sticky dir
In-Reply-To: <20250517100648.3bcd9c1a.cwills@sinenomine.net>
References: <433928.1745944651@warthog.procyon.org.uk>
 <20250517100648.3bcd9c1a.cwills@sinenomine.net>
Message-ID: <20250517102517.7b518c6a.cwills@sinenomine.net>

On Sat, 17 May 2025 10:06:48 -0600
Cheyenne Wills <cwills@sinenomine.net> wrote:

> 
>     mkdir testdir
>     chmod +x testdir   

This was really a chmod +t testdir  (I didn't do a copy/paste,
but fingerchecked while retyping the commands).


From jaltman@auristor.com  Sat May 17 22:04:17 2025
From: jaltman@auristor.com (Jeffrey E Altman)
Date: Sat, 17 May 2025 17:04:17 -0400
Subject: [OpenAFS-devel] [PATCH] afs, bash: Fix open(O_CREAT) on an extant
 AFS file in a sticky dir
In-Reply-To: <20250517100648.3bcd9c1a.cwills@sinenomine.net>
References: <433928.1745944651@warthog.procyon.org.uk>
 <20250517100648.3bcd9c1a.cwills@sinenomine.net>
Message-ID: <5d3ecbcf-9882-4c66-8f59-723ccdd45113@auristor.com>

This is a cryptographically signed message in MIME format.

--------------ms080309010101010701030404
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gNS8xNy8yMDI1IDEyOjA2IFBNLCBDaGV5ZW5uZSBXaWxscyB3cm90ZToNCg0KPiBPbiBU
dWUsIDI5IEFwciAyMDI1IDE3OjM3OjMxICswMTAwDQo+IERhdmlkIEhvd2VsbHMgPGRob3dl
bGxzQHJlZGhhdC5jb20+IHdyb3RlOg0KPj4gLi4uLg0KPj4NCj4+IFRoaXMgY2FuIGJlIHRl
c3RlZCBieSBjcmVhdGluZyBhIHN0aWNreSBkaXJlY3RvcnkgKHRoZSB1c2VyIG11c3QgaGF2
ZQ0KPj4gYSB0b2tlbiB0byBkbyB0aGlzKSBhbmQgY3JlYXRpbmcgYSBmaWxlIGluIGl0LiAg
VGhlbiBzdHJhY2UgYmFzaA0KPj4gZG9pbmcgImVjaG8gZm9vID4+ZmlsZSIgYW5kIGxvb2sg
YXQgd2hldGhlciBiYXNoIGRvZXMgYSBzaW5nbGUsDQo+PiBzdWNjZXNzZnVsIE9fQ1JFQVQg
b3BlbiBvbiB0aGUgZmlsZSBvciB3aGV0aGVyIHRoYXQgb25lIGZhaWxzIGFuZA0KPj4gdGhl
biBiYXNoIGRvZXMgb25lIHdpdGhvdXQgT19DUkVBVCB0aGF0IHN1Y2NlZWRzLg0KPj4NCj4g
SSBwZXJmb3JtZWQgdGhlIGZvbGxvd2luZyB0ZXN0IG9uIDIgc3lzdGVtcywgb25lIGEgY2Vu
dG9zIDYgc3lzdGVtIHdpdGgNCj4gYmFzaCA0LjEuMiBydW5uaW5nIG9wZW5hZnMgMS44LjEz
LjEsIHRoZSBvdGhlciwgYSBjdXJyZW50IGdlbnRvbyBzeXN0ZW0NCj4gd2l0aCBiYXNoIDUu
MiAod2l0aG91dCB0aGUgImFmcyIgVVNFIG9wdGlvbiBhcyB3ZWxsKSB3aXRoIG9wZW5hZnMg
YnVpbHQNCj4gb2ZmIHRoZSBtYXN0ZXIgYnJhbmNoLg0KPg0KPiAuLi4NCj4NCj4gU28sIGFz
c3VtaW5nIERhdmlkJ3MgdGVzdCBpcyBjb3JyZWN0LCBpdCBhcHBlYXJzIHRoYXQgdGhlIGJh
c2gNCj4gd29ya2Fyb3VuZCBpbiByZWRpcl9vcGVuIGlzIG5vIGxvbmdlciBuZWVkZWQgd2l0
aCB0aGUgbW9yZSByZWNlbnQNCj4gb3BlbmFmcyB2ZXJzaW9ucy4NCg0KRGF2aWQncyB0ZXN0
IGlzIGZvciB0aGUgZnMvcHJvdGVjdGVkX3JlZ3VsYXIgZnVuY3Rpb25hbGl0eSB3aGljaCBp
cyANCmJyb2tlbiB3aXRoIHJlZ2FyZHMgdG8gQUZTIHdoZW4gdGhlIGxvY2FsIHVpZCBuYW1l
c3BhY2UgYW5kIHRoZSBBRlMgdWlkIA0KbmFtZXNwYWNlIGFyZSBkaXNqb2ludC7CoCBIaXMg
dGVzdCBpcyBub3QgZm9yIHRoZSBzaXR1YXRpb24gd2hpY2ggY2F1c2VkIA0KYmFzaCB0byBh
ZGQgdGhlIG9wZW4oZmxhZ3MgJiB+T19DUkVBVCkgZmFsbGJhY2sgbG9naWMgaW4gMTk5Mi7C
oCBUaGUgDQpMaW51eCBmcy9wcm90ZWN0ZWRfcmVndWxhciBmdW5jdGlvbmFsaXR5IGlzIG5v
dCBwcmVzZW50IGluIENlbnRPUyA2IA0Ka2VybmVsIHNvIGNvdWxkIG5vdCBiZSB0cmlnZ2Vy
ZWQgYnkgdGhlIHRlc3Q7IGFuZCBiYXNoIG9uIGdlbnRvbyBpcyANCmJ1aWx0IHdpdGhvdXQg
dGhlIGZhbGxiYWNrIGFuZCB0aGUgZnMvcHJvdGVjdGVkX3JlZ3VsYXIgZnVuY3Rpb25hbGl0
eSANCm1pZ2h0IG5vdCBiZSBlbmFibGVkIGJ5IGRlZmF1bHQuwqAgSXQgc2hvdWxkIGFsc28g
YmUgbm90ZWQgdGhhdCB0aGUgT1MgDQpmb3Igd2hpY2ggdGhlIGJhc2ggZmFsbGJhY2sgbG9n
aWMgd2FzIGludHJvZHVjZWQgd2FzIG5vdCBMaW51eC4NCg0KSSBkbyBub3QgYmVsaWV2ZSB0
aGF0IGFueSBjb25jbHVzaW9ucyBjYW4gYmUgbWFkZSBmcm9tIHRoZSB0ZXN0cyB0aGF0IA0K
aGF2ZSBiZWVuIHBlcmZvcm1lZC4NCg0KSUJNIEFGUyAzLjIgaW5jbHVkZWQgYSBjbGllbnQg
c2lkZSBjaGFuZ2UgdG8gYWRkcmVzcyB0aGUgbmFycm93IHVzZSBjYXNlIA0KaW52b2x2aW5n
IEFGUyBBQ0xzIGdyYW50aW5nIG9ubHkgImxpdyIgcmlnaHRzIHdoaWNoIGJyb2tlIHRoZSBD
TVUgbWFpbCANCmRlbGl2ZXJ5IHN5c3RlbS7CoCBIb3dldmVyLCBJQk0gZGlkIG5vdCBhZGRy
ZXNzIGFsbCBvZiB0aGUgcG9zc2libGUgDQpzY2VuYXJpb3Mgd2hpY2ggY291bGQgcmVzdWx0
IGluIGFuIE9fQ1JFQVQgb3BlbiBmYWlsaW5nIHdpdGggRUFDQ0VTIHdoZW4gDQphIH5PX0NS
RUFUIG9wZW4gd291bGQgc3VjY2VlZCBmb3IgYW4gZXhpc3RpbmcgZmlsZS7CoCBGb3IgZXhh
bXBsZSwgdGhlIA0KZmlsZXNlcnZlciB3aWxsIGZhaWwgTWtEaXIsIENyZWF0ZUZpbGUgYW5k
IENyZWF0ZVN5bWxpbmsgd2l0aCBFQUNDRVMgDQppbnN0ZWFkIG9mIEVFWElTVCBpZiB0aGUg
Y2FsbGVyIGxhY2tzIFBSU0ZTX0lOU0VSVC7CoCBBIGNvbXByZWhlbnNpdmUgDQphbmFseXNp
cyBvZiBjbGllbnQgc2lkZSBiZWhhdmlvciBpbiBPcGVuQUZTIGhhcyBub3QgYmVlbiBwZXJm
b3JtZWQgYnkgDQpBdXJpU3Rvci4NCg0KSmVmZnJleSBBbHRtYW4NCg0KDQo=

--------------ms080309010101010701030404
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCC
DHEwggXSMIIEuqADAgECAhBAAYJpmi/rPn/F0fJyDlzMMA0GCSqGSIb3DQEBCwUAMDoxCzAJ
BgNVBAYTAlVTMRIwEAYDVQQKEwlJZGVuVHJ1c3QxFzAVBgNVBAMTDlRydXN0SUQgQ0EgQTEz
MB4XDTIyMDgwNDE2MDQ0OFoXDTI1MTAzMTE2MDM0OFowcDEvMC0GCgmSJomT8ixkAQETH0Ew
MTQxMEQwMDAwMDE4MjY5OUEyRkQyMDAwMjMzQ0QxGTAXBgNVBAMTEEplZmZyZXkgRSBBbHRt
YW4xFTATBgNVBAoTDEF1cmlTdG9yIEluYzELMAkGA1UEBhMCVVMwggEiMA0GCSqGSIb3DQEB
AQUAA4IBDwAwggEKAoIBAQCkC7PKBBZnQqDKPtZPMLAy77zo2DPvwtGnd1hNjPvbXrpGxUb3
xHZRtv179LHKAOcsY2jIctzieMxf82OMyhpBziMPsFAG/ukihBMFj3/xEeZVso3K27pSAyyN
fO/wJ0rX7G+ges22Dd7goZul8rPaTJBIxbZDuaykJMGpNq4PQ8VPcnYZx+6b+nJwJJoJ46kI
EEfNh3UKvB/vM0qtxS690iAdgmQIhTl+qfXq4IxWB6b+3NeQxgR6KLU4P7v88/tvJTpxIKkg
9xj89ruzeThyRFd2DSe3vfdnq9+g4qJSHRXyTft6W3Lkp7UWTM4kMqOcc4VSRdufVKBQNXjG
IcnhAgMBAAGjggKcMIICmDAOBgNVHQ8BAf8EBAMCBPAwgYQGCCsGAQUFBwEBBHgwdjAwBggr
BgEFBQcwAYYkaHR0cDovL2NvbW1lcmNpYWwub2NzcC5pZGVudHJ1c3QuY29tMEIGCCsGAQUF
BzAChjZodHRwOi8vdmFsaWRhdGlvbi5pZGVudHJ1c3QuY29tL2NlcnRzL3RydXN0aWRjYWEx
My5wN2MwHwYDVR0jBBgwFoAULbfeG1l+KpguzeHUG+PFEBJe6RQwCQYDVR0TBAIwADCCASsG
A1UdIASCASIwggEeMIIBGgYLYIZIAYb5LwAGAgEwggEJMEoGCCsGAQUFBwIBFj5odHRwczov
L3NlY3VyZS5pZGVudHJ1c3QuY29tL2NlcnRpZmljYXRlcy9wb2xpY3kvdHMvaW5kZXguaHRt
bDCBugYIKwYBBQUHAgIwga0MgapUaGlzIFRydXN0SUQgQ2VydGlmaWNhdGUgaGFzIGJlZW4g
aXNzdWVkIGluIGFjY29yZGFuY2Ugd2l0aCBJZGVuVHJ1c3QncyBUcnVzdElEIENlcnRpZmlj
YXRlIFBvbGljeSBmb3VuZCBhdCBodHRwczovL3NlY3VyZS5pZGVudHJ1c3QuY29tL2NlcnRp
ZmljYXRlcy9wb2xpY3kvdHMvaW5kZXguaHRtbDBFBgNVHR8EPjA8MDqgOKA2hjRodHRwOi8v
dmFsaWRhdGlvbi5pZGVudHJ1c3QuY29tL2NybC90cnVzdGlkY2FhMTMuY3JsMB8GA1UdEQQY
MBaBFGphbHRtYW5AYXVyaXN0b3IuY29tMB0GA1UdDgQWBBQB+nzqgljLocLTsiUn2yWqEc2s
gjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwDQYJKoZIhvcNAQELBQADggEBAJwV
eycprp8Ox1npiTyfwc5QaVaqtoe8Dcg2JXZc0h4DmYGW2rRLHp8YL43snEV93rPJVk6B2v4c
WLeQfaMrnyNeEuvHx/2CT44cdLtaEk5zyqo3GYJYlLcRVz6EcSGHv1qPXgDT0xB/25etwGYq
utYF4Chkxu4KzIpq90eDMw5ajkexw+8ARQz4N5+d6NRbmMCovd7wTGi8th/BZvz8hgKUiUJo
Qle4wDxrdXdnIhCP7g87InXKefWgZBF4VX21t2+hkc04qrhIJlHrocPG9mRSnnk2WpsY0MXt
a8ivbVKtfpY7uSNDZSKTDi1izEFH5oeQdYRkgIGb319a7FjslV8wggaXMIIEf6ADAgECAhBA
AXA7OrqBjMk8rp4OuNQSMA0GCSqGSIb3DQEBCwUAMEoxCzAJBgNVBAYTAlVTMRIwEAYDVQQK
EwlJZGVuVHJ1c3QxJzAlBgNVBAMTHklkZW5UcnVzdCBDb21tZXJjaWFsIFJvb3QgQ0EgMTAe
Fw0yMDAyMTIyMTA3NDlaFw0zMDAyMTIyMTA3NDlaMDoxCzAJBgNVBAYTAlVTMRIwEAYDVQQK
EwlJZGVuVHJ1c3QxFzAVBgNVBAMTDlRydXN0SUQgQ0EgQTEzMIIBIjANBgkqhkiG9w0BAQEF
AAOCAQ8AMIIBCgKCAQEAu6sUO01SDD99PM+QdZkNxKxJNt0NgQE+Zt6ixaNP0JKSjTd+SG5L
wqxBWjnOgI/3dlwgtSNeN77AgSs+rA4bK4GJ75cUZZANUXRKw/et8pf9Qn6iqgB63OdHxBN/
15KbM3HR+PyiHXQoUVIevCKW8nnlWnnZabT1FejOhRRKVUg5HACGOTfnCOONrlxlg+m1Vjgn
o1uNqNuLM/jkD1z6phNZ/G9IfZGI0ppHX5AA/bViWceX248VmefNhSR14ADZJtlAAWOi2un0
3bqrBPHA9nDyXxI8rgWLfUP5rDy8jx2hEItg95+ORF5wfkGUq787HBjspE86CcaduLka/Bk2
VwIDAQABo4IChzCCAoMwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwgYkG
CCsGAQUFBwEBBH0wezAwBggrBgEFBQcwAYYkaHR0cDovL2NvbW1lcmNpYWwub2NzcC5pZGVu
dHJ1c3QuY29tMEcGCCsGAQUFBzAChjtodHRwOi8vdmFsaWRhdGlvbi5pZGVudHJ1c3QuY29t
L3Jvb3RzL2NvbW1lcmNpYWxyb290Y2ExLnA3YzAfBgNVHSMEGDAWgBTtRBnA0/AGi+6ke75C
5yZUyI42djCCASQGA1UdIASCARswggEXMIIBEwYEVR0gADCCAQkwSgYIKwYBBQUHAgEWPmh0
dHBzOi8vc2VjdXJlLmlkZW50cnVzdC5jb20vY2VydGlmaWNhdGVzL3BvbGljeS90cy9pbmRl
eC5odG1sMIG6BggrBgEFBQcCAjCBrQyBqlRoaXMgVHJ1c3RJRCBDZXJ0aWZpY2F0ZSBoYXMg
YmVlbiBpc3N1ZWQgaW4gYWNjb3JkYW5jZSB3aXRoIElkZW5UcnVzdCdzIFRydXN0SUQgQ2Vy
dGlmaWNhdGUgUG9saWN5IGZvdW5kIGF0IGh0dHBzOi8vc2VjdXJlLmlkZW50cnVzdC5jb20v
Y2VydGlmaWNhdGVzL3BvbGljeS90cy9pbmRleC5odG1sMEoGA1UdHwRDMEEwP6A9oDuGOWh0
dHA6Ly92YWxpZGF0aW9uLmlkZW50cnVzdC5jb20vY3JsL2NvbW1lcmNpYWxyb290Y2ExLmNy
bDAdBgNVHQ4EFgQULbfeG1l+KpguzeHUG+PFEBJe6RQwHQYDVR0lBBYwFAYIKwYBBQUHAwIG
CCsGAQUFBwMEMA0GCSqGSIb3DQEBCwUAA4ICAQB/7BKcygLX6Nl4a03cDHt7TLdPxCzFvDF2
bkVYCFTRX47UfeomF1gBPFDee3H/IPlLRmuTPoNt0qjdpfQzmDWN95jUXLdLPRToNxyaoB5s
0hOhcV6H08u3FHACBif55i0DTDzVSaBv0AZ9h1XeuGx4Fih1Vm3Xxz24GBqqVudvPRLyMJ7u
6hvBqTIKJ53uCs3dyQLZT9DXnp+kJv8y7ZSAY+QVrI/dysT8avtn8d7k7azNBkfnbRq+0e88
QoBnel6u+fpwbd5NLRHywXeH+phbzULCa+bLPRMqJaW2lbhvSWrMHRDy3/d8HvgnLCBFK2s4
Spns4YCN4xVcbqlGWzgolHCKUH39vpcsDo1ymZFrJ8QR6ihIn8FmJ5oKwAnnd/G6ADXFC9bu
db9+532phSAXOZrrecIQn+vtP366PC+aClAPsIIDJDsotS5z4X2JUFsNIuEgXGqhiKE7SuZb
rFG9sdcLprSlJN7TsRDc0W2b9nqwD+rj/5MN0C+eKwha+8ydv0+qzTyxPP90KRgaegGowC4d
UsZyTk2n4Z3MuAHX5nAZL/Vh/SyDj/ajorV44yqZBzQ3ChKhXbfUSwe2xMmygA2Z5DRwMRJn
p/BscizYdNk2WXJMTnH+wVLN8sLEwEtQR4eTLoFmQvrK2AMBS9kW5sBkMzINt/ZbbcZ3F+eA
MDGCBAEwggP9AgEBME4wOjELMAkGA1UEBhMCVVMxEjAQBgNVBAoTCUlkZW5UcnVzdDEXMBUG
A1UEAxMOVHJ1c3RJRCBDQSBBMTMCEEABgmmaL+s+f8XR8nIOXMwwDQYJYIZIAWUDBAIBBQCg
ggKEMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTI1MDUxNzIx
MDQxOFowLwYJKoZIhvcNAQkEMSIEIAb18+ygcrPUPTczyV82GVJejPGcLnIsDOFAB/6QOcuF
MF0GCSsGAQQBgjcQBDFQME4wOjELMAkGA1UEBhMCVVMxEjAQBgNVBAoTCUlkZW5UcnVzdDEX
MBUGA1UEAxMOVHJ1c3RJRCBDQSBBMTMCEEABgmmaL+s+f8XR8nIOXMwwXwYLKoZIhvcNAQkQ
AgsxUKBOMDoxCzAJBgNVBAYTAlVTMRIwEAYDVQQKEwlJZGVuVHJ1c3QxFzAVBgNVBAMTDlRy
dXN0SUQgQ0EgQTEzAhBAAYJpmi/rPn/F0fJyDlzMMIIBVwYJKoZIhvcNAQkPMYIBSDCCAUQw
CwYJYIZIAWUDBAEqMAsGCWCGSAFlAwQBAjAKBggqhkiG9w0DBzANBggqhkiG9w0DAgIBBTAN
BggqhkiG9w0DAgIBBTAHBgUrDgMCBzANBggqhkiG9w0DAgIBBTAHBgUrDgMCGjALBglghkgB
ZQMEAgEwCwYJYIZIAWUDBAICMAsGCWCGSAFlAwQCAzALBglghkgBZQMEAgQwCwYJYIZIAWUD
BAIHMAsGCWCGSAFlAwQCCDALBglghkgBZQMEAgkwCwYJYIZIAWUDBAIKMAsGCSqGSIb3DQEB
ATALBgkrgQUQhkg/AAIwCAYGK4EEAQsAMAgGBiuBBAELATAIBgYrgQQBCwIwCAYGK4EEAQsD
MAsGCSuBBRCGSD8AAzAIBgYrgQQBDgAwCAYGK4EEAQ4BMAgGBiuBBAEOAjAIBgYrgQQBDgMw
DQYJKoZIhvcNAQEBBQAEggEARRXRO4ZmPhLV9lL730odrfRBWudD4XduQgO5hNen1qofYxOi
v/z1Gcjk1epd2R6qxPbP+e2v0w+HQ26jLOp2iIa6HAEWbUEXhEsO2m72URvlXqXRrWCNLVup
Z7gZxajmYECfuPryYfEyVs9zZifXQEQpdxVyw6ARdnyeHo53tHCgyWwUi0x9Vb1j5HBVCBg0
SEvuOJDHSzS6l653AXD1gyra2MnoGuZ89H3svSuqcXJDKIies8xhQOz4+p7fxiU9IPpeIX7k
RQvkyq/78XCqPU5ozFjhFLe4+PhZd8YsqE4JfYkH5wU5SDYwoQ6znM+6ExCOb2XScx2Tjjap
injXgQAAAAAAAA==
--------------ms080309010101010701030404--


From dhowells@redhat.com  Mon May 19 15:43:51 2025
From: dhowells@redhat.com (David Howells)
Date: Mon, 19 May 2025 15:43:51 +0100
Subject: [OpenAFS-devel] [PATCH] afs, bash: Fix open(O_CREAT) on an extant AFS file in a sticky dir
In-Reply-To: <20250517102517.7b518c6a.cwills@sinenomine.net>
References: <20250517102517.7b518c6a.cwills@sinenomine.net> <433928.1745944651@warthog.procyon.org.uk> <20250517100648.3bcd9c1a.cwills@sinenomine.net>
Message-ID: <2979095.1747665831@warthog.procyon.org.uk>

Cheyenne Wills <cwills@sinenomine.net> wrote:

> >     mkdir testdir
> >     chmod +x testdir   
> 
> This was really a chmod +t testdir  (I didn't do a copy/paste,
> but fingerchecked while retyping the commands).

Did that turn on other-write (o+w) also?

David


From cwills@sinenomine.net  Mon May 19 18:46:23 2025
From: cwills@sinenomine.net (Cheyenne Wills)
Date: Mon, 19 May 2025 11:46:23 -0600
Subject: [OpenAFS-devel] [PATCH] afs, bash: Fix open(O_CREAT) on an
 extant AFS file in a sticky dir
In-Reply-To: <5d3ecbcf-9882-4c66-8f59-723ccdd45113@auristor.com>
References: <433928.1745944651@warthog.procyon.org.uk>
 <20250517100648.3bcd9c1a.cwills@sinenomine.net>
 <5d3ecbcf-9882-4c66-8f59-723ccdd45113@auristor.com>
Message-ID: <20250519114623.51850cc2.cwills@sinenomine.net>

Thanks for the additional background information. =20

I wasn't aware of the problem associated with fs/protected_regular (nor
was it, I believe, mentioned in any of the prior messages in the
thread).  So I was focusing on trying to figure out if the original
reason why bash added the workaround was still present, and thought
that David's test as an method to check for it.

I'll have to dig into what the needs to be done to add support for
fs/protected_regular in OpenAFS.

--=20
Cheyenne Wills
cwills@sinenomine.net



On Sat, 17 May 2025 17:04:17 -0400
Jeffrey E Altman <jaltman@auristor.com> wrote:
> On 5/17/2025 12:06 PM, Cheyenne Wills wrote:
>=20
>  [...] =20
>  [...] =20
>  [...] =20
>=20
> David's test is for the fs/protected_regular functionality which is=20
> broken with regards to AFS when the local uid namespace and the AFS
> uid namespace are disjoint.=C2=A0 His test is not for the situation which
> caused bash to add the open(flags & ~O_CREAT) fallback logic in 1992.
>  The Linux fs/protected_regular functionality is not present in
> CentOS 6 kernel so could not be triggered by the test; and bash on
> gentoo is built without the fallback and the fs/protected_regular
> functionality might not be enabled by default.=C2=A0 It should also be
> noted that the OS for which the bash fallback logic was introduced
> was not Linux.
>=20
> I do not believe that any conclusions can be made from the tests that=20
> have been performed.
>=20
> IBM AFS 3.2 included a client side change to address the narrow use
> case involving AFS ACLs granting only "liw" rights which broke the
> CMU mail delivery system.=C2=A0 However, IBM did not address all of the
> possible scenarios which could result in an O_CREAT open failing with
> EACCES when a ~O_CREAT open would succeed for an existing file.=C2=A0 For
> example, the fileserver will fail MkDir, CreateFile and CreateSymlink
> with EACCES instead of EEXIST if the caller lacks PRSFS_INSERT.=C2=A0 A
> comprehensive analysis of client side behavior in OpenAFS has not
> been performed by AuriStor.
>=20
> Jeffrey Altman
>=20
>=20


From atd@us.ibm.com  Thu May 22 19:27:57 2025
From: atd@us.ibm.com (Todd Desantis)
Date: Thu, 22 May 2025 18:27:57 +0000
Subject: [OpenAFS-devel] The Virtual 2025 OpenAFS Workshop on 06/09 Schedule and Registration
Message-ID: <LV3PR15MB63883471F6572FA037AAE1A78A99A@LV3PR15MB6388.namprd15.prod.outlook.com>

--_000_LV3PR15MB63883471F6572FA037AAE1A78A99ALV3PR15MB6388namp_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Greetings ....

We have finalized the schedule for the OpenAFS Workshop scheduled for June =
9th.


SCHEDULE AND REGISTRATION INFO:

Schedule: The workshop is set for June 9th, 2025.  The workshop schedule ha=
s been set and you can view it and register form the following link ::


                    https://www.openafsfoundation.org/user-events/2025-open=
afs-workshop/<https://www.openafsfoundation.org/user-events/2025-openafs-wo=
rkshop/ >

Registration: The registration is live. If there is even a remote chance yo=
u might attend, you MUST register to receive log-in credentials for zoom. T=
hanks. To register, either use another tab at the same URL (above) or use h=
ttps://www.eventbrite.com/e/2025-openafs-workshop-tickets-1303445062269?aff=
=3Debdssbdestsearch<https://www.eventbrite.com/e/2025-openafs-workshop-tick=
ets-1303445062269?aff=3Debdssbdestsearch > to go directly to EventBrite.
.
We are looking forward to hearing from you... and to seeing you virtually a=
t the workshop itself.

Warm wishes,
Todd DeSantis
The OpenAFS Foundation


--_000_LV3PR15MB63883471F6572FA037AAE1A78A99ALV3PR15MB6388namp_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:dt=3D"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:m=3D"http://sc=
hemas.microsoft.com/office/2004/12/omml" xmlns=3D"http://www.w3.org/TR/REC-=
html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii">
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:Helvetica;
	panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Aptos;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	font-size:12.0pt;
	font-family:"Calibri",sans-serif;
	mso-ligatures:standardcontextual;}
span.EmailStyle17
	{mso-style-type:personal-compose;
	font-family:"Arial",sans-serif;
	color:windowtext;}
p.p1, li.p1, div.p1
	{mso-style-name:p1;
	margin:0in;
	font-size:9.0pt;
	font-family:"Helvetica",sans-serif;}
.MsoChpDefault
	{mso-style-type:export-only;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"EN-US" link=3D"#0563C1" vlink=3D"#954F72" style=3D"word-wrap:=
break-word">
<div class=3D"WordSection1">
<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:&quot;Ar=
ial&quot;,sans-serif">Greetings &#8230;.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:&quot;Ar=
ial&quot;,sans-serif"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:&quot;Ar=
ial&quot;,sans-serif">We have finalized the schedule for the OpenAFS Worksh=
op scheduled for June 9<sup>th</sup>.&nbsp;
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:&quot;Ar=
ial&quot;,sans-serif"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:&quot;Ar=
ial&quot;,sans-serif"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><b><span style=3D"font-family:&quot;Aptos&quot;,sans=
-serif;mso-ligatures:none">SCHEDULE AND REGISTRATION INFO:</span></b><span =
style=3D"font-family:&quot;Aptos&quot;,sans-serif;mso-ligatures:none"><o:p>=
</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Aptos&quot;,sans-se=
rif;mso-ligatures:none"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Aptos&quot;,sans-se=
rif;mso-ligatures:none">Schedule: The workshop is set for June 9th, 2025.&n=
bsp; The workshop schedule has been set and you can view it and register fo=
rm the following link ::<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Aptos&quot;,sans-se=
rif;mso-ligatures:none"><o:p>&nbsp;</o:p></span></p>
<p class=3D"p1"><span style=3D"font-family:&quot;Aptos&quot;,sans-serif">&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>
<u><a href=3D"https://www.openafsfoundation.org/user-events/2025-openafs-wo=
rkshop/"><span style=3D"color:#0563C1">https://www.openafsfoundation.org/us=
er-events/2025-openafs-workshop/</span></a></u>&nbsp;<o:p></o:p></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Aptos&quot;,sans-se=
rif;mso-ligatures:none"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Aptos&quot;,sans-se=
rif;mso-ligatures:none">Registration: The registration is live. If there is=
 even a remote chance you might attend, you MUST register to receive log-in=
 credentials for zoom. Thanks. To register, either
 use another tab at the same URL (above) or use&nbsp;</span><span style=3D"=
font-size:9.0pt;font-family:&quot;Helvetica&quot;,sans-serif;mso-ligatures:=
none"><a href=3D"https://www.eventbrite.com/e/2025-openafs-workshop-tickets=
-1303445062269?aff=3Debdssbdestsearch"><span style=3D"color:blue">https://w=
ww.eventbrite.com/e/2025-openafs-workshop-tickets-1303445062269?aff=3Debdss=
bdestsearch</span></a>
 to go directly to EventBrite.</span><span style=3D"font-family:&quot;Aptos=
&quot;,sans-serif;mso-ligatures:none"><o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Aptos&quot;,sans-se=
rif;mso-ligatures:none">.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Aptos&quot;,sans-se=
rif;mso-ligatures:none">We are looking forward to hearing from you... and t=
o seeing you virtually at the workshop itself.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Aptos&quot;,sans-se=
rif;mso-ligatures:none"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Aptos&quot;,sans-se=
rif;mso-ligatures:none">Warm wishes,<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Aptos&quot;,sans-se=
rif;mso-ligatures:none">Todd DeSantis<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Aptos&quot;,sans-se=
rif;mso-ligatures:none">The OpenAFS Foundation<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:&quot;Ar=
ial&quot;,sans-serif"><o:p>&nbsp;</o:p></span></p>
</div>
</body>
</html>

--_000_LV3PR15MB63883471F6572FA037AAE1A78A99ALV3PR15MB6388namp_--