/ README.md
README.md
1 # Použití 2 3 ./isa-ldapserver {-p \<port\>} -f \<soubor\> 4 Význam parametrů a jejich hodnot: 5 6 -p \<port\>: Umožňuje specifikovat konkrétní port, na kterém začne server naslouchat požadavkům klientů. Výchozí hodnota čísla portu je 389. 7 -f \<soubor\>: Cesta k textovému soubor ve formátu CSV. 8 9 Aplikaci lze ukončit pomocí klávesové zkratky Ctrl+C (SIGINT). 10 11 ## Sestavení 12 13 Sestavení probíhá pomocí příkazu `make`. Výsledkem je spustitelný soubor `isa-ldapserver`. Veškeré zdrojové soubory jsou ve složce src, a hlavičkové soubory ve složce inc. 14 15 # Popis programu 16 17 Jedná se o jednoduchý LDAP server, pracující s csv databází. Podporuje simple bind(bind request), a vyhledávání (search request). Z filtrů podporuje pouze equality match, substrings, and, or, not. Podporuje také size limit. 18 Server podporuje jak IPv4, tak IPv6. 19 20 # Rozšíření oproti zadání 21 22 ## Výběr atributů 23 24 Aplikace podporuje možnost vybrat si jaké atributy chce uživatel vyhledat. V případě, že uživatel nevybere žádný atribut, jsou mu vráceny všechny atributy. Neexistující atributy jsou ignorovány. 25 26 ## Notice of Disconnection 27 28 Pokud dojde k chybě, která nejde oznámit přes odpovídající odpověď na požadavek, je klientovi oznámeno ukončení komunikace pomocí Notice of Disconnection. 29 30 ## Přihlášení kdykoli 31 32 Není třeba se přihlásit před bind requestem, ale je možné se přihlásit kdykoli během komunikace (LDAP3). Jelikož server podporuje jen podporuje jen simple bind, bez autentizace tak to nemá význam. Ale je možné potom velice jednoduše rozšířit aplikaci pro další typy autentizace. 33 34 # Příklady spuštění 35 36 ## Spuštění serveru 37 38 ### 1. příklad 39 40 ./isa-ldapserver -p 1234 -f ./data.csv 41 42 spustí server na portu 123 a použije databázi data.csv 43 44 ### 2. příklad 45 46 ./isa-ldapserver -f ./data.csv 47 48 spustí server na portu 389 a použije databázi data.csv 49 50 # Seznam souborů 51 52 - manual.md 53 - manual.pdf 54 - Doxyfile 55 - Makefile 56 - docs/ 57 - refman.pdf 58 - src/ 59 - AndFilterObject.cpp 60 - BerEnumObject.cpp 61 - BerObject.cpp 62 - BerSetObject.cpp 63 - DatabaseController.cpp 64 - EqualityMatchFilterObject.cpp 65 - isa-ldapserver.cpp 66 - OrFilterObject.cpp 67 - argument_helper_functions.cpp 68 - ber_helper_functions.cpp 69 - BerParser.cpp 70 - BerStringObject.cpp 71 - database_helper_functions.cpp 72 - filter_helper_functions.cpp 73 - ldap_comunication.cpp 74 - server.cpp 75 - BerBoolObject.cpp 76 - BerIntObject.cpp 77 - BerSequenceObject.cpp 78 - BerUndefinedObject.cpp 79 - DatabaseObject.cpp 80 - FilterObject.cpp 81 - NotFilterObject.cpp 82 - SubstringFilterObject.cpp 83 - inc/ 84 - AndFilterObject.h 85 - ber_constants.h 86 - BerIntObject.h 87 - BerSequenceObject.h 88 - BerUndefinedObject.h 89 - DatabaseObject.h 90 - FilterObject.h 91 - OrFilterObject.h 92 - argument_helper_functions.h 93 - BerEnumObject.h 94 - BerObject.h 95 - BerSetObject.h 96 - DatabaseController.h 97 - EqualityMatchFilterObject.h 98 - ldap_comunication.h 99 - server.h 100 - BerBoolObject.h 101 - ber_helper_functions.h 102 - BerParser.h 103 - BerStringObject.h 104 - database_helper_functions.h 105 - filter_helper_functions.h 106 - NotFilterObject.h 107 - SubstringFilterObject.h 108 - img/ 109 - BerObject-UML.png 110 - FilterObject-UML.png 111 - obj/ 112 113