Talk:Break OO privacy: Difference between revisions

Line 28:
:::::::::: No. For example, consider /proc/FOO/mem under bsd or linux (where FOO is 'self' or a process id). That said, you do need the appropriate file access permissions. --[[User:Rdm|Rdm]] 15:10, 25 October 2011 (UTC)
::::::::::: but that is what i mean: if you don't have permission the OS prevents access, and circumventing OS access is beyond the scope of rosettacode.--[[User:EMBee|eMBee]] 01:36, 26 October 2011 (UTC)
:::::::::::: I thought you were talking about "preventing access to private datastructures within the process". The OS permissions are based on ownership, so anything with generic file system access can read /proc/self/mem. (suid programs might be an exception -- suid root programs, for example, can drop their root priviledges -- and another possibility for achieving this kind of "os privacy" would be to split the application logic across multiple programs and assign each of them their own user id.) --[[User:Rdm|Rdm]] 03:23, 26 October 2011 (UTC)
::::::::: and is it fair to say that circumventing OS restrictions is beyond the scope of the issue we try to highlight?
:::::::::: That would depend on "we" and "the issue", no? If you define the OS as being outside the scope of your issue, then by definition, it's outside the scope -- but that also tends avoid most practical issues. --[[User:Rdm|Rdm]] 15:10, 25 October 2011 (UTC)
Line 40:
 
This task was intended to exclude low-level "work out where the raw memory location is then peek/poke memory locations" type solutions. I really wanted something more "structured". See the examples that are already out there. If however the language compiler colluded with this approach by by making it easy to pick-out the memory location of the private member then ''maybe'' that might be worth mentioning, but that is in a grey area. --[[User:Paddy3118|Paddy3118]] 06:45, 26 October 2011 (UTC)
 
: I think that this distinction (abstraction) boils down to some sort of introspection utility for a compiled language. This could be library that comes with the language, a third party library, or some kind of minimal library hand crafted for this task. --[[User:Rdm|Rdm]] 12:51, 26 October 2011 (UTC)
 
==Common Lisp too long==
6,962

edits