Age | Commit message (Collapse) | Author |
|
Added static compilation dependencies for linux and modified ntcoin to use them. A future commit will do the same for OpenBSD and FreeBSD.
|
|
TCOIN_PASS_RESET_CONTACT_EMAIL to parameterise contact details
Parameterised contact details via TCOIN_ERR_CONTACT_EMAIL and TCOIN_PASS_RESET_CONTACT_EMAIL will allow them to be customised for tilde.green's tcoin
|
|
I have just maken `which nano` to be \$EDITOR
|
|
I've tried to add try-catch blocks in those cases where fork()s fail.
It doesn't quite work well though.
|
|
This will allow pcoin accounts to be transferred from one person to another
|
|
ntcoin creates a new tcoin directory structure, and copies relevant files. Some permissions were set wrongly by ntcoin and its variants. Those have been fixed now.
|
|
Thanks to ~jmjl, I was able to find that pcoin_keys didn't work. To fix it, tcoin uses sneaky magic but with stdin isntead of an argument, and a new library imported called popen2, that lets me send both stdin and receive stdout, to successfully get "ls <path to the pcoin_keys directory>" to work (it execl's another instance of the tcoin comand so that it runs under setuid instead of as the original user who ran it.
|
|
single file
This is preparing tcoin/pcoin for the automatic registration of program accounts.
Eventually, I want program accounts to be tradeable by there being a way to regenerate a new key.
So, send the current key to whomever you want the program account to be used by, then the new owner regenerates the key
to complete the transfer. The old owner will no longer be able to use the old key to operate the new account. The key is
long and the key generation random enough for key collisions to be virtually impossible.
|
|
1. Custom host name now possible in tcoin --help
2. Changes to ntcoin and ntcoin_openbsd_tildeinstitute to fix a bug in -d/--def.
3. Changes to ntcoin and ntcoin_openbsd_tildeinstitute to check for the correct number of arguments.
4. Changes to ntcoin and ntcoin_openbsd_tildeinstitute to include the host name as a preprocessor constant.
|
|
I have created a version of ntcoin that works on tilde.institute's OpenBSD system. I suppose I have to make ntcoin better by using something like make and more POSIX-compliant.
|
|
It wasn't useful.
|
|
<vertical-tab>
Newlines and vertical tabs in messages are replaced with <new-line> and <vertical-tab> to prevent transaction spoofing inside a message.
|
|
ntcoin's help said "tcoin subdirectories" for the first path argument. It was not clear whether this argument should include "/tcoin" or not. Now, this has been made clearer so that it means the 'tcoin' directory itself.
|
|
Fixed a typographical error in ntcoin (there was an extra ').
|
|
To ensure that builds are verifiable, tcoin_defs.cpp and pcoin_defs.cpp are copied from tcoin/bin to ~/bin (i.e., to the same directory as the 'tcoin' and 'pcoin' executables)
|
|
A small error was present in ntcoin, where a chmod on a file that may not exist was blocking the execution of future commands due to failing. Now, the command is always set to succeed.
|
|
Fixed a bug in ntcoin where the symlinks from tcoin/bin/compile_tcoin and tcoin/bin/edit_tcoin to ~/bin/compile_tcoin and ~/bin/edit_tcoin are made properly. The previous command did something else.
|
|
ntcoin would accept no number of basecoins <n>. Now, there is a check added near the beginning for <n> existing and being a non-negative integer.
|
|
ntcoin had an error in the way it created compile_pcoin. compile_pcoin had a missing \ at the end of the line (for line continuation). This bug has now been fixed.
|
|
pcoin_defs.cpp and tcoin_defs.cpp contained definitions which were used in one but not the other. ntcoin now only includes those definitions in either which are used by the respective source file (and no other definitions).
|
|
ntcoin creates the scripts edit_tcoin and edit_pcoin. Now, instead of assuming 'nano' is included at /bin/nano, it uses `which nano` to determine where 'nano' is included in the current system. Quotation marks are used around 'nano''s file argument to increase robustness around spaces in file paths.
|
|
In order to be robust against spaces present in the directories passed to ntcoin, quotes around the additional directory to search for includes (g++ -I) and the output file directory specified in g++ are now included in ntcoin.
ntcoin generates the compile_tcoin and compile_pcoin scripts.
|
|
The KROWBAR_OFF, DA_OFF and MINERCOIN_OFF symbolic constants are now included in tcoin_defs.cpp and pcoin_defs.cpp and have been removed from the main source files, tcoin.cpp and pcoin.cpp.
ntcoin has been modified to include #define KROWBAR_OFF, #define DA_OFF and #define MINERCOIN_OFF in pcoin_defs.cpp and tcoin_defs.cpp by default, since those three features are only (as of now) available on the tilde.town server and on no other server.
|
|
I realised that different tilde servers will have different definitions but the same code otherwise, and 'git push' and 'git pull' to update the code on other servers would override those definitions.
Thus, the tcoin.cpp and pcoin.cpp files now look the same for all tildeservers and have a #include "tcoin_defs.cpp" and #include "pcoin_defs.cpp" respectively. The configuration, which is in the form of #define symbolic constants, is stored in tcoin/bin/tcoin_defs.cpp and tcoin/bin/pcoin_defs.cpp. ntcoin is modified to create these two files with the right definitions. ntcoin is also modified so that compile_tcoin and compile_pcoin now include the -I option, which instructs the compiler to look for includes in additional directories, in this case, tcoin/bin .
|
|
Previously, the executables 'tcoin' and 'pcoin', which had setuid set, were stored in tcoin/bin/*. However, the "tcoin" directory is restricted, so any executables inside it are inaccessible to users.
To fix this, the compile_tcoin and compile_pcoin scripts have been modified to store the executables in a third specified directory, called the <bin dir> in the help. <bin dir> will be accessible to all users. The symbolic constants/preprocessor directives have also been changed to reflect the updated paths.
|
|
I had missed two symbolic constants that are present in pcoin.cpp but not tcoin.cpp. Those two have been added now.
|
|
1. Single quotes closed before command substitutions, and opened again right after them. (Some cases were missed previously.)
2. The u+s mode/permission is used on all subdirectories of the tcoin directory and the tcoin directory itself now, so that files created are owned by the owner of the containing directory by default. This will prevent the class of bugs that would arise when files are created through the tcoin executable (which has the setuid bit set).
3. A mistake in the file name and location of the base amount (tcoin/base/base.txt) was corrected.
|
|
directories
This option was added to allow the #define configuration to be reprinted even if ntcoin was already used to recreate tcoin's subdirectory structure.
|
|
|
|
Uses "realpath" to get rid of all trailing slashes and check that each directory in the path supplied exist (other than the innermost directory).
|
|
tcoin and pcoin
1. Sets up all relevant directories, scripts and binaries for tcoin and pcoin, assuming the current directory is right inside the GitHub repo (same depth as the LICENSE file).
2. Creates soft-links to the executables in "bin" folder inside the "tcoin" folder in the "~/bin" folder.
3. Prints the relevant preprocessor directives to be put in tcoin.cpp and pcoin.cpp (without actually putting it in those two files).
Because of 3. above, the tcoin.cpp and pcoin.cpp files will have to be modified again, after which "compile_tcoin" and "compile_pcoin" can be called again to update the binaries.
|