[Samba] dlopen in system.c auskommentiert - warum?

make

Neuer User
Mitglied seit
15 Feb 2008
Beiträge
123
Punkte für Reaktionen
0
Punkte
16
Ich hab mir vorher mal angeschaut, wo der eigentliche Auslöser für den hier schon öfter gemeldeten Logeintrag
Code:
smbd - dlopen of lib /mod/etc/charset/CP850.so not supported
sitzt. Dabei bin ich auf folgenden Code gestoßen (in source/samba-3.0.24/source/lib/system.c)
Code:
void *sys_dlopen(const char *name, int flags)
{
#if defined(HAVE_DLOPEN)
#if 1 /* FRITZBOX */
        FILE *fp = fopen("/dev/console", "w");
        if (fp) {
                fprintf(fp, "smbd - dlopen of lib %s not supported\n", name);
                fclose(fp);
        }
        return 0;
#else
        return dlopen(name, flags);
#endif
#else
        return NULL;
#endif
}
Was ist der Hintergrund dafür, dass Laden von shared libraries auf diese Art abzublocken? Mein smbd läuft (bisher) ohne Probleme (und ohne Fehlermeldung), wenn ich den Patch raus nehme. Soweit ich das feststellen kann, wird das Character-Set-Modul CP850.so ohne Probleme geladen, wenn es unter /mod/etc/charset vorhanden ist.

In dem Zusammenhang stellt sich mir auch die Frage, ob es nicht möglich und sinnvoll wäre, Samba so anzupassen, dass eine Installation der VFS-Module (zB recycle, audit) möglich wäre.

Mir fehlt leider der Überblick über die gesamte FritzBox-Palette. Vielleicht funktioniert das auf den kleinen Boxen bzw. mit der älteren uclibc nicht so einfach, wie ich mir das vorstelle.
 
Good question.

I wouldn't know the answer, but the code of sys_dlopen() has been patched with make/samba/patches/130-update_avm.patch which was introduced in changeset 2939 "samba: Add patch (sync with 04.67 Open Source Package)" by oliver. The patch was not associated to any bug number.

So oliver should be the one to answer your question.
 
From the name (and the content) I would guess that Oliver just made a patch to reflect the changes AVM made to the sources.

AS dlopen is prenent on the box, the binary is actually larger with this patch.
 
Code:
/mod/etc/charset/CP850.so

If we don't comment out this line we will need this charsets? How big are these files?

Regards
Oliver
 
I think we don't need the file, but it will be used if present.

I don't think it will make a big difference whether the function fails because it is disabled or because the file is not present.
 
The charset modules are quite small:
Code:
make:~/projects/freetz-trunk/source/samba-3.0.24/source/bin$ ls -l CP*
-rwxr-xr-x. 1 make make 7344 2010-03-16 17:11 CP437.so
-rwxr-xr-x. 1 make make 7232 2010-03-16 17:11 CP850.so
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.