prlpks

package module
v0.0.0-...-cbc4e0b Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 24, 2014 License: AGPL-3.0 Imports: 14 Imported by: 0

README

prlpks

A GPG Public Key Server based on hockeypuck (launchpad.net/hockeypuck) of casey marshall.

Pre-requisits:

  1. Go -- http://golang.org/doc/install
  2. DVCS Clients -- 1.Bazaar 2.Git 3.Mercurial
  3. Postgresql Server -- https://wiki.postgresql.org/wiki/Detailed_installation_guides

How to install:

  1. run prlpks_install.sh
  2. the script will output instructions after finishing compiling.
  3. config file is self explanatory and must be configured fully before running.

Documentation

Overview

Package prlpks provides common configuration, logging and static content for the keyserver.

Index

Constants

View Source
const APPLICATION_ERROR = "APPLICATION ERROR"

Response for HTTP 500.

View Source
const BAD_REQUEST = "BAD REQUEST"

Response for HTTP 400.

View Source
const INSTALL_WEBROOT = "/var/lib/prlpks/www"

System installed location for static files.

View Source
const PRLPKS_PKG = "github.com/pruthvirajsinh/prlpks" // Any way to introspect?

prlpks package, used to locate static files when running from source.

Variables

View Source
var Version string

Version is set by the build process.

Functions

func InitLog

func InitLog()

InitLog initializes the logging output to the globally configured settings. It also registers SIGHUP, SIGUSR1 and SIGUSR2 to close and reopen the log file for logrotate(8) support.

BUG: If InitLog is called before the application is properly configured, it will automatically configure the application with an empty TOML (accept all defaults).

func LoadConfig

func LoadConfig(r io.Reader) (err error)

LoadConfig sets the global configuration to the TOML-formatted reader contents.

func LoadConfigFile

func LoadConfigFile(path string) (err error)

LoadConfigFile sets the global configuration to the contents from the TOML file path.

func SetConfig

func SetConfig(contents string) (err error)

SetConfig sets the global configuration to the TOML-formatted string contents.

Types

type Settings

type Settings struct {
	*toml.TomlTree
}

Settings stores configuration options for prlpks.

func Config

func Config() *Settings

Config returns the global Settings for an application built with prlpks.

func (*Settings) GetBool

func (s *Settings) GetBool(key string) bool

GetBool returns the boolean value for the configuration key if set, otherwise false.

func (*Settings) GetIntDefault

func (s *Settings) GetIntDefault(key string, defaultValue int) int

GetIntDefault returns the int value for the configuration key if set and valid, otherwise the default value.

func (*Settings) GetString

func (s *Settings) GetString(key string) string

GetString returns the string value for the configuration key if set, otherwise the empty string.

func (*Settings) GetStringDefault

func (s *Settings) GetStringDefault(key string, defaultValue string) string

GetStringDefault returns the string value for the configuration key if set, otherwise the default value.

func (*Settings) GetStrings

func (s *Settings) GetStrings(key string) (value []string)

GetStrings returns a []string slice for the configuration key if set, otherwise an empty slice.

func (*Settings) LogFile

func (s *Settings) LogFile() string

Logfile option

func (*Settings) MustGetInt

func (s *Settings) MustGetInt(key string) int

MustGetInt returns the int value for the configuration key if set and valid, otherwise panics.

func (*Settings) Webroot

func (s *Settings) Webroot() string

type StaticRouter

type StaticRouter struct {
	*mux.Router
}

StaticRouter configures HTTP request handlers for static media files.

func NewStaticRouter

func NewStaticRouter(r *mux.Router) *StaticRouter

NewStaticRouter constructs a new static media router and sets up all request handlers.

func (*StaticRouter) HandleAll

func (sr *StaticRouter) HandleAll()

HandleAll sets up all request handlers for prlpks static media.

func (*StaticRouter) HandleCss

func (sr *StaticRouter) HandleCss()

HandleCSS handles all embedded cascading style sheet (CSS) requests.

func (*StaticRouter) HandleFonts

func (sr *StaticRouter) HandleFonts()

HandleFonts handles all embedded web font requests.

func (*StaticRouter) HandleMainPage

func (sr *StaticRouter) HandleMainPage()

HandleMainPage handles the "/" top-level request.

Directories

Path Synopsis
build
src/code.google.com/p/go-imap/go1/imap
Package imap implements an IMAP4rev1 client, as defined in RFC 3501.
Package imap implements an IMAP4rev1 client, as defined in RFC 3501.
src/code.google.com/p/go-imap/go1/mock
Package mock implements a scripted IMAP server for testing client behavior.
Package mock implements a scripted IMAP server for testing client behavior.
src/code.google.com/p/go.crypto/bcrypt
Package bcrypt implements Provos and Mazières's bcrypt adaptive hashing algorithm.
Package bcrypt implements Provos and Mazières's bcrypt adaptive hashing algorithm.
src/code.google.com/p/go.crypto/blowfish
Package blowfish implements Bruce Schneier's Blowfish encryption algorithm.
Package blowfish implements Bruce Schneier's Blowfish encryption algorithm.
src/code.google.com/p/go.crypto/bn256
Package bn256 implements a particular bilinear group at the 128-bit security level.
Package bn256 implements a particular bilinear group at the 128-bit security level.
src/code.google.com/p/go.crypto/cast5
Package cast5 implements CAST5, as defined in RFC 2144.
Package cast5 implements CAST5, as defined in RFC 2144.
src/code.google.com/p/go.crypto/curve25519
Package curve25519 provides an implementation of scalar multiplication on the elliptic curve known as curve25519.
Package curve25519 provides an implementation of scalar multiplication on the elliptic curve known as curve25519.
src/code.google.com/p/go.crypto/md4
Package md4 implements the MD4 hash algorithm as defined in RFC 1320.
Package md4 implements the MD4 hash algorithm as defined in RFC 1320.
src/code.google.com/p/go.crypto/nacl/box
Package box authenticates and encrypts messages using public-key cryptography.
Package box authenticates and encrypts messages using public-key cryptography.
src/code.google.com/p/go.crypto/nacl/secretbox
Package secretbox encrypts and authenticates small messages.
Package secretbox encrypts and authenticates small messages.
src/code.google.com/p/go.crypto/ocsp
Package ocsp parses OCSP responses as specified in RFC 2560.
Package ocsp parses OCSP responses as specified in RFC 2560.
src/code.google.com/p/go.crypto/openpgp
Package openpgp implements high level operations on OpenPGP messages.
Package openpgp implements high level operations on OpenPGP messages.
src/code.google.com/p/go.crypto/openpgp/armor
Package armor implements OpenPGP ASCII Armor, see RFC 4880.
Package armor implements OpenPGP ASCII Armor, see RFC 4880.
src/code.google.com/p/go.crypto/openpgp/clearsign
Package clearsign generates and processes OpenPGP, clear-signed data.
Package clearsign generates and processes OpenPGP, clear-signed data.
src/code.google.com/p/go.crypto/openpgp/elgamal
Package elgamal implements ElGamal encryption, suitable for OpenPGP, as specified in "A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms," IEEE Transactions on Information Theory, v.
Package elgamal implements ElGamal encryption, suitable for OpenPGP, as specified in "A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms," IEEE Transactions on Information Theory, v.
src/code.google.com/p/go.crypto/openpgp/errors
Package errors contains common error types for the OpenPGP packages.
Package errors contains common error types for the OpenPGP packages.
src/code.google.com/p/go.crypto/openpgp/packet
Package packet implements parsing and serialization of OpenPGP packets, as specified in RFC 4880.
Package packet implements parsing and serialization of OpenPGP packets, as specified in RFC 4880.
src/code.google.com/p/go.crypto/openpgp/s2k
Package s2k implements the various OpenPGP string-to-key transforms as specified in RFC 4800 section 3.7.1.
Package s2k implements the various OpenPGP string-to-key transforms as specified in RFC 4800 section 3.7.1.
src/code.google.com/p/go.crypto/otr
Package otr implements the Off The Record protocol as specified in http://www.cypherpunks.ca/otr/Protocol-v2-3.1.0.html
Package otr implements the Off The Record protocol as specified in http://www.cypherpunks.ca/otr/Protocol-v2-3.1.0.html
src/code.google.com/p/go.crypto/pbkdf2
Package pbkdf2 implements the key derivation function PBKDF2 as defined in RFC 2898 / PKCS #5 v2.0.
Package pbkdf2 implements the key derivation function PBKDF2 as defined in RFC 2898 / PKCS #5 v2.0.
src/code.google.com/p/go.crypto/poly1305
Package poly1305 implements Poly1305 one-time message authentication code as specified in http://cr.yp.to/mac/poly1305-20050329.pdf.
Package poly1305 implements Poly1305 one-time message authentication code as specified in http://cr.yp.to/mac/poly1305-20050329.pdf.
src/code.google.com/p/go.crypto/ripemd160
Package ripemd160 implements the RIPEMD-160 hash algorithm.
Package ripemd160 implements the RIPEMD-160 hash algorithm.
src/code.google.com/p/go.crypto/salsa20
Package salsa20 implements the Salsa20 stream cipher as specified in http://cr.yp.to/snuffle/spec.pdf.
Package salsa20 implements the Salsa20 stream cipher as specified in http://cr.yp.to/snuffle/spec.pdf.
src/code.google.com/p/go.crypto/salsa20/salsa
Package salsa provides low-level access to functions in the Salsa family.
Package salsa provides low-level access to functions in the Salsa family.
src/code.google.com/p/go.crypto/scrypt
Package scrypt implements the scrypt key derivation function as defined in Colin Percival's paper "Stronger Key Derivation via Sequential Memory-Hard Functions" (http://www.tarsnap.com/scrypt/scrypt.pdf).
Package scrypt implements the scrypt key derivation function as defined in Colin Percival's paper "Stronger Key Derivation via Sequential Memory-Hard Functions" (http://www.tarsnap.com/scrypt/scrypt.pdf).
src/code.google.com/p/go.crypto/sha3
Package sha3 implements the SHA3 hash algorithm (formerly called Keccak) chosen by NIST in 2012.
Package sha3 implements the SHA3 hash algorithm (formerly called Keccak) chosen by NIST in 2012.
src/code.google.com/p/go.crypto/ssh
Package ssh implements an SSH client and server.
Package ssh implements an SSH client and server.
src/code.google.com/p/go.crypto/ssh/terminal
Package terminal provides support functions for dealing with terminals, as commonly found on UNIX systems.
Package terminal provides support functions for dealing with terminals, as commonly found on UNIX systems.
src/code.google.com/p/go.crypto/ssh/test
This package contains integration tests for the code.google.com/p/go.crypto/ssh package.
This package contains integration tests for the code.google.com/p/go.crypto/ssh package.
src/code.google.com/p/go.crypto/twofish
Package twofish implements Bruce Schneier's Twofish encryption algorithm.
Package twofish implements Bruce Schneier's Twofish encryption algorithm.
src/code.google.com/p/go.crypto/xtea
Package xtea implements XTEA encryption, as defined in Needham and Wheeler's 1997 technical report, "Tea extensions."
Package xtea implements XTEA encryption, as defined in Needham and Wheeler's 1997 technical report, "Tea extensions."
src/code.google.com/p/go.crypto/xts
Package xts implements the XTS cipher mode as specified in IEEE P1619/D16.
Package xts implements the XTS cipher mode as specified in IEEE P1619/D16.
src/code.google.com/p/gorilla/appengine/sessions
Package gorilla/appengine/sessions implements session stores for Google App Engine's datastore and memcache.
Package gorilla/appengine/sessions implements session stores for Google App Engine's datastore and memcache.
src/code.google.com/p/gorilla/color
Package gorilla/color provides converters for different color models.
Package gorilla/color provides converters for different color models.
src/code.google.com/p/gorilla/context
Package gorilla/context provides a container to store values for a request.
Package gorilla/context provides a container to store values for a request.
src/code.google.com/p/gorilla/css/scanner
Package gorilla/css/scanner generates tokens for a CSS3 input.
Package gorilla/css/scanner generates tokens for a CSS3 input.
src/code.google.com/p/gorilla/mux
Package gorilla/mux implements a request router and dispatcher.
Package gorilla/mux implements a request router and dispatcher.
src/code.google.com/p/gorilla/pat
Package gorilla/pat is a request router and dispatcher with a pat-like interface.
Package gorilla/pat is a request router and dispatcher with a pat-like interface.
src/code.google.com/p/gorilla/rpc
Package gorilla/rpc is a foundation for RPC over HTTP services, providing access to the exported methods of an object through HTTP requests.
Package gorilla/rpc is a foundation for RPC over HTTP services, providing access to the exported methods of an object through HTTP requests.
src/code.google.com/p/gorilla/rpc/json
Package gorilla/rpc/json provides a codec for JSON-RPC over HTTP services.
Package gorilla/rpc/json provides a codec for JSON-RPC over HTTP services.
src/code.google.com/p/gorilla/schema
Package gorilla/schema fills a struct with form values.
Package gorilla/schema fills a struct with form values.
src/code.google.com/p/gorilla/securecookie
Package gorilla/securecookie encodes and decodes authenticated and optionally encrypted cookie values.
Package gorilla/securecookie encodes and decodes authenticated and optionally encrypted cookie values.
src/code.google.com/p/gorilla/sessions
Package gorilla/sessions provides cookie and filesystem sessions and infrastructure for custom session backends.
Package gorilla/sessions provides cookie and filesystem sessions and infrastructure for custom session backends.
src/code.google.com/p/snappy-go/snappy
Package snappy implements the snappy block-based compression format.
Package snappy implements the snappy block-based compression format.
src/github.com/jmoiron/sqlx
General purpose extensions to database/sql sqlx is intended to seamlessly wrap database/sql and provide convenience methods which are useful in the development of database driven applications.
General purpose extensions to database/sql sqlx is intended to seamlessly wrap database/sql and provide convenience methods which are useful in the development of database driven applications.
src/github.com/lib/pq
Package pq is a pure Go Postgres driver for the database/sql package.
Package pq is a pure Go Postgres driver for the database/sql package.
src/github.com/pelletier/go-toml
TOML markup language parser.
TOML markup language parser.
src/github.com/pruthvirajsinh/PrcIdSigner
Package PrcIdSigner Signs a GPG Public Key's ID.It works directly on Ascii armor of public and private keys.
Package PrcIdSigner Signs a GPG Public Key's ID.It works directly on Ascii armor of public and private keys.
src/github.com/pruthvirajsinh/go-Simap/Simap
Package Simap implements a simple Imap client which --Fetches,Copies,Moves emails from mailboxes.
Package Simap implements a simple Imap client which --Fetches,Copies,Moves emails from mailboxes.
src/github.com/pruthvirajsinh/go-Simap/main
Package main implements command line Example to check the functionalities of the Package
Package main implements command line Example to check the functionalities of the Package
src/github.com/pruthvirajsinh/prlpks
Package prlpks provides common configuration, logging and static content for the keyserver.
Package prlpks provides common configuration, logging and static content for the keyserver.
src/github.com/pruthvirajsinh/prlpks/cmd/prlpks
prlpks is an OpenPGP keyserver.
prlpks is an OpenPGP keyserver.
src/github.com/pruthvirajsinh/prlpks/hkp
Package hkp implements the OpenPGP HTTP Keyserver Protocol, as described in the Internet-Draft, http://ietfreport.isoc.org/idref/draft-shaw-openpgp-hkp/.
Package hkp implements the OpenPGP HTTP Keyserver Protocol, as described in the Internet-Draft, http://ietfreport.isoc.org/idref/draft-shaw-openpgp-hkp/.
src/github.com/pruthvirajsinh/prlpks/openpgp
Package openpgp parses, merges, validates, stores and searches OpenPGP public key material in RFC4880 format.
Package openpgp parses, merges, validates, stores and searches OpenPGP public key material in RFC4880 format.
src/github.com/pruthvirajsinh/prlpks/util
Package util contains a few commonly used utility functions.
Package util contains a few commonly used utility functions.
src/github.com/pruthvirajsinh/symflux
Package symflux provides set reconciliation core functionality and the supporting math: polynomial arithmetic over finite fields, factoring and rational function interpolation.
Package symflux provides set reconciliation core functionality and the supporting math: polynomial arithmetic over finite fields, factoring and rational function interpolation.
src/github.com/pruthvirajsinh/symflux/cmd/primegen
primegen is a utility for generating large primes that bound a given bit length.
primegen is a utility for generating large primes that bound a given bit length.
src/github.com/pruthvirajsinh/symflux/cmd/sks-dump-ptree
sks-dump-ptree is a debugging utility developed to parse and reverse engineer the SKS PTree databases.
sks-dump-ptree is a debugging utility developed to parse and reverse engineer the SKS PTree databases.
src/github.com/pruthvirajsinh/symflux/recon
Package recon provides the SKS reconciliation protocol, prefix tree interface and an in-memory prefix-tree implementation.
Package recon provides the SKS reconciliation protocol, prefix tree interface and an in-memory prefix-tree implementation.
src/github.com/pruthvirajsinh/symflux/recon/leveldb
Package leveldb provides a key-value storage implementation of the recon prefix tree interface.
Package leveldb provides a key-value storage implementation of the recon prefix tree interface.
src/github.com/pruthvirajsinh/symflux/testing
Package testing provides some unit-testing support functions.
Package testing provides some unit-testing support functions.
src/github.com/sloonz/go-qprintable
Package qprintable implements quoted-printable encoding as specified by RFC 2045.
Package qprintable implements quoted-printable encoding as specified by RFC 2045.
src/github.com/syndtr/goleveldb/leveldb
Package leveldb provides implementation of LevelDB key/value database.
Package leveldb provides implementation of LevelDB key/value database.
src/github.com/syndtr/goleveldb/leveldb/cache
Package cache provides interface and implementation of a cache algorithms.
Package cache provides interface and implementation of a cache algorithms.
src/github.com/syndtr/goleveldb/leveldb/comparer
Package comparer provides interface and implementation for ordering sets of data.
Package comparer provides interface and implementation for ordering sets of data.
src/github.com/syndtr/goleveldb/leveldb/filter
Package filter provides interface and implementation of probabilistic data structure.
Package filter provides interface and implementation of probabilistic data structure.
src/github.com/syndtr/goleveldb/leveldb/iterator
Package iterator provides interface and implementation to traverse over contents of a database.
Package iterator provides interface and implementation to traverse over contents of a database.
src/github.com/syndtr/goleveldb/leveldb/journal
Package journal reads and writes sequences of journals.
Package journal reads and writes sequences of journals.
src/github.com/syndtr/goleveldb/leveldb/memdb
Package memdb provides in-memory key/value database implementation.
Package memdb provides in-memory key/value database implementation.
src/github.com/syndtr/goleveldb/leveldb/opt
Package opt provides sets of options used by LevelDB.
Package opt provides sets of options used by LevelDB.
src/github.com/syndtr/goleveldb/leveldb/storage
Package storage provides storage abstraction for LevelDB.
Package storage provides storage abstraction for LevelDB.
src/github.com/syndtr/goleveldb/leveldb/table
Package table allows read and write sorted key/value.
Package table allows read and write sorted key/value.
src/github.com/syndtr/goleveldb/leveldb/util
Package util provides utilities used throughout leveldb.
Package util provides utilities used throughout leveldb.
src/launchpad.net/gnuflag
Package flag implements command-line flag parsing in the GNU style.
Package flag implements command-line flag parsing in the GNU style.
cmd
prlpks
prlpks is an OpenPGP keyserver.
prlpks is an OpenPGP keyserver.
Package hkp implements the OpenPGP HTTP Keyserver Protocol, as described in the Internet-Draft, http://ietfreport.isoc.org/idref/draft-shaw-openpgp-hkp/.
Package hkp implements the OpenPGP HTTP Keyserver Protocol, as described in the Internet-Draft, http://ietfreport.isoc.org/idref/draft-shaw-openpgp-hkp/.
Package openpgp parses, merges, validates, stores and searches OpenPGP public key material in RFC4880 format.
Package openpgp parses, merges, validates, stores and searches OpenPGP public key material in RFC4880 format.
Package util contains a few commonly used utility functions.
Package util contains a few commonly used utility functions.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL