Thanks for the pointers! Very interesting, I never realized that the ZSS part 
was also open source and written in metal C. I've so far only seen very minimal 
examples of using metal C, so I will look into the code!
It seems that ZOWE also has the approach to have a PC service that runs the 
authorized code, so I guess my initial feeling was correct that this is the 
correct 'pattern' to provide authorized services to an unauthorized (yet 
perhaps 'program controlled') backend. The program control seems to be a 
specialization of that 'pattern', where you might decide that the only 
'clients' of your authorized PC service can be programs that have been loaded 
from a 'controlled environment'. This mainly seems to have been focused on 
services that allow the identify of the invoker to change like the 
pthread_security_np() call, which seems to make sense that you would only want 
to allow that to happen if you know where the module that wants to do that was 
loaded from.
I will see if I can get slack up and running :-)

Kind Regards,
Erik. 


On Tue, 22 Feb 2022 08:35:50 +0800, David Crayford <dcrayf...@gmail.com> wrote:

>On 22/2/22 4:59 am, Erik Janssen wrote:
>> Well, the routine I wrote can handle a user, password or passphrase and 
>> optionally an APPL to verify against.
>> So, even though there are a lot of options to do it different, I was more 
>> looking for ways how such a 'service routine' that needs apf authorization 
>> could be used from a non-authorized caller.
>> The __passwd routine can do it, but it requires program controlled 
>> environment and python doesn't seem to be defined as program controlled and 
>> I don't want to 'just' enable it.
>
>Program Control can be a PITA, but APF authorizing a service is a bag of
>worms.
>
>> Also, the relation between APF authorisation and program control (if any) 
>> still eludes me, and if there is no relation then I don't understand how 
>> __passwd can check a password if the environment is not apf authorized.
>> I hope that someone can explain how that works.
>
>AFAIK, there is no relationship. I've very leery when I see a z/OS UNIX
>program APF authorized.
>
>Zowe has a couple of components you may be interested in. All APF
>authorized services are processed in the ZIS server, otherwise nown as
>the cross-memory server. It's a Metal/C application that is open source
>an available to
>Github. It provides services via PC calls which are exploited by the ZSS
>server which is a lightweight HTTP server written in C. Both have tiny
>footprints and you can write your own plugins. SAF
>authentication/authorization are
>already provided.
>
>Disclaimer: I'm a Zowe commiter and I mainly work on these components.
>Although only for code reviews, we have devs working full time on Zowe.
>
>https://docs.zowe.org/stable/getting-started/zowe-architecture/
>https://github.com/zowe/zss
>
>BTW, building this stuff can be tricky. You can reach out on the
>OpenMainframe slack channel and one of our helpful devs can assist you.
>Or just ping me offline.
>
>
>>

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to