Git Product home page Git Product logo

pat's People

Contributors

amatecha avatar andrew-h3 avatar as3ii avatar blockmurder avatar cminyard avatar dependabot[bot] avatar dforsi avatar dougcollinge avatar fmarier avatar harenber avatar la3qma avatar martinhpedersen avatar n2ygk avatar rainerg2000 avatar richcannings avatar sit avatar toddejohnson avatar turnrye avatar xylo04 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  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  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

pat's Issues

lzhuf tests not passing on appveyor (windows build)

The windows build of develop is failing after upgrade to the golang port of lzhuf (issue #50). Specifically go test ./vendor/github.com/la5nta/wl2k-go/lzhuf.

The wl2k-go build (same build env, same code) passes all tests, which is very strange.

--- FAIL: TestWriterTestdata (0.14s)
lzhuf_test.go:156: Running LPE5NXDVLVSQ.b2f...
lzhuf_test.go:156: Running Mark.Twain-Tom.Sawyer.txt...
lzhuf_test.go:179: Mark.Twain-Tom.Sawyer.txt: Byte idx 0 not matching. Skipping rest of compare.
lzhuf_test.go:156: Running e.txt...
lzhuf_test.go:179: e.txt: Byte idx 0 not matching. Skipping rest of compare.
lzhuf_test.go:156: Running gettysburg.txt...
lzhuf_test.go:179: gettysburg.txt: Byte idx 1 not matching. Skipping rest of compare.
lzhuf_test.go:156: Running pi.txt...
lzhuf_test.go:179: pi.txt: Byte idx 0 not matching. Skipping rest of compare.
FAIL

Enable gzip experiment by default

The gzip experiment in wl2k-go has been around for quite some time now, but I suspect it haven't been used much. Most people are not aware of it.

We may get some more feedback if we enable support for gzip compression by default. It's backwards compatible with LZHUF, so most users should be unaffected.

winmor: Unexpected EOF

When two Pat clients have a winmor P2P session, the client that does not send FQ will not receive it before the winmor connection ends.

According to the FBB protocol spesification a node should disconnect after sending the FQ:

If the other side has no message (after receiving an FF), it sends a line:

   FQ

and disconnects.

My guess is that the WINMOR TNC does not flush it's buffer before sending the DISC frame, the resulting being that "FQ" never reaches the other node.

One way of fixing this may be to wait until the out buffer in transport/winmor is empty before sending the DISCONNECT command.

Case sensitive callsigns

Currently Pat (and probably wl2k-go) treats callsigns case sensitive. This results in some unexpected behaviours.

Thanks LA4TTA!

Windows: File locking error when moving message from out/ to sent/

Win 7 enterprice works ok but with a few windows specific bugz.

  • File locked when composing a message using the command line.
  • Trying to use a PNG image as attachment:

2016/03/09 10:37:49 Auto converting 'c14428aa-ee06-425e-bae7-9359825da005-medium.png'[image/png]...
2016/03/09 10:37:49 Error converting image: Invalid Parameter - -quality

-2016/03/09 10:38:27 Unable to move C:\Users\install/.wl2k/mailbox/LA3QMA/out/QIG
S6JK3CYTF to C:\Users\install/.wl2k/mailbox/LA3QMA/sent/QIGS6JK3CYTF: rename C:
Users\install/.wl2k/mailbox/LA3QMA/out/QIGS6JK3CYTF C:\Users\install/.wl2k/mailb
ox/LA3QMA/sent/QIGS6JK3CYTF: The process cannot access the file because it is be
ing used by another process.

Mac OS Installer not compatible with 10.11+

The Mac OS Installer package tries to install pat to /usr/bin, which is protected by System Integrety Protection in Mac OS El Capitan and later versions - causing the installer to fail. An easy solution is to install the binary to /usr/local/bin, which is the "Apple Approved" directory for such software, and is in the default $PATH.

I'm happy to build and provide the installer - being a Mac admin, I have all the tools already. Even better, I can sign the package to prevent additional security warnings.

Thanks!

Linux ax25 scripts: Add method for custom TNC initialization

Most physical TNCs require some pre-kissattach initializations.

As pointed out by @dranch, the share/bin/axup script contained some old references to the tmd710_tncsetup tool for this purpose. The references was removed, but it would be nice to have a method for custom initialization in axup.

Modifying the axup file after installation is not practical as it would be overwritten on the next Pat update.

A custom variable in /etc/default/ax25 which is eval'ed before kissattach seems like a decent solution, allowing users to bring/write their own initialization scripts.

PGP signed messages

@t-o-k sent me an email requesting/suggesting support for PGP signed messages.

PGP signing of the whole message (including attachments and maybe some headers) would be great, but I don't see how we could do this and still be compatible with regular email clients (messages sent to the internet via CMS and SMTP).

However, "PGP SIGNED MESSAGE" embedded in the message body will probably be compatible with common PGP aware email clients (verification needed), and it does not violate the winlink message format.

Signing and automatic/semi-automatic verification of a received PGP signed message would be a very nice feature for emcomm use of Pat.

Example:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

This is an example of a PGP signed message.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.14 (GNU/Linux)

iF4EAREIAAYFAlK5pacACgkQuJVtv+58EFxiXgD/QGwQVCZMAlE7fL6V1Kbv4Ogq
Sa9VTEw+s9mWwiBInp4A/3guc2PvZb8iIdrCyWGwIMJIOQS8OuhWfjtN3CBhOSA1
=S+B+
-----END PGP SIGNATURE-----

Filename extension for mailbox messages

The current mailbox implementation uses only the MID as filename when storing messages (no filename extension).

This turned out to be a bad idea, because it's hard to distinguish proper messages from temp-files and other garbage from other applications (e.g. emacs' backup-files and syncthing artifacts).

By adding a file extension, most of these problems can be easily avoided by only attempting to open files with the expected extension.

secure_login_password in config ignored if callsign is not all upper case

Reported by AB4MW on the pat-users list:

Hello and thank you for this project. So tired of Windows/Wine hacks for WL2K.

I did my configuration and entered my call in lower case. Pat will not authenticate automatically.
(0.1.3 deb file)

I had to change my call to UPPER case for it to work properly. That's odd because the password does not appear to be case sensitive!

Suggest that if upper case call sign is a requirement, to have the code automatically upper case the call sign, at least for authentication purposes.

73,

Mitch, ab4mw

Ardop v0.5 support

ARDOP_WIN changed it's host interface in v0.5. We need to migrate to the new interface.

macOS Sierra support

There are some issues regarding breaking changes of gettimeofday in macOS Sierra that may cause trouble for pre Go 1.7 compiled software. We should upgrade to Go 1.7 (scheduled to be released any day now) for our v0.2.0 release. See golang/go#16579 for more info.

In light of the macOS Sierra gatekeeper changes (issue #48) it would also be nice to have a signed release ready before macOS Sierra is released.

@kd8drx: Do you have access to a Mac with macOS Sierra beta installed? It would be nice to test wether or not v0.1.5 will run on it, and also start testing with Go 1.7 compiled binaries. I can provide you with pre-compiled binaries if necessary.

Post version info to Winlink CMS Web Services

RMS Express and all other mainstream clients reports the user callsign, appname and version frequently to the winlink web API.

The feature/version_report branch implements this feature for Pat, but I guess there may be some privacy concerns about enabling this by default.

PROS:

  • Simple way to get usage statistics for Pat, the data is publicly available through the API for retrieval.
  • Needed to get the application listed under live winlink info @ winlink.org.

CONS:

  • The data must be sent unencrypted (the API does not support https).
  • Some users may dislike the "broadcasting" of platform/application.
  • Winlink exposes a datetime-field that leaks information on when the application was running.

The feature will be optional, but enabled by default.

Feedback please :)

Support for PACTOR

@martinhpedersen Well, the title says it all... Is this planned (shouldn't be that bad since the command structure ist quite similar to other TNCs)?

I don't have any experience using GO (though I'm not new to programming), so I'm not sure I can help much with the Implementation, but I should be able to get hold of some older PTCs and possibly a newer one in the not too distant future, all of which can be used for testing.

There's quite a bit of useful info on the SCS website, http://www.scs-ptc.com/en/Downloads.html

Support image resize in cli composer

The image resize feature is only accessible from the web UI. The ability to resize image attachments has proven very convenient, so it's time to make this accessible from the command line interface too.

Signed Mac OS releases (.dpk)

From @kd8drx #47:

I'm happy to build and provide the installer - being a Mac admin, I have all the tools already. Even better, I can sign the package to prevent additional security warnings.

Having the Mac OS package signed so users don't have to work around the security system in OS X would be nice!

As mentioned in #47, I've already semi-automated the .pkg packaging using using Packages. Have a look at osx/pat.pkgproj. I do not have much experience with .pkg-packages, don't even know if I picked the right tool for the job ;)

Could you describe how you would go about packaging Pat for Mac OS? Which tools would you use?

Regarding package signing, how could we ensure that other project members can step in and sign a release if you're not available for some reason? In other words, is it possible to have multiple people signing releases?

Thanks for your interest in contributing, this is much appreciated.

Winlink hybrid: Update MPS list

For users to fully take advantage of the Winlink Hybrid Network, they would need a way to update their MPS (Message Pickup Station) lists.

Winlink Express updates the MPS list via the Winlink Web API directly over HTTP, or by posting a special INQUIRY message containing a sequence of these API requests.

These updates (requests) are guarded by a WebServiceAccessCode which we need to obtain/generate in order for users to update their MPS list via Pat.

Example update message:

Message ID: U2YDOUIYDUA4
Date: 2016/03/27 14:52
From: LA4TTA
To: INQUIRY 
Source: LA4TTA
Subject: CMSWEBSVC

/mps/delete?requester=LA4TTA&callsign=LA4TTA&WebServiceAccessCode=F630KKDH9L
/mps/add?requester=LA4TTA&callsign=LA4TTA&mpsCallsign=LA3F&WebServiceAccessCode=F630KKDH9L
/mps/add?requester=LA4TTA&callsign=LA4TTA&mpsCallsign=SM5RVH&WebServiceAccessCode=F630KKDH9L
/mps/add?requester=LA4TTA&callsign=LA4TTA&mpsCallsign=HB9AW&WebServiceAccessCode=F630KKDH9L
/mps/delete?requester=LE1OG&callsign=LE1OG&WebServiceAccessCode=F630KKDH9L
/mps/add?requester=LE1OG&callsign=LE1OG&mpsCallsign=LA3F&WebServiceAccessCode=F630KKDH9L
/mps/add?requester=LE1OG&callsign=LE1OG&mpsCallsign=SM5RVH&WebServiceAccessCode=F630KKDH9L
/mps/add?requester=LE1OG&callsign=LE1OG&mpsCallsign=HB9AW&WebServiceAccessCode=F630KKDH9L

The original WebServiceAccessCode have been changed, in case it contains sensitive information. Thanks to LA4TTA for providing this example.

Until this is implemented users are advised to update their MPS list using Winlink Express.

Support both utf8 and iso-8859-1 encoded subject header

Turns out CMS may encode the subject header as utf8 when receiving q-encoded words, and not the normal ISO-8859-1. Both encoding violates the FBB-protocol, but that's another story.

wl2k-go now handles this. Update the gitmodule and we're good to go :)

Support running http server while in interactive mode

This is a feature request from LA4TTA.

The interactive command-line interface provides some nice functionality that is not available through the Web UI. If it was possible to run the http server in background while in interactive mode, this would give the users more flexibility.

Command line-interface composer whitespace bug

This bug does not effect the web UI's composer, only the command-line interface is affected.

Commit f995029 (in v0.1.4) changed the way the cli composer reads input from the user (to, cc, subject etc).

The new method introduced a bug that makes it impossible to input whitespaces in the subject field (amongst others).

The easy fix is to revert back to using a bufio.Reader.

PTT -- w/o full rig control

Hello, All. (esp. Martin @martinhpedersen )

I have everything working well (Pat and WINMOR) with one exception: controlling the PPT line via a simple RS-232/one-transister switch, without full CAT/CI-V rig control. I have Icom radios, but no CI-V control converter box.

I tried to set definitions with rigctld, but just managed to mess up things up and nothing in Pat would work at all. I'm back to a clean install and config file, and I can get everything working properly with VOX ptt, but that is where success ended (no connects, VOX circuit not nearly fast enough for WINMOR).

My question: how would I set up Pat's congif file to set the serial RTS line high, thus closing the PTT circuit via my simple little interface, but not using any form of remote (CAT/CI-V) rig control? In other words, to get it to function exactly as FlDigi or packet does? :^) I think such a set-up would benefit many hams, especially those on a budget.

Any ideas would be appreciated.

Best regards and 73,
Dave Hassler
K7CCC

fsnotify submodule clone issue

The gopkg.in proxy import path of fsnotify is causing issues for users with older git versions.

A workaround would be to use the github.com import path directly:
github.com/fsnotify/fsnotify (tag v1.2.10)

Big thanks to @dranch for tracking down and reporting this.

web ui: About menu item not working

As reported by @kd8drx:

In the web interface, the settings and about options do not work (Safari 10.0)

(For settings, see issue #5)

The about menu item is a placeholder for the unimplemented about box. It is probably a good idea to implement it.

Update to golang port of lzhuf

Ref la5nta/wl2k-go#41:

Porting the code to Go would eliminate the need for cgo, thus making the wl2k-go framework even more portable. It will also allow us to further improve the code, getting rid of the intermediate temp files and other rough edges.

This will also enable us to cross compile Pat to a handful new platforms (dragonfly, freebsd, netbsd, openbsd, solaris, plan9). We could even cross compile the windows and darwin releases from a Linux host.

The port has already been written, but need further testing.

Print stylesheet for web UI

Feature request from LA4TTA.

Printing a message from the web UI results in very bad formatting and layout.

Maube it's possible to add a print stylesheet to the web UIs main page. Another approach can be to create a single message view page. A completely different approach could be to render and serve the message as PDF from the daemon.

Proper website

A proper website for Pat is currently under construction.

The website will give a brief overview of the application's features and links to:

  • Download (github releases)
  • User community (issue #1)
  • Documentation (github wiki)
  • Source code repository (github)

Wiki Edit: macOS instructions should use Homebrew to install

Mac ports is is generally considered deprecated by the community, and is not recommended due to how it installs packages and modifies the OS. The preferred tool by most macOS users is Homebrew (brew.sh), which is far easier to install and itself installs packages to /usr/local, thus preventing issues with SIP that generic *nix apps may run afoul of.

Package names are generally the same between the two. For example, to install hamlib the command would be brew install hamlib.

I'm happy to edit those entries if given the privileges.

Pull last changes in wl2k-go

It includes some bug fixes/enhancements, including:

  • Send smallest messages first (suggested in the Winlink FAQ).
  • Fixes handling of proposal code H.
  • Fixes handling of blocks with all messages deferred/rejected.
  • Fixes unstable serialization of messages that could result in corrupt partial message transfer.

The changes is not merged to master yet, but will be soon.

User community list

A user community mailing list / forum should be provided for users to share experience and discuss usage of Pat.

Write contribution guidelines

Contributions from the community is very important if this project is going to survive over time. We need some guidelines that encourages any user to pitch in.

Some important topics:

  • How to supply patches.
  • Code formatting (that's easy: gofmt).
  • Info on the git workflow and release process.
  • Using the issue tracker.
  • Links to good articles on how to get started with git and github.

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.