Commit Graph

88 Commits

Author SHA1 Message Date
eknauel 3f7b1dbfe3 adjust EXTRA_DIST 2004-05-21 11:59:24 +00:00
eknauel f98b58dbb6 Weak-list stuff for ldap-session objects should be part of the
ldap-types-internal-interface.
2004-05-21 11:59:08 +00:00
eknauel 379e176e6a get rid of some superfluous CALL-WITH-VALUES 2004-05-21 08:33:14 +00:00
eknauel 5ceffe5e91 some examples 2004-05-21 08:31:51 +00:00
eknauel 4ab9274132 basic support for LDAPControls 2004-05-21 08:31:21 +00:00
eknauel 610b9c5c00 various changes to make scsh-ldap build with separatly distributed
ffi-tools
2004-05-21 08:30:00 +00:00
eknauel 91dd70abaa document latest changes 2004-05-21 08:28:41 +00:00
eknauel 555048bee4 new option --with-ffi-tools 2004-05-04 19:38:00 +00:00
eknauel 18811c784c - ffi-tools now has its own cvs module, remove it from scsh-ldap
- change pkg-def.scm to use installed ffi-tools
2004-05-04 19:36:17 +00:00
eknauel a440b8785b use weak list 2004-04-15 14:23:27 +00:00
eknauel ef2a08540a added conditions 2004-04-15 14:04:45 +00:00
eknauel 707ad709ed conditions for ldap-filters 2004-04-15 14:01:40 +00:00
eknauel e0ca103bd4 added weak list to ldap-session type 2004-04-15 13:52:35 +00:00
eknauel ec7a66d221 + removed superfluous GC-protects 2004-02-16 08:36:18 +00:00
eknauel c3febf605a + added missing semicolon in CHECK_RECORD_TYPE-macro 2004-02-16 08:35:25 +00:00
eknauel ff97045cef + add ldap-modify and ldap-add to ldap-interface
+ added functions on ldap-modification records to various interfaces
2004-02-16 08:34:13 +00:00
eknauel 246f7e8929 + changed ldap-modify to use the new representation of LDAPMod records
+ added ldap-add
2004-02-16 08:33:13 +00:00
eknauel 7122c8a1e6 + changed ldap-modification to hold the actual information that is
needed to create LDAPMod records.
2004-02-16 08:32:18 +00:00
eknauel 216139daa6 + added finite type ldap-operation to represent the operator on
attributes during modifications
2004-02-16 08:30:46 +00:00
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