Commit ae898e44dfb1d530f78169c9854395515b450882

Authored by Georg Hopp
1 parent 75b3ca4a

prepare release 0.1.8

  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 +
... ...
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
  1 +README.md
\ No newline at end of file
... ...
... ... @@ -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>
... ...
... ... @@ -18,6 +18,11 @@
18 18
19 19 <h2>What is taskrambler</h2>
20 20
  21 +<h3>Latest news/changes.</h3>
  22 +
  23 +You can see the latest news/changes
  24 +<a href="documentation.html#latest">here</a>.
  25 +
21 26 <h3>What is it right now.</h3>
22 27
23 28 <p>
... ...
... ... @@ -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;
... ...
... ... @@ -302,6 +302,10 @@ div.border .br {
302 302 color: rgb(255,253,200);
303 303 }
304 304
  305 +#main {
  306 + position: relative;
  307 +}
  308 +
305 309 #main a {
306 310 text-decoration: none;
307 311 font-weight: bold;
... ...
  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"
... ...
... ... @@ -101,7 +101,7 @@ main()
101 101 setrlimit(RLIMIT_NOFILE, &limit);
102 102
103 103 init_signals();
104   - daemonize();
  104 + //daemonize();
105 105
106 106 shm = shm_open("/fooshm", O_RDWR|O_CREAT, S_IRWXU);
107 107 if (-1 == ftruncate(shm, psize)) {
... ...
Please register or login to post a comment