pidgin/pidgin

Implement SNI support for the gnutls SSL plugin.
release-2.x.y
2019-12-16, Mihai Moldovan
6dba8046e1b1
Implement SNI support for the gnutls SSL plugin.

Note that gnutls is picky in regard to what it accepts as the server name - it
MUST be a domain name. IP addresses are not supported according to the
documentation.

Hence, filter out IP addresses and hope that whatever is not recognized as
such an address is actually a domain name. This will probably fail for more
exotic addresses (especially in IPv6 realm), but wiring up a full-blown parser
is too much effort and SSL plugins are not part of purple-3 anyway.

Fixes #17300
/*
* camdata.h
* basecame
*
* Created by CS194 on Mon Apr 26 2004.
* Copyright (c) 2004 __MyCompanyName__. All rights reserved.
*
*/
#pragma once
#ifdef __APPLE_CC__
// #include <Carbon/Carbon.h>
#include <QuickTime/QuickTime.h>
#else
// #include <Carbon.h>
#include <QuickTime.h>
#endif
typedef struct
{
GWorldPtr gw;
GWorldPtr overlay;
GWorldPtr histoWorld;
Rect bounds;
WindowPtr window;
ImageSequence drawSeq;
UInt32 redMin, redMax;
UInt32 greenMin, greenMax;
UInt32 blueMin, blueMax;
long selectedIndex;
OSType effect;
TimeBase effectTimeBase;
QTAtomContainer effectParams;
ImageDescriptionHandle effectDesc, effectDesc2;
} mungDataRecord;
typedef mungDataRecord *mungDataPtr;
OSErr DisposeMungData(void);
OSErr InitializeMungData(Rect bounds);
void SetCurrentClamp(short index);
//void BlitOneMungData(mungDataRecord *theMungData);
//void AdjustColorClampEndpoints(short hMouseCoord);
//void IncrementCurrentClamp(void);
//void DecrementCurrentClamp(void);
void SetMungDataColorDefaults(void);
CGrafPtr GetMungDataWindowPort(void);
GWorldPtr GetMungDataOffscreen(void);
//OSType GetMungDataEffectType(void);
//long GetCurrentClamp(void);
//void SetCurrentClamp(short index);
void GetMungDataBoundsRect(Rect *movieRect);
//CGrafPtr GetMungDataWindowPort(void);
void SetMungDataDrawSeq(ImageSequence theDrawSeq);
//ImageSequence GetMungDataDrawSeq(void);