On Fri, Oct 24, 2003 at 05:18:25PM +0000, Vuko Brigljevic wrote: > d'execution en cherchant la librairie dans le sentier definit > dynamiquement, soit en "pseudo-code": > > libName = getLibNameFromRequest(); > loadPath = getLoadPathFromRequest(); > > /* chercher la librairie dans le sentier defini */ > fullLibPath = searchLibInPath(libName,loadPath); > > dlopen(fullLibPath);
en validant loadPath et libName pour des probl�mes de s�curit�, et en destant le code de retour de dlopen(), d'accord. > Ce serait tout a fait faisable, et probablement > pas si difficile a ecrire, mais je ne peux pas me > permettre de le faire dans mon cas, notamment car > je ne peux modifier la partie du code ou se trouve > reellement l'appel a dlopen: Tr�s dommage. Si le code est *compilable*, alors faire en sorte que cette partie de code soit compil�e avec gcc -Ddlopen(x)=mon_dlopen(x) et �crire cette fonction-wrapper. Si le code n'est pas compilable, alors il reste une possibilit�: red�finir la fonction de biblioth�que dlopen() via un LD_PRELOAD en une nouvelle fonction qui fait ce qui est n�cessaire puis appelle dlopen(). Cela fonctionnera m�me si le code est propri�taire -- � ma connaissance. On a donn� ici m�me un tel exemple (qui red�finit le wrapper libc de open): http://search.alphanet.ch/cgi-bin/search.cgi?max_results=10&type=long&msgid=Pine.LNX.4.10.10002191148200.25891-100000%40vulcan.alphanet.ch&domain=ml-gull le code: http://www.uwsg.indiana.edu/hypermail/linux/kernel/9811.2/0639.html Pas test� en dehors de la libc, mais �a devrait marcher. > Si j'ai mal compris ou se trouvait la contradiction, > je demande pardon pour la generation de bruit inutile ;) Ce qui manquait c'�tait l'information essentielle: `ce code est propri�taire / closed source', ce qui semble maintenant �tre le cas: �a complique les choses de ne pas avoir la source. _______________________________________________ gull mailing list [EMAIL PROTECTED] http://lists.alphanet.ch/mailman/listinfo/gull
