Commit Graph

402 Commits (aa4f2fa4bf69b7979e731bd67c24d4e406d624b7)

Author SHA1 Message Date
Richard Fuchs f38fe3f1e0 create a dedicated session key context to save some cpu
12 years ago
Richard Fuchs d632fae1f3 copy crypto context when stealing peer
12 years ago
Richard Fuchs ac86e65bc7 dont do ice/crypto/etc stuff for inactive streams
12 years ago
Richard Fuchs fa66629309 add helper function for code prettiness
12 years ago
Richard Fuchs 77d19ccab8 parse the send/recv/inactive sdp attributes
12 years ago
Richard Fuchs bc39957548 remember the crypto "tag" value for the SDP answer
12 years ago
Richard Fuchs 6ba61b728c aes-f8 performence improvements
12 years ago
Richard Fuchs 53b99f39d9 some aes-cm performance improvements
12 years ago
Richard Fuchs 6c84ee466a implement aes-f8 mode encryption and decryption
12 years ago
Richard Fuchs 3c9daae60d adding rtp/savpf transforms and tests
12 years ago
Richard Fuchs fcabc7254c fix rtcp authentication tag removal
12 years ago
Richard Fuchs 1e9c972620 adding some debug output
12 years ago
Richard Fuchs f821646de7 fix keystream generation
12 years ago
Richard Fuchs 7d6ab9f6fd adding ycm config file
12 years ago
Richard Fuchs 0f319359db logging improvements
12 years ago
Richard Fuchs 43e9696fa9 restructure in-memory crypto contexts
12 years ago
Richard Fuchs 94393efada divide bit lengths by 8 to get octet count
12 years ago
Richard Fuchs 93092e850f must use the outgoing's side crypto context for out packets, also add some logging
12 years ago
Richard Fuchs 70e6be3bf4 match the peer's crypto suite if possible
12 years ago
Richard Fuchs 3b0d7d0da0 generate our own crypto context when going rtp/avp->savp
12 years ago
Richard Fuchs e4d050062f bugfix for borken rtp
12 years ago
Richard Fuchs 9c8c4c21fa rtcp has a slightly different key generation algorithm
12 years ago
Richard Fuchs db72130792 implement srtcp encryption, decryption and authentication
12 years ago
Richard Fuchs 2b61b12c71 implement srtp decryption
12 years ago
Richard Fuchs 212df63857 implementing srtp encryption and authentication
12 years ago
Richard Fuchs 6ee0284b66 remove strangely irrelevant assertion
12 years ago
Richard Fuchs 7877b7ce14 implement srtp session key generation algorithm
12 years ago
Richard Fuchs 292a676d96 remove a pointless enum
12 years ago
Richard Fuchs c7b95f7187 create attribute hash based on attr id number
12 years ago
Richard Fuchs c3eccfc564 rename "hash" to "name_hash"
12 years ago
Richard Fuchs 9ef4bd2f9c ignore invalid attributes
12 years ago
Richard Fuchs 14bcbcfa73 handle unparseable attributes
12 years ago
Richard Fuchs 250c23d808 parsing of the sdp ssrc attribute
12 years ago
Richard Fuchs e63edeb875 parsing of the sdp crypto attribute
12 years ago
Richard Fuchs a923a52a60 redis/2 module is now incompatible
12 years ago
Richard Fuchs a1e49a8f02 old glib doesnt have g_queue_free_full
12 years ago
Richard Fuchs d8bc7d92a2 experimental support for RTP/AVP<>AVPF bridging
12 years ago
Richard Fuchs 9d0b537d27 leave zero ports or addresses alone
12 years ago
Richard Fuchs d3d35a97e4 dont see a zero port as invalid
12 years ago
Richard Fuchs 16883bdb29 improve NG logging
12 years ago
Richard Fuchs 589c271d52 fix the silly thing about bencoded lists being backwards
12 years ago
Richard Fuchs 48018e48d0 remove obsolete comment
12 years ago
Richard Fuchs 86240e12fd rename variables in stream_packet() -- getting confusing!
12 years ago
Richard Fuchs bfb88bd7e5 fix improper use of "other" pointer
12 years ago
Richard Fuchs 3c4dd73365 update steal_peer with new flags
12 years ago
Richard Fuchs 68a97be379 keep track of transport protocols and rtcp streams
12 years ago
Richard Fuchs b355bd350a simplify a common task by keeping more pointers
12 years ago
Richard Fuchs c35eee7d33 forgot to save the file
12 years ago
Richard Fuchs 0427b4baf4 handle "use-candidate" properly
12 years ago
Richard Fuchs cbc1f8c359 fix possible segfault
12 years ago
Richard Fuchs eb05c8169a support the trust-address flag
12 years ago
Richard Fuchs c956a371ac make sure we always have a session to work with
12 years ago
Richard Fuchs a11dc28825 we have pointers... use them
12 years ago
Richard Fuchs 6ddf0e3afc add logging to stun code
12 years ago
Richard Fuchs 8c46b6bd76 replace hand-crafted constants by generated ones
12 years ago
Richard Fuchs 20dfa12220 fix segfault
12 years ago
Richard Fuchs 009a2029b9 remove some code duplication
12 years ago
Richard Fuchs 4f2d6d4c58 enable ice/stun processing also if no ice was previously present
12 years ago
Richard Fuchs 0be4fa311e support dual-stack ICE offers
12 years ago
Richard Fuchs 1c830108ad misinterpreted the meaning of the "trust address" flag
12 years ago
Richard Fuchs 87ec55b7b5 we do need to initialized that random() generator
12 years ago
Richard Fuchs 72f6cc97f9 support non-forced insertion of ice candidates
12 years ago
Richard Fuchs eadbc1c3ab crc32 is a long
12 years ago
Richard Fuchs bc4685c98c support stun indications
12 years ago
Richard Fuchs 27a9e92872 support unknown-attributes error response
12 years ago
Richard Fuchs 2ea1fe3a47 generate stun responses and clean up some code mess
12 years ago
Richard Fuchs cbd26eb124 perform message integrity check aka auth
12 years ago
Richard Fuchs f685d9743b get some constants out of the way
12 years ago
Richard Fuchs 4aa3017555 The FINGERPRINT mechanism MUST be used for connectivity checks
12 years ago
Richard Fuchs 9c8075ca87 agents MUST ignore all other attributes that follow MESSAGE-INTEGRITY
12 years ago
Richard Fuchs 0ed8587e05 move ice_ufrag/pwd into peer struct
12 years ago
Richard Fuchs 6ceb187abb increate length of random strings
12 years ago
Richard Fuchs 1758e586ce generate stun errors
12 years ago
Richard Fuchs 2784cb41a3 hack to prevent stale children
12 years ago
Richard Fuchs a37bd78355 rename ARRAY_SIZE to ARRAYSIZE to avoid naming conflict
12 years ago
Richard Fuchs edf5f11140 parse stun attributes
12 years ago
Richard Fuchs 7787ad3b28 reorder headers and fix resulting errors
12 years ago
Richard Fuchs 8c06d3254a start work on stun support
12 years ago
Richard Fuchs 033b7d1f55 more bettererer optimizing
12 years ago
Richard Fuchs bff00fdab6 support b=RR:0 and b=RS:0 to disable rtcp
12 years ago
Richard Fuchs d928ccd37d clean up the mess
12 years ago
Richard Fuchs 3c10c9ac17 add support for non-standard rtcp ports
12 years ago
Richard Fuchs 3faa9f8a8f parse out rtcp attribute
12 years ago
Richard Fuchs 1a2e0d75ea create a random but constant "foundation" string for ice candidates
12 years ago
Richard Fuchs dc7c4e7fba s/ufrag_pwd_chars/ice_chars/
12 years ago
Richard Fuchs cd3264b7ef i dont like long variable names
12 years ago
Richard Fuchs 581b1bf948 build a hash table of sdp attributes when parsing them
12 years ago
Richard Fuchs 902f47da28 remove redundancy in struct member names
12 years ago
Richard Fuchs 68f91da68e split up attributes even more when parsing them
12 years ago
Richard Fuchs 33ef09b470 insert ice candidate for rtcp
12 years ago
Richard Fuchs f107ab461a adding rudimentary insertion of ICE attributes
12 years ago
Richard Fuchs 36d21eb8ed dont add debian build flags for debug builds
12 years ago
Richard Fuchs c18c1d64eb unify copy_remainder and copy_up_to, create copy_up_to_end_of
12 years ago
Richard Fuchs 30669f2cd3 support removal of ICE attributes
12 years ago
Richard Fuchs 4914d6babb fix skip_over off by one bug
12 years ago
Richard Fuchs adaaa1e59e parse out sdp attributes
12 years ago
Richard Fuchs fc246e64d3 cant guarantee that the call struct is still valid when the response is sent, to copy strings
13 years ago
Richard Fuchs bd9671a8cc more convenience functions
13 years ago
Richard Fuchs 697d152796 to avoid confusion with debian version numbers, use sequentials integers for ABI versioning
13 years ago
Richard Fuchs 0230985e91 get rid of another useless variable
13 years ago
Richard Fuchs 55380807f8 tags can be NULL
13 years ago
Richard Fuchs bf4df4dff9 remove more code duplication
13 years ago
Richard Fuchs 504995e47c return call stats in NG delete message reply
13 years ago
Richard Fuchs feb3b6bde1 adding some const for good measure
13 years ago
Richard Fuchs 3c764bed52 split NG stats collection into ng_call_stats()
13 years ago
Richard Fuchs f7da33b4a7 adding a UINT64F format macro
13 years ago
Richard Fuchs b2ad672086 make call_query_udp use the new call stats function
13 years ago
Richard Fuchs 495d4cf2bd keep track of "newest" timestamp
13 years ago
Richard Fuchs 267252542b create a struct for stats collection
13 years ago
Richard Fuchs 1adef8fe7b split stream traversal for stats query into separate function
13 years ago
Richard Fuchs 8c9fa012bd lets have a totals packet/bytes counter for each call
13 years ago
Richard Fuchs e9bf80768d add more bencode convenience functions
13 years ago
Richard Fuchs 1ef1c87545 add a prelim NG query command
13 years ago
Richard Fuchs aaa3f4d116 simplify call_query_udp a bit
13 years ago
Richard Fuchs 3ef68b85e6 add bencode_string(_len)?_dup functions
13 years ago
Richard Fuchs f369c9f799 more redis support functions
13 years ago
Richard Fuchs 8d3b8e310a redis support functions
13 years ago
Richard Fuchs 20f33e56ff treat zero ip/port as wildcard when matching up old streams
13 years ago
Richard Fuchs 5cebf5adbd use peer_advertised where appropriate
13 years ago
Richard Fuchs fc6fe69075 replace IN6_IS_ADDR_UNSPECIFIED because it doesnt work for mapped addresses
13 years ago
Richard Fuchs 5d726fdf84 fix some ipv6 related bugs
13 years ago
Richard Fuchs f5e6482d5d base the stream traversal entirely on stream index
13 years ago
Richard Fuchs ad4cef0f37 g_hash_table_contains implementation for old glib version
13 years ago
Richard Fuchs 6adda7c301 keep track of sdp stream endpoints and use them as index when rewriting
13 years ago
Richard Fuchs c33642a011 more consistent function naming
13 years ago
Richard Fuchs bac4f31489 get rid of num parameter to sdp_replace
13 years ago
Richard Fuchs fe70ce8824 sync bencode
13 years ago
Richard Fuchs e69f1bd30d document bencode iovec functions
13 years ago
Richard Fuchs 7ca74b399e use iovec based sdp rewriting
13 years ago
Richard Fuchs 2e0a8c42d5 add custom destroy function for free list
13 years ago
Richard Fuchs 557185fa6a rename some functions for consistency
13 years ago
Richard Fuchs b0b9007fbc implement and document a hash algorithm for bencoded dictionariers
13 years ago
Richard Fuchs 0899007b5d document error flag
13 years ago
Richard Fuchs a59cd22479 merge bencode from kamailio
13 years ago
Richard Fuchs 7d1629442d get rid of stupid message
13 years ago
Richard Fuchs df1b169cba handle consecutive ports in SDP
13 years ago
Richard Fuchs a67f03d1d3 introduce struct udp_fd
13 years ago
Richard Fuchs 4c14016f9f code cosmetics
13 years ago
Richard Fuchs 7137b784e9 implement a "relays cache"
13 years ago
Richard Fuchs 061507585c variable renaming - getting confusing
13 years ago
Richard Fuchs a45a7379ed obsolete get_port_pair()
13 years ago
Richard Fuchs ce2df6d90f exclude our own listening ports from RTP
13 years ago
Richard Fuchs 9ae844040a reimplement get_port_pair() to support multiple consecutive ports
13 years ago
Richard Fuchs 824c84b2e8 properly handle multiple streams
13 years ago
Richard Fuchs e22b6a04fb support trust-address flag
13 years ago
Richard Fuchs 7a0687bebc prettify bencode.h and add bencode_get_str()
13 years ago
Richard Fuchs ab3a47ae41 finish renaming control.[ch] to control_tcp.[ch]
13 years ago
Richard Fuchs a050fcfa48 rename control.[ch] to control_tcp.[ch]
13 years ago
Richard Fuchs efdc8efeb8 rename some command implementation functions for consistency
13 years ago
Richard Fuchs 9f78c2f17a implement call_delete_ng()
13 years ago