Hi allemaal,
Leuk dat jullie mijn packages hebben gevonden, ik hoop dat dat meer mensen inspireerd om packages te maken. Deze waren voor mij voornamelijk een uitdaging om uit te vogelen hoe 3rd party apps, packagemanager en Ext (ajax javascript toolkit die synology gebruikt) werkten. Overigens, er is inmiddels ook een vierde package: WebShare Enable, om sharedirectories bij of uit php.ini 'open_basedir' te kunnen halen. Deze heb ik voornamelijk gemaakt om
ajaXplorer te laten werken met shares. Hiermee is dat een betere oplossing dan de filestation, al zeg ik het zelf.
Anyway, ik zag de vraag over 'authenticate.cgi'. wat is precies het probleem ? Toen ik in de -incomplete!- 3rd party integration guide van Synology de source code zag, kwam ik erachter dat zelfs het C programma niets anders doet dan tijdens een WWW-sessie dit programma aanroepen. Authenticate.cgi geeft, als er is ingelogd, via zijn stdout de username van degene die is ingelogd, of anders niets. In de perl programma's doe ik dus hetzelfde. Het lijkt me redelijk makkelijk te doen in shell scripts (even uit mijn hoofd, zit nu niet bij mijn nas in de buurt):
#!/bin/sh
...shell script initialisatie en mime headers enzo..
user=`/usr/syno/synoman/webman/modules/authenticate.cgi`;
if [ "x$user" == "xadmin" ]; then ....authenticated, dus doe what je wilt doen...
etc.etc.
...rest van shell script....
Er draaien (minimaal) 2 webservers op de diskstation. Eentje voor Admin zaken op port 5000 - 'system' en eentje voor webservices (photostation en eigen pagina's onder de /web share) , de 'user'.
De system webserver maakt geen gebruik van .htaccess files, en betwijfel zelf of deze optie aanstaat. De authenticatie gaat via cookies en eigen programma's (vandaar die authenticate.cgi). Overigens, ook goed om te weten dat PHP alleen aan staat voor de user server, en niet system. Vandaar dat alle cgi dingen in perl of shell script geschreven zijn en niet php.
Als mensen graag willen dat mijn packages gebruikt kunnen worden zonder ingelogd te zijn als admin, kun je dit editten in de perl file (.pl), zoek op 'die' commando, en haal deze regel + regel eronder + 2 regels erboven weg. (of vraag mij om een aangepaste versie
, wat wellicht makkelijker is )
Wat betreft de vraag wat te doen met .pkg files, ik heb snel iets op Wiki pagina daar iets over gezet. Maar blijft beetje karige, vluchtige omschrijving. Mochten er nog vragen zijn, vraag gerust..
Groeten,
Remco