sassoftware / sassoftware/python-swat
authinfo incompatibility with saspy module
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 159
- Forks
- 65
- PR merge metrics
- No merged PRs in 30d
Description
I'm using both saspy [for sas_kernel/jupyter as well as some of our 9.4 systems and SAS Grid], as well as SWAT for working directly with CAS. I spent quite a while trying to debug a connection issue with SWAT that turned out to be due to how my .authinfo was written.
What I had originally looked like this:
IOM_Linux_SASGrid user not_my_real_user password not_my_real_password
default user not_my_real_user password not_my_real_password
SWAT kept having authentication problems, because the syntax with the named config line doesn't work with the parser process in utils/authinfo.py:191 , where it splits on "host|machine|default".
The SASPy documentation is here: https://sassoftware.github.io/saspy/configuration.html#iom , this is the line about "authkey" that's specced thus, that is the line causing the problem:
authkey user omr_user_id password omr_user_password
My workaround was to flip the lines:
default user not_my_real_user password not_my_real_password
IOM_Linux_SASGrid user not_my_real_user password not_my_real_password
And now the "default" one is correctly picked up, [and the rest of the "defs" variable is nonsensical from the perspective of the rest of the parsing code, but it doesn't matter because it doesn't play because default already got returned]
Because the named configs don't make sense with SWAT's configuration, I would suggest the shortest fix that is to split on line breaks first, then split the rest, the way you do now. That way, named configs will be functionally ignored but won't break subsequent records.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at utils/authinfo.py:191 and inspect how the parser splits .authinfo records. Reproduce the issue with the named IOM_Linux_SASGrid and default entries shown in the report, then verify that named configurations no longer break parsing and that the default record is selected correctly.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- authentication
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 35/100