Permalink
Browse files

Initial commit of the diameter application.

The application provides an implementation of the Diameter protocol
as defined in RFC 3588.
  • Loading branch information...
1 parent b1e768e commit 3c15ff32e89e401b4dde2b8acc9699be2614b996 Anders Svensson committed May 18, 2011
Showing with 69,987 additions and 4 deletions.
  1. +7 −4 lib/Makefile
  2. +58 −0 lib/diameter/.gitignore
  3. +10 −0 lib/diameter/AUTHORS
  4. +88 −0 lib/diameter/Makefile.in
  5. +2 −0 lib/diameter/TAR.exclude
  6. +65 −0 lib/diameter/aclocal.m4
  7. +1,519 −0 lib/diameter/autoconf/config.guess
  8. +1,630 −0 lib/diameter/autoconf/config.sub
  9. +147 −0 lib/diameter/autoconf/configure.vxworks
  10. +519 −0 lib/diameter/autoconf/install-sh
  11. +125 −0 lib/diameter/autoconf/vxworks/sed.general
  12. +45 −0 lib/diameter/autoconf/vxworks/sed.vxworks_cpu32
  13. +52 −0 lib/diameter/autoconf/vxworks/sed.vxworks_ppc32
  14. +51 −0 lib/diameter/autoconf/vxworks/sed.vxworks_ppc603
  15. +51 −0 lib/diameter/autoconf/vxworks/sed.vxworks_ppc603_nolongcall
  16. +50 −0 lib/diameter/autoconf/vxworks/sed.vxworks_ppc860
  17. +59 −0 lib/diameter/autoconf/vxworks/sed.vxworks_simlinux
  18. +64 −0 lib/diameter/autoconf/vxworks/sed.vxworks_simso
  19. +38 −0 lib/diameter/autoconf/vxworks/sed.vxworks_sparc
  20. +155 −0 lib/diameter/bin/diameterc
  21. +138 −0 lib/diameter/configure.in
  22. 0 lib/diameter/doc/html/.gitignore
  23. 0 lib/diameter/doc/man1/.gitignore
  24. 0 lib/diameter/doc/man3/.gitignore
  25. 0 lib/diameter/doc/man4/.gitignore
  26. 0 lib/diameter/doc/pdf/.gitignore
  27. +199 −0 lib/diameter/doc/src/Makefile
  28. +56 −0 lib/diameter/doc/src/book.xml
  29. +1,123 −0 lib/diameter/doc/src/diameter.xml
  30. +582 −0 lib/diameter/doc/src/diameter_app.xml
  31. +124 −0 lib/diameter/doc/src/diameter_compile.xml
  32. +601 −0 lib/diameter/doc/src/diameter_dict.xml
  33. +40 −0 lib/diameter/doc/src/diameter_examples.xml
  34. +45 −0 lib/diameter/doc/src/diameter_intro.xml
  35. +133 −0 lib/diameter/doc/src/diameter_sctp.xml
  36. +110 −0 lib/diameter/doc/src/diameter_soc.xml
  37. +110 −0 lib/diameter/doc/src/diameter_tcp.xml
  38. +203 −0 lib/diameter/doc/src/diameter_transport.xml
  39. +40 −0 lib/diameter/doc/src/diameter_using.xml
  40. +52 −0 lib/diameter/doc/src/files.mk
  41. BIN lib/diameter/doc/src/notes.gif
  42. +47 −0 lib/diameter/doc/src/notes.xml
  43. +48 −0 lib/diameter/doc/src/ref_man.xml
  44. +44 −0 lib/diameter/doc/src/user_man.xml
  45. +392 −0 lib/diameter/doc/standard/draft-ietf-dime-capablities-update-07.txt
  46. +8,681 −0 lib/diameter/doc/standard/draft-ietf-dime-rfc3588bis-26.txt
  47. +1,235 −0 lib/diameter/doc/standard/rfc3124.txt
  48. +2,299 −0 lib/diameter/doc/standard/rfc3539.txt
  49. +8,235 −0 lib/diameter/doc/standard/rfc3588.txt
  50. +4,763 −0 lib/diameter/doc/standard/rfc4005.txt
  51. +6,387 −0 lib/diameter/doc/standard/rfc4006.txt
  52. +1,851 −0 lib/diameter/doc/standard/rfc4072.txt
  53. +4,035 −0 lib/diameter/doc/standard/rfc4740.txt
  54. +955 −0 lib/diameter/doc/standard/rfc5447.txt
  55. +5 −0 lib/diameter/ebin/.gitignore
  56. +3 −0 lib/diameter/examples/.gitignore
  57. +35 −0 lib/diameter/examples/GNUmakefile
  58. +125 −0 lib/diameter/examples/client.erl
  59. +103 −0 lib/diameter/examples/client_cb.erl
  60. +139 −0 lib/diameter/examples/peer.erl
  61. +70 −0 lib/diameter/examples/redirect.erl
  62. +63 −0 lib/diameter/examples/redirect_cb.erl
  63. +92 −0 lib/diameter/examples/relay.erl
  64. +69 −0 lib/diameter/examples/relay_cb.erl
  65. +113 −0 lib/diameter/examples/sctp.erl
  66. +88 −0 lib/diameter/examples/server.erl
  67. +118 −0 lib/diameter/examples/server_cb.erl
  68. +130 −0 lib/diameter/include/diameter.hrl
  69. +431 −0 lib/diameter/include/diameter_gen.hrl
  70. +3 −0 lib/diameter/info
  71. +92 −0 lib/diameter/make/release_targets.mk
  72. +195 −0 lib/diameter/make/rules.mk.in
  73. +53 −0 lib/diameter/make/subdir.mk
  74. +33 −0 lib/diameter/make/target.mk
  75. +43 −0 lib/diameter/src/Makefile
  76. +5 −0 lib/diameter/src/app/.gitignore
  77. +199 −0 lib/diameter/src/app/Makefile
  78. +31 −0 lib/diameter/src/app/depend.sed
  79. +28 −0 lib/diameter/src/app/diameter.app.src
  80. +27 −0 lib/diameter/src/app/diameter.appup.src
  81. +212 −0 lib/diameter/src/app/diameter.erl
  82. +47 −0 lib/diameter/src/app/diameter.mk.in
  83. +36 −0 lib/diameter/src/app/diameter_app.erl
  84. +91 −0 lib/diameter/src/app/diameter_callback.erl
  85. +388 −0 lib/diameter/src/app/diameter_capx.erl
  86. +569 −0 lib/diameter/src/app/diameter_codec.erl
  87. +681 −0 lib/diameter/src/app/diameter_config.erl
  88. +565 −0 lib/diameter/src/app/diameter_dbg.erl
  89. +153 −0 lib/diameter/src/app/diameter_dict.erl
  90. +301 −0 lib/diameter/src/app/diameter_exprecs.erl
  91. +68 −0 lib/diameter/src/app/diameter_gen_base_accounting.dia
  92. +413 −0 lib/diameter/src/app/diameter_gen_base_rfc3588.dia
  93. +24 −0 lib/diameter/src/app/diameter_gen_relay.dia
  94. +869 −0 lib/diameter/src/app/diameter_info.erl
  95. +95 −0 lib/diameter/src/app/diameter_internal.hrl
  96. +266 −0 lib/diameter/src/app/diameter_lib.erl
  97. +58 −0 lib/diameter/src/app/diameter_misc_sup.erl
  98. +230 −0 lib/diameter/src/app/diameter_peer.erl
  99. +746 −0 lib/diameter/src/app/diameter_peer_fsm.erl
  100. +63 −0 lib/diameter/src/app/diameter_peer_fsm_sup.erl
  101. +331 −0 lib/diameter/src/app/diameter_reg.erl
  102. +2,931 −0 lib/diameter/src/app/diameter_service.erl
  103. +64 −0 lib/diameter/src/app/diameter_service_sup.erl
  104. +172 −0 lib/diameter/src/app/diameter_session.erl
  105. +347 −0 lib/diameter/src/app/diameter_stats.erl
  106. +101 −0 lib/diameter/src/app/diameter_sup.erl
  107. +555 −0 lib/diameter/src/app/diameter_sync.erl
  108. +537 −0 lib/diameter/src/app/diameter_types.erl
  109. +139 −0 lib/diameter/src/app/diameter_types.hrl
  110. +571 −0 lib/diameter/src/app/diameter_watchdog.erl
  111. +60 −0 lib/diameter/src/app/diameter_watchdog_sup.erl
  112. +68 −0 lib/diameter/src/app/modules.mk
  113. +3 −0 lib/diameter/src/compiler/.gitignore
  114. +141 −0 lib/diameter/src/compiler/Makefile
  115. +788 −0 lib/diameter/src/compiler/diameter_codegen.erl
  116. +52 −0 lib/diameter/src/compiler/diameter_forms.hrl
  117. +120 −0 lib/diameter/src/compiler/diameter_make.erl
  118. +157 −0 lib/diameter/src/compiler/diameter_spec_scan.erl
  119. +1,052 −0 lib/diameter/src/compiler/diameter_spec_util.erl
  120. +27 −0 lib/diameter/src/compiler/modules.mk
  121. +21 −0 lib/diameter/src/subdirs.mk
  122. +3 −0 lib/diameter/src/transport/.gitignore
  123. +141 −0 lib/diameter/src/transport/Makefile
  124. +311 −0 lib/diameter/src/transport/diameter_etcp.erl
  125. +64 −0 lib/diameter/src/transport/diameter_etcp_sup.erl
  126. +624 −0 lib/diameter/src/transport/diameter_sctp.erl
  127. +74 −0 lib/diameter/src/transport/diameter_sctp_sup.erl
  128. +531 −0 lib/diameter/src/transport/diameter_tcp.erl
  129. +78 −0 lib/diameter/src/transport/diameter_tcp_sup.erl
  130. +68 −0 lib/diameter/src/transport/diameter_transport_sup.erl
  131. +29 −0 lib/diameter/src/transport/modules.mk
  132. +20 −0 lib/diameter/subdirs.mk
  133. +408 −0 lib/diameter/test/Makefile
  134. +6 −0 lib/diameter/test/diameter.cover
  135. +9 −0 lib/diameter/test/diameter.spec
  136. +108 −0 lib/diameter/test/diameter_SUITE.erl
  137. +393 −0 lib/diameter/test/diameter_app_test.erl
  138. +539 −0 lib/diameter/test/diameter_appup_test.erl
  139. +104 −0 lib/diameter/test/diameter_compiler_test.erl
  140. +105 −0 lib/diameter/test/diameter_config_test.erl
  141. BIN lib/diameter/test/diameter_etcp_test.beam
  142. +104 −0 lib/diameter/test/diameter_peer_test.erl
  143. +104 −0 lib/diameter/test/diameter_reg_test.erl
  144. +104 −0 lib/diameter/test/diameter_session_test.erl
  145. +104 −0 lib/diameter/test/diameter_stats_test.erl
  146. +104 −0 lib/diameter/test/diameter_sync_test.erl
  147. +482 −0 lib/diameter/test/diameter_tcp_test.erl
  148. +478 −0 lib/diameter/test/diameter_test_lib.erl
  149. +106 −0 lib/diameter/test/diameter_test_lib.hrl
  150. +551 −0 lib/diameter/test/diameter_test_server.erl
  151. +47 −0 lib/diameter/test/modules.mk
  152. +495 −0 lib/diameter/test/slask/diameter_persistent_table_test.erl
  153. +25 −0 lib/diameter/vsn.mk
View
@@ -28,8 +28,9 @@ ifeq ($(findstring vxworks,$(TARGET)),vxworks)
snmp otp_mibs appmon erl_interface os_mon tools runtime_tools
ifdef BUILD_ALL
OTHER_SUB_DIRECTORIES += mnesia jinterface ic asn1 debugger \
- inets mnesia_session orber pman tv observer cosTransactions cosEvent \
- cosTime cosNotification cosProperty cosFileTransfer cosEventDomain
+ inets mnesia_session diameter orber pman tv observer \
+ cosTransactions cosEvent cosTime cosNotification cosProperty
+ cosFileTransfer cosEventDomain
endif
else
ifeq ($(findstring ose,$(TARGET)),ose)
@@ -57,7 +58,8 @@ else
OTHER_SUB_DIRECTORIES += \
snmp otp_mibs appmon erl_interface asn1 jinterface gs wx inets ic \
mnesia crypto orber os_mon parsetools syntax_tools pman \
- public_key ssl toolbar tv observer debugger reltool odbc runtime_tools \
+ public_key ssl toolbar tv observer debugger reltool odbc \
+ runtime_tools diameter \
cosTransactions cosEvent cosTime cosNotification cosProperty \
cosFileTransfer cosEventDomain et megaco webtool \
xmerl edoc eunit ssh inviso typer docbuilder erl_docgen common_test percept
@@ -68,7 +70,8 @@ else
snmp otp_mibs appmon erl_interface asn1 jinterface wx debugger reltool gs inets \
ic mnesia crypto orber os_mon parsetools syntax_tools \
pman public_key ssl toolbar tv observer odbc \
- runtime_tools cosTransactions cosEvent cosTime cosNotification \
+ runtime_tools diameter \
+ cosTransactions cosEvent cosTime cosNotification \
cosProperty cosFileTransfer cosEventDomain et megaco webtool \
xmerl edoc eunit ssh inviso typer docbuilder erl_docgen common_test percept
# dialyzer
View
@@ -0,0 +1,58 @@
+
+# Match at any level.
+*~
+autom4te.cache
+
+# Compiler derivatives
+#
+# Do not use too creative wildcards.
+# Those might ignore files that should not be ignored.
+
+i686-pc-linux-gnu
+x86_64-unknown-linux-gnu
+i386-apple-darwin[0-9]*.[0-9]*.[0-9]*
+sparc-sun-solaris[0-9]*.[0-9]*
+i386-pc-solaris[0-9]*.[0-9]*
+i386-unknown-freebsd[0-9]*.[0-9]*
+tile-tilera-linux-gnu
+powerpc-unknown-linux-gnu
+
+# Mac OS X
+a.out.dSYM/
+
+# Anchored from $DIAMETER_TOP
+/config.log
+/config.status
+
+/Makefile
+/configure
+
+
+# General patterns for applications in lib.
+#
+# Assume that all test/Emakefiles are generated.
+#
+# Any application with a checked-in test/Emakefile should
+# use a negative pattern in its own .gitignore.
+
+#
+# Files generated by configure.
+#
+
+/configure
+/config.log
+/config.status
+
+
+#
+# Generated documentation. (ie. not doc/src)
+#
+
+/doc/[^s]*
+
+
+#
+# Files generated when building/running tests
+#
+
+/test/*.log
View
@@ -0,0 +1,10 @@
+Original Authors:
+
+ Anders Svensson
+ Ulf Wiger
+
+Contributors:
+
+
+
+
View
@@ -0,0 +1,88 @@
+#
+# %CopyrightBegin%
+#
+# Copyright Ericsson AB 2010-2011. All Rights Reserved.
+#
+# The contents of this file are subject to the Erlang Public License,
+# Version 1.1, (the "License"); you may not use this file except in
+# compliance with the License. You should have received a copy of the
+# Erlang Public License along with this software. If not, it can be
+# retrieved online at http://www.erlang.org/.
+#
+# Software distributed under the License is distributed on an "AS IS"
+# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+# the License for the specific language governing rights and limitations
+# under the License.
+#
+# %CopyrightEnd%
+
+ifneq ($(ERL_TOP),)
+include $(ERL_TOP)/make/target.mk
+include $(ERL_TOP)/make/$(TARGET)/otp.mk
+else
+include $(DIAMETER_TOP)/make/target.mk
+include $(DIAMETER_TOP)/make/$(TARGET)/rules.mk
+endif
+
+# ----------------------------------------------------
+# Application version
+# ----------------------------------------------------
+include vsn.mk
+VSN=$(DIAMETER_VSN)
+
+DIAMETER_TOP = @DIAMETER_TOP@
+
+
+# ----------------------------------------------------
+# Common Macros
+# ----------------------------------------------------
+
+include subdirs.mk
+
+SUB_DIRECTORIES = $(SUB_DIRS) doc/src
+
+SPECIAL_TARGETS =
+
+ifneq ($(ERL_TOP),)
+ifneq ($(PREFIX),)
+CONFIGURE_OPTS += --prefix=$(PREFIX)
+endif
+endif
+
+
+# ----------------------------------------------------
+# Default Subdir Targets
+# ----------------------------------------------------
+ifneq ($(ERL_TOP),)
+include $(ERL_TOP)/make/otp_subdir.mk
+else
+include $(DIAMETER_TOP)/make/subdir.mk
+endif
+
+.PHONY: reconf conf info version dialyzer
+
+reconf:
+ autoconf
+
+conf: do_configure
+
+do_configure: configure
+ ./configure $(CONFIGURE_OPTS)
+
+configure: configure.in
+ autoconf
+
+info:
+ @echo "APP_VSN: $(APP_VSN)"
+ @echo "DIAMETER_VSN: $(DIAMETER_VSN)"
+
+version:
+ @echo "$(VSN)"
+
+
+dialyzer:
+ (cd ./ebin; \
+ dialyzer --build_plt \
+ --output_plt ../priv/diameter.plt \
+ -r ../../diameter/ebin \
+ --verbose)
View
@@ -0,0 +1,2 @@
+diameter/doc/standard
+
View
@@ -0,0 +1,65 @@
+dnl
+dnl %CopyrightBegin%
+dnl
+dnl Copyright Ericsson AB 1998-2010. All Rights Reserved.
+dnl
+dnl The contents of this file are subject to the Erlang Public License,
+dnl Version 1.1, (the "License"); you may not use this file except in
+dnl compliance with the License. You should have received a copy of the
+dnl Erlang Public License along with this software. If not, it can be
+dnl retrieved online at http://www.erlang.org/.
+dnl
+dnl Software distributed under the License is distributed on an "AS IS"
+dnl basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+dnl the License for the specific language governing rights and limitations
+dnl under the License.
+dnl
+dnl %CopyrightEnd%
+dnl
+
+dnl
+dnl aclocal.m4
+dnl
+dnl Local macros used in configure.in. The Local Macros which
+dnl could/should be part of autoconf are prefixed LM_, macros specific
+dnl to the Erlang system are prefixed ERL_.
+dnl
+
+dnl ----------------------------------------------------------------------
+dnl
+dnl LM_PROG_INSTALL_DIR
+dnl
+dnl Figure out how to create directories with parents.
+dnl (In my opinion INSTALL_DIR is a bad name, MKSUBDIRS or something is better)
+dnl
+dnl We prefer 'install -d', but use 'mkdir -p' if it exists.
+dnl If none of these methods works, we give up.
+dnl
+
+
+AC_DEFUN(LM_PROG_INSTALL_DIR,
+[AC_CACHE_CHECK(how to create a directory including parents,
+ac_cv_prog_mkdir_p,
+[
+temp_name_base=config.$$
+temp_name=$temp_name_base/x/y/z
+$INSTALL -d $temp_name >/dev/null 2>&1
+ac_cv_prog_mkdir_p=none
+if test -d $temp_name; then
+ ac_cv_prog_mkdir_p="$INSTALL -d"
+else
+ mkdir -p $temp_name >/dev/null 2>&1
+ if test -d $temp_name; then
+ ac_cv_prog_mkdir_p="mkdir -p"
+ fi
+fi
+rm -fr $temp_name_base
+])
+
+case "${ac_cv_prog_mkdir_p}" in
+ none) AC_MSG_ERROR(don't know how create directories with parents) ;;
+ *) INSTALL_DIR="$ac_cv_prog_mkdir_p" AC_SUBST(INSTALL_DIR) ;;
+esac
+])
+
+
Oops, something went wrong.

0 comments on commit 3c15ff3

Please sign in to comment.