snmpm_config failes to read usm config

Vance Shipley <>
Fri Apr 15 11:19:44 CEST 2005


Folks,

I was finding that starting the snmp application after running 
snmp:config() was failing with the crash report below.  I tracked
it down to an extra {ok,Result} wrapped around the intended value.

The attached patch seems to fix it.

	-Vance


=CRASH REPORT==== 15-Apr-2005::00:04:05 ===
  crasher:
    pid: <0.90.0>
    registered_name: snmpm_config
    error_info: {function_clause,[{snmpm_config,
                                       init_usm_user_config,
                                       [{ok,{usm_user,
                                                "otpuser's engine",
                                                "frogman",
                                                "frogman",
                                                usmHMACSHAAuthProtocol,
                                                [1,
                                                 2,
                                                 3,
                                                 4,
                                                 5,
                                                 6,
                                                 7,
                                                 8,
                                                 9,
                                                 10,
                                                 11,
                                                 12,
                                                 13,
                                                 14,
                                                 15,
                                                 16,
                                                 17,
                                                 18,
                                                 19,
                                                 20],
                                                usmDESPrivProtocol,
                                                [10,
                                                 11,
                                                 12,
                                                 13,
                                                 14,
                                                 15,
                                                 16,
                                                 17,
                                                 18,
                                                 19,
                                                 20,
                                                 21,
                                                 22,
                                                 23,
                                                 24,
                                                 25]}}]},
                                   {snmpm_config,init_usm_users_config,1},
                                   {snmpm_config,do_init,1},
                                   {snmpm_config,init,1},
                                   {gen_server,init_it,6},
                                   {proc_lib,init_p,5}]}
    initial_call: {gen,init_it,
                      [gen_server,
                       <0.89.0>,
                       <0.89.0>,
                       {local,snmpm_config},
                       snmpm_config,
                       [[{priority,normal},
                         {versions,[v3]},
                         {config,[{dir,"/home/otpuser/snmp/manager/conf/"},
                                  {verbosity,silence},
                                  {db_dir,"/home/otpuser/snmp/manager/db/"},
                                  {repair,true},
                                  {auto_save,5000}]},
                         {mibs,[]},
                         {server,[{timeout,30000},{verbosity,silence}]},
                         {note_store,[{timeout,30000},{verbosity,silence}]},
                         {net_if,[{module,snmpm_net_if},
                                  {verbosity,silence},
                                  {options,[{bind_to,false},{no_reuse,false}]}]}]],
                       []]}
    ancestors: [snmpm_supervisor,snmp_app_sup,<0.60.0>]
    messages: []
    links: [<0.67.0>,<0.89.0>]
    dictionary: [{sname,mconf},{verbosity,silence}]
    trap_exit: false
    status: running
    heap_size: 2584
    stack_size: 21
    reductions: 6480
  neighbours:

-------------- next part --------------
*** snmpm_config.erl    Thu Apr 14 22:48:00 2005
--- snmpm_config.erl.orig Thu Apr 14 22:51:58 2005
***************
*** 1354,1368 ****
  %% Identity-function
  check_usm_user_config({EngineId, Name, 
                       AuthP, AuthKey, 
                       PrivP, PrivKey}) ->
      User = {EngineId, Name, Name, AuthP, AuthKey, PrivP, PrivKey},
!     {ok, verify_usm_user(User)};
  check_usm_user_config({_EngineId, _Name, _SecName, 
                       _AuthP, _AuthKey, 
                       _PrivP, _PrivKey} = User) ->
!     {ok, verify_usm_user(User)};
  check_usm_user_config(User) ->
      error({bad_usm_config, User}).
  
  init_usm_users_config([]) ->
      ok;
--- 1354,1368 ----
  %% Identity-function
  check_usm_user_config({EngineId, Name, 
                       AuthP, AuthKey, 
                       PrivP, PrivKey}) ->
      User = {EngineId, Name, Name, AuthP, AuthKey, PrivP, PrivKey},
!     verify_usm_user(User);
  check_usm_user_config({_EngineId, _Name, _SecName, 
                       _AuthP, _AuthKey, 
                       _PrivP, _PrivKey} = User) ->
!     verify_usm_user(User);
  check_usm_user_config(User) ->
      error({bad_usm_config, User}).
  
  init_usm_users_config([]) ->
      ok;



More information about the erlang-patches mailing list