From 84ff1ce93e2abb9d360e57dde847028acecf91d2 Mon Sep 17 00:00:00 2001 From: Kevin Lyda <kevin@lyda.ie> Date: Sun, 25 May 2025 22:31:35 +0100 Subject: [PATCH] License fix; more docs --- LICENSE | 19 +++++++++++++++++ NOTES.md | 65 +------------------------------------------------------- main.go | 20 +++++++++++++++-- 3 files changed, 38 insertions(+), 66 deletions(-) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..88c863c --- /dev/null +++ b/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2025 Kevin Lyda <kevin@lyda.ie> (applies only to Go reimplementation) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/NOTES.md b/NOTES.md index 7148dbd..08a6769 100644 --- a/NOTES.md +++ b/NOTES.md @@ -4,13 +4,7 @@ These are the development notes for the Go version. The idea is to use the help files to implement BULLETIN. -Look up how godoc does references to other things. - -Figure out readline completion. Case sensitive - issue? Building from -repl.commands? - -Switch between MAIL and BULLETIN modes? MAIL commands are documented -[here](https://marc.vos.net/books/vms/help/mail/). +See [godoc](http://localhost:6060/) for the code layout. ## sqlite @@ -18,63 +12,6 @@ Switch between MAIL and BULLETIN modes? MAIL commands are documented * https://sqlite.org/cli.html * https://www.sqlitetutorial.net/ -## Things to do - - * Run [godoc](http://localhost:6060/) and then review where the help text is lacking. - * Run this.Skew.Safe() before... each command? each write? - * Database - * trigger to limit values for 'visibility'? - * trigger to limit values for 'alert'? - * Add commands: - * Commands for a local mail system? - * Commands to connect to Mattermost or mastodon? - * Make a spreadsheet for signups. - * Permissions: - * Review permission requirements for each command. - * Expire. This was created due to file storage limits. Keep it? - * Code cleanup: - * Review sql queries and clean out the ones not used. - * Review sql queries and find duplicates. - * Use [dupl](https://github.com/mibk/dupl) to find things to generalise. - There's a `make dupl` target. - * flag abbreviations with values don't seem to work? - -Polishing. Review each command and put a + next to each as it is -fully done. - -``` -Top level: - - ADD +BACK BULLETIN CHANGE COPY CREATE - +Ctrl-C +CURRENT DELETE DIRECTORY +EXIT +FIRST - +Folders FORWARD +HELP INDEX +Keypad +LAST - MAIL +MARK MODIFY MOVE +NEXT +PRINT - +QUIT +READ REMOVE +REPLY RESPOND +SEARCH - SEEN SELECT +SET +SHOW +SSH +UNMARK - UNSEEN +USER - -SET: - - ACCESS +ALWAYS BRIEF DEFAULT_EXPIRE - EXPIRE_LIMIT FOLDER NOACCESS +NOALWAYS - NOBRIEF NOPROMPT_EXPIRE NOREADNEW NOSHOWNEW - NOSYSTEM PROMPT_EXPIRE READNEW SHOWNEW - SYSTEM - -SHOW: - - +FLAGS FOLDER -NEW +PRIVILEGES USER +VERSION - -SSH: - - +ADD +DELETE +FETCH +LIST - -USER: - - +ADD +ADMIN +DELETE +DISABLE +ENABLE LIST - +MOD +NAME +NOADMIN +NOMOD -``` - ## Module links * cli - [docs](https://cli.urfave.org/v3/getting-started/) diff --git a/main.go b/main.go index ce9562b..eee4c46 100644 --- a/main.go +++ b/main.go @@ -1,5 +1,21 @@ -// Package main is the main program for bulletin. -// It is based off the 1989 version of bulletin. +// Package main is the base for bulletin. +// +// This is a Go implementation of the 1991 version of bulletin. +// The initial realease notes follow. Note that at present there is no +// NEWS or MAIL support. +// +// You are about to receive version 2.07 of the PFC BULLETIN. +// +// BULLETIN is public domain software. (I will gladly accept +// recommendations for new features, not for changes that +// are due to "personal" preference.) +// +// As of V2.0, BULLETIN is able to read USENET NEWS +// via TCP/IP using either CMU, MULTINET, UCX, TWG, or +// via DECNET. It can also serve as a NEWS gateway for +// DECNET nodes without direct access to the NEWS server, +// i.e. a DECNET node without Internet access will be able +// to read NEWS. package main import ( -- GitLab