expertenaustausch > comp.os.* > comp.os.unix.bsd

Sabine Baer (22.03.2020, 11:48)
Hallo,
ich (FBSD 11.2) habe dummerweise sendmail (8-15.2) gestoppt, und nun laesst es
sich nicht mehr starten, es jammert immer nach libssl.so.9, das habe ich
aber nicht mehr, weil ich openssl upgedatet habe und nun nur noch
libssl.so.11 vorhanden ist. Das ist bei /usr/libexec/sendmail/sendmail
so.
sendmail aus den ports kriege ich nicht installiert, weil
"cyrus-sasl-saslauthd-2.1.27_1 You are using OpenSSL from ports and have
selected GSSAPI from base, please select another GSSAPI value."

Da sehe ich ziemlich dumm aus, weil ich eigentlich nur Bahnhof verstehe.
$less /etc/make.conf
DEFAULT_VERSIONS+=ssl=openssl

security_p5-GSSAPI_SET = GSSAPI_MIT
OPTIONS_UNSET += GSSAPI_BASE
OPTIONS_SET += GSSAPI_NONE

SENDMAIL_CFLAGS=-I/usr/local/include/sasl -DSASL
SENDMAIL_LDFLAGS=-L/usr/local/lib
SENDMAIL_LDADD=-lsasl2
$
Das sagt mir nix.

Ich wollte dann sendmail aus /usr/src/contrib/sendmail neu beuen, aber
es ist kein einziges Build-script vorhanden.

Kann ich das Veryeichnis /usr/src/contrib sendmail einfach durch ein
frisch von ftp.sendmail.org geholtes sendmail-8.15.2 ersetzen (und dabei
das alte sendmail.cf nicht verliere).

Oder verlangt sendmail immer libssl.so.9? Ein
$ln -s libssl.so.11 libssl.so.9
hat bei sendmail auch nicht geholfen (bei mutt schon)

Falls jemand mein wirres Geschreibe kapiert und einen Tip hat, wie ich
sendmail wieder ans Laufen kriege, waere ich sehr, sehr dankbar.

Sabine
Felix Palmen (22.03.2020, 12:29)
* Sabine Baer <baerks>:
> ich (FBSD 11.2) habe dummerweise sendmail (8-15.2) gestoppt, und nun laesst es
> sich nicht mehr starten, es jammert immer nach libssl.so.9, das habe ich
> aber nicht mehr, weil ich openssl upgedatet habe und nun nur noch
> libssl.so.11 vorhanden ist. Das ist bei /usr/libexec/sendmail/sendmail
> so.
> sendmail aus den ports kriege ich nicht installiert, weil
> "cyrus-sasl-saslauthd-2.1.27_1 You are using OpenSSL from ports and have
> selected GSSAPI from base, please select another GSSAPI value."


Das klingt alles maximal chaotisch, da hast du dir irgendwie das
Basissystem zerschossen. Sendmail aus Base wird immer auch gegen OpenSSL
aus Base linken, unabhängig davon, was die Ports verwenden.

Ist Base aus dem Source installiert oder aus einer Binärdistribution?
Mit letzterem habe ich keine Erfahrung, aber möglicherweise kann
freebsd-update (vielleicht mit Upgrade auf 11.3, da 11.2 sowieso EOL
ist) die Situation lösen.

Falls Source: mit SVN sicherstellen, dass in /usr/src keine Änderungen
sind, die du gar nicht haben willst, dann `make buildworld` und `make
installworld` (bzw besser auch hier Upgrade auf 11.3 und den kompletten
Prozess von <https://www.freebsd.org/doc/handbook/makeworld.html>
durchziehen).

> SENDMAIL_CFLAGS=-I/usr/local/include/sasl -DSASL
> SENDMAIL_LDFLAGS=-L/usr/local/lib
> SENDMAIL_LDADD=-lsasl2


Das zieht natürlich in das Base sendmail Abhängigkeiten auf sasl aus den
Ports, falls du Base wirklich aus dem Source installierst. Da korrigiere
ich auch meine Aussage von oben zu OpenSSL, ich probiere das jetzt nicht
aus, aber mit diesen Flags könnte ich mir vorstellen, dass das Base
Sendmail eben doch auf das OpenSSL aus den ports (falls es denn
installiert ist) linkt :o

Finde ich persönlich "gewagt" und würde dann lieber gleich sendmail aus
den Ports (oder vielleicht einen einfacher konfigurierbaren MTA? ;))
nehmen.

Falls du das so haben möchstes musst du vermutlich einmal Base komplett
ohne diese Flags bauen, dann die Ports fixen (für alle Ports die gleiche
GSSAPI Einstellung, z.B. "BASE") und saslauth installieren, und dann
nochmal Base wieder mit diesen Flags oben bauen.

Aber wie gesagt, mir persönlich wäre das zu haarig, in Base eine
Abhängigkeit auf Ports zu haben.

> Kann ich das Veryeichnis /usr/src/contrib sendmail einfach durch ein
> frisch von ftp.sendmail.org geholtes sendmail-8.15.2 ersetzen (und dabei
> das alte sendmail.cf nicht verliere).


Schlechte Idee. sendmail.cf wäre dabei nicht meine Sorge. FreeBSD Base
(also alles was in /src liegt) ist aus gutem Grund *ein* Repository, da
sollte man nicht Stückwerk betreiben ohne zu wissen, was man tut, sonst
kann ganz leicht mal gar nichts mehr gehen.

> $ln -s libssl.so.11 libssl.so.9


Nein! Auf keinen Fall sowas tun. Diese Libraries sind nicht miteinander
kompatibel, wenn etwas damit korrekt läuft ist das pures Glück.
Sabine Baer (22.03.2020, 14:10)
On 2020-03-22, Felix Palmen wrote:
> * Sabine Baer <baerks>:


[...]

> Das klingt alles maximal chaotisch, da hast du dir irgendwie das
> Basissystem zerschossen. Sendmail aus Base wird immer auch gegen OpenSSL
> aus Base linken, unabhängig davon, was die Ports verwenden.
> Ist Base aus dem Source installiert oder aus einer Binärdistribution?


Ich habe immer mit svn oder seinem Vorgaenger die Quellen geholt und ein
Upgrade gemacht. Aber ich druecke mich immer gefuehl Jahre vor dem
naechsten, weil es so umstaendlich ist und ich immer Angst habe, etwas
zu verlieren.

Da muss ich wohl mal wieder ran :-\

[...]

[/etc/make.conf]

> (oder vielleicht einen einfacher konfigurierbaren MTA? ;))


NEIN, da bin ich stur.

Ich mach mich dann wohl doch an ein Upgrade, bevor mein Postfach beim
Provider platzt.

Vielen Dank
Sabine
Gerhard Strangar (22.03.2020, 14:11)
Sabine Baer wrote:

> sendmail aus den ports kriege ich nicht installiert, weil
> "cyrus-sasl-saslauthd-2.1.27_1 You are using OpenSSL from ports and have
> selected GSSAPI from base, please select another GSSAPI value."


Hast Du das mal probiert?
Also in /usr/ports/security/cyrus-sasl2-saslauthd ein "make config"
aufrufen und z.B. MIT auswählen und dann?
Sabine Baer (22.03.2020, 14:11)
On 2020-03-22, Gerhard Strangar wrote:
> Sabine Baer wrote:
> Hast Du das mal probiert?
> Also in /usr/ports/security/cyrus-sasl2-saslauthd ein "make config"
> aufrufen und z.B. MIT auswählen und dann?


Nee, mangels Wissen habe ich alles gelassen, wie vorgegeben.

Danke
Sabine
Sabine Baer (24.03.2020, 12:35)
On 2020-03-22, Felix Palmen wrote:
> * Sabine Baer <baerks>:


[...]

> Das klingt alles maximal chaotisch, da hast du dir irgendwie das


Ja.

[...]

So, habe jetzt 11.3 mit svn geholt, und #make buildworld bleibt bei
[sendmail] haengen.
Erst bei /usr/src/contrib/sendmail/src/main.c, danach bei
/usr/src/contrib/sendmail/src/tls.c mehhrmals, alles undefined
references yu irgendwas mit SSL.

Was soll ich den jetzt aus /etc/make.conf rausschmeissen? Ich vermute
(und hoffe), das Problem wird dort verursacht?

>> SENDMAIL_CFLAGS=-I/usr/local/include/sasl -DSASL
>> SENDMAIL_LDFLAGS=-L/usr/local/lib
>> SENDMAIL_LDADD=-lsasl2


Diese Zeilen oder auch diese:

DEFAULT_VERSIONS+=ssl=openssl
security_p5-GSSAPI_SET = GSSAPI_MIT
OPTIONS_UNSET += GSSAPI_BASE
OPTIONS_SET += GSSAPI_NONE

Openssl aus den Ports kann ich ja immer wieder bauen, das ist ja erstmal
nicht so wichtig.

Braucht ein make buildworld denn die /etc/make.conf?

Sabine
Felix Palmen (24.03.2020, 13:23)
* Sabine Baer <baerks>:
> Erst bei /usr/src/contrib/sendmail/src/main.c, danach bei
> /usr/src/contrib/sendmail/src/tls.c mehhrmals, alles undefined
> references yu irgendwas mit SSL.
> Was soll ich den jetzt aus /etc/make.conf rausschmeissen? Ich vermute
> (und hoffe), das Problem wird dort verursacht?


Also das sorgt jedenfalls dafür, dass sendmail gegen libraries aus den
ports linkt. Wenn du das entfernst wird es sicher funktionieren,
allerdings kann dann vermutlich das sendmail kein SMTP-Auth mehr.

Ich persönlich baue base immer mit WITHOUT_SENDMAIL=yes

Sendmail gibt es auch als Port, wenn schon würde ich eher das nehmen,
weil das sicher einfacher zu handhaben ist als so eine Konstruktion, bei
der etwas aus base auf die ports linkt.

> Diese Zeilen oder auch diese:
> DEFAULT_VERSIONS+=ssl=openssl
> security_p5-GSSAPI_SET = GSSAPI_MIT
> OPTIONS_UNSET += GSSAPI_BASE
> OPTIONS_SET += GSSAPI_NONE


Die haben mit base nichts zu tun. Die erste sorgt dafür, dass alle
Ports, die SSL brauchen, OpenSSL aus den Ports verwenden. Kann man
hinterfragen, wenn man OpenSSL sowieso in base hat. Die zweite Zeile
sorgt dafür, dass security/p5-GSSAPI mit dem MIT Kerberos gebaut wird.
Bei allen anderen Ports wird GSSAPI ganz ausgeschalten. Wie sinnvoll das
ganze ist kannst du wohl nur selbst beurteilen.

> Braucht ein make buildworld denn die /etc/make.conf?


Base (also alles in /usr/src) liest make.conf *und* src.conf.
Port-Builds lesen nur make.conf. Ich handhabe das so, dass ich alle
Konfiguration für base nur in src.conf habe, damit nichts durcheinander
kommt. Das wären in deinem Fall die SENDMAIL_* flags von oben, aber die
finde ich sowieso etwas gefährlich...
Sabine Baer (24.03.2020, 13:40)
On 2020-03-24, Felix Palmen wrote:

[...]

> Base (also alles in /usr/src) liest make.conf *und* src.conf.
> Port-Builds lesen nur make.conf. Ich handhabe das so, dass ich alle
> Konfiguration für base nur in src.conf habe, damit nichts durcheinander
> kommt. Das wären in deinem Fall die SENDMAIL_* flags von oben, aber die
> finde ich sowieso etwas gefährlich...


Vielen, vielen Dank! So ganz langsam kommt Licht ins Dunkel.

Sabine
Ähnliche Themen