| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|/
|
|
|
|
|
|
|
|
| |
Various portability fixes for FreeBSD. POSIX requires shm file names
to start with a "/" to be portable. lseek(2) can be undefined on
POSIX shm, replaced with ftruncate(2). IRMd check on existing lockfile
more portable.
FreeBSD 11.0 is preferred as it natively supports robust mutexes.
Full working LLC implementation pending.
|
|
|
|
|
| |
All includes of <errno.h> within ouroboros are replaced with the
ouroboros errno.
|
|
|
|
|
|
|
| |
This will make the library check if the user has permissions to
execute the binary when auto is set. This prevents writing malicious
software that would use the irmd to execute other applications to
which the user has no access.
|
| |
|
|
|
|
|
|
|
| |
The bind tool and the auto_execute function will check if the binary
exists and is executable.
Return value of auto_execute corrected to pid_t
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This changes the IRM API after discussions with Dimitri. The register
operation is now split into a bind and register operation. The same
for unregister; unbind and unregister. PIDs are now used as the
application instance name. A name for a PID is only provided for
scriptability in bash. It is therefore also no longer passed down to
the IPCP. Every operation on an IPCP through the IRM API has to use
the PID. Quering of the PIDs by name is possible. The IRM tool has
been updated to use this new API as well. A subcommand 'ipcp' has been
added for operations that take effect on IPCPs only.
Fixes #12
|
|
|
|
|
| |
paths cannot start with "/" or PREFIX will be omitted. PREFIX must be
set before the project() call.
|
|
|
|
|
|
| |
The installation prefix was taking a trailing backslash, while it is
common not to do so. Fixed it so that any trailing backslash is
removed by the compilation and installation scripts.
|
|
|
|
|
|
|
|
|
| |
This sets the correct install directories for all the binaries,
library and header files. It also sets the right permissions on the
sockets and shared memory so that regular users can also use the
ouroboros library. Root privileges are required to run the irmd.
Fixes #7
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The registration function has been moved to the irm tool, applications
now need to be registered by an administrator. Currently only supports
one instance per registered name, and an AP can be registered under
only one name.
The irmd can now start a registered server application on demand.
For the full functionality of the tool, execute "irm register".
AP name removed from flow allocation. Flow allocation does not send
the source ap name as it is quite useless. The accept() call now only
returns the AE name.
|
|/
|
|
|
| |
This adds a shim over LLC over Ethernet. It uses the raw socket API to
send messages directly over an interface.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This introduces an IPC process that relays data between two local AP's
over the shm_du_map. Only configuration it has is a DIF name.
It required small modification elsewhere:
lib: added support for the IPCP_LOCAL type
irm: added support for the IPCP_LOCAL type
dif_config: added the IPCP_LOCAL type
tools: added support for the IPCP_LOCAL type
|
|
|
|
|
| |
A wrong log message was being printed if the bootstrap command was
called with a wrong parameter.
|
|
|
|
|
| |
ipcp_create now returns the pid of the created process to allow for
more efficient scripting.
|
|
|
|
|
|
|
|
| |
All instance-id's in ouroboros will be set by the system to the pid of
the process associated with this application process instance. This
means that the user has no way to choose the instance id's. Function
calls that assumed manually defined instance id's have been replaced
throughout the system.
|
|
|
|
|
|
|
|
|
|
|
| |
Basic functions for implementation of IPC processes, and
implementation of core functions of the shim IPCP over UDP. Updates
to the build system to compile these IPC processes, as well as some
fixes in the irmd (rudimentary capturing exit signals) and some fixes
in the library, mainly relating to the messaging.
Basic implementation of creation / bootstrapping / deletion of the
shim UDP. Placeholders for other functions.
|
|
|
|
|
| |
This changes the name of the IPCP types after discussions with
Dimitri.
|
|
|
|
|
| |
This updates irm bootstrap so that the parameters from the struct
dif_config can be correctly filled in from the command line.
|
|
|
|
|
|
|
|
|
| |
This adds dif_config to the prototype, in which one is able to specify
the parameters a DIF should have. The bootstrap operation of an IPCP
takes this as parameter and is oblivious to whether it is a shim or a
normal IPCP. The dif_config struct is also correctly serialized and
deserialized and passed opaquely to the correct IPCP. This IPCP is in
charge of deserializing it correctly.
|
|
|
|
|
| |
Removes name_is_equal. Just using instance_name_cmp is encouraged. It
also removes a wrong initialization in the irm tool.
|
|
|
|
|
| |
all functions taking a char * ap_name and uint id now take either a
instance_name_t or instance_name_t *
|
|
|
|
|
|
| |
Removes rina_name_t from that API. Passing ap_name and api_id as
params instead. The IRM tool has been updated accordingly. Some errors
in the build related to protobuf-c have also been resolved.
|
|
|
|
|
|
| |
This adds several messages for the dev.h API calls to communicate with
the IRM daemon. The deserializing of these messages is still missing
and the irmd hasn't been updated with them either.
|
|
|
|
|
|
| |
This adds a simple echo application written to show application how to
use the API. It also updates the dev.h header file with the insights
gained from performing this excercise.
|
|
|
|
|
| |
fixed a signed-unsigned mismatch in du_buff.c
fixed an uninitialised variable in irm
|
|
|
|
| |
This adds helper functions for RINA names, to aid with handling them.
|
|\
| |
| |
| | |
Testing framework
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This adds a build target 'check', which executes a test suite for
every daemon/library. Every test suite consists of a test driver that
executes a function in a file with the same name as the function. The
compile_debug script executes the 'check' target to validate there are
no regressions. Packaging is also fixed and the prototype can be
shipped as a tarball.
|
| |
| |
| |
| |
| | |
common.h: dif_info renamed to dif_config
missing struct fixed
|
| |
| |
| |
| | |
This adds the word daemon to the description of the IRM tool.
|
| |
| |
| |
| |
| |
| |
| | |
This commit makes all IRM calls available to the user of the 'irm'
tool. The bootstrap_ipcp call does not yet take the anything except
the AP name. This will be added once we stabilize what should be
configurable in the IPCP.
|
| |
| |
| |
| |
| |
| | |
This parses the arguments passed to irm at the top level, and also the
arguments supplied when calling irm create_ipcp. It subsequently calls
irm_create_ipcp with these arguments.
|
|/
|
|
|
| |
This adds initial support to the irm tool for parsing command line
parameters.
|
|
|
|
|
|
|
| |
This provides the other messages that are used to communicate between
the library and the IRM Daemon. The IRM tool just calls the library
right now to see if it works. A full fledged program will be provided
in a next commit.
|
|
|
|
|
|
|
| |
Provides the initial support to create IPCPs via a command-line
tool. It extends the socket layer with a message that is sent over a
socket to the irmd when the irm_create_ipcp library function is called
from a program.
|
|
|
|
|
| |
This provides the initial messages to be passed between the irmd and
libouroboros-irm.
|
|
This renames the daemons to end with a 'd', as is common for UNIX
daemons. It also adds a tools folder, that will hold the tools of the
Ouroboros prototype. Examples are a simple echo application, an
application to instruct the IRM ...
|