App Review rejected for macOS app using libnetsnmp

Hi all,

I was wondering if anyone had a similar experience to mine with the App Review and how did you approach this.

I'm the author of iNetGrapher, a macOS application which uses SNMP to poll network devices or servers (anything that has SNMP Agent functionality) to generate real-time graphs of traffic volumes passing through the network interfaces.

I've first released iNetGrapher back in 2013 and there never were any issues related to the fact that I'm using libnetsnmp for the SNMP functionality.

A few months ago, my update was rejected and as a reason the App Review team quoted Guideline 2.5.1 - Performance - Software Requirements, and told me that my app references non-public or deprecated APIs, specifically:

Symbols:

  • _snmp_sess_synch_response
  • _snmp_sess_init
  • _snmp_pdu_create
  • _snmp_free_pdu
  • _init_snmp
  • _snprint_objid
  • _snmp_sess_error
  • _snmp_oid_compare
  • _snmp_sess_open
  • _read_objid
  • _snmp_error
  • _snmp_add_null_var
  • _snmp_sess_close

My app 100% does not reference any of these calls directly, however I believe libnetsnmp does. Libnetsnmp is distributed with macOS and is a part of macOS SDK, and I believe the functions with no leading underscore (e.g. snmp_sess_init()) are public API. Internally, libnetsnmp then most likely calls _snmp_sess_init (or other functions), however I have absolutely no control over any of this.

I have been banging my head agains the wall, all I'm getting back from the review team and the appeal board is templated response quoting the list of calls they don't like.

Would anyone have any idea how to tackle this other than implementing SNMP from scratch? Anyone any experience with anything similar?

App Review rejected for macOS app using libnetsnmp
 
 
Q