~andersk/ubuntu/oneiric/openssl/spurious-reboot

« back to all changes in this revision

Viewing changes to crypto/bio/b_sock.c

  • Committer: Package Import Robot
  • Author(s): Steve Beattie
  • Date: 2011-09-14 22:06:03 UTC
  • mfrom: (11.1.23 sid)
  • Revision ID: package-import@ubuntu.com-20110914220603-tsuxw8z3kt4lx9oc
Tags: 1.0.0e-2ubuntu1
* Resynchronise with Debian, fixes CVE-2011-1945, CVE-2011-3207 and
  CVE-2011-3210 (LP: #850608). Remaining changes:
  - debian/libssl1.0.0.postinst:
    + Display a system restart required notification bubble on libssl1.0.0
      upgrade.
    + Use a different priority for libssl1.0.0/restart-services depending
      on whether a desktop, or server dist-upgrade is being performed.
  - debian/{libssl1.0.0-udeb.dirs, control, rules}: Create
    libssl1.0.0-udeb, for the benefit of wget-udeb (no wget-udeb package
    in Debian).
  - debian/{libcrypto1.0.0-udeb.dirs, libssl1.0.0.dirs, libssl1.0.0.files,
    rules}: Move runtime libraries to /lib, for the benefit of
    wpasupplicant.
  - debian/patches/aesni.patch: Backport Intel AES-NI support, now from
    http://rt.openssl.org/Ticket/Display.html?id=2065 rather than the
    0.9.8 variant.
  - debian/patches/Bsymbolic-functions.patch: Link using
    -Bsymbolic-functions.
  - debian/patches/perlpath-quilt.patch: Don't change perl #! paths under
    .pc.
  - debian/rules:
    + Don't run 'make test' when cross-building.
    + Use host compiler when cross-building.  Patch from Neil Williams.
    + Don't build for processors no longer supported: i486, i586 (on
      i386), v8 (on sparc).
    + Fix Makefile to properly clean up libs/ dirs in clean target.
    + Replace duplicate files in the doc directory with symlinks.
* debian/libssl1.0.0.postinst: only display restart notification on
  servers (LP: #244250)

Show diffs side-by-side

added added

removed removed

Lines of Context:
551
551
#ifdef __DJGPP__
552
552
        i=ioctlsocket(fd,type,(char *)arg);
553
553
#else
554
 
        i=ioctlsocket(fd,type,arg);
 
554
# if defined(OPENSSL_SYS_VMS)
 
555
        /* 2011-02-18 SMS.
 
556
         * VMS ioctl() can't tolerate a 64-bit "void *arg", but we
 
557
         * observe that all the consumers pass in an "unsigned long *",
 
558
         * so we arrange a local copy with a short pointer, and use
 
559
         * that, instead.
 
560
         */
 
561
#  if __INITIAL_POINTER_SIZE == 64
 
562
#   define ARG arg_32p
 
563
#   pragma pointer_size save
 
564
#   pragma pointer_size 32
 
565
        unsigned long arg_32;
 
566
        unsigned long *arg_32p;
 
567
#   pragma pointer_size restore
 
568
        arg_32p = &arg_32;
 
569
        arg_32 = *((unsigned long *) arg);
 
570
#  else /* __INITIAL_POINTER_SIZE == 64 */
 
571
#   define ARG arg
 
572
#  endif /* __INITIAL_POINTER_SIZE == 64 [else] */
 
573
# else /* defined(OPENSSL_SYS_VMS) */
 
574
#  define ARG arg
 
575
# endif /* defined(OPENSSL_SYS_VMS) [else] */
 
576
 
 
577
        i=ioctlsocket(fd,type,ARG);
555
578
#endif /* __DJGPP__ */
556
579
        if (i < 0)
557
580
                SYSerr(SYS_F_IOCTLSOCKET,get_last_socket_error());
660
683
         * note that commonly IPv6 wildchard socket can service
661
684
         * IPv4 connections just as well...  */
662
685
        memset(&hint,0,sizeof(hint));
 
686
        hint.ai_flags = AI_PASSIVE;
663
687
        if (h)
664
688
                {
665
689
                if (strchr(h,':'))
672
696
#endif
673
697
                        }
674
698
                else if (h[0]=='*' && h[1]=='\0')
 
699
                        {
 
700
                        hint.ai_family = AF_INET;
675
701
                        h=NULL;
 
702
                        }
676
703
                }
677
704
 
678
705
        if ((*p_getaddrinfo.f)(h,p,&hint,&res)) break;