diff --git a/conn.c b/conn.c index e628695..39eeb5f 100644 --- a/conn.c +++ b/conn.c @@ -1855,7 +1855,8 @@ Init_ldap_conn () { rb_ldap_sort_obj = Qnil; - rb_cLDAP_Conn = rb_define_class_under (rb_mLDAP, "Conn", rb_cData); + rb_cLDAP_Conn = rb_define_class_under (rb_mLDAP, "Conn", rb_cObject); + rb_undef_alloc_func(rb_cLDAP_Conn); rb_define_attr (rb_cLDAP_Conn, "referrals", 1, 0); rb_define_attr (rb_cLDAP_Conn, "controls", 1, 0); rb_define_attr (rb_cLDAP_Conn, "sasl_quiet", 1, 1); diff --git a/rbldap.h b/rbldap.h index 1fa04e1..b7b1765 100644 --- a/rbldap.h +++ b/rbldap.h @@ -205,3 +205,14 @@ VALUE rb_ldap_mod_vals (VALUE); rb_define_method(rb_cLDAP_Mod,method,cfunc,argc) #endif + +#if RUBY_VERSION_CODE >= 270 +# if defined rb_tainted_str_new +# undef rb_tainted_str_new +# endif +# if defined rb_tainted_str_new2 +# undef rb_tainted_str_new2 +# endif +# define rb_tainted_str_new(p,l) rb_str_new((p),(l)) +# define rb_tainted_str_new2(p) rb_str_new_cstr((p)) +#endif