Skip to content

Commit d21128a

Browse files
authored
Merge pull request #11 from qtc-de/dev
Prepare v1.3.1 Release
2 parents 6be3c18 + 7106f00 commit d21128a

File tree

13 files changed

+52
-40
lines changed

13 files changed

+52
-40
lines changed

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,16 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

88

9+
## v1.3.1 - May 13, 2025
10+
11+
### Changed
12+
13+
* Unions in idl get now suffixed by address
14+
* Structs in idl get now suffixed by address
15+
* Fix non-unsafe nil pointer references
16+
* Fix missing `fc_wstring` formatter
17+
18+
919
## v1.3.0 - Apr 08, 2025
1020

1121
### Added

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
[![](https://github.com/qtc-de/rpv/actions/workflows/build-examples.yml/badge.svg?branch=main)](https://github.com/qtc-de/rpv/actions/workflows/build-examples.yml)
77
[![](https://github.com/qtc-de/rpv/actions/workflows/build-examples.yml/badge.svg?branch=dev)](https://github.com/qtc-de/rpv/actions/workflows/build-examples.yml)
8-
[![](https://img.shields.io/badge/version-1.3.0-blue)](https://github.com/qtc-de/rpv/releases)
8+
[![](https://img.shields.io/badge/version-1.3.1-blue)](https://github.com/qtc-de/rpv/releases)
99
[![](https://img.shields.io/badge/programming%20language-v-blue)](https://vlang.io/)
1010
[![](https://img.shields.io/badge/license-GPL%20v3.0-blue)](https://github.com/qtc-de/rpv/blob/master/LICENSE)
1111
[![](https://img.shields.io/badge/docs-fa6b05)](https://qtc-de.github.io/rpv)

alternate/default-x86.v

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ pub const compatible_rpc_versions = [
7171
u64(0xA00004A61041C), // 10.0.19041.1052
7272
u64(0xA00004A610439), // 10.0.19041.1081,
7373
u64(0xA00004A610508), // 10.0.19041.1288,
74-
u64(0xA00004A61135D), // 10.0.19041.4957
74+
u64(0xA00004A61153E), // 10.0.19041.5438
7575
u64(0xA0000536A0001), // 10.0.21354.1
7676
u64(0xA000055EC0001), // 10.0.21996.1,
7777
u64(0xA000055F00001), // 10.0.22000.1

internals/rpc-internal-structs.v

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ pub const compatible_rpc_versions = [
7171
u64(0xA00004A61041C), // 10.0.19041.1052
7272
u64(0xA00004A610439), // 10.0.19041.1081,
7373
u64(0xA00004A610508), // 10.0.19041.1288,
74+
u64(0xA00004A61135D), // 10.0.19041.4957
7475
u64(0xA0000536A0001), // 10.0.21354.1
7576
u64(0xA000055EC0001), // 10.0.21996.1,
7677
u64(0xA000055F00001), // 10.0.22000.1

ndr/ndr_basic.v

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ pub fn (format NdrFormatChar) format() string
129129
.fc_char { 'char' }
130130
.fc_small,
131131
.fc_usmall { 'small' }
132+
.fc_wstring,
132133
.fc_c_wstring,
133134
.fc_wchar { 'wchar_t' }
134135
.fc_short,

ndr/ndr_struct.v

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ pub fn (mut context NdrContext) read_base_struct(format NdrFormatChar, mut addr
182182
{
183183
id: id
184184
format: format
185-
name: 'Struct_${id}'
185+
name: 'Struct_${*addr}'
186186
alignment: alignment
187187
memory_size: memory_size
188188
location: location

ndr/ndr_union.v

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,7 @@ pub fn (mut context NdrContext) read_union(format NdrFormatChar, mut addr &voidp
291291
NdrComplexType: NdrComplexType
292292
{
293293
format: format
294-
name: 'Union_${id}'
294+
name: 'Union_${*addr}'
295295
member_count: u32(arms.arms.len)
296296
}
297297
id: id

src/rpc.v

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -355,7 +355,7 @@ pub fn (mut pi RpvProcessInformation) update(mut resolver SymbolResolver)!
355355
method.symbols = resolver.load_symbols(intf_info.location.path, method.addr) or { []string{} }
356356
}
357357

358-
if intf_info.sec_callback.addr != &voidptr(0)
358+
if intf_info.sec_callback.addr != unsafe { nil }
359359
{
360360
if intf_info.sec_callback.location.base != intf_info.location.base
361361
{
@@ -403,7 +403,7 @@ pub fn get_process_rpc_server_h(process_handle win.HANDLE)! RpcBasicInfo
403403
{
404404
module_array_size := u32(0)
405405

406-
if !C.EnumProcessModulesEx(process_handle, &voidptr(0), 0, &module_array_size, u32(C.LIST_MODULES_ALL))
406+
if !C.EnumProcessModulesEx(process_handle, unsafe { nil }, 0, &module_array_size, u32(C.LIST_MODULES_ALL))
407407
{
408408
return error('Unable to enumerate process modules.')
409409
}
@@ -688,7 +688,7 @@ pub fn (interface_info RpcInterfaceBasicInfo) enrich_h(process_handle win.HANDLE
688688
utils.log_debug('Failed to attach PDB resolver: ${err}')
689689
}
690690

691-
if interface_info.intf.server_interface.interpreter_info != &voidptr(0)
691+
if interface_info.intf.server_interface.interpreter_info != unsafe { nil }
692692
{
693693
utils.log_debug('Interface is interpreted stub.')
694694

@@ -729,7 +729,7 @@ pub fn (interface_info RpcInterfaceBasicInfo) enrich_h(process_handle win.HANDLE
729729
name: ''
730730
}
731731

732-
if sec_callback.addr != &voidptr(0)
732+
if sec_callback.addr != unsafe { nil }
733733
{
734734
if sec_location := win.get_location_info_h(process_handle, sec_callback.addr)
735735
{
@@ -870,12 +870,12 @@ pub fn (server_info RpcServerBasicInfo) get_rpc_auth_info_h(process_handle win.H
870870
mut dll_name := ''
871871
mut principal := ''
872872

873-
if C.RegQueryValueExA(key_handle, &char(auth_info.auth_svc.str().str), &voidptr(0), &voidptr(0), p_buffer, &size) == C.ERROR_SUCCESS
873+
if C.RegQueryValueExA(key_handle, &char(auth_info.auth_svc.str().str), nil, nil, p_buffer, &size) == C.ERROR_SUCCESS
874874
{
875875
dll_name = cstring_to_vstring(p_buffer)
876876
}
877877

878-
if C.ReadProcessMemory(process_handle, auth_info.principal, p_buffer, C.MAX_PATH, &voidptr(0))
878+
if C.ReadProcessMemory(process_handle, auth_info.principal, p_buffer, C.MAX_PATH, nil)
879879
{
880880
principal = string_from_wide(&u16(p_buffer))
881881
}

src/rpv-init.v

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ fn init()
1717
panic('Failure while enabling SeDebugPrivilege: ${err}')
1818
}
1919

20-
if C.CoInitialize(&voidptr(0)) != C.S_OK
20+
if C.CoInitialize(unsafe { nil }) != C.S_OK
2121
{
2222
panic('Failure while initializing the COM library.')
2323
}

v.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ Module
22
{
33
name: 'rpv'
44
author: 'Tobias Neitzel (@qtc_de)'
5-
version: '1.3.0'
5+
version: '1.3.1'
66
repo_url: 'https://github.com/qtc-de/rpv'
77
vcs: 'git'
88
tags: ['rpc', 'rpv', 'rpv-web', 'rpcview']

0 commit comments

Comments
 (0)