Coder Social home page Coder Social logo

isa-project's Introduction

VUT-FIT-3BIT ISA - Network Applications and Network Administration

POP3 client with the TLS support

Application description

The popcl application is capable of downloading the e-mails from the given e-mail server via the POP3/POP3S protocol. The application is fully functional on Linux, FreeBSD and macOS.

Installation

Parameters of compilation are in CMakeLists.txt file, Makefile uses CMake to create the executable application. make command will comile the popcl binary. make clean will delete all files and folders created during the compilation.

Usage

popcl [-p ] [-T|-S [-c ] [-C ]] [-d] [-n] -a <auth_file> -o <out_dir>

  • The name (IP address or domain name) to download the e-mails from is mandatory.
  • The -p option specifies the port number on the server. If not specified the default port number will be used.
  • The -T parameter enables the encryption of all communication (POP3S), if the parameter is not specified, the unencrypted variant of the protocol will be used.
  • The -S parameter establishes an unencrypted connection to the server and switches to the encrypted protocol variant using the STLS command (RFC 2595).
  • The optional -c parameter defines the certificate file, which is used to validate the SSL / TLS certificate submitted by the server (use only with the -T or -S parameter).
  • The optional -C parameter specifies the directory in which to search for certificates to be used to validate the SSL / TLS certificate submitted by the server. (Use only with the -T or -S parameter.)
  • When the -d parameter is used, a command is sent to the server to clear messages.
  • When using the -n parameter, only new messages will be downloaded.
  • The mandatory parameter -a <auth_file> specifies the file containing the credentials to log in to the specified mail server.
  • The mandatory parameter -o <out_dir> specifies the output directory <out_dir> in which the program should save the downloaded messages.

Example

   ./popcl -T eva.fit.vutbr.cz -a ./eva_auth -o ./out_mail
   1156 e-mails were downloaded

List of files

.
├── src
│   ├── popcl.cpp
│   ├── ArgumentsParser.cpp
│   ├── ArgumentsParser.hpp
│   ├── MessagesReceiver.cpp
│   └── MessagesReceiver.hpp
├── CMakeList.txt
├── Makefile
├── manual.pdf
└── README.md

Obtained points: 20/20

Assessment remarks:

  • Nesprávná interpretace .. na začátku řádku e-mailu
  • Podivné řešení konců souborů se zprávami
  • Program vykazoval činnost klienta POP3
  • Úspěšný test stažení zpráv přes IPv4
  • Úspěšný test stažení zpráv přes IPv4
  • Úspěšné připojení k serveru s validním certifikátem
  • Nepodařilo se zabezpečené stáhnout zprávy ze serveru s validním certifikátem
  • Úspěšný test stažení zpráv přes IPv6
  • Úspěšný test stažení zpráv přes IPv6
  • Podpora IPv4 adresy jako jména serveru
  • Chybí podpora IPv6 adresy jako jména serveru
  • Úspěšné zvládnutí čtení ze soketů
  • Úspěšný test podpory -c
  • Úspěšný test podpory -C
  • Nedetekováno rozumné a z pohledu síťových přenosů efektivní vyhledání nových zpráv
  • Úspěšné smazání zprávy na serveru
  • Podporováno STARTTLS v kombinaci s -c
  • Podporováno STARTTLS v kombinaci s -C
  • Úspěšné rozpoznání serveru jako nedůvěryhodného
  • Úspěch v testu s chybějícím autentizačním souborem
  • Úspěch v testu s neexistujícím serverem POP3
  • Úspěch v testu s chybnou autentizací
  • Úspěch v testu s chybným autentizačním souborem
  • Dokumentace obsahuje text na černém pozadí, nečitelné na papíře, plýtvání barvou
  • Dokumentace mohla být propracovanější, chybí např. teorie
  • Informativní README
  • Pěkný, modulární kód

isa-project's People

Contributors

vsokolovskii avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.