Coder Social home page Coder Social logo

cdpxe / wendzelnntpd Goto Github PK

View Code? Open in Web Editor NEW
56.0 7.0 7.0 9.68 MB

A usable and IPv6-ready Usenet-server (NNTP daemon). It is portable (Linux/*BSD/*nix), supports AUTHINFO authentication, contains ACL as well as role based ACL and provides "invisible" newsgroups. It can run on MySQL and SQLite backends.

Home Page: https://cdpxe.github.io/WendzelNNTPd/

License: Other

Makefile 3.07% Shell 2.89% C 87.75% Lex 0.78% Yacc 3.73% Roff 0.50% PLpgSQL 1.07% Dockerfile 0.20%
acl newsgroup mysql sqlite3 nntp usenet invisible-newsgroups daemons linux freebsd

wendzelnntpd's Introduction

  • 👋 Hi, I’m interested in:
    • information security research taxonomy/terminology/methodology,
    • network/IoT security, in particular:
      • information hiding (steganography/covert channels),
      • censorship circumvention, traffic obfuscation, flow watermarking,
      • anomaly detection and
      • smart homes/building security security.
  • 📫 How to reach me: see my website

wendzelnntpd's People

Contributors

cdpxe avatar svenlie avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

wendzelnntpd's Issues

Update documentation

I noticed some broken English in the PDF documentation and I really love this piece of software, could I submit a PR?

Error then compiling with clang

src/server.c:1308:7: error: call to undeclared function 'getdomainname'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
                if (getdomainname(domainname, 127) == 0 && strncmp(domainname, "(none)", 6) != 0) {

Thesis: Finalization of TLS Support in Legacy Internet Software

This issue is foreseen to be addressed in the form of a thesis and will focus on the NNTP server WendzelNNTPd.

Supervision: Steffen Wendzel (website).

Context

Thanks to the two theses works of @cgrill76 and @mich-dy, WendzelNNTPd now features TLS support in form of two development branches:

Goal of the Thesis

The goal of this thesis is to bring TLS support into WendzelNNTPd's main branch. This means to utilize the above-mentioned branches, pick the best components of these branches, and merge them into the main branch. Afterwards, you test the functionality of the new main branch.

Your Tasks

  1. Define requirements for the TLS integration into the main branch. To this end, you also consider the requirements of the previous branches.
    • The PDF files of the theses of both students will be provided!
  2. Analyze both branches and determine the best ideas and code pieces of both branches.
  3. Integrate the best code fragments (that resulted from the previous point) into the main branch.
    • If necessary add own code fragments.
  4. Combine the testing and evaluation methods of both TLS development branches so that all tests of these two branches are used for the evaluation of WendzelNNTPd.
    • Perform an in-depth testing of the TLS functionality using these testing/evaluation methods.
    • Optionally, add additional (own) TLS functionality tests.
  5. Write the thesis :)

Key Requirements

  • Support for OpenSSL, GnuTLS is optional.
  • Support for TLS connections without STARTTLS (most clients do not seem to make use of STARTTLS) as well as with STARTTLS.
  • Intuitive use and configuration (e.g., there should be no difference between setting a TLS and a non-TLS port in the config file).
  • Code must pass functionality tests with the following clients: Thunderbird, Sylpheed/Claws Mail, Pan and slrn. The handling of signals, such as SIG_PIPE, should consider potential errors (see PDF files of the theses that will be provided / code in the development branches).
  • Integrated code must roughly follow coding style of the current implementation (note that the development branches do a good job here).
  • Server documentation must be updated; code should be documented, configuration file too.
  • Code needs to compile under at Ubuntu and Debian Linux as well as one major BSD distribution (OpenBSD, NetBSD or FreeBSD).

Problem with ClawsMail

When I try to fetch articles with ClawsMail from the server I get the following error message. Server albasani.net works without any problems. Maybe the Libetpan message gives a hint on the problem. The problem occurs in the Windows and Linux version of claws mail.

Didn't find any bug related to this in the Claws bugtracker.
http://www.thewildbeast.co.uk/claws-mail/bugzilla/buglist.cgi?product=Claws%20Mail&component=NNTP&resolution=---

* Konto 'Konto3': Verbinde mit NNTP-Server: news.XXXXX.de:119...
[00:32:13] NNTP< 200 WendzelNNTPd-OSE (Open Source Edition) 2.0.5 'Auckland'  - (Sep 26 2015 06:42:09 #2517) ready (posting ok). 
[00:32:13] NNTP> MODE READER 
[00:32:13] NNTP< 480 authentication required. 
*** Libetpan unterstützt Statusmeldung 480 nicht, also machen wir erstmal weiter
[00:32:13] NNTP< Authentication accepted.
[00:32:13] NNTP> LIST 
[00:32:13] NNTP< [data - 366 bytes]
[00:32:20] NNTP> GROUP de.tbs1.ita15a.Allgemein 
[00:32:20] NNTP< 211 9 1 9 de.tbs1.ita15a.Allgemein group selected 
[00:32:20] NNTP> GROUP de.tbs1.ita15a.Allgemein 
[00:32:20] NNTP< 211 9 1 9 de.tbs1.ita15a.Allgemein group selected 
* Newsübersicht wird geholt: 1 - 9 in de.tbs1.ita15a.Allgemein...
[00:32:20] NNTP> XOVER 1-9 
[00:32:20] NNTP< [data - 1426 bytes]
[00:32:20] NNTP> XHDR newsgroups 1-9 
[00:32:20] NNTP< [data - 275 bytes]
[00:32:20] NNTP> XHDR to 1-9 
[00:32:20] NNTP< 211 Header follows 
[00:32:20] NNTP< . 
** XHDR nicht abrufbar
[00:32:22] NNTP> ARTICLE 1 
[00:32:34] NNTP> DATE 
[00:32:34] NNTP< 111 20151008073236 

Other ideas for the project [non-code]

I was just wondering if a simple GitHub pages website would be useful for the project. Maybe with a short description of the and links to the repository and builds (I don't know if therr are any services that offer some sort of CI that also hosts builds).

rename WendzelNNTPd -> wnntpd

Reasons:

  • makes commands etc. shorter
  • wnntpd reflects better the fact that now more people work on the server

Drawbacks:

  • ppl might not find the project anymore

Location of the sqlite database

It would be great to say that the sqlite database will be stored in /var/spool/news/wendzelnntp/ somewhere in the documentation.

Move all database files to a `database/` directoory

I am busy moving files like the .sql ones from the root of the repo to /database. I have not commit these changes yet as I am making sure all references to these files (but only the correct ones) are updated to point to database/[file].

Maximum filesize for attachments

Is there any maximum size for attachments? 10 MB seem to work very well. 20 MB will accepted but are not shown. No error in the logs.

Drop Windows support fully

I added to the todo list text file with some small improvements that could be made.

I saw that there was references to Win32 in the source code. Seeing that Windows is no longer supported (God forbid such a terrible platform for programming) should those references be removed then?

Create packages and ports

Create packages / ports for the following Systems:

  • Ubuntu/Debian
  • Slackware (is already there; needs update of Slackbuild-Package)
  • (some more Linux distributions)
  • OpenBSD
  • NetBSD
  • FreeBSD
  • other systems(?)

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.