{"action":"created","issue":{"url":"https://api.github.com/repos/libexpat/libexpat/issues/31","repository_url":"https://api.github.com/repos/libexpat/libexpat","labels_url":"https://api.github.com/repos/libexpat/libexpat/issues/31/labels{/name}","comments_url":"https://api.github.com/repos/libexpat/libexpat/issues/31/comments","events_url":"https://api.github.com/repos/libexpat/libexpat/issues/31/events","html_url":"https://github.com/libexpat/libexpat/issues/31","id":231448446,"number":31,"title":"Make ExternalEntityParser share hash salt rather than using a snapshot?","user":{"login":"hartwork","id":1577132,"avatar_url":"https://avatars2.githubusercontent.com/u/1577132?v=3","gravatar_id":"","url":"https://api.github.com/users/hartwork","html_url":"https://github.com/hartwork","followers_url":"https://api.github.com/users/hartwork/followers","following_url":"https://api.github.com/users/hartwork/following{/other_user}","gists_url":"https://api.github.com/users/hartwork/gists{/gist_id}","starred_url":"https://api.github.com/users/hartwork/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hartwork/subscriptions","organizations_url":"https://api.github.com/users/hartwork/orgs","repos_url":"https://api.github.com/users/hartwork/repos","events_url":"https://api.github.com/users/hartwork/events{/privacy}","received_events_url":"https://api.github.com/users/hartwork/received_events","type":"User","site_admin":false},"labels":[{"id":527816088,"url":"https://api.github.com/repos/libexpat/libexpat/labels/enhancement","name":"enhancement","color":"84b6eb","default":true}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2017-05-25T20:21:51Z","updated_at":"2017-05-30T11:31:14Z","closed_at":null,"body":"In discussions with @RMJ10 and @hannob in light of #18 the idea came up to have child parser create by `XML_ExternalEntityParserCreate` referencing their parent's hash salt rather than a snapshot copy of that (that relies on call order). Introducing an internal getter/setter abstraction checking for a parent parser seems like one candidate for a good approach to implement right now.\r\nAs a consequence to shared salt, calling `XML_SetHashSalt` on the child parser would have to\r\n\r\n* a) do nothing and be silent about it\r\n* b) do nothing and return an error\r\n* c) set the parent parser's salt (and implicitly its own, too)\r\n\r\nAre there any strong concerns about any of these, especially with respect to backwards compatibility?"},"comment":{"url":"https://api.github.com/repos/libexpat/libexpat/issues/comments/304850702","html_url":"https://github.com/libexpat/libexpat/issues/31#issuecomment-304850702","issue_url":"https://api.github.com/repos/libexpat/libexpat/issues/31","id":304850702,"user":{"login":"RMJ10","id":6482360,"avatar_url":"https://avatars0.githubusercontent.com/u/6482360?v=3","gravatar_id":"","url":"https://api.github.com/users/RMJ10","html_url":"https://github.com/RMJ10","followers_url":"https://api.github.com/users/RMJ10/followers","following_url":"https://api.github.com/users/RMJ10/following{/other_user}","gists_url":"https://api.github.com/users/RMJ10/gists{/gist_id}","starred_url":"https://api.github.com/users/RMJ10/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RMJ10/subscriptions","organizations_url":"https://api.github.com/users/RMJ10/orgs","repos_url":"https://api.github.com/users/RMJ10/repos","events_url":"https://api.github.com/users/RMJ10/events{/privacy}","received_events_url":"https://api.github.com/users/RMJ10/received_events","type":"User","site_admin":false},"created_at":"2017-05-30T11:31:14Z","updated_at":"2017-05-30T11:31:14Z","body":"a) always seems to be asking for trouble.  There is little worse in my book than letting users think they are doing something right when they are doing it wrong.  That's how we got into this situation in the first place, to an extent.\r\n\r\nb) would be OK, but is a little draconian.\r\n\r\nc) is better; calling XML_SetHashSalt() recursively would catch cases where the parent parser is already parsing but the child parser hasn't started yet."}}
{"actor":{"display_login":"RMJ10"}}