View Issue Details

IDProjectCategoryView StatusLast Update
0002146Far ManagerPlugins APIpublic2013-04-25 13:55
Reportermichael.lukashov Assigned ToDrKnS  
PrioritynormalSeveritytrivialReproducibilityN/A
Status closedResolutionfixed 
Product Version3.0 
Fixed in Version3.0 
Summary0002146: Privilege API for NetBox plugin
DescriptionПредлагаю предоставить указатель на структуру ArclitePrivateInfo для плагина NetBox. Начиная с версии 2.1.9 плагин умеет использовать функции из ArclitePrivateInfo для создания/удаления файлов, если в структуре PluginStartupInfo поле Private заполнено.
Патч прилагается.
TagsNo tags attached.
Build3321

Activities

michael.lukashov

2012-08-20 09:36

reporter  

netbox.diff (1,022 bytes)   
Index: FarGuid.hpp
===================================================================
--- FarGuid.hpp	(revision 8322)
+++ FarGuid.hpp	(working copy)
@@ -40,3 +40,5 @@
 DEFINE_GUID(EMenuGuid, 0x742910f1, 0x2ed, 0x4542, 0x85, 0x1f, 0xde, 0xe3, 0x7c, 0x2e, 0x13, 0xb2);
 // {65642111-AA69-4B84-B4B8-9249579EC4FA}
 DEFINE_GUID(ArcliteGuid, 0x65642111, 0xaa69, 0x4b84, 0xb4, 0xb8, 0x92, 0x49, 0x57, 0x9e, 0xc4, 0xfa);
+// {42E4AEB1-A230-44F4-B33C-F195BB654931}
+DEFINE_GUID(NetBoxGuid, 0x42e4aeb1, 0xa230, 0x44f4, 0xb3, 0x3c, 0xf1, 0x95, 0xbb, 0x65, 0x49, 0x31);
Index: plclass.cpp
===================================================================
--- plclass.cpp	(revision 8322)
+++ plclass.cpp	(working copy)
@@ -346,7 +346,8 @@
 	if (pPlugin)
 	{
 		PSI->ModuleName = pPlugin->GetModuleName().CPtr();
-		if(IsEqualGUID(pPlugin->GetGUID(),ArcliteGuid))
+		if(IsEqualGUID(pPlugin->GetGUID(),ArcliteGuid) ||
+			 IsEqualGUID(pPlugin->GetGUID(),NetBoxGuid))
 		{
 			PSI->Private = &ArcliteInfo;
 		}
netbox.diff (1,022 bytes)   

samlyukov

2012-08-20 13:29

reporter   bugnote:0009493

так не пойдет. нужна нормальная система регистрации плагов. а для этого нужно вначале сделать встроенный менеджер плагинов.

michael.lukashov

2012-08-20 14:16

reporter   bugnote:0009494

Почему не пойдет? Для arclite пошло же :)
Думайте сами - поменять 2 строки в коде или ждать гипотетический "встроенный менеджер плагинов"

DrKnS

2012-08-21 14:48

administrator   bugnote:0009495

Доступ к приватным интерфейсам будет, если NetBox пойдет по пути ArcLite и станет частью проекта Far Manager, заменив собой FTP.

В группе вроде бы никто не против, при условии, что плагин не будет тянуть с собой вагон зависимостей (boost, mfc, etc.).

Слово за автором.

samlyukov

2012-08-21 15:10

reporter   bugnote:0009496

немного не сюда, но приаттачил мое видение доступности ф-ций фара.

samlyukov

2012-08-21 15:10

reporter  

PlMng.txt (1,606 bytes)   
���� � ����ன��� ������ �ࠧ�����, ᤥ���� �������� ������, ���-� ⠪:

���������������������� Plugins manager ���������������������ͻ
�  Advanced compare 2                   � 3.0.0.34          �
�  arclite                              � 3.0.0.124         ��
�  Brackets matching                    � 3.0.0.87          ��
�A FarFtp.dll                           � 0.0.0.0           �
��������������������� Plugin information �������������������͹
� Description:                                               �
� Advanced compare 2 plugin for Far Manager v3.0             �
� Author: Alexey Samlyukov                                   �
� Module path: G:\Far3\Plugins\AdvCmp2\AdvCmp.dll            �
� Plugin GUID: ED0C4BD8-D2F0-4B6E-A19F-B0B0137C9B0C          �
� Plugin prefix: bla-bla-bla                                 �
������������������������������������������������������������Ķ
� [ ] Disabled plugin                                        �
� [x] Use administrator rights                               �
������������������������������������������������������������Ķ
�       { OK }  [ Config ]  [ Delete ]  [ Cancel ]           �
������������������������������������������������������������ͼ
���:
- ������ ���� � ���������, ����� ������� �� ����� ����� + ����� ����� (��� ���)
- ���� ���ଠ�� � �����
- ���� ���� ����஥�: 
  - ������ ����⨢��/��⨢�� ������
  - �������� �ᯮ�짮���� �-樨 ��, �⮡ ���� �뫠 ����㯭� ��� ����祭�� ������ ������ ���⠢���� 䫠� �-�� PF_PRELOAD
- Config - ������ � ����ன��� �����
- Delete - ������ 㤠����� �����
PlMng.txt (1,606 bytes)   

michael.lukashov

2012-08-21 15:27

reporter   bugnote:0009497

MFC используется в Filezila, на которой основана поддержка FTP и FTPS
Из boost используется ограниченный набор библиотек (boost.scope для эмуляции try..finally, boost.bind для эмуляции __closure)
openssl используется для FTPS
Putty для SFTP и SCP
neon+zlib+expat+apr для WebDAV

Я так понимаю, вы предлагаете все это заменить на самописные велосипеды?
"Так не пойдет" (с)

DrKnS

2013-04-10 16:00

administrator   bugnote:0010714

> если в структуре PluginStartupInfo поле Private заполнено.

Это ещё востребовано?
А то поле я заполнил, а эффекта никакого.

michael.lukashov

2013-04-10 17:01

reporter   bugnote:0010717

Проверяли FTP протокол? Попробуйте WebDAV, SCP или SFTP. В FTP я забыл внести нужные правки, поправлю в ближайшее время.

DrKnS

2013-04-10 19:50

administrator   bugnote:0010726

3321.

Возвращается указатель на структуру NetBoxPrivateInfo.
На текущий момент она ничем не отличается от ArclitePrivateInfo, но сильно рекомендую поменять.

Issue History

Date Modified Username Field Change
2012-08-20 09:36 michael.lukashov New Issue
2012-08-20 09:36 michael.lukashov File Added: netbox.diff
2012-08-20 13:29 samlyukov Note Added: 0009493
2012-08-20 14:16 michael.lukashov Note Added: 0009494
2012-08-21 14:48 DrKnS Note Added: 0009495
2012-08-21 14:48 DrKnS Status new => feedback
2012-08-21 15:10 samlyukov Note Added: 0009496
2012-08-21 15:10 samlyukov File Added: PlMng.txt
2012-08-21 15:27 michael.lukashov Note Added: 0009497
2012-08-21 15:27 michael.lukashov Status feedback => new
2013-04-10 16:00 DrKnS Note Added: 0010714
2013-04-10 17:01 michael.lukashov Note Added: 0010717
2013-04-10 19:50 DrKnS Note Added: 0010726
2013-04-10 19:50 DrKnS Assigned To => DrKnS
2013-04-10 19:50 DrKnS Status new => feedback
2013-04-25 13:55 alexy Build => 3321
2013-04-25 13:55 alexy Status feedback => closed
2013-04-25 13:55 alexy Resolution open => fixed
2013-04-25 13:55 alexy Fixed in Version => 3.0