Module: kamailio
Branch: 4.4
Commit: 50df69df2b7a5307802f6dcaac9b90acfbe2b44d
URL: 
https://github.com/kamailio/kamailio/commit/50df69df2b7a5307802f6dcaac9b90acfbe2b44d

Author: Daniel-Constantin Mierla <[email protected]>
Committer: Daniel-Constantin Mierla <[email protected]>
Date: 2016-03-18T13:34:23+01:00

core: parse content type allows '_' char

- reported by Fabio Margarido, GH #547

(cherry picked from commit b65927a8f6039810ffdb7b7f31ce2d36c9535fbd)

---

Modified: parser/parse_content.c

---

Diff:  
https://github.com/kamailio/kamailio/commit/50df69df2b7a5307802f6dcaac9b90acfbe2b44d.diff
Patch: 
https://github.com/kamailio/kamailio/commit/50df69df2b7a5307802f6dcaac9b90acfbe2b44d.patch

---

diff --git a/parser/parse_content.c b/parser/parse_content.c
index 3c10a5e..edb109a 100644
--- a/parser/parse_content.c
+++ b/parser/parse_content.c
@@ -13,8 +13,8 @@
  * 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 program; if not, write to the Free Software 
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  
USA
  *
  */
@@ -38,7 +38,7 @@
 
 
 #define is_mime_char(_c_) \
-       (isalpha((int)_c_) || (_c_)=='-' || (_c_)=='+' || (_c_)=='.')
+       (isalpha((int)_c_) || (_c_)=='-' || (_c_)=='+' || (_c_)=='.' || 
(_c_)=='_')
 #define is_char_equal(_c_,_cs_) \
        ( (isalpha((int)_c_)?(((_c_)|0x20)==(_cs_)):((_c_)==(_cs_)))==1 )
 
@@ -180,7 +180,7 @@ static type_node_t subtype_tree[] = {
                                                                        
{'c',SUBTYPE_UNKNOWN,1,-1},
                                                                                
{'.',SUBTYPE_UNKNOWN,1,-1},
                                                                                
        {'p',SUBTYPE_UNKNOWN,1,-1},
-                                                                               
                {'i',SUBTYPE_UNKNOWN,1,-1}, 
+                                                                               
                {'i',SUBTYPE_UNKNOWN,1,-1},
                                                                                
                        {'d',SUBTYPE_UNKNOWN,1,-1},
                                                                                
                                {'f',SUBTYPE_XML_MSRTC_PIDF,0,-1},
        {'e',SUBTYPE_UNKNOWN,1,107}, /* 94 */
@@ -327,7 +327,7 @@ char* decode_mime_type(char* const start, const char* const 
end, unsigned int* c
                        if (node!=-1) {
                                type_candidate = subtype_tree[node].final;
                                if (subtype_tree[node].nr_sons)
-                                       node++;
+                                       node++;
                                else
                                        node = -1;
                        } else {
@@ -432,10 +432,10 @@ int parse_accept_body(struct hdr_field* const hdr)
        char *ret;
 
        if (!hdr) return -1;
-       
+
        /* maybe the header is already parsed! */
        if (hdr->parsed!=0) return 1;
-       
+
        /* it seams we have to parse it! :-( */
        ret = hdr->body.s;
        end = ret + hdr->body.len;


_______________________________________________
sr-dev mailing list
[email protected]
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev

Reply via email to