#endif
 
 
+/*
+ * gssapi.c:
+ */
+LDAP_F( int )
+ldap_gssapi_bind LDAP_P((
+       LDAP *ld,
+       LDAP_CONST char *dn,
+       LDAP_CONST char *creds ));
+
+LDAP_F( int )
+ldap_gssapi_bind_s LDAP_P((
+       LDAP *ld,
+       LDAP_CONST char *dn,
+       LDAP_CONST char *creds ));
+
+
 /*
  * in modify.c:
  */
 
 LDAP_F (int) ldap_init_fd LDAP_P((
        ber_socket_t fd, int proto, LDAP_CONST char *url, struct ldap **ldp ));
 
+/* sasl.c */
+LDAP_F (int) ldap_pvt_sasl_generic_install LDAP_P(( Sockbuf *sb,
+       struct sb_sasl_generic_install *install_arg ));
+LDAP_F (void) ldap_pvt_sasl_generic_remove LDAP_P(( Sockbuf *sb ));
+
 /* search.c */
 LDAP_F( int ) ldap_pvt_put_filter LDAP_P((
        BerElement *ber,
 
                        end,
                        rc = 0;
 
-       assert( n >= 0 );
        assert( id >= 0 );
 
        begin = 0;
 
        assert( vp != NULL );
        assert( np != NULL );
-       assert( *np >= 0 );
        assert( idx >= 0 );
        assert( (unsigned) idx <= *np );
 
 
        assert( vp != NULL );
        assert( np != NULL );
-       assert( *np >= 0 );
        assert( idx >= 0 );
        assert( (unsigned) idx < *np );
 
 
        int gss_rc,
        OM_uint32 minor_status )
 {
-       OM_uint32 min2;
-       OM_uint32 msg_ctx = 0;
        char msg[256];
 
        Debug( LDAP_DEBUG_ANY, "%s\n",
        }
 
        ret = snprintf( svc_principal, svc_principal_size - 1, principal_fmt, str);
-       if (ret < 0 || ret >= svc_principal_size - 1) {
+       if (ret < 0 || (size_t)ret + 1 >= svc_principal_size) {
                ld->ld_errno = LDAP_LOCAL_ERROR;
                return ld->ld_errno;
        }
        LDAP *ld,
        LDAP_CONST char *dn,
        LDAP_CONST char *creds )
-{ return LDAP_NOT_SUPPORTED; }
+{
+       return LDAP_NOT_SUPPORTED;
+}
 
 int
 ldap_gssapi_bind_s(
 
 LDAP_F (char **) ldap_value_dup LDAP_P((
        char *const *vals ));
 
+/*
+ *     in gssapi.c
+ */
+#ifdef HAVE_GSSAPI
+LDAP_F(int) ldap_int_gssapi_get_option LDAP_P(( LDAP *ld, int option, void *arg ));
+LDAP_F(int) ldap_int_gssapi_set_option LDAP_P(( LDAP *ld, int option, void *arg ));
+LDAP_F(int) ldap_int_gssapi_config LDAP_P(( struct ldapoptions *lo, int option, const char *arg ));
+LDAP_F(void) ldap_int_gssapi_close LDAP_P(( LDAP *ld, LDAPConn *lc ));
+#endif 
+
 LDAP_END_DECL
 
 #endif /* _LDAP_INT_H */
 
                == AC_SOCKET_ERROR )
        {
                /* XXX: needs to be replace with ber_stream_read() */
-               int rc = read(s, &ch, 1);
+               (void)read(s, &ch, 1);
                TRACE;
                return -1;
        }
 
                == AC_SOCKET_ERROR )
        {
                /* XXX: needs to be replace with ber_stream_read() */
-               int rc = read(s, &ch, 1);
+               (void)read(s, &ch, 1);
                TRACE;
                return -1;
        }
 
        struct timeval *timeout,
        LDAPMessage **result )
 {
-       LDAPMessage     *lm;
        int             rc;
 
        assert( ld != NULL );
 
        assert( idxp != NULL );
        assert( msgid >= 0 );
-       assert( ld->ld_nabandoned >= 0 );
 
        return ldap_int_bisect_find( ld->ld_abandoned, ld->ld_nabandoned, msgid, idxp );
 }
 
 ldap_pvt_tls_destroy( void )
 {
        struct ldapoptions *lo = LDAP_INT_GLOBAL_OPT();   
-       int i;
 
        ldap_int_tls_destroy( lo );
 
 int
 ldap_pvt_tls_init( void )
 {
-       struct ldapoptions *lo = LDAP_INT_GLOBAL_OPT();   
-
        return tls_init( tls_imp );
 }
 
 static int
 ldap_int_tls_init_ctx( struct ldapoptions *lo, int is_server )
 {
-       int i, rc = 0;
+       int rc = 0;
        tls_impl *ti = tls_imp;
        struct ldaptls lts = lo->ldo_tls_info;
 
 
        int rc;
 
        assert( meter != NULL );
-       assert( position >= 0 );
 
        lutil_get_now( &now );