Full_Name: mirabilos Version: 2.4.46 OS: Debian URL: Submission from: (NULL) (2a01:4f8:150:946c::42:3)
I’ve just managed to unbreak the build of openldap on x32 (basically amd64ilp32: a 64-bit x86 architecture using 32-bit “long” and pointers) by fixing a couple of simple GCC warnings.
Original bugreport: https://bugs.debian.org/905237
Please find the attached patches (pretty machinal, so not copyright-relevant) and include them in your next release. Thanks!
--- a/clients/tools/common.c +++ b/clients/tools/common.c @@ -2326,7 +2326,7 @@ void tool_print_ctrls( /* known controls */ for ( j = 0; tool_ctrl_response[j].oid != NULL; j++ ) { if ( strcmp( tool_ctrl_response[j].oid, ctrls[i]->ldctl_oid ) == 0 ) { - if ( !tool_ctrl_response[j].mask & tool_type ) { + if ( !(tool_ctrl_response[j].mask & tool_type) ) { /* this control should not appear * with this tool; warning? */ } --- a/servers/slapd/backend.c +++ b/servers/slapd/backend.c @@ -1500,7 +1500,7 @@ fe_acl_group( * or if filter parsing fails. * In the latter case, * we should give up. */ - if ( ludp->lud_filter != NULL && ludp->lud_filter != '\0') { + if ( ludp->lud_filter != NULL && ludp->lud_filter[0] != '\0') { filter = str2filter_x( op, ludp->lud_filter ); if ( filter == NULL ) { /* give up... */ --- a/servers/slapd/overlays/constraint.c +++ b/servers/slapd/overlays/constraint.c @@ -446,7 +446,7 @@ constraint_cf_gen( ConfigArgs *c ) }
if ( ap.restrict_lud->lud_attrs != NULL ) { - if ( ap.restrict_lud->lud_attrs[0] != '\0' ) { + if ( ap.restrict_lud->lud_attrs[0] != NULL ) { snprintf( c->cr_msg, sizeof( c->cr_msg ), "%s %s: attrs not allowed in restrict URI %s\n", c->argv[0], c->argv[1], arg); --- a/servers/slapd/syntax.c +++ b/servers/slapd/syntax.c @@ -219,8 +219,8 @@ syn_add( }
assert( (*lsei)->lsei_values != NULL ); - if ( (*lsei)->lsei_values[0] == '\0' - || (*lsei)->lsei_values[1] != '\0' ) + if ( (*lsei)->lsei_values[0] == NULL + || (*lsei)->lsei_values[1] != NULL ) { Debug( LDAP_DEBUG_ANY, "syn_add(%s): exactly one substitute syntax must be present\n", ssyn->ssyn_syn.syn_oid, 0, 0 ); --- a/tests/progs/slapd-addel.c +++ b/tests/progs/slapd-addel.c @@ -173,7 +173,7 @@ main( int argc, char **argv )
}
- if (( attrs == NULL ) || ( *attrs == '\0' )) { + if (( attrs == NULL ) || ( *attrs == NULL )) {
fprintf( stderr, "%s: invalid attrs in file "%s".\n", argv[0], filename ); --- a/contrib/slapd-modules/smbk5pwd/smbk5pwd.c +++ b/contrib/slapd-modules/smbk5pwd/smbk5pwd.c @@ -605,7 +605,7 @@ static int smbk5pwd_exop_passwd( keys[0].bv_val = ch_malloc( LDAP_PVT_INTTYPE_CHARS(long) ); keys[0].bv_len = snprintf(keys[0].bv_val, LDAP_PVT_INTTYPE_CHARS(long), - "%ld", slap_get_time()); + "%lld", (long long)slap_get_time()); BER_BVZERO( &keys[1] ); ml->sml_desc = ad_sambaPwdLastSet; @@ -627,7 +627,7 @@ static int smbk5pwd_exop_passwd( keys[0].bv_val = ch_malloc( LDAP_PVT_INTTYPE_CHARS(long) ); keys[0].bv_len = snprintf(keys[0].bv_val, LDAP_PVT_INTTYPE_CHARS(long), - "%ld", slap_get_time() + pi->smb_must_change); + "%lld", (long long)slap_get_time() + (long long)pi->smb_must_change); BER_BVZERO( &keys[1] );
ml->sml_desc = ad_sambaPwdMustChange; @@ -650,7 +650,7 @@ static int smbk5pwd_exop_passwd( keys[0].bv_val = ch_malloc( LDAP_PVT_INTTYPE_CHARS(long) ); keys[0].bv_len = snprintf(keys[0].bv_val, LDAP_PVT_INTTYPE_CHARS(long), - "%ld", slap_get_time() + pi->smb_can_change); + "%lld", (long long)slap_get_time() + (long long)pi->smb_can_change); BER_BVZERO( &keys[1] );
ml->sml_desc = ad_sambaPwdCanChange; --- a/libraries/libldap/os-ip.c +++ b/libraries/libldap/os-ip.c @@ -282,8 +282,8 @@ ldap_int_poll( int rc;
- osip_debug(ld, "ldap_int_poll: fd: %d tm: %ld\n", - s, tvp ? tvp->tv_sec : -1L, 0); + osip_debug(ld, "ldap_int_poll: fd: %d tm: %lld\n", + s, tvp ? (long long)tvp->tv_sec : -1LL, 0);
#ifdef HAVE_POLL { @@ -432,8 +432,8 @@ ldap_pvt_connect(LDAP *ld, ber_socket_t opt_tv = &tv; }
- osip_debug(ld, "ldap_pvt_connect: fd: %d tm: %ld async: %d\n", - s, opt_tv ? tv.tv_sec : -1L, async); + osip_debug(ld, "ldap_pvt_connect: fd: %d tm: %lld async: %d\n", + s, opt_tv ? (long long)tv.tv_sec : -1LL, async);
if ( opt_tv && ldap_pvt_ndelay_on(ld, s) == -1 ) return ( -1 ); --- a/libraries/libldap/os-local.c +++ b/libraries/libldap/os-local.c @@ -176,8 +176,8 @@ ldap_pvt_connect(LDAP *ld, ber_socket_t opt_tv = &tv; }
- oslocal_debug(ld, "ldap_connect_timeout: fd: %d tm: %ld async: %d\n", - s, opt_tv ? tv.tv_sec : -1L, async); + oslocal_debug(ld, "ldap_connect_timeout: fd: %d tm: %lld async: %d\n", + s, opt_tv ? (long long)tv.tv_sec : -1LL, async);
if ( ldap_pvt_ndelay_on(ld, s) == -1 ) return -1;
--- a/libraries/libldap/result.c +++ b/libraries/libldap/result.c @@ -264,8 +264,8 @@ wait4msg( Debug( LDAP_DEBUG_TRACE, "wait4msg ld %p msgid %d (infinite timeout)\n", (void *)ld, msgid, 0 ); } else { - Debug( LDAP_DEBUG_TRACE, "wait4msg ld %p msgid %d (timeout %ld usec)\n", - (void *)ld, msgid, (long)timeout->tv_sec * 1000000 + timeout->tv_usec ); + Debug( LDAP_DEBUG_TRACE, "wait4msg ld %p msgid %d (timeout %lld usec)\n", + (void *)ld, msgid, (long long)timeout->tv_sec * 1000000LL + timeout->tv_usec ); } #endif /* LDAP_DEBUG */
--- a/servers/slapd/back-ldap/bind.c +++ b/servers/slapd/back-ldap/bind.c @@ -3008,14 +3008,14 @@ ldap_back_conn2str( const ldapconn_base_ }
if ( lc->lcb_create_time != 0 ) { - len = snprintf( tbuf, sizeof(tbuf), "%ld", lc->lcb_create_time ); + len = snprintf( tbuf, sizeof(tbuf), "%lld", (long long)lc->lcb_create_time ); if ( ptr + sizeof(" created=") + len >= end ) return -1; ptr = lutil_strcopy( ptr, " created=" ); ptr = lutil_strcopy( ptr, tbuf ); }
if ( lc->lcb_time != 0 ) { - len = snprintf( tbuf, sizeof(tbuf), "%ld", lc->lcb_time ); + len = snprintf( tbuf, sizeof(tbuf), "%lld", (long long)lc->lcb_time ); if ( ptr + sizeof(" modified=") + len >= end ) return -1; ptr = lutil_strcopy( ptr, " modified=" ); ptr = lutil_strcopy( ptr, tbuf ); --- a/servers/slapd/back-meta/config.c +++ b/servers/slapd/back-meta/config.c @@ -1277,8 +1277,8 @@ meta_back_cf_gen( ConfigArgs *c ) if ( mc->mc_network_timeout == 0 ) { return 1; } - bv.bv_len = snprintf( c->cr_msg, sizeof(c->cr_msg), "%ld", - mc->mc_network_timeout ); + bv.bv_len = snprintf( c->cr_msg, sizeof(c->cr_msg), "%lld", + (long long)mc->mc_network_timeout ); bv.bv_val = c->cr_msg; value_add_one( &c->rvalue_vals, &bv ); break; --- a/servers/slapd/overlays/dds.c +++ b/servers/slapd/overlays/dds.c @@ -417,7 +417,7 @@ dds_op_add( Operation *op, SlapReply *rs assert( ttl <= DDS_RF2589_MAX_TTL );
bv.bv_val = ttlbuf; - bv.bv_len = snprintf( ttlbuf, sizeof( ttlbuf ), "%ld", ttl ); + bv.bv_len = snprintf( ttlbuf, sizeof( ttlbuf ), "%lld", (long long)ttl ); assert( bv.bv_len < sizeof( ttlbuf ) );
/* FIXME: apparently, values in op->ora_e are malloc'ed @@ -695,7 +695,7 @@ dds_op_modify( Operation *op, SlapReply goto done; }
- bv_entryTtl.bv_len = snprintf( textbuf, sizeof( textbuf ), "%ld", entryTtl ); + bv_entryTtl.bv_len = snprintf( textbuf, sizeof( textbuf ), "%lld", (long long)entryTtl ); break;
default: @@ -917,7 +917,7 @@ dds_response( Operation *op, SlapReply * ttl = (ttl < 0) ? 0 : ttl; assert( ttl <= DDS_RF2589_MAX_TTL );
- len = snprintf( ttlbuf, sizeof(ttlbuf), "%ld", ttl ); + len = snprintf( ttlbuf, sizeof(ttlbuf), "%lld", (long long)ttl ); if ( len < 0 ) { goto done; @@ -1177,7 +1177,7 @@ dds_op_extended( Operation *op, SlapRepl ttlmod.sml_values = ttlvalues; ttlmod.sml_numvals = 1; ttlvalues[ 0 ].bv_val = ttlbuf; - ttlvalues[ 0 ].bv_len = snprintf( ttlbuf, sizeof( ttlbuf ), "%ld", ttl ); + ttlvalues[ 0 ].bv_len = snprintf( ttlbuf, sizeof( ttlbuf ), "%lld", (long long)ttl ); BER_BVZERO( &ttlvalues[ 1 ] );
/* the entryExpireTimestamp is added by modify */ @@ -1205,8 +1205,8 @@ dds_op_extended( Operation *op, SlapRepl rs->sr_rspoid = ch_strdup( slap_EXOP_REFRESH.bv_val );
Log3( LDAP_DEBUG_TRACE, LDAP_LEVEL_INFO, - "%s REFRESH dn="%s" TTL=%ld\n", - op->o_log_prefix, op->o_req_ndn.bv_val, ttl ); + "%s REFRESH dn="%s" TTL=%lld\n", + op->o_log_prefix, op->o_req_ndn.bv_val, (long long)ttl ); }
ber_free_buf( ber ); --- a/servers/slapd/overlays/pcache.c +++ b/servers/slapd/overlays/pcache.c @@ -2728,8 +2728,8 @@ pc_bind_search( Operation *op, SlapReply pbi->bi_flags |= BI_HASHED; } else { Debug( pcache_debug, "pc_bind_search: cache is stale, " - "reftime: %ld, current time: %ld\n", - pbi->bi_cq->bindref_time, op->o_time, 0 ); + "reftime: %lld, current time: %lld\n", + (long long)pbi->bi_cq->bindref_time, (long long)op->o_time, 0 ); } } else if ( pbi->bi_si ) { /* This search result is going into the cache */ @@ -3831,9 +3831,9 @@ pc_cf_gen( ConfigArgs *c ) struct berval bv; switch( c->type ) { case PC_MAIN: - bv.bv_len = snprintf( c->cr_msg, sizeof( c->cr_msg ), "%s %d %d %d %ld", + bv.bv_len = snprintf( c->cr_msg, sizeof( c->cr_msg ), "%s %d %d %d %lld", cm->db.bd_info->bi_type, cm->max_entries, cm->numattrsets, - cm->num_entries_limit, cm->cc_period ); + cm->num_entries_limit, (long long)cm->cc_period ); bv.bv_val = c->cr_msg; value_add_one( &c->rvalue_vals, &bv ); break; @@ -3875,12 +3875,12 @@ pc_cf_gen( ConfigArgs *c ) /* HEADS-UP: always print all; * if optional == 0, ignore */ bv.bv_len = snprintf( c->cr_msg, sizeof( c->cr_msg ), - " %d %ld %ld %ld %ld", + " %d %lld %lld %lld %lld", temp->attr_set_index, - temp->ttl, - temp->negttl, - temp->limitttl, - temp->ttr ); + (long long)temp->ttl, + (long long)temp->negttl, + (long long)temp->limitttl, + (long long)temp->ttr ); bv.bv_len += temp->querystr.bv_len + 2; bv.bv_val = ch_malloc( bv.bv_len+1 ); ptr = bv.bv_val; @@ -3897,9 +3897,9 @@ pc_cf_gen( ConfigArgs *c ) for (temp=qm->templates; temp; temp=temp->qmnext) { if ( !temp->bindttr ) continue; bv.bv_len = snprintf( c->cr_msg, sizeof( c->cr_msg ), - " %d %ld %s ", + " %d %lld %s ", temp->attr_set_index, - temp->bindttr, + (long long)temp->bindttr, ldap_pvt_scope2str( temp->bindscope )); bv.bv_len += temp->bindbase.bv_len + temp->bindftemp.bv_len + 4; bv.bv_val = ch_malloc( bv.bv_len + 1 ); --- a/servers/slapd/syncrepl.c +++ b/servers/slapd/syncrepl.c @@ -2395,8 +2395,8 @@ syncrepl_message_to_op( op->o_callback = &cb; slap_op_time( &op->o_time, &op->o_tincr );
- Debug( LDAP_DEBUG_SYNC, "syncrepl_message_to_op: %s tid %x\n", - si->si_ridtxt, op->o_tid, 0 ); + Debug( LDAP_DEBUG_SYNC, "syncrepl_message_to_op: %s tid %lx\n", + si->si_ridtxt, (unsigned long)op->o_tid, 0 );
switch( op->o_tag ) { case LDAP_REQ_ADD: @@ -2905,8 +2905,8 @@ syncrepl_entry( int freecsn = 1;
Debug( LDAP_DEBUG_SYNC, - "syncrepl_entry: %s LDAP_RES_SEARCH_ENTRY(LDAP_SYNC_%s) tid %x\n", - si->si_ridtxt, syncrepl_state2str( syncstate ), op->o_tid ); + "syncrepl_entry: %s LDAP_RES_SEARCH_ENTRY(LDAP_SYNC_%s) tid %lx\n", + si->si_ridtxt, syncrepl_state2str( syncstate ), (unsigned long)op->o_tid );
if (( syncstate == LDAP_SYNC_PRESENT || syncstate == LDAP_SYNC_ADD ) ) { if ( !si->si_refreshPresent && !si->si_refreshDone ) {