]> git.pld-linux.org Git - packages/rpm.git/blobdiff - rpm-no-neon.patch
- javaprov improved to find deps recursively from jar (eclipse pkgs)
[packages/rpm.git] / rpm-no-neon.patch
index e9f6559c3ba4d38ca9011b3999a2a247f51c0e77..a75d5f09a3d49311956258ae06c43ca71520af79 100644 (file)
@@ -1,81 +1,99 @@
-diff -ur rpm-4.4.1/configure.ac rpm-4.4.1-no-neon/configure.ac
---- rpm-4.4.1/configure.ac     2005-06-19 20:37:35.675035608 +0200
-+++ rpm-4.4.1-no-neon/configure.ac     2005-06-19 20:34:07.022755576 +0200
-@@ -448,26 +448,6 @@
- WITH_NEON_SUBDIR=
- WITH_NEON_INCLUDE=
- WITH_NEON_LIB=
--AC_CHECK_HEADER([neon/ne_session.h], [
--      AC_CHECK_LIB(neon, ne_session_create, [
--          AC_DEFINE(HAVE_LIBNEON, 1, [Define to 1 if you have the `neon' library (-lneon).])
--          AC_CHECK_LIB(neon, ne_get_response_header, [
--              AC_DEFINE(HAVE_NEON_NE_GET_RESPONSE_HEADER, 1, [Define to 1 if you have ne_get_response_header() in libneon.])
--              ])
--          AC_CHECK_LIB(neon, ne_send_request_chunk, [
--              AC_DEFINE(HAVE_NEON_NE_SEND_REQUEST_CHUNK, 1, [Define to 1 if you have ne_send_request_chunk() in libneon.])
--              ])
--          WITH_NEON_INCLUDE="-I${includedir}/neon"
--          WITH_NEON_LIB="-lneon"
--      ])
--    ], [
--      if test -d neon ; then
--          AC_DEFINE(HAVE_LIBNEON, 1, [Define to 1 if you have the `neon' library (-lneon).])
--          WITH_NEON_SUBDIR=neon
--          WITH_NEON_INCLUDE="-I\${top_srcdir}/${WITH_NEON_SUBDIR}/src"
--          WITH_NEON_LIB="\${top_builddir}/${WITH_NEON_SUBDIR}/src/libneon.la"
--      fi
--])
- AC_SUBST(WITH_NEON_SUBDIR)
- AC_SUBST(WITH_NEON_INCLUDE)
- AC_SUBST(WITH_NEON_LIB)
-diff -ur rpm-4.4.1/rpmio/Makefile.am rpm-4.4.1-no-neon/rpmio/Makefile.am
---- rpm-4.4.1/rpmio/Makefile.am        2005-06-19 20:37:35.322089264 +0200
-+++ rpm-4.4.1-no-neon/rpmio/Makefile.am        2005-06-19 20:34:06.996759528 +0200
-@@ -37,7 +37,7 @@
-       @WITH_LUA_LIB@ \
-       $(top_builddir)/file/src/libmagic.la \
-       @WITH_ZLIB_LIB@ \
--      -lneon -lpthread @HOME_ETC_LIB@
-+      -lpthread @HOME_ETC_LIB@
- librpmio_la_LIBADD = # $(BEECRYPTLOBJS)
- librpmio_la_DEPENDENCIES = # .created
-diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
---- rpm-4.4.1/rpmio/rpmdav.c   2005-01-17 19:46:27.000000000 +0100
-+++ rpm-4.4.1-no-neon/rpmio/rpmdav.c   2005-06-19 20:35:12.340825720 +0200
-@@ -9,17 +9,6 @@
+--- rpm-4.5/rpmio/rpmdav.c~    2008-07-09 12:38:31.000000000 +0300
++++ rpm-4.5/rpmio/rpmdav.c     2008-09-04 17:43:50.215697868 +0300
+@@ -9,58 +9,6 @@
  #include <pthread.h>
  #endif
  
--#include <neon/ne_alloc.h>
--#include <neon/ne_auth.h>
--#include <neon/ne_basic.h>
--#include <neon/ne_dates.h>
--#include <neon/ne_locks.h>
--#include <neon/ne_props.h>
--#include <neon/ne_request.h>
--#include <neon/ne_socket.h>
--#include <neon/ne_string.h>
--#include <neon/ne_utils.h>
+-#if USE_INTERNAL_NEON
+-#include "ne_alloc.h"
+-#include "ne_auth.h"
+-#include "ne_basic.h"
+-#include "ne_dates.h"
+-#include "ne_locks.h"
+-#else
+-#include "neon/ne_alloc.h"
+-#include "neon/ne_auth.h"
+-#include "neon/ne_basic.h"
+-#include "neon/ne_dates.h"
+-#include "neon/ne_locks.h"
+-#endif
+-
+-#define       NEONBLOWSCHUNKS
+-#ifndef       NEONBLOWSCHUNKS
+-/* HACK: include ne_private.h to access sess->socket for now. */
+-#include "../neon/src/ne_private.h"
+-#endif
+-
+-#if USE_INTERNAL_NEON
+-#include "ne_props.h"
+-#include "ne_request.h"
+-#include "ne_socket.h"
+-#include "ne_string.h"
+-#include "ne_utils.h"
+-#include "ne_md5.h" /* for version detection only */
+-#else
+-#include "neon/ne_props.h"
+-#include "neon/ne_request.h"
+-#include "neon/ne_socket.h"
+-#include "neon/ne_string.h"
+-#include "neon/ne_utils.h"
+-#include "neon/ne_md5.h" /* for version detection only */
+-#endif
+-
+-/* poor-man's NEON version determination */
+-#if defined(NE_MD5_H)
+-#define WITH_NEON_MIN_VERSION 0x002700
+-#elif defined(NE_FEATURE_I18N)
+-#define WITH_NEON_MIN_VERSION 0x002600
+-#else
+-#define WITH_NEON_MIN_VERSION 0x002500
+-#endif
+-
+-/* XXX API changes for NEON 0.26 */
+-#if WITH_NEON_MIN_VERSION >= 0x002600
+-#define       ne_set_persist(_sess, _flag)
+-#define       ne_propfind_set_private(_pfh, _create_item, NULL) \
+-      ne_propfind_set_private(_pfh, _create_item, NULL, NULL)
+-#endif
 -
  #include <rpmio_internal.h>
  
  #define _RPMDAV_INTERNAL
-@@ -55,1304 +44,6 @@
- }
+@@ -74,1469 +22,6 @@
+ /*@access FD_t @*/
+ /*@access urlinfo @*/
  
- /* =============================================================== */
--static int davFree(urlinfo u)
+-#if 0 /* HACK: reasonable value needed. */
+-#define TIMEOUT_SECS 60
+-#else
+-#define TIMEOUT_SECS 5
+-#endif
+-/*@unchecked@*/
+-static int httpTimeoutSecs = TIMEOUT_SECS;
+-
+-/* =============================================================== */
+-int davFree(urlinfo u)
 -      /*@globals internalState @*/
 -      /*@modifies u, internalState @*/
 -{
--    if (u != NULL && u->sess != NULL) {
--      u->capabilities = _free(u->capabilities);
--      if (u->lockstore != NULL)
--          ne_lockstore_destroy(u->lockstore);
--      u->lockstore = NULL;
--      ne_session_destroy(u->sess);
--      u->sess = NULL;
+-    if (u != NULL) {
+-      if (u->sess != NULL) {
+-          ne_session_destroy(u->sess);
+-          u->sess = NULL;
+-      }
+-      switch (u->urltype) {
+-      default:
+-          /*@notreached@*/ break;
+-      case URL_IS_HTTPS:
+-      case URL_IS_HTTP:
+-      case URL_IS_HKP:
+-          u->capabilities = _free(u->capabilities);
+-          if (u->lockstore != NULL)
+-              ne_lockstore_destroy(u->lockstore);
+-          u->lockstore = NULL;
+-          ne_sock_exit();
+-          break;
+-      }
 -    }
 -    return 0;
 -}
@@ -98,8 +116,13 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -fprintf(stderr, "*** davProgress(%p,0x%x:0x%x) sess %p u %p\n", userdata, (unsigned int)current, (unsigned int)total, sess, u);
 -}
 -
+-#if WITH_NEON_MIN_VERSION >= 0x002700
+-static void davNotify(void * userdata,
+-              ne_session_status connstatus, const ne_session_status_info *info)
+-#else
 -static void davNotify(void * userdata,
 -              ne_conn_status connstatus, const char * info)
+-#endif
 -      /*@*/
 -{
 -    urlinfo u = userdata;
@@ -127,7 +150,9 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -} ne_conn_status;
 -#endif
 -
+-#if WITH_NEON_MIN_VERSION < 0x002700
 -    u->connstatus = connstatus;
+-#endif
 -
 -/*@-boundsread@*/
 -if (_dav_debug < 0)
@@ -275,18 +300,36 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -    /* HACK: where should server capabilities be read? */
 -    (void) urlPath(u->url, &path);
 -    /* HACK: perhaps capture Allow: tag, look for PUT permitted. */
+-    /* XXX [hdr] Allow: GET,HEAD,POST,OPTIONS,TRACE */
 -    rc = ne_options(u->sess, path, u->capabilities);
 -    switch (rc) {
 -    case NE_OK:
--      break;
+-    { ne_server_capabilities *cap = u->capabilities;
+-      if (cap->dav_class1)
+-          u->allow |= RPMURL_SERVER_HASDAVCLASS1;
+-      else
+-          u->allow &= ~RPMURL_SERVER_HASDAVCLASS1;
+-      if (cap->dav_class2)
+-          u->allow |= RPMURL_SERVER_HASDAVCLASS2;
+-      else
+-          u->allow &= ~RPMURL_SERVER_HASDAVCLASS2;
+-      if (cap->dav_executable)
+-          u->allow |= RPMURL_SERVER_HASDAVEXEC;
+-      else
+-          u->allow &= ~RPMURL_SERVER_HASDAVEXEC;
+-    } break;
 -    case NE_ERROR:
 -      /* HACK: "301 Moved Permanently" on empty subdir. */
 -      if (!strncmp("301 ", ne_get_error(u->sess), sizeof("301 ")-1))
 -          break;
--      /*@fallthrough@*/
--    case NE_CONNECT:
+-      errno = EIO;            /* HACK: more precise errno. */
+-      goto bottom;
 -    case NE_LOOKUP:
+-      errno = ENOENT;         /* HACK: errno same as non-existent path. */
+-      goto bottom;
+-    case NE_CONNECT:          /* HACK: errno set already? */
 -    default:
+-bottom:
 -if (_dav_debug)
 -fprintf(stderr, "*** Connect to %s:%d failed(%d):\n\t%s\n",
 -                 u->host, u->port, rc, ne_get_error(u->sess));
@@ -346,7 +389,11 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -#endif
 -
 -      ne_set_progress(u->sess, davProgress, u);
+-#if WITH_NEON_MIN_VERSION >= 0x002700
+-      ne_set_notifier(u->sess, davNotify, u);
+-#else
 -      ne_set_status(u->sess, davNotify, u);
+-#endif
 -
 -      ne_set_persist(u->sess, 1);
 -      ne_set_read_timeout(u->sess, httpTimeoutSecs);
@@ -355,7 +402,7 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -      /* XXX check that neon is ssl enabled. */
 -      if (!strcasecmp(u->scheme, "https"))
 -          ne_ssl_set_verify(u->sess, davVerifyCert, (char *)u->host);
--                                                                                
+-
 -      ne_set_session_private(u->sess, "urlinfo", u);
 -
 -      ne_hook_destroy_session(u->sess, davDestroySession, u);
@@ -374,8 +421,8 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -
 -exit:
 -/*@-boundswrite@*/
--    if (rc == 0 && uret != NULL)
--      *uret = urlLink(u, __FUNCTION__);
+-    if (uret != NULL)
+-      *uret = urlLink(u, "davInit");
 -/*@=boundswrite@*/
 -    u = urlFree(u, "urlSplit (davInit)");
 -
@@ -389,8 +436,9 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -    resr_reference,
 -    resr_error
 -};
--                                                                                
+-
 -struct fetch_resource_s {
+-/*@dependent@*/
 -    struct fetch_resource_s *next;
 -    char *uri;
 -/*@unused@*/
@@ -408,8 +456,8 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -static void *fetch_destroy_item(/*@only@*/ struct fetch_resource_s *res)
 -      /*@modifies res @*/
 -{
--    NE_FREE(res->uri);
--    NE_FREE(res->error_reason);
+-    ne_free(res->uri);
+-    ne_free(res->error_reason);
 -    res = _free(res);
 -    return NULL;
 -}
@@ -430,7 +478,11 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -}
 -#endif
 -
+-#if WITH_NEON_MIN_VERSION >= 0x002600
+-static void *fetch_create_item(/*@unused@*/ void *userdata, /*@unused@*/ const ne_uri *uri)
+-#else
 -static void *fetch_create_item(/*@unused@*/ void *userdata, /*@unused@*/ const char *uri)
+-#endif
 -        /*@*/
 -{
 -    struct fetch_resource_s * res = ne_calloc(sizeof(*res));
@@ -439,7 +491,7 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -
 -/* =============================================================== */
 -struct fetch_context_s {
--/*@relnull@*/
+-/*@relnull@*/ /*@dependent@*/
 -    struct fetch_resource_s **resrock;
 -    const char *uri;
 -    unsigned int include_target; /* Include resource at href */
@@ -448,6 +500,8 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -    int ac;
 -    int nalloced;
 -    ARGV_t av;
+-/*@null@*/ /*@shared@*/
+-    struct stat *st;
 -    mode_t * modes;
 -    size_t * sizes;
 -    time_t * mtimes;
@@ -465,7 +519,7 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -    ctx->modes = _free(ctx->modes);
 -    ctx->sizes = _free(ctx->sizes);
 -    ctx->mtimes = _free(ctx->mtimes);
--    ctx->u = urlFree(ctx->u, __FUNCTION__);
+-    ctx->u = urlFree(ctx->u, "fetch_destroy_context");
 -    ctx->uri = _free(ctx->uri);
 -/*@-boundswrite@*/
 -    memset(ctx, 0, sizeof(*ctx));
@@ -475,7 +529,7 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -}
 -
 -/*@null@*/
--static void *fetch_create_context(const char *uri)
+-static void *fetch_create_context(const char *uri, /*@null@*/ struct stat *st)
 -      /*@globals internalState @*/
 -      /*@modifies internalState @*/
 -{
@@ -489,7 +543,9 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -
 -    ctx = ne_calloc(sizeof(*ctx));
 -    ctx->uri = xstrdup(uri);
--    ctx->u = urlLink(u, __FUNCTION__);
+-    ctx->u = urlLink(u, "fetch_create_context");
+-    if ((ctx->st = st) != NULL)
+-      memset(ctx->st, 0, sizeof(*ctx->st));
 -    return ctx;
 -}
 -
@@ -513,7 +569,7 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -    { "DAV:", "collection", ELM_collection }
 -};
 -
--static int fetch_startelm(void *userdata, int parent, 
+-static int fetch_startelm(void *userdata, int parent,
 -              const char *nspace, const char *name,
 -              /*@unused@*/ const char **atts)
 -      /*@*/
@@ -523,7 +579,7 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -    int state = ne_xml_mapid(fetch_idmap, NE_XML_MAPLEN(fetch_idmap),
 -                             nspace, name);
 -
--    if (r == NULL || 
+-    if (r == NULL ||
 -        !((parent == NE_207_STATE_PROP && state == ELM_resourcetype) ||
 -          (parent == ELM_resourcetype && state == ELM_collection)))
 -        return NE_XML_DECLINE;
@@ -535,7 +591,7 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -    return state;
 -}
 -
--static int fetch_compare(const struct fetch_resource_s *r1, 
+-static int fetch_compare(const struct fetch_resource_s *r1,
 -                          const struct fetch_resource_s *r2)
 -      /*@*/
 -{
@@ -559,8 +615,13 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -    }
 -}
 -
--static void fetch_results(void *userdata, const char *uri,
+-#if WITH_NEON_MIN_VERSION >= 0x002600
+-static void fetch_results(void *userdata, const ne_uri *uarg,
 -                  const ne_prop_result_set *set)
+-#else
+-static void fetch_results(void *userdata, void *uarg,
+-                  const ne_prop_result_set *set)
+-#endif
 -      /*@*/
 -{
 -    struct fetch_context_s *ctx = userdata;
@@ -570,7 +631,13 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -    const ne_status *status = NULL;
 -    const char * path = NULL;
 -
+-#if WITH_NEON_MIN_VERSION >= 0x002600
+-    const ne_uri * uri = uarg;
+-    (void) urlPath(uri->path, &path);
+-#else
+-    const char * uri = uarg;
 -    (void) urlPath(uri, &path);
+-#endif
 -    if (path == NULL)
 -      return;
 -
@@ -578,26 +645,28 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -
 -if (_dav_debug < 0)
 -fprintf(stderr, "==> %s in uri %s\n", path, ctx->uri);
--    
+-
 -    if (ne_path_compare(ctx->uri, path) == 0 && !ctx->include_target) {
 -      /* This is the target URI */
 -if (_dav_debug < 0)
 -fprintf(stderr, "==> %s skipping target resource.\n", path);
 -      /* Free the private structure. */
+-/*@-dependenttrans -exposetrans@*/
 -      free(newres);
+-/*@=dependenttrans =exposetrans@*/
 -      return;
 -    }
 -
 -    newres->uri = ne_strdup(path);
 -
 -/*@-boundsread@*/
--    clength = ne_propset_value(set, &fetch_props[0]);    
+-    clength = ne_propset_value(set, &fetch_props[0]);
 -    modtime = ne_propset_value(set, &fetch_props[1]);
 -    isexec = ne_propset_value(set, &fetch_props[2]);
 -    checkin = ne_propset_value(set, &fetch_props[4]);
 -    checkout = ne_propset_value(set, &fetch_props[5]);
 -/*@=boundsread@*/
--    
+-
 -/*@-branchstate@*/
 -    if (clength == NULL)
 -      status = ne_propset_status(set, &fetch_props[0]);
@@ -649,7 +718,7 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -      newres->is_vcr = 0;
 -    }
 -
--    for (current = *ctx->resrock, previous = NULL; current != NULL; 
+-    for (current = *ctx->resrock, previous = NULL; current != NULL;
 -      previous = current, current = current->next)
 -    {
 -      if (fetch_compare(current, newres) >= 0) {
@@ -659,9 +728,9 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -    if (previous) {
 -      previous->next = newres;
 -    } else {
--/*@-boundswrite@*/
+-/*@-boundswrite -dependenttrans @*/
 -      *ctx->resrock = newres;
--/*@=boundswrite@*/
+-/*@=boundswrite =dependenttrans @*/
 -    }
 -    newres->next = current;
 -}
@@ -684,12 +753,12 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -    (void) urlPath(u->url, &path);
 -    pfh = ne_propfind_create(u->sess, ctx->uri, depth);
 -
--    /* HACK: need to set u->httpHasRange here. */
+-    /* HACK: need to set RPMURL_SERVER_HASRANGE in u->allow here. */
 -
 -    ctx->resrock = resrock;
 -    ctx->include_target = include_target;
 -
--    ne_xml_push_handler(ne_propfind_get_parser(pfh), 
+-    ne_xml_push_handler(ne_propfind_get_parser(pfh),
 -                        fetch_startelm, NULL, NULL, pfh);
 -
 -    ne_propfind_set_private(pfh, fetch_create_item, NULL);
@@ -727,7 +796,7 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -      xx = argvAdd(&ctx->av, val);
 -if (_dav_debug < 0)
 -fprintf(stderr, "*** argvAdd(%p,\"%s\")\n", &ctx->av, val);
--      NE_FREE(val);
+-      ne_free(val);
 -
 -      while (ctx->ac >= ctx->nalloced) {
 -          if (ctx->nalloced <= 0)
@@ -764,10 +833,73 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -      current = fetch_destroy_item(current);
 -    }
 -    ctx->resrock = NULL;      /* HACK: avoid leaving stack reference. */
+-    /* HACK realloc to truncate modes/sizes/mtimes */
 -
 -    return rc;
 -}
 -
+-/* HACK this should be rewritten to use davReq/davResp w callbacks. */
+-static int davHEAD(urlinfo u, struct stat *st) 
+-      /*@modifies *st @*/
+-{
+-    ne_request *req;
+-    const char *htag;
+-    const char *value = NULL;
+-    int rc;
+-
+-    st->st_mode = S_IFREG;
+-    st->st_blksize = 4 * 1024;        /* HACK correct for linux ext */
+-    st->st_size = -1;
+-    st->st_atime = -1;
+-    st->st_mtime = -1;
+-    st->st_ctime = -1;
+-
+-    req = ne_request_create(u->sess, "HEAD", u->url);
+-
+-    rc = ne_request_dispatch(req);
+-    switch (rc) {
+-    default:
+-      goto exit;
+-      /*@notreached@*/
+-    case NE_OK:
+-      if (ne_get_status(req)->klass != 2) {
+-          rc = NE_ERROR;
+-          goto exit;
+-      }
+-      break;
+-    }
+-
+-#ifdef        NOTYET
+-    htag = "ETag";
+-    value = ne_get_response_header(req, htag); 
+-    if (value) {
+-      /* inode-size-mtime */
+-    }
+-#endif
+-
+-    htag = "Content-Length";
+-#if defined(HAVE_NEON_NE_GET_RESPONSE_HEADER)
+-    value = ne_get_response_header(req, htag); 
+-#endif
+-    if (value) {
+-      st->st_size = strtoll(value, NULL, 10);
+-      st->st_blocks = (st->st_size + 511)/512;
+-    }
+-
+-    htag = "Last-Modified";
+-#if defined(HAVE_NEON_NE_GET_RESPONSE_HEADER)
+-    value = ne_get_response_header(req, htag); 
+-#endif
+-    if (value) {
+-      st->st_mtime = ne_httpdate_parse(value);
+-      st->st_atime = st->st_ctime = st->st_mtime;     /* HACK */
+-    }
+-
+-exit:
+-    ne_request_destroy(req);
+-    return rc;
+-}
+-
 -static int davNLST(struct fetch_context_s * ctx)
 -      /*@globals internalState @*/
 -      /*@modifies ctx, internalState @*/
@@ -780,11 +912,19 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -    if (rc || u == NULL)
 -      goto exit;
 -
--    rc = davFetch(u, ctx);
+-/* HACK do PROPFIND through davFetch iff enabled, otherwise HEAD Content-length/ETag/Last-Modified */
+-    if (u->allow & RPMURL_SERVER_HASDAV)
+-         rc = davFetch(u, ctx);       /* use PROPFIND to get contentLength */
+-    else
+-         rc = davHEAD(u, ctx->st);    /* use HEAD to get contentLength */
+-
 -    switch (rc) {
 -    case NE_OK:
 -        break;
 -    case NE_ERROR:
+-      /* HACK: "405 Method Not Allowed" for PROPFIND on non-DAV servers. */
+-      /* XXX #206066 OPTIONS is ok, but PROPFIND from Stat() fails. */
+-      /* rpm -qp --rpmiodebug --davdebug http://people.freedesktop.org/~sandmann/metacity-2.16.0-2.fc6/i386/metacity-2.16.0-2.fc6.i386.rpm */
 -      /* HACK: "301 Moved Permanently" on empty subdir. */
 -      if (!strncmp("301 ", ne_get_error(u->sess), sizeof("301 ")-1))
 -          break;
@@ -797,8 +937,7 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -    }
 -
 -exit:
--    if (rc)
--      xx = davFree(u);
+-    xx = davFree(u);
 -    return rc;
 -}
 -
@@ -839,50 +978,55 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -}
 -#endif
 -
+-/*@-mustmod@*/
 -static void davAcceptRanges(void * userdata, /*@null@*/ const char * value)
 -      /*@modifies userdata @*/
 -{
 -    urlinfo u = userdata;
 -
--    if (!(u && value)) return;
+-    if (!(u != NULL && value != NULL)) return;
 -if (_dav_debug < 0)
 -fprintf(stderr, "*** u %p Accept-Ranges: %s\n", u, value);
 -    if (!strcmp(value, "bytes"))
--      u->httpHasRange = 1;
+-      u->allow |= RPMURL_SERVER_HASRANGE;
 -    if (!strcmp(value, "none"))
--      u->httpHasRange = 0;
+-      u->allow &= ~RPMURL_SERVER_HASRANGE;
 -}
+-/*@=mustmod@*/
 -
 -#if !defined(HAVE_NEON_NE_GET_RESPONSE_HEADER)
 -static void davAllHeaders(void * userdata, const char * value)
 -{
 -    FD_t ctrl = userdata;
 -
--    if (!(ctrl && value)) return;
+-    if (!(ctrl != NULL && value != NULL)) return;
 -if (_dav_debug)
 -fprintf(stderr, "<- %s\n", value);
 -}
 -#endif
 -
+-/*@-mustmod@*/
 -static void davContentLength(void * userdata, /*@null@*/ const char * value)
 -      /*@modifies userdata @*/
 -{
 -    FD_t ctrl = userdata;
 -
--    if (!(ctrl && value)) return;
+-    if (!(ctrl != NULL && value != NULL)) return;
 -if (_dav_debug < 0)
 -fprintf(stderr, "*** fd %p Content-Length: %s\n", ctrl, value);
 -/*@-unrecog@*/
 -   ctrl->contentLength = strtoll(value, NULL, 10);
 -/*@=unrecog@*/
 -}
+-/*@=mustmod@*/
 -
+-/*@-mustmod@*/
 -static void davConnection(void * userdata, /*@null@*/ const char * value)
 -      /*@modifies userdata @*/
 -{
 -    FD_t ctrl = userdata;
 -
--    if (!(ctrl && value)) return;
+-    if (!(ctrl != NULL && value != NULL)) return;
 -if (_dav_debug < 0)
 -fprintf(stderr, "*** fd %p Connection: %s\n", ctrl, value);
 -    if (!strcasecmp(value, "close"))
@@ -890,6 +1034,7 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -    else if (!strcasecmp(value, "Keep-Alive"))
 -      ctrl->persist = 1;
 -}
+-/*@=mustmod@*/
 -
 -/*@-mustmod@*/ /* HACK: stash error in *str. */
 -int davResp(urlinfo u, FD_t ctrl, /*@unused@*/ char *const * str)
@@ -946,7 +1091,7 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -#endif
 -
 -    if (!strcmp(httpCmd, "PUT")) {
--#ifdef        NOTYET          /* XXX HACK no wr_chunked until libneon supports */
+-#if defined(HAVE_NEON_NE_SEND_REQUEST_CHUNK)
 -      ctrl->wr_chunked = 1;
 -      ne_add_request_header(ctrl->req, "Transfer-Encoding", "chunked");
 -      ne_set_request_chunked(ctrl->req, 1);
@@ -1033,7 +1178,9 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -      fd = fdNew("grab ctrl (davOpen)");
 -
 -    if (fd) {
+-      fdSetOpen(fd, url, flags, mode);
 -      fdSetIo(fd, ufdio);
+-
 -      fd->ftpFileDoneNeeded = 0;
 -      fd->rd_timeoutsecs = httpTimeoutSecs;
 -      fd->contentLength = fd->bytesRemain = -1;
@@ -1064,7 +1211,7 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -    rc = ne_read_response_block(fd->req, buf, count);
 -
 -if (_dav_debug < 0) {
--fprintf(stderr, "*** davRead(%p,%p,0x%x) rc 0x%x\n", cookie, buf, count, (unsigned)rc);
+-fprintf(stderr, "*** davRead(%p,%p,0x%x) rc 0x%x\n", cookie, buf, (unsigned)count, (unsigned)rc);
 -#ifdef        DYING
 -hexdump(buf, rc);
 -#endif
@@ -1075,29 +1222,42 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -
 -ssize_t davWrite(void * cookie, const char * buf, size_t count)
 -{
--#ifdef        NOTYET          /* XXX HACK no wr_chunked until libneon supports */
+-#if !defined(NEONBLOWSCHUNKS) || defined(HAVE_NEON_NE_SEND_REQUEST_CHUNK) || defined(__LCLINT__)
 -    FD_t fd = cookie;
+-#endif
 -    ssize_t rc;
--    int xx;
+-    int xx = -1;
 -
+-#if !defined(NEONBLOWSCHUNKS)
+-    ne_session * sess;
+-
+-assert(fd->req != NULL);
+-    sess = ne_get_session(fd->req);
+-assert(sess != NULL);
+-
+-    /* HACK: include ne_private.h to access sess->socket for now. */
+-    xx = ne_sock_fullwrite(sess->socket, buf, count);
+-#else
+-#if defined(HAVE_NEON_NE_SEND_REQUEST_CHUNK) || defined(__LCLINT__)
 -assert(fd->req != NULL);
 -    xx = ne_send_request_chunk(fd->req, buf, count);
+-#else
+-    errno = EIO;       /* HACK */
+-    return -1;
+-#endif
+-#endif
 -
 -    /* HACK: stupid error impedence matching. */
 -    rc = (xx == 0 ? count : -1);
 -
 -if (_dav_debug < 0)
--fprintf(stderr, "*** davWrite(%p,%p,0x%x) rc 0x%x\n", cookie, buf, count, rc);
+-fprintf(stderr, "*** davWrite(%p,%p,0x%x) rc 0x%x\n", cookie, buf, (unsigned)count, (unsigned)rc);
 -#ifdef        DYING
 -if (count > 0)
 -hexdump(buf, count);
 -#endif
 -
 -    return rc;
--#else
--    errno = EIO;      /* HACK */
--    return -1;
--#endif
 -}
 -
 -int davSeek(void * cookie, /*@unused@*/ _libio_pos_t pos, int whence)
@@ -1257,7 +1417,7 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -}
 -
 -/*@unchecked@*/
--static int dav_st_ino = 0xdead0000;
+-static unsigned int dav_st_ino = 0xdead0000;
 -
 -/*@-boundswrite@*/
 -int davStat(const char * path, /*@out@*/ struct stat *st)
@@ -1269,8 +1429,9 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -    int rc = -1;
 -
 -/* HACK: neon really wants collections with trailing '/' */
--    ctx = fetch_create_context(path);
+-    ctx = fetch_create_context(path, st);
 -    if (ctx == NULL) {
+-fprintf(stderr, "==> %s fetch_create_context ctx %p\n", "davStat", ctx);
 -/* HACK: errno = ??? */
 -      goto exit;
 -    }
@@ -1280,10 +1441,11 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -      goto exit;
 -    }
 -
--    memset(st, 0, sizeof(*st));
--    st->st_mode = ctx->modes[0];
--    st->st_size = ctx->sizes[0];
--    st->st_mtime = ctx->mtimes[0];
+-    if (st->st_mode == 0)
+-      st->st_mode = (ctx->ac > 1 ? S_IFDIR : S_IFREG);
+-    st->st_size = (ctx->sizes ? ctx->sizes[0] : st->st_size);
+-    st->st_mtime = (ctx->mtimes ? ctx->mtimes[0] : st->st_mtime);
+-    st->st_atime = st->st_ctime = st->st_mtime;       /* HACK */
 -    if (S_ISDIR(st->st_mode)) {
 -      st->st_nlink = 2;
 -      st->st_mode |= 0755;
@@ -1291,14 +1453,15 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -    if (S_ISREG(st->st_mode)) {
 -      st->st_nlink = 1;
 -      st->st_mode |= 0644;
--    } 
+-    }
 -
 -    /* XXX fts(3) needs/uses st_ino, make something up for now. */
 -    if (st->st_ino == 0)
 -      st->st_ino = dav_st_ino++;
+-
+-exit:
 -if (_dav_debug < 0)
 -fprintf(stderr, "*** davStat(%s) rc %d\n%s", path, rc, statstr(st, buf));
--exit:
 -    ctx = fetch_destroy_context(ctx);
 -    return rc;
 -}
@@ -1314,7 +1477,7 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -    int rc = -1;
 -
 -/* HACK: neon really wants collections with trailing '/' */
--    ctx = fetch_create_context(path);
+-    ctx = fetch_create_context(path, st);
 -    if (ctx == NULL) {
 -/* HACK: errno = ??? */
 -      goto exit;
@@ -1325,10 +1488,11 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -      goto exit;
 -    }
 -
--    memset(st, 0, sizeof(*st));
--    st->st_mode = ctx->modes[0];
--    st->st_size = ctx->sizes[0];
--    st->st_mtime = ctx->mtimes[0];
+-    if (st->st_mode == 0)
+-      st->st_mode = (ctx->ac > 1 ? S_IFDIR : S_IFREG);
+-    st->st_size = (ctx->sizes ? ctx->sizes[0] : st->st_size);
+-    st->st_mtime = (ctx->mtimes ? ctx->mtimes[0] : st->st_mtime);
+-    st->st_atime = st->st_ctime = st->st_mtime;       /* HACK */
 -    if (S_ISDIR(st->st_mode)) {
 -      st->st_nlink = 2;
 -      st->st_mode |= 0755;
@@ -1336,7 +1500,7 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -    if (S_ISREG(st->st_mode)) {
 -      st->st_nlink = 1;
 -      st->st_mode |= 0644;
--    } 
+-    }
 -
 -    /* XXX fts(3) needs/uses st_ino, make something up for now. */
 -    if (st->st_ino == 0)
@@ -1362,11 +1526,10 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -}
 -#endif        /* NOTYET */
 -
--/* =============================================================== */
+ /* =============================================================== */
  /*@unchecked@*/
  int avmagicdir = 0x3607113;
-@@ -1475,172 +166,3 @@
+@@ -1660,179 +145,3 @@
  /*@=kepttrans@*/
  }
  /*@=boundswrite@*/
@@ -1409,7 +1572,7 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -    dp = (struct dirent *) avdir->data;
 -    av = (const char **) (dp + 1);
 -    ac = avdir->size;
--    dt = (char *) (av + (ac + 1));
+-    dt = (unsigned char *) (av + (ac + 1));
 -    i = avdir->offset + 1;
 -
 -/*@-boundsread@*/
@@ -1424,8 +1587,8 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -    dp->d_ino = i + 1;                /* W2DO? */
 -    dp->d_reclen = 0;         /* W2DO? */
 -
--#if !defined(hpux) && !defined(sun)
--#if !defined(__APPLE__)
+-#if !(defined(hpux) || defined(__hpux) || defined(sun))
+-#if !defined(__APPLE__) && !defined(__FreeBSD_kernel__) && !defined(__FreeBSD__)
 -    dp->d_off = 0;            /* W2DO? */
 -#endif
 -/*@-boundsread@*/
@@ -1437,7 +1600,7 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -    strncpy(dp->d_name, av[i], sizeof(dp->d_name));
 -if (_dav_debug < 0)
 -fprintf(stderr, "*** davReaddir(%p) %p \"%s\"\n", (void *)avdir, dp, dp->d_name);
--    
+-
 -    return dp;
 -}
 -
@@ -1469,7 +1632,7 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -fprintf(stderr, "*** davOpendir(%s)\n", path);
 -
 -    /* Load DAV collection into argv. */
--    ctx = fetch_create_context(path);
+-    ctx = fetch_create_context(path, NULL);
 -    if (ctx == NULL) {
 -/* HACK: errno = ??? */
 -      return NULL;
@@ -1494,7 +1657,7 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -    /*@-abstract@*/
 -    dp = (struct dirent *) (avdir + 1);
 -    nav = (const char **) (dp + 1);
--    dt = (char *) (nav + (ac + 1));
+-    dt = (unsigned char *) (nav + (ac + 1));
 -    t = (char *) (dt + ac + 1);
 -    /*@=abstract@*/
 -
@@ -1539,10 +1702,29 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.c rpm-4.4.1-no-neon/rpmio/rpmdav.c
 -/*@=kepttrans@*/
 -}
 -/*@=modfilesys@*/
-diff -ur rpm-4.4.1/rpmio/rpmdav.h rpm-4.4.1-no-neon/rpmio/rpmdav.h
---- rpm-4.4.1/rpmio/rpmdav.h   2005-01-17 19:46:27.000000000 +0100
-+++ rpm-4.4.1-no-neon/rpmio/rpmdav.h   2005-06-19 20:39:46.034218000 +0200
-@@ -80,131 +80,6 @@
+-
+-char * davRealpath(const char * path, char * resolved_path)
+-{
+-assert(resolved_path == NULL);        /* XXX no POSIXly broken realpath(3) here. */
+-    /* XXX TODO: handle redirects. For now, just dupe the path. */
+-    return xstrdup(path);
+-}
+--- rpm-4.5/rpmio/rpmdav.h     2007-05-25 20:36:36.000000000 +0300
++++ rpm-4.4.9/rpmio/rpmdav.h   2008-09-04 17:21:50.369579599 +0300
+@@ -46,12 +46,6 @@
+ extern int avmagicdir;
+ #define ISAVMAGIC(_dir) (!memcmp((_dir), &avmagicdir, sizeof(avmagicdir)))
+-/**
+- */
+-/*@unchecked@*/
+-extern int davmagicdir;
+-#define ISDAVMAGIC(_dir) (!memcmp((_dir), &davmagicdir, sizeof(davmagicdir)))
+-
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+@@ -85,133 +79,6 @@
        /*@globals fileSystem, internalState @*/
        /*@modifies fileSystem, internalState @*/;
  
@@ -1564,9 +1746,11 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.h rpm-4.4.1-no-neon/rpmio/rpmdav.h
 - * @retval *str               error msg               
 - * @returns           0 on success
 - */
+-/*@-exportlocal@*/
 -int davResp(urlinfo u, FD_t ctrl, /*@out@*/ /*@null@*/ char *const * str)
 -      /*@globals fileSystem, internalState @*/
 -      /*@modifies ctrl, *str, fileSystem, internalState @*/;
+-/*@=exportlocal@*/
 -
 -/**
 - */
@@ -1674,22 +1858,21 @@ diff -ur rpm-4.4.1/rpmio/rpmdav.h rpm-4.4.1-no-neon/rpmio/rpmdav.h
  #ifdef __cplusplus
  }
  #endif
-diff -ur rpm-4.4.1/rpmio/rpmio.c rpm-4.4.1-no-neon/rpmio/rpmio.c
---- rpm-4.4.1/rpmio/rpmio.c    2005-01-26 04:39:58.000000000 +0100
-+++ rpm-4.4.1-no-neon/rpmio/rpmio.c    2005-06-19 20:34:07.005758160 +0200
-@@ -104,11 +104,6 @@
- /**
-  */
+--- rpm-4.5/rpmio/rpmio.c      2008-09-04 18:04:37.362241187 +0300
++++ rpm-4.5/rpmio/rpmio.c      2008-09-04 18:05:08.695569896 +0300
+@@ -155,11 +155,6 @@
  /*@unchecked@*/
--static int httpTimeoutSecs = TIMEOUT_SECS;
--
+ int _ftp_debug = 0;
 -/**
 - */
 -/*@unchecked@*/
- int _rpmio_debug = 0;
+-int _dav_debug = 0;
+-
+ /* =============================================================== */
  
- /**
-@@ -369,13 +364,6 @@
+ /*@-boundswrite@*/
+@@ -386,13 +381,6 @@
  
      fdstat_enter(fd, FDSTAT_READ);
  /*@-boundswrite@*/
@@ -1703,7 +1886,7 @@ diff -ur rpm-4.4.1/rpmio/rpmio.c rpm-4.4.1-no-neon/rpmio/rpmio.c
        rc = read(fdFileno(fd), buf, (count > fd->bytesRemain ? fd->bytesRemain : count));
  /*@=boundswrite@*/
      fdstat_exit(fd, FDSTAT_READ, rc);
-@@ -403,10 +391,6 @@
+@@ -420,10 +408,6 @@
  
      fdstat_enter(fd, FDSTAT_WRITE);
  /*@-boundsread@*/
@@ -1714,7 +1897,7 @@ diff -ur rpm-4.4.1/rpmio/rpmio.c rpm-4.4.1-no-neon/rpmio/rpmio.c
        rc = write(fdno, buf, (count > fd->bytesRemain ? fd->bytesRemain : count));
  /*@=boundsread@*/
      fdstat_exit(fd, FDSTAT_WRITE, rc);
-@@ -453,11 +437,6 @@
+@@ -470,11 +454,6 @@
      fdSetFdno(fd, -1);
  
      fdstat_enter(fd, FDSTAT_CLOSE);
@@ -1726,7 +1909,7 @@ diff -ur rpm-4.4.1/rpmio/rpmio.c rpm-4.4.1-no-neon/rpmio/rpmio.c
        rc = ((fdno >= 0) ? close(fdno) : -2);
  /*@=branchstate@*/
      fdstat_exit(fd, FDSTAT_CLOSE, rc);
-@@ -509,10 +488,6 @@
+@@ -544,10 +523,6 @@
      FD_ZERO(&wrfds);
  #endif
        
@@ -1737,7 +1920,7 @@ diff -ur rpm-4.4.1/rpmio/rpmio.c rpm-4.4.1-no-neon/rpmio/rpmio.c
      if ((fdno = fdFileno(fd)) < 0)
        return -1;      /* XXX W2DO? */
        
-@@ -564,10 +539,6 @@
+@@ -599,10 +574,6 @@
      FD_ZERO(&rdfds);
  #endif
  
@@ -1748,160 +1931,7 @@ diff -ur rpm-4.4.1/rpmio/rpmio.c rpm-4.4.1-no-neon/rpmio/rpmio.c
      if ((fdno = fdFileno(fd)) < 0)
        return -1;      /* XXX W2DO? */
        
-@@ -1562,152 +1533,6 @@
-     return rc;
- }
--static int httpResp(urlinfo u, FD_t ctrl, /*@out@*/ char ** str)
--      /*@globals fileSystem @*/
--      /*@modifies ctrl, *str, fileSystem @*/
--{
--    int ec = 0;
--    int rc;
--
--    URLSANE(u);
--    rc = checkResponse(u, ctrl, &ec, str);
--
--if (_ftp_debug && !(rc == 0 && (ec == 200 || ec == 201)))
--fprintf(stderr, "*** httpResp: rc %d ec %d\n", rc, ec);
--
--    switch (ec) {
--    case 200:
--    case 201:                 /* 201 Created. */
--      break;
--    case 204:                 /* HACK: if overwriting, 204 No Content. */
--    case 403:                 /* 403 Forbidden. */
--      ctrl->syserrno = EACCES;        /* HACK */
--      rc = FTPERR_UNKNOWN;
--      break;
--    default:
--      rc = FTPERR_FILE_NOT_FOUND;
--      break;
--    }
--    return rc;
--}
--
--static int httpReq(FD_t ctrl, const char * httpCmd, const char * httpArg)
--      /*@globals h_errno, fileSystem, internalState @*/
--      /*@modifies ctrl, fileSystem, internalState @*/
--{
--    urlinfo u;
--    const char * host;
--    const char * path;
--    int port;
--    int rc;
--    char * req;
--    size_t len;
--    int retrying = 0;
--
--assert(ctrl != NULL);
--    u = ctrl->url;
--    URLSANE(u);
--
--    if (((host = (u->proxyh ? u->proxyh : u->host)) == NULL))
--      return FTPERR_BAD_HOSTNAME;
--
--    if ((port = (u->proxyp > 0 ? u->proxyp : u->port)) < 0) port = 80;
--    path = (u->proxyh || u->proxyp > 0) ? u->url : httpArg;
--    /*@-branchstate@*/
--    if (path == NULL) path = "";
--    /*@=branchstate@*/
--
--reopen:
--    /*@-branchstate@*/
--    if (fdFileno(ctrl) >= 0 && (rc = fdWritable(ctrl, 0)) < 1) {
--      /*@-refcounttrans@*/ (void) fdClose(ctrl); /*@=refcounttrans@*/
--    }
--    /*@=branchstate@*/
--
--/*@-usereleased@*/
--    if (fdFileno(ctrl) < 0) {
--      rc = tcpConnect(ctrl, host, port);
--      if (rc < 0)
--          goto errxit2;
--      ctrl = fdLink(ctrl, "open ctrl (httpReq)");
--    }
--
--    len = sizeof("\
--req x HTTP/1.0\r\n\
--User-Agent: rpm/3.0.4\r\n\
--Host: y:z\r\n\
--Accept: text/plain\r\n\
--Transfer-Encoding: chunked\r\n\
--\r\n\
--") + strlen(httpCmd) + strlen(path) + sizeof(VERSION) + strlen(host) + 20;
--
--/*@-boundswrite@*/
--    req = alloca(len);
--    *req = '\0';
--
--  if (!strcmp(httpCmd, "PUT")) {
--    sprintf(req, "\
--%s %s HTTP/1.%d\r\n\
--User-Agent: rpm/%s\r\n\
--Host: %s:%d\r\n\
--Accept: text/plain\r\n\
--Transfer-Encoding: chunked\r\n\
--\r\n\
--",    httpCmd, path, (u->httpVersion ? 1 : 0), VERSION, host, port);
--} else {
--    sprintf(req, "\
--%s %s HTTP/1.%d\r\n\
--User-Agent: rpm/%s\r\n\
--Host: %s:%d\r\n\
--Accept: text/plain\r\n\
--\r\n\
--",    httpCmd, path, (u->httpVersion ? 1 : 0), VERSION, host, port);
--}
--/*@=boundswrite@*/
--
--if (_ftp_debug)
--fprintf(stderr, "-> %s", req);
--
--    len = strlen(req);
--    if (fdWrite(ctrl, req, len) != len) {
--      rc = FTPERR_SERVER_IO_ERROR;
--      goto errxit;
--    }
--
--    /*@-branchstate@*/
--    if (!strcmp(httpCmd, "PUT")) {
--      ctrl->wr_chunked = 1;
--    } else {
--
--      rc = httpResp(u, ctrl, NULL);
--
--      if (rc) {
--          if (!retrying) {    /* not HTTP_OK */
--              retrying = 1;
--              /*@-refcounttrans@*/ (void) fdClose(ctrl); /*@=refcounttrans@*/
--              goto reopen;
--          }
--          goto errxit;
--      }
--    }
--    /*@=branchstate@*/
--
--    ctrl = fdLink(ctrl, "open data (httpReq)");
--    return 0;
--
--errxit:
--    /*@-observertrans@*/
--    fdSetSyserrno(ctrl, errno, ftpStrerror(rc));
--    /*@=observertrans@*/
--errxit2:
--    /*@-branchstate@*/
--    if (fdFileno(ctrl) >= 0)
--      /*@-refcounttrans@*/ (void) fdClose(ctrl); /*@=refcounttrans@*/
--    /*@=branchstate@*/
--    return rc;
--/*@=usereleased@*/
--}
--
- /* XXX DYING: unused */
- void * ufdGetUrlinfo(FD_t fd)
- {
-@@ -2064,29 +1889,6 @@
+@@ -2265,29 +2236,6 @@
            fd->wr_chunked = 0;
        }
        break;
@@ -1931,19 +1961,19 @@ diff -ur rpm-4.4.1/rpmio/rpmio.c rpm-4.4.1-no-neon/rpmio/rpmio.c
      case URL_IS_DASH:
        assert(!(flags & O_RDWR));
        fd = fdDup( ((flags & O_WRONLY) ? STDOUT_FILENO : STDIN_FILENO) );
-@@ -2703,10 +2505,8 @@
+@@ -2911,10 +2859,8 @@
            if (fd->nfps > 0 && fpno == -1 &&
                fd->fps[fd->nfps-1].io == ufdio &&
                fd->fps[fd->nfps-1].fp == fp &&
 -              (fd->fps[fd->nfps-1].fdno >= 0 || fd->req != NULL))
-+              fd->fps[fd->nfps-1].fdno >= 0)
++              (fd->fps[fd->nfps-1].fdno >= 0))
            {
 -              int hadreqpersist = (fd->req != NULL);
 -
                if (fp)
                    rc = fflush(fp);
                fd->nfps--;
-@@ -2716,26 +2516,9 @@
+@@ -2924,26 +2870,9 @@
  /*@-usereleased@*/
                if (fdGetFdno(fd) >= 0)
                    break;
@@ -1970,26 +2000,7 @@ diff -ur rpm-4.4.1/rpmio/rpmio.c rpm-4.4.1-no-neon/rpmio/rpmio.c
                        rc = fclose(fp);
                }
                fdPop(fd);
-@@ -2984,18 +2767,9 @@
-           return NULL;
-       }
-     } else {
--      FILE *fp;
--      int fdno;
--      int isHTTP = 0;
--
-       /* XXX gzdio and bzdio here too */
-       switch (urlIsURL(path)) {
--      case URL_IS_HTTPS:
--      case URL_IS_HTTP:
--      case URL_IS_HKP:
--          isHTTP = 1;
--          /*@fallthrough@*/
-       case URL_IS_PATH:
-       case URL_IS_DASH:
-       case URL_IS_FTP:
-@@ -3003,7 +2777,7 @@
+@@ -3223,7 +3152,7 @@
  if (_rpmio_debug)
  fprintf(stderr, "*** Fopen ufdio path %s fmode %s\n", path, fmode);
            fd = ufdOpen(path, flags, perms);
@@ -1998,23 +2009,16 @@ diff -ur rpm-4.4.1/rpmio/rpmio.c rpm-4.4.1-no-neon/rpmio/rpmio.c
                return fd;
            break;
        default:
-@@ -3012,15 +2786,6 @@
-           return NULL;
-           /*@notreached@*/ break;
+@@ -3234,7 +3163,7 @@
        }
--
--      /* XXX persistent HTTP/1.1 returns the previously opened fp */
--      if (isHTTP && ((fp = fdGetFp(fd)) != NULL) && ((fdno = fdGetFdno(fd)) >= 0 || fd->req != NULL))
--      {
--          /*@+voidabstract@*/
--          fdPush(fd, fpio, fp, fileno(fp));   /* Push fpio onto stack */
--          /*@=voidabstract@*/
--          return fd;
--      }
-     }
-     /*@=branchstate@*/
  
-@@ -3056,10 +2821,6 @@
+       /* XXX persistent HTTP/1.1 returns the previously opened fp */
+-      if (isHTTP && ((fp = fdGetFp(fd)) != NULL) && ((fdno = fdGetFdno(fd)) >= 0 || fd->req != NULL))
++      if (isHTTP && ((fp = fdGetFp(fd)) != NULL) && ((fdno = fdGetFdno(fd)) >= 0))
+       {
+           /*@+voidabstract@*/
+           fdPush(fd, fpio, fp, fileno(fp));   /* Push fpio onto stack */
+@@ -3276,10 +3205,6 @@
      int i, rc = 0;
  
      if (fd == NULL) return -1;
@@ -2025,7 +2029,7 @@ diff -ur rpm-4.4.1/rpmio/rpmio.c rpm-4.4.1-no-neon/rpmio/rpmio.c
      for (i = fd->nfps; rc == 0 && i >= 0; i--) {
  /*@-boundsread@*/
        FDSTACK_t * fps = &fd->fps[i];
-@@ -3094,9 +2855,6 @@
+@@ -3317,9 +3242,6 @@
  {
      int i, rc = -1;
  
@@ -2035,21 +2039,57 @@ diff -ur rpm-4.4.1/rpmio/rpmio.c rpm-4.4.1-no-neon/rpmio/rpmio.c
      for (i = fd->nfps ; rc == -1 && i >= 0; i--) {
  /*@-boundsread@*/
        rc = fd->fps[i].fdno;
-diff -ur rpm-4.4.1/rpmio/rpmio_internal.h rpm-4.4.1-no-neon/rpmio/rpmio_internal.h
---- rpm-4.4.1/rpmio/rpmio_internal.h   2005-02-08 18:14:20.000000000 +0100
-+++ rpm-4.4.1-no-neon/rpmio/rpmio_internal.h   2005-06-19 20:34:07.006758008 +0200
-@@ -152,7 +152,6 @@
- /*@dependent@*/
-     void *    url;            /* ufdio: URL info */
- /*@relnull@*/
--    void *    req;            /* ufdio: HTTP request */
+--- rpm-4.5/rpmio/librpmio.vers~       2008-07-09 12:38:31.000000000 +0300
++++ rpm-4.5/rpmio/librpmio.vers        2008-09-04 17:52:56.158976430 +0300
+@@ -29,25 +29,6 @@
+     Chmod;
+     Chown;
+     Chroot;
+-    davClose;
+-    davClosedir;
+-    _dav_debug;
+-    davLstat;
+-    davmagicdir;
+-    davMkdir;
+-    davOpen;
+-    davOpendir;
+-    davRead;
+-    davReaddir;
+-    davRealpath;
+-    davRename;
+-    davReq;
+-    davResp;
+-    davRmdir;
+-    davSeek;
+-    davStat;
+-    davUnlink;
+-    davWrite;
+     delMacro;
+     expandMacros;
+     Fclose;
+--- rpm-4.5/lib/poptALL.c~     2007-10-23 18:53:08.000000000 +0300
++++ rpm-4.5/lib/poptALL.c      2008-09-04 17:53:21.845642132 +0300
+@@ -126,8 +126,6 @@
+ extern int _ftp_debug;
+ /*@unchecked@*/
+ extern int _av_debug;
+-/*@unchecked@*/
+-extern int _dav_debug;
  
-     int               rd_timeoutsecs; /* ufdRead: per FD_t timer */
-     ssize_t   bytesRemain;    /* ufdio: */
-diff -ur rpm-4.4.1/rpmio/rpmrpc.c rpm-4.4.1-no-neon/rpmio/rpmrpc.c
---- rpm-4.4.1/rpmio/rpmrpc.c   2005-01-26 06:16:09.000000000 +0100
-+++ rpm-4.4.1-no-neon/rpmio/rpmrpc.c   2005-06-19 20:34:07.008757704 +0200
-@@ -91,10 +91,6 @@
+ /*@unchecked@*/
+ extern int noLibio;
+@@ -424,8 +422,6 @@
+       N_("debug FTP/HTTP data stream"), NULL},
+  { "avdebug", '\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &_av_debug, -1,
+       N_("debug argv collections"), NULL},
+- { "davdebug", '\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &_dav_debug, -1,
+-      N_("debug WebDAV data stream"), NULL},
+  { "hdrdebug", '\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &_hdr_debug, -1,
+       NULL, NULL},
+  { "miredebug", '\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &_mire_debug, -1,
+--- rpm-4.5/rpmio/rpmrpc.c     2008-09-04 17:56:39.132287618 +0300
++++ rpm-4.5/rpmio/rpmrpc.c     2008-09-04 17:57:38.618948392 +0300
+@@ -78,10 +78,6 @@
      case URL_IS_FTP:
        return ftpMkdir(path, mode);
        /*@notreached@*/ break;
@@ -2060,7 +2100,7 @@ diff -ur rpm-4.4.1/rpmio/rpmrpc.c rpm-4.4.1-no-neon/rpmio/rpmrpc.c
      case URL_IS_PATH:
        path = lpath;
        /*@fallthrough@*/
-@@ -118,14 +114,6 @@
+@@ -105,15 +101,6 @@
      case URL_IS_FTP:
        return ftpChdir(path);
        /*@notreached@*/ break;
@@ -2069,13 +2109,14 @@ diff -ur rpm-4.4.1/rpmio/rpmrpc.c rpm-4.4.1-no-neon/rpmio/rpmrpc.c
 -#ifdef        NOTYET
 -      return davChdir(path);
 -#else
+-      errno = EINVAL;         /* XXX W2DO? */
 -      return -2;
 -#endif
 -      /*@notreached@*/ break;
      case URL_IS_PATH:
        path = lpath;
        /*@fallthrough@*/
-@@ -149,10 +137,6 @@
+@@ -138,10 +125,6 @@
      case URL_IS_FTP:
        return ftpRmdir(path);
        /*@notreached@*/ break;
@@ -2086,7 +2127,7 @@ diff -ur rpm-4.4.1/rpmio/rpmrpc.c rpm-4.4.1-no-neon/rpmio/rpmrpc.c
      case URL_IS_PATH:
        path = lpath;
        /*@fallthrough@*/
-@@ -180,10 +164,6 @@
+@@ -245,10 +228,6 @@
  
      oldut = urlPath(oldpath, &oe);
      switch (oldut) {
@@ -2097,7 +2138,7 @@ diff -ur rpm-4.4.1/rpmio/rpmrpc.c rpm-4.4.1-no-neon/rpmio/rpmrpc.c
      case URL_IS_FTP:          /* XXX WRONG WRONG WRONG */
      case URL_IS_PATH:
      case URL_IS_UNKNOWN:
-@@ -278,10 +258,6 @@
+@@ -343,10 +322,6 @@
      case URL_IS_FTP:
        return ftpUnlink(path);
        /*@notreached@*/ break;
@@ -2108,7 +2149,7 @@ diff -ur rpm-4.4.1/rpmio/rpmrpc.c rpm-4.4.1-no-neon/rpmio/rpmrpc.c
      case URL_IS_PATH:
        path = lpath;
        /*@fallthrough@*/
-@@ -1280,10 +1256,6 @@
+@@ -1354,10 +1329,6 @@
      case URL_IS_FTP:
        return ftpStat(path, st);
        /*@notreached@*/ break;
@@ -2119,7 +2160,7 @@ diff -ur rpm-4.4.1/rpmio/rpmrpc.c rpm-4.4.1-no-neon/rpmio/rpmrpc.c
      case URL_IS_PATH:
        path = lpath;
        /*@fallthrough@*/
-@@ -1309,10 +1281,6 @@
+@@ -1384,10 +1355,6 @@
      case URL_IS_FTP:
        return ftpLstat(path, st);
        /*@notreached@*/ break;
@@ -2130,7 +2171,7 @@ diff -ur rpm-4.4.1/rpmio/rpmrpc.c rpm-4.4.1-no-neon/rpmio/rpmrpc.c
      case URL_IS_PATH:
        path = lpath;
        /*@fallthrough@*/
-@@ -1336,14 +1304,6 @@
+@@ -1630,14 +1597,6 @@
      case URL_IS_FTP:
        return ftpReadlink(path, buf, bufsiz);
        /*@notreached@*/ break;
@@ -2145,7 +2186,7 @@ diff -ur rpm-4.4.1/rpmio/rpmrpc.c rpm-4.4.1-no-neon/rpmio/rpmrpc.c
      case URL_IS_PATH:
        path = lpath;
        /*@fallthrough@*/
-@@ -1487,10 +1447,6 @@
+@@ -1787,10 +1746,6 @@
      case URL_IS_FTP:
        return ftpOpendir(path);
        /*@notreached@*/ break;
@@ -2156,7 +2197,7 @@ diff -ur rpm-4.4.1/rpmio/rpmrpc.c rpm-4.4.1-no-neon/rpmio/rpmrpc.c
      case URL_IS_PATH:
        path = lpath;
        /*@fallthrough@*/
-@@ -1515,8 +1471,6 @@
+@@ -1815,8 +1770,6 @@
        return NULL;
      if (ISAVMAGIC(dir))
        return avReaddir(dir);
@@ -2165,7 +2206,7 @@ diff -ur rpm-4.4.1/rpmio/rpmrpc.c rpm-4.4.1-no-neon/rpmio/rpmrpc.c
      return readdir(dir);
  }
  
-@@ -1528,7 +1482,5 @@
+@@ -1828,8 +1781,6 @@
        return 0;
      if (ISAVMAGIC(dir))
        return avClosedir(dir);
@@ -2173,124 +2214,68 @@ diff -ur rpm-4.4.1/rpmio/rpmrpc.c rpm-4.4.1-no-neon/rpmio/rpmrpc.c
 -      return davClosedir(dir);
      return closedir(dir);
  }
-diff -ur rpm-4.4.1/rpmio/tget.c rpm-4.4.1-no-neon/rpmio/tget.c
---- rpm-4.4.1/rpmio/tget.c     2004-11-19 17:52:58.000000000 +0100
-+++ rpm-4.4.1-no-neon/rpmio/tget.c     2005-06-19 20:34:07.009757552 +0200
-@@ -9,7 +9,6 @@
- static int _debug = 0;
  
--int noNeon;
- #define       HTTPSPATH       "https://localhost/test.txt"
- #define       HTTPPATH        "http://localhost/test.txt"
-@@ -40,8 +39,6 @@
-  { "debug", 'd', POPT_ARG_VAL,        &_debug, -1,            NULL, NULL },
-  { "ftpdebug", '\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &_ftp_debug, -1,
-       N_("debug protocol data stream"), NULL},
-- { "noneon", '\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &noNeon, 1,
--      N_("disable use of libneon for HTTP"), NULL},
-  { "rpmiodebug", '\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &_rpmio_debug, -1,
-       N_("debug rpmio I/O"), NULL},
-  { "urldebug", '\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &_url_debug, -1,
-diff -ur rpm-4.4.1/rpmio/tglob.c rpm-4.4.1-no-neon/rpmio/tglob.c
---- rpm-4.4.1/rpmio/tglob.c    2004-11-19 17:53:05.000000000 +0100
-+++ rpm-4.4.1-no-neon/rpmio/tglob.c    2005-06-19 20:34:07.010757400 +0200
-@@ -9,7 +9,6 @@
- static int _debug = 0;
--int noNeon;
- #define       HTTPSPATH       "https://localhost/rawhide/test/*.rpm"
- #if 0
-@@ -52,8 +51,6 @@
-  { "debug", 'd', POPT_ARG_VAL,        &_debug, -1,            NULL, NULL },
-  { "ftpdebug", '\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &_ftp_debug, -1,
-       N_("debug protocol data stream"), NULL},
-- { "noneon", '\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &noNeon, 1,
--      N_("disable use of libneon for HTTP"), NULL},
-  { "rpmiodebug", '\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &_rpmio_debug, -1,
-       N_("debug rpmio I/O"), NULL},
-  { "urldebug", '\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &_url_debug, -1,
-diff -ur rpm-4.4.1/rpmio/thkp.c rpm-4.4.1-no-neon/rpmio/thkp.c
---- rpm-4.4.1/rpmio/thkp.c     2005-01-04 17:35:12.000000000 +0100
-+++ rpm-4.4.1-no-neon/rpmio/thkp.c     2005-06-19 20:34:07.012757096 +0200
-@@ -10,7 +10,6 @@
- static int _debug = 0;
- static int _printing = 0;
--int noNeon;
- #if 0
- #define       HKPPATH         "hkp://pgp.mit.edu:11371/pks/lookup?op=get&search=0xF5C75256"
-@@ -95,8 +94,6 @@
-       N_("debug protocol data stream"), NULL},
-  { "ftpdebug", '\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &_ftp_debug, -1,
-       N_("debug protocol data stream"), NULL},
-- { "noneon", '\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &noNeon, 1,
--      N_("disable use of libneon for HTTP"), NULL},
-  { "rpmiodebug", '\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &_rpmio_debug, -1,
-       N_("debug rpmio I/O"), NULL},
-  { "urldebug", '\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &_url_debug, -1,
-diff -ur rpm-4.4.1/rpmio/tput.c rpm-4.4.1-no-neon/rpmio/tput.c
---- rpm-4.4.1/rpmio/tput.c     2004-11-19 17:53:11.000000000 +0100
-+++ rpm-4.4.1-no-neon/rpmio/tput.c     2005-06-19 20:34:07.013756944 +0200
-@@ -9,7 +9,6 @@
- static int _debug = 0;
--int noNeon;
- #define       HTTPSPATH       "https://localhost/rawhide/toad/tput.txt"
- #define       HTTPPATH        "http://localhost/rawhide/toad/tput.txt"
-@@ -100,8 +99,6 @@
-  { "debug", 'd', POPT_ARG_VAL,        &_debug, -1,            NULL, NULL },
-  { "ftpdebug", '\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &_ftp_debug, -1,
-       N_("debug protocol data stream"), NULL},
-- { "noneon", '\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &noNeon, 1,
--      N_("disable use of libneon for HTTP"), NULL},
-  { "rpmiodebug", '\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &_rpmio_debug, -1,
-       N_("debug rpmio I/O"), NULL},
-  { "urldebug", '\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &_url_debug, -1,
-diff -ur rpm-4.4.1/rpmio/tring.c rpm-4.4.1-no-neon/rpmio/tring.c
---- rpm-4.4.1/rpmio/tring.c    2004-11-28 21:41:04.000000000 +0100
-+++ rpm-4.4.1-no-neon/rpmio/tring.c    2005-06-19 20:34:07.013756944 +0200
-@@ -5,7 +5,6 @@
+@@ -1852,14 +1803,6 @@
+     case URL_IS_FTP:
+       return ftpRealpath(path, resolved_path);
+       /*@notreached@*/ break;
+-    case URL_IS_HTTPS:        
+-    case URL_IS_HTTP:
+-    case URL_IS_HKP:
+-#ifdef WITH_NEON
+-      return davRealpath(path, resolved_path);
+-      /*@notreached@*/ break;
+-#endif
+-      /*@fallthrough@*/
+     default:
+       return xstrdup(path);
+       /*@notreached@*/ break;
+--- rpm-4.5/./rpmio/rpmio_internal.h~  2008-06-10 02:19:26.000000000 +0300
++++ rpm-4.5/./rpmio/rpmio_internal.h   2008-09-04 18:00:31.015598325 +0300
+@@ -182,7 +182,6 @@
+ /*@dependent@*/
+     void *    url;            /* ufdio: URL info */
+ /*@relnull@*/
+-    void *    req;            /* ufdio: HTTP request */
  
- static int printing = 1;
- static int _debug = 0;
--int noNeon;
+     int               rd_timeoutsecs; /* ufdRead: per FD_t timer */
+     ssize_t   bytesRemain;    /* ufdio: */
+--- rpm-4.5/rpmio/rpmurl.h~    2008-06-10 02:19:26.000000000 +0300
++++ rpm-4.5/rpmio/rpmurl.h     2008-09-04 18:14:00.546141703 +0300
+@@ -54,15 +54,6 @@
+ /*@relnull@*/
+     FD_t data;                        /*!< per-xfer data channel */
  
- static struct poptOption optionsTable[] = {
-  { "print", 'p', POPT_ARG_VAL,        &printing, 1,           NULL, NULL },
-@@ -13,8 +12,6 @@
-  { "debug", 'd', POPT_ARG_VAL,        &_debug, -1,            NULL, NULL },
-  { "ftpdebug", '\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &_ftp_debug, -1,
-       N_("debug protocol data stream"), NULL},
-- { "noneon", '\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &noNeon, 1,
--      N_("disable use of libneon for HTTP"), NULL},
-  { "rpmiodebug", '\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &_rpmio_debug, -1,
-       N_("debug rpmio I/O"), NULL},
-  { "urldebug", '\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &_url_debug, -1,
-diff -ur rpm-4.4.1/rpmio/url.c rpm-4.4.1-no-neon/rpmio/url.c
---- rpm-4.4.1/rpmio/url.c      2004-11-28 21:41:31.000000000 +0100
-+++ rpm-4.4.1-no-neon/rpmio/url.c      2005-06-19 20:37:11.810663544 +0200
-@@ -148,7 +148,6 @@
-     }
-     if (u->sess != NULL) {
-       /* HACK: neon include has prototype. */
--      ne_session_destroy(u->sess);
-       u->sess = NULL;
+-/*@relnull@*/
+-    void * capabilities;      /*!< neon: ne_server_capabilities ptr */
+-/*@relnull@*/
+-    void * lockstore;         /*!< neon: ne_lock_store ptr */
+-/*@relnull@*/
+-    void * sess;              /*!< neon: ne_session ptr */
+-    off_t current;            /*!< neon: current body offset. */
+-    off_t total;              /*!< neon: total body length. */
+-    int connstatus;           /*!< neon: connection status. */
+ #ifdef  REFERENCE
+ typedef enum {
+     ne_conn_namelookup,       /* lookup up hostname (info = hostname) */
+--- rpm-4.5/rpmio/url.c~       2008-06-10 02:19:26.000000000 +0300
++++ rpm-4.5/rpmio/url.c        2008-09-04 20:05:19.011716915 +0300
+@@ -134,7 +134,6 @@
+                       (u->scheme ? u->scheme : ""));
+       /*@=usereleased@*/
      }
+-    xx = davFree(u);
      u->buf = _free(u->buf);
-@@ -352,9 +351,6 @@
- } urlstrings[] = {
-     { "file://",      URL_IS_PATH },
-     { "ftp://",               URL_IS_FTP },
--    { "hkp://",               URL_IS_HKP },
--    { "http://",      URL_IS_HTTP },
--    { "https://",     URL_IS_HTTPS },
-     { "-",            URL_IS_DASH },
-     { NULL,           URL_IS_UNKNOWN }
- };
+     u->url = _free(u->url);
+     u->scheme = _free((void *)u->scheme);
+--- rpm-4.5/perl/Makefile.PL.in~       2008-10-05 01:31:09.000000000 +0300
++++ rpm-4.5/perl/Makefile.PL.in        2008-10-05 01:32:12.688278120 +0300
+@@ -12,7 +12,7 @@
+     'NAME'            => 'RPM',
+     'VERSION_FROM'    => 'RPM.pm', # finds $VERSION
+     'PREREQ_PM'               => {}, # e.g., Module::Name => 1.1
+-    'LIBS'            => [join(' ', @ldaddp) . ' ' . join(' ', @ldadd) . ' @LIBS@ @WITH_POPT_LIB@ @WITH_BEECRYPT_LIB@ -lneon'],
++    'LIBS'            => [join(' ', @ldaddp) . ' ' . join(' ', @ldadd) . ' @LIBS@ @WITH_POPT_LIB@ @WITH_BEECRYPT_LIB@'],
+     'DEFINE'          => join(" ", @defines), # e.g., '-DHAVE_SOMETHING'
+     'INC' => join(' ', map { '-I@top_srcdir@/'. $_ } @libdir) . ' @CPPFLAGS@',
+     'TYPEMAPS'          => [ 'typemap' ],
This page took 0.518582 seconds and 4 git commands to generate.