You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
zhiming99 c67453b879
. FileTransfersvr.cpp: fixed a show stopper that on docker test the 'USER'
4 days ago
...
testcfgs . wscfg2.json.in: fixed a bug, that currently gmssl does not support connection 12 months ago
Dockerfile . FileTransfersvr.cpp: fixed a show stopper that on docker test the 'USER' 4 days ago
Makefile.am . tools/Makefile.am: added the abscent makerpcf.sh. 2 months ago
README.md Update README.md 2 years ago
btinrtst.sh . iomgr.cpp: fixed a regression bug introduced by last commit when '-i' option 7 months ago
buildall-deb.sh . HelloWorld.html: added JS example 'hellowld' 1 week ago
buildall-fed.sh . buildall-fed.sh: added which to the installation list, because docker version 1 week ago
cfg4gmssl.sh . updcfg.py.in, configure.ac, tools/Makefile.am, cfg4gmssl.sh, cfg4ssl.sh: fixed 11 months ago
cfg4ssl.sh . updcfg.py.in, configure.ac, tools/Makefile.am, cfg4gmssl.sh, cfg4ssl.sh: fixed 11 months ago
fusetest.sh . fusetest.sh, runtest.sh.in: added more log dump on error return 5 months ago
gmsslkey.sh . gmsslkey.sh, opensslkey.sh: removed adding instcfg.sh to instsvr.tar or 7 months ago
initkrb5.sh . rpcfg.py: added methods for setting up a test KDC server 8 months ago
initws.sh . initws.sh: added a check to avoid duplicate entries in hosts file 8 months ago
krbparse.py . krbparse.py, updk5cfg.py: moved FindRealm and FindSection from updk5cfg.py to 8 months ago
makerpcf.sh . c-cpp.yml, control.in, configure.ac, Dockerfile, buildall-deb.sh, 3 weeks ago
opensslkey.sh . gmsslkey.sh, opensslkey.sh: removed adding instcfg.sh to instsvr.tar or 7 months ago
rpcfg.py . msgmatch.js: fixed a minor bug. 2 months ago
rpcfgnui.py . control.in, rpcf.spec.in, rules.in, configure.ac, testypes/maincli.cpp, 7 months ago
runtest.sh.in . fusetest.sh, runtest.sh.in: added more log dump on error return 5 months ago
updcfg.py.in . portstat.h: made a change to CPortState to use the lock of the parent Port 4 months ago
updgmskey.py . updgmskey.py: fixed a bug that prevent gmssl test from being configured 12 months ago
updinitcfg.py . wscfg2.json.in: fixed a bug, that currently gmssl does not support connection 12 months ago
updk5cfg.py . ipc/dllexp.cpp, rpc/dllexp.cpp, ipc/fastrpc.cpp: fixed the regression bug due 7 months ago
updwscfg.py . ipc/dllexp.cpp, rpc/dllexp.cpp, ipc/fastrpc.cpp: fixed the regression bug due 7 months ago

README.md

RPC Router config Tool

rpcfg.py is a GUI tool for rpcrouter configuration. It generate the configuration files including driver.json, router.json, rtauth.json, and authprxy.json. Please refer to this article, for rpcrouter's concept. The UI dialog has the following tab pages

  • Connection page. Mainly to setup the IP address and port number to listen to remote connections. It is recommended not to use 0.0.0.0 whenever possible. Otherwise, you have to manually setup the destination IP addresses in router.json, rtauth.json and authprxy.json.
    rpcfg tab1

  • Security Page. The infomation on this page takes effect only when you have enabled the related options on the Connection Page. The detailed illustration of generation of key and certification files can be found at SSL. And the explaination of Auth Information can be found here.
    rpcfg tab2

  • Multihop Page. To add or remove the downstream nodes which also provide RPC services to the remote client. And this link is an introduction to multihop technology. The parameters are for the current rpcrouter to connect to the downstream node, but not for connections from the user clients.
    rpcfg tab3

  • Load Balance Page. Based on the multihop technology, rpcrouter can easily be configured to have the load balance support. However, currently the load balance support just one policy, the round robin. And you can refer to this article for more information.
    rpcfg tab4

Depending on the location of rpcfg.py, the set of config files updated will be different. If rpcfg.py is under the installation directory, it will update all the config files installed. If rpcfg.py is under the source tree, it will update all the config files under the source tree, which will finally go to the installation directory by make install. rpcfg.py accepts a command line option -c, to config the local host to be a client only. The UI has just connection and security tabs.

rpcfgnui.py is a command line config tool in case the target host is not running X. There are two steps to get the settings update.

  • Setting up the parameters with rpcfg.py on your desktop host, and uses the SaveAsbutton to generate the config file, initcfg.json.
  • copy the initcfg.json to the target host, and type python3 rpcfgnui.py initcfg.json. You may want to use sudo when you are updating the config files in the priviledged directory.
  • rpcfgnui.py have the same behavor as rpcfg.py in updating the different set of config files according to its location.

Quick Start with Dockerfile

If you are familiar with docker, you can use this tool to quickly setup the building/running environemt.

  • Open a terminal, and download the Dockerfile as shown above.
  • Type docker build -t 'rpcf-buildenv' . in the same directory the Dockerfile is downloaded.
  • You can tweak Dockerfile to customize the image you want to build. Ubuntu Focal (20.04LTS) is a tested platform, higher version of Ubuntu would be more preferable.
  • This is a minimum environment without X, and for test purpose the server is set to listening to 127.0.0.1.
  • You can use use rpcfgnui.py to update the container's settings as described in the above section.