<!--=======================================================================-->
<!-- DoCoMo -->
<!--=======================================================================-->
- <user_agent pattern="^DoCoMo/1.0/([^ /]+)$">
+ <user_agent pattern="^DoCoMo/1.0/([^ /]+)(/ser.+)?$">
<device>
<device_id>D501i</device_id>
<charset>SJIS</charset>
</device>
</user_agent>
- <user_agent pattern="^DoCoMo/1.0/([^ /]+)/c[0-9][0-9]$">
+ <user_agent pattern="^DoCoMo/1.0/([^ /]+)/c[0-9][0-9](/ser.+)?$">
<device>
<device_id>ISIM60</device_id>
<device_name>ISIM60</device_name>
</user_agent>
<!-- Sale in 2007.6 F904i_H -->
- <user_agent pattern="^DoCoMo/2.0[ ]+(F904i)\(c100;TB;W24H17\)$">
+ <user_agent pattern="^DoCoMo/2.0[ ]+(F904i)\(c100;TB;W24H17(;ser[^;]+)?(;icc[^;]+)?\)$">
<!--
DoCoMo/2.0 F904i(c100;TB;W24H17)
-->
</device>
</user_agent>
<!-- Sale in 2007.6 F904i_H -->
- <user_agent pattern="^DoCoMo/2.0[ ]+(F904i)\(c100;TB;W20H14\)$">
+ <user_agent pattern="^DoCoMo/2.0[ ]+(F904i)\(c100;TB;W20H14(;ser[^;]+)?(;icc[^;]+)?\)$">
<!--
DoCoMo/2.0 F904i(c100;TB;W20H14)
-->
</device>
</user_agent>
<!-- Sale in 2007.6 F904i_H -->
- <user_agent pattern="^DoCoMo/2.0[ ]+(F904i)\(c100;TB;W30H22\)$">
+ <user_agent pattern="^DoCoMo/2.0[ ]+(F904i)\(c100;TB;W30H22(;ser[^;]+)?(;icc[^;]+)?\)$">
<!--
DoCoMo/2.0 F904i(c100;TB;W30H22)
-->
</user_agent>
<!-- Sale in 2007.6 F904i_W -->
- <user_agent pattern="^DoCoMo/2.0[ ]+(F904i)\(c100;TB;W24H12\)$">
+ <user_agent pattern="^DoCoMo/2.0[ ]+(F904i)\(c100;TB;W24H12(;ser[^;]+)?(;icc[^;]+)?\)$">
<!--
DoCoMo/2.0 F904i(c100;TB;W24H12)
-->
</device>
</user_agent>
<!-- Sale in 2007.6 F904i_W -->
- <user_agent pattern="^DoCoMo/2.0[ ]+(F904i)\(c100;TB;W24H10\)$">
+ <user_agent pattern="^DoCoMo/2.0[ ]+(F904i)\(c100;TB;W24H10(;ser[^;]+)?(;icc[^;]+)?\)$">
<!--
DoCoMo/2.0 F904i(c100;TB;W24H10)
-->
</device>
</user_agent>
<!-- Sale in 2007.6 F904i_W -->
- <user_agent pattern="^DoCoMo/2.0[ ]+(F904i)\(c100;TB;W30H15\)$">
+ <user_agent pattern="^DoCoMo/2.0[ ]+(F904i)\(c100;TB;W30H15(;ser[^;]+)?(;icc[^;]+)?\)$">
<!--
DoCoMo/2.0 F904i(c100;TB;W30H15)
-->
</device>
</user_agent>
<!-- Sale in 2007.11 F905i_H -->
- <user_agent pattern="^DoCoMo/2.0[ ]+(F905i)\(c100;TB;W24H17\)$">
+ <user_agent pattern="^DoCoMo/2.0[ ]+(F905i)\(c100;TB;W24H17(;ser[^;]+)?(;icc[^;]+)?\)$">
<!--
DoCoMo/2.0 F905i(c100;TB;W24H17)
-->
</device>
</user_agent>
<!-- Sale in 2007.11 F905i_H -->
- <user_agent pattern="^DoCoMo/2.0[ ]+(F905i)\(c100;TB;W20H14\)$">
+ <user_agent pattern="^DoCoMo/2.0[ ]+(F905i)\(c100;TB;W20H14(;ser[^;]+)?(;icc[^;]+)?\)$">
<!--
DoCoMo/2.0 F905i(c100;TB;W20H14)
-->
</device>
</user_agent>
<!-- Sale in 2007.11 F905i_H -->
- <user_agent pattern="^DoCoMo/2.0[ ]+(F905i)\(c100;TB;W30H22\)$">
+ <user_agent pattern="^DoCoMo/2.0[ ]+(F905i)\(c100;TB;W30H22(;ser[^;]+)?(;icc[^;]+)?\)$">
<!--
DoCoMo/2.0 F905i(c100;TB;W30H22)
-->
</device>
</user_agent>
<!-- Sale in 2007.11 F905i_H -->
- <user_agent pattern="^DoCoMo/2.0[ ]+(F905i)\(c100;TB;W17H12\)$">
+ <user_agent pattern="^DoCoMo/2.0[ ]+(F905i)\(c100;TB;W17H12(;ser[^;]+)?(;icc[^;]+)?\)$">
<!--
DoCoMo/2.0 F905i(c100;TB;W17H12)
-->
</device>
</user_agent>
<!-- Sale in 2007.11 F905i_H -->
- <user_agent pattern="^DoCoMo/2.0[ ]+(F905i)\(c100;TB;W40H29\)$">
+ <user_agent pattern="^DoCoMo/2.0[ ]+(F905i)\(c100;TB;W40H29(;ser[^;]+)?(;icc[^;]+)?\)$">
<!--
DoCoMo/2.0 F905i(c100;TB;W40H29)
-->
</device>
</user_agent>
<!-- Sale in 2007.11 F905i_W -->
- <user_agent pattern="^DoCoMo/2.0[ ]+(F905i)\(c100;TB;W24H12\)$">
+ <user_agent pattern="^DoCoMo/2.0[ ]+(F905i)\(c100;TB;W24H12(;ser[^;]+)?(;icc[^;]+)?\)$">
<!--
DoCoMo/2.0 F905i(c100;TB;W24H12)
-->
</device>
</user_agent>
<!-- Sale in 2007.11 F905i_W -->
- <user_agent pattern="^DoCoMo/2.0[ ]+(F905i)\(c100;TB;W20H10\)$">
+ <user_agent pattern="^DoCoMo/2.0[ ]+(F905i)\(c100;TB;W20H10(;ser[^;]+)?(;icc[^;]+)?\)$">
<!--
DoCoMo/2.0 F905i(c100;TB;W20H10)
-->
</device>
</user_agent>
<!-- Sale in 2007.11 F905i_W -->
- <user_agent pattern="^DoCoMo/2.0[ ]+(F905i)\(c100;TB;W30H15\)$">
+ <user_agent pattern="^DoCoMo/2.0[ ]+(F905i)\(c100;TB;W30H15(;ser[^;]+)?(;icc[^;]+)?\)$">
<!--
DoCoMo/2.0 F905i(c100;TB;W30H15)
-->
</device>
</user_agent>
<!-- Sale in 2007.11 F905i_W -->
- <user_agent pattern="^DoCoMo/2.0[ ]+(F905i)\(c100;TB;W17H8\)$">
+ <user_agent pattern="^DoCoMo/2.0[ ]+(F905i)\(c100;TB;W17H8(;ser[^;]+)?(;icc[^;]+)?\)$">
<!--
DoCoMo/2.0 F905i(c100;TB;W17H8)
-->
</device>
</user_agent>
<!-- Sale in 2007.11 F905i_W -->
- <user_agent pattern="^DoCoMo/2.0[ ]+(F905i)\(c100;TB;W40H20\)$">
+ <user_agent pattern="^DoCoMo/2.0[ ]+(F905i)\(c100;TB;W40H20(;ser[^;]+)?(;icc[^;]+)?\)$">
<!--
DoCoMo/2.0 F905i(c100;TB;W40H20)
-->
</device>
</user_agent>
<!-- Sale in 2007.11 SH905i -->
- <user_agent pattern="^DoCoMo/2.0[ ]+(SH905i)\(c100;TB;W24H16\)$">
+ <user_agent pattern="^DoCoMo/2.0[ ]+(SH905i)\(c100;TB;W24H16(;ser[^;]+)?(;icc[^;]+)?\)$">
<!--
DoCoMo/2.0 SH905i(c100;TB;W24H16)
-->
</device>
</user_agent>
<!-- Sale in 2007.11 SH905i -->
- <user_agent pattern="^DoCoMo/2.0[ ]+(SH905i)\(c100;TB;W20H13\)$">
+ <user_agent pattern="^DoCoMo/2.0[ ]+(SH905i)\(c100;TB;W20H13(;ser[^;]+)?(;icc[^;]+)?\)$">
<!--
DoCoMo/2.0 SH905i(c100;TB;W20H13)
-->
</device>
</user_agent>
<!-- Sale in 2007.11 SH905i -->
- <user_agent pattern="^DoCoMo/2.0[ ]+(SH905i)\(c100;TB;W30H20\)$">
+ <user_agent pattern="^DoCoMo/2.0[ ]+(SH905i)\(c100;TB;W30H20(;ser[^;]+)?(;icc[^;]+)?\)$">
<!--
DoCoMo/2.0 SH905i(c100;TB;W30H20)
-->
</device>
</user_agent>
<!-- Sale in 2007.11 SH905i -->
- <user_agent pattern="^DoCoMo/2.0[ ]+(SH905i)\(c100;TB;W16H10\)$">
+ <user_agent pattern="^DoCoMo/2.0[ ]+(SH905i)\(c100;TB;W16H10(;ser[^;]+)?(;icc[^;]+)?\)$">
<!--
DoCoMo/2.0 SH905i(c100;TB;W16H10)
-->
</user_agent>
<!-- Sale in 2007.11 SH905i -->
- <user_agent pattern="^DoCoMo/2.0[ ]+(SH905i)\(c100;TB;W24H16\)$">
+ <user_agent pattern="^DoCoMo/2.0[ ]+(SH905i)\(c100;TB;W24H16(;ser[^;]+)?(;icc[^;]+)?\)$">
<!--
DoCoMo/2.0 SH905i(c100;TB;W24H16)
-->
</device>
</user_agent>
<!-- Sale in 2007.11 SH905i -->
- <user_agent pattern="^DoCoMo/2.0[ ]+(SH905i)\(c100;TB;W24H12\)$">
+ <user_agent pattern="^DoCoMo/2.0[ ]+(SH905i)\(c100;TB;W24H12(;ser[^;]+)?(;icc[^;]+)?\)$">
<!--
DoCoMo/2.0 SH905i(c100;TB;W24H12)
-->
</device>
</user_agent>
<!-- Sale in 2007.11 SH905i -->
- <user_agent pattern="^DoCoMo/2.0[ ]+(SH905i)\(c100;TB;W20H10\)$">
+ <user_agent pattern="^DoCoMo/2.0[ ]+(SH905i)\(c100;TB;W20H10(;ser[^;]+)?(;icc[^;]+)?\)$">
<!--
DoCoMo/2.0 SH905i(c100;TB;W20H10)
-->
</device>
</user_agent>
<!-- Sale in 2007.11 SH905i -->
- <user_agent pattern="^DoCoMo/2.0[ ]+(SH905i)\(c100;TB;W30H15\)$">
+ <user_agent pattern="^DoCoMo/2.0[ ]+(SH905i)\(c100;TB;W30H15(;ser[^;]+)?(;icc[^;]+)?\)$">
<!--
DoCoMo/2.0 SH905i(c100;TB;W30H15)
-->
</device>
</user_agent>
<!-- Sale in 2007.11 SH905i -->
- <user_agent pattern="^DoCoMo/2.0[ ]+(SH905i)\(c100;TB;W16H08\)$">
+ <user_agent pattern="^DoCoMo/2.0[ ]+(SH905i)\(c100;TB;W16H08(;ser[^;]+)?(;icc[^;]+)?\)$">
<!--
DoCoMo/2.0 SH905i(c100;TB;W16H08)
-->
</device>
</user_agent>
- <user_agent pattern="^DoCoMo/2.0[ ]+([^( ]+)\(.+\)$">
+ <user_agent pattern="^DoCoMo/2.0[ ]+([^( ]+)\(.+(;ser[^;]+)?(;icc[^;]+)?\)$">
<device>
<device_id>N2001</device_id>
<device_name>N2001</device_name>
- <user_agent pattern="^DoCoMo/1.0/([^ /]+)/c[0-9][0-9]/TB$">
+ <user_agent pattern="^DoCoMo/1.0/([^ /]+)/c[0-9][0-9]/TB(/ser.+)?$">
<device>
<device_id>F504i</device_id>
<device_name>F504i</device_name>
- <user_agent pattern="^DoCoMo/1.0/([^ /]+)/c[0-9][0-9]/TB/W[0-9][0-9]H[0-9][0-9]$$">
+ <user_agent pattern="^DoCoMo/1.0/([^ /]+)/c[0-9][0-9]/TB/W[0-9][0-9]H[0-9][0-9](/ser.+)?$">
<device>
<device_id>P213i</device_id>
<device_name>prosolid(P213i)</device_name>
if (! writebyte) {
DestroyMagickWand(magick_wand);
ERR(r,"convert failure to Jpeg [%s]", tmpfile);
-
return HTTP_INTERNAL_SERVER_ERROR;
}
if (rv != APR_SUCCESS) {
DestroyMagickWand(magick_wand);
ERR(r,"dir stat error.[%s]", conf->image_cache_dir);
+ if (writedata) free(writedata);
return HTTP_INTERNAL_SERVER_ERROR;
}
if (rv != APR_SUCCESS) {
DestroyMagickWand(magick_wand);
ERR(r,"dir open error.[%s]", conf->image_cache_dir);
+ if (writedata) free(writedata);
return HTTP_INTERNAL_SERVER_ERROR;
}
memset(&dcf, 0, sizeof(apr_finfo_t));
ERR(r, "At least the same size as %luByte is necessary for me.", (unsigned long)writebyte);
ERR(r, "Please specify the ChxjImageCacheLimit that is larger than now value. ");
ERR(r, "================================================");
+ DestroyMagickWand(magick_wand);
+ if (writedata) free(writedata);
return HTTP_INTERNAL_SERVER_ERROR;
}
DBG(r, "Image Cache dir is full. total_size:[%lu] max_size:[%lu]",
rv = apr_file_remove(delete_file_name, r->pool);
if (rv != APR_SUCCESS) {
ERR(r, "cache file delete failure.[%s]", delete_file_name);
+ if (writedata) free(writedata);
return HTTP_INTERNAL_SERVER_ERROR;
}
DBG(r, "deleted image cache target:[%s]", delete_file_name);
r->pool);
if (rv != APR_SUCCESS) {
DestroyMagickWand(magick_wand);
+ if (writedata) free(writedata);
ERR(r,"file open error.[%s]", tmpfile);
return HTTP_INTERNAL_SERVER_ERROR;
}
if (rv != APR_SUCCESS) {
DestroyMagickWand(magick_wand);
apr_file_close(fout);
+ if (writedata) free(writedata);
return HTTP_INTERNAL_SERVER_ERROR;
}
rv = apr_file_putc((crc >> 8) & 0xff, fout);
if (rv != APR_SUCCESS) {
DestroyMagickWand(magick_wand);
+ if (writedata) free(writedata);
return HTTP_INTERNAL_SERVER_ERROR;
}
rv = apr_file_putc( crc & 0xff, fout);
if (rv != APR_SUCCESS) {
DestroyMagickWand(magick_wand);
+ if (writedata) free(writedata);
return HTTP_INTERNAL_SERVER_ERROR;
}
}
DestroyMagickWand(magick_wand);
+ DBG(r,"free writedata area");
+ if (writedata) free(writedata);
+ DBG(r,"free writedata area");
+
rv = apr_file_close(fout);
if (rv != APR_SUCCESS) {
DBG(r,"file write error.[%s]", tmpfile);