A small update.
In late March I released agros-0.2.0. (shortly followed by 0.2.1). The focus was mainly put on refactoring the code (turns out I'm a by-the-book maniac). I also did a major work on the Makefile, in order to create something flexible enough to allow easy packaging for distros (I'm not planning on doing this myself for now, but if anyone - hussam - wants to do it, please be my guest).
Today I release
agros-0.3.0. Some notable features:
* User profiles: you can define allowed commands per users in the same conf file. The profiles are based on the system username.
* Using syslog: the underlying UNIX log daemon to handle logging.
* loglevel: you can define a loglevel from 0 to 3.
0 - Don't log anything
1 - Log only forbidden input
2 - Log failed commands (including forbidden ones)
3 - Log everything.
* Defining "*" as an allowed command: In order to allow all the commands.
* Welcome message: A message that would be printed on launch of the shell
* Enhanced help function.
Under the hood, AGROS now queries the kernel in order to get info like username or home directory. I also developed cool structures to manage stuff like configuration (allowing easy profile system) or built-in functions (I am particularly proud of the "env" function).
It's kinda cool to do such a recap, because it makes me realize the progress that has been made since the past month and a half.
I am facing some issues, that would be too complex to present here (they would need some grasping of the code). I would love to get in contact with some C expert to help me solve my issues. If you're willing to help, give me a shout.
Anyway, that's all. As usual, I am constantly asking for volunteers to help me work on this project, regardless of technical skills. The only requirement would be basic C knowledge (what's a structure, what's a pointer, there you go), and access to a Unix machine. Some of you have shown interest, only one developer participated so far.
That's all :^D