|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Alexander Lunyov 2:50/551.3 12 Feb 2003 16:00:38 To : Anton Panyushkin Subject : SASL MySQL Patch -------------------------------------------------------------------------------- * hi ** Anton Panyushkin => Alexander Lunyov AL>> Патч от dmz надо патчить. Оно даже если соберется - работать не AL>> будет, будет death by 11. По крайней мере тот патч, который тянется AL>> из портов в 4.6.2 - надо патчить. > Мне сейчас не до теоpетических pазговоpов - начальство наседает и есть > паpаллельные пpоекты. Скажите, откуда можно утянуть pаботоспособную > веpсию и как ее пpавильно собиpать. Сразу хочу отметить, что данные действия нужны в 4.6.2, может, в 4.7 все поправили. Если 4.7 - посмотри патч для MySQL+LDAP, сравни с тем, что я написал. Если все то же самое, то скорее всего надо будет делать то же самое. 1. идешь в /usr/ports/security/cyrus-sasl/ 2. make extract NO_CHECKSUM=yes (иначе будет ругаться на cyrus-sasl-1.5.27-ipv6-20020106.diff.gz) 3. отмечаешь базу, по которой будешь авторизоваться (MySQL,LDAP) 4. идешь в /usr/ports/security/cyrus-sasl/work/ldap-mysql_sasl-1.5.27/ 5. можешь сам руками подправить, можешь патч наложить (ниже) 6. идешь в /usr/ports/mail/cyrus-imapd/, делаешь make install, ну и так далее. Hе работает там следующее - когда берется имя хоста из конфига, предполагается ситуация, когда ты можешь указать через запятую несколько хостов для того же LDAP'а или MySQL'а, чего на практике чаще всего не происходит, но все же. Блок определения живого сервера из списка серверов в файле /usr/ports/security/cyrus-sasl/work/cyrus-sasl-1.5.27/lib/checkpw.c (в уже патченом файле это начиная со строки 1405): /* db_host is a list of servers like this ** server1 , sever2 , server3 etc. */ cur_host = db_host; while ( cur_host != NULL || sock == NULL) { db_host = strchr(db_host,','); if ( db_host != NULL ) { db_host[0] = 0x00; /* loop till we find some text */ while (!isalnum(db_host[0]) ) db_host++; } sock = mysql_connect(&mysql,db_host,db_user,db_passwd); cur_host = db_host; } отрабатывает неправильно, то есть до этого блока в переменной db_host лежит твой хост, который ты указал в конфиге, после отработки - NULL. Ессно, при коннекте к NULL ничего хорошего не будет. Я не настоящий сварщик, чтобы исправлять эту конструкцию, чтобы она правильно работала, поэтому я закомментировал просто этот блок, и в переменную cur_host попадает сразу тот хост, который указан в конфиге. Такой блок присутствует в коде и для MySQL и для LDAP. Патч скопировать в /usr/ports/security/cyrus-sasl/work/ldap-mysql_sasl-1.5.27/ и собссно наложить. _ВHИМАHИЕ!_ работает в 4.6.2, в 4.7 и других версиях не пробовал. ======== begin of dmz-cyrus-sasl1.5.27-patch.patch ============ begin 644 dmz-cyrus-sasl1.5.27-patch.patch M+2TM('-A<VPM;&1A<"MM>7-Q;"YP871C:"Y/4DE'"4UO;B!*=6X@,C0@,C`Z M,#8Z,3@@,C`P,@HK*RL@<V%S;"UL9&%P*VUY<W%L+G!A=&-H"5=E9"!&96(@ M,3(@,34Z,3,Z,#@@,C`P,PI`0"`M,C`S+#$X("LR,#,L,3@@0$`*("L@("`@ M+RH@9&)?:&]S="!I<R!A(&QI<W0@;V8@<V5R=F5R<R!L:6ME('1H:7,*("L@ M("`@*BH@('-E<G9E<C$@+"!S979E<C(@("`@+"!S97)V97(S(&5T8RX*("L@ M("`@*B\*+2L@("!C=7)?:&]S="`](&1B7VAO<W0["BTK("`@=VAI;&4@*"!C M=7)?:&]S="`A/2!.54Q,('Q\('-O8VL@/3T@3E5,3"D@>PHM*R`@("`@9&)? M:&]S="`]('-T<F-H<BAD8E]H;W-T+"<L)RD["BTK("`@("!I9B`H(&1B7VAO M<W0@(3T@3E5,3"`I('L)"BTK("`@("`@(&1B7VAO<W1;,%T@/2`P>#`P.PHM M*R`@("`@("`O*B!L;V]P('1I;&P@=V4@9FEN9"!S;VUE('1E>'0@*B\*+2L@ M("`@("`@=VAI;&4@*"%I<V%L;G5M*&1B7VAO<W1;,%TI("D*+2L@("`@("`@ M("`@(&1B7VAO<W0K*SL*+2L@("`@('T**RLO+R`@(&-U<E]H;W-T(#T@9&)? M:&]S=#L**RLO+R`@('=H:6QE("@@8W5R7VAO<W0@(3T@3E5,3"!\?"!S;V-K M(#T]($Y53$PI('L**RLO+R`@("`@9&)?:&]S="`]('-T<F-H<BAD8E]H;W-T M+"<L)RD["BLK+R\@("`@(&EF("@@9&)?:&]S="`A/2!.54Q,("D@>PD**RLO M+R`@("`@("!D8E]H;W-T6S!=(#T@,'@P,#L**RLO+R`@("`@("\J(&QO;W`@ M=&EL;"!W92!F:6YD('-O;64@=&5X="`J+PHK*R\O("`@("`@('=H:6QE("@A M:7-A;&YU;2AD8E]H;W-T6S!=*2`I"BLK+R\@("`@("`@("`@(&1B7VAO<W0K M*SL**RLO+R`@("`@?0H@*R`@("`@<V]C:R`](&UY<W%L7V-O;FYE8W0H)FUY M<W%L+&1B7VAO<W0L9&)?=7-E<BQD8E]P87-S=V0I.PH@*R`@("`@8W5R7VAO M<W0@/2!D8E]H;W-T.PHM*PD@('T**RLO+PD@('T*("L@("`@:68@*"!S;V-K M(#T]($Y53$P@*2C M86YN;W0@8V]N;F5C="!T;R!->5-13"!S97)V97(B.R!]"B`K("`@("`@<F5T M=7)N(%-!4TQ?1D%)3#L*0$`@+30T."PQ."`K-#0X+#$X($!`"B`K("!]"B`K M("`*("L@("\J($]P96X@=&AE($Q$05`@8V]N;F5C=&EO;BX@*B\*+2L@(&-U M<E]S97)V97(@/2!L9&%P7W-E<G9E<CL*+2L@('=H:6QE("@@8W5R7W-E<G9E M<B`A/2!.54Q,("8F(&QD(#T]($Y53$PI('L*+2L@("`@;&1A<%]S97)V97(@ M/2!S=')C:'(H;&1A<%]S97)V97(L)RPG*3L*+2L@("`@:68@*"!L9&%P7W-E M<G9E<B`A/2!.54Q,("D@>PD*+2L@("`@("!L9&%P7W-E<G9E<ELP72`](#!X M,#`["BTK("`@("`@+RH@;&]O<"!T:6QL('=E(&9I;F0@<V]M92!T97AT("HO M"BTK("`@("`@=VAI;&4@*"%I<V%L;G5M*&QD87!?<V5R=F5R6S!=*2`I"BTK M("`@("`@("`@(&QD87!?<V5R=F5R*RL["BTK("`@('T**RLO+R`@8W5R7W-E M<G9E<B`](&QD87!?<V5R=F5R.PHK*R\O("!W:&EL92`H(&-U<E]S97)V97(@ M(3T@3E5,3"`F)B!L9"`]/2!.54Q,*2!["BLK+R\@("`@;&1A<%]S97)V97(@ M/2!S=')C:'(H;&1A<%]S97)V97(L)RPG*3L**RLO+R`@("!I9B`H(&QD87!? M<V5R=F5R("$]($Y53$P@*2!["0HK*R\O("`@("`@;&1A<%]S97)V97);,%T@ M/2`P>#`P.PHK*R\O("`@("`@+RH@;&]O<"!T:6QL('=E(&9I;F0@<V]M92!T M97AT("HO"BLK+R\@("`@("!W:&EL92`H(6ES86QN=6TH;&1A<%]S97)V97); M,%TI("D**RLO+R`@("`@("`@("!L9&%P7W-E<G9E<BLK.PHK*R\O("`@('T* M("L@("`@;&0@/2!L9&%P7VEN:70H8W5R7W-E<G9E<BQL9&%P7W!O<G0I.PH@ M*R`@("!C=7)?<V5R=F5R(#T@;&1A<%]S97)V97(["BTK("!]"BLK+R\@('T* M("L@(&EF("AL9"`]/2!.54Q,*2!["B`K("`@(&EF("AR97!L>2D@>R`J<F5P M;'D@/2`B8V%N;F]T(&-O;FYE8W0@=&\@3$1!4"!S97)V97(B.R!]"B`K("`@ 3(')E='5R;B!305-,7T9!24P["@`` ` end ========== end of dmz-cyrus-sasl1.5.27-patch.patch ============= * bye --- * Origin: no sex until marriage! (c) Front242 (2:50/551.3) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/22493e4a44f1.html, оценка из 5, голосов 10
|