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

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

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

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

перечень пакетов, включённых в реализацию Jvm от Ibm в Lotus Domino/no

  • Автор темы alik86
  • Дата начала
A

alik86

Пакет java.awt идет в "стандартной" комплектации jre, в т.ч. в реализации jvm от ibm, которая включена в состав lotus domino/notes.
А вот это уже интересно...
Где можно глянуть перечень пакетов, включённых в реализацию jvm от ibm, которая включена в состав lotus domino/notes?
 
N

nvyush

Открываем дизайнер, создаём java-агента/библиотеку, в панели объектов выбираем закладку Reference. Изучаем...
 
A

alik86

Что-то я эбсолютли не могу допереть, что за панель объектов и где там выбирать закладку Reference... ;)

Попробовал нахрапом:
Типа import.java.<и просмотреть этот список>
Но, как я понимаю, подобная штука покажет мне и то, что имеется в jre, установленной у меня?
 
A

alik86

Где в LS-библиотеке Reference мне известно:
ls.gif
А вот где найти их в Java я эбсолютли не допераю:
18.02.gif
2.gif

Добавлено: Оно?
666.gif
 
A

alik86

Дизайнер 8.0.1 :)
А в 8.5.2 как? Неуж-то нет никакой доки с перечислением? В хелпе не натыкался на такое (может между строк искал?)...
 
T

turumbay

А вот это уже интересно...
Где можно глянуть перечень пакетов, включённых в реализацию jvm от ibm, которая включена в состав lotus domino/notes?
ibm jvm как минимум реализует стандарное java api:
для семерки:
для 8.5:
плюс, в нагрузку предоставляет пакеты для работы с лотусовыми сущностями - грубо говоря, аналоги классов LS. Их курить в хелпе дизайнера.
 
A

alik86

Чудненько.
А я думал, что "пакеты для работы с лотусовыми сущностями" идут не в нагрузку, а только они и идут. Посему и избегал так долго явы. А тут "вот оно что..." :)
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
214
да дажеб если не было, есть LS2J
 
A

alik86

lmike, так с вариантом LS2J и при "да дажеб если не было" пользователям надо было бы jre ставить, не?
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
214
А я думал, что "пакеты для работы с лотусовыми сущностями" идут не в нагрузку, а только они и идут.
я выссказывался по-поводу этого...
в доминой идет ПОЛНАЯ JSE расширенная секуритями и классами домины
еслибы не было классов домины, для джава, но присут. тока бридж LS2J - этого уже былобы достаточно для массы возможностей
 
A

alik86

xalet, когда много-много пользователей, то особо не побегаешь, не посгружаешь (что бегать сгружать, что бегать jre ставить -- те же яйца).
lmike, было бы бы... :)
Для общего развития я и раньше (Вашими стараниями кстати) яву посматривал, но массово в рабочие приложения совать даже и не подумывал (да и не велели). А вот теперь как знать... А вот теперь быть может...
 
X

Xalet

когда много-много пользователей, то особо не побегаешь, не посгружаешь (что бегать сгружать, что бегать jre ставить -- те же яйца).

Зачем бегать? Пишется скрипт с проверкой на наличие нужных файлов, который с сервера сгружает и запускается на открытии базы(как вариант).

Конечено придется клиент рестартануть после "инсталяции", но это не так и сложно...
 
A

alik86

Забыл слово бегать взять в кавычки. :)
Всё равно надо было бы производить какие-то телодвижения... А тут оказывается и не надо, тут оказывается полнейший ол инклюдед.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
214
дарю, в общее пользование <div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">"java JarDeploy"</div></div><div class="sp-body"><div class="sp-content"><!--shcode--><pre><code class='java'>package org.files;

import lotus.domino.*;
import java.util.*;
public class JarDeploy {
private String libpath="";
private String rtName="body";
public JarDeploy(){
String jpath=System.getProperty("java.home");
String fsep=System.getProperty("file.separator");
libpath=jpath+fsep+"lib"+fsep+"ext"+fsep;
}
public void deploy(String dbID, String unid){
try{
Session ses=NotesFactory.createSession();
String server=ses.getServerName();
Database db=ses.getDatabase(null,null);
if (db.openByReplicaID(server, dbID)){
Document doc=db.getDocumentByUNID(unid);
RichTextItem rt=(RichTextItem)doc.getFirstItem(rtName);
Vector objs=rt.getEmbeddedObjects();
Enumeration e = objs.elements();
while (e.hasMoreElements()) {
EmbeddedObject eo = (EmbeddedObject)e.nextElement();
eo.extractFile(libpath + eo.getName());
}
}
}catch (Exception e){
e.printStackTrace();
}
}
public String getLibPath(){
return libpath;
}
public String setRtName(String xName){
rtName=xName;
return xName;
}
}[/CODE]
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">"LS (код объединил, дергал из либ кускоми, может ч-то не хватать)"</div></div><div class="sp-body"><div class="sp-content">
Код:
Option Public
Option Declare
Use "ErrorHandling"
Use "JarDeploy"

Const ERRBASE_FILES=1110
Const ERRLS2JINIT=ERRBASE_FILES+1, CS_ERRLS2JINIT={ошибка инициализации класса Java}
Const ERRFILEACCESS=ERRBASE_FILES+2, CS_ERRFILEACCESS={ошибка доступа к файлу}

Const CS_RELOAD={Перезагрузите, пожалуйста, программу}
Const CS_RETRY={повторите попытку}
'********************************
Class JarLib As ErrorHandlerWJ
Private JarLibObj	As JavaObject
Private JarLibClass As JavaClass
Private ses As NotesSession
Private db As NotesDatabase
Private libPath As String
Private rtName As String
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub New()
Dim fail As Boolean
On Error Goto errorhandler
Set JarLibClass = jSession.GetClass("org.files.JarDeploy")
Set JarLibObj = jarLibClass.CreateObject
libPath=JarLibObj.getLibPath()
Set ses=New NotesSession
Set db=ses.CurrentDatabase
rtName={Body}
ExitFunction:
If fail Then 
On Error Goto 0
Error ERRLS2JINIT, CS_ERRLS2JINIT
End If
Exit Sub
errorhandler:
Call Me.RaiseError()
fail=True
Resume ExitFunction
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Function Deploy(unid As String) As Boolean
On Error Goto ErrH
Dim doc As NotesDocument
Set doc=db.GetDocumentByUNID(unid)
Dim filesList List As String
Dim fName As String
fName=DetachDocFiles(doc,{*.jar},filesList)
If fName<>"" Then
Forall f In filesList
Dim sfile As String
sfile=Listtag(f)
If MoveFile(libPath & sfile, libPath & sfile & {.old})=70 Then
'файл заблокирован
Messagebox CS_ERRFILEACCESS & Chr(10)_
& (CS_RELOAD) & Chr(10)_ 
& CS_RETRY, MB_OK + MB_APPLMODAL + MB_ICONEXCLAMATION
Exit Function
End If
Call MoveFile(Cstr(f) & sfile, libPath & sfile)
End Forall
Deploy=True
End If
Quit:
Exit Function
ErrH:
Call Me.RaiseError()
Resume Quit
End Function
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Function SetRtName(xName As String) As String
rtName=xName
setRtName=xName
End Function
End Class
Dim db As NotesDatabase
Dim ses As NotesSession
Dim agentLog As NotesLog

Function MoveFile(srcName As String, dstName As String) As Integer
On Error Goto ErrorHandler
Call DeleteFile(dstName)
Name srcName As dstName
MoveFile=-1
ExitFunction:
Exit Function
ErrorHandler:
If agentLog Is Nothing Then
Call RaiseError()
Else
Call agentLog.LogAction("Move file:"& srcName & "->" & dstName & " error:" & Error$)
End If
MoveFile=Err
Resume ExitFunction
End Function

Function DeleteFile(fName As String) As Boolean
On Error Goto ErrorHandler
Kill fName
DeleteFile=True
ExitFunction:
Exit Function
ErrorHandler:
If agentLog Is Nothing Then
Call RaiseError()
Else
Call agentLog.LogAction("Delete file:"& fName & " error:" & Error$)
End If
Resume ExitFunction
End Function
Sub Initialize
Dim libobj As New JarLib()
Dim view As NotesView
Set ses=New NotesSession
Set db=ses.CurrentDatabase

Set view=db.GetView(OPTIONS_LOOKUP)
Dim doc As NotesDocument
Set doc=view.GetDocumentByKey(OPT_JARLIB, True)
libobj.Deploy(doc.UniversalID)
End Sub
ErrorHandling, в виде lss (втянуть в либу либо изменить Use)Посмотреть вложение ErrorHandling.lss.zip
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
214
код в Initialize дергает вьюшку в кот. ищет, по ключу, док с jar-ом/ами и детачит их в jvm/lib/ext
разумеется - константы:OPTIONS_LOOKUP, OPT_JARLIB; надо самим определить (ибо там м.б. любая структура)
 
Мы в соцсетях:

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