From e2d5319441cb1335b7239cdaa139945096f2777a Mon Sep 17 00:00:00 2001 From: Martin Baulig Date: Tue, 18 Jan 2000 16:50:37 +0000 Subject: [PATCH] Only emit code for functions which are really suid/sgid. 2000-01-18 Martin Baulig * demarshal.pl: Only emit code for functions which are really suid/sgid. --- backends/server/ChangeLog | 5 +++++ backends/server/demarshal.pl | 8 ++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/backends/server/ChangeLog b/backends/server/ChangeLog index 45281a53..20b8117f 100644 --- a/backends/server/ChangeLog +++ b/backends/server/ChangeLog @@ -1,3 +1,8 @@ +2000-01-18 Martin Baulig + + * demarshal.pl: Only emit code for functions which are + really suid/sgid. + 2000-01-13 Martin Baulig * write.c (glibtop_write_i): The buffer which we write is diff --git a/backends/server/demarshal.pl b/backends/server/demarshal.pl index 696b2b2d..9726906b 100644 --- a/backends/server/demarshal.pl +++ b/backends/server/demarshal.pl @@ -355,6 +355,10 @@ sub output { $func_decl_code, $local_var_decl_code, $init_local_var_code, $func_body_code); + $total_code = sprintf ("#if GLIBTOP_SUID_%s\n\n%s\n#endif /* GLIBTOP_SUID_%s */\n\n", + &toupper($feature), $total_code, + &toupper($feature)); + print $total_code; } @@ -367,8 +371,8 @@ for ($nr = 1; $nr <= $feature_count; $nr++) { $feature = $features{$nr}; $switch_body_code .= sprintf - (qq[\tcase GLIBTOP_CMND_%s:\n\t\treturn _glibtop_demarshal_%s_i\n\t\t\t(server, backend, send_ptr, send_size,\n\t\t\t data_ptr, data_size,\n\t\t\t recv_buf_ptr, recv_size_ptr,\n\t\t\t recv_data_ptr, recv_data_size_ptr, retval_ptr);\n], - &toupper ($feature), $feature); + (qq[#if GLIBTOP_SUID_%s\n\tcase GLIBTOP_CMND_%s:\n\t\treturn _glibtop_demarshal_%s_i\n\t\t\t(server, backend, send_ptr, send_size,\n\t\t\t data_ptr, data_size,\n\t\t\t recv_buf_ptr, recv_size_ptr,\n\t\t\t recv_data_ptr, recv_data_size_ptr, retval_ptr);\n#endif /* GLIBTOP_SUID_%s */\n], + &toupper ($feature), &toupper ($feature), $feature, &toupper ($feature)); } $switch_code = sprintf