Przeglądaj źródła

Merge of bignose/manual-pages (Linux man pages)

Adam Ierymenko 9 lat temu
rodzic
commit
9b8444fff1

+ 2 - 0
.gitignore

@@ -79,3 +79,5 @@ java/build_win32/
 windows/WinUI/obj/
 windows/WinUI/obj/
 windows/WinUI/bin/
 windows/WinUI/bin/
 windows/ZeroTierOne/Debug/
 windows/ZeroTierOne/Debug/
+/doc/*.1
+/doc/*.8

+ 5 - 2
AUTHORS.md

@@ -9,7 +9,7 @@
  * Network Containers for Linux, iOS, Android<br>
  * Network Containers for Linux, iOS, Android<br>
    Joseph Henry / [email protected]
    Joseph Henry / [email protected]
 
 
-## Contributors
+## Third Party Contributors
 
 
  * A number of fixes and improvements to the new controller, other stuff.<br>
  * A number of fixes and improvements to the new controller, other stuff.<br>
    Kees Bos / https://github.com/keesbos/
    Kees Bos / https://github.com/keesbos/
@@ -17,6 +17,9 @@
  * Debugging and testing, OpenWRT support fixes.<br>
  * Debugging and testing, OpenWRT support fixes.<br>
    Moritz Warning / [email protected]
    Moritz Warning / [email protected]
 
 
+ * Debian GNU/Linux packaging, manual pages, and license compliance edits.<br>
+   Ben Finney <[email protected]>
+
  * Several others made smaller contributions, which GitHub tracks here:<br>
  * Several others made smaller contributions, which GitHub tracks here:<br>
    https://github.com/zerotier/ZeroTierOne/graphs/contributors/
    https://github.com/zerotier/ZeroTierOne/graphs/contributors/
 
 
@@ -28,7 +31,7 @@
    * Home page: http://code.google.com/p/lz4/
    * Home page: http://code.google.com/p/lz4/
    * License grant: BSD attribution
    * License grant: BSD attribution
 
 
- * http-parser by Joyent (many authors)
+ * http-parser by Joyent, Inc. (many authors)
 
 
    * Files: ext/http-parser/*
    * Files: ext/http-parser/*
    * Home page: https://github.com/joyent/http-parser/
    * Home page: https://github.com/joyent/http-parser/

+ 1 - 0
doc/manpage_encoding_declaration.UTF-8

@@ -0,0 +1 @@
+'\" -*- coding: utf-8 -*-

+ 52 - 0
doc/module.mk

@@ -0,0 +1,52 @@
+# doc/module.mk
+# Part of ZeroTier One, a software-defined network layer.
+#
+# Copyright © 2016 Ben Finney <[email protected]>
+# This is free software: you may copy, modify, and/or distribute this
+# work under the terms of the GNU General Public License, version 3 or
+# later as published by the Free Software Foundation.
+# No warranty expressed or implied.
+# See the file ‘LICENSE.txt’ for details.
+
+# Makefile module for ZeroTier One documentation.
+
+TEMPFILE_SUFFIX = .tmp
+.INTERMEDIATE: ${DOCUMENTATION_DIR}/*${TEMPFILE_SUFFIX}
+
+RST_SUFFIX = .txt
+manpage_sections = 1 2 3 4 5 6 7 8
+manpage_names += zerotier-one.8
+manpage_names += zerotier-idtool.1
+manpage_names += zerotier-cli.1
+manpage_source_paths = $(addprefix ${DOC_DIR}/, \
+	$(addsuffix ${RST_SUFFIX},${manpage_names}))
+manpage_paths = $(addprefix ${DOC_DIR}/,${manpage_names})
+manpage_encoding_stub = ${DOC_DIR}/manpage_encoding_declaration.UTF-8
+
+GENERATED_FILES += $(addprefix ${DOC_DIR}/,\
+	$(foreach section,${manpage_sections},*.${section}))
+
+RST2MAN = rst2man
+RST2MAN_OPTS =
+
+
+.PHONY: doc
+doc: manpages
+
+.PHONY: manpages
+manpages: ${manpage_paths}
+
+%.1: %.1${RST_SUFFIX}
+	$(RST2MAN) "$<" > "$@"${TEMPFILE_SUFFIX}
+	cat ${manpage_encoding_stub} "$@"${TEMPFILE_SUFFIX} > "$@"
+
+%.8: %.8${RST_SUFFIX}
+	$(RST2MAN) "$<" > "$@"${TEMPFILE_SUFFIX}
+	cat ${manpage_encoding_stub} "$@"${TEMPFILE_SUFFIX} > "$@"
+
+
+# Local variables:
+# coding: utf-8
+# mode: makefile
+# End:
+# vim: fileencoding=utf-8 filetype=make :

+ 109 - 0
doc/zerotier-cli.1.txt

@@ -0,0 +1,109 @@
+============
+zerotier-cli
+============
+
+--------------------------------------------------
+management interface for ZeroTier One peer process
+--------------------------------------------------
+
+:Author: |author|
+:Date: 2016-03-04
+:Copyright:
+    Copyright © 2016 ZeroTier Inc.
+:Manual section: 1
+:Manual group: ZeroTier
+
+..  |command| replace:: **zerotier-cli**
+..  |license| replace::
+    `GNU General Public License, version 3 or later
+    <https://www.gnu.org/licenses/#GPL>`__
+
+
+SYNOPSIS
+========
+
+| |command| [ **-j** ] [ **-D** `HOMEDIR` ] [ **-p** `PORT` ] [ **-t** `AUTH_TOKEN` ] \
+  `command` [ `COMMAND_ARG` ]
+
+
+DESCRIPTION
+===========
+
+|command| is a tool to manage the running **zerotier-one**\ (8)
+process.
+
+*ZeroTier* is a peer-to-peer virtual network. Its “virtual layer 1”
+(VL1) is implemented in the communication between ZeroTier One peers.
+This provides the OSI layer 1 functionality on which to build further
+network services.
+
+
+COMMANDS
+========
+
+|command| **info**
+
+    *FIXME*: display status info
+
+|command| **listpeers**
+
+    *FIXME*: list all peers
+
+|command| **listnetworks**
+
+    *FIXME*: list all networks
+
+|command| **join** `NETWORK`
+
+    *FIXME*: join the network `NETWORK`
+
+|command| **leave** `NETWORK`
+
+    *FIXME*: leave the network `NETWORK`
+
+
+FILES
+=====
+
+The |command| process will discover the running **zerotier-one**\ (8)
+process by examining the specified `HOMEDIR` directory (default:
+``/var/lib/zerotier-one``).
+
+
+SEE ALSO
+========
+
+* **zerotier-one**\ (8)
+
+* ZeroTier One documentation:
+
+  * Product page `<https://www.zerotier.com/product-one.shtml>`__.
+  * Configuration guide `<https://www.zerotier.com/config.shtml>`__.
+  * Technical FAQ `<https://www.zerotier.com/tech_faq.shtml>`__.
+
+
+HISTORY
+=======
+
+The |command| program is developed by ZeroTier Inc.
+
+This manual page was written by |author|. This is free software: you
+may copy, modify and/or distribute this work under the terms of the
+|license| as published by the Free Software Foundation. No warranty
+expressed or implied.
+
+..  |author| replace:: |authorname| |authoremail|
+..  |authorname| replace:: Ben Finney
+..  |authoremail| replace:: <[email protected]>
+
+
+..
+    Local variables:
+    mode: rst
+    coding: utf-8
+    time-stamp-format: "%:y-%02m-%02d"
+    time-stamp-start: "^:Date:[         ]+"
+    time-stamp-end: "$"
+    time-stamp-line-limit: 20
+    End:
+    vim: filetype=rst fileencoding=utf-8 :

+ 115 - 0
doc/zerotier-idtool.1.txt

@@ -0,0 +1,115 @@
+===============
+zerotier-idtool
+===============
+
+----------------------------------------------
+identity management tool for ZeroTier One peer
+----------------------------------------------
+
+:Author: |author|
+:Date: 2016-03-04
+:Copyright:
+    Copyright © 2016 ZeroTier Inc.
+:Manual section: 1
+:Manual group: ZeroTier
+
+..  |command| replace:: **zerotier-idtool**
+..  |license| replace::
+    `GNU General Public License, version 3 or later
+    <https://www.gnu.org/licenses/#GPL>`__
+
+
+SYNOPSIS
+========
+
+| |command| **generate** [ `SECRET` ] [ `PUBLIC` ]
+| |command| **validate** `SECRET`
+| |command| **getpublic** `SECRET`
+| |command| **sign** `SECRET`
+| |command| **verify** `IDENTITY` `FILE` `SIGNATURE`
+| |command| **mkcom** `SECRET` `ID`\ **,**\ `VALUE`\ **,**\ `MAX_DELTA` [ ... ] `IDENTITY`
+
+
+DESCRIPTION
+===========
+
+|command| is a tool to manage identities for the **zerotier-one**\ (8)
+program.
+
+*ZeroTier* is a peer-to-peer virtual network. Its “virtual layer 1”
+(VL1) is implemented in the communication between ZeroTier One peers.
+This provides the OSI layer 1 functionality on which to build further
+network services.
+
+
+COMMANDS
+========
+
+|command| **generate** [ `SECRET` ] [ `PUBLIC` ]
+
+    *FIXME*: generate an identity
+
+|command| **validate** `SECRET`
+
+    *FIXME*: validate a secret identity
+
+|command| **getpublic** `SECRET`
+
+    *FIXME*: get a public identity
+
+|command| **sign** `SECRET`
+
+    *FIXME*: sign a secret identity
+
+|command| **verify** `IDENTITY` `FILE` `SIGNATURE`
+
+    *FIXME*: verify a signature
+
+|command| **mkcom** `SECRET` `ID`\ **,**\ `VALUE`\ **,**\ `MAX_DELTA` [ ... ] `IDENTITY`
+
+    *FIXME*: mkcom
+
+
+FILES
+=====
+
+*FIXME*: how does the process know its home directory?
+
+
+SEE ALSO
+========
+
+* **zerotier-one**\ (8)
+
+* ZeroTier One documentation:
+
+  * Product page `<https://www.zerotier.com/product-one.shtml>`__.
+  * Configuration guide `<https://www.zerotier.com/config.shtml>`__.
+  * Technical FAQ `<https://www.zerotier.com/tech_faq.shtml>`__.
+
+
+HISTORY
+=======
+
+The |command| program is developed by ZeroTier Inc.
+
+This manual page was written by |author|. This is free software: you
+may copy, modify and/or distribute this work under the terms of the
+|license| as published by the Free Software Foundation. No warranty
+expressed or implied.
+
+..  |author| replace:: |authorname| |authoremail|
+..  |authorname| replace:: Ben Finney
+..  |authoremail| replace:: <[email protected]>
+
+
+..
+    Local variables:
+    mode: rst
+    coding: utf-8
+    time-stamp-format: "%:y-%02m-%02d"
+    time-stamp-start: "^:Date:[         ]+"
+    time-stamp-end: "$"
+    time-stamp-line-limit: 20
+    End:
+    vim: filetype=rst fileencoding=utf-8 :

+ 119 - 0
doc/zerotier-one.8.txt

@@ -0,0 +1,119 @@
+============
+zerotier-one
+============
+
+-------------------------------------------------
+end-point peer for ZeroTier virtual network layer
+-------------------------------------------------
+
+:Author: |author|
+:Date: 2016-03-04
+:Copyright:
+    Copyright © 2016 ZeroTier Inc.
+:Manual section: 8
+:Manual group: ZeroTier
+
+..  |command| replace:: **zerotier-one**
+..  |license| replace::
+    `GNU General Public License, version 3 or later
+    <https://www.gnu.org/licenses/#GPL>`__
+
+
+SYNOPSIS
+========
+
+| |command| [ **-U** ] [ **-p** `PORT` ] [ **-d** ] [ `HOMEDIR` ]
+| |command| **-i** [ `IDTOOL_ARG` ... ]
+| |command| **-q** [ `QUERY_ARG` ... ]
+| |command| **-h**
+| |command| **-v**
+
+
+DESCRIPTION
+===========
+
+**ZeroTier One** is the end-point peer for the ZeroTier
+software-defined network layer.
+
+*ZeroTier* is a peer-to-peer virtual network. Its “virtual layer 1”
+(VL1) is implemented in the communication between ZeroTier One peers.
+This provides the OSI layer 1 functionality on which to build further
+network services.
+
+
+OPTIONS
+=======
+
+**-h**
+    Display concise help on command usage.
+
+**-v**
+    Display program version.
+
+**-U**
+    Run as unprivileged user (skip privilege check).
+
+**-p** `PORT`
+    Communicate on network port `PORT` (either TCP or UDP).
+
+**-d**
+    Become a conventional daemon process. Only available on Unix-like
+    operating systems.
+
+**-i** [ `IDTOOL_ARG` ... ]
+    Generate and manage identities.
+
+    This is equivalent to running the **zerotier-idtool** command with
+    all the specified `IDTOOL_ARG` parameters.
+
+**-q** [ `QUERY_ARG` ... ]
+    Query the running ZeroTier One process.
+
+    This is equivalent to running the **zerotier-cli** command with
+    all the specified `QUERY_ARG` parameters.
+
+
+FILES
+=====
+
+The |command| process will store its state in files within the
+specified `HOMEDIR` directory (default: ``/var/lib/zerotier-one``).
+
+
+SEE ALSO
+========
+
+* **zerotier-idtool**\ (1), **zerotier-cli**\ (1)
+
+* ZeroTier One documentation:
+
+  * Product page `<https://www.zerotier.com/product-one.shtml>`__.
+  * Configuration guide `<https://www.zerotier.com/config.shtml>`__.
+  * Technical FAQ `<https://www.zerotier.com/tech_faq.shtml>`__.
+
+
+HISTORY
+=======
+
+The |command| program is developed by ZeroTier Inc.
+
+This manual page was written by |author|. This is free software: you
+may copy, modify and/or distribute this work under the terms of the
+|license| as published by the Free Software Foundation. No warranty
+expressed or implied.
+
+..  |author| replace:: |authorname| |authoremail|
+..  |authorname| replace:: Ben Finney
+..  |authoremail| replace:: <[email protected]>
+
+
+..
+    Local variables:
+    mode: rst
+    coding: utf-8
+    time-stamp-format: "%:y-%02m-%02d"
+    time-stamp-start: "^:Date:[         ]+"
+    time-stamp-end: "$"
+    time-stamp-line-limit: 20
+    End:
+    vim: filetype=rst fileencoding=utf-8 :

+ 7 - 3
make-linux.mk

@@ -17,6 +17,9 @@
 #   clean: removes all built files, objects, other trash
 #   clean: removes all built files, objects, other trash
 #
 #
 
 
+GENERATED_FILES :=
+DOC_DIR = doc
+
 # Automagically pick clang or gcc, with preference for clang
 # Automagically pick clang or gcc, with preference for clang
 # This is only done if we have not overridden these with an environment or CLI variable
 # This is only done if we have not overridden these with an environment or CLI variable
 ifeq ($(origin CC),default)
 ifeq ($(origin CC),default)
@@ -87,7 +90,7 @@ endif
 #LDFLAGS=
 #LDFLAGS=
 #STRIP=echo
 #STRIP=echo
 
 
-all:	one
+all:	one doc
 
 
 one:	$(OBJS) service/OneService.o one.o osdep/LinuxEthernetTap.o
 one:	$(OBJS) service/OneService.o one.o osdep/LinuxEthernetTap.o
 	$(CXX) $(CXXFLAGS) $(LDFLAGS) -o zerotier-one $(OBJS) service/OneService.o one.o osdep/LinuxEthernetTap.o $(LDLIBS)
 	$(CXX) $(CXXFLAGS) $(LDFLAGS) -o zerotier-one $(OBJS) service/OneService.o one.o osdep/LinuxEthernetTap.o $(LDLIBS)
@@ -115,8 +118,7 @@ installer: one FORCE
 	./ext/installfiles/linux/buildinstaller.sh
 	./ext/installfiles/linux/buildinstaller.sh
 
 
 clean: FORCE
 clean: FORCE
-	rm -rf *.so *.o netcon/*.a node/*.o controller/*.o osdep/*.o service/*.o ext/http-parser/*.o ext/lz4/*.o ext/json-parser/*.o ext/miniupnpc/*.o ext/libnatpmp/*.o $(OBJS) zerotier-one zerotier-idtool zerotier-cli zerotier-selftest zerotier-netcon-service build-* ZeroTierOneInstaller-* *.deb *.rpm .depend netcon/.depend
-	# Remove files from all the funny places we put them for tests
+	rm -rf ${GENERATED_FILES} *.so *.o netcon/*.a node/*.o controller/*.o osdep/*.o service/*.o ext/http-parser/*.o ext/lz4/*.o ext/json-parser/*.o ext/miniupnpc/*.o ext/libnatpmp/*.o $(OBJS) zerotier-one zerotier-idtool zerotier-cli zerotier-selftest zerotier-netcon-service build-* ZeroTierOneInstaller-* *.deb *.rpm .depend netcon/.depend
 	find netcon -type f \( -name '*.o' -o -name '*.so' -o -name '*.1.0' -o -name 'zerotier-one' -o -name 'zerotier-cli' -o -name 'zerotier-netcon-service' \) -delete
 	find netcon -type f \( -name '*.o' -o -name '*.so' -o -name '*.1.0' -o -name 'zerotier-one' -o -name 'zerotier-cli' -o -name 'zerotier-netcon-service' \) -delete
 	find netcon/docker-test -name "zerotier-intercept" -type f -delete
 	find netcon/docker-test -name "zerotier-intercept" -type f -delete
 
 
@@ -129,4 +131,6 @@ official: FORCE
 	make -j 4 ZT_OFFICIAL_RELEASE=1 one
 	make -j 4 ZT_OFFICIAL_RELEASE=1 one
 	make ZT_OFFICIAL_RELEASE=1 installer
 	make ZT_OFFICIAL_RELEASE=1 installer
 
 
+include ${DOC_DIR}/module.mk
+
 FORCE:
 FORCE: