diff options
author | James Meyer <james.meyer@operamail.com> | 2013-02-19 21:10:18 (GMT) |
---|---|---|
committer | James Meyer <james.meyer@operamail.com> | 2013-02-19 21:10:18 (GMT) |
commit | 2648e999d277eac5c3d331a3609bcc73fafbea71 (patch) | |
tree | 40951fb8e7fdbe28a0baa324ae615055203f1e2e /abs/core/openldap/mutex-end-of-struct-sigsegv.patch | |
parent | c759b5e0c4aa6fc37412b4dee2cf9ad993fd376d (diff) | |
parent | 7e6f7ca174e1af67178dc5293a312a4a733eb095 (diff) | |
download | linhes_pkgbuild-2648e999d277eac5c3d331a3609bcc73fafbea71.zip linhes_pkgbuild-2648e999d277eac5c3d331a3609bcc73fafbea71.tar.gz linhes_pkgbuild-2648e999d277eac5c3d331a3609bcc73fafbea71.tar.bz2 |
Merge branch 'testing'
# By James Meyer (1091) and others
# Via James Meyer (5) and others
* testing: (1148 commits)
LinHES-config: during install don't kill off lirc. This keeps the remote active all the way to the finish
Change version numbers to 8.0 to match the release number. LinHES-conifg LinHES-system mythdb-initial runit-scripts supplemental-web
LinHES-conifig: mv_install.py for the last partition don't go all the way to the end. Gotta leave room for gpt tables.
xf86-video-ati: xorg ati driver.
LinHES-config: timezip.py add syncing up of parental lvl passwords and starting level with MBE.
LinHES-system: correct the logic for breaking out of the wmctrl loop. As written it would break out of the inner loop..but not the 60 iteration loop.
e16_theme_settings: remove slide-in prop for new windows. For whatever reason this was preventing mplayer from being positioned correctly for appletrailers.
LinHES-config, mythinstall: change case of hd_pvr and serial to all lower refs #902
zilog-firmware: firmware for TX support of the hdpvr and pvr-150 In general I can't recommend anybody using these transmitters but including the firmware just in case someone really wants to
linhes-udev-rules: added hdprv_lirc rule. All of these lirc rules are limited to exactly one device. If more then one device is present then only the last device in init will get the symlink
runit-scripts: fix logging for igdeamon, add support to remote init script so that the blaster is always the first device in the chain. added support specificly for hd_pvr
LinHES-system: add lh_system_restore and lh_system_backup. These scripts are called from the mythmenu. refs #900
iguanair: rebuild with python 2.7
LinHES-system: msg_daemon.py fix init and nasty bug related to timeout. In a nutshell timeout wouldn't work unless a msg without a timeout was called first.
linhes-udev-rules: add rules for mce,streamzap,serial lirc devices.
mythinstall: recompile for matching libs
mythtv: latest .25-fixes and change mythbackup/restore call lh_system_$op to replace mythbackup/mythrestore. mythbackup no longer works correctly with the new windowmanager
linhes-scripts: myth2mp3, myth2x264, myth2xvid: use mythutil to get cutlist
LinHES-config, supplimental-web: Fix proxy numbering for Ceton infiniTV
linhes-system: add additional stuff to the system backup and also introduced an exclude file. The exclude/include files are locate in /home/mythtv/backup_config/
...
Diffstat (limited to 'abs/core/openldap/mutex-end-of-struct-sigsegv.patch')
-rw-r--r-- | abs/core/openldap/mutex-end-of-struct-sigsegv.patch | 293 |
1 files changed, 293 insertions, 0 deletions
diff --git a/abs/core/openldap/mutex-end-of-struct-sigsegv.patch b/abs/core/openldap/mutex-end-of-struct-sigsegv.patch new file mode 100644 index 0000000..e899638 --- /dev/null +++ b/abs/core/openldap/mutex-end-of-struct-sigsegv.patch @@ -0,0 +1,293 @@ + libraries/libldap/init.c | 8 ++- + libraries/libldap/ldap-int.h | 198 ++++++++++++++++++++++-------------------- + 2 files changed, 110 insertions(+), 96 deletions(-) + +diff --git a/libraries/libldap/init.c b/libraries/libldap/init.c +index 39292d2..9d37e64 100644 +--- a/libraries/libldap/init.c ++++ b/libraries/libldap/init.c +@@ -36,7 +36,13 @@ + #include "lutil.h" + + struct ldapoptions ldap_int_global_options = +- { LDAP_UNINITIALIZED, LDAP_DEBUG_NONE LDAP_LDO_MUTEX_NULLARG }; ++ { LDAP_UNINITIALIZED, LDAP_DEBUG_NONE ++ LDAP_LDO_NULLARG ++ LDAP_LDO_CONNECTIONLESS_NULLARG ++ LDAP_LDO_TLS_NULLARG ++ LDAP_LDO_SASL_NULLARG ++ LDAP_LDO_GSSAPI_NULLARG ++ LDAP_LDO_MUTEX_NULLARG }; + + #define ATTR_NONE 0 + #define ATTR_BOOL 1 +diff --git a/libraries/libldap/ldap-int.h b/libraries/libldap/ldap-int.h +index f8e6126..ac6c9e5 100644 +--- a/libraries/libldap/ldap-int.h ++++ b/libraries/libldap/ldap-int.h +@@ -185,29 +185,59 @@ struct ldapoptions { + #define LDAP_TRASHED_SESSION 0xFF + int ldo_debug; + +-#ifdef LDAP_R_COMPILE +- ldap_pvt_thread_mutex_t ldo_mutex; +-#define LDAP_LDO_MUTEX_NULLARG , LDAP_PVT_MUTEX_NULL +-#else +-#define LDAP_LDO_MUTEX_NULLARG +-#endif ++ ber_int_t ldo_version; ++ ber_int_t ldo_deref; ++ ber_int_t ldo_timelimit; ++ ber_int_t ldo_sizelimit; ++ ++ /* per API call timeout */ ++ struct timeval ldo_tm_api; ++ struct timeval ldo_tm_net; ++ ++ LDAPURLDesc *ldo_defludp; ++ int ldo_defport; ++ char* ldo_defbase; ++ char* ldo_defbinddn; /* bind dn */ ++ ++ /* ++ * Per connection tcp-keepalive settings (Linux only, ++ * ignored where unsupported) ++ */ ++ ber_int_t ldo_keepalive_idle; ++ ber_int_t ldo_keepalive_probes; ++ ber_int_t ldo_keepalive_interval; ++ ++ int ldo_refhoplimit; /* limit on referral nesting */ ++ ++ /* LDAPv3 server and client controls */ ++ LDAPControl **ldo_sctrls; ++ LDAPControl **ldo_cctrls; ++ ++ /* LDAP rebind callback function */ ++ LDAP_REBIND_PROC *ldo_rebind_proc; ++ void *ldo_rebind_params; ++ LDAP_NEXTREF_PROC *ldo_nextref_proc; ++ void *ldo_nextref_params; ++ LDAP_URLLIST_PROC *ldo_urllist_proc; ++ void *ldo_urllist_params; ++ ++ /* LDAP connection callback stack */ ++ ldaplist *ldo_conn_cbs; ++ ++ LDAP_BOOLEANS ldo_booleans; /* boolean options */ ++ ++#define LDAP_LDO_NULLARG ,0,0,0,0 ,{0},{0} ,0,0,0,0, 0,0,0,0, 0,0, 0,0,0,0,0,0, 0, 0 + + #ifdef LDAP_CONNECTIONLESS + #define LDAP_IS_UDP(ld) ((ld)->ld_options.ldo_is_udp) + void* ldo_peer; /* struct sockaddr* */ + char* ldo_cldapdn; + int ldo_is_udp; ++#define LDAP_LDO_CONNECTIONLESS_NULLARG ,0,0,0 ++#else ++#define LDAP_LDO_CONNECTIONLESS_NULLARG + #endif + +- /* per API call timeout */ +- struct timeval ldo_tm_api; +- struct timeval ldo_tm_net; +- +- ber_int_t ldo_version; +- ber_int_t ldo_deref; +- ber_int_t ldo_timelimit; +- ber_int_t ldo_sizelimit; +- + #ifdef HAVE_TLS + /* tls context */ + void *ldo_tls_ctx; +@@ -226,16 +256,12 @@ struct ldapoptions { + int ldo_tls_mode; + int ldo_tls_require_cert; + int ldo_tls_impl; +-#ifdef HAVE_OPENSSL_CRL + int ldo_tls_crlcheck; +-#endif ++#define LDAP_LDO_TLS_NULLARG ,0,0,0,{0,0,0,0,0,0,0,0,0},0,0,0,0 ++#else ++#define LDAP_LDO_TLS_NULLARG + #endif + +- LDAPURLDesc *ldo_defludp; +- int ldo_defport; +- char* ldo_defbase; +- char* ldo_defbinddn; /* bind dn */ +- + #ifdef HAVE_CYRUS_SASL + char* ldo_def_sasl_mech; /* SASL Mechanism(s) */ + char* ldo_def_sasl_realm; /* SASL realm */ +@@ -244,6 +270,9 @@ struct ldapoptions { + + /* SASL Security Properties */ + struct sasl_security_properties ldo_sasl_secprops; ++#define LDAP_LDO_SASL_NULLARG ,0,0,0,0,{0} ++#else ++#define LDAP_LDO_SASL_NULLARG + #endif + + #ifdef HAVE_GSSAPI +@@ -253,34 +282,17 @@ struct ldapoptions { + #define LDAP_GSSAPI_OPT_DO_NOT_FREE_GSS_CONTEXT 0x0001 + #define LDAP_GSSAPI_OPT_ALLOW_REMOTE_PRINCIPAL 0x0002 + unsigned ldo_gssapi_options; ++#define LDAP_LDO_GSSAPI_NULLARG ,0,0 ++#else ++#define LDAP_LDO_GSSAPI_NULLARG + #endif + +- /* +- * Per connection tcp-keepalive settings (Linux only, +- * ignored where unsupported) +- */ +- ber_int_t ldo_keepalive_idle; +- ber_int_t ldo_keepalive_probes; +- ber_int_t ldo_keepalive_interval; +- +- int ldo_refhoplimit; /* limit on referral nesting */ +- +- /* LDAPv3 server and client controls */ +- LDAPControl **ldo_sctrls; +- LDAPControl **ldo_cctrls; +- +- /* LDAP rebind callback function */ +- LDAP_REBIND_PROC *ldo_rebind_proc; +- void *ldo_rebind_params; +- LDAP_NEXTREF_PROC *ldo_nextref_proc; +- void *ldo_nextref_params; +- LDAP_URLLIST_PROC *ldo_urllist_proc; +- void *ldo_urllist_params; +- +- /* LDAP connection callback stack */ +- ldaplist *ldo_conn_cbs; +- +- LDAP_BOOLEANS ldo_booleans; /* boolean options */ ++#ifdef LDAP_R_COMPILE ++ ldap_pvt_thread_mutex_t ldo_mutex; ++#define LDAP_LDO_MUTEX_NULLARG , LDAP_PVT_MUTEX_NULL ++#else ++#define LDAP_LDO_MUTEX_NULLARG ++#endif + }; + + +@@ -375,6 +387,46 @@ struct ldap_common { + Sockbuf *ldc_sb; /* socket descriptor & buffer */ + #define ld_sb ldc->ldc_sb + ++ unsigned short ldc_lberoptions; ++#define ld_lberoptions ldc->ldc_lberoptions ++ ++ /* protected by msgid_mutex */ ++ ber_len_t ldc_msgid; ++#define ld_msgid ldc->ldc_msgid ++ ++ /* do not mess with these */ ++ /* protected by req_mutex */ ++ LDAPRequest *ldc_requests; /* list of outstanding requests */ ++ /* protected by res_mutex */ ++ LDAPMessage *ldc_responses; /* list of outstanding responses */ ++#define ld_requests ldc->ldc_requests ++#define ld_responses ldc->ldc_responses ++ ++ /* protected by abandon_mutex */ ++ ber_len_t ldc_nabandoned; ++ ber_int_t *ldc_abandoned; /* array of abandoned requests */ ++#define ld_nabandoned ldc->ldc_nabandoned ++#define ld_abandoned ldc->ldc_abandoned ++ ++ /* unused by libldap */ ++ LDAPCache *ldc_cache; /* non-null if cache is initialized */ ++#define ld_cache ldc->ldc_cache ++ ++ /* do not mess with the rest though */ ++ ++ /* protected by conn_mutex */ ++ LDAPConn *ldc_defconn; /* default connection */ ++#define ld_defconn ldc->ldc_defconn ++ LDAPConn *ldc_conns; /* list of server connections */ ++#define ld_conns ldc->ldc_conns ++ void *ldc_selectinfo;/* platform specifics for select */ ++#define ld_selectinfo ldc->ldc_selectinfo ++ ++ /* ldap_common refcnt - free only if 0 */ ++ /* protected by ldc_mutex */ ++ unsigned int ldc_refcnt; ++#define ld_ldcrefcnt ldc->ldc_refcnt ++ + /* protected by ldo_mutex */ + struct ldapoptions ldc_options; + #define ld_options ldc->ldc_options +@@ -403,66 +455,22 @@ struct ldap_common { + #define ld_urllist_params ld_options.ldo_urllist_params + + #define ld_version ld_options.ldo_version +-#ifdef LDAP_R_COMPILE +-#define ld_ldopts_mutex ld_options.ldo_mutex +-#endif +- +- unsigned short ldc_lberoptions; +-#define ld_lberoptions ldc->ldc_lberoptions +- +- /* protected by msgid_mutex */ +- ber_len_t ldc_msgid; +-#define ld_msgid ldc->ldc_msgid +- +- /* do not mess with these */ +- /* protected by req_mutex */ +- LDAPRequest *ldc_requests; /* list of outstanding requests */ +- /* protected by res_mutex */ +- LDAPMessage *ldc_responses; /* list of outstanding responses */ +-#define ld_requests ldc->ldc_requests +-#define ld_responses ldc->ldc_responses + + #ifdef LDAP_R_COMPILE ++ ldap_pvt_thread_mutex_t ldc_mutex; + ldap_pvt_thread_mutex_t ldc_msgid_mutex; + ldap_pvt_thread_mutex_t ldc_conn_mutex; + ldap_pvt_thread_mutex_t ldc_req_mutex; + ldap_pvt_thread_mutex_t ldc_res_mutex; + ldap_pvt_thread_mutex_t ldc_abandon_mutex; ++#define ld_ldopts_mutex ld_options.ldo_mutex ++#define ld_ldcmutex ldc->ldc_mutex + #define ld_msgid_mutex ldc->ldc_msgid_mutex + #define ld_conn_mutex ldc->ldc_conn_mutex + #define ld_req_mutex ldc->ldc_req_mutex + #define ld_res_mutex ldc->ldc_res_mutex + #define ld_abandon_mutex ldc->ldc_abandon_mutex + #endif +- +- /* protected by abandon_mutex */ +- ber_len_t ldc_nabandoned; +- ber_int_t *ldc_abandoned; /* array of abandoned requests */ +-#define ld_nabandoned ldc->ldc_nabandoned +-#define ld_abandoned ldc->ldc_abandoned +- +- /* unused by libldap */ +- LDAPCache *ldc_cache; /* non-null if cache is initialized */ +-#define ld_cache ldc->ldc_cache +- +- /* do not mess with the rest though */ +- +- /* protected by conn_mutex */ +- LDAPConn *ldc_defconn; /* default connection */ +-#define ld_defconn ldc->ldc_defconn +- LDAPConn *ldc_conns; /* list of server connections */ +-#define ld_conns ldc->ldc_conns +- void *ldc_selectinfo;/* platform specifics for select */ +-#define ld_selectinfo ldc->ldc_selectinfo +- +- /* ldap_common refcnt - free only if 0 */ +-#ifdef LDAP_R_COMPILE +- ldap_pvt_thread_mutex_t ldc_mutex; +-#define ld_ldcmutex ldc->ldc_mutex +-#endif +- /* protected by ldc_mutex */ +- unsigned int ldc_refcnt; +-#define ld_ldcrefcnt ldc->ldc_refcnt + }; + + struct ldap { |