mirror of https://github.com/ericonr/purr-c.git
Add README and LICENSE.
This commit is contained in:
parent
a80f082b48
commit
fc9fc8dbf9
|
@ -0,0 +1,13 @@
|
|||
Copyright (c) 2020 Érico Nogueira
|
||||
|
||||
Permission to use, copy, modify, and distribute this software for any
|
||||
purpose with or without fee is hereby granted, provided that the above
|
||||
copyright notice and this permission notice appear in all copies.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
@ -0,0 +1,40 @@
|
|||
# purr-c
|
||||
|
||||
This is a pure C client for the
|
||||
[PurritoBin](https://github.com/PurritoBin/PurritoBin) pastebin server, and uses
|
||||
PurritoBin's author's instance in <https://bsd.ac> by default.
|
||||
|
||||
It was written as an exercise in learning network and crypto libraries, and uses
|
||||
[BearSSL](https://www.bearssl.org/) for symmetric encryption (supported by
|
||||
PurritoBin's online interface as well as its [suggested
|
||||
clients](https://github.com/PurritoBin/PurritoBin/tree/master/clients)) and SSL
|
||||
interaction with the server. For now, it also depends on
|
||||
[s6-networking](http://skarnet.org/software/s6-networking/)'s `sbearssl` library
|
||||
for certificate parsing.
|
||||
[libbaseencode](https://github.com/paolostivanin/libbaseencode) has been
|
||||
vendored in (can be found in `external/libbaseencode`), but has also gone
|
||||
through some changes, namely removing null-byte checking from the base64
|
||||
encoding function and adding an output length parameter to the base64 decoding
|
||||
function.
|
||||
|
||||
The code has a few instances of `// TODO: remove hack` comments and the like,
|
||||
which I hope to get to someday.
|
||||
|
||||
## Usage
|
||||
|
||||
Usage information can be viewed with `purr -h`.
|
||||
|
||||
## Build dependencies
|
||||
|
||||
The build dependencies are the ones listed above: BearSSL and s6-networking, as
|
||||
well as GNU Make and a C compiler. This currently depends on Linux's
|
||||
`getrandom(2)` function, but I plan on adding at least an `arc4random_buf(3)`
|
||||
implementation.
|
||||
|
||||
## Acknowledgements
|
||||
|
||||
- Thomas Pornin for BearSSL
|
||||
- Laurent Bercot for s6-networking
|
||||
- epsilon-0 for PurritoBin (and the valuable help while I was testing this
|
||||
program)
|
||||
- paolostivanin for libbaseencode
|
Loading…
Reference in New Issue