From 85cfc935712ef74569d8afc033b2e5505b73f5a4 Mon Sep 17 00:00:00 2001 From: Packit Service Date: Dec 03 2020 08:14:00 +0000 Subject: Apply patch net-snmp-5.8-modern-rpm-api.patch patch_name: net-snmp-5.8-modern-rpm-api.patch present_in_specfile: true --- diff --git a/agent/mibgroup/host/data_access/swinst_rpm.c b/agent/mibgroup/host/data_access/swinst_rpm.c index 0f4ed9e..15ff470 100644 --- a/agent/mibgroup/host/data_access/swinst_rpm.c +++ b/agent/mibgroup/host/data_access/swinst_rpm.c @@ -105,7 +105,6 @@ netsnmp_swinst_arch_load( netsnmp_container *container, u_int flags) rpmtd td_name, td_version, td_release, td_group, td_time; #else char *n, *v, *r, *g; - int32_t *t; #endif time_t install_time; size_t date_len; @@ -149,14 +148,13 @@ netsnmp_swinst_arch_load( netsnmp_container *container, u_int flags) install_time = rpmtdGetNumber(td_time); g = rpmtdGetString(td_group); #else - headerGetEntry( h, RPMTAG_NAME, NULL, (void**)&n, NULL); - headerGetEntry( h, RPMTAG_VERSION, NULL, (void**)&v, NULL); - headerGetEntry( h, RPMTAG_RELEASE, NULL, (void**)&r, NULL); - headerGetEntry( h, RPMTAG_GROUP, NULL, (void**)&g, NULL); - headerGetEntry( h, RPMTAG_INSTALLTIME, NULL, (void**)&t, NULL); + n = headerGetString( h, RPMTAG_NAME); + v = headerGetString( h, RPMTAG_VERSION); + r = headerGetString( h, RPMTAG_RELEASE); + g = headerGetString( h, RPMTAG_GROUP); + install_time = headerGetNumber( h, RPMTAG_INSTALLTIME); entry->swName_len = snprintf( entry->swName, sizeof(entry->swName), "%s-%s-%s", n, v, r); - install_time = *t; #endif entry->swType = (g && NULL != strstr( g, "System Environment")) ? 2 /* operatingSystem */ diff --git a/agent/mibgroup/host/hr_swinst.c b/agent/mibgroup/host/hr_swinst.c index f640f94..1b0d3b3 100644 --- a/agent/mibgroup/host/hr_swinst.c +++ b/agent/mibgroup/host/hr_swinst.c @@ -482,9 +482,9 @@ var_hrswinst(struct variable * vp, } #else # ifdef HAVE_LIBRPM - char *rpm_groups; - if ( headerGetEntry(swi->swi_h, RPMTAG_GROUP, NULL, (void **) &rpm_groups, NULL) ) { - if ( strstr(rpm_groups, "System Environment") != NULL ) + const char *rpm_group = headerGetString(swi->swi_h, RPMTAG_GROUP); + if ( NULL != rpm_group ) { + if ( strstr(rpm_group, "System Environment") != NULL ) long_return = 2; /* operatingSystem */ else long_return = 4; /* applcation */ @@ -501,9 +501,8 @@ var_hrswinst(struct variable * vp, case HRSWINST_DATE: { #ifdef HAVE_LIBRPM - int32_t *rpm_data; - if ( headerGetEntry(swi->swi_h, RPMTAG_INSTALLTIME, NULL, (void **) &rpm_data, NULL) ) { - time_t installTime = *rpm_data; + time_t installTime = headerGetNumber(swi->swi_h, RPMTAG_INSTALLTIME); + if ( 0 != installTime ) { ret = date_n_time(&installTime, var_len); } else { ret = date_n_time(NULL, var_len); @@ -663,7 +662,7 @@ Save_HR_SW_info(int ix) if (1 <= ix && ix <= swi->swi_nrec && ix != swi->swi_prevx) { int offset; Header h; - char *n, *v, *r; + const char *n, *v, *r; offset = swi->swi_recs[ix - 1]; @@ -688,11 +687,9 @@ Save_HR_SW_info(int ix) swi->swi_h = h; swi->swi_prevx = ix; - headerGetEntry(swi->swi_h, RPMTAG_NAME, NULL, (void **) &n, NULL); - headerGetEntry(swi->swi_h, RPMTAG_VERSION, NULL, (void **) &v, - NULL); - headerGetEntry(swi->swi_h, RPMTAG_RELEASE, NULL, (void **) &r, - NULL); + n = headerGetString(swi->swi_h, RPMTAG_NAME); + v = headerGetString(swi->swi_h, RPMTAG_VERSION); + r = headerGetString(swi->swi_h, RPMTAG_RELEASE); snprintf(swi->swi_name, sizeof(swi->swi_name), "%s-%s-%s", n, v, r); swi->swi_name[ sizeof(swi->swi_name)-1 ] = 0; }