• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

User-defined Error

  • Автор темы yerke
  • Дата начала
Y

yerke

привет всем

у меня возникает трабла
у казанная в сабже

оно возникает при сохранений и закрытий открытого документа в UI
и при открытий след док-а

то есть
Код:
	'=save cur doc
Call cdoc.Save(True, False, False) '=текущий NotesDocument

'=get to_doc
Set to_doc=cdb.GetDocumentByUNID(Cstr(CHILD_UNID(index))) '=открываемый NotesDocument
Set to_uidoc=ws.EditDocument(True, to_doc) '=открываемый NotesUIDocument

'=
Set to_doc=Nothing
Set to_uidoc=Nothing
'=

Call uidoc.Close(False) '=текущий док NotesUIDocument
'=
'=
 
A

Akupaka

NickProstoNick, где ты код сохранения увидел этих объектов?.. :unsure:
(хотя убиение их не обязательно вроде)
 
Y

yerke

(хотя убиение их не обязательно вроде)
кажет ся объязательно
это эксперимент доказал
:unsure:

мне кажется это лишнее. ты освобождаешь объекты и пытаешь сохранить ничто
здесь нету сохранения этих объектов
а то я получилл бы "Object variable not set"
а не "User-defined Error"
 
A

Akupaka

между прочим, ты так и не сказал в какой строке ошибка, это раз...
если практика доказала, то пусть будет, хотя я не верю, это два...
а три, посмотри хорошо код, который срабатывает на Initialize/Query/PostOpen и т.п. формы документа to_doc
ошибка может быть в нем
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
Почитайте сабж автора!
Автор пишет о сохранении документа! Я доверяю автору!

кажет ся объязательно
это эксперимент доказал
:D


здесь нету сохранения этих объектов
а то я получилл бы "Object variable not set"
а не "User-defined Error"
или ты сам себе противоречишь!

Либо код приводи полный! либо описывай ситуацию нормально!
 
A

Akupaka

ну дык пишет, но надо же внимательнее быть :D

оно возникает при сохранений и закрытий открытого документа в UI и при открытий след док-а
и приводит код который выполняется
 
Y

yerke

все нашел причину
спасибо всем кто откликнулся
 
A

Akupaka

потрудись, пожалуйста, написать в чем она была? :D
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 940
609
BIT
210
да чё было - скорее-всго класс полключил или ф-цию - кот. генерит ошибку Error
 
Y

yerke

это на самом деле оказалось следующий ЭРРОР:
Error: 'Ignoring portion of document that uses a feature from another version of Notes'


-------------------------------------------------
если открывать такой док с помощь
Код:
Set to_uidoc=ws.EditDocument(True, to_doc)

'=
'=
то получаем User-defined Error

а если открыть данный док из вьюшки то получаем
Error: 'Ignoring portion of document that uses a feature from another version of Notes'
 
A

alik86

Добился этой же ошибки (User-defined error), но другим способом.
А именно, ошибка валится на строке:
Код:
ConsoleReturn$ = Session.SendConsoleCommand(”ServerName”, ”Show Users –xml”)
когда процедура, содержащая эту строку, запускается рядовыми пользователями.
Понимаю, что связано это с тем, что The user must have administrative access to the server, а посему впулил я процедуру, с этой строкой в агент, который Run on behalf of: сервер.
И пользователь вызывает его так:
Код:
Set Agent = Db.GetAgent("AgentName")
Call Agent.Run()
Однако ошибка User-defined error не уходит.
Что я делаю не так? :what?:
 
N

nvyush

alik86
На второй закладке свойств агента есть комба "Set runtime security level". Должно стоять 2 или 3, скорее всего 3.
 
A

alik86

Стоит 3. Allow restricted operations with full administrations rights.
Я еще не упомянул, что
ConsoleReturn$ = Session.SendConsoleCommand(Server, ”Show Users –xml”)
у меня вызывается в цикле:
Код:
ForAll Server In ServersList
ConsoleReturn$ = Session.SendConsoleCommand(Server, ”Show Users –xml”) 
End ForAll
Где ServersList содержит помимо сервера, на котором и от чьего имени вызывается агент, еще один сервер, и ошибка, похоже, валит именно при обращении ко 2-му серверу... Но у первого сервера вроде есть все права на второй (админ так сказал).
P.S. Где посмотреть права доступа одного сервера на другой? Подозреваю, что в Current Server Document -> Безопасность. Если да, то какой именно пункт и для какого сервера смотреть, и что там должно быть написано ? Если не в Current Server Document, то где?
 
N

nvyush

похоже, валит именно при обращении ко 2-му серверу
Ну так сначала надо проверить на "родном" сервере. Исключите в коде агента второй сервер из списка и попробуйте вызвать агента под рядовым пользователем. Если ошибку выдавать не будет, значит можно копать дальше.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 940
609
BIT
210
вот когда я предлагал сделать на сервере документ програмс - заупрямился человек, ну как грится - СЗБ (пусть терь помучается :what?: )
nvy
да ничего копать не надо...
серверные команды должен делать сам сервер, без кода на LS
это "горбатое" решение "началось" отсюдова
https://codeby.net/threads/35750.html?vi...st&p=171087
 
Мы в соцсетях:

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