Ticket #191: jabberd.patch

File jabberd.patch, 9.2 KB (added by pogma, 11 months ago)
  • configure.ac

    old new  
    9294                  fcntl.h \ 
    9395                  netinet/in.h \ 
    9496                  signal.h \ 
     97                  stdarg.h \ 
    9598                  stdint.h \ 
    9699                  stdlib.h \ 
    97100                  string.h \ 
     
    142145AC_FUNC_CLOSEDIR_VOID 
    143146AC_REPLACE_FNMATCH 
    144147AC_FUNC_FORK 
    145 AC_PROG_GCC_TRADITIONAL 
    146 AC_FUNC_MALLOC 
    147148AC_FUNC_MEMCMP 
    148149AC_FUNC_MKTIME 
    149 AC_FUNC_REALLOC 
    150150AC_FUNC_SELECT_ARGTYPES 
    151151AC_TYPE_SIGNAL 
    152152AC_FUNC_STAT 
     
    209209  fi 
    210210fi 
    211211 
     212AC_SEARCH_LIBS(inet_ntop, nsl,[ 
     213    AC_DEFINE(HAVE_INET_NTOP, 1, 
     214    [Define to 1 if you have the `inet_ntop' function.])]) 
     215 
     216dnl ** Check for inet_ntop 
     217AC_SEARCH_LIBS(inet_pton, nsl,[ 
     218    AC_DEFINE(HAVE_INET_PTON, 1, 
     219    [Define to 1 if you have the `inet_pton' function.])]) 
     220 
    212221# windows has different names for a few basic things 
    213222if test "x-$ac_cv_func_getpid" != "x-yes" -a "x-$ac_cv_func__getpid" = "x-yes" ; then 
    214223    AC_DEFINE(getpid,_getpid,[Define to a function than can provide getpid(2) functionality.]) 
     
    296305    AC_MSG_ERROR([no DNS resolver interface (res_query or DnsQuery) found]) 
    297306fi 
    298307 
    299 # inet_ntop/inet_pton have been seen in -lnsl, and sometimes not at all 
    300 AC_CHECK_FUNC(inet_ntop, ,[AC_CHECK_LIB(nsl, inet_ntop)]) 
    301 unset ac_cv_func_inet_ntop 
    302 AC_CHECK_FUNCS(inet_ntop inet_pton) 
    303  
    304 # some glibcs have broken sockaddr_storage members 
    305 if test "x-$ac_cv_type_struct_sockaddr_storage" = "x-yes" ; then 
    306     AC_MSG_CHECKING(for broken __ss_family member in struct sockaddr_storage) 
    307     AC_COMPILE_IFELSE([AC_LANG_PROGRAM(_IP6_INCLUDES, 
    308                                        [[do { 
    309                                              struct sockaddr_storage s; 
    310                                              s.__ss_family = 0; 
    311                                          } while(0)]])], 
    312                       [AC_MSG_RESULT(yes) 
    313                        AC_DEFINE(ss_family, __ss_family, 
    314                                  [Define to '__ss_family' if 'struct sockaddr_storage' defines '__ss_family' instead of 'ss_family'.])], 
    315                       AC_MSG_RESULT(no)) 
    316  
    317     AC_MSG_CHECKING(for broken __ss_len member in struct sockaddr_storage) 
    318     AC_COMPILE_IFELSE([AC_LANG_PROGRAM(_IP6_INCLUDES, 
    319                                        [[do { 
    320                                              struct sockaddr_storage s; 
    321                                              s.__ss_len = 0; 
    322                                          } while(0)]])], 
    323                       [AC_MSG_RESULT(yes) 
    324                        AC_DEFINE(ss_len, __ss_len, 
    325                                  [Define to '__ss_len' if 'struct sockaddr_storage' defines '__ss_len' instead of 'ss_len'.])], 
    326                       AC_MSG_RESULT(no)) 
    327 fi 
    328  
    329  
    330308# syslog 
    331309if test "x-$ac_cv_header_syslog_h" = "x-yes" ; then 
    332310    AC_CHECK_FUNCS(syslog vsyslog) 
     
    366344                  [AC_MSG_RESULT(no) 
    367345                   AC_DEFINE(HAVE_BROKEN_VSNPRINTF,1,[Define to 1 if 'vsnprintf' cannot handle NULL arguments.])]) 
    368346fi 
    369  
     347TYPE_SOCKLEN_T 
    370348# 
    371349# Checks for libraries. 
    372350 
     
    584562# PostgreSQL 
    585563AC_ARG_ENABLE([pgsql], 
    586564        AC_HELP_STRING([--enable-pgsql[=DIR]], [enable PostgreSQL auth/reg/storage support (no)]), 
    587         [ enable_pgsql="$enableval" have_pgsql=no  PGSQL_PREFIX="enableval"], 
     565        [ enable_pgsql="$enableval" have_pgsql=no  PGSQL_PREFIX="$enableval"], 
    588566        [ enable_pgsql=no           have_pgsql=no ]) 
    589567if test "x-$enable_pgsql" != "x-no" ; then 
    590568        if test "$PGSQL_PREFIX" = "yes" ; then 
     
    836814# these types are sometimes missing 
    837815AC_CHECK_TYPES([in_port_t, sa_family_t, struct sockaddr_storage, struct sockaddr_in6, struct in6_addr],,, _IP6_INCLUDES) 
    838816 
     817# some glibcs have broken sockaddr_storage members 
     818if test "x-$ac_cv_type_struct_sockaddr_storage" = "x-yes" ; then 
     819    AC_MSG_CHECKING(for broken __ss_family member in struct sockaddr_storage) 
     820    AC_COMPILE_IFELSE([AC_LANG_PROGRAM(_IP6_INCLUDES, 
     821                                       [[do { 
     822                                             struct sockaddr_storage s; 
     823                                             s.__ss_family = 0; 
     824                                         } while(0)]])], 
     825                      [AC_MSG_RESULT(yes) 
     826                       AC_DEFINE(ss_family, __ss_family, 
     827                                 [Define to '__ss_family' if 'struct sockaddr_storage' defines '__ss_family' instead of 'ss_family'.])], 
     828                      AC_MSG_RESULT(no)) 
     829 
     830    AC_MSG_CHECKING(for broken __ss_len member in struct sockaddr_storage) 
     831    AC_COMPILE_IFELSE([AC_LANG_PROGRAM(_IP6_INCLUDES, 
     832                                       [[do { 
     833                                             struct sockaddr_storage s; 
     834                                             s.__ss_len = 0; 
     835                                         } while(0)]])], 
     836                      [AC_MSG_RESULT(yes) 
     837                       AC_DEFINE(ss_len, __ss_len, 
     838                                 [Define to '__ss_len' if 'struct sockaddr_storage' defines '__ss_len' instead of 'ss_len'.])], 
     839                      AC_MSG_RESULT(no)) 
     840fi 
     841 
     842 
    839843# 
    840844# mio backend selection 
    841845 
  • util/sha1.h

    old new  
    4848 
    4949#else 
    5050 
    51 #include <stdint.h> 
     51#include <inttypes.h> 
    5252 
    5353typedef struct sha1_state_s { 
    5454  uint32_t H[5]; 
  • acinclude.m4

    old new  
    491491EOF 
    492492]) 
    493493 
     494dnl Check for socklen_t: historically on BSD it is an int, and in 
     495dnl POSIX 1g it is a type of its own, but some platforms use different 
     496dnl types for the argument to getsockopt, getpeername, etc.  So we 
     497dnl have to test to find something that will work. 
     498AC_DEFUN([TYPE_SOCKLEN_T], 
     499[ 
     500   AC_CHECK_TYPE([socklen_t], ,[ 
     501      AC_MSG_CHECKING([for socklen_t equivalent]) 
     502      AC_CACHE_VAL([socklen_t_equiv], 
     503      [ 
     504         # Systems have either "struct sockaddr *" or 
     505         # "void *" as the second argument to getpeername 
     506         socklen_t_equiv= 
     507         for arg2 in "struct sockaddr" void; do 
     508            for t in int size_t unsigned long "unsigned long"; do 
     509               AC_TRY_COMPILE([ 
     510                  #include <sys/types.h> 
     511                  #include <sys/socket.h> 
     512 
     513                  int getpeername (int, $arg2 *, $t *); 
     514               ],[ 
     515                  $t len; 
     516                  getpeername(0,0,&len); 
     517               ],[ 
     518                  socklen_t_equiv="$t" 
     519                  break 
     520               ]) 
     521            done 
     522         done 
     523 
     524         if test "x$socklen_t_equiv" = x; then 
     525            AC_MSG_ERROR([Cannot find a type to use in place of socklen_t]) 
     526         fi 
     527      ]) 
     528      AC_MSG_RESULT($socklen_t_equiv) 
     529      AC_DEFINE_UNQUOTED(socklen_t, $socklen_t_equiv, 
     530                        [type to use in place of socklen_t if not defined])], 
     531      [#include <sys/types.h> 
     532#include <sys/socket.h>]) 
     533]) 
     534 
    494535dnl quote from SunOS-5.8 sys/inttypes.h: 
    495536dnl Use at your own risk.  As of February 1996, the committee is squarely 
    496537dnl behind the fixed sized types; the "least" and "fast" types are still being 
  • subst/subst.h

    old new  
    2626#ifdef HAVE_CONFIG_H 
    2727# include <config.h> 
    2828#endif 
    29  
     29#if defined (HAVE_STDARG_H) 
     30#include <stdarg.h> 
     31#endif 
    3032/* jabberd2 Windows DLL */ 
    3133#ifndef JABBERD2_API 
    3234# ifdef _WIN32 
  • mio/mio.h

    old new  
    2424#ifdef HAVE_CONFIG_H 
    2525# include <config.h> 
    2626#endif 
    27  
     27#include "util/inaddr.h" 
    2828#include "ac-stdint.h" 
    2929 
    3030/* jabberd2 Windows DLL */ 
  • c2s/c2s.c

    old new  
    962962                        break; 
    963963                } 
    964964            if(bres == NULL) { 
     965                jid_t jid; 
     966                bres_t tres; 
     967 
    965968                /* if it's a failure, just drop it */ 
    966969                if(nad_find_attr(nad, 1, ns, "failed", NULL) >= 0) { 
    967970                    nad_free(nad); 
     
    969972                } 
    970973 
    971974                /* build temporary resource to close session for */ 
    972                 jid_t jid = jid_new(sess->c2s->pc, sess->s->auth_id, -1); 
    973                 bres_t tres = (bres_t) calloc(1, sizeof(struct bres_st)); 
     975                jid = jid_new(sess->c2s->pc, sess->s->auth_id, -1); 
     976                tres = (bres_t) calloc(1, sizeof(struct bres_st)); 
    974977                tres->jid = jid; 
    975978                sprintf(tres->c2s_id, "%d", sess->s->tag); 
    976979                snprintf(tres->sm_id, 41, "%.*s", NAD_AVAL_L(nad, smid), NAD_AVAL(nad, smid));