r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[!Cheyenne] Discussions about the Cheyenne Web Server

GrahamC
7-May-2011
[10351]
OTOH, if it's working .. don't touch it!
onetom
7-May-2011
[10352x2]
just for the sake of test, it would be valuable if u could try your 
'do* code using 'do
since we dont have automated tests for this - i guess - at least 
lets do some manual tests
GrahamC
7-May-2011
[10354]
Anyway, thanks for examining this .. I just avoided the issue!
onetom
7-May-2011
[10355]
i was going around it too, by putting my DOs into on-app-start, but 
hey, for rapid development, such basics should work too
GrahamC
7-May-2011
[10356x3]
I was putting my stuff into app-init.r as well but found it did not 
work
So, I was defining my odbc sources there but they were being overwritten
So, now I load the db from a disk file each time ...
onetom
7-May-2011
[10359x2]
:) im loading my db from files too...
on each request actually
GrahamC
7-May-2011
[10361x2]
I have mutiple users using a web app on different ports.  Each has 
their own vhost, and their own pages but to keep things simple, each 
web app is the same.  I include a config file each time a rsp page 
is loaded with the db definition instead of in the app-init.r where 
it did not work
When I included the definitions in the app-init, users would access 
other users' db!
Kaj
7-May-2011
[10363x4]
Data wants to be free
Switching away from root is impossible when the RSP module is disabled:
7-May-2011/20:07:17+2:00 : make object! [
    code: 311
    type: 'script
    id: 'invalid-path
    arg1: 'mod-rsp
    arg2: none
    arg3: none

    near: [if exists? file: service/mod-list/mod-rsp/sessions/ctx-file 
    [try-chown file uid gid]]
    where: 'set-process-to
]
from crash.log
Dockimbel
8-May-2011
[10367x2]
Kaj: pushed a fix for that in r139.
When I included the definitions in the app-init, users would access 
other users' db!
 

Have you used session variables to store user-specific data? Everything 
else is unsafe.
Kaj
8-May-2011
[10369x5]
Thanks, nice turnaround :-)
Next problem when trying to switch away from root:
8-May-2011/17:30:23+2:00 : make object! [
    code: 303
    type: 'script
    id: 'expect-arg
    arg1: 'zero?
    arg2: 'number
    arg3: [number! pair! char! money! time! tuple!]

    near: [if any [zero? gid not zero? set-gid gid] [log/error ["setgid 
    '" group " failed!"]] 
        if
    ]
    where: 'set-process-to
]
I've checked that I'm doing everything right according to the latest 
Cheyenne conventions. I have a fairly standard httpd.cfg with this:
globals [
	user  "www"
	group "www"
Dockimbel
8-May-2011
[10374x5]
Odd, maybe a regression in the latest revisions...I will test that 
on my local linux box in a few minutes.
Kaj: can you try with user "www" only?
(without the 'group line)
Also, could you run Cheyenne in verbose mode (-vvvv) and check the 
boot logs for any error message?
The only cause of the error you've reported above, is that something 
unexpected happened when trying to access and parse %/etc/passwd 
and %/etc/group. Anything special with these files on your system 
(compared to e.g., Ubuntu)?
Kaj
8-May-2011
[10379x4]
Without group the error is still exactly the same
This is a custom Linux, so no comparison to Ubuntu :-)
One difference is that the root user and group are called "system", 
but I didn't find a problem with that in my Cheyenne patch a year 
ago
It works if I only use group, although it's hard to check that the 
group has actually changed
Dockimbel
8-May-2011
[10383x4]
Could you extract the mod-userdir/get-id function and try to run 
it from a REBOL console using:

    col: #":"
    get-id "www"
Hmm, wait, I think the problem is related to the 'set-gid function.
Are you using the Pro or Command binary? (I guess it is the r139 
one)
I have found a bug with the 'chown function.
Kaj
8-May-2011
[10387]
Pro 135
Dockimbel
8-May-2011
[10388]
Did you see any error in Cheyenne log file (chey-pid-*.log or crash.log)?
Kaj
8-May-2011
[10389x2]
Wait, I have r137 now
The errors I quoted are from crash.log. I'll do the -vvvv thing, 
but have to do it later tonight
Dockimbel
8-May-2011
[10391x4]
Ok, I think it is not needed anymore. It seems that the set-gid call 
is failing on your system for group "www". Set-gid returns a logic! 
or none! value if running on a 2.7.8 kernel and an integer! for previous 
kernels (due to different mappings), that is what's causing the error.
If only Carl has freed /Library on Linux instead of adding 'access-os 
native...it would have saved me a lot of coding/debugging time...
Has anyone else than me played with 'access-os native. I can't get 
it return any consistent value...
It seems that the messy behaviour is underneath 'access-os (the setgid/setuid 
OS calls).
onetom
8-May-2011
[10395]
i can try on mac too, if u tell me what should be tried
Dockimbel
8-May-2011
[10396x4]
Kaj: I have pushed a fix (needs testing).
Mac: wow, forget about it...
forget => forgot
I am pushing the same fixes for Mac now.
onetom
8-May-2011
[10400]
now, im getting multiple errors within the same trace:
	** Access Error : Cannot open /Users/onetom/p/ob/wfm/app-init.r 
	** Access Error : Cannot open /Users/onetom/p/ob/app-init.r 
why is it trying both locations? is it normal?