secondlife / jira-archive

2 stars 0 forks source link

[BUG-234523] Remove xmlrpc-epi library and llxmlrpc #11433

Open sl-service-account opened 1 year ago

sl-service-account commented 1 year ago

How would you like the feature to work?

Second Life's viewer uses the xmlrpc-epi library in just three places:

llcurrencymanager llfloaterbuyland lllogininstance

Let's remove the dependency on this library, which has not been updated since 2009, and the wrapper code we have set up around it. In its place, just use expat/llxml to construct XML-RPC payloads and send over HTTP.

Doing this will mean we can delete a ton of code:


llxmlrpctransaction.cpp
llxmlrpctransaction.h
llxmlrpclistener.cpp
llxmlrpclistener.h
llfiltersd2xmlrpc.cpp
llfiltersd2xmlrpc.h

Why is this feature important to you? How would it benefit the community?

xmlrpc-epi hasn't been updated for over a decade, and we do not heavily use XML-RPC outside of three aforementioned APIs. We don't really use any actual XML-RPC functionality client-side, and even if we did this small amount of use doesn't justify the large amount of code supporting it.

Original Jira Fields | Field | Value | | ------------- | ------------- | | Issue | BUG-234523 | | Summary | Remove xmlrpc-epi library and llxmlrpc | | Type | New Feature Request | | Priority | Unset | | Status | Accepted | | Resolution | Accepted | | Reporter | Signal Linden (signal.linden) | | Created at | 2023-10-09T01:04:52Z | | Updated at | 2023-10-11T18:24:00Z | ``` { 'Build Id': 'unset', 'Business Unit': ['Platform'], 'Date of First Response': '2023-10-09T00:16:50.493-0500', 'How would you like the feature to work?': "Second Life's viewer uses the xmlrpc-epi library in just three places:\r\n\r\nllcurrencymanager\r\nllfloaterbuyland\r\nlllogininstance\r\n\r\nLet's remove the dependency on this library, which has not been updated since 2009, and the wrapper code we have set up around it. In its place, just use expat/llxml to construct XML-RPC payloads and send it with HTTP.\r\n\r\nRemove:\r\n\r\n{code}\r\nllxmlrpctransaction.cpp\r\nllxmlrpctransaction.h\r\nllxmlrpclistener.cpp\r\nllxmlrpclistener.h\r\nllfiltersd2xmlrpc.cpp\r\nllfiltersd2xmlrpc.h\r\n{code}", 'ReOpened Count': 0.0, 'Severity': 'Unset', 'Target Viewer Version': 'viewer-development', 'Why is this feature important to you? How would it benefit the community?': "xmlrpc-epi hasn't been updated for over a decade, and we do not heavily use XML-RPC outside of three aforementioned APIs. We don't really use any actual XML-RPC functionality client-side, and even if we did this small amount of use doesn't justify the large amount of code supporting it.", } ```
sl-service-account commented 1 year ago

Chaser Zaks commented at 2023-10-09T05:16:50Z

I could be wrong but I believe the login cgi even will accept json, so the payload doesn't even need to be sent over xmlrpc for that.

sl-service-account commented 1 year ago

Spidey Linden commented at 2023-10-11T18:23:55Z

Issue accepted. We have no estimate when it may be implemented. Please see future release notes for this fix.