If we have a duplicated entry, something like this: [Issuer https://chtc.cs.wisc.edu/icecube] issuer = https://chtc.cs.wisc.edu/icecube base_path = /icecube [Issuer https://chtc.cs.wisc.edu/icecube] issuer = https://chtc.cs.wisc.edu/icecube base_path = /icecube The issuer and the base path became: 221213 04:51:12 596604 scitokens_Reconfig: Configuring issuer https://chtc.cs.wisc.edu/icecube https://chtc.cs.wisc.edu/icecube With that, the token can find the issuer. Maybe a good approach is to use rindex. *--Fábio Andrijauskas* On Mon, Dec 12, 2022 at 9:54 PM Andrew Hanushevsky ***@***.***> wrote: > ***@***.**** commented on this pull request. > > So, now I am a bit confused as what we are trying to fix. More comments > inside. > ------------------------------ > > In src/XrdSciTokens/XrdSciTokensAccess.cc > <https://github.com/xrootd/xrootd/pull/1859#discussion_r1046685840>: > > > @@ -1083,6 +1083,16 @@ class XrdAccSciTokens : public XrdAccAuthorize, public XrdSciTokensHelper > section.c_str()); > continue; > } > + // prevent two identical issuers break the config > + for (size_t i = 0; i < issuer.length(); i++) > > Well, I was thinking of something much simpler. But before we get to that, > I am wondering what is being fixed here. According to INIReader, the new > line character ('\n') is considered a separator so there should never be a > new line character in the value string. So, why is it that the code assumes > otherwise? > > Second, if indeed a new line can be in the value string then there is no > easy solution here as the new line character can appear anywhere and > multiple times as well. So, consider "\nissuer", "issuer\n", or > "\nissuer\n" the fixes are very different in each case. The variations are > endless (well actually two basic cases). > > OK, simplicity (note we only handle the simple case here): > size_t i = issuer.find('\n'); > if (i != std::string::npos) { > if (i != 0) issuer = issuer.substr(0, i); > else /*error* string starts with newline and we don't handle that */ > } > > Yes, I should have have mentioned index() -- old habits. > > — > Reply to this email directly, view it on GitHub > <https://github.com/xrootd/xrootd/pull/1859#pullrequestreview-1214751508>, > or unsubscribe > <https://github.com/notifications/unsubscribe-auth/ACEEH7YZHDXUGP7IZYUTK4DWNAFPXANCNFSM6AAAAAAS4UI76I> > . > You are receiving this because you authored the thread.Message ID: > ***@***.***> > -- Reply to this email directly or view it on GitHub: https://github.com/xrootd/xrootd/pull/1859#issuecomment-1347810960 You are receiving this because you are subscribed to this thread. Message ID: <[log in to unmask]> ######################################################################## Use REPLY-ALL to reply to list To unsubscribe from the XROOTD-DEV list, click the following link: https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1