Showing
15 changed files
with
538 additions
and
77 deletions
1 | +2013-11-26 Georg Hopp georg@steffers.org | |
2 | + * M assets/js/application.js: | |
3 | + * M assets/js/session.js: | |
4 | + update user informations when session timeouts | |
5 | + * M src/http/parser/p_post_vars.c: | |
6 | + fix urldecode of post vars. I can't urldecode the whole | |
7 | + body and then start splitting it into values because the | |
8 | + urldecode can add reserved characters. I have to urldecode | |
9 | + each value by it's own. TODO: check if the keys have to be | |
10 | + urldecoded too. | |
11 | + * M include/utils/http.h: | |
12 | + * M src/http/parser/p_post_vars.c: | |
13 | + * M src/utils/http.c: | |
14 | + urldecode post values | |
15 | + * M src/taskrambler.c: | |
16 | + more valgrind indicated fixes | |
17 | + | |
18 | +2013-11-25 Georg Hopp georg@steffers.org | |
19 | + * M src/http/worker/get_asset.c: | |
20 | + reduce expire for assets to 12 hours...currently I expect | |
21 | + changes even more often. At the end this is another condidate | |
22 | + for the configuration file. | |
23 | + * M src/application/controller/signup/create.c: | |
24 | + * M src/application/controller/user/create.c: | |
25 | + * M src/application/controller/user/update.c: | |
26 | + * M src/application/create_user.c: | |
27 | + * M src/application/login.c: | |
28 | + * M src/application/update_password.c: | |
29 | + * M src/application/update_user.c: | |
30 | + * M src/config/config.c: | |
31 | + * M src/config/value.c: | |
32 | + fixed various memory management issues detected with valgrind | |
33 | + | |
34 | +2013-11-24 Georg Hopp georg@steffers.org | |
35 | + * D assets/js/session.orig.js: | |
36 | + remove obsolete file | |
37 | + * M Makefile.am: | |
38 | + * M assets/html/_menu.html: | |
39 | + * A assets/html/_myaccount.html: | |
40 | + * M assets/html/layout.html: | |
41 | + * M assets/js/application.js: | |
42 | + * M assets/js/init.js: | |
43 | + * M assets/js/menu.js: | |
44 | + * M assets/style/common.css: | |
45 | + * M assets/style/taskrambler.css: | |
46 | + * M include/application/application.h: | |
47 | + * M src/application/Makefile.am: | |
48 | + * A src/application/controller/_get_credential_from_args.c: | |
49 | + * A src/application/controller/_get_user_from_args.c: | |
50 | + * M src/application/controller/_process_user_create_args.c: | |
51 | + * A src/application/controller/_update_user_from_args.c: | |
52 | + * A src/application/controller/user/update.c: | |
53 | + * A src/application/update_user.c: | |
54 | + * M src/http/worker/process.c: | |
55 | + * M src/router/route.c: | |
56 | + basic user update functionality | |
57 | + * M Makefile.am: | |
58 | + add missing javascript files and optimize symlink creation | |
59 | + * M src/storage/storage.c: | |
60 | + create database files world read-/writable | |
61 | + * M Makefile.am: | |
62 | + install working directories as world read-/writeable and | |
63 | + symlink layout instead of installing the files. | |
64 | + | |
65 | +2013-11-11 Georg Hopp georg@steffers.org | |
66 | + * M assets/html/layout.html: | |
67 | + * A assets/js/application.js: | |
68 | + * M assets/js/init.js: | |
69 | + * A assets/js/menu.js: | |
70 | + * M assets/js/session.js: | |
71 | + * A assets/js/session.orig.js: | |
72 | + * A assets/js/user.js: | |
73 | + some work on the javascript... | |
74 | + still I think it's not very good, but better than before. | |
75 | + | |
76 | +2013-11-10 Georg Hopp georg@steffers.org | |
77 | + * M Makefile.am: | |
78 | + * M assets/html/layout.html: | |
79 | + * A assets/js/jquery.ui.touch-punch.min.js: | |
80 | + add jQuery ui touch-punch for draggable support on | |
81 | + mobile devices. Thanks to Dave Furfero. | |
82 | + * M assets/js/session.js: | |
83 | + * M include/user.h: | |
84 | + * M src/application/controller/_process_user_create_args.c: | |
85 | + * M src/application/controller/currentuser/read.c: | |
86 | + * M src/application/login.c: | |
87 | + * M src/user/user.c: | |
88 | + add username to user class. This will contain the common | |
89 | + name (cn) of an ldap authenticated user and the email | |
90 | + address of an otherwise authenticated user. This is done | |
91 | + to be able to have a good way to store an application user | |
92 | + for ldap authenticated users. | |
93 | + * M include/application/application.h: | |
94 | + * M src/application/application.c: | |
95 | + * M src/taskrambler.c: | |
96 | + use the new authentication container | |
97 | + * M include/auth/auth.h: | |
98 | + * M src/auth/Makefile.am: | |
99 | + * A src/auth/auth.c: | |
100 | + * A src/auth/create.c: | |
101 | + created an authentication container. This could initialize | |
102 | + the needed authentications and then be injected as a single | |
103 | + object into the application class | |
104 | + * M include/class/interface/class.h: | |
105 | + * M src/class/interface/i_class.c: | |
106 | + add function to create an object with a va_list pointer | |
107 | + instead of its argument list. Obviously the va_list must | |
108 | + contain the correct values for the class constructor. | |
109 | + | |
110 | +2013-11-09 Georg Hopp georg@steffers.org | |
111 | + * M assets/html/_author.html: | |
112 | + * M assets/html/_login.html: | |
113 | + * M assets/html/_signup.html: | |
114 | + * M assets/html/layout.html: | |
115 | + * M assets/js/init.js: | |
116 | + * M assets/style/common.css: | |
117 | + * M assets/style/taskrambler.css: | |
118 | + make signup and login popup visually more fitting to the | |
119 | + rest of the pages. | |
120 | + | |
121 | +2013-11-08 Georg Hopp georg@steffers.org | |
122 | + * M assets/html/layout.html: | |
123 | + * M assets/js/init.js: | |
124 | + * M assets/style/common.css: | |
125 | + make login and signup div draggable and cast shadows | |
126 | + * M Makefile.am: | |
127 | + install jqeury ui files | |
128 | + * A assets/js/jquery-ui-1.10.3.min.js: | |
129 | + * A assets/js/jquery-ui.js: | |
130 | + * A assets/style/images/animated-overlay.gif: | |
131 | + * A assets/style/images/ui-bg_flat_0_aaaaaa_40x100.png: | |
132 | + * A assets/style/images/ui-bg_flat_75_ffffff_40x100.png: | |
133 | + * A assets/style/images/ui-bg_glass_55_fbf9ee_1x400.png: | |
134 | + * A assets/style/images/ui-bg_glass_65_ffffff_1x400.png: | |
135 | + * A assets/style/images/ui-bg_glass_75_dadada_1x400.png: | |
136 | + * A assets/style/images/ui-bg_glass_75_e6e6e6_1x400.png: | |
137 | + * A assets/style/images/ui-bg_glass_95_fef1ec_1x400.png: | |
138 | + * A assets/style/images/ui-bg_highlight-soft_75_cccccc_1x100.png: | |
139 | + * A assets/style/images/ui-icons_222222_256x240.png: | |
140 | + * A assets/style/images/ui-icons_2e83ff_256x240.png: | |
141 | + * A assets/style/images/ui-icons_454545_256x240.png: | |
142 | + * A assets/style/images/ui-icons_888888_256x240.png: | |
143 | + * A assets/style/images/ui-icons_cd0a0a_256x240.png: | |
144 | + * A assets/style/jquery-ui-1.10.3.min.css: | |
145 | + * A assets/style/jquery-ui.css: | |
146 | + add jquery ui for nice ui effects | |
147 | + * A docs/ups-cookie_disclosure.pdf: | |
148 | + * M TODO: | |
149 | + update TODO | |
150 | + | |
151 | +2013-11-07 Georg Hopp georg@steffers.org | |
152 | + * M assets/html/_footer.html: | |
153 | + * M assets/js/init.js: | |
154 | + * M include/application/application.h: | |
155 | + * M src/application/Makefile.am: | |
156 | + * M src/application/application.c: | |
157 | + * A src/application/controller/loc/read.c: | |
158 | + display lines of code in page footer | |
159 | + * M configure.ac: | |
160 | + add lines of code to config.h ... | |
161 | + make me able to display these in the application | |
162 | + * M Makefile.am: | |
163 | + add make target to measure lines of code | |
164 | + * M include/application/application.h: | |
165 | + * M src/application/Makefile.am: | |
166 | + * M src/application/create_user.c: | |
167 | + * D src/application/signup.c: | |
168 | + remove no longer used application signup method | |
169 | + * M .gitignore: | |
170 | + * M Makefile.am: | |
171 | + create make target for ctags file and ignore the generated | |
172 | + file with git | |
173 | + | |
174 | +2013-11-06 Georg Hopp georg@steffers.org | |
175 | + * M assets/js/init.js: | |
176 | + * M include/application/application.h: | |
177 | + * M src/application/Makefile.am: | |
178 | + * A src/application/controller/_process_user_create_args.c: | |
179 | + * A src/application/controller/_validate_email.c: | |
180 | + * A src/application/controller/_validate_password.c: | |
181 | + * A src/application/controller/_validate_password_repeat.c: | |
182 | + * A src/application/controller/signup/create.c: | |
183 | + * M src/application/controller/user/create.c: | |
184 | + * A src/application/controller/user/read.c: | |
185 | + * A src/application/create_user.c: | |
186 | + * A src/application/get_user.c: | |
187 | + * A src/application/update_password.c: | |
188 | + * M src/router/route.c: | |
189 | + generalise user handling more so that not only signup | |
190 | + and login is possible but also password or userdata changes | |
191 | + and further administration. | |
192 | + * M include/storage/storage.h: | |
193 | + * M src/storage/Makefile.am: | |
194 | + * A src/storage/delete.c: | |
195 | + add storage delete functionality | |
196 | + * M src/testers/uuid.c: | |
197 | + test code for zeroUuid on stack | |
198 | + * M include/user.h: | |
199 | + remove unnecessary stuff in user declaration | |
200 | + * M include/permission.h: | |
201 | + * M include/role.h: | |
202 | + some more stuff in rbac files... | |
203 | + still nothing really useful, but finally I have more or | |
204 | + less an idea how to implement it | |
205 | + * M include/uuid.h: | |
206 | + * M src/uuid/uuid.c: | |
207 | + add zero uuid instance | |
208 | + * M include/class/class.h: | |
209 | + add makros to create an instance of a class on the | |
210 | + stack (ment for global constant instances that never change, | |
211 | + eg. defined NULL values) | |
212 | + | |
213 | +2013-11-05 Georg Hopp georg@steffers.org | |
214 | + * M include/application/application.h: | |
215 | + * M include/auth/interface/auth.h: | |
216 | + * A include/interface/indexable.h: | |
217 | + * A include/interface/serializable.h: | |
218 | + * M src/Makefile.am: | |
219 | + * M src/application/application.c: | |
220 | + * M src/application/login.c: | |
221 | + * M src/application/session_cleanup.c: | |
222 | + * M src/application/signup.c: | |
223 | + * M src/auth/interface/auth.c: | |
224 | + * M src/auth/ldap.c: | |
225 | + * M src/auth/storage/storage.c: | |
226 | + * A src/interface/indexable.c: | |
227 | + * A src/interface/serializable.c: | |
228 | + * M src/taskrambler.c: | |
229 | + * M src/user/Makefile.am: | |
230 | + * D src/user/load.c: | |
231 | + * D src/user/save.c: | |
232 | + * M src/user/user.c: | |
233 | + remove specialized load and save from user, add serializable | |
234 | + and indexable interface and make user utilize both and store | |
235 | + a user and its credentials keyed by its uuid | |
236 | + | |
237 | +2013-10-27 Georg Hopp georg@steffers.org | |
238 | + * M src/uuid/version3.c: | |
239 | + * M src/uuid/version5.c: | |
240 | + delete temporary uuid data structures. | |
241 | + * M src/server/server.c: | |
242 | + NSA makes me paranoid ... | |
243 | + try to get best supported cipher of the used browser and | |
244 | + don't use RC4 at all | |
245 | + | |
246 | +2013-10-25 Georg Hopp georg@steffers.org | |
247 | + * M src/testers/uuid.c: | |
248 | + fix and test uuidCompare | |
249 | + * M configure.ac: | |
250 | + * M include/session.h | |
251 | + * M include/user.h | |
252 | + * M include/uuid.h | |
253 | + * M src/Makefile.am | |
254 | + * M src/router/route.c | |
255 | + * M src/testers/uuid.c | |
256 | + * M src/user/save.c | |
257 | + * A src/uuid/Makefile.am: | |
258 | + * A src/uuid/_format3or5.c: | |
259 | + * A src/uuid/compare.c: | |
260 | + * A src/uuid/parse.c: | |
261 | + * A src/uuid/unparse.c: | |
262 | + * A src/uuid/uuid.c: | |
263 | + * A src/uuid/version1.c: | |
264 | + * A src/uuid/version3.c: | |
265 | + * A src/uuid/version5.c: | |
266 | + add code to generate uuid version 3 and 5. | |
267 | + With this we can generate the same uuid for a given name | |
268 | + all the time | |
269 | + * A include/permission.h: | |
270 | + * D include/rbac/permission.h: | |
271 | + * D include/rbac/role.h: | |
272 | + * A include/role.h: | |
273 | + some more work on rbac | |
274 | + | |
275 | +2013-10-23 Georg Hopp georg@steffers.org | |
276 | + * M assets/js/init.js: | |
277 | + remove old deactivated json request for logout | |
278 | + * A include/uuid.h: | |
279 | + start of an own uuid class. This will simply wrap existing | |
280 | + code for random uuids and add code to generate uuid for | |
281 | + namespace unique items. | |
282 | + * M assets/js/init.js: | |
283 | + * M configure.ac: | |
284 | + * M include/application/adapter/http.h: | |
285 | + * M include/http/request.h: | |
286 | + * A include/router.h: | |
287 | + * M src/Makefile.am: | |
288 | + * M src/application/Makefile.am: | |
289 | + * M src/application/adapter/http/http.c: | |
290 | + * M src/application/adapter/http/update.c: | |
291 | + * A src/application/controller/authenticate/create.c: | |
292 | + * A src/application/controller/authenticate/delete.c: | |
293 | + * A src/application/controller/currentuser/read.c: | |
294 | + * A src/application/controller/randval/read.c: | |
295 | + * A src/application/controller/sessinfo/read.c: | |
296 | + * A src/application/controller/user/create.c: | |
297 | + * A src/application/controller/version/read.c: | |
298 | + * M src/http/Makefile.am: | |
299 | + * M src/http/request.c: | |
300 | + * A src/http/request/get_method_id.c: | |
301 | + * D src/http/request/has_valid_method.c: | |
302 | + * A src/router/Makefile.am: | |
303 | + * A src/router/route.c: | |
304 | + * A src/router/router.c: | |
305 | + * M src/taskrambler.c: | |
306 | + added a generic router. This is a REST router that maps | |
307 | + urls to specific functions which it tries to find via dlsym. | |
308 | + That way the only thing to do to get a new REST | |
309 | + functionality is to add a function that fits into the | |
310 | + namesheme. All existing functionality is moved accordingly | |
311 | + * M src/server/server.c: | |
312 | + remove not used variable | |
313 | + * M src/server/run.c: | |
314 | + change indenting | |
315 | + | |
316 | +2013-10-22 Georg Hopp georg@steffers.org | |
317 | + * M include/rbac/role.h: | |
318 | + small change to rbac role ... | |
319 | + this still is not really even started | |
320 | + * M TODO: | |
321 | + add note and thoughts about a distributed storage system | |
322 | + | |
323 | +2013-10-16 Georg Hopp georg@steffers.org | |
324 | + * M src/server/server.c: | |
325 | + if I have a socketNonblock method I should better use it. :D | |
326 | + * D include/cbufpool.h: | |
327 | + * D src/binarytree.c: | |
328 | + * D src/cbufpool.c: | |
329 | + * D src/configtest.c: | |
330 | + * D src/hash.c: | |
331 | + * D src/mmapfiletest.c: | |
332 | + * D src/mmapfiletest2.c: | |
333 | + * D src/rbtree.c: | |
334 | + * D src/rbtree2.c: | |
335 | + * D src/usertest.c: | |
336 | + * D src/uuid.c: | |
337 | + remove the moved files... :D | |
338 | + * A src/testers/binarytree.c: | |
339 | + * A src/testers/configtest.c: | |
340 | + * A src/testers/hash.c: | |
341 | + * A src/testers/mmapfiletest.c: | |
342 | + * A src/testers/mmapfiletest2.c: | |
343 | + * A src/testers/rbtree.c: | |
344 | + * A src/testers/rbtree2.c: | |
345 | + * A src/testers/usertest.c: | |
346 | + * A src/testers/uuid.c: | |
347 | + move test programs in separate folder | |
348 | + | |
349 | +2013-10-13 Georg Hopp georg@steffers.org | |
350 | + * M include/http/response.h: | |
351 | + * M src/http/response/asset.c: | |
352 | + * M src/http/worker/get_asset.c: | |
353 | + add expires header for static assets (right now 1 week | |
354 | + in the future) | |
355 | + | |
1 | 356 | 2013-10-09 Georg Hopp georg@steffers.org |
2 | 357 | * A config/taskrambler.conf.in: |
3 | 358 | add forgotten taskramble.conf.in | ... | ... |
1 | 1 | ACLOCAL_AMFLAGS = -I m4 |
2 | 2 | |
3 | -#bin_PROGRAMS = create_token | |
4 | -#create_token_SOURCES = base64.c createToken.c | |
5 | -#create_token_LDADD = src/libtoken.la $(LIBOBJS) | |
6 | -#create_token_CFLAGS = -Wall -I include | |
7 | - | |
8 | 3 | EXTRA_DIST = include certs assets |
9 | 4 | |
10 | 5 | myetc_DATA = config/mime.types \ |
... | ... | @@ -43,6 +38,7 @@ nobase_trdata_DATA = assets/html/example.html \ |
43 | 38 | assets/image/rambler-border-tr.jpg \ |
44 | 39 | assets/image/rambler-logo-small.jpg \ |
45 | 40 | assets/image/rambler-logo2-small.jpg \ |
41 | + assets/image/gplv3-127x51.png \ | |
46 | 42 | assets/js/application.js \ |
47 | 43 | assets/js/init.js \ |
48 | 44 | assets/js/jquery.js \ | ... | ... |
1 | +2013-11-28 | |
2 | + | |
3 | +I am about to make a new release 0.1.8 of this. It took a long time since | |
4 | +the last release. Originally this was ment to implement some kind of RBAC | |
5 | +but now it improves user management to have resources (users) where | |
6 | +RBAC could be used on. | |
7 | + | |
8 | +So, in this version you got improved user management and an improved UI. | |
9 | + | |
10 | +I have new hardware and with this I got really impressive result from | |
11 | +ApacheBench. I can handle the simple /version/ request about 40000 times | |
12 | +a second on a new Core I5. This is more than double of the result on my | |
13 | +old Core2Duo, and we are still single threaded. | |
14 | + | ... | ... |
README
deleted
100644 → 0
1 | -$Id$ | |
2 | - | |
3 | -Actually this is some kind of server toolkit, also containing | |
4 | -a class and interface toolkit for C. | |
5 | -I use a gcc preprocessor extension to use empty variadoc | |
6 | -argument lists so actually this is gcc only code. | |
7 | - | |
8 | -This should become a server that has a dynamic time-sliced part | |
9 | -that updates an internal state all the time. | |
10 | -Clients might connect as they want and get some information | |
11 | -from the server. | |
12 | -The server should scale in two manners. | |
13 | -New instances should be able to handle connection and get | |
14 | -updates about the computed state. | |
15 | -Additionally new instances might hold their own state which | |
16 | -all other instances might update. | |
17 | - | |
18 | -In a first run the state might be something simple as a | |
19 | -matrix where every field hold a unique value. e.g. | |
20 | - | |
21 | - ------------- | |
22 | - |1|4|a|j|k|9| | |
23 | - ------------- | |
24 | - |1|4|a|j|k|9| | |
25 | - ------------- | |
26 | - |1|4|a|j|k|9| | |
27 | - ------------- | |
28 | - |1|4|a|j|k|9| | |
29 | - ------------- | |
30 | - | |
31 | -suggestion for timing: sigsuspend |
... | ... | @@ -8,24 +8,29 @@ need any third party webserver to work. |
8 | 8 | The backend is written completely in C while the frontend will be |
9 | 9 | JavaScript, CSS and HTML. |
10 | 10 | |
11 | -When this is finished users will be able to connect to the server | |
11 | +Users will be able to connect to the server | |
12 | 12 | via their browsers, manage their tasks there and specify policies |
13 | 13 | who else might see their tasks, track the time spend on a specific |
14 | 14 | task, attach tasks to projects, getting reports about their work done, |
15 | 15 | etc. |
16 | 16 | |
17 | -Right now for the taskmanagement stuff I think of a similar approach | |
17 | +For the taskmanagement stuff I think of a similar approach | |
18 | 18 | as [taskwarrior](http://taskwarrior.org/projects/show/taskwarrior) is going. |
19 | 19 | This is an amazing tool and I really enjoy using it. |
20 | 20 | I started this as an experiment to implement an HTTP server, then I learned |
21 | 21 | about taskwarrior and thought, wouldn't it be great to have this |
22 | 22 | functionality in a multiuser environment. |
23 | 23 | |
24 | -Right now, it is a single process HTTP server implementation that performs | |
25 | -not to bad. | |
24 | +Right now, this is a single process HTTP server implementation that performs | |
25 | +not to bad. And some application logic for user management. Every connection | |
26 | +is associated with a session and user can register, login and modify their | |
27 | +user data. | |
26 | 28 | |
27 | -In the next version user will be able to create tasks and share them at | |
28 | -least on a basic level. | |
29 | +In the nearer future an role based access control system will be added. | |
30 | +Users will be able to add tasts, (for now just a text and maybe a date or | |
31 | +something) and they should be able to control who else might see a task. | |
32 | + | |
33 | +If this works reliable I will announce version 0.2. | |
29 | 34 | |
30 | 35 | The main development page can be found |
31 | 36 | [here](http://redmine.weird-web-workers.org/projects/taskrambler). |
... | ... | @@ -34,7 +39,7 @@ INSTALLATION |
34 | 39 | ------------ |
35 | 40 | |
36 | 41 | This can be installed via the usual configure, make, make install |
37 | -cycle. | |
42 | +cycle. For gentoo users am ebuild is added under docs. | |
38 | 43 | |
39 | 44 | ### API DOC |
40 | 45 | |
... | ... | @@ -47,52 +52,66 @@ neccessary. A patch is included under docs. |
47 | 52 | |
48 | 53 | gcov and lcov are needed to build these. |
49 | 54 | |
50 | -*make coverage-html* creates the converage reports. | |
55 | +The source has to be configured with *configure --enable-gcov*. | |
56 | +*make coverage-html* creates the converage reports then. | |
51 | 57 | |
52 | -### PLAY AROUND | |
53 | 58 | |
54 | -Any asset under assets could be exchanged. It should be possible to | |
55 | -change the main.html there and put additionally html files and images | |
56 | -under assets and everything should be deliverd. | |
59 | +USAGE | |
60 | +----- | |
57 | 61 | |
58 | -Anyway, there are a few rules. | |
62 | +### RUNNING | |
59 | 63 | |
60 | -* html assets will always be loaded from assets/html. | |
61 | -* all other assets are loaded directly from the assets directory. | |
64 | +Simply start the installed executable. | |
65 | +This will usually be found under */usr/local/bin/taskrambler* after | |
66 | +successfull build and installation. | |
62 | 67 | |
63 | -So, right now this can be used as a HTTP server for static content | |
64 | -and without virtual hosts support. | |
68 | +When installed with the ebuild the executable will be */usr/bin/taskrambler*. | |
65 | 69 | |
70 | +After the executable is stared you should be able to see the staskrambler | |
71 | +user interface with your browser by openening *http://localhost:11212/*. | |
66 | 72 | |
67 | -USAGE | |
68 | ------ | |
73 | +In the upper right corner you can see session and user related information. | |
69 | 74 | |
70 | -### RUNNING | |
75 | +### CONFIGURATION | |
71 | 76 | |
72 | -Simply start the executable *src/taskrambler* after successfull build. | |
73 | -Currently this will stay in the foreground and does logging via syslog. | |
77 | +A first configuration file is installed in your etc folder under | |
78 | +*taskrambler/taskrambler.conf*. The syntax of that file is described in it. | |
74 | 79 | |
75 | -### PORT | |
80 | +Currently there are only 5 settings that can be configured. | |
76 | 81 | |
77 | -The server will listen on port 11212 for HTTP requests and on port 11213 | |
78 | -for SSL requerst. | |
82 | +* ldap_base: The base for the ldap Distinguished Name (DN) for user lookups. | |
83 | +* ldap_host: The ldap server to connect to. | |
84 | +* assets_dir: Defines where taskrambler will find its assets. | |
85 | +* runtime_dir: The place where the user and credential database files are | |
86 | + stored | |
87 | +* port: The port taskrambler should run on. | |
79 | 88 | |
80 | -You can use telnet or simply start a browser and connect on localhost:11212. | |
89 | +### PORT | |
90 | + | |
91 | +Taskrambler will always connect to the port specified in the config for | |
92 | +HTTP connections. | |
81 | 93 | |
82 | -This should show up a very simplistic page. | |
83 | -It should eneable you to start a session, get values from the server | |
84 | -or login. | |
94 | +A second socket will be opened on port+1 for SSL connections. | |
85 | 95 | |
86 | 96 | ### LOGIN |
87 | 97 | |
88 | -You can't use the login without changing the code. It's implemented using | |
89 | -ldap and currently not configurable. You have to change the configuration | |
90 | -in the code and compile again. | |
98 | +Every user that can be authenticated either via LDAP or via taskramblers | |
99 | +own database can login via the login link in the menu. | |
100 | + | |
101 | +### SIGNUP | |
102 | + | |
103 | +It is possible to create a user account by clicking the signup link. | |
104 | +After a successfull signup you will be automatically logged in. | |
105 | + | |
106 | +### CHANGE USER DATA ### | |
107 | + | |
108 | +After a successfull login you have the ability to see your current account | |
109 | +informations and modify them via "my account" | |
91 | 110 | |
92 | 111 | TESTING |
93 | 112 | ------- |
94 | 113 | |
95 | -This comes with an incomplete unit test suite. | |
114 | +This comes with the start of a unit test suite. | |
96 | 115 | You can use *make test* to build and run the existent tests. |
97 | 116 | |
98 | 117 | ### REQUIREMENTS |
... | ... | @@ -105,10 +124,5 @@ CONTRIBUTION |
105 | 124 | I would really like to see some people possibly interested in this stuff. |
106 | 125 | I think it contains some really interesting ideas. |
107 | 126 | |
108 | -Well, sadly i have to say that this is a spare time project. Documentation | |
109 | -is sparse and Tests too. | |
110 | - | |
111 | 127 | If you like to contribute anyway, make a fork, do your changes and generate |
112 | -a pull request. | |
113 | - | |
114 | -I will look at these as soon as possible. | |
128 | +a pull request. Or simply contact me on georg@steffers.org. | ... | ... |
... | ... | @@ -23,6 +23,85 @@ |
23 | 23 | <a href="/coverage/@PACKAGE_VERSION@/index.html" target="_blank">here</a>. |
24 | 24 | </p> |
25 | 25 | |
26 | +<a name="latest"><h2>Version 0.1.8</h2></a> | |
27 | + | |
28 | +<p>This one took longer than expected and still does not contain what it | |
29 | +initially was meant to.</p> | |
30 | + | |
31 | +<p>My intention was to have at least some basic first RBAC in here, but | |
32 | +after some thinking about it I realized that it is difficult and meaningless | |
33 | +to create something as long as there is nothing to manage.</p> | |
34 | + | |
35 | +<p>Now a lot of work regarding the user management is done. Especially | |
36 | +there is the possibility to create user, modify them and in theory remove | |
37 | +them again. A lot of changes toop place and its best to categorize them.</p> | |
38 | + | |
39 | +<h3>UI/client</h3> | |
40 | + | |
41 | +<ul> | |
42 | + <li>Added jQueryUi and related libs</li> | |
43 | + <li>Visually improve all popups (signup, login, my account(NEW))</li> | |
44 | + <li>Reorganize the javascript code.</li> | |
45 | + <li>Display the lines of C code at the bottom of each page.</li> | |
46 | + <li>New menu entry and popup "my account". Users can see and modify | |
47 | + their data there.</li> | |
48 | +</ul> | |
49 | + | |
50 | +<h3>build system</h3> | |
51 | + | |
52 | +<ul> | |
53 | + <li>Added make target to create a ctags file for the project.</li> | |
54 | + <li>Added code to get the current number of lines of C code.</li> | |
55 | + <li>Install database files and ddirectories as world writable. | |
56 | + This is done because I notices that a fresh installation segfaulted | |
57 | + because it can't open the database files. (These segfaults should be | |
58 | + fixed also.) | |
59 | + <li>The layout symlinks are no longer copied. Instead symlinks are | |
60 | + created in the installation dir.</li> | |
61 | +</ul> | |
62 | + | |
63 | +<h3>backend/server</h3> | |
64 | + | |
65 | +<ul> | |
66 | + <li>Added a little code and some comments about RBAC.</li> | |
67 | + <li>Created a Uuid class capable of handling Uuid Version1/3/5.</li> | |
68 | + <li>Added a serializable and indexable interface</li> | |
69 | + <li>Users now have a username field which is filled with the email | |
70 | + address if the user registered directly in our application and with | |
71 | + the CN if the user is authenticated via LDAP.</li> | |
72 | + <li>Now LDAP authenticated users get an entry in our database too. | |
73 | + This gives them the possibility to change some information.</li> | |
74 | + <li>Users no longer can store themself. They implement the | |
75 | + serializable and indexable interfaces and an external function uses | |
76 | + these to finally store the user.</li> | |
77 | + <li>Users are now able to change their firstname, surename and | |
78 | + email address after the have been logged in/authenticated.</li> | |
79 | + <li>Added a generic router that converts request URIs into identifier | |
80 | + for dlsym and then call this function.</li> | |
81 | + <li>All post data is now urldecoded.</li> | |
82 | + <li>All Authentication methods are not organized in an authentication | |
83 | + container. This will try every registered authenticator to authenticate | |
84 | + the user.</li> | |
85 | + <li>The class system now allows stack stored const instances.<li> | |
86 | + <li>Instances can now be created via a va_list additionally to | |
87 | + directly given the function arguments.</li> | |
88 | + <li>All static assets are not delivered with an expire header, it | |
89 | + is currently set to 12 hours.</li> | |
90 | + <li>No RC4 is accepted for SSL connectiones...hello NSA.</li> | |
91 | + <li>The storage layer not allows the deletion of entries.</li> | |
92 | +</ul> | |
93 | + | |
94 | + | |
95 | +<h2>Version 0.1.7</h2> | |
96 | + | |
97 | +<ul> | |
98 | + <li>some reusable parts are now build as shared libraries</li> | |
99 | + <li>make install does what it should</li> | |
100 | + <li>generalize json responses</li> | |
101 | + <li>add support for a first basic configuration file</li> | |
102 | + <li>huge amount of changes in the build system</li> | |
103 | +</ul> | |
104 | + | |
26 | 105 | <h2>Version 0.1.6</h2> |
27 | 106 | |
28 | 107 | This is a bugfix release. No obvious visible changes at the UI. | ... | ... |
... | ... | @@ -24,6 +24,7 @@ Currently the following tarballs are available: |
24 | 24 | <li><a href="http://redmine.weird-web-workers.org/attachments/download/11/taskrambler-0.1.5.tar.gz">taskrambler-0.1.5</a></li> |
25 | 25 | <li><a href="http://redmine.weird-web-workers.org/attachments/download/13/taskrambler-v0.1.6.tar.gz">taskrambler-0.1.6</a></li> |
26 | 26 | <li><a href="http://redmine.weird-web-workers.org/attachments/download/15/taskrambler-0.1.7.tar.gz">taskrambler-0.1.7</a></li> |
27 | + <li><a href="http://redmine.weird-web-workers.org/attachments/download/16/taskrambler-0.1.8.tar.gz">taskrambler-0.1.8</a></li> | |
27 | 28 | </ul> |
28 | 29 | |
29 | 30 | <h2>Project page</h2> | ... | ... |
assets/image/gplv3-127x51.png
0 → 100644
3.39 KB
... | ... | @@ -24,7 +24,9 @@ $(document).ready(function() { |
24 | 24 | } |
25 | 25 | |
26 | 26 | $("#title").load("/_title.html"); |
27 | - $("#main").load(asset); | |
27 | + $("#main").load(asset, function() { | |
28 | + $("#main").append('<img id="gplv3" src="image/gplv3-127x51.png" />') | |
29 | + }); | |
28 | 30 | menu.init(application); |
29 | 31 | |
30 | 32 | $("#statusline").load("/_statusline.html", function() { | ... | ... |
... | ... | @@ -45,6 +45,14 @@ div#login-container { |
45 | 45 | z-index: 20; |
46 | 46 | } |
47 | 47 | |
48 | +#gplv3 { | |
49 | + opacity: 0.3; | |
50 | + filter: alpha(opacity=30); | |
51 | + position: absolute; | |
52 | + right: 0px; | |
53 | + bottom: 0px; | |
54 | +} | |
55 | + | |
48 | 56 | .hide { |
49 | 57 | top: -500px !important; |
50 | 58 | display: none !important; | ... | ... |
docs/taskrambler-0.1.8.ebuild
0 → 100644
1 | +# Copyright 1999-2013 Gentoo Foundation | |
2 | +# Distributed under the terms of the GNU General Public License v2 | |
3 | +# $Header: $ | |
4 | + | |
5 | +EAPI="5" | |
6 | +SLOT="0" | |
7 | + | |
8 | +DESCRIPTION="A HTTP server as a library and start of a task management tool." | |
9 | +HOMEPAGE="http://taskrambler.weird-web-workers.org/" | |
10 | +SRC_URI="http://redmine.weird-web-workers.org/attachments/download/16/taskrambler-0.1.8.tar.gz" | |
11 | + | |
12 | +LICENSE="GPL-3+" | |
13 | +KEYWORDS="~amd64 ~x86" | ... | ... |
Please
register
or
login
to post a comment