Index: ChangeLog
===================================================================
--- ChangeLog	(revision 4580)
+++ ChangeLog	(revision 4585)
@@ -2,4 +2,5 @@
 	* Announce standards via OpenSLP (Closes: #5)
 	* Updated VS API (Closes: #54, #3)
+	* Added support for CRC24 (RFC 4880)
 
 v. 0.4beta1 - Mon Nov 01 2010 16:14 CET
Index: include/libroar/crc.h
===================================================================
--- include/libroar/crc.h	(revision 4585)
+++ include/libroar/crc.h	(revision 4585)
@@ -0,0 +1,46 @@
+//crc.h:
+
+/*
+ *      Copyright (C) Philipp 'ph3-der-loewe' Schafft - 2010
+ *
+ *  This file is part of libroar a part of RoarAudio,
+ *  a cross-platform sound system for both, home and professional use.
+ *  See README for details.
+ *
+ *  This file is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License version 3
+ *  as published by the Free Software Foundation.
+ *
+ *  libroar is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this software; see the file COPYING.  If not, write to
+ *  the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+ *  Boston, MA 02110-1301, USA.
+ *
+ *  NOTE for everyone want's to change something and send patches:
+ *  read README and HACKING! There a addition information on
+ *  the license of this document you need to read before you send
+ *  any patches.
+ *
+ *  NOTE for uses of non-GPL (LGPL,...) software using libesd, libartsc
+ *  or libpulse*:
+ *  The libs libroaresd, libroararts and libroarpulse link this lib
+ *  and are therefore GPL. Because of this it may be illigal to use
+ *  them with any software that uses libesd, libartsc or libpulse*.
+ */
+
+#ifndef _LIBROARCRC_H_
+#define _LIBROARCRC_H_
+
+#include "libroar.h"
+
+uint32_t roar_crc24_add(uint32_t state, const void * data, size_t len);
+#define roar_crc24_init() roar_crc24_add(0, NULL, 0)
+
+#endif
+
+//ll
Index: include/libroar/libroar.h
===================================================================
--- include/libroar/libroar.h	(revision 4554)
+++ include/libroar/libroar.h	(revision 4585)
@@ -115,4 +115,5 @@
 #include "config.h"
 #include "roarfloat.h"
+#include "crc.h"
 #include "keyval.h"
 #include "env.h"
Index: libroar/Makefile
===================================================================
--- libroar/Makefile	(revision 4533)
+++ libroar/Makefile	(revision 4585)
@@ -10,5 +10,5 @@
 HASHES=hash.o hash_tiger.o
 PASSWORD=passwordapi.o pinentry.o sshaskpass.o
-CRYPTO=crypto.o random.o $(HASHES)
+CRYPTO=crypto.o random.o $(HASHES) crc.o
 OBJS=libroar.o config.o debug.o error.o basic.o stream.o client.o simple.o auth.o socket.o ctl.o buffer.o meta.o file.o acl.o cdrom.o $(PASSWORD) $(VIO) stack.o slp.o nnode.o roardl.o roarx11.o beep.o proto.o env.o keyval.o vs.o ltm.o notify.o notify_proxy.o asyncctl.o enumdev.o serverinfo.o $(CRYPTO) authfile.o caps.o roarfloat.o
 
Index: libroar/crc.c
===================================================================
--- libroar/crc.c	(revision 4585)
+++ libroar/crc.c	(revision 4585)
@@ -0,0 +1,60 @@
+//crc.c:
+
+/*
+ *      Copyright (C) Philipp 'ph3-der-loewe' Schafft - 2010
+ *
+ *  This file is part of libroar a part of RoarAudio,
+ *  a cross-platform sound system for both, home and professional use.
+ *  See README for details.
+ *
+ *  This file is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License version 3
+ *  as published by the Free Software Foundation.
+ *
+ *  libroar is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this software; see the file COPYING.  If not, write to
+ *  the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+ *  Boston, MA 02110-1301, USA.
+ *
+ *  NOTE for everyone want's to change something and send patches:
+ *  read README and HACKING! There a addition information on
+ *  the license of this document you need to read before you send
+ *  any patches.
+ *
+ *  NOTE for uses of non-GPL (LGPL,...) software using libesd, libartsc
+ *  or libpulse*:
+ *  The libs libroaresd, libroararts and libroarpulse link this lib
+ *  and are therefore GPL. Because of this it may be illigal to use
+ *  them with any software that uses libesd, libartsc or libpulse*.
+ */
+
+#include "libroar.h"
+
+#define CRC24_POLY 0x01864CFBL
+#define CRC24_INIT 0x00B704CEL
+
+uint32_t crc24_add(uint32_t state, const void * data, size_t len) {
+ const unsigned char * p = data;
+ int i;
+
+ if ( data == NULL )
+  return CRC24_INIT;
+
+ for (; len; len--) {
+  state ^= (*p++) << 16;
+  for (i = 0; i < 8; i++) {
+   state <<= 1;
+   if ( state & 0x01000000 )
+    state ^= CRC24_POLY;
+  }
+ }
+
+ return state & 0x00FFFFFFL;
+}
+
+//ll
