Hacking samba - como obter um diretório da struct fd_handle
Pergunta
Estou invadindo alguns internos do samba e quero registrar, o que está escrito em read_file e write_file, exatamente quero obter o nome do arquivo, diretório e quanto bytes são gravados.
Em Struct files_struct, há nome de arquivo definido (char* fsp_name) e posso contar o número de bytes escritos, mas em files_struct não há campo com diretório.
Existe alguma maneira, como determinar o diretório do arquivo aberto no Samba Guts?
Solução 2
OK, então - Solução: files_struct contém o campo 'Conn', que possui 'char * origingue' - que contém diretório do arquivo atual.
Outras dicas
Assumindo que o char* fsp_name
contém o arquivo completo (e não o nome relativo), você poderia usar strpbrk ()
(Homem 3 strpbrk)? Loop pesquisando por "/", até que retorne NULL
. Em seguida, seu diretório é de fsp_name para o ponteiro que retornou da última vez.