• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Проблема DXLImporter - ошибки импорта базы через DXL

A

anna

Коллеги, а подскажите, отчего может не срабатывать импорт базы из dxl через DXLImporter?
Пишет много всякого, в числе прочего:
<fatalerror source='NotesInputSource' line='1' column='1'>Invalid document structure</fatalerror>
<fatalerror source='NotesInputSource' line='4' column='78'>Expected whitespace</fatalerror>
<error source='NotesInputSource' line='7' column='39'>Attribute 'Travel' is not declared for element 'database'</error>
итд итп
База - пустой тестовый шаблон, с некоторыми элементами дизайна.
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
а найти конкретный элемент на котором стопорится и импортнуть без него?
 
A

anna

а найти конкретный элемент на котором стопорится и импортнуть без него?
Исходя из предположения, что на вход подается только что экспортированная DXLExporter база (точнее, ntf), то откуда взяться ошибкам в структуре?
К слову, Lotus Notes 9 клиент.
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
Исходя из предположения, что на вход подается только что экспортированная DXLExporter база (точнее, ntf), то откуда взяться ошибкам в структуре?
К слову, Lotus Notes 9 клиент.
ну мест много например простой агент - не формула не скрипт - тоже вызывает ошибку экспорта
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
177
<?xml version='1.0'?>
<!DOCTYPE database SYSTEM 'xmlschemas/domino_9_0_1.dtd'>
как осуществляется выгрузка/загрузка, м.бю с кодировкой к.л. проблемы? М.б. непечатные символы, кот. вызывают ругань парсера
если подсунуть хмл редактору этот файл - что он скажет?
Вощем - где пример строк в кот. ошибка, архив есть?
 
A

anna

как осуществляется выгрузка/загрузка, м.бю с кодировкой к.л. проблемы? М.б. непечатные символы, кот. вызывают ругань парсера
если подсунуть хмл редактору этот файл - что он скажет?
Вощем - где пример строк в кот. ошибка, архив есть?
Слушай, код экспорта и импорта взят из хелпа. И LS и Java. Взята пустая база. XML валидный.
"<?xml version='1.0'?><DXLImporterLog><fatalerror source='NotesInputSource' line='4' column='62'>A leading surrogate character was not followed by a legal second character</fatalerror><fatalerror source='NotesInputSource' line='4' column='78'>Expec...

Еще интереснее, что при замене по всей базе ругается похоже - на какие-то кодировки, символы... Может, это все как-то связано? Какие-то косяки в базе с кодировками не дают заменять и не дают импортировать?
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
177
Слушай, код экспорта и импорта взят из хелпа. И LS и Java. Взята пустая база. XML валидный.


Еще интереснее, что при замене по всей базе ругается похоже - на какие-то кодировки, символы... Может, это все как-то связано? Какие-то косяки в базе с кодировками не дают заменять и не дают импортировать?
там вечное г..но, на винде, с кодировками, тупой дизигнер нотусни пердолит 1251
Еще момент - в хмл нет способа указать кодировку, в XSLT, должна быть ASCII , все что иначе - квотить/энкодить
Т.о. если выгружаем дефолтом - будет 1251, а загрузка в UTF-8 даст полный шванец
но выгружать не дефолтом, в нек. случаях (индусского творчества) может не сростись ;)
т.е. если мы на виндядко - следим за кодировкой 1251, при выгрузке/загрузке, если никсы - UTF8 "и никаких аппаратов" ;)
 
A

anna

там вечное г..но, на винде, с кодировками, тупой дизигнер нотусни пердолит 1251
Еще момент - в хмл нет способа указать кодировку, в XSLT, должна быть ASCII , все что иначе - квотить/энкодить
Т.о. если выгружаем дефолтом - будет 1251, а загрузка в UTF-8 даст полный шванец
но выгружать не дефолтом, в нек. случаях (индусского творчества) может не сростись ;)
т.е. если мы на виндядко - следим за кодировкой 1251, при выгрузке/загрузке, если никсы - UTF8 "и никаких аппаратов" ;)
Не поняла! Следим? Как? Я тут выяснила, что при замене по базе (кстати, только недавно обнаружила эту возможность, бывает же такое), периодически выдает что-то похожее. Как думаете, не использует ли этот полнотекстовый поиск ту же самую шнягу? и не даст ли предпросмотр возможность найти в дизайне неправильно кодированные элементы? и если мы нашли "плохой" элемент дизайна, то как в нем найти ошибку с кодировкой?
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
177
то как в нем найти ошибку с кодировкой?
если уже все состоялось - никак
косвенно - русские буквы (если таковые есть) в текстовом редакторе
"следим" - это процедуры выгрузки/загрузки должны принудительно указывать кодировку (как пример - выгрузка на клиенте, загрузка на сервере под ЦентОС) и она д.б. (что очевидно) одинаковой
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
там вечное г..но, на винде, с кодировками, тупой дизигнер нотусни пердолит 1251
Еще момент - в хмл нет способа указать кодировку, в XSLT, должна быть ASCII , все что иначе - квотить/энкодить
нотесстриму можно задавать кодировку
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
177
нотесстриму можно задавать кодировку
НУЖНО, обязательно, НО это только для частного хмл, но не для xsl (там по спецификации не положено ЕМНИП)
можно и не в стриме: open fileName$ For Output Access Write As fileNum% Charset="utf-8"
что может накорячить экспортер - нулевые байты (из-за клдировок), как с этим боросться - все что не base64 - чистить
 
30.05.2006
1 345
12
BIT
0
Исходя из предположения, что на вход подается только что экспортированная DXLExporter база (точнее, ntf), то откуда взяться ошибкам в структуре?
К слову, Lotus Notes 9 клиент.
Уж не знаю, как в 9-ке, а на 7(8?) была баго-фича: НЕ импортировались псевдо-item-ы (NoteID и ещё что-то). Т.е. те св-ва док-та, которые ПРИНЦИПИАЛЬНО нельзя менять, по архитектурным соображениям.
Мне в своё время пришлось их отфильтровать - тогда импорт пошел
 

alexas1

Green Team
10.04.2014
1 202
225
BIT
34
Уж не знаю, как в 9-ке, а на 7(8?) была баго-фича: НЕ импортировались псевдо-item-ы (NoteID и ещё что-то). Т.е. те св-ва док-та, которые ПРИНЦИПИАЛЬНО нельзя менять, по архитектурным соображениям.
Мне в своё время пришлось их отфильтровать - тогда импорт пошел
девятка ващще отдельная тема, там даж простой реплейс дизайна может не все элементы отработать.
и других граблей разложено, что не знаешь, где по лбу получишь))) и на сервере и на клиенте
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
раз уж мы затронули тему DXML импорта

я вот рассылки почтовые делаю - индивидуально, с падежами и т.д., естественно через импорт/экспорт меняю метки на нужные значения и письмо получаетс "рукотворно приятным"

однако стоит это письмо в том же лотусе глянуть потом - клиент тупо падает, начиная от версии 7 и выше...
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!