mirror of
https://github.com/samba-team/samba.git
synced 2025-01-11 05:18:09 +03:00
r1799: List more uuids. From
http://www.hsc.fr/ressources/articles/win_net_srv
(This used to be commit 8d36dbed8c
)
This commit is contained in:
parent
2129ba5082
commit
b7779be06a
@ -36,6 +36,7 @@ SMB_INCLUDE_M4(client/config.m4)
|
||||
SMB_INCLUDE_M4(utils/config.m4)
|
||||
SMB_INCLUDE_M4(smbd/config.m4)
|
||||
SMB_INCLUDE_M4(gtk/config.m4)
|
||||
SMB_INCLUDE_M4(lib/dcom/config.m4)
|
||||
|
||||
ALLLIBS_LIBS="$LIBS"
|
||||
ALLLIBS_CFLAGS="$CFLAGS"
|
||||
|
@ -10,6 +10,9 @@ SMB_SUBSYSTEM(LIBNDR_RAW,[],
|
||||
librpc/gen_ndr/ndr_dcerpc.o
|
||||
librpc/gen_ndr/ndr_echo.o
|
||||
librpc/gen_ndr/ndr_exchange.o
|
||||
librpc/gen_ndr/ndr_dsbackup.o
|
||||
librpc/gen_ndr/ndr_dsrole.o
|
||||
librpc/gen_ndr/ndr_efs.o
|
||||
librpc/gen_ndr/ndr_misc.o
|
||||
librpc/gen_ndr/ndr_lsa.o
|
||||
librpc/gen_ndr/ndr_lsads.o
|
||||
@ -24,6 +27,10 @@ SMB_SUBSYSTEM(LIBNDR_RAW,[],
|
||||
librpc/gen_ndr/ndr_atsvc.o
|
||||
librpc/gen_ndr/ndr_eventlog.o
|
||||
librpc/gen_ndr/ndr_epmapper.o
|
||||
librpc/gen_ndr/ndr_dbgidl.o
|
||||
librpc/gen_ndr/ndr_dssetup.o
|
||||
librpc/gen_ndr/ndr_msgsvc.o
|
||||
librpc/gen_ndr/ndr_wins.o
|
||||
librpc/gen_ndr/ndr_winreg.o
|
||||
librpc/gen_ndr/ndr_mgmt.o
|
||||
librpc/gen_ndr/ndr_protected_storage.o
|
||||
|
@ -3,6 +3,19 @@
|
||||
version(1.0)
|
||||
] interface audiosrv
|
||||
{
|
||||
void AudioSrv_Dummy();
|
||||
|
||||
void audiosrv_CreatezoneFactoriesList();
|
||||
void audiosrv_CreateGfxFactoriesList();
|
||||
void audiosrv_CreateGfxList();
|
||||
void audiosrv_RemoveGfx();
|
||||
void audiosrv_AddGfx();
|
||||
void audiosrv_ModifyGfx();
|
||||
void audiosrv_OpenGfx();
|
||||
void audiosrv_Logon();
|
||||
void audiosrv_Logoff();
|
||||
void audiosrv_RegisterSessionNotificationEvent();
|
||||
void audiosrv_UnregisterSessionNotificationEvent();
|
||||
void audiosrv_SessionConnectState();
|
||||
void audiosrv_DriverOpenDrvRegKey();
|
||||
void audiosrv_AdvisePreferredDeviceChange();
|
||||
void audiosrv_GetPnpInfo();
|
||||
}
|
||||
|
@ -45,11 +45,11 @@ interface browser
|
||||
NTSTATUS BrowserrSetNetlogonState();
|
||||
|
||||
/******************/
|
||||
/* Function 0x10 */
|
||||
/* Function 0x0a */
|
||||
NTSTATUS BrowserrQueryEmulatedDomains();
|
||||
|
||||
/******************/
|
||||
/* Function 0x11 */
|
||||
/* Function 0x0b */
|
||||
NTSTATUS BrowserrServerEnumEx();
|
||||
|
||||
}
|
||||
|
7
source4/librpc/idl/dbgidl.idl
Normal file
7
source4/librpc/idl/dbgidl.idl
Normal file
@ -0,0 +1,7 @@
|
||||
[
|
||||
uuid(1d55b526-c137-46c5-ab79-638f2a68e869),
|
||||
version(1.0)
|
||||
] interface dbgidl
|
||||
{
|
||||
void dummy_dbgidl();
|
||||
}
|
@ -8,6 +8,16 @@
|
||||
#define HRESULT uint32
|
||||
#define OLESTR unistr
|
||||
|
||||
[
|
||||
uuid(18f70770-8e64-11cf-9af1-0020af6e72f4),
|
||||
version(0.0)
|
||||
] interface dcom_Uknown
|
||||
{
|
||||
void dcomu_UseProtSeq();
|
||||
void dcomu_GetCustomProtseqInfo();
|
||||
void dcomu_UpdateResolverBindings();
|
||||
}
|
||||
|
||||
[
|
||||
uuid(99fcfe60-5260-101b-bbcb-00aa0021347a),
|
||||
pointer_default(unique)
|
||||
@ -245,6 +255,7 @@ interface ObjectRpcBaseTypes
|
||||
} MInterfacePointer;
|
||||
}
|
||||
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(00000000-0000-0000-C000-000000000046)
|
||||
@ -265,6 +276,22 @@ interface IUnknown
|
||||
uint32 Release();
|
||||
}
|
||||
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(00000001-0000-0000-C000-000000000046),
|
||||
pointer_default(unique)
|
||||
] interface IClassFactory : IUnknown
|
||||
{
|
||||
HRESULT CreateInstance();
|
||||
|
||||
HRESULT RemoteCreateInstance();
|
||||
|
||||
HRESULT LockServer();
|
||||
|
||||
HRESULT RemoteLockServer();
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////
|
||||
|
||||
// The remote version of Iunknown. This interface exists on every
|
||||
@ -428,12 +455,15 @@ interface IRemoteActivation
|
||||
MInterfacePointer *ppInterfaceData;
|
||||
} ppInterfaceDataArray;
|
||||
|
||||
typedef [public] struct {
|
||||
DUALSTRINGARRAY *dualstringarray;
|
||||
} REF_DUALSTRINGARRAY;
|
||||
|
||||
const uint32 MODE_GET_CLASS_OBJECT = 0xffffffff;
|
||||
HRESULT RemoteActivation (
|
||||
[in,ref] policy_handle *hRpc,
|
||||
[in] ORPCTHIS *ORPCthis,
|
||||
[out] ORPCTHAT *ORPCthat,
|
||||
[in] GUID *Clsid,
|
||||
[in] ORPCTHIS ORPCthis,
|
||||
[out] ORPCTHAT ORPCthat,
|
||||
[in] GUID Clsid,
|
||||
[in, unique] unistr *pwszObjectName,
|
||||
[in, unique] MInterfacePointer *pObjectStorage,
|
||||
[in] uint32 ClientImpLevel,
|
||||
@ -441,11 +471,10 @@ interface IRemoteActivation
|
||||
[in] uint32 Interfaces,
|
||||
[in,unique,size_is(Interfaces)] IID *pIIDs,
|
||||
[in] uint16 cRequestedProtseqs,
|
||||
[in, size_is(cRequestedProtseqs)]
|
||||
uint16 RequestedProtseqs[],
|
||||
[out] OXID *pOxid,
|
||||
[out] ppdsaOxidBindingsArray *ppdsaOxidBindings,
|
||||
[out] IPID *pipidRemUnknown,
|
||||
[in, size_is(cRequestedProtseqs)] uint16 RequestedProtseqs[],
|
||||
[out] OXID pOxid,
|
||||
[out] DUALSTRINGARRAY *pdsaOxidBindings,
|
||||
[out] IPID ipidRemUnknown,
|
||||
[out] uint32 *pAuthnHint,
|
||||
[out] COMVERSION *pServerVersion,
|
||||
[out] HRESULT *phr,
|
||||
@ -457,40 +486,22 @@ interface IRemoteActivation
|
||||
|
||||
/* The Win2k equivalent of IRemoteActivation */
|
||||
[
|
||||
object,
|
||||
uuid(000001a0-0000-0000-c000-000000000046),
|
||||
version(0.0)
|
||||
]
|
||||
interface ISystemActivator
|
||||
interface ISystemActivator : IUnknown
|
||||
{
|
||||
|
||||
/*****************/
|
||||
/* Function 0x00 */
|
||||
NTSTATUS isa_Unknown0();
|
||||
|
||||
/*****************/
|
||||
/* Function 0x01 */
|
||||
NTSTATUS isa_Unknown1();
|
||||
|
||||
/*****************/
|
||||
/* Function 0x02 */
|
||||
NTSTATUS isa_Unknown2();
|
||||
|
||||
/*****************/
|
||||
/* Function 0x03 */
|
||||
NTSTATUS isa_Unknown3();
|
||||
|
||||
// Binding strings and the OBJREF_SIGNATURE in this call
|
||||
/*****************/
|
||||
/* Function 0x04 */
|
||||
NTSTATUS isa_Unknown4();
|
||||
void ISystemActivatorRemoteGetClassObject();
|
||||
void ISystemActivatorRemoteCreateInstance();
|
||||
}
|
||||
|
||||
[
|
||||
uuid(00000132-0000-0000-C000-000000000046),
|
||||
version(0.0)
|
||||
] interface IObjServer
|
||||
] interface ILocalSystemActivator
|
||||
{
|
||||
WERROR IObjServer_Unknown();
|
||||
WERROR ILocalSystemActivator_Unknown();
|
||||
}
|
||||
|
||||
[
|
||||
@ -498,18 +509,27 @@ interface ISystemActivator
|
||||
version(0.0)
|
||||
] interface IRunDown
|
||||
{
|
||||
WERROR IRunDown_Dummy();
|
||||
void IRunDown_Dummy();
|
||||
}
|
||||
|
||||
|
||||
// Service COntrol Manager
|
||||
// Service Control Manager
|
||||
|
||||
[
|
||||
uuid(00000136-0000-0000-C000-000000000046),
|
||||
version(0.0)
|
||||
] interface ISCMLocalActivator
|
||||
uuid(),
|
||||
version(2.0)
|
||||
] interface SCM
|
||||
{
|
||||
WERROR ISCMLocalActivator();
|
||||
void SCM_Dummy();
|
||||
}
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(00000136-0000-0000-C000-000000000046)
|
||||
] interface ISCMActivator : IUnknown
|
||||
{
|
||||
WERROR SCMActivator_GetClassObject();
|
||||
WERROR SCMActivator_CreateInstance();
|
||||
}
|
||||
|
||||
[
|
||||
@ -523,12 +543,20 @@ interface ISystemActivator
|
||||
HRESULT GetTypeInfoCount(
|
||||
[out] uint16 *pctinfo);
|
||||
|
||||
typedef struct {
|
||||
uint8 FIXME;
|
||||
} ITypeInfo;
|
||||
|
||||
typedef struct {
|
||||
ITypeInfo *pTInfo;
|
||||
} REF_ITypeInfo;
|
||||
|
||||
/*****************/
|
||||
/* Function 0x04 */
|
||||
HRESULT GetTypeInfo (
|
||||
[in] uint16 iTInfo,
|
||||
[in] LCID lcid/*FIXME,
|
||||
[out] ITypeInfo **ppTInfo*/);
|
||||
[in] LCID lcid,
|
||||
[out] REF_ITypeInfo *ppTInfo);
|
||||
|
||||
/*****************/
|
||||
/* Function 0x05 */
|
||||
|
@ -11,7 +11,7 @@
|
||||
{
|
||||
/******************/
|
||||
/* Function: 0x00 */
|
||||
void dfs_Exist(
|
||||
void dfs_GetManagerVersion(
|
||||
[out,ref] uint32 *exist_flag
|
||||
);
|
||||
|
||||
@ -171,4 +171,55 @@
|
||||
[in] uint32 *unknown,
|
||||
[in,out] uint32 *total
|
||||
);
|
||||
|
||||
/* Function 0x06 */
|
||||
WERROR dfs_Rename();
|
||||
|
||||
/* Function 0x07 */
|
||||
WERROR dfs_Move();
|
||||
|
||||
/* Function 0x08 */
|
||||
WERROR dfs_ManagerGetConfigInfo();
|
||||
|
||||
/* Function 0x09 */
|
||||
WERROR dfs_ManagerSendSiteInfo();
|
||||
|
||||
/* Function 0x0a */
|
||||
WERROR dfs_AddFtRoot();
|
||||
|
||||
/* Function 0x0b */
|
||||
WERROR dfs_RemoveFtRoot();
|
||||
|
||||
/* Function 0x0c */
|
||||
WERROR dfs_AddStdRoot();
|
||||
|
||||
/* Function 0x0d */
|
||||
WERROR dfs_RemoveStdRoot();
|
||||
|
||||
/* Function 0x0e */
|
||||
WERROR dfs_ManagerInitialize();
|
||||
|
||||
/* Function 0x0f */
|
||||
WERROR dfs_AddStdRootForced();
|
||||
|
||||
/* Function 0x10 */
|
||||
WERROR dfs_GetDcAddress();
|
||||
|
||||
/* Function 0x11 */
|
||||
WERROR dfs_SetDcAddress();
|
||||
|
||||
/* Function 0x12 */
|
||||
WERROR dfs_FlushFtTable();
|
||||
|
||||
/* Function 0x13 */
|
||||
WERROR dfs_Add2();
|
||||
|
||||
/* Function 0x14 */
|
||||
WERROR dfs_Remove2();
|
||||
|
||||
/* Function 0x15 */
|
||||
WERROR dfs_EnumEx();
|
||||
|
||||
/* Function 0x16 */
|
||||
WERROR dfs_SetInfo2();
|
||||
}
|
||||
|
30
source4/librpc/idl/dsbackup.idl
Normal file
30
source4/librpc/idl/dsbackup.idl
Normal file
@ -0,0 +1,30 @@
|
||||
[
|
||||
uuid(ecec0d70-a603-11d0-96b1-00a0c91ece30),
|
||||
version(1.0)
|
||||
] interface ad_backup
|
||||
{
|
||||
void HrRBackupPrepare();
|
||||
void HrRBackupEnd();
|
||||
void HrRBackupGetAttachmentInformation();
|
||||
void HrRBackupOpenFile();
|
||||
void HrRBackupRead();
|
||||
void HrRBackupClose();
|
||||
void HrRBackupGetBackupLogs();
|
||||
void HrRBackupTruncateLogs();
|
||||
void HrRBackupPing();
|
||||
}
|
||||
|
||||
[
|
||||
uuid(16e0cf3a-a604-11d0-96b1-00a0c91ece30),
|
||||
version(1.0)
|
||||
] interface ad_restore
|
||||
{
|
||||
void HrRIsNTDSOnline();
|
||||
void HrRRestorePrepare();
|
||||
void HrRRestoreRegister();
|
||||
void HrRRestoreRegisterComplete();
|
||||
void HrRRestoreGetDatabaseLocations();
|
||||
void HrRRestoreEnd();
|
||||
void HrRRestoreSetCurrentLogNumber();
|
||||
void HrRRestoreCheckLogsForBackup();
|
||||
}
|
17
source4/librpc/idl/dssetup.idl
Normal file
17
source4/librpc/idl/dssetup.idl
Normal file
@ -0,0 +1,17 @@
|
||||
[
|
||||
uuid(3919286a-b10c-11d0-9ba8-00c04fd92ef5),
|
||||
version(0.0)
|
||||
] interface dssetup
|
||||
{
|
||||
void DsRolerGetPrimaryDomainInformation();
|
||||
void DsRolerDnsNameToFlatName();
|
||||
void DsRolerDcAsDc();
|
||||
void DsRolerDcAsReplica();
|
||||
void DsRolerDemoteDc();
|
||||
void DsRolerGetDcOperationProgress();
|
||||
void DsRolerGetDcOperationResults();
|
||||
void DsRolerCancel();
|
||||
void DsRolerServerSaveStateForUpgrade();
|
||||
void DsRolerUpgradeDownlevelServer();
|
||||
void DsRolerAbortDownlevelServerUpgrade();
|
||||
}
|
7
source4/librpc/idl/efs.idl
Normal file
7
source4/librpc/idl/efs.idl
Normal file
@ -0,0 +1,7 @@
|
||||
[
|
||||
uuid(c681d488-d850-11d0-8c52-00c04fd90f7e),
|
||||
version(1.0)
|
||||
] interface efs
|
||||
{
|
||||
void EFS_Dummy();
|
||||
}
|
@ -177,4 +177,8 @@ interface epmapper
|
||||
[in] epm_twr_t *tower,
|
||||
[out] error_status_t status
|
||||
);
|
||||
|
||||
/**********************/
|
||||
/* Function 0x07 */
|
||||
void epm_MapAuth();
|
||||
}
|
||||
|
@ -43,11 +43,11 @@
|
||||
|
||||
/******************/
|
||||
/* Function: 0x00 */
|
||||
NTSTATUS eventlog_Unknown0();
|
||||
NTSTATUS eventlog_ClearEventLogW();
|
||||
|
||||
/******************/
|
||||
/* Function: 0x01 */
|
||||
NTSTATUS eventlog_Unknown1();
|
||||
NTSTATUS eventlog_BackupEventLogW();
|
||||
|
||||
/******************/
|
||||
/* Function: 0x02 */
|
||||
@ -58,7 +58,7 @@
|
||||
|
||||
/******************/
|
||||
/* Function: 0x03 */
|
||||
NTSTATUS eventlog_Unknown3();
|
||||
NTSTATUS eventlog_DeregisterEventSource();
|
||||
|
||||
/******************/
|
||||
/* Function: 0x04 */
|
||||
@ -68,15 +68,15 @@
|
||||
);
|
||||
/******************/
|
||||
/* Function: 0x05 */
|
||||
NTSTATUS eventlog_Unknown5();
|
||||
NTSTATUS eventlog_GetOldestRecord();
|
||||
|
||||
/******************/
|
||||
/* Function: 0x06 */
|
||||
NTSTATUS eventlog_Unknown6();
|
||||
NTSTATUS eventlog_ChangeNotify();
|
||||
|
||||
/******************/
|
||||
/* Function: 0x07 */
|
||||
NTSTATUS eventlog_OpenEventLog(
|
||||
NTSTATUS eventlog_OpenEventLogW(
|
||||
[in] eventlog_OpenUnknown0 *unknown0,
|
||||
[in] eventlog_String source,
|
||||
[in] eventlog_String unknown1,
|
||||
@ -87,15 +87,15 @@
|
||||
|
||||
/******************/
|
||||
/* Function: 0x08 */
|
||||
NTSTATUS eventlog_Unknown8();
|
||||
NTSTATUS eventlog_RegisterEventSourceW();
|
||||
|
||||
/******************/
|
||||
/* Function: 0x09 */
|
||||
NTSTATUS eventlog_Unknowna();
|
||||
NTSTATUS eventlog_OpenBackupEventLogW();
|
||||
|
||||
/******************/
|
||||
/* Function: 0x0a */
|
||||
NTSTATUS eventlog_ReadEventLog(
|
||||
NTSTATUS eventlog_ReadEventLogW(
|
||||
[in,ref] policy_handle *handle,
|
||||
[in] uint32 flags,
|
||||
[in] uint32 offset,
|
||||
@ -105,4 +105,56 @@
|
||||
[out] uint32 real_size
|
||||
);
|
||||
|
||||
/*****************/
|
||||
/* Function 0x0b */
|
||||
NTSTATUS eventlog_ReportEventW();
|
||||
|
||||
/*****************/
|
||||
/* Function 0x0c */
|
||||
NTSTATUS eventlog_ClearEventLogA();
|
||||
|
||||
/******************/
|
||||
/* Function: 0x0d */
|
||||
NTSTATUS eventlog_BackupEventLogA();
|
||||
|
||||
/*****************/
|
||||
/* Function 0x0e */
|
||||
NTSTATUS eventlog_OpenEventLogA();
|
||||
|
||||
/*****************/
|
||||
/* Function 0x0f */
|
||||
NTSTATUS eventlog_RegisterEventSourceA();
|
||||
|
||||
/*****************/
|
||||
/* Function 0x10 */
|
||||
NTSTATUS eventlog_OpenBackupEventLogA();
|
||||
|
||||
/*****************/
|
||||
/* Function 0x11 */
|
||||
NTSTATUS eventlog_ReadEventLogA();
|
||||
|
||||
/*****************/
|
||||
/* Function 0x12 */
|
||||
NTSTATUS eventlog_ReportEventA();
|
||||
|
||||
/*****************/
|
||||
/* Function 0x13 */
|
||||
NTSTATUS eventlog_RegisterClusterSvc();
|
||||
|
||||
/*****************/
|
||||
/* Function 0x14 */
|
||||
NTSTATUS eventlog_DeregisterClusterSvc();
|
||||
|
||||
/*****************/
|
||||
/* Function 0x15 */
|
||||
NTSTATUS eventlog_WriteClusterEvents();
|
||||
|
||||
/*****************/
|
||||
/* Function 0x16 */
|
||||
NTSTATUS eventlog_GetLogIntormation();
|
||||
|
||||
/*****************/
|
||||
/* Function 0x17 */
|
||||
NTSTATUS eventlog_FlushEventLog();
|
||||
|
||||
}
|
||||
|
@ -1,13 +1,67 @@
|
||||
/*
|
||||
http://support.microsoft.com/default.aspx?scid=KB;en-us;q159298
|
||||
Any UUID starting with:
|
||||
A4 - store
|
||||
F5 - directory
|
||||
*/
|
||||
|
||||
[
|
||||
uuid(1544f5e0-613c-11d1-93df-00c04fd7bd09),
|
||||
helpstring("Exchange 2003 System Attendant Request For Response")
|
||||
] interface exchange_rfr
|
||||
uuid(99e64010-b032-11d0-97a4-00c04fd6551d),
|
||||
version(3.0)
|
||||
] interface exchange_store_admin3
|
||||
{
|
||||
void rfr_dummy();
|
||||
void ec_store_admin3_dummy();
|
||||
}
|
||||
|
||||
|
||||
[
|
||||
uuid(89742ace-a9ed-11cf-9c0c-08002be7ae86),
|
||||
version(2.0)
|
||||
] interface exchange_store_admin2
|
||||
{
|
||||
void ec_store_admin2_dummy();
|
||||
}
|
||||
|
||||
[
|
||||
uuid(469d6ec0-0d87-11ce-b13f-00aa003bec6c),
|
||||
uuid(a4f1db00-ca47-1067-b31e-00dd010662da),
|
||||
version(1.0)
|
||||
] interface exchange_store_admin1
|
||||
{
|
||||
void ec_store_admin1_dummy();
|
||||
}
|
||||
|
||||
|
||||
[
|
||||
uuid(1544f5e0-613c-11d1-93df-00c04fd7bd09),
|
||||
version(1.0),
|
||||
helpstring("Exchange 2003 Directory Request For Response")
|
||||
] interface exchange_ds_rfr
|
||||
{
|
||||
/*****************/
|
||||
/* Function 0x00 */
|
||||
void RfrGetNewDSA();
|
||||
|
||||
/*****************/
|
||||
/* Function 0x01 */
|
||||
void RfrGetFQDNFromLegacyDN();
|
||||
}
|
||||
|
||||
[
|
||||
uuid(f930c514-1215-11d3-99a5-00a0c9b61b04),
|
||||
helpstring("System Attendant Cluster Interface"),
|
||||
version(1.0)
|
||||
] interface exchange_sysatt_cluster
|
||||
{
|
||||
void sysatt_cluster_dummy();
|
||||
}
|
||||
|
||||
/*
|
||||
[83d72bf0-0d89-11ce-b13f-00aa003bac6c] MS Exchange
|
||||
System Attendant Private Interface
|
||||
*/
|
||||
|
||||
[
|
||||
uuid(469d6ec0-0d87-11ce-b13f-00aa003bac6c),
|
||||
helpstring("Exchange 5.5 System Attendant Request for Response")
|
||||
] interface exchange_system_attendant
|
||||
{
|
||||
@ -16,42 +70,156 @@
|
||||
|
||||
[
|
||||
uuid(9e8ee830-4559-11ce-979b-00aa005ffebe),
|
||||
version(2.0),
|
||||
helpstring("Exchange 5.5 MTA")
|
||||
] interface exchange_mta
|
||||
{
|
||||
void mta_dummy();
|
||||
/*****************/
|
||||
/* Function 0x00 */
|
||||
void MtaBind();
|
||||
|
||||
/*****************/
|
||||
/* Function 0x01 */
|
||||
void MtaBindAck();
|
||||
}
|
||||
|
||||
[
|
||||
uuid(f5cc59b4-4264-101a-8c59-08002b2f8426),
|
||||
version(21.0),
|
||||
helpstring("Exchange 5.5 DRS")
|
||||
] interface exchange_drs
|
||||
{
|
||||
void drs_dummy();
|
||||
/*****************/
|
||||
/* Function 0x00 */
|
||||
void ds_abandon();
|
||||
|
||||
/*****************/
|
||||
/* Function 0x01 */
|
||||
void ds_add_entry();
|
||||
|
||||
void ds_bind();
|
||||
void ds_compare();
|
||||
void ds_list();
|
||||
void ds_modify_entry();
|
||||
void ds_modify_rdn();
|
||||
void ds_read();
|
||||
void ds_receive_result();
|
||||
void ds_remove_entry();
|
||||
void ds_search();
|
||||
void ds_unbind();
|
||||
void ds_wait();
|
||||
void dra_replica_add();
|
||||
void dra_replica_delete();
|
||||
void dra_replica_synchronize();
|
||||
void dra_reference_update();
|
||||
void dra_authorize_replica();
|
||||
void dra_unauthorize_replica();
|
||||
void dra_adopt();
|
||||
void dra_set_status();
|
||||
void dra_modify_entry();
|
||||
void dra_delete_subref();
|
||||
}
|
||||
|
||||
[
|
||||
uuid(f5cc5a7c-4264-101a-8c59-08002b2f8426),
|
||||
version(21.0),
|
||||
helpstring("Exchange 5.5 XDS")
|
||||
] interface exchange_xds
|
||||
{
|
||||
void xds_dummy();
|
||||
}
|
||||
|
||||
[
|
||||
uuid(38a94e72-a9bc-11d2-8faf-00c04fa378ff),
|
||||
version(1.0)
|
||||
] interface exchange_mta_qadmin
|
||||
{
|
||||
void exchange_mta_qadmin();
|
||||
}
|
||||
|
||||
|
||||
[
|
||||
uuid(0e4a0156-dd5d-11d2-8c2f-00c04fb6bcde),
|
||||
version(1.0)
|
||||
] interface exchange_store_information
|
||||
{
|
||||
void exchange_store_information_dummy();
|
||||
}
|
||||
|
||||
[
|
||||
uuid(f5cc5a18-4264-101a-8c59-08002b2f8426),
|
||||
version(56.0),
|
||||
helpstring("Exchange 5.5 Name Service Provider")
|
||||
] interface exchange_nsp
|
||||
{
|
||||
void nsp_dummy();
|
||||
void NspiBind();
|
||||
void NspiUnbind();
|
||||
void NspiUpdateStat();
|
||||
void NspiQueryRows();
|
||||
void NspiSeekEntries();
|
||||
void NspiGetMatches();
|
||||
void NspiResortRestriction();
|
||||
void NspiDNToEph();
|
||||
void NspiGetPropList();
|
||||
void NspiGetProps();
|
||||
void NspiCompareDNTs();
|
||||
void NspiModProps();
|
||||
void NspiGetHierarchyInfo();
|
||||
void NspiGetTemplateInfo();
|
||||
void NspiModLInkAtt();
|
||||
void NspiDeleteEntries();
|
||||
void NspiQueryColumns();
|
||||
void NspiGetNamesFromIDs();
|
||||
void NspiGetIDsFromNames();
|
||||
void NspiResolveNames();
|
||||
void NspiResolveNamesW();
|
||||
}
|
||||
|
||||
[
|
||||
uuid(a4f1db00-ca47-1067-b31f-00dd010662da),
|
||||
version(0.81),
|
||||
helpstring("Exchange 5.5 EMSMDB")
|
||||
] interface exchange_emsmdb
|
||||
{
|
||||
void emsmdb_dummy();
|
||||
/*****************/
|
||||
/* Function 0x00 */
|
||||
void EcDoConnect();
|
||||
|
||||
/*****************/
|
||||
/* Function 0x01 */
|
||||
void EcDoDisconnect();
|
||||
|
||||
/*****************/
|
||||
/* Function 0x02 */
|
||||
void EcDoRpc();
|
||||
|
||||
/*****************/
|
||||
/* Function 0x03 */
|
||||
void EcGetMoreRpc();
|
||||
|
||||
/*****************/
|
||||
/* Function 0x04 */
|
||||
void EcRRegisterPushNotification();
|
||||
|
||||
/*****************/
|
||||
/* Function 0x05 */
|
||||
void EcRUnregisterPushNotification();
|
||||
|
||||
/*****************/
|
||||
/* Function 0x06 */
|
||||
void EcDummyRpc();
|
||||
|
||||
/*****************/
|
||||
/* Function 0x07 */
|
||||
void EcRGetDCName();
|
||||
|
||||
/*****************/
|
||||
/* Function 0x08 */
|
||||
void EcRNetGetDCName();
|
||||
|
||||
/*****************/
|
||||
/* Function 0x09 */
|
||||
void EcDoRpcExt();
|
||||
}
|
||||
|
||||
[
|
||||
|
@ -10,8 +10,5 @@
|
||||
]
|
||||
interface keysvc
|
||||
{
|
||||
|
||||
/*****************/
|
||||
/* Function 0x00 */
|
||||
WERROR keysvc_Unknown0();
|
||||
}
|
||||
|
@ -384,23 +384,27 @@
|
||||
|
||||
|
||||
/* Function: 0x13 */
|
||||
NTSTATUS ADDPRIVS ();
|
||||
NTSTATUS lsa_AddPrivilegesToAccount();
|
||||
|
||||
/* Function: 0x14 */
|
||||
NTSTATUS REMOVEPRIVS ();
|
||||
NTSTATUS lsa_RemovePrivilegesFromAccount();
|
||||
|
||||
/* Function: 0x15 */
|
||||
NTSTATUS GETQUOTAS ();
|
||||
NTSTATUS lsa_GetQuotasForAccount();
|
||||
|
||||
/* Function: 0x16 */
|
||||
NTSTATUS SETQUOTAS ();
|
||||
NTSTATUS lsa_SetQuotasForAccount();
|
||||
|
||||
/* Function: 0x17 */
|
||||
NTSTATUS GETSYSTEMACCOUNT ();
|
||||
NTSTATUS lsa_GetSystemAccessAccount();
|
||||
/* Function: 0x18 */
|
||||
NTSTATUS SETSYSTEMACCOUNT ();
|
||||
NTSTATUS lsa_SetSystemAccessAccount();
|
||||
/* Function: 0x19 */
|
||||
NTSTATUS OPENTRUSTDOM ();
|
||||
NTSTATUS lsa_OpenTrustedDomain();
|
||||
/* Function: 0x1a */
|
||||
NTSTATUS QUERYTRUSTDOM ();
|
||||
NTSTATUS lsa_QueryInfoTrustedDomain();
|
||||
/* Function: 0x1b */
|
||||
NTSTATUS SETINFOTRUSTDOM ();
|
||||
NTSTATUS lsa_SetInformationTrustedDomain();
|
||||
|
||||
/* Function: 0x1c */
|
||||
NTSTATUS lsa_OpenSecret(
|
||||
@ -437,7 +441,7 @@
|
||||
);
|
||||
|
||||
/* Function: 0x1f */
|
||||
NTSTATUS LOOKUPPRIVVALUE ();
|
||||
NTSTATUS lsa_LookupPrivValue();
|
||||
|
||||
|
||||
/* Function: 0x20 */
|
||||
@ -449,11 +453,11 @@
|
||||
|
||||
|
||||
/* Function: 0x21 */
|
||||
NTSTATUS PRIV_GET_DISPNAME ();
|
||||
NTSTATUS lsa_LookupPrivDisplayName();
|
||||
/* Function: 0x22 */
|
||||
NTSTATUS DELETEOBJECT ();
|
||||
NTSTATUS lsa_DeleteObject();
|
||||
/* Function: 0x23 */
|
||||
NTSTATUS ENUMACCTWITHRIGHT ();
|
||||
NTSTATUS lsa_EnumAccountsWithUserRight();
|
||||
|
||||
/* Function: 0x24 */
|
||||
typedef struct {
|
||||
@ -473,19 +477,19 @@
|
||||
|
||||
|
||||
/* Function: 0x25 */
|
||||
NTSTATUS ADDACCTRIGHTS ();
|
||||
NTSTATUS lsa_AddAccountRights();
|
||||
/* Function: 0x26 */
|
||||
NTSTATUS REMOVEACCTRIGHTS ();
|
||||
NTSTATUS lsa_RemoveAccountRights();
|
||||
/* Function: 0x27 */
|
||||
NTSTATUS QUERYTRUSTDOMINFO ();
|
||||
NTSTATUS lsa_QueryTrustDomainInfo();
|
||||
/* Function: 0x28 */
|
||||
NTSTATUS SETTRUSTDOMINFO ();
|
||||
NTSTATUS lsa_SetTrustDomainInfo();
|
||||
/* Function: 0x29 */
|
||||
NTSTATUS DELETETRUSTDOM ();
|
||||
NTSTATUS lsa_DeleteTrustDomain();
|
||||
/* Function: 0x2a */
|
||||
NTSTATUS STOREPRIVDATA ();
|
||||
NTSTATUS lsa_StorePrivateData();
|
||||
/* Function: 0x2b */
|
||||
NTSTATUS RETRPRIVDATA ();
|
||||
NTSTATUS lsa_RetrievePrivateData();
|
||||
|
||||
|
||||
/**********************/
|
||||
@ -499,7 +503,7 @@
|
||||
|
||||
|
||||
/* Function: 0x2d */
|
||||
NTSTATUS UNK_GET_CONNUSER ();
|
||||
NTSTATUS lsa_GetUserName();
|
||||
|
||||
/**********************/
|
||||
/* Function: 0x2e */
|
||||
@ -509,4 +513,43 @@
|
||||
[in] uint16 level,
|
||||
[out,switch_is(level)] lsa_PolicyInformation *info
|
||||
);
|
||||
|
||||
/* Function 0x2f */
|
||||
NTSTATUS lsa_SetInfoPolicy2();
|
||||
|
||||
/* Function 0x30 */
|
||||
NTSTATUS lsa_QueryTrustedDomainInfoByName();
|
||||
|
||||
/* Function 0x31 */
|
||||
NTSTATUS lsa_SetTrustedDomainInfoByName();
|
||||
|
||||
/* Function 0x32 */
|
||||
NTSTATUS lsa_EnumTrustedDomainsEx();
|
||||
|
||||
/* Function 0x33 */
|
||||
NTSTATUS lsa_CreateTrustedDomainEx();
|
||||
|
||||
/* Function 0x34 */
|
||||
NTSTATUS lsa_CloseTrustedDomainEx();
|
||||
|
||||
/* Function 0x35 */
|
||||
NTSTATUS lsa_QueryDomainInformationPolicy();
|
||||
|
||||
/* Function 0x36 */
|
||||
NTSTATUS lsa_SetDomInfoPolicy();
|
||||
|
||||
/* Function 0x37 */
|
||||
NTSTATUS lsa_OpenTrustedDomainByName();
|
||||
|
||||
/* Function 0x38 */
|
||||
NTSTATUS lsa_TestCall();
|
||||
|
||||
/* Function 0x39 */
|
||||
NTSTATUS lsa_LookupSids2();
|
||||
|
||||
/* Function 0x3a */
|
||||
NTSTATUS lsa_LookupNames2();
|
||||
|
||||
/* Function 0x3b */
|
||||
NTSTATUS lsa_CreateTrustedDomainEx2();
|
||||
}
|
||||
|
18
source4/librpc/idl/msgsvc.idl
Normal file
18
source4/librpc/idl/msgsvc.idl
Normal file
@ -0,0 +1,18 @@
|
||||
[
|
||||
uuid(17fdd703-1827-4e34-79d4-24a55c53bb37),
|
||||
version(1.0)
|
||||
] interface msgsvc
|
||||
{
|
||||
void NetrMessageNameAdd();
|
||||
void NetrMessageNameEnum();
|
||||
void NetrMessageNameGetInfo();
|
||||
void NetrMessageNameDel();
|
||||
}
|
||||
|
||||
[
|
||||
uuid(5a7b91f8-ff00-11d0-a9b2-00c04fb6e6fc),
|
||||
version(1.0)
|
||||
] interface msgsvcsend
|
||||
{
|
||||
void NetrSendMessage();
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
plug and play services?
|
||||
plug and play services
|
||||
*/
|
||||
|
||||
[
|
||||
@ -8,8 +8,69 @@
|
||||
]
|
||||
interface ntsvcs
|
||||
{
|
||||
|
||||
/*****************/
|
||||
/* Function 0x00 */
|
||||
WERROR ntsvcs_Unknown0();
|
||||
void PNP_Disconnect();
|
||||
void PNP_Connect();
|
||||
void PNP_GetVersion();
|
||||
void PNP_GetGlobalState();
|
||||
void PNP_InitDetection();
|
||||
void PNP_ReportLogOn();
|
||||
void PNP_ValidateDeviceInstance();
|
||||
void PNP_GetRootDeviceInstance();
|
||||
void PNP_GetRelatedDeviceInstance();
|
||||
void PNP_EnumerateSubKeys();
|
||||
void PNP_GetDeviceList();
|
||||
void PNP_GetDeviceListSize();
|
||||
void PNP_GetDepth();
|
||||
void PNP_GetDeviceRegProp();
|
||||
void PNP_SetDeviceRegProp();
|
||||
void PNP_GetClassInstance();
|
||||
void PNP_CreateKey();
|
||||
void PNP_DeleteRegistryKey();
|
||||
void PNP_GetClassCount();
|
||||
void PNP_GetClassName();
|
||||
void PNP_DeleteClassKey();
|
||||
void PNP_GetInterfaceDeviceAlias();
|
||||
void PNP_GetInterfaceDeviceList();
|
||||
void PNP_GetInterfaceDeviceListSize();
|
||||
void PNP_RegisterDeviceClassAssociation();
|
||||
void PNP_UnregisterDeviceClassAssociation();
|
||||
void PNP_GetClassRegProp();
|
||||
void PNP_SetClassRegProp();
|
||||
void PNP_CreateDevInst();
|
||||
void PNP_DeviceInstanceAction();
|
||||
void PNP_GetDeviceStatus();
|
||||
void PNP_SetDeviceProblem();
|
||||
void PNP_DisableDevInst();
|
||||
void PNP_UninstallDevInst();
|
||||
void PNP_AddID();
|
||||
void PNP_RegisterDriver();
|
||||
void PNP_QueryRemove();
|
||||
void PNP_RequestDeviceEject();
|
||||
void PNP_IsDockStationPresent();
|
||||
void PNP_RequestEjectPC();
|
||||
void PNP_HwProfFlags();
|
||||
void PNP_GetHwProfInfo();
|
||||
void PNP_AddEmptyLogConf();
|
||||
void PNP_FreeLogConf();
|
||||
void PNP_GetFirstLogConf();
|
||||
void PNP_GetNextLogConf();
|
||||
void PNP_GetLogConfPriority();
|
||||
void PNP_AddResDes();
|
||||
void PNP_FreeResDes();
|
||||
void PNP_GetNextResDes();
|
||||
void PNP_GetResDesData();
|
||||
void PNP_GetResDesDataSize();
|
||||
void PNP_ModifyResDes();
|
||||
void PNP_DetectResourceLimit();
|
||||
void PNP_QueryResConfList();
|
||||
void PNP_SetHwProf();
|
||||
void PNP_QueryArbitratorFreeData();
|
||||
void PNP_QueryArbitratorFreeSize();
|
||||
void PNP_RunDetection();
|
||||
void PNP_RegisterNotification();
|
||||
void PNP_UnregisterNotification();
|
||||
void PNP_GetCustomDevProp();
|
||||
void PNP_GetVersionInternal();
|
||||
void PNP_GetBlockedDriverInfo();
|
||||
void PNP_GetServerSideDeviceInstallFlags();
|
||||
}
|
||||
|
@ -12,5 +12,8 @@ interface w32time
|
||||
|
||||
/*****************/
|
||||
/* Function 0x00 */
|
||||
WERROR w32time_Unknown0();
|
||||
WERROR w32time_SyncTime();
|
||||
|
||||
WERROR w32time_GetNetLogonServiceBits();
|
||||
WERROR w32time_QueryProviderStatus();
|
||||
}
|
||||
|
@ -213,6 +213,11 @@
|
||||
/******************/
|
||||
/* Function: 0x11 */
|
||||
WERROR winreg_QueryValue(
|
||||
[in,ref] policy_handle *handle,
|
||||
[in] winreg_String valuename,
|
||||
[out,ref] uint32 *type,
|
||||
[out] uint8 *data,
|
||||
[in,out] uint32 *val_length
|
||||
);
|
||||
|
||||
/******************/
|
||||
@ -329,7 +334,7 @@
|
||||
);
|
||||
|
||||
/******************/
|
||||
/* Function: 0x21 */
|
||||
/* Function: 0x22 */
|
||||
WERROR winreg_QueryMultipleValues2(
|
||||
);
|
||||
}
|
||||
|
26
source4/librpc/idl/wins.idl
Normal file
26
source4/librpc/idl/wins.idl
Normal file
@ -0,0 +1,26 @@
|
||||
[
|
||||
uuid(45f52c28-7f9f-101a-b52b-08002b2efabe),
|
||||
version(1.0)
|
||||
] interface WinsPipe
|
||||
{
|
||||
void WinsRecordAction();
|
||||
void WinsStatus();
|
||||
void WinsTrigger();
|
||||
void WinsDoStaticInit();
|
||||
void WinsDoScavenging();
|
||||
void WinsGetDbRecs();
|
||||
void WinsTerm();
|
||||
void WinsBackup();
|
||||
void WinsDelDbRecs();
|
||||
void WinsPullRange();
|
||||
void WinsSetPriorityClass();
|
||||
void WinsResetCounters();
|
||||
void WinsWorkerThreadUpdate();
|
||||
void WinsGetNameAndAdd();
|
||||
void WinsGetBrowserNames_Old();
|
||||
void WinsDeleteWins();
|
||||
void WinsSetFlags();
|
||||
void WinsGetDbRecsByName();
|
||||
void WinsStatusWHdl();
|
||||
void WinsDoScanvenging2();
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
windows zero-configuration service
|
||||
wireless configuration service
|
||||
*/
|
||||
|
||||
[
|
||||
@ -9,20 +9,22 @@
|
||||
interface wzcsvc
|
||||
{
|
||||
|
||||
/*****************/
|
||||
/* Function 0x00 */
|
||||
WERROR wzcsvc_Unknown0();
|
||||
|
||||
/*****************/
|
||||
/* Function 0x01 */
|
||||
WERROR wzcsvc_Unknown1();
|
||||
|
||||
/*****************/
|
||||
/* Function 0x02 */
|
||||
WERROR wzcsvc_Unknown2();
|
||||
|
||||
/*****************/
|
||||
/* Function 0x03 */
|
||||
WERROR wzcsvc_Unknown3();
|
||||
|
||||
void wzcsvc_EnumInterfaces();
|
||||
void wzcsvc_QueryInterface();
|
||||
void wzcsvc_SetInterface();
|
||||
void wzcsvc_RefreshInterface();
|
||||
void wzcsvc_QueryContext();
|
||||
void wzcsvc_SetContext();
|
||||
void wzcsvc_EapolUIResponse();
|
||||
void wzcsvc_EapolGetCustomAuthData();
|
||||
void wzcsvc_EapolSetCustomAuthData();
|
||||
void wzcsvc_EapolGetInterfaceParams();
|
||||
void wzcsvc_EapolSetInterfaceParams();
|
||||
void wzcsvc_EapolReAuthenticateInterface();
|
||||
void wzcsvc_EapolQueryInterfaceState();
|
||||
void wzcsvc_OpenWZCDbLogSession();
|
||||
void wzcsvc_CloseWZCDbLogSession();
|
||||
void wzcsvc_EnumWZCDbLogRecords();
|
||||
void wzcsvc_FlushWZCdbLog();
|
||||
void wzcsvc_GetWZCDbLogRecord();
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
Unix SMB/CIFS implementation.
|
||||
test suite for dcom rpc operations
|
||||
test suite for dcom operations
|
||||
|
||||
Copyright (C) Jelmer Vernooij 2004
|
||||
|
||||
|
@ -22,17 +22,17 @@
|
||||
#include "includes.h"
|
||||
|
||||
|
||||
static BOOL test_Exist(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx)
|
||||
static BOOL test_GetManagerVersion(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx)
|
||||
{
|
||||
NTSTATUS status;
|
||||
struct dfs_Exist r;
|
||||
struct dfs_GetManagerVersion r;
|
||||
uint32_t exist = 0;
|
||||
|
||||
r.out.exist_flag = ∃
|
||||
|
||||
status = dcerpc_dfs_Exist(p, mem_ctx, &r);
|
||||
status = dcerpc_dfs_GetManagerVersion(p, mem_ctx, &r);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
printf("Exist failed - %s\n", nt_errstr(status));
|
||||
printf("GetManagerVersion failed - %s\n", nt_errstr(status));
|
||||
return False;
|
||||
}
|
||||
|
||||
@ -180,7 +180,7 @@ BOOL torture_rpc_dfs(int dummy)
|
||||
return False;
|
||||
}
|
||||
|
||||
if (!test_Exist(p, mem_ctx)) {
|
||||
if (!test_GetManagerVersion(p, mem_ctx)) {
|
||||
ret = False;
|
||||
}
|
||||
|
||||
|
@ -53,7 +53,7 @@ static BOOL test_GetNumRecords(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, struc
|
||||
static BOOL test_ReadEventLog(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, struct policy_handle *handle, uint32_t offset)
|
||||
{
|
||||
NTSTATUS status;
|
||||
struct eventlog_ReadEventLog r;
|
||||
struct eventlog_ReadEventLogW r;
|
||||
|
||||
printf("\ntesting ReadEventLog\n");
|
||||
|
||||
@ -62,7 +62,7 @@ static BOOL test_ReadEventLog(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, struct
|
||||
r.in.handle = handle;
|
||||
r.in.number_of_bytes = 0x0;
|
||||
|
||||
status = dcerpc_eventlog_ReadEventLog(p, mem_ctx, &r);
|
||||
status = dcerpc_eventlog_ReadEventLogW(p, mem_ctx, &r);
|
||||
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
printf("ReadEventLog failed - %s\n", nt_errstr(status));
|
||||
@ -81,7 +81,7 @@ static BOOL test_ReadEventLog(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, struct
|
||||
|
||||
r.in.number_of_bytes = r.out.real_size;
|
||||
|
||||
status = dcerpc_eventlog_ReadEventLog(p, mem_ctx, &r);
|
||||
status = dcerpc_eventlog_ReadEventLogW(p, mem_ctx, &r);
|
||||
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
printf("ReadEventLog failed - %s\n", nt_errstr(status));
|
||||
@ -114,7 +114,7 @@ BOOL test_CloseEventLog(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
|
||||
static BOOL test_OpenEventLog(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, struct policy_handle *handle)
|
||||
{
|
||||
NTSTATUS status;
|
||||
struct eventlog_OpenEventLog r;
|
||||
struct eventlog_OpenEventLogW r;
|
||||
struct eventlog_OpenUnknown0 unknown0;
|
||||
|
||||
printf("\ntesting OpenEventLog\n");
|
||||
@ -129,7 +129,7 @@ static BOOL test_OpenEventLog(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, struct
|
||||
r.in.unknown3 = 0x00000001;
|
||||
r.out.handle = handle;
|
||||
|
||||
status = dcerpc_eventlog_OpenEventLog(p, mem_ctx, &r);
|
||||
status = dcerpc_eventlog_OpenEventLogW(p, mem_ctx, &r);
|
||||
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
printf("OpenEventLog failed - %s\n", nt_errstr(status));
|
||||
|
Loading…
Reference in New Issue
Block a user