Для многих бинарных пакетов, например http://altlinux.org/CryptoPro ( cprocsp-rdr-gui ) нужны библиотеки libMrm.so.3 и libXm.so.3 из openmotif-2.2. В RHEL есть пакет openmotif22 с этими библиотеками (в openmotif-2.3 уже *.so.4), и в ALT это актуальная проблема.
Вот compat-сборка в архиве: http://ftp.altlinux.org/pub/distributions/archive/Sisyphus/2009/05/22/files/i586/RPMS/libopenmotif3-2.2.3-alt4.i586.rpm http://ftp.altlinux.org/pub/distributions/archive/Sisyphus/2009/05/22/files/x86_64/RPMS/libopenmotif3-2.2.3-alt4.x86_64.rpm
Спасибо, а в p5-p6-p7 это имеет шансы появиться?
2.2 перестал собираться (сегфолт в демках), продолжаю пилить 2.2.{3,4}. С архивным пакетом заработало?
Вспомнил: 2.2.4 собирался на x86_64, но взрывался на i586 (а обновление до 2.3.x было ещё и по причине bug #20114): In file included from /usr/include/string.h:658:0, from /usr/include/X11/Intrinsic.h:61, from ./../Mrm/MrmAppl.h:51, from MrmIheader.c:83: In function 'strcpy', inlined from 'Idb__HDR_GetHeader' at MrmIheader.c:232:11: /usr/include/bits/string3.h:105:3: error: call to __builtin___strcpy_chk will always overflow destination buffer make[3]: *** [MrmIheader.lo] Error 1 Если хотите, помогите исправить сборку http://fly.osdn.org.ua/~mike/tmp/libopenmotif3-2.2.4-alt2.src.rpm на сизифе/[pt]{6,7}; и если удобно, проверьте на p5: http://fly.osdn.org.ua/~mike/repos/libopenmotif3-M51/
2 cas: тебе по части совместимости может быть важно, посмотри.
(В ответ на комментарий №5) > 2 cas: тебе по части совместимости может быть важно, посмотри. Миша, я читаю все баги. Я в курсе проблемы, сам с нею натыкался при тестировании CryptoPro. Но, так как пакет не из основных, то я решил подождать. Проблема актуальна, буду по мере сил помогать.
Created attachment 5409 [details] gentoo distfiles/openmotif-2.2.3-patches-4.tar.bz2 (In reply to comment #6) > Я в курсе проблемы, сам с нею натыкался при тестировании CryptoPro. Так сказал бы хоть... Не хватало однострочного patch/16_all_mrm_buffer_overflow.patch из distfiles/openmotif-2.2.3-patches-4.tar.bz2, обнаружившегося в гентушечке. Просьба потестировать: http://git.altlinux.org/tasks/67760/
Created attachment 5410 [details] Патч c XtNumber()
Created attachment 5411 [details] malloc/free
(In reply to comment #7) > Не хватало однострочного patch/16_all_mrm_buffer_overflow.patch из > distfiles/openmotif-2.2.3-patches-4.tar.bz2, обнаружившегося в гентушечке. Патч не спасает от переполнения. Неправильно используется XtNumber(), которое в этом случае возвращает (размер указателя на строку / sizeof(char)), а не длину строки. Пример: #include <stdio.h> #include "X11/Intrinsic.h" /* В /usr/include/X11/Intrinsic.h определено: typedef unsigned int Cardinal; #define XtNumber(arr) ((Cardinal) (sizeof(arr) / sizeof(arr[0]))) */ #define URMversion "URM 1.2" static const char *idb__database_version = URMversion; static const char arr[] = URMversion; int main (void) { printf("XtNumber(idb..): %d\n",XtNumber(idb__database_version)); printf("sizeof(idb...): %d\n", sizeof(idb__database_version)); printf("XtNumber(arr): %d\n",XtNumber(arr)); printf("sizeof(arr): %d\n",sizeof(arr)); return 0; } XtNumber(idb..): 4 -- размер char* sizeof(idb...): 4 XtNumber(arr): 8 -- длина строки "URM 1.2" с \0 sizeof(arr): 8 Если оставить XtNumber, то cм. "патч с XtNumber()". Надежнее: второй патч "malloc/free".
Comment on attachment 5411 [details] malloc/free >--- /afs/cern.ch/user/o/olezenin/tmp/MrmIheader.c.orig 2012-03-24 22:18:19.000000001 +0100 >+++ MrmIheader.c 2012-03-24 22:24:47.428975247 +0100 >@@ -229,9 +229,10 @@ > > { > /* sscanf() may call ungetc(), which would write the XmConst string. */ >- char buf[XtNumber(idb__database_version) + 1]; >+ char *buf = malloc(sizeof(idb__database_version[0])*(strlen(idb__database_version) + 1)); > strcpy(buf, idb__database_version); > sscanf(buf, "URM %d.%d", &db_major, &db_minor); >+ free(buf); > } > > if ((file_major > db_major) ||
(In reply to comment #10) > (In reply to comment #7) > > Не хватало однострочного patch/16_all_mrm_buffer_overflow.patch из > > distfiles/openmotif-2.2.3-patches-4.tar.bz2, обнаружившегося в гентушечке. > > Если оставить XtNumber, то cм. "патч с XtNumber()". > Надежнее: второй патч "malloc/free". Sorry, дубль. Не заметил, что в гентушном патче strlen(). Патч с const char * = ... ---> const char[] = ... остается в силе.
Набор патчей есть в ftp://ftp.redhat.com/redhat/linux/enterprise/6Workstation/en/os/SRPMS/openmotif22-2.2.3-19.el6.src.rpm openMotif-2.2.3-CAN-2004-0687-0688.patch openMotif-2.2.3-CAN-2004-0914.patch openMotif-2.2.3-CAN-2004-0914_autofoo.patch openMotif-2.2.3-CAN-2005-0605.patch openMotif-2.2.3-CVE-2005-3964.patch openMotif-2.2.3-acinclude.patch openMotif-2.2.3-autofoo.patch openMotif-2.2.3-bindings.patch openMotif-2.2.3-char_not_supported.patch openMotif-2.2.3-free_children.patch openMotif-2.2.3-libdir.patch openMotif-2.2.3-long64.patch openMotif-2.2.3-motifzone_1193.patch openMotif-2.2.3-motifzone_1202.patch openMotif-2.2.3-motifzone_1231.patch openMotif-2.2.3-mrm.patch openMotif-2.2.3-multiscreen.patch openMotif-2.2.3-mwmrc_dir.patch openMotif-2.2.3-no_Xaw.patch openMotif-2.2.3-no_demos.patch openMotif-2.2.3-overrun.patch openMotif-2.2.3-pixel_length.patch openMotif-2.2.3-popup_timeout.patch openMotif-2.2.3-rgbtxt.patch openMotif-2.2.3-text_paste.patch openMotif-2.2.3-tmpnam.patch openMotif-2.2.3-uil_lib.patch openMotif-2.2.3-utf8.patch openMotif-2.2.3-vizcount.patch openMotif-2.2.3-xim-onthespot.patch openMotif-2.2.3-xmlist_fix.patch openMotif-2.2.3.tar.gz openMotif-2.3.0-no_X11R6.patch openmotif-2.2.3-CAN-2004-0914_sec8.patch надо посмотреть насколько они пересекаются с гентушными.
Вот я и думал вчера, какой отправлять -- 2.2.3 (который в stable/) или 2.2.4 (который тоже доступен). Последний несколько перекурочен и часть пробегавших патчей там была смержена, судя по прошлогодней записке: merged upstream: patch1, ~patch21 dropped: patch2 patch9 !patch22 !patch23 patch43 patch4 Потому и прошу: проверьте, погоняйте, отзовитесь. Теперь желательно и архивный 2.2.3, и вчерашний 2.2.4. 2 vx8400: спасибо!
(In reply to comment #12) > Патч с const char * = ... ---> const char[] = ... остается в силе. Приложен в libopenmotif3-2.2.4-alt3 в том же таске. (In reply to comment #13) > Набор патчей есть в openmotif22-2.2.3-19.el6.src.rpm Помнится, туда тоже заглядывал, но уже довольно давно (могло быть el5). Попробую добраться, продолжаю ждать результатов проверки -- иначе придётся заливать as is.
(В ответ на комментарий №15) > Попробую добраться, продолжаю ждать результатов проверки -- иначе придётся > заливать as is. src.rpm из http://git.altlinux.org/tasks/67760/ собирается на p6, p5, 4.0. На p6 есть проблема. Cобрал с libopenmotif3-2.2.4-alt2 программу: http://www.clearskyinstitute.com/xephem/ Вылетает с sigsegv: % gdb ./xephem ... (gdb) run ... Program received signal SIGSEGV, Segmentation fault. 0xb7ea5780 in ?? () from /usr/lib/libXm.so.3 (gdb) bt #0 0xb7ea5780 in ?? () from /usr/lib/libXm.so.3 #1 0xb7eabf5b in XmStringConcatAndFree () from /usr/lib/libXm.so.3 #2 0xb7f01780 in XmStringLtoRCreate () from /usr/lib/libXm.so.3 #3 0xb7f017c6 in XmStringCreateLtoR () from /usr/lib/libXm.so.3 #4 0x0813122c in set_xmstring (w=0x829bd00, resource=0x820200f "labelString", txt=0x8197720 "ABCDEFGHIJKLMNOPQRSTUVWXYZ\nabcdefghijklmnopqrstuvwxyz\n01234567890 \261\262\263\264\265\266\267\270\271\260") at xmisc.c:172 #5 0x080d6b4e in create_srfshell () at saveres.c:2853 #6 sr_init () at saveres.c:1225 #7 0x080d3bac in sr_reg (w=0x82668e0, res=0x0, cat=0x81bec20 "Main -- Preferences", autosav=1) at saveres.c:623 #8 0x080bd263 in pref_build (menu_bar=0x82453d8) at preferences.c:247 #9 pref_create_pulldown (menu_bar=0x82453d8) at preferences.c:151 #10 0x08130771 in make_main_window (argc=1, argv=0xbfffed74) at xephem.c:696 #11 main (argc=1, argv=0xbfffed74) at xephem.c:212 На p5 и 4.0 все в порядке. Это может быть баг самого xephem, вылезающий только на gcc4.5, etc. Есть какие-л. стандартные тесты motif?
(В ответ на комментарий №15) > (In reply to comment #12) > > Патч с const char * = ... ---> const char[] = ... остается в силе. > Приложен в libopenmotif3-2.2.4-alt3 в том же таске. Если накладывается openmotif-2.2.3-gentoo-buffer.patch (buf = malloc( strlen(idb..) + 1 ); ... free(buf);), то openmotif-2.2.x-alt-types.patch не нужен. И наоборот.
(В ответ на комментарий №15) > Попробую добраться, продолжаю ждать результатов проверки -- иначе придётся > заливать as is. Наверно только к концу недели проверю на ALT, до этого под рукой будет только система-источник патчей ;)
(In reply to comment #18) > > Наверно только к концу недели проверю на ALT, до этого под рукой будет только > система-источник патчей ;) Если поделитесь дистрибутивом КриптоПро CSP 3.6, то могу проверить на ALT.
(В ответ на комментарий №19) > Если поделитесь дистрибутивом КриптоПро CSP 3.6, то могу проверить на ALT. спокойно можно скачать по ссылке в комментарий №1.
(В ответ на комментарий №20) > (В ответ на комментарий №19) > > Если поделитесь дистрибутивом КриптоПро CSP 3.6, то могу проверить на ALT. > > спокойно можно скачать по ссылке в комментарий №1. Thx, скачалось, установилось. Вопрос: как протестировать линкующиеся с libMrm, libXm библиотеки librdrrndmbio_gui.so libxcpui.so?
(В ответ на комментарий №21) > Вопрос: как протестировать линкующиеся с libMrm, libXm библиотеки > librdrrndmbio_gui.so libxcpui.so? судя по документации (качать там же) например включить "биологический ДСЧ" и сгенерировать сертификат.
(В ответ на комментарий №21) > Thx, скачалось, установилось. > Вопрос: как протестировать линкующиеся с libMrm, libXm библиотеки > librdrrndmbio_gui.so libxcpui.so? Установить cprocsp-rdr-gui и запустить: /opt/cprocsp/bin/ia32/cryptcp -creatrqst -dn 'CN=Ivanov E=Ivanov_I@mail.ru' -cont '\\.\HDIMAGE\ivanov' /tmp/zap/rqst Запустится окно с заголовком "main" в котором прогресс-бар и написано "Press keys or move mouse" судя по strace оно юзает /usr/lib/libXm.so.3 у меня на p5 без каких либо изменений это работает (и всегда работало)
Oops, рука дрогнула и task #67760 отправлен на дежурную пересборку без --test-only. Я пока не считаю этот баг закрытым, если что. (In reply to comment #16) > Есть какие-л. стандартные тесты motif? Как минимум стопка демок в тарболе.
libopenmotif3-2.2.4-alt3 -> sisyphus: * Mon Mar 26 2012 Michael Shigorin <mike@altlinux> 2.2.4-alt3 - added patch by vx8400@ (see #27115) - enabled JPEG and PNG support (thx at@, see 2.3.3-alt2) * Sat Mar 24 2012 Michael Shigorin <mike@altlinux> 2.2.4-alt2 - fixed build in recent environments with gentoo patch (closes: #27115)
Постараюсь досмотреть патчсет.
На p5,p6 в отличии от 4.1 какая-то ерунда с установкой lsb-cprocsp-rdr (то что ставит там же и пытается использовать для инициализации своих конфигов). Motif-часть проверить не удалось.
(В ответ на комментарий №27) > На p5,p6 в отличии от 4.1 какая-то ерунда с установкой lsb-cprocsp-rdr (то что > ставит там же и пытается использовать для инициализации своих конфигов). После apt-get install cprocsp-compat-altlinux-1.0.0-1.noarch.rpm lsb-cprocsp-base-3.6.1-4.noarch.rpm lsb-cprocsp-rdr-3.6.1-4.i486.rpm на p6: # rpm -ql `rpm -qa | grep -- lsb-cprocsp-rdr` /etc/opt/cprocsp/config.ini /opt/cprocsp/bin/ia32 /opt/cprocsp/bin/ia32/cpverify /opt/cprocsp/bin/ia32/csptest /opt/cprocsp/bin/ia32/wipefile /opt/cprocsp/lib/hashes/lsb-cprocsp-rdr /opt/cprocsp/lib/ia32 /opt/cprocsp/lib/ia32/libcapi10.so /opt/cprocsp/lib/ia32/libcapi10.so.3 /opt/cprocsp/lib/ia32/libcapi10.so.3.6.1 /opt/cprocsp/lib/ia32/libcpui.so /opt/cprocsp/lib/ia32/libcpui.so.3 /opt/cprocsp/lib/ia32/libcpui.so.3.6.1 /opt/cprocsp/lib/ia32/librdrdsrf.so /opt/cprocsp/lib/ia32/librdrdsrf.so.3 /opt/cprocsp/lib/ia32/librdrdsrf.so.3.6.1 /opt/cprocsp/lib/ia32/librdrfat12.so /opt/cprocsp/lib/ia32/librdrfat12.so.3 /opt/cprocsp/lib/ia32/librdrfat12.so.3.6.1 /opt/cprocsp/lib/ia32/librdrrdr.so /opt/cprocsp/lib/ia32/librdrrdr.so.3 /opt/cprocsp/lib/ia32/librdrrdr.so.3.6.1 /opt/cprocsp/lib/ia32/librdrrndm.so /opt/cprocsp/lib/ia32/librdrrndm.so.3 /opt/cprocsp/lib/ia32/librdrrndm.so.3.6.1 /opt/cprocsp/lib/ia32/librdrsup.so /opt/cprocsp/lib/ia32/librdrsup.so.3 /opt/cprocsp/lib/ia32/librdrsup.so.3.6.1 /opt/cprocsp/sbin/ia32 /opt/cprocsp/sbin/ia32/cpconfig /opt/cprocsp/sbin/ia32/mount_flash.sh /opt/cprocsp/sbin/ia32/set_driver_license.sh Это правильно?
(В ответ на комментарий №23) > Установить cprocsp-rdr-gui и запустить: > /opt/cprocsp/bin/ia32/cryptcp -creatrqst -dn 'CN=Ivanov E=Ivanov_I@mail.ru' > -cont '\\.\HDIMAGE\ivanov' /tmp/zap/rqst [cas@cas ~]$ /opt/cprocsp/bin/ia32/cryptcp -creatrqst -dn 'CN=Ivanov E=Ivanov_I@mail.ru' -cont '\\.\HDIMAGE\ivanov' /tmp/zap CryptCP 3.31 (Debug version) (c) "Crypto-Pro", 2002-2009. Command prompt Utility for data protection. ���������: -creatrqst -dn CN=Ivanov E=Ivanov_I@mail.ru -cont \\.\HDIMAGE\ivanov /tmp/zap -creatrqst - Creates certificate request and saves it into PKCS #10 file. Error: The Keyset parameter is invalid. (0x8009001F) [ErrorCode: 0x8009001f] Очевидно, нужна лицензия. Буду доставать.
(В ответ на комментарий №29) > (В ответ на комментарий №23) > > Установить cprocsp-rdr-gui и запустить: > > /opt/cprocsp/bin/ia32/cryptcp -creatrqst -dn 'CN=Ivanov E=Ivanov_I@mail.ru' > > -cont '\\.\HDIMAGE\ivanov' /tmp/zap/rqst > [cas@cas ~]$ /opt/cprocsp/bin/ia32/cryptcp -creatrqst -dn 'CN=Ivanov > E=Ivanov_I@mail.ru' -cont '\\.\HDIMAGE\ivanov' /tmp/zap > CryptCP 3.31 (Debug version) (c) "Crypto-Pro", 2002-2009. > Command prompt Utility for data protection. > ���������: -creatrqst -dn CN=Ivanov E=Ivanov_I@mail.ru -cont \\.\HDIMAGE\ivanov > /tmp/zap > -creatrqst - Creates certificate request and saves it into PKCS #10 file. > Error: The Keyset parameter is invalid. (0x8009001F) > [ErrorCode: 0x8009001f] > > Очевидно, нужна лицензия. Буду доставать. на 4.1 Desktop все работает без особой лицензии. В p5,p6 он не может ld.conf пропатчить и неправильно устанавливается.
libopenmotif3-2.2.4-alt2.M60C.1 -> c6: * Mon Apr 09 2012 Andrey Cherepanov <cas@altlinux> 2.2.4-alt2.M60C.1 - Backport to c6 for CryptoPro * Mon Mar 26 2012 Michael Shigorin <mike@altlinux> 2.2.4-alt3 - added patch by vx8400@ (see #27115) - enabled JPEG and PNG support (thx at@, see 2.3.3-alt2) * Sat Mar 24 2012 Michael Shigorin <mike@altlinux> 2.2.4-alt2 - fixed build in recent environments with gentoo patch (closes: #27115)
(В ответ на комментарий №31) > libopenmotif3-2.2.4-alt2.M60C.1 -> c6: > > > * Mon Mar 26 2012 Michael Shigorin <mike@altlinux> 2.2.4-alt3 > - added patch by vx8400@ (see #27115) > > * Sat Mar 24 2012 Michael Shigorin <mike@altlinux> 2.2.4-alt2 > - fixed build in recent environments with gentoo patch (closes: #27115) Если накладывается openmotif-2.2.3-gentoo-buffer.patch, то openmotif-2.2.x-alt-types.patch не нужен, и наоборот.
(In reply to comment #31) > * Mon Apr 09 2012 Andrey Cherepanov <cas@altlinux> 2.2.4-alt2.M60C.1 > - Backport to c6 for CryptoPro Тебя сборка удовлетворила? (In reply to comment #32) > Если накладывается openmotif-2.2.3-gentoo-buffer.patch, то > openmotif-2.2.x-alt-types.patch не нужен, и наоборот. Вот потому баг и открыт -- всё пытаюсь выделить ещё кусок времени, взять их cpro и посмотреть самому (а также и патчсет доутрясти). Сейчас в основном занимался mkimage-profiles.
libopenmotif3-2.2.4-alt3 -> p6: * Mon Mar 26 2012 Michael Shigorin <mike@altlinux> 2.2.4-alt3 - added patch by vx8400@ (see #27115) - enabled JPEG and PNG support (thx at@, see 2.3.3-alt2) * Sat Mar 24 2012 Michael Shigorin <mike@altlinux> 2.2.4-alt2 - fixed build in recent environments with gentoo patch (closes: #27115)
Я понял, покой нам только снится. :)
libopenmotif3-2.2.4-alt3 -> t6: * Mon Mar 26 2012 Michael Shigorin <mike@altlinux> 2.2.4-alt3 - added patch by vx8400@ (see #27115) - enabled JPEG and PNG support (thx at@, see 2.3.3-alt2) * Sat Mar 24 2012 Michael Shigorin <mike@altlinux> 2.2.4-alt2 - fixed build in recent environments with gentoo patch (closes: #27115)