init
This commit is contained in:
commit
93b57c3ee3
11
Makefile
Normal file
11
Makefile
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
include config.mk
|
||||||
|
|
||||||
|
all: src/main.c
|
||||||
|
$(CC) $(CFLAGS) $(LDFLAGS) src/main.c -o src/pm
|
||||||
|
|
||||||
|
install: src/pm man/pm.1
|
||||||
|
install src/pm $(PREFIX)/bin
|
||||||
|
install -d $(PM_ENTRIES_DIR)
|
||||||
|
touch $(PM_ENTRIES_DIR)/$(PM_ENTRIES_FILE)
|
||||||
|
install -g 0 -o 0 -m man/pm.1 /usr/local/man/man1
|
||||||
|
gzip /usr/local/man/man1/pm.1
|
22
README
Normal file
22
README
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
+ pm - a simple password manager
|
||||||
|
|
||||||
|
pm is a very simple password manager. It aims to be simple and portable. It creates
|
||||||
|
entries in a predefined file, containing a password and a name. Those entries can
|
||||||
|
then be queried by pmsearch, a wrapper script.
|
||||||
|
|
||||||
|
Since there is no runtime configuration, ecrypt is extremely fast and secure.
|
||||||
|
|
||||||
|
+ Installation
|
||||||
|
|
||||||
|
Clone this repository:
|
||||||
|
(user)$ git clone https://git.everestlinux.org/EverestLinux/pm
|
||||||
|
|
||||||
|
Edit src/config.h and ensure it looks good:
|
||||||
|
(user)$ $EDITOR src/config.h
|
||||||
|
|
||||||
|
Edit config.mk and adjust any options:
|
||||||
|
(user)$ $EDITOR config.mk
|
||||||
|
Run make:
|
||||||
|
(user)$ make
|
||||||
|
Install:
|
||||||
|
(root)# make install
|
13
config.mk
Normal file
13
config.mk
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
#
|
||||||
|
# config.mk
|
||||||
|
#
|
||||||
|
|
||||||
|
PREFIX = /usr
|
||||||
|
|
||||||
|
CC = cc
|
||||||
|
CFLAGS = -O2 -fstack-protector-strong
|
||||||
|
LDFLAGS = -s -static
|
||||||
|
|
||||||
|
# these should be the same as they are in config.h
|
||||||
|
PM_ENTRIES_DIR = /etc/pm
|
||||||
|
PM_ENTRIES_FILE = entries
|
19
man/pm.1
Normal file
19
man/pm.1
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
.\" Manpage for pm.
|
||||||
|
.TH man 1 "28 March 2023" "1.0" "Everest Linux Manual"
|
||||||
|
.SH NAME
|
||||||
|
pm \- password manager that stores all entries in a file for reference later
|
||||||
|
.SH SYNOPSIS
|
||||||
|
pm PASSWORD ENTRY_NAME
|
||||||
|
.SH DESCRIPTION
|
||||||
|
pm is a password manager for *NIX systems that stores entry names and passwords in a file. These can later be queried by pmsearch(1). pm is designed to work very well with ecrypt(1).
|
||||||
|
.SH OPTIONS
|
||||||
|
pm takes no options.
|
||||||
|
.SH EXAMPLES
|
||||||
|
Create a new entry named "entry1", using ecrypt to generate the password:
|
||||||
|
pm $(ecrypt) entry1
|
||||||
|
.SH SEE ALSO
|
||||||
|
ecrypt(1)
|
||||||
|
.SH BUGS
|
||||||
|
Report all bugs on the issues page at https://git.everestlinux.org/EverestLinux/pm
|
||||||
|
.SH AUTHOR
|
||||||
|
Liam Waldron (liamwaldron@everestlinux.org)
|
6
src/config.h
Normal file
6
src/config.h
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
#ifndef CONFIG_H_
|
||||||
|
#define CONFIG_H_
|
||||||
|
|
||||||
|
#define PM_ENTRIES_FILE "/etc/pm/entries"
|
||||||
|
|
||||||
|
#endif
|
21
src/main.c
Normal file
21
src/main.c
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
int main(int argc, char *argv[]) {
|
||||||
|
if (argc == 1) {
|
||||||
|
printf("usage: %s PASSWORD ENTRY_NAME\n", argv[0]);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
FILE *fp;
|
||||||
|
|
||||||
|
fp = fopen(PM_ENTRIES_FILE, "a+");
|
||||||
|
fprintf(fp, "ENTRY\n");
|
||||||
|
fprintf(fp, "%s", argv[2]);
|
||||||
|
fprintf(fp, " - ");
|
||||||
|
fprintf(fp, "%s\n", argv[1]);
|
||||||
|
fprintf(fp, "END ENTRY\n");
|
||||||
|
fclose(fp);
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user