-
Notifications
You must be signed in to change notification settings - Fork 18
/
TODO
152 lines (115 loc) · 6.54 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
ttylog TODO:
---------------------------------------------------------------------------
README.md
- Use markdown to make the lists into bulleted lists (Web Sites and
Support and Code).
- Put spaces around the "|" char in the Usage line?
---------------------------------------------------------------------------
- 22 Dec 2017
$ make
Scanning dependencies of target ttylog
[ 50%] Building C object CMakeFiles/ttylog.dir/ttylog.c.o
/home/jame/Projects/ttylog/ttylog.git/ttylog.c: In function ‘main’:
/home/jame/Projects/ttylog/ttylog.git/ttylog.c:190:31: warning: ‘baud’ may be used uninitialized in this function [-Wmaybe-uninitialized]
cfsetispeed (&newtio, BAUD_B[baud]);
~~~~~~^~~~~~
[100%] Linking C executable ttylog
[100%] Built target ttylog
- Yet is that actually true? Thought it's being initialized to "-1" at
line 53?
--------------------------------------------------------------------------------
6/26/2016
-----------
- Error reported in at GH regarding errors related to OS X not having the librt
library needed for the '-t' option.
https://sourceforge.net/p/ttylog/bugs/9/
https://github.com/rocasa/ttylog/issues/6
- looks like a work around would be to bypass the '-t' option altogether when
compiling OS X. Perhaps enclosing the code for the '-t' option with an 'if'
clause that just prints that the '-t' is not available when the librt library
is not available. That way the option is still there but the compile won't
fail on OS X. (It's already set not to link on "APPLE".)
---------------------------------------------------------------------------
- https://sourceforge.net/p/ttylog/feature-requests/8/
Add functionality to enable the creation of RPM source and binary archives,
at least starting out with the default (minimal) ones that can be created
using the CMake functionalty that is available. Reference also:
https://cmake.org/Wiki/CMakeUserUseRPMTools
https://cmake.org/Wiki/CMake:CPackPackageGenerators
- My only need to add it to the 'list' of generators?
---------------------------------------------------------------------------
https://sourceforge.net/p/ttylog/bugs/7/
- 14 Feb 2013: in the code parsing the '-d|--device' parameter, an if/else
stanza is used to set the modem_device variable if a device is actually
listed, also taking care of the issue for if the device name is too long;
but the else clause is there but empty. Is the else clause actually
needed? The first step after the parameter passing and just a few lines
later is checking the length of the modem_device name and failing out
if "no device is set". Move that length check to the else clause?
Also; is that "!strcmp" enough? There are actually three not two
possible results to that comparision.
-> these also may be resolved by changing to use getopts or getopts long
or one of the other commandline parsing libraries
- June 2015: or would it be better to change to using getopts_long()?
- there had been at feature request type thing that included an added
option, though the patch they included (on an older version) did not
appear to include the code for it.
- this is still present with v0.29
- this should error out because of the bad option '--b', when there is
only supposed to be '-b' or '--baud' option, but doesn't. This may b
resolved but changing to use the standard getopt or the arg_parse
(Argp) library.
/usr/sbin/ttylog --b 2400 -d /dev/ttyS0
- Other argument for updating it to use getopts; the following should
fail because there is no '-c' option:
root@rjcpc:/home/jame/Projects/ttylog/work# ./ttylog -c 4 -b 2400 -d /dev/ttyUSB0
http://www.gnu.org/software/libc/manual/html_node/Parsing-Program-Arguments.html
http://www.gnu.org/software/libc/manual/html_node/Getopt-Long-Option-Example.html
---------------------------------------------------------------------------
- Looks like I need to work on the hardening issues at the source, as the
current pkg build under stretch now results in no hardening related
lintian results but it needs more investigation because this shows on
Debian Stretch with gcc v5.3.1-21:
$ hardening-check --verbose ttylog
ttylog:
Position Independent Executable: yes
Stack protected: no, not found!
Fortify Source functions: yes (some protected functions found)
unprotected: fgets
unprotected: strncpy
protected: printf
protected: fdelt
Read-only relocations: yes
Immediate binding: yes
----------------------------------------------------------------------------
- https://sourceforge.net/p/ttylog/bugs/8/
- June 2016: compile time warnings, found building v0.28 for debian
/usr/bin/cmake -E cmake_progress_report /tmp/buildd/ttylog-0.28/obj-x86_64-linux-gnu/CMakeFiles 1
[100%] Building C object CMakeFiles/ttylog.dir/ttylog.c.o
/usr/bin/cc -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -D_FORTIFY_SOURCE=2 -I/tmp/buildd/ttylog-0.26 -o CMakeFiles
/ttylog.dir/ttylog.c.o -c /tmp/buildd/ttylog-0.28/ttylog.c
/tmp/buildd/ttylog-0.28/ttylog.c: In function 'main':
----------------------------------------------------------------------------
For v0.3n ?
- Now have splint installed and a simple 'splint ttylog' results in
multiple issues found with the header files.
- use 'splint' to check the code?
- had an issue with 'splint', so installed adlint; issues with that as
well. Need to learn more about either.
----------------------------------------------------------------------------
- Change the ttylog.8 file to be an asciidoc source file, then add the
necessary steps to CMakeLists.txt to get at least the man page from that
& perhaps also an optional html version doc file as well?
-------------------------------------------------------------------------------
- Build in Debian Stretch in June 2016 results in the following from Lintian:
P: ttylog source: debian-watch-may-check-gpg-signature
https://lintian.debian.org/tags/debian-watch-may-check-gpg-signature.html
- Investigate using my GPG key to sign upstream tarball; I already use it
to sign the tags in the code repository.
- this is specific to adding such to a release at github but also notes how to create
the sig to begin with
https://wiki.debian.org/Creating%20signed%20GitHub%20releases
- This is the example given at step 6, which should "give a file called mysoftware-0.4.tar.gz.asc".
Although I think I'd need to include something specifiying the key to use.
gpg --armor --detach-sign mysoftware-0.4.tar.gz
------------------------------------------------------------------------------