Commit Graph

69 Commits

Author SHA1 Message Date
eknauel b9e53e5cc6 + changed condition hierachy: removed session and code fields from
root-condition because that information might not be available in
  all cases.

+ added session and code fields to &ldap-data-error,
  &ldap-security-error and &ldap-service-error

+ fixed raise-ldap-condition to distinguish conditions with/without
  fields session and code
2004-02-16 08:29:00 +00:00
eknauel 29f82084b3 + added/changed prototypes for scsh_create_ldapmod(),
scsh_extract_ldapmod_list() and scsh_free_ldapmod_array()
+ added symbolic names for fields of ldap-modification records
2004-02-16 08:25:32 +00:00
eknauel 08c07cbc80 + changed scsh_extract_ldapmod_list() to use lists rather than vectors
+ changes scsh_ldap_modify() and scsh_ldap_add() to use
  scsh_extract_ldapmod_list()
+ new functions: scsh_create_ldapmod(), scsh_free_ldapmod_array()
2004-02-16 08:20:29 +00:00
eknauel e236fbaec4 A try to fix automatic memory handling for LDAP structures.
- free ldap-messages of type result

- free ldap-messages of type entry if and only if ldap_first_entry()
  converted from a result into an entry

- don't free ldap-messages of type entry

- entries depend on results, so don't free result before entries
  derived from it
2004-02-14 15:37:55 +00:00
eknauel 55f238280a many GC-related changes. Use weak table to avoid creating a second
scheme object for the same ldap object.  Works partially.
2004-02-13 17:04:30 +00:00
eknauel cd2e6cff48 got rid of some record types: ldap-entry ldap-result. It makes no
sense to put diffrent types of ldap-messages (they all live in a
single type LDAPMessage on the evil C side) in appropriate records
since the type of a ldap-message keeps changing in an unpredictable
way.  Use the API call ldap-message-type instead.
2004-02-13 16:58:37 +00:00
eknauel 7203d9d9f8 weak tables with weak value 2004-02-13 16:53:40 +00:00
eknauel da9ad48831 new module structure 2004-02-13 16:52:43 +00:00
eknauel 570b38d599 micro changes 2004-02-13 16:51:59 +00:00
eknauel 9cbc88c8c6 * c/ldap.c (scsh_ldap_first_attribute):
(scsh_ldap_next_attribute): free memory for return values
2004-02-13 16:51:23 +00:00
eknauel c015769f74 The big "ldap-session as fluid"-surgery 2004-02-13 10:06:15 +00:00
eknauel 4e107b0a11 * scheme/types.scm (ldap-session=?): new function
(ldap-message=?): ditto
(ldap-entry=?): ditto
2004-02-13 10:05:37 +00:00
eknauel 0af7276054 updated TODO 2004-02-12 16:06:07 +00:00
eknauel fcf3a94b1c (ldap-get-values): if ldap_get_values() returns NULL, that's not
necessarily an error
(ldap-entry-dn): renamed ldap-message-dn to ldap-entry-dn
2004-02-12 15:49:18 +00:00
eknauel a2709c19b9 * scheme/interfaces.scm (ldap-low-interface): renamed
ldap-message-dn to ldap-entry-dn
2004-02-12 15:48:58 +00:00
eknauel bf57767b43 * etc/sample.scm: added sample and test code 2004-02-12 15:48:37 +00:00
eknauel a312de7a51 * scheme/ldap.scm (ldap-get-values): unpack ldap-entry
(ldap-count-entries): ditto
(ldap-first-entry): ditto
(ldap-next-entry): ditto
2004-02-12 14:29:02 +00:00
eknauel 90580b2fc4 * pkg-def.scm ("ldap"): don't build static libs 2004-02-12 12:45:39 +00:00
eknauel 5d8f3512f3 * c/ldap.c (scsh_ldap_next_attribute): don't confuse test for NULL
(scsh_ldap_search_s): fixed pointer type
(scsh_ldap_search_st): ditto
(scsh_ldap_next_attribute): fixed test for NULL
(scsh_ldap_get_set_option): dispatch by value type, added string
types

* c/ldap.c (scsh_ldap_search_st): arguments base and filter may be
NULL, fixed bug in pointer handling

* c/ldap.c (scsh_ldap_unbind_s): got rid of superfluos type check
(scsh_ldap_abandon): ditto
(scsh_ldap_add): ditto
(scsh_ldap_compare_s): ditto
(scsh_ldap_count_entries): ditto
(scsh_ldap_count_messages): ditto
(scsh_ldap_count_references): ditto
(scsh_ldap_delete): ditto
(scsh_ldap_first_entry): ditto
(scsh_ldap_first_message): ditto
(scsh_ldap_first_reference): ditto
(scsh_ldap_get_dn): ditto
(scsh_ldap_get_values): ditto
(scsh_ldap_memfree): ditto
(scsh_ldap_modify): ditto
(scsh_ldap_msgfree): ditto
(scsh_ldap_msgid): ditto
(scsh_ldap_msgtype): ditto
(scsh_ldap_next_entry): ditto
(scsh_ldap_next_message): ditto
(scsh_ldap_next_reference): ditto
(scsh_ldap_search_s): ditto, and filter may be NULL
(scsh_ldap_search_st): ditto
2004-02-12 12:45:29 +00:00
eknauel 4fa34d0dda * ffi-tools/ffi-tools.c (ffit_extract_list_of_strings): added
missing S48_GC_UNPROTECT()

* ffi-tools/ffi-tools.c (ffit_extract_list_of_strings): fixed
wrong pointer handling
2004-02-12 12:45:10 +00:00
eknauel eaa1186718 * scheme/interfaces.scm (ldap-handle-types-interface): export
set-ldap-session-messages!
2004-02-12 12:45:00 +00:00
eknauel e27edaaed3 * scheme/ldap.scm (ldap-search): unpack finite type before calling
C code
(ldap-search): make return value of type ldap-entry
(ldap-get-error-return-object): convert code to finite type
(ldap-first-attribute): unwrap ldap-entry
(ldap-next-attribute session): unwrap ldap-entry

* scheme/ldap.scm (ldap-init): Set initial value for
ldap-session-messages
2004-02-12 12:44:46 +00:00
eknauel 2c206b2023 * scheme/types.scm (ldap-entry): new type 2004-02-12 12:44:14 +00:00
eknauel 2c6c2e5a18 * c/ldap.c (scsh_ldap_unbind_s): got rid of superfluos type check
(scsh_ldap_abandon): ditto
(scsh_ldap_add): ditto
(scsh_ldap_compare_s): ditto
(scsh_ldap_count_entries): ditto
(scsh_ldap_count_messages): ditto
(scsh_ldap_count_references): ditto
(scsh_ldap_delete): ditto
(scsh_ldap_first_entry): ditto
(scsh_ldap_first_message): ditto
(scsh_ldap_first_reference): ditto
(scsh_ldap_get_dn): ditto
(scsh_ldap_get_values): ditto
(scsh_ldap_memfree): ditto
(scsh_ldap_modify): ditto
(scsh_ldap_msgfree): ditto
(scsh_ldap_msgid): ditto
(scsh_ldap_msgtype): ditto
(scsh_ldap_next_entry): ditto
(scsh_ldap_next_message): ditto
(scsh_ldap_next_reference): ditto
(scsh_ldap_search_s): ditto, and filter may be NULL
(scsh_ldap_search_st): ditto
2004-02-12 09:10:22 +00:00
eknauel a56a9ae9e9 * ffi-tools/ffi-tools.c (ffit_extract_list_of_strings): fixed
wrong pointer handling
2004-02-12 09:10:04 +00:00
eknauel 092160e721 * c/ldap.c (scsh_ldap_get_set_option): allocate buffer for outvalues
* c/ldap.c (scsh_ldap_simple_bind_s): if user/password is false
connect as "nobody"
2004-02-11 16:25:34 +00:00
eknauel 1ba223f6cc * ffi-tools/ffi-tools.c (call_scheme_boolean_p): use
S48_SHARED_BINDING_REF
(call_scheme_integer_p): ditto
(length_scheme_list): ditto
2004-02-11 16:22:43 +00:00
eknauel 22a1e6919d * ffi-tools/ffi-tools-rts.scm (ffi-tools-rts): added missing
define-exported-bindings
2004-02-11 16:20:27 +00:00
eknauel 82ab0f41ba * scheme/packages.scm (ldap-low): added srfi-13 2004-02-11 16:18:32 +00:00
eknauel 57d92f2a93 * scheme/interfaces.scm (ldap-low-interface): added
ldap-simple-bind-as-nobody to exports
2004-02-11 16:17:08 +00:00
eknauel f3a509e5a7 * scheme/ldap.scm (ldap-init): make port optional argument,
accept list of hosts as argument.
(ldap-simple-bind-as-nobody): new function
2004-02-11 16:16:03 +00:00
eknauel e142fab52a + fixed wrong quoted alist of conditions 2004-02-11 16:12:36 +00:00
eknauel 1bd017ab9b + Call scsh_ldap_constants_export_bindings() during init
+ minor changes
2004-02-11 12:46:39 +00:00
eknauel d25f445ed2 + call generate-c-define-exported-bindings-function 2004-02-11 12:45:29 +00:00
eknauel a503da8dee + code for generating code for s48_define_exported_binding() 2004-02-11 12:44:36 +00:00
eknauel 53b3096a1e + don't use preprocessor symbol inside quotes
+ get rid of FIXED_S48_CHECK_RECORD_TYPE
2004-02-11 12:44:06 +00:00
eknauel 37c2849c89 + load.scm should also load ffi-tools-rts.scm (bad idea?)
+ install ffi-tools-rts.scm (even worse idea?)
2004-02-11 07:25:02 +00:00
eknauel 02f0884023 Lots of functions missing in various interfaces 2004-02-10 15:28:34 +00:00
eknauel 1221026d00 fixed name of init function 2004-02-10 15:24:43 +00:00
eknauel ab999a75c5 build const-gen.scm 2004-02-10 10:02:23 +00:00
eknauel 957ddbc987 add ffi-tool source files to dependencies 2004-02-10 10:00:31 +00:00
eknauel ba0d128c6e Fixed broken libsys var 2004-02-09 14:17:36 +00:00
eknauel c6005605d2 use the scsh packaging proposal 2004-02-09 13:55:35 +00:00
eknauel 65e85e856e fixed include path 2004-01-16 16:38:48 +00:00
eknauel 315ee24b5c added dependency: generate ldap-const.c first 2004-01-16 16:38:26 +00:00
eknauel feae1fa4a9 Lots of changes to fix structure ldap-types and ldap-condtions 2004-01-15 16:34:15 +00:00
eknauel b1f1aede59 fixed typo, renamed lookup-shared-binding to lookup-shared-value 2004-01-15 16:33:44 +00:00
eknauel 5791065071 + fixed typo, fixed module definition 2004-01-15 16:32:58 +00:00
eknauel 2eb5139b74 + added check for lber.h and liblber
+ updated checks for libldap functions
2004-01-14 10:25:48 +00:00
eknauel 33d3c4d498 + added Scheme representation for BerElement 2004-01-14 09:12:47 +00:00