/ 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