Exported symbols removed in 2.5.2

Laurent Bigonville bigon at debian.org
Tue May 3 15:15:01 UTC 2016


Le 03/05/16 à 17:10, Steve Grubb a écrit :
> On Tuesday, May 03, 2016 05:04:04 PM Laurent Bigonville wrote:
>> Hello,
>>
>> In debian, during the build  of a package, we have a tool checking if
>> symbols are removed from shared librearies.
>>
>> With the 2.5.2 release, I get the following output:
>>
>> --- debian/libauparse0.symbols (libauparse0_1:2.5.2-1_amd64)
>> +++ dpkg-gensymbolsmB_9P2    2016-05-03 15:01:10.606713310 +0000
>> @@ -1,7 +1,7 @@
>>    libauparse.so.0 libauparse0 #MINVER#
>>     au_terminate_all_events at Base 1:2.5.1
>> - audit_strsplit at Base 1:2.4.2
>> - audit_strsplit_r at Base 1:2.4.2
>> +#MISSING: 1:2.5.2-1# audit_strsplit at Base 1:2.4.2
>> +#MISSING: 1:2.5.2-1# audit_strsplit_r at Base 1:2.4.2
>>     auparse_add_callback at Base 1:2.2.1
>>     auparse_destroy at Base 1:2.2.1
>>     auparse_do_interpretation at Base 1:2.3.1
>> @@ -49,4 +49,4 @@
>>     ausearch_clear at Base 1:2.2.1
>>     ausearch_next_event at Base 1:2.2.1
>>     ausearch_set_stop at Base 1:2.2.1
>> - set_escape_mode at Base 1:2.4.4
>> +#MISSING: 1:2.5.2-1# set_escape_mode at Base 1:2.4.4
>> dpkg-gensymbols: warning: some symbols or patterns disappeared in the
>> symbols file: see diff output below
>> dpkg-gensymbols: warning: debian/libaudit1/DEBIAN/symbols doesn't match
>> completely debian/libaudit1.symbols
>> --- debian/libaudit1.symbols (libaudit1_1:2.5.2-1_amd64)
>> +++ dpkg-gensymbolsQATT_C    2016-05-03 15:01:10.802717308 +0000
>> @@ -56,7 +56,7 @@
>>     audit_rule_syscall_data at Base 1:2.2.1
>>     audit_rule_syscallbyname_data at Base 1:2.2.1
>>     audit_send at Base 1:2.2.1
>> - audit_send_user_message at Base 1:2.2.1
>> +#MISSING: 1:2.5.2-1# audit_send_user_message at Base 1:2.2.1
>>     audit_set_backlog_limit at Base 1:2.2.1
>>     audit_set_backlog_wait_time at Base 1:2.4.2
>>     audit_set_enabled at Base 1:2.2.1
>>
>> Is that expected that these 4 symbols have been removed?
> Yes. This corresponds to the changelog entry:
>
> - Revise function hiding technique to better protect audit ABI
>
> All functions missing are internal to the audit libraries and could cause
> symbols collisions or worse if people start using them even though they are
> not declared in the library headers.

In the private.h header file, I can see the following comment:

// This is the main messaging function used internally
// Don't hide it, it used to be a part of the public API!
extern int audit_send_user_message(int fd, int type, hide_t hide_err,
         const char *message);

So doesn't this warrant a soname bump then?




More information about the Linux-audit mailing list