@@ -11,6 +11,7 @@ use openssl::{
1111 symm:: { Cipher , Crypter , Mode } ,
1212} ;
1313use std:: io:: prelude:: * ;
14+ use std:: mem:: MaybeUninit ;
1415use std:: path:: Path ;
1516use tokio:: io:: AsyncReadExt ;
1617use tokio:: time:: { timeout, Duration } ;
@@ -103,60 +104,53 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
103104 bump_memlock_rlimit ( ) ?;
104105
105106 let skel_builder = AuditSkelBuilder :: default ( ) ;
106- let open_skel = skel_builder. open ( ) ?;
107+ let mut storage = MaybeUninit :: uninit ( ) ;
108+ let open_skel = skel_builder. open ( & mut storage) ?;
107109 let mut skel = open_skel. load ( ) ?;
108110
109- let mut progs = skel. progs_mut ( ) ;
110-
111111 let mut links = Vec :: new ( ) ;
112112 for library in & config. library {
113- let prog = progs. new_context ( ) ;
114- if let Ok ( link) = prog. attach_usdt (
113+ if let Ok ( link) = skel. progs . new_context . attach_usdt (
115114 -1 , // any process
116115 library,
117116 "crypto_auditing" ,
118117 "new_context" ,
119118 ) {
120119 links. push ( link) ;
121120 }
122- let prog = progs. word_data ( ) ;
123- if let Ok ( link) = prog. attach_usdt (
121+ if let Ok ( link) = skel. progs . word_data . attach_usdt (
124122 -1 , // any process
125123 library,
126124 "crypto_auditing" ,
127125 "word_data" ,
128126 ) {
129127 links. push ( link) ;
130128 }
131- let prog = progs. string_data ( ) ;
132- if let Ok ( link) = prog. attach_usdt (
129+ if let Ok ( link) = skel. progs . string_data . attach_usdt (
133130 -1 , // any process
134131 library,
135132 "crypto_auditing" ,
136133 "string_data" ,
137134 ) {
138135 links. push ( link) ;
139136 }
140- let prog = progs. blob_data ( ) ;
141- if let Ok ( link) = prog. attach_usdt (
137+ if let Ok ( link) = skel. progs . blob_data . attach_usdt (
142138 -1 , // any process
143139 library,
144140 "crypto_auditing" ,
145141 "blob_data" ,
146142 ) {
147143 links. push ( link) ;
148144 }
149- let prog = progs. data ( ) ;
150- if let Ok ( link) = prog. attach_usdt (
145+ if let Ok ( link) = skel. progs . data . attach_usdt (
151146 -1 , // any process
152147 library,
153148 "crypto_auditing" ,
154149 "data" ,
155150 ) {
156151 links. push ( link) ;
157152 }
158- let prog = progs. new_context_with_data ( ) ;
159- if let Ok ( link) = prog. attach_usdt (
153+ if let Ok ( link) = skel. progs . new_context_with_data . attach_usdt (
160154 -1 , // any process
161155 library,
162156 "crypto_auditing" ,
@@ -171,7 +165,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
171165 rand_bytes ( & mut encryption_key) ?;
172166
173167 start ( async {
174- let mut rb = ringbuf:: RingBuffer :: new ( skel. obj . map_mut ( " ringbuf" ) . unwrap ( ) ) ;
168+ let mut rb = ringbuf:: RingBuffer :: new ( & skel. maps . ringbuf ) ;
175169
176170 if let Some ( ( ref user, ref group) ) = config. user {
177171 permissions:: run_as ( user, group) ?;
0 commit comments