Go to file
kts 4a24277aba Added showUsers to x11.c 2014-03-09 20:51:57 -07:00
con Fixed some behavioral differences between Darwin and Linux w/ unitialized values (didn't notice due to this), along with an improperly named #include due to differences in case sensitivity. Also fixed memory leaks in the new User/UserList related code. 2013-08-17 00:01:47 -07:00
old more binary uploads, woops 2013-08-03 23:12:12 -07:00
x11 Added showUsers to x11.c 2014-03-09 20:51:57 -07:00
BUGS Minor changes to the Makefile and added a BUGS file 2013-08-03 23:06:11 -07:00
Makefile Fixed a segfault that would occur in adding a User, as a realloc was used when a malloc should have been. 2013-12-02 16:10:23 -08:00
README All users communicated with are now recorded in a UserList, with their nick recorded and any corresponding IPs that that nick has used. These values are stored in the User struct. Soon to be added is a timestamp for recorded when a particular nick/ip was heard from. Also made some minor additions to the x11 client so as to allow for the IP to be set via an Input field. 2013-08-16 21:15:42 -07:00
TODO Added README, TODO, and some changes to Makefile and net.h for Solaris/OpenIndiana 2013-08-03 23:06:00 -07:00
common.c Separated handling the network input to net.c, rather than being handled in the interface. Uses a new struct Message type, which contains name, ip address, payload type, etc.. Need to rename code and completely separate net commands from interface commands, in both name and role. Also did minor code cleanup and touchups. 2013-08-11 22:06:40 -07:00
common.h Fixed some behavioral differences between Darwin and Linux w/ unitialized values (didn't notice due to this), along with an improperly named #include due to differences in case sensitivity. Also fixed memory leaks in the new User/UserList related code. 2013-08-17 00:01:47 -07:00
macros.h All users communicated with are now recorded in a UserList, with their nick recorded and any corresponding IPs that that nick has used. These values are stored in the User struct. Soon to be added is a timestamp for recorded when a particular nick/ip was heard from. Also made some minor additions to the x11 client so as to allow for the IP to be set via an Input field. 2013-08-16 21:15:42 -07:00
main.c Fixed some behavioral differences between Darwin and Linux w/ unitialized values (didn't notice due to this), along with an improperly named #include due to differences in case sensitivity. Also fixed memory leaks in the new User/UserList related code. 2013-08-17 00:01:47 -07:00
mockup.xcf Initial commit of bcast, has terminal interface and x11 interface stub 2013-08-01 13:54:20 -07:00
net.c Fixed some behavioral differences between Darwin and Linux w/ unitialized values (didn't notice due to this), along with an improperly named #include due to differences in case sensitivity. Also fixed memory leaks in the new User/UserList related code. 2013-08-17 00:01:47 -07:00
net.h Fixed some behavioral differences between Darwin and Linux w/ unitialized values (didn't notice due to this), along with an improperly named #include due to differences in case sensitivity. Also fixed memory leaks in the new User/UserList related code. 2013-08-17 00:01:47 -07:00
ui_common.h All users communicated with are now recorded in a UserList, with their nick recorded and any corresponding IPs that that nick has used. These values are stored in the User struct. Soon to be added is a timestamp for recorded when a particular nick/ip was heard from. Also made some minor additions to the x11 client so as to allow for the IP to be set via an Input field. 2013-08-16 21:15:42 -07:00
users.c Fixed a segfault that would occur in adding a User, as a realloc was used when a malloc should have been. 2013-12-02 16:10:23 -08:00
users.h All users communicated with are now recorded in a UserList, with their nick recorded and any corresponding IPs that that nick has used. These values are stored in the User struct. Soon to be added is a timestamp for recorded when a particular nick/ip was heard from. Also made some minor additions to the x11 client so as to allow for the IP to be set via an Input field. 2013-08-16 21:15:42 -07:00

README

---- info ----
noirchat/nchat is a decentralized and LAN-based communication program that is focused on minimalism, efficiency, and, to some degree, modularity. It supports the following network communication methods:

		UDP broadcasting, for chat-style and "broad" communication
		*INCOMPLETE* UDP multicast, for finer control and higher efficiency than broadcasting
    *INCOMPLETE* UDP peer-to-peer, for non-TCP based direct comms
		*INCOMPLETE* TCP sockets, for direct peer-to-peer communication

In comparison to most communication programs geared towards decentralization, noirchat attempts to separate the user interface from the networking code as much as is possible. This enables multiple frontends to easily be developed for almost any platform.

Even further, noirchat provides peer-to-peer or peer-to-group encryption via a trusted network/shared password scheme - in the case of a direct peer-to-peer comm, following the initial handshaking procedure encrypted with the trusted key, a new, temporary key is agreed upon and used for future communication between those peers.

---- what does noir chat mean ----
noir - black, also intended as "hidden"
chat - as in communication, as well as "cat"

As per French grammar, when the adjective comes before the noun, it is meant in a figurative sense, rather than a literal, descriptive sense. In this way, 'noir' is figuratively modifying chat, not literally, and as such, comes before rather than after the noun. It makes a degree of sense, honestly.

---- compiling ----

At the moment noirchat compiles into the following binaries:
  nchat: primary client
    Fully-supported terminal client, relies on nothing more than an
		ANSI-compliant terminal interface - colors optional
  xnchat:
    state: in-complete stub, basic interface w/ buttons
		Fully-supported X11 client, relies on nothing more than Xlib

To compile either, simply type:
	make nchat
or
	make xnchat