Metas e objetivos para o desenvolvimento do rust-samp.
- Adicionar build Windows i686 no GitHub Actions
- Adicionar build Linux i686 no GitHub Actions
- Configurar cache de dependências cross-platform
- Definir formato (mdBook ou Wiki do GitHub)
- Guia de introdução: como criar um plugin do zero
- Referência da API: tipos, traits e macros principais
- Guia de encoding: como usar Windows-1251/1252
- Exemplos comentados além do plugin-example
- Documentar funções e módulos públicos do samp-sdk
- Revisar blocos
unsafeque não validam ponteiros - Melhorar mensagens de erro nas macros procedurais
- Avaliar uso de
Resultem mais pontos da API pública
- Validação em produção (em andamento)
- Avaliar viabilidade de mock do AMX para testes unitários
- [Longo prazo] Implementar testes unitários para componentes isoláveis
- Auditoria CWE/CVSS do SDK (14 findings identificados)
- Correção de off-by-one em Args::get() (CWE-125)
- Validação de ponteiro nulo em get_ref() (CWE-416)
- Proteção contra integer overflow em allot() (CWE-190)
- Bounds checking em packed string parsing (CWE-125)
- Ordering correto em AtomicPtr (CWE-362)
- Validação de ponteiros em Ref::new() e from_table() (CWE-476/843)
- Proteção contra OOM em alocação de strings (CWE-20)
- Validação em release() e count() (CWE-763/190)
- Testes de segurança para args, encoding e error
- Adicionar cargo audit ao CI
- Eliminar UB em Runtime via UnsafeCell (CWE-362)
- Leak explícito de nomes de natives com Box::leak (CWE-401)
- Refinamento de bounds check em packed string (CWE-125)
- Validação de tamanho em into_sized_buffer() (CWE-120)