diff options
Diffstat (limited to '')
-rw-r--r-- | debian/changelog | 14 | ||||
-rw-r--r-- | debian/libwiretap14.symbols | 2 | ||||
-rw-r--r-- | debian/patches/0001-wslua-Fix-support-for-Lua-5.1-and-5.2-on-32bit.patch | 699 | ||||
-rw-r--r-- | debian/patches/series | 1 |
4 files changed, 16 insertions, 700 deletions
diff --git a/debian/changelog b/debian/changelog index 5b929f31..5e645b4b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,17 @@ +wireshark (4.2.5-1) unstable; urgency=medium + + * New upstream version: + - security fixes: + - MONGO and ZigBee TLV dissector infinite loops (CVE-2024-4854) + - The editcap command line utility could crash when chopping bytes + from the beginning of a packet. (CVE-2024-4853) + - The editcap command line utility could crash when injecting secrets + while writing multiple files (CVE-2024-4855) + * debian/patches: Drop cherry picked patch already integrated upstream + * Update symbols files + + -- Balint Reczey <balint@balintreczey.hu> Thu, 16 May 2024 21:07:29 +0200 + wireshark (4.2.4-1~progress7.99u1) graograman-backports; urgency=medium * Uploading to graograman-backports, remaining changes: diff --git a/debian/libwiretap14.symbols b/debian/libwiretap14.symbols index 2c15f78e..0e300bf0 100644 --- a/debian/libwiretap14.symbols +++ b/debian/libwiretap14.symbols @@ -49,6 +49,8 @@ libwiretap.so.14 libwiretap14 #MINVER# wtap_block_add_uint64_option@Base 2.1.2 wtap_block_add_uint8_option@Base 2.1.2 wtap_block_array_free@Base 2.1.2 + wtap_block_array_ref@Base 4.2.5 + wtap_block_array_unref@Base 4.2.5 wtap_block_copy@Base 2.1.2 wtap_block_count_option@Base 3.5.0 wtap_block_create@Base 2.1.2 diff --git a/debian/patches/0001-wslua-Fix-support-for-Lua-5.1-and-5.2-on-32bit.patch b/debian/patches/0001-wslua-Fix-support-for-Lua-5.1-and-5.2-on-32bit.patch deleted file mode 100644 index 3bb35ff8..00000000 --- a/debian/patches/0001-wslua-Fix-support-for-Lua-5.1-and-5.2-on-32bit.patch +++ /dev/null @@ -1,699 +0,0 @@ -From f8fd960cb8f5378c8ab6b20b4bc7f0b73498d057 Mon Sep 17 00:00:00 2001 -From: Balint Reczey <balint@balintreczey.hu> -Date: Sat, 20 Apr 2024 18:57:17 +0200 -Subject: [PATCH] wslua: Fix support for Lua 5.1 and 5.2 on 32bit -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Add macros to use lua_pushnumber for Lua 5.1/5.2 and lua_pushinteger for Lua 5.3/5.4 -based on change proposal by Stig Bjørlykke. - -Ping #10881 - -Follow up for commit 8cac5932f79b87deda26480769a266ff344036e6. - -Co-authored-by: Stig Bjørlykke <stig@bjorlykke.org> ---- - epan/wslua/init_wslua.c | 10 +++--- - epan/wslua/lrexlib/pcre2/lpcre2.c | 2 +- - epan/wslua/make-taps.py | 24 +++++++------- - epan/wslua/wslua.h | 7 +++++ - epan/wslua/wslua_byte_array.c | 12 +++---- - epan/wslua/wslua_dissector.c | 4 +-- - epan/wslua/wslua_field.c | 12 +++---- - epan/wslua/wslua_file.c | 6 ++-- - epan/wslua/wslua_file_handler.c | 8 ++--- - epan/wslua/wslua_frame_info.c | 8 ++--- - epan/wslua/wslua_pinfo.c | 2 +- - epan/wslua/wslua_pref.c | 4 +-- - epan/wslua/wslua_struct.c | 10 +++--- - epan/wslua/wslua_tree.c | 6 ++-- - epan/wslua/wslua_tvb.c | 52 +++++++++++++++---------------- - epan/wslua/wslua_wtap.c | 10 +++--- - 16 files changed, 92 insertions(+), 85 deletions(-) - ---- a/epan/wslua/init_wslua.c -+++ b/epan/wslua/init_wslua.c -@@ -969,7 +969,7 @@ - lua_getglobal(L, table); - /* Set symbol in table. */ - lua_pushstring(L, name); -- lua_pushinteger(L, value); -+ WSLUA_PUSHINTEGER(L, value); - lua_settable(L, -3); - /* Pop table from stack. */ - lua_pop(L, 1); -@@ -979,7 +979,7 @@ - add_global_symbol(const char *name, int value) - { - /* Set symbol in global environment. */ -- lua_pushinteger(L, value); -+ WSLUA_PUSHINTEGER(L, value); - lua_setglobal(L, name); - } - -@@ -988,7 +988,7 @@ - { - lua_getglobal(L, WSLUA_EXPERT_TABLE); - lua_getfield(L, -1, WSLUA_EXPERT_SEVERITY_TABLE); -- lua_pushinteger(L, value); -+ WSLUA_PUSHINTEGER(L, value); - lua_setfield(L, -2, name); - lua_pop(L, 2); - } -@@ -998,7 +998,7 @@ - { - lua_getglobal(L, WSLUA_EXPERT_TABLE); - lua_getfield(L, -1, WSLUA_EXPERT_GROUP_TABLE); -- lua_pushinteger(L, value); -+ WSLUA_PUSHINTEGER(L, value); - lua_setfield(L, -2, name); - lua_pop(L, 2); - } -@@ -1007,7 +1007,7 @@ - add_menu_group_symbol(const char *name, int value) - { - /* Set symbol in global environment. */ -- lua_pushinteger(L, value); -+ WSLUA_PUSHINTEGER(L, value); - char *str = g_strdup(name); - char *s = strstr(str, "_GROUP_"); - if (s == NULL) ---- a/epan/wslua/lrexlib/pcre2/lpcre2.c -+++ b/epan/wslua/lrexlib/pcre2/lpcre2.c -@@ -432,7 +432,7 @@ - #define SET_INFO_FIELD(L,ud,what,name,valtype) { \ - valtype val; \ - if (0 == pcre2_pattern_info (ud->pr, what, &val)) { \ -- lua_pushinteger (L, val); \ -+ WSLUA_PUSHINTEGER (L, val); \ - lua_setfield (L, -2, name); \ - } \ - } ---- a/epan/wslua/make-taps.py -+++ b/epan/wslua/make-taps.py -@@ -34,18 +34,18 @@ - types = { - 'gchar[]': 'lua_pushstring(L,(const char*)v->STR);', - 'gchar*': 'lua_pushstring(L,(const char*)v->STR);', -- 'guint': 'lua_pushinteger(L,(lua_Integer)v->STR);', -- 'guint8': 'lua_pushinteger(L,(lua_Integer)v->STR);', -- 'guint16': 'lua_pushinteger(L,(lua_Integer)v->STR);', -- 'guint32': 'lua_pushinteger(L,(lua_Integer)v->STR);', -- 'gint': 'lua_pushinteger(L,(lua_Integer)v->STR);', -- 'gint8': 'lua_pushinteger(L,(lua_Integer)v->STR);', -- 'gint16': 'lua_pushinteger(L,(lua_Integer)v->STR);', -- 'gint32': 'lua_pushinteger(L,(lua_Integer)v->STR);', -+ 'guint': 'WSLUA_PUSHINTEGER_WITH_CAST(L,v->STR);', -+ 'guint8': 'WSLUA_PUSHINTEGER_WITH_CAST(L,v->STR);', -+ 'guint16': 'WSLUA_PUSHINTEGER_WITH_CAST(L,v->STR);', -+ 'guint32': 'WSLUA_PUSHINTEGER_WITH_CAST(L,v->STR);', -+ 'gint': 'WSLUA_PUSHINTEGER_WITH_CAST(L,v->STR);', -+ 'gint8': 'WSLUA_PUSHINTEGER_WITH_CAST(L,v->STR);', -+ 'gint16': 'WSLUA_PUSHINTEGER_WITH_CAST(L,v->STR);', -+ 'gint32': 'WSLUA_PUSHINTEGER_WITH_CAST(L,v->STR);', - 'gboolean': 'lua_pushboolean(L,(int)v->STR);', - 'address': '{ Address a = (Address)g_malloc(sizeof(address)); copy_address(a, &(v->STR)); pushAddress(L,a); }', - 'address*': '{ Address a = (Address)g_malloc(sizeof(address)); copy_address(a, v->STR); pushAddress(L,a); }', -- 'int': 'lua_pushinteger(L,(lua_Integer)v->STR);', -+ 'int': 'WSLUA_PUSHINTEGER_WITH_CAST(L,v->STR);', - 'nstime_t': 'lua_pushnumber(L,(lua_Number)nstime_to_sec(&(v->STR)));', - 'nstime_t*': 'lua_pushnumber(L,(lua_Number)nstime_to_sec(v->STR));', - } -@@ -79,7 +79,7 @@ - for enum in enum_types: - m = re.search(fr'typedef\s+enum[^{{]*{{([^}}]*)}}[\s\n]*{enum}[\s\n]*;', buf, flags=re.DOTALL) - if m: -- types[enum] = f'lua_pushinteger(L,(lua_Integer)v->STR); /* {enum} */' -+ types[enum] = f'WSLUA_PUSHINTEGER_WITH_CAST(L,v->STR); /* {enum} */' - econsts = m.group(1).splitlines() - econsts = [re.sub(r'\s+', '', item) for item in econsts] - econsts = [re.sub(',', '', item) for item in econsts] -@@ -183,9 +183,9 @@ - c_body += f'\n\t/*\n\t * {enum}\n\t */\n\tlua_newtable(L);\n' - for econst in enums[enum]: - c_body += f'''\ -- lua_pushinteger(L,(lua_Integer){econst}); -+ WSLUA_PUSHINTEGER_WITH_CAST(L,{econst}); - lua_setglobal(L,"{econst}"); -- lua_pushinteger(L,(lua_Integer){econst}); -+ WSLUA_PUSHINTEGER_WITH_CAST(L,{econst}); - lua_pushstring(L,"{econst}"); - lua_settable(L,-3); - ''' ---- a/epan/wslua/wslua.h -+++ b/epan/wslua/wslua.h -@@ -81,6 +81,13 @@ - #define wslua_optguint32(L,i,d) (guint32) ( luaL_optnumber(L,i,d) ) - #define wslua_optguint64(L,i,d) (guint64) ( luaL_optnumber(L,i,d) ) - -+#if LUA_VERSION_NUM < 503 -+#define WSLUA_PUSHINTEGER(L, i) lua_pushnumber(L, i) -+#define WSLUA_PUSHINTEGER_WITH_CAST(L, i) lua_pushnumber(L, (lua_Number)i) -+#else -+#define WSLUA_PUSHINTEGER(L, i) lua_pushinteger(L, i) -+#define WSLUA_PUSHINTEGER_WITH_CAST(L, i) lua_pushinteger(L, (lua_Integer)i) -+#endif - - struct _wslua_tvb { - tvbuff_t* ws_tvb; ---- a/epan/wslua/wslua_byte_array.c -+++ b/epan/wslua/wslua_byte_array.c -@@ -214,7 +214,7 @@ - luaL_argerror(L,2,"index out of range"); - return 0; - } -- lua_pushinteger(L,ba->data[idx]); -+ WSLUA_PUSHINTEGER(L,ba->data[idx]); - - WSLUA_RETURN(1); /* The value [0-255] of the byte. */ - } -@@ -255,7 +255,7 @@ - value |= (guint8)ba->data[offset + i]; - } - -- lua_pushinteger(L, value); -+ WSLUA_PUSHINTEGER(L, value); - - WSLUA_RETURN(1); /* The value of the little endian encoded signed integer beginning at given offset with given length. */ - } -@@ -337,7 +337,7 @@ - value |= (guint8)ba->data[offset + i]; - } - -- lua_pushinteger(L, value); -+ WSLUA_PUSHINTEGER(L, value); - - WSLUA_RETURN(1); /* The value of the little endian encoded unsigned integer beginning at given offset with given length. */ - } -@@ -419,7 +419,7 @@ - value |= (guint8)ba->data[offset + i]; - } - -- lua_pushinteger(L, value); -+ WSLUA_PUSHINTEGER(L, value); - - WSLUA_RETURN(1); /* The value of the big endian encoded 32 bit signed integer beginning at given offset with given length. */ - } -@@ -501,7 +501,7 @@ - value |= (guint8)ba->data[offset + i]; - } - -- lua_pushinteger(L, value); -+ WSLUA_PUSHINTEGER(L, value); - - WSLUA_RETURN(1); /* The value of the big endian encoded 32 bit unsigned integer beginning at given offset with given length. */ - } -@@ -551,7 +551,7 @@ - /* Obtain the length of a <<lua_class_ByteArray,`ByteArray`>>. */ - ByteArray ba = checkByteArray(L,1); - -- lua_pushinteger(L,(lua_Integer)ba->len); -+ WSLUA_PUSHINTEGER_WITH_CAST(L,ba->len); - - WSLUA_RETURN(1); /* The length of the <<lua_class_ByteArray,`ByteArray`>>. */ - } ---- a/epan/wslua/wslua_dissector.c -+++ b/epan/wslua/wslua_dissector.c -@@ -107,7 +107,7 @@ - are normal conditions and possibly don't need the Lua traceback. */ - if (error) { WSLUA_ERROR(Dissector_call,error); } - -- lua_pushinteger(L,(lua_Integer)len); -+ WSLUA_PUSHINTEGER_WITH_CAST(L,len); - WSLUA_RETURN(1); /* Number of bytes dissected. Note that some dissectors always return number of bytes in incoming buffer, so be aware. */ - } - -@@ -618,7 +618,7 @@ - - if (error) { WSLUA_ERROR(DissectorTable_try,error); } - -- lua_pushinteger(L,(lua_Integer)len); -+ WSLUA_PUSHINTEGER_WITH_CAST(L,len); - WSLUA_RETURN(1); /* Number of bytes dissected. Note that some dissectors always return number of bytes in incoming buffer, so be aware. */ - } - ---- a/epan/wslua/wslua_field.c -+++ b/epan/wslua/wslua_field.c -@@ -50,7 +50,7 @@ - */ - FieldInfo fi = checkFieldInfo(L,1); - -- lua_pushinteger(L,fi->ws_fi->length); -+ WSLUA_PUSHINTEGER(L,fi->ws_fi->length); - return 1; - } - -@@ -61,7 +61,7 @@ - */ - FieldInfo fi = checkFieldInfo(L,1); - -- lua_pushinteger(L,fi->ws_fi->start); -+ WSLUA_PUSHINTEGER(L,fi->ws_fi->start); - return 1; - } - -@@ -91,13 +91,13 @@ - case FT_UINT24: - case FT_UINT32: - case FT_FRAMENUM: -- lua_pushinteger(L,(lua_Integer)(fvalue_get_uinteger(fi->ws_fi->value))); -+ WSLUA_PUSHINTEGER_WITH_CAST(L,(fvalue_get_uinteger(fi->ws_fi->value))); - return 1; - case FT_INT8: - case FT_INT16: - case FT_INT24: - case FT_INT32: -- lua_pushinteger(L,(lua_Integer)(fvalue_get_sinteger(fi->ws_fi->value))); -+ WSLUA_PUSHINTEGER_WITH_CAST(L,(fvalue_get_sinteger(fi->ws_fi->value))); - return 1; - case FT_FLOAT: - case FT_DOUBLE: -@@ -268,7 +268,7 @@ - FieldInfo fi = checkFieldInfo(L,1); - - if (fi->ws_fi->hfinfo) { -- lua_pushinteger(L, fi->ws_fi->hfinfo->type); -+ WSLUA_PUSHINTEGER(L, fi->ws_fi->hfinfo->type); - } - else { - lua_pushnil(L); -@@ -710,7 +710,7 @@ - Field f = checkField(L,1); - header_field_info* hfinfo = NULL; - -- GET_HFINFO_MEMBER(lua_pushinteger, type); -+ GET_HFINFO_MEMBER(WSLUA_PUSHINTEGER, type); - - return 1; - } ---- a/epan/wslua/wslua_file.c -+++ b/epan/wslua/wslua_file.c -@@ -152,7 +152,7 @@ - buff[buff_end] = '\0'; - - if (buff_end > 0 && num_digits > 0 && sscanf(buff, "%lf", &d) == 1) { -- lua_pushinteger(L, d); -+ WSLUA_PUSHINTEGER(L, d); - return 1; - } - else { -@@ -355,7 +355,7 @@ - return 2; - } - -- lua_pushinteger(L, (lua_Integer)(file_tell(f->file))); -+ lua_pushnumber(L, (lua_Number)(file_tell(f->file))); - } - else { - offset = wtap_dump_file_seek(f->wdh, offset, mode[op], &err); -@@ -374,7 +374,7 @@ - return 2; - } - -- lua_pushinteger(L, (lua_Integer)(offset)); -+ lua_pushnumber(L, (lua_Number)(offset)); - } - - WSLUA_RETURN(1); /* The current file cursor position as a number. */ ---- a/epan/wslua/wslua_file_handler.c -+++ b/epan/wslua/wslua_file_handler.c -@@ -326,7 +326,7 @@ - fp = push_File(L, wth->random_fh); - fc = push_CaptureInfo(L, wth, FALSE); - fi = push_FrameInfo(L, rec, buf); -- lua_pushinteger(L, (lua_Integer)seek_off); -+ lua_pushnumber(L, (lua_Number)seek_off); - - switch ( lua_pcall(L,4,1,1) ) { - case 0: -@@ -474,7 +474,7 @@ - - INIT_FILEHANDLER_ROUTINE(can_write_encap,WTAP_ERR_UNWRITABLE_ENCAP,NULL,NULL); - -- lua_pushinteger(L, encap); -+ WSLUA_PUSHINTEGER(L, encap); - - switch ( lua_pcall(L,1,1,1) ) { - case 0: -@@ -842,7 +842,7 @@ - fh->registered = TRUE; - registered_file_handlers = g_slist_prepend(registered_file_handlers, fh); - -- lua_pushinteger(L, fh->file_type); -+ WSLUA_PUSHINTEGER(L, fh->file_type); - - WSLUA_RETURN(1); /* the new type number for this file reader/write */ - } -@@ -1207,7 +1207,7 @@ - break;\ - } \ - } \ -- lua_pushinteger(L, (lua_Integer)supported_comment_types); \ -+ lua_pushnumber(L, (lua_Number)supported_comment_types); \ - }); - WSLUA_ATTRIBUTE_SET(FileHandler,supported_comment_types, { \ - guint supported_comment_types; \ ---- a/epan/wslua/wslua_frame_info.c -+++ b/epan/wslua/wslua_frame_info.c -@@ -89,7 +89,7 @@ - g_free(err_info); /* is this right? */ - } - else lua_pushnil(L); -- lua_pushinteger(L, err); -+ WSLUA_PUSHINTEGER(L, err); - return 3; - } - -@@ -120,7 +120,7 @@ - lua_createtable(L, n_comments, 0); - for (i = 0; i < n_comments; i++) { - comment = NULL; -- lua_pushinteger(L, i+1); -+ WSLUA_PUSHINTEGER(L, i+1); - if (WTAP_OPTTYPE_SUCCESS == - wtap_block_get_nth_string_option_value(block, OPT_COMMENT, i, &comment)) { - lua_pushstring(L, comment); -@@ -371,7 +371,7 @@ - if (!wtap_dump_file_write(fh->wdh, fi->pd, (size_t)(len), &err)) { - lua_pushboolean(L, FALSE); - lua_pushfstring(L, "FrameInfoConst write_data() error: %s", g_strerror(err)); -- lua_pushinteger(L, err); -+ WSLUA_PUSHINTEGER(L, err); - return 3; - } - -@@ -403,7 +403,7 @@ - lua_createtable(L, n_comments, 0); - for (i = 0; i < n_comments; i++) { - comment = NULL; -- lua_pushinteger(L, i+1); -+ WSLUA_PUSHINTEGER(L, i+1); - if (WTAP_OPTTYPE_SUCCESS == - wtap_block_get_nth_string_option_value(block, OPT_COMMENT, i, &comment)) { - lua_pushstring(L, comment); ---- a/epan/wslua/wslua_pinfo.c -+++ b/epan/wslua/wslua_pinfo.c -@@ -308,7 +308,7 @@ - if (pinfo->ws_pinfo->match_string) { - lua_pushstring(L,pinfo->ws_pinfo->match_string); - } else { -- lua_pushinteger(L,(lua_Integer)(pinfo->ws_pinfo->match_uint)); -+ WSLUA_PUSHINTEGER_WITH_CAST(L,(pinfo->ws_pinfo->match_uint)); - } - - return 1; ---- a/epan/wslua/wslua_pref.c -+++ b/epan/wslua/wslua_pref.c -@@ -515,9 +515,9 @@ - if ( g_str_equal(prefs_p->name,name) ) { - switch (prefs_p->type) { - case PREF_BOOL: lua_pushboolean(L, prefs_p->value.b); break; -- case PREF_UINT: lua_pushinteger(L,(lua_Integer)prefs_p->value.u); break; -+ case PREF_UINT: WSLUA_PUSHINTEGER_WITH_CAST(L,prefs_p->value.u); break; - case PREF_STRING: lua_pushstring(L,prefs_p->value.s); break; -- case PREF_ENUM: lua_pushinteger(L,(lua_Integer)prefs_p->value.e); break; -+ case PREF_ENUM: WSLUA_PUSHINTEGER_WITH_CAST(L,prefs_p->value.e); break; - case PREF_RANGE: - { - char *push_str = range_convert_range(NULL, prefs_p->value.r); ---- a/epan/wslua/wslua_struct.c -+++ b/epan/wslua/wslua_struct.c -@@ -410,7 +410,7 @@ - * given endianness and size. If the integer type is signed, this makes - * the Lua number be +/- correctly as well. - */ --static lua_Integer getinteger (const gchar *buff, int endian, -+static lua_Number getinteger (const gchar *buff, int endian, - int issigned, int size) { - Uinttype l = 0; - int i; -@@ -427,12 +427,12 @@ - } - } - if (!issigned) -- return (lua_Integer)l; -+ return (lua_Number)l; - else { /* signed format */ - Uinttype mask = (Uinttype)(~((Uinttype)0)) << (size*8 - 1); - if (l & mask) /* negative value? */ - l |= mask; /* signal extension */ -- return (lua_Integer)(Inttype)l; -+ return (lua_Number)(Inttype)l; - } - } - -@@ -470,8 +470,8 @@ - case 'b': case 'B': case 'h': case 'H': - case 'l': case 'L': case 'T': case 'i': case 'I': { /* integer types */ - int issigned = g_ascii_islower(opt); -- lua_Integer res = getinteger(data+pos, h.endian, issigned, (int)size); -- lua_pushinteger(L, res); -+ lua_Number res = getinteger(data+pos, h.endian, issigned, (int)size); -+ WSLUA_PUSHINTEGER(L, res); - break; - } - case 'e': { ---- a/epan/wslua/wslua_tree.c -+++ b/epan/wslua/wslua_tree.c -@@ -123,7 +123,7 @@ - item = proto_tree_add_item_ret_int(tree_item->tree, hfid, tvbr->tvb->ws_tvb, - tvbr->offset, tvbr->len, encoding, - &ret); -- lua_pushinteger(L, (lua_Integer)ret); -+ lua_pushnumber(L, (lua_Number)ret); - lua_pushinteger(L, tvbr->offset + tvbr->len); - } - break; -@@ -152,7 +152,7 @@ - item = proto_tree_add_item_ret_uint(tree_item-> tree, hfid, tvbr->tvb->ws_tvb, - tvbr->offset, tvbr->len, encoding, - &ret); -- lua_pushinteger(L, (lua_Integer)ret); -+ lua_pushnumber(L, (lua_Number)ret); - lua_pushinteger(L, tvbr->offset + tvbr->len); - } - break; -@@ -502,7 +502,7 @@ - switch(type) { - case FT_PROTOCOL: - item = proto_tree_add_item(tree_item->tree,hfid,tvbr->tvb->ws_tvb,tvbr->offset,tvbr->len,ENC_NA); -- lua_pushinteger(L,0); -+ WSLUA_PUSHINTEGER(L,0); - lua_insert(L,1); - break; - case FT_BOOLEAN: ---- a/epan/wslua/wslua_tvb.c -+++ b/epan/wslua/wslua_tvb.c -@@ -135,7 +135,7 @@ - /* Obtain the reported length (length on the network) of a <<lua_class_Tvb,`Tvb`>>. */ - Tvb tvb = checkTvb(L,1); - -- lua_pushinteger(L,tvb_reported_length(tvb->ws_tvb)); -+ WSLUA_PUSHINTEGER(L,tvb_reported_length(tvb->ws_tvb)); - WSLUA_RETURN(1); /* The reported length of the <<lua_class_Tvb,`Tvb`>>. */ - } - -@@ -143,7 +143,7 @@ - /* Obtain the captured length (amount saved in the capture process) of a <<lua_class_Tvb,`Tvb`>>. */ - Tvb tvb = checkTvb(L,1); - -- lua_pushinteger(L,tvb_captured_length(tvb->ws_tvb)); -+ WSLUA_PUSHINTEGER(L,tvb_captured_length(tvb->ws_tvb)); - WSLUA_RETURN(1); /* The captured length of the <<lua_class_Tvb,`Tvb`>>. */ - } - -@@ -152,7 +152,7 @@ - Same as captured_len; kept only for backwards compatibility */ - Tvb tvb = checkTvb(L,1); - -- lua_pushinteger(L,tvb_captured_length(tvb->ws_tvb)); -+ WSLUA_PUSHINTEGER(L,tvb_captured_length(tvb->ws_tvb)); - WSLUA_RETURN(1); /* The captured length of the <<lua_class_Tvb,`Tvb`>>. */ - } - -@@ -163,7 +163,7 @@ - Tvb tvb = checkTvb(L,1); - int offset = (int) luaL_optinteger(L, Tvb_reported_length_remaining_OFFSET, 0); - -- lua_pushinteger(L,tvb_reported_length_remaining(tvb->ws_tvb, offset)); -+ WSLUA_PUSHINTEGER(L,tvb_reported_length_remaining(tvb->ws_tvb, offset)); - WSLUA_RETURN(1); /* The captured length of the <<lua_class_Tvb,`Tvb`>>. */ - } - -@@ -210,7 +210,7 @@ - /* Returns the raw offset (from the beginning of the source <<lua_class_Tvb,`Tvb`>>) of a sub <<lua_class_Tvb,`Tvb`>>. */ - Tvb tvb = checkTvb(L,1); - -- lua_pushinteger(L,tvb_raw_offset(tvb->ws_tvb)); -+ WSLUA_PUSHINTEGER(L,tvb_raw_offset(tvb->ws_tvb)); - WSLUA_RETURN(1); /* The raw offset of the <<lua_class_Tvb,`Tvb`>>. */ - } - -@@ -441,16 +441,16 @@ - - switch (tvbr->len) { - case 1: -- lua_pushinteger(L,tvb_get_guint8(tvbr->tvb->ws_tvb,tvbr->offset)); -+ WSLUA_PUSHINTEGER(L,tvb_get_guint8(tvbr->tvb->ws_tvb,tvbr->offset)); - return 1; - case 2: -- lua_pushinteger(L,tvb_get_ntohs(tvbr->tvb->ws_tvb,tvbr->offset)); -+ WSLUA_PUSHINTEGER(L,tvb_get_ntohs(tvbr->tvb->ws_tvb,tvbr->offset)); - return 1; - case 3: -- lua_pushinteger(L,tvb_get_ntoh24(tvbr->tvb->ws_tvb,tvbr->offset)); -+ WSLUA_PUSHINTEGER(L,tvb_get_ntoh24(tvbr->tvb->ws_tvb,tvbr->offset)); - return 1; - case 4: -- lua_pushinteger(L,tvb_get_ntohl(tvbr->tvb->ws_tvb,tvbr->offset)); -+ WSLUA_PUSHINTEGER(L,tvb_get_ntohl(tvbr->tvb->ws_tvb,tvbr->offset)); - WSLUA_RETURN(1); /* The unsigned integer value. */ - default: - luaL_error(L,"TvbRange:uint() does not handle %d byte integers",tvbr->len); -@@ -474,16 +474,16 @@ - switch (tvbr->len) { - case 1: - /* XXX unsigned anyway */ -- lua_pushinteger(L,(lua_Integer)(guint)tvb_get_guint8(tvbr->tvb->ws_tvb,tvbr->offset)); -+ WSLUA_PUSHINTEGER_WITH_CAST(L,(guint)tvb_get_guint8(tvbr->tvb->ws_tvb,tvbr->offset)); - return 1; - case 2: -- lua_pushinteger(L,tvb_get_letohs(tvbr->tvb->ws_tvb,tvbr->offset)); -+ WSLUA_PUSHINTEGER(L,tvb_get_letohs(tvbr->tvb->ws_tvb,tvbr->offset)); - return 1; - case 3: -- lua_pushinteger(L,tvb_get_letoh24(tvbr->tvb->ws_tvb,tvbr->offset)); -+ WSLUA_PUSHINTEGER(L,tvb_get_letoh24(tvbr->tvb->ws_tvb,tvbr->offset)); - return 1; - case 4: -- lua_pushinteger(L,tvb_get_letohl(tvbr->tvb->ws_tvb,tvbr->offset)); -+ WSLUA_PUSHINTEGER(L,tvb_get_letohl(tvbr->tvb->ws_tvb,tvbr->offset)); - WSLUA_RETURN(1); /* The unsigned integer value */ - default: - luaL_error(L,"TvbRange:le_uint() does not handle %d byte integers",tvbr->len); -@@ -594,16 +594,16 @@ - - switch (tvbr->len) { - case 1: -- lua_pushinteger(L,tvb_get_gint8(tvbr->tvb->ws_tvb,tvbr->offset)); -+ WSLUA_PUSHINTEGER(L,tvb_get_gint8(tvbr->tvb->ws_tvb,tvbr->offset)); - return 1; - case 2: -- lua_pushinteger(L,tvb_get_ntohis(tvbr->tvb->ws_tvb,tvbr->offset)); -+ WSLUA_PUSHINTEGER(L,tvb_get_ntohis(tvbr->tvb->ws_tvb,tvbr->offset)); - return 1; - case 3: -- lua_pushinteger(L,tvb_get_ntohi24(tvbr->tvb->ws_tvb,tvbr->offset)); -+ WSLUA_PUSHINTEGER(L,tvb_get_ntohi24(tvbr->tvb->ws_tvb,tvbr->offset)); - return 1; - case 4: -- lua_pushinteger(L,tvb_get_ntohil(tvbr->tvb->ws_tvb,tvbr->offset)); -+ WSLUA_PUSHINTEGER(L,tvb_get_ntohil(tvbr->tvb->ws_tvb,tvbr->offset)); - WSLUA_RETURN(1); /* The signed integer value. */ - /* - * XXX: -@@ -633,16 +633,16 @@ - - switch (tvbr->len) { - case 1: -- lua_pushinteger(L,tvb_get_gint8(tvbr->tvb->ws_tvb,tvbr->offset)); -+ WSLUA_PUSHINTEGER(L,tvb_get_gint8(tvbr->tvb->ws_tvb,tvbr->offset)); - return 1; - case 2: -- lua_pushinteger(L,tvb_get_letohis(tvbr->tvb->ws_tvb,tvbr->offset)); -+ WSLUA_PUSHINTEGER(L,tvb_get_letohis(tvbr->tvb->ws_tvb,tvbr->offset)); - return 1; - case 3: -- lua_pushinteger(L,tvb_get_letohi24(tvbr->tvb->ws_tvb,tvbr->offset)); -+ WSLUA_PUSHINTEGER(L,tvb_get_letohi24(tvbr->tvb->ws_tvb,tvbr->offset)); - return 1; - case 4: -- lua_pushinteger(L,tvb_get_letohil(tvbr->tvb->ws_tvb,tvbr->offset)); -+ WSLUA_PUSHINTEGER(L,tvb_get_letohil(tvbr->tvb->ws_tvb,tvbr->offset)); - WSLUA_RETURN(1); /* The signed integer value. */ - default: - luaL_error(L,"TvbRange:le_int() does not handle %d byte integers",tvbr->len); -@@ -1237,13 +1237,13 @@ - } - - if (len <= 8) { -- lua_pushinteger(L,(lua_Integer)(guint)tvb_get_bits8(tvbr->tvb->ws_tvb,tvbr->offset*8 + pos, len)); -+ WSLUA_PUSHINTEGER_WITH_CAST(L,(guint)tvb_get_bits8(tvbr->tvb->ws_tvb,tvbr->offset*8 + pos, len)); - return 1; - } else if (len <= 16) { -- lua_pushinteger(L,tvb_get_bits16(tvbr->tvb->ws_tvb,tvbr->offset*8 + pos, len, FALSE)); -+ WSLUA_PUSHINTEGER(L,tvb_get_bits16(tvbr->tvb->ws_tvb,tvbr->offset*8 + pos, len, FALSE)); - return 1; - } else if (len <= 32) { -- lua_pushinteger(L,tvb_get_bits32(tvbr->tvb->ws_tvb,tvbr->offset*8 + pos, len, FALSE)); -+ WSLUA_PUSHINTEGER(L,tvb_get_bits32(tvbr->tvb->ws_tvb,tvbr->offset*8 + pos, len, FALSE)); - return 1; - } else if (len <= 64) { - pushUInt64(L,tvb_get_bits64(tvbr->tvb->ws_tvb,tvbr->offset*8 + pos, len, FALSE)); -@@ -1334,7 +1334,7 @@ - luaL_error(L,"expired tvb"); - return 0; - } -- lua_pushinteger(L,(lua_Integer)tvbr->len); -+ WSLUA_PUSHINTEGER_WITH_CAST(L,tvbr->len); - return 1; - } - -@@ -1347,7 +1347,7 @@ - luaL_error(L,"expired tvb"); - return 0; - } -- lua_pushinteger(L,(lua_Integer)tvbr->offset); -+ WSLUA_PUSHINTEGER_WITH_CAST(L,tvbr->offset); - return 1; - } - ---- a/epan/wslua/wslua_wtap.c -+++ b/epan/wslua/wslua_wtap.c -@@ -85,7 +85,7 @@ - if (filetype == -1) - lua_pushnil(LS); - else -- lua_pushinteger(LS,filetype); -+ WSLUA_PUSHINTEGER(LS,filetype); - WSLUA_RETURN(1); /* The filetype value for the file type with that name, or nil if there is no such file type. */ - } - -@@ -96,7 +96,7 @@ - @since 3.2.12, 3.4.4 - */ - lua_Number filetype = wtap_pcap_file_type_subtype(); -- lua_pushinteger(LS,filetype); -+ WSLUA_PUSHINTEGER(LS,filetype); - WSLUA_RETURN(1); /* The filetype value for pcap files. */ - } - -@@ -107,7 +107,7 @@ - @since 3.2.12, 3.4.4 - */ - lua_Number filetype = wtap_pcap_nsec_file_type_subtype(); -- lua_pushinteger(LS,filetype); -+ WSLUA_PUSHINTEGER(LS,filetype); - WSLUA_RETURN(1); /* The filetype value for nanosecond-resolution pcap files. */ - } - -@@ -118,7 +118,7 @@ - @since 3.2.12, 3.4.4 - */ - lua_Number filetype = wtap_pcapng_file_type_subtype(); -- lua_pushinteger(LS,filetype); -+ WSLUA_PUSHINTEGER(LS,filetype); - WSLUA_RETURN(1); /* The filetype value for pcapng files. */ - } - -@@ -148,7 +148,7 @@ - * it. - */ - lua_pushstring(LS, entry->name); -- lua_pushinteger(LS, entry->ft); -+ WSLUA_PUSHINTEGER(LS, entry->ft); - /* - * The -3 is the index, relative to the top of the stack, of - * the table; the two elements on top of it are the ft and diff --git a/debian/patches/series b/debian/patches/series index 1a5dfc85..162876e7 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,3 +1,2 @@ -0001-wslua-Fix-support-for-Lua-5.1-and-5.2-on-32bit.patch 09_idl2wrs.patch 0004-Use-packaged-JS-and-CSS-resources-instead-of-pulling.patch |